* Revert "force yarn 1.21.1 until we can handle invalid output of 1.22.0 (#56914)"
This reverts commit 5686010b46.
* move the --json argument before `workspaces` so it still works
* update kbn/pm dist
(cherry picked from commit 12de6a8459)
We're seeing occasional "Error: Call retries were exceeded" exception
with Terser, which should be resolved by
abfd950620,
first included in 2.3.4
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Update dependency rxjs to ^6.5.3
* move argument type def up for better coverage
* adapt to possibly undefined helpExtension
* complete definition of deprecation$ type
* define types that bindNodeCallback can no longer infer
* define more types that bindNodeCallback can't infer
* be more explicit and accurate about the types for a subject/observable pair
* fix interface error, TS now identifies it
* ignore a return type flaw because types are not being managed properly
* avoid overspecifying types
* allow types to be inferred where possible
* remove unnecessary withLatestFrom()
* reduce number of rxjs versions installed
* update kbn/pm dist
* Update dependency del to v5
* unify del/rimraf usage with del v5
* update yarn.lock
* update kbn-pm distributable
* remove poorly transformed code
* force some deletes from tmp
* mock less of the fs module
* force tmp deletion in a few more suites
* please make this the last force
# Conflicts:
# packages/kbn-plugin-helpers/package.json
Add service map tabs on the main APM screen and for individual services.
This is not yet hooked up to work with back-end data, so it always shows the same hard-coded graph.
This is experimental, so you must have x-pack.apm.serviceMapEnabled: true in your Kibana config for it to show up.
Also add "PSF" to the list of allowed licenses since a new dependency added uses this license (it's on the [green list](https://github.com/elastic/open-source/blob/master/elastic-product-policy.md#green-list).)
Fixes#44890Fixes#44853
* Update babel related packages (#43595)
* upgrade all babel related modules, and bump lodash minors
* update kbn-pm dist
* update fetch-mock, necessary to use core-js 3
* use regenerator transform in jest tests, as required by EUI
* disable useBuiltIns rather than using regenerator plugin
* remove extra regenerator-runtime import
* Update package.json
* update yarn.lock
# Cypress Tests
The `siem/cypress` directory contains end to end tests (specific to the `SIEM` app) that execute via [Cypress](https://www.cypress.io/).
At present, these tests are only executed in a local development environment; they are **not** integrated in the Kibana CI infrastructure, and therefore do **not** run automatically when you submit a PR.
See the `Server and Authentication Requirements` section below for additional details.
## Organizing Tests and (Mock) Data
- Code and CSS selectors that may be re-used across tests should be added to `siem/cypress/integration/lib`, as described below
- Smoke Tests are located in `siem/cypress/integration/smoke_tests`
- Mocked responses from the server are located in `siem/cypress/fixtures`
### `cypress/integration/lib`
The `cypress/integration/lib` folder contains code intended to be re-used across many different tests.
- Files named `helpers.ts` (e.g. `siem/cypress/integration/lib/login/helpers.ts`) contain functions (e.g. `login`) that may be imported and invoked from multiple tests.
- Files named `selectors.ts` export CSS selectors for re-use. For example, `siem/cypress/integration/lib/login/selectors.ts` exports the following selector that matches the Username text area in the Kibana login page:
```
export const USERNAME = '[data-test-subj="loginUsername"]';
```
## Server and Authentication Requirements
The current version of the Smoke Tests require running a local Kibana server that connects to an instance of `elasticsearch`. A file named `config/kibana.dev.yml` like the example below is required to run the tests:
```yaml
elasticsearch:
username: 'elastic'
password: '<password>'
hosts: ['https://<server>:9200']
```
The `username` and `password` from `config/kibana.dev.yml` will be read by the `login` test helper function when tests authenticate with Kibana.
See the `Running Tests Interactively` section for details.
## Running Tests Interactively
To run tests in interactively via the Cypress test runner:
1. Create and configure a `config/kibana.dev.yml`, as described in the `Server and Authentication Requirements` section above.
2. Start a local instance of the Kibana development server:
```
yarn start --no-base-path
```
3. Launch the Cypress interactive test runner:
```sh
cd x-pack/legacy/plugins/siem
yarn cypress:open
```
4. Click the `Run all specs` button in the Cypress test runner

https://github.com/elastic/ingest-dev/issues/515
* chore(NA): add transpile with babel the typescript files on xpack when build.
* chore(NA): fix the globs for public folders inside server paths
* docs(NA): add comments to explain globs.
* chore(NA): use pipeline instead of async pipeline promise from dev utils. chore(NA): change globs definitions to match the overall convention.
* chore(NA): apply documented way to use stream pipeline.
* chore(NA): exclude test files from the build transpilation.
* chore(NA): add ignore for eslint complexity warning
* chore(na): fix bad added type files.
* fix(NA): unused type exports
* [Canvas] Storybook for testing and development (#29072)
This PR adds [Storybook](https://storybook.js.org/) to our testing and development suite.

This will allow us to:
1. create a site outlining all components within Canvas, including their TS type information;
2. demonstrate usage of all components by example;
3. allow for individual component testing, both manually and by Jest;
4. iterate and fix bugs on individual components *without* having to start up Kibana, in a [HMR](https://webpack.js.org/concepts/hot-module-replacement/) environment;
5. automatically generate [snapshots](https://jestjs.io/docs/en/snapshot-testing) based on any examples written;
This PR also converts a few components to Typescript and adds examples.
I was inspired to add this when I was fixing #25342. In order to fix my changes, I had to run elasticsearch and kibana, as well as refresh my page whenever I needed to test a change. Had I had a Storybook instance, I would have been done much faster.
In this PR, you'll see I converted `AdvancedFilter` from `renderers` and `FontPicker` and `ImageUpload` from `public/components`. Would you believe I discovered and fixed bugs just by converting to Typescript and writing examples?
- `onChange` and `commit` are not marked as required in `propTypes`, but the component will error out if they're not supplied.
- `commit` was actually being called twice when 'Apply' was clicked. This was shown in the 'Actions' panel when I was testing it.
- The `fonts` collection was not strongly-typed, therefore any string could be passed to the `value` parameter without error.
- While the code allows for any font string to be given to the component, there is no way to currently select that value, nor type it in within the control. This is likely a bug in design.
- The `aria-labeledby` attribute in the drop down includes `undefined`. This is likely a bug in EUI:

- `cd x-pack/plugins/canvas/`
- Run `node scripts/storybook` to start up a local development version, with HMR.
- Run `node scripts/storybook_build` to build a complete static version of the book.
- Run `node scripts/jest` which will run the Storyshots test; run `node scripts/jest --updateSnapshot` if source code has changed as expected.
- Adding Jest coverage and output to the info panels, ([this](https://www.npmjs.com/package/@storybook/addon-jest) is *sick* functionality).
- Adding automatic [a11y testing](https://www.npmjs.com/package/@storybook/addon-a11y), (currently [blocked](https://github.com/storybooks/storybook/issues/4889)).
- Adding generic knobs for stories
- Adding more example info, (e.g. who edited last, descriptions, etc).
* Update based on errors in CI
* Fix mismerge of dependencies
* Fix yarn.lock as well
* Prefer third-party plugin development in plugins instead of kibana-extra
* Fix failing recursive directory creation and removal
* Add new built version of kbn-pm