kibana/scripts
Vadim Dalecky 22369c9992
📕 Storybook for everyone (take 2) (#43529)
* chore: 🤖 add Infra sample Storybook story

* chore: 🤖 add @kbn/storybook package

* chore: 🤖 add sample SIEM stories

* chore: 🤖 add Canvas new Storybook config

* fix: 🐛 fix TypeScript errors

* chore: 🤖 add @kbn/babel-preset to package.json

* chore: 🤖 move dependencies to devDependencies

* chore: 🤖 make Storybook dependencies non-dev

* chore: 🤖 upgrade Storybook dependencies

* chore: 🤖 add packages to webpack

* fix: 🐛 fix TypeScript type check

* chore: 🤖 disable ESLint warnings

* chore: 🤖 remove Storybook info plugin

* chore: 🤖 upate yarn.lock

* chore: 🤖 add Storbook to Embeddables

* feat: 🎸 add --clean flag to Storybook CLI

* coalesce yarn.lock versions

* update kbn/pm dist

* This reverts commit 97d8ff9f53 and 49b07cd007.

* chore: 🤖 use fs instead of mkdirp

* chore: 🤖 use debug for message logging

* chore: 🤖 update yarn.lock

* feat: 🎸 add link to kbn-storybook package

* docs: ✏️ add Storybook readme

* chore: 🤖 remove packages that failed DLL build

* style: 💄 add ESLint comma

* chore: 🤖 apply changes from #52209

* fix: 🐛 make Canvas Storybook build again

* chore: 🤖 move Canvas stories to global Storybook

* chore: 🤖 move more Canvas components to global Storybook

* chore: 🤖 move more Canvas stories to global Storybook

* chore: 🤖 move <ItemGrid> and <KeyboardShortcutsDoc> to NP SB

* chore: 🤖 move shape picker Canvas stories to global Storybook

* chore: 🤖 move Canvas sidebar stories to global Storybook

* fix: 🐛 split imports to not import path.resolve in Storybook

* chore: 🤖 move tag and PDF panel Canvas stories to global SB

* chore: 🤖 move Canvas share website flyout stories to global SB

* fix: 🐛 clean up <ShareWebsiteFlyout> imports

* chore: 🤖 add back Canvas withInfo decorator

* chore: 🤖 look for Canvas stories everywhere in /canvas folder

* test: 💍 mock correct files in Storyshots

* test: 💍 update Canvas Storyshot snapshots

* chore: 🤖 move more Canvas components to global Storybook

* chore: 🤖 move more Canvas components to global Storybook

* test: 💍 update Canvas Storyshots

* chore: 🤖 rebuild @kbn/pm

* chore: 🤖 refresh @kbn/pm dist/index.js artifact

* chore: 🤖 update yarn.lock

* chore: 🤖 update @kbn/pm artifact

* feat: 🎸 address review comments

* fix: 🐛 remove circular import

* chore: 🤖 update yarn.lock

* test: 💍 disable a test suite

* test: 💍 update Canvas storyshots

* chore: 🤖 remvoe build step from @kbn/storybook

* chore: 🤖 enable disabled functional test suite

Co-authored-by: Spencer <email@spalger.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-15 12:30:59 -08:00
..
backport.js
build.js
build_renovate_config.js Implement renovate config generator (#38369) 2019-06-07 13:30:59 -07:00
build_sass.js [dev] share sass build with script (#34323) 2019-04-02 11:53:48 -07:00
check_core_api_changes.js Generate core API docs from TSDoc comments (#32148) 2019-04-03 12:26:00 +02:00
check_file_casing.js
check_licenses.js [dev/license_checker][dev/npm] reactor, ts-ify, de-grunt (#37807) 2019-06-06 10:16:19 -07:00
check_ts_projects.js [ts] add script to verify that all ts is in a project (#32727) 2019-03-08 13:51:55 -08:00
docs.js
es.js autofix all violations 2019-12-13 23:17:13 -07:00
es_archiver.js
eslint.js
functional_test_runner.js [FTR] Refactor FTR to live under KBN-TEST (#42547) 2019-08-06 15:35:16 -06:00
functional_tests.js Code coverage setup on CI (#49003) 2020-01-08 21:08:48 +01:00
functional_tests_server.js autofix all violations 2019-12-13 23:17:13 -07:00
generate_plugin.js
i18n_check.js Integrate main i18n tool into build pipeline (#22254) 2018-08-29 11:55:34 +03:00
i18n_extract.js Add zh-CN.json translations and respective compatibility checks via i18n tools (#30378) 2019-02-11 14:39:59 +01:00
i18n_integrate.js Implement a build tool for locale files integration (#19826) 2018-12-22 13:06:40 +03:00
jest.js
jest_integration.js [Plugin Generator] Add integration test (#43219) 2019-09-06 13:10:47 -06:00
kbn.js
kibana.js Instrument Kibana with Elastic APM (#43548) 2019-12-04 15:21:07 +01:00
kibana_keystore.js
kibana_plugin.js
makelogs.js Removed old package, fix import (#31428) 2019-02-19 12:23:03 +01:00
mocha.js [FTR] Refactor mocha under @kbn/test (#42862) 2019-08-15 15:48:39 -06:00
notice.js
precommit_hook.js
README.md Plugin test readme’s (#26632) 2018-12-04 15:23:23 -05:00
register_git_hook.js Remove husky (#24887) 2018-11-15 01:34:45 +00:00
report_failed_tests.js refactor failed_tests_reporter to use TS, no octokit (#46993) 2019-10-08 13:56:07 -07:00
sasslint.js Add SCSS linting (#27328) 2019-01-03 09:01:43 -07:00
spec_to_console.js autofix all violations 2019-12-13 23:17:13 -07:00
storybook.js 📕 Storybook for everyone (take 2) (#43529) 2020-01-15 12:30:59 -08:00
type_check.js [TypeScript] add type-check script (#19325) 2018-08-09 17:19:24 -07:00
update_prs.js [scripts/update_prs] implement script to merge base branch into prs (#38302) 2019-06-06 18:31:08 -07:00

Kibana Dev Scripts

This directory contains scripts useful for interacting with Kibana tools in development. Use the node executable and --help flag to learn about how they work:

node scripts/{{script name}} --help

For Developers

This directory is excluded from the build and tools within it should help users discover their capabilities. Each script in this directory must:

  • require src/setup_node_env to bootstrap NodeJS environment
  • call out to source code in the src or packages directories
  • react to the --help flag
  • run everywhere OR check and fail fast when a required OS or toolchain is not available

Functional Test Scripts

node scripts/functional_tests [--config test/functional/config.js --config test/api_integration/config.js]

Runs all the functional tests: selenium tests and api integration tests. List configs with multiple --config arguments. Uses the @kbn/test library to run Elasticsearch and Kibana servers and tests against those servers, for multiple server+test setups. In particular, calls out to runTests(). Can be run on a single config.

node scripts/functional_tests_server [--config test/functional/config.js]

Starts just the Elasticsearch and Kibana servers given a single config, i.e. via --config test/functional/config.js or --config test/api_integration/config. Allows the user to start just the servers with this script, and keep them running while running tests against these servers. The idea is that the same config file configures both Elasticsearch and Kibana servers. Uses the startServers() method from @kbn/test library.

Example. Start servers and run tests, separately, but using the same config:

# Just the servers
node scripts/functional_tests_server --config path/to/config

In another terminal:

# Just the tests--against the running servers
node scripts/functional_test_runner --config path/to/config

For details on how the internal methods work, read this readme.

ES archiver

Loading data

If you wish to load up specific es archived data for your test, you can do so via:

node scripts/es_archiver.js load <archive> [--es-url=http://username:password@localhost:9200] [--kibana-url=http://username:password@localhost:5601/{basepath?}]

That will load the specified archive located in the archive directory specified by the default functional config file, located in test/functional/config.js. To load archives from other function config files you can pass --config path/to/config.js.

Note: The --es-url and --kibana-url options may or may not be neccessary depending on your current Kibana configuration settings, and their values may also change based on those settings (for example if you are not running with security you will not need the username:password portion).

Saving data

You can save existing data into an archive by using the save command:

node scripts/es_archiver.js save <archive name for kibana data> [space separated list of index patterns to include]

You may want to store the .kibana index separate from data. Since adding a lot of data will bloat our repo size, we have many tests that reuse the same data indices but use their own .kibana index.