[CCR] Post auto follow pattern endpoint#26095
Conversation
ce0c760 to
92495ae
Compare
💔 Build Failed |
💔 Build Failed |
This updated the `kbn:boostrap` scripts in the packages to use `--quiet` when bootstrapping. This prevents babel from logging every file it builds, but still logs errors if any occur. To make things a little simpler I also used the [`npm-run-all`](https://github.com/mysticatea/npm-run-all) package in `@kbn/i18n` to execute all the builds there in parallel and pass `--quiet`/`--watch` to all builds without duplicating the tasks or making them incompatible with windows. Before: ``` running `kbn:bootstrap` scripts @kbn/config-schema: $ yarn build @kbn/datemath: $ yarn build @kbn/i18n: $ yarn build @kbn/config-schema: $ tsc @kbn/datemath: $ babel src --out-dir target --copy-files @kbn/i18n: $ yarn build:web && yarn build:node && yarn build:types @kbn/i18n: $ cross-env BABEL_ENV=web babel src --config-file ./babel.config.js --out-dir target/web --extensions ".ts,.js,.tsx" @kbn/datemath: src/index.js -> target/index.js @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/i18n: $ cross-env BABEL_ENV=node babel src --config-file ./babel.config.js --out-dir target/node --extensions ".ts,.js,.tsx" @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/i18n: $ tsc --emitDeclarationOnly @kbn/dev-utils: $ yarn build @kbn/es-query: $ yarn build @kbn/dev-utils: $ babel src --out-dir target @kbn/es-query: $ babel src --out-dir target @kbn/dev-utils: src/index.js -> target/index.js @kbn/dev-utils: src/proc_runner/errors.js -> target/proc_runner/errors.js @kbn/dev-utils: src/proc_runner/index.js -> target/proc_runner/index.js @kbn/dev-utils: src/proc_runner/observe_lines.js -> target/proc_runner/observe_lines.js @kbn/dev-utils: src/proc_runner/observe_readable.js -> target/proc_runner/observe_readable.js @kbn/es-query: src/es_query/__tests__/_migrate_filter.js -> target/es_query/__tests__/_migrate_filter.js @kbn/dev-utils: src/proc_runner/observe_signals.js -> target/proc_runner/observe_signals.js @kbn/es-query: src/es_query/__tests__/build_es_query.js -> target/es_query/__tests__/build_es_query.js @kbn/es-query: src/es_query/__tests__/decorate_query.js -> target/es_query/__tests__/decorate_query.js @kbn/dev-utils: src/proc_runner/proc.js -> target/proc_runner/proc.js @kbn/es-query: src/es_query/__tests__/from_filters.js -> target/es_query/__tests__/from_filters.js @kbn/es-query: src/es_query/__tests__/from_kuery.js -> target/es_query/__tests__/from_kuery.js @kbn/es-query: src/es_query/__tests__/from_lucene.js -> target/es_query/__tests__/from_lucene.js @kbn/es-query: src/es_query/__tests__/lucene_string_to_dsl.js -> target/es_query/__tests__/lucene_string_to_dsl.js @kbn/dev-utils: src/proc_runner/proc_runner.js -> target/proc_runner/proc_runner.js @kbn/dev-utils: src/proc_runner/with_proc_runner.js -> target/proc_runner/with_proc_runner.js @kbn/dev-utils: src/proc_runner/with_proc_runner.test.js -> target/proc_runner/with_proc_runner.test.js @kbn/es-query: src/es_query/build_es_query.js -> target/es_query/build_es_query.js @kbn/dev-utils: src/serializers/absolute_path_serializer.js -> target/serializers/absolute_path_serializer.js @kbn/es-query: src/es_query/decorate_query.js -> target/es_query/decorate_query.js @kbn/dev-utils: src/serializers/index.js -> target/serializers/index.js @kbn/es-query: src/es_query/from_filters.js -> target/es_query/from_filters.js @kbn/dev-utils: src/streams/concat_stream.js -> target/streams/concat_stream.js @kbn/dev-utils: src/streams/index.js -> target/streams/index.js @kbn/dev-utils: src/streams/promise_from_streams.js -> target/streams/promise_from_streams.js @kbn/es-query: src/es_query/from_kuery.js -> target/es_query/from_kuery.js @kbn/dev-utils: src/streams/reduce_stream.js -> target/streams/reduce_stream.js @kbn/es-query: src/es_query/from_lucene.js -> target/es_query/from_lucene.js @kbn/dev-utils: src/tooling_log/index.js -> target/tooling_log/index.js @kbn/es-query: src/es_query/index.js -> target/es_query/index.js @kbn/dev-utils: src/tooling_log/log_levels.js -> target/tooling_log/log_levels.js @kbn/es-query: src/es_query/lucene_string_to_dsl.js -> target/es_query/lucene_string_to_dsl.js @kbn/dev-utils: src/tooling_log/log_levels.test.js -> target/tooling_log/log_levels.test.js @kbn/es-query: src/es_query/migrate_filter.js -> target/es_query/migrate_filter.js @kbn/dev-utils: src/tooling_log/tooling_log.js -> target/tooling_log/tooling_log.js @kbn/es-query: src/filters/__tests__/phrase.js -> target/filters/__tests__/phrase.js @kbn/es-query: src/filters/__tests__/query.js -> target/filters/__tests__/query.js @kbn/dev-utils: src/tooling_log/tooling_log.test.js -> target/tooling_log/tooling_log.test.js @kbn/dev-utils: src/tooling_log/tooling_log_text_writer.js -> target/tooling_log/tooling_log_text_writer.js @kbn/dev-utils: src/tooling_log/tooling_log_text_writer.test.js -> target/tooling_log/tooling_log_text_writer.test.js @kbn/es-query: src/filters/__tests__/range.js -> target/filters/__tests__/range.js @kbn/es-query: src/filters/exists.js -> target/filters/exists.js @kbn/es-query: src/filters/index.js -> target/filters/index.js @kbn/es-query: src/filters/phrase.js -> target/filters/phrase.js @kbn/es-query: src/filters/phrases.js -> target/filters/phrases.js @kbn/es-query: src/filters/query.js -> target/filters/query.js @kbn/es-query: src/filters/range.js -> target/filters/range.js @kbn/es-query: src/index.js -> target/index.js @kbn/es-query: src/kuery/ast/__tests__/ast.js -> target/kuery/ast/__tests__/ast.js @kbn/es-query: src/kuery/ast/ast.js -> target/kuery/ast/ast.js @kbn/es-query: src/kuery/ast/index.js -> target/kuery/ast/index.js @kbn/es-query: src/kuery/ast/kuery.js -> target/kuery/ast/kuery.js @kbn/es-query: src/kuery/ast/legacy_kuery.js -> target/kuery/ast/legacy_kuery.js @kbn/es-query: src/kuery/filter_migration/__tests__/exists.js -> target/kuery/filter_migration/__tests__/exists.js @kbn/es-query: src/kuery/filter_migration/__tests__/filter_to_kuery.js -> target/kuery/filter_migration/__tests__/filter_to_kuery.js @kbn/es-query: src/kuery/filter_migration/__tests__/geo_bounding_box.js -> target/kuery/filter_migration/__tests__/geo_bounding_box.js @kbn/es-query: src/kuery/filter_migration/__tests__/geo_polygon.js -> target/kuery/filter_migration/__tests__/geo_polygon.js @kbn/es-query: src/kuery/filter_migration/__tests__/phrase.js -> target/kuery/filter_migration/__tests__/phrase.js @kbn/es-query: src/kuery/filter_migration/__tests__/range.js -> target/kuery/filter_migration/__tests__/range.js @kbn/es-query: src/kuery/filter_migration/exists.js -> target/kuery/filter_migration/exists.js @kbn/es-query: src/kuery/filter_migration/filter_to_kuery.js -> target/kuery/filter_migration/filter_to_kuery.js @kbn/es-query: src/kuery/filter_migration/geo_bounding_box.js -> target/kuery/filter_migration/geo_bounding_box.js @kbn/es-query: src/kuery/filter_migration/geo_polygon.js -> target/kuery/filter_migration/geo_polygon.js @kbn/es-query: src/kuery/filter_migration/index.js -> target/kuery/filter_migration/index.js @kbn/es-query: src/kuery/filter_migration/phrase.js -> target/kuery/filter_migration/phrase.js @kbn/es-query: src/kuery/filter_migration/range.js -> target/kuery/filter_migration/range.js @kbn/es-query: src/kuery/functions/__tests__/and.js -> target/kuery/functions/__tests__/and.js @kbn/es-query: src/kuery/functions/__tests__/exists.js -> target/kuery/functions/__tests__/exists.js @kbn/es-query: src/kuery/functions/__tests__/geo_bounding_box.js -> target/kuery/functions/__tests__/geo_bounding_box.js @kbn/es-query: src/kuery/functions/__tests__/geo_polygon.js -> target/kuery/functions/__tests__/geo_polygon.js @kbn/es-query: src/kuery/functions/__tests__/is.js -> target/kuery/functions/__tests__/is.js @kbn/es-query: src/kuery/functions/__tests__/not.js -> target/kuery/functions/__tests__/not.js @kbn/es-query: src/kuery/functions/__tests__/or.js -> target/kuery/functions/__tests__/or.js @kbn/es-query: src/kuery/functions/__tests__/range.js -> target/kuery/functions/__tests__/range.js @kbn/es-query: src/kuery/functions/__tests__/utils/get_fields.js -> target/kuery/functions/__tests__/utils/get_fields.js @kbn/es-query: src/kuery/functions/and.js -> target/kuery/functions/and.js @kbn/es-query: src/kuery/functions/exists.js -> target/kuery/functions/exists.js @kbn/es-query: src/kuery/functions/geo_bounding_box.js -> target/kuery/functions/geo_bounding_box.js @kbn/es-query: src/kuery/functions/geo_polygon.js -> target/kuery/functions/geo_polygon.js @kbn/es-query: src/kuery/functions/index.js -> target/kuery/functions/index.js @kbn/es-query: src/kuery/functions/is.js -> target/kuery/functions/is.js @kbn/es-query: src/kuery/functions/not.js -> target/kuery/functions/not.js @kbn/es-query: src/kuery/functions/or.js -> target/kuery/functions/or.js @kbn/es-query: src/kuery/functions/range.js -> target/kuery/functions/range.js @kbn/es-query: src/kuery/functions/utils/get_fields.js -> target/kuery/functions/utils/get_fields.js @kbn/es-query: src/kuery/index.js -> target/kuery/index.js @kbn/es-query: src/kuery/node_types/__tests__/function.js -> target/kuery/node_types/__tests__/function.js @kbn/es-query: src/kuery/node_types/__tests__/literal.js -> target/kuery/node_types/__tests__/literal.js @kbn/es-query: src/kuery/node_types/__tests__/named_arg.js -> target/kuery/node_types/__tests__/named_arg.js @kbn/es-query: src/kuery/node_types/__tests__/wildcard.js -> target/kuery/node_types/__tests__/wildcard.js @kbn/es-query: src/kuery/node_types/function.js -> target/kuery/node_types/function.js @kbn/es-query: src/kuery/node_types/index.js -> target/kuery/node_types/index.js @kbn/es-query: src/kuery/node_types/literal.js -> target/kuery/node_types/literal.js @kbn/es-query: src/kuery/node_types/named_arg.js -> target/kuery/node_types/named_arg.js @kbn/es-query: src/kuery/node_types/wildcard.js -> target/kuery/node_types/wildcard.js @kbn/test: $ yarn build @kbn/test: $ babel src --out-dir target @kbn/test: src/es/es_test_cluster.js -> target/es/es_test_cluster.js @kbn/test: src/es/es_test_config.js -> target/es/es_test_config.js @kbn/test: src/es/index.js -> target/es/index.js @kbn/test: src/functional_tests/cli/index.js -> target/functional_tests/cli/index.js @kbn/test: src/functional_tests/cli/run_tests/args.js -> target/functional_tests/cli/run_tests/args.js @kbn/test: src/functional_tests/cli/run_tests/args.test.js -> target/functional_tests/cli/run_tests/args.test.js @kbn/test: src/functional_tests/cli/run_tests/cli.js -> target/functional_tests/cli/run_tests/cli.js @kbn/test: src/functional_tests/cli/run_tests/cli.test.js -> target/functional_tests/cli/run_tests/cli.test.js @kbn/test: src/functional_tests/cli/start_servers/args.js -> target/functional_tests/cli/start_servers/args.js @kbn/test: src/functional_tests/cli/start_servers/args.test.js -> target/functional_tests/cli/start_servers/args.test.js @kbn/test: src/functional_tests/cli/start_servers/cli.js -> target/functional_tests/cli/start_servers/cli.js @kbn/test: src/functional_tests/cli/start_servers/cli.test.js -> target/functional_tests/cli/start_servers/cli.test.js @kbn/test: src/functional_tests/lib/auth.js -> target/functional_tests/lib/auth.js @kbn/test: src/functional_tests/lib/index.js -> target/functional_tests/lib/index.js @kbn/test: src/functional_tests/lib/paths.js -> target/functional_tests/lib/paths.js @kbn/test: src/functional_tests/lib/run_cli.js -> target/functional_tests/lib/run_cli.js @kbn/test: src/functional_tests/lib/run_cli.test.js -> target/functional_tests/lib/run_cli.test.js @kbn/test: src/functional_tests/lib/run_elasticsearch.js -> target/functional_tests/lib/run_elasticsearch.js @kbn/test: src/functional_tests/lib/run_ftr.js -> target/functional_tests/lib/run_ftr.js @kbn/test: src/functional_tests/lib/run_kibana_server.js -> target/functional_tests/lib/run_kibana_server.js @kbn/test: src/functional_tests/tasks.js -> target/functional_tests/tasks.js @kbn/test: src/functional_tests/test_helpers.js -> target/functional_tests/test_helpers.js @kbn/test: src/index.js -> target/index.js @kbn/test: src/kbn/index.js -> target/kbn/index.js @kbn/test: src/kbn/kbn_test_config.js -> target/kbn/kbn_test_config.js @kbn/test: src/kbn/users.js -> target/kbn/users.js x-pack: $ gulp canvas:plugins:build x-pack: [13:22:34] /Users/spalger/kbn-dev/master/kibana/x-pack/plugins/canvas/canvas_plugin x-pack: [13:22:34] Using gulpfile ~/kbn-dev/master/kibana/x-pack/gulpfile.js x-pack: [13:22:34] Starting 'canvas:plugins:build'... x-pack: [13:22:50] canvas:plugins Plugins built in 15.75 seconds x-pack: [13:22:50] Finished 'canvas:plugins:build' after 16 s kibana: $ yarn build:types && node scripts/register_git_hook kibana: $ tsc --p tsconfig.types.json kibana: Registering Kibana pre-commit git hook... kibana: success Kibana pre-commit git hook was installed successfully. ``` (this will be even worse when we merge #26095) After: ``` running `kbn:bootstrap` scripts @kbn/config-schema: $ yarn build @kbn/datemath: $ yarn build --quiet @kbn/i18n: $ run-p 'build:babel:** --quiet' build:tsc @kbn/datemath: $ babel src --out-dir target --copy-files --quiet @kbn/config-schema: $ tsc @kbn/i18n: $ cross-env BABEL_ENV=node babel src --config-file ./babel.config.js --out-dir target/node --extensions ".ts,.js,.tsx" --quiet @kbn/i18n: $ cross-env BABEL_ENV=web babel src --config-file ./babel.config.js --out-dir target/web --extensions ".ts,.js,.tsx" --quiet @kbn/i18n: $ tsc --emitDeclarationOnly @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/dev-utils: $ yarn build --quiet @kbn/es-query: $ yarn build --quiet @kbn/dev-utils: $ babel src --out-dir target --quiet @kbn/es-query: $ babel src --out-dir target --quiet @kbn/test: $ yarn build --quiet @kbn/test: $ babel src --out-dir target --quiet x-pack: $ gulp canvas:plugins:build x-pack: [13:16:56] /Users/spalger/kbn-dev/master/kibana/x-pack/plugins/canvas/canvas_plugin x-pack: [13:16:56] Using gulpfile ~/kbn-dev/master/kibana/x-pack/gulpfile.js x-pack: [13:16:56] Starting 'canvas:plugins:build'... x-pack: [13:17:11] canvas:plugins Plugins built in 13.98 seconds x-pack: [13:17:11] Finished 'canvas:plugins:build' after 14 s kibana: $ yarn build:types && node scripts/register_git_hook kibana: $ tsc --p tsconfig.types.json kibana: Registering Kibana pre-commit git hook... kibana: success Kibana pre-commit git hook was installed successfully. ```
This updated the `kbn:boostrap` scripts in the packages to use `--quiet` when bootstrapping. This prevents babel from logging every file it builds, but still logs errors if any occur. To make things a little simpler I also used the [`npm-run-all`](https://github.com/mysticatea/npm-run-all) package in `@kbn/i18n` to execute all the builds there in parallel and pass `--quiet`/`--watch` to all builds without duplicating the tasks or making them incompatible with windows. Before: ``` running `kbn:bootstrap` scripts @kbn/config-schema: $ yarn build @kbn/datemath: $ yarn build @kbn/i18n: $ yarn build @kbn/config-schema: $ tsc @kbn/datemath: $ babel src --out-dir target --copy-files @kbn/i18n: $ yarn build:web && yarn build:node && yarn build:types @kbn/i18n: $ cross-env BABEL_ENV=web babel src --config-file ./babel.config.js --out-dir target/web --extensions ".ts,.js,.tsx" @kbn/datemath: src/index.js -> target/index.js @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/i18n: $ cross-env BABEL_ENV=node babel src --config-file ./babel.config.js --out-dir target/node --extensions ".ts,.js,.tsx" @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/i18n: $ tsc --emitDeclarationOnly @kbn/dev-utils: $ yarn build @kbn/es-query: $ yarn build @kbn/dev-utils: $ babel src --out-dir target @kbn/es-query: $ babel src --out-dir target @kbn/dev-utils: src/index.js -> target/index.js @kbn/dev-utils: src/proc_runner/errors.js -> target/proc_runner/errors.js @kbn/dev-utils: src/proc_runner/index.js -> target/proc_runner/index.js @kbn/dev-utils: src/proc_runner/observe_lines.js -> target/proc_runner/observe_lines.js @kbn/dev-utils: src/proc_runner/observe_readable.js -> target/proc_runner/observe_readable.js @kbn/es-query: src/es_query/__tests__/_migrate_filter.js -> target/es_query/__tests__/_migrate_filter.js @kbn/dev-utils: src/proc_runner/observe_signals.js -> target/proc_runner/observe_signals.js @kbn/es-query: src/es_query/__tests__/build_es_query.js -> target/es_query/__tests__/build_es_query.js @kbn/es-query: src/es_query/__tests__/decorate_query.js -> target/es_query/__tests__/decorate_query.js @kbn/dev-utils: src/proc_runner/proc.js -> target/proc_runner/proc.js @kbn/es-query: src/es_query/__tests__/from_filters.js -> target/es_query/__tests__/from_filters.js @kbn/es-query: src/es_query/__tests__/from_kuery.js -> target/es_query/__tests__/from_kuery.js @kbn/es-query: src/es_query/__tests__/from_lucene.js -> target/es_query/__tests__/from_lucene.js @kbn/es-query: src/es_query/__tests__/lucene_string_to_dsl.js -> target/es_query/__tests__/lucene_string_to_dsl.js @kbn/dev-utils: src/proc_runner/proc_runner.js -> target/proc_runner/proc_runner.js @kbn/dev-utils: src/proc_runner/with_proc_runner.js -> target/proc_runner/with_proc_runner.js @kbn/dev-utils: src/proc_runner/with_proc_runner.test.js -> target/proc_runner/with_proc_runner.test.js @kbn/es-query: src/es_query/build_es_query.js -> target/es_query/build_es_query.js @kbn/dev-utils: src/serializers/absolute_path_serializer.js -> target/serializers/absolute_path_serializer.js @kbn/es-query: src/es_query/decorate_query.js -> target/es_query/decorate_query.js @kbn/dev-utils: src/serializers/index.js -> target/serializers/index.js @kbn/es-query: src/es_query/from_filters.js -> target/es_query/from_filters.js @kbn/dev-utils: src/streams/concat_stream.js -> target/streams/concat_stream.js @kbn/dev-utils: src/streams/index.js -> target/streams/index.js @kbn/dev-utils: src/streams/promise_from_streams.js -> target/streams/promise_from_streams.js @kbn/es-query: src/es_query/from_kuery.js -> target/es_query/from_kuery.js @kbn/dev-utils: src/streams/reduce_stream.js -> target/streams/reduce_stream.js @kbn/es-query: src/es_query/from_lucene.js -> target/es_query/from_lucene.js @kbn/dev-utils: src/tooling_log/index.js -> target/tooling_log/index.js @kbn/es-query: src/es_query/index.js -> target/es_query/index.js @kbn/dev-utils: src/tooling_log/log_levels.js -> target/tooling_log/log_levels.js @kbn/es-query: src/es_query/lucene_string_to_dsl.js -> target/es_query/lucene_string_to_dsl.js @kbn/dev-utils: src/tooling_log/log_levels.test.js -> target/tooling_log/log_levels.test.js @kbn/es-query: src/es_query/migrate_filter.js -> target/es_query/migrate_filter.js @kbn/dev-utils: src/tooling_log/tooling_log.js -> target/tooling_log/tooling_log.js @kbn/es-query: src/filters/__tests__/phrase.js -> target/filters/__tests__/phrase.js @kbn/es-query: src/filters/__tests__/query.js -> target/filters/__tests__/query.js @kbn/dev-utils: src/tooling_log/tooling_log.test.js -> target/tooling_log/tooling_log.test.js @kbn/dev-utils: src/tooling_log/tooling_log_text_writer.js -> target/tooling_log/tooling_log_text_writer.js @kbn/dev-utils: src/tooling_log/tooling_log_text_writer.test.js -> target/tooling_log/tooling_log_text_writer.test.js @kbn/es-query: src/filters/__tests__/range.js -> target/filters/__tests__/range.js @kbn/es-query: src/filters/exists.js -> target/filters/exists.js @kbn/es-query: src/filters/index.js -> target/filters/index.js @kbn/es-query: src/filters/phrase.js -> target/filters/phrase.js @kbn/es-query: src/filters/phrases.js -> target/filters/phrases.js @kbn/es-query: src/filters/query.js -> target/filters/query.js @kbn/es-query: src/filters/range.js -> target/filters/range.js @kbn/es-query: src/index.js -> target/index.js @kbn/es-query: src/kuery/ast/__tests__/ast.js -> target/kuery/ast/__tests__/ast.js @kbn/es-query: src/kuery/ast/ast.js -> target/kuery/ast/ast.js @kbn/es-query: src/kuery/ast/index.js -> target/kuery/ast/index.js @kbn/es-query: src/kuery/ast/kuery.js -> target/kuery/ast/kuery.js @kbn/es-query: src/kuery/ast/legacy_kuery.js -> target/kuery/ast/legacy_kuery.js @kbn/es-query: src/kuery/filter_migration/__tests__/exists.js -> target/kuery/filter_migration/__tests__/exists.js @kbn/es-query: src/kuery/filter_migration/__tests__/filter_to_kuery.js -> target/kuery/filter_migration/__tests__/filter_to_kuery.js @kbn/es-query: src/kuery/filter_migration/__tests__/geo_bounding_box.js -> target/kuery/filter_migration/__tests__/geo_bounding_box.js @kbn/es-query: src/kuery/filter_migration/__tests__/geo_polygon.js -> target/kuery/filter_migration/__tests__/geo_polygon.js @kbn/es-query: src/kuery/filter_migration/__tests__/phrase.js -> target/kuery/filter_migration/__tests__/phrase.js @kbn/es-query: src/kuery/filter_migration/__tests__/range.js -> target/kuery/filter_migration/__tests__/range.js @kbn/es-query: src/kuery/filter_migration/exists.js -> target/kuery/filter_migration/exists.js @kbn/es-query: src/kuery/filter_migration/filter_to_kuery.js -> target/kuery/filter_migration/filter_to_kuery.js @kbn/es-query: src/kuery/filter_migration/geo_bounding_box.js -> target/kuery/filter_migration/geo_bounding_box.js @kbn/es-query: src/kuery/filter_migration/geo_polygon.js -> target/kuery/filter_migration/geo_polygon.js @kbn/es-query: src/kuery/filter_migration/index.js -> target/kuery/filter_migration/index.js @kbn/es-query: src/kuery/filter_migration/phrase.js -> target/kuery/filter_migration/phrase.js @kbn/es-query: src/kuery/filter_migration/range.js -> target/kuery/filter_migration/range.js @kbn/es-query: src/kuery/functions/__tests__/and.js -> target/kuery/functions/__tests__/and.js @kbn/es-query: src/kuery/functions/__tests__/exists.js -> target/kuery/functions/__tests__/exists.js @kbn/es-query: src/kuery/functions/__tests__/geo_bounding_box.js -> target/kuery/functions/__tests__/geo_bounding_box.js @kbn/es-query: src/kuery/functions/__tests__/geo_polygon.js -> target/kuery/functions/__tests__/geo_polygon.js @kbn/es-query: src/kuery/functions/__tests__/is.js -> target/kuery/functions/__tests__/is.js @kbn/es-query: src/kuery/functions/__tests__/not.js -> target/kuery/functions/__tests__/not.js @kbn/es-query: src/kuery/functions/__tests__/or.js -> target/kuery/functions/__tests__/or.js @kbn/es-query: src/kuery/functions/__tests__/range.js -> target/kuery/functions/__tests__/range.js @kbn/es-query: src/kuery/functions/__tests__/utils/get_fields.js -> target/kuery/functions/__tests__/utils/get_fields.js @kbn/es-query: src/kuery/functions/and.js -> target/kuery/functions/and.js @kbn/es-query: src/kuery/functions/exists.js -> target/kuery/functions/exists.js @kbn/es-query: src/kuery/functions/geo_bounding_box.js -> target/kuery/functions/geo_bounding_box.js @kbn/es-query: src/kuery/functions/geo_polygon.js -> target/kuery/functions/geo_polygon.js @kbn/es-query: src/kuery/functions/index.js -> target/kuery/functions/index.js @kbn/es-query: src/kuery/functions/is.js -> target/kuery/functions/is.js @kbn/es-query: src/kuery/functions/not.js -> target/kuery/functions/not.js @kbn/es-query: src/kuery/functions/or.js -> target/kuery/functions/or.js @kbn/es-query: src/kuery/functions/range.js -> target/kuery/functions/range.js @kbn/es-query: src/kuery/functions/utils/get_fields.js -> target/kuery/functions/utils/get_fields.js @kbn/es-query: src/kuery/index.js -> target/kuery/index.js @kbn/es-query: src/kuery/node_types/__tests__/function.js -> target/kuery/node_types/__tests__/function.js @kbn/es-query: src/kuery/node_types/__tests__/literal.js -> target/kuery/node_types/__tests__/literal.js @kbn/es-query: src/kuery/node_types/__tests__/named_arg.js -> target/kuery/node_types/__tests__/named_arg.js @kbn/es-query: src/kuery/node_types/__tests__/wildcard.js -> target/kuery/node_types/__tests__/wildcard.js @kbn/es-query: src/kuery/node_types/function.js -> target/kuery/node_types/function.js @kbn/es-query: src/kuery/node_types/index.js -> target/kuery/node_types/index.js @kbn/es-query: src/kuery/node_types/literal.js -> target/kuery/node_types/literal.js @kbn/es-query: src/kuery/node_types/named_arg.js -> target/kuery/node_types/named_arg.js @kbn/es-query: src/kuery/node_types/wildcard.js -> target/kuery/node_types/wildcard.js @kbn/test: $ yarn build @kbn/test: $ babel src --out-dir target @kbn/test: src/es/es_test_cluster.js -> target/es/es_test_cluster.js @kbn/test: src/es/es_test_config.js -> target/es/es_test_config.js @kbn/test: src/es/index.js -> target/es/index.js @kbn/test: src/functional_tests/cli/index.js -> target/functional_tests/cli/index.js @kbn/test: src/functional_tests/cli/run_tests/args.js -> target/functional_tests/cli/run_tests/args.js @kbn/test: src/functional_tests/cli/run_tests/args.test.js -> target/functional_tests/cli/run_tests/args.test.js @kbn/test: src/functional_tests/cli/run_tests/cli.js -> target/functional_tests/cli/run_tests/cli.js @kbn/test: src/functional_tests/cli/run_tests/cli.test.js -> target/functional_tests/cli/run_tests/cli.test.js @kbn/test: src/functional_tests/cli/start_servers/args.js -> target/functional_tests/cli/start_servers/args.js @kbn/test: src/functional_tests/cli/start_servers/args.test.js -> target/functional_tests/cli/start_servers/args.test.js @kbn/test: src/functional_tests/cli/start_servers/cli.js -> target/functional_tests/cli/start_servers/cli.js @kbn/test: src/functional_tests/cli/start_servers/cli.test.js -> target/functional_tests/cli/start_servers/cli.test.js @kbn/test: src/functional_tests/lib/auth.js -> target/functional_tests/lib/auth.js @kbn/test: src/functional_tests/lib/index.js -> target/functional_tests/lib/index.js @kbn/test: src/functional_tests/lib/paths.js -> target/functional_tests/lib/paths.js @kbn/test: src/functional_tests/lib/run_cli.js -> target/functional_tests/lib/run_cli.js @kbn/test: src/functional_tests/lib/run_cli.test.js -> target/functional_tests/lib/run_cli.test.js @kbn/test: src/functional_tests/lib/run_elasticsearch.js -> target/functional_tests/lib/run_elasticsearch.js @kbn/test: src/functional_tests/lib/run_ftr.js -> target/functional_tests/lib/run_ftr.js @kbn/test: src/functional_tests/lib/run_kibana_server.js -> target/functional_tests/lib/run_kibana_server.js @kbn/test: src/functional_tests/tasks.js -> target/functional_tests/tasks.js @kbn/test: src/functional_tests/test_helpers.js -> target/functional_tests/test_helpers.js @kbn/test: src/index.js -> target/index.js @kbn/test: src/kbn/index.js -> target/kbn/index.js @kbn/test: src/kbn/kbn_test_config.js -> target/kbn/kbn_test_config.js @kbn/test: src/kbn/users.js -> target/kbn/users.js x-pack: $ gulp canvas:plugins:build x-pack: [13:22:34] /Users/spalger/kbn-dev/master/kibana/x-pack/plugins/canvas/canvas_plugin x-pack: [13:22:34] Using gulpfile ~/kbn-dev/master/kibana/x-pack/gulpfile.js x-pack: [13:22:34] Starting 'canvas:plugins:build'... x-pack: [13:22:50] canvas:plugins Plugins built in 15.75 seconds x-pack: [13:22:50] Finished 'canvas:plugins:build' after 16 s kibana: $ yarn build:types && node scripts/register_git_hook kibana: $ tsc --p tsconfig.types.json kibana: Registering Kibana pre-commit git hook... kibana: success Kibana pre-commit git hook was installed successfully. ``` (this will be even worse when we merge elastic#26095) After: ``` running `kbn:bootstrap` scripts @kbn/config-schema: $ yarn build @kbn/datemath: $ yarn build --quiet @kbn/i18n: $ run-p 'build:babel:** --quiet' build:tsc @kbn/datemath: $ babel src --out-dir target --copy-files --quiet @kbn/config-schema: $ tsc @kbn/i18n: $ cross-env BABEL_ENV=node babel src --config-file ./babel.config.js --out-dir target/node --extensions ".ts,.js,.tsx" --quiet @kbn/i18n: $ cross-env BABEL_ENV=web babel src --config-file ./babel.config.js --out-dir target/web --extensions ".ts,.js,.tsx" --quiet @kbn/i18n: $ tsc --emitDeclarationOnly @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/dev-utils: $ yarn build --quiet @kbn/es-query: $ yarn build --quiet @kbn/dev-utils: $ babel src --out-dir target --quiet @kbn/es-query: $ babel src --out-dir target --quiet @kbn/test: $ yarn build --quiet @kbn/test: $ babel src --out-dir target --quiet x-pack: $ gulp canvas:plugins:build x-pack: [13:16:56] /Users/spalger/kbn-dev/master/kibana/x-pack/plugins/canvas/canvas_plugin x-pack: [13:16:56] Using gulpfile ~/kbn-dev/master/kibana/x-pack/gulpfile.js x-pack: [13:16:56] Starting 'canvas:plugins:build'... x-pack: [13:17:11] canvas:plugins Plugins built in 13.98 seconds x-pack: [13:17:11] Finished 'canvas:plugins:build' after 14 s kibana: $ yarn build:types && node scripts/register_git_hook kibana: $ tsc --p tsconfig.types.json kibana: Registering Kibana pre-commit git hook... kibana: success Kibana pre-commit git hook was installed successfully. ```
This updated the `kbn:boostrap` scripts in the packages to use `--quiet` when bootstrapping. This prevents babel from logging every file it builds, but still logs errors if any occur. To make things a little simpler I also used the [`npm-run-all`](https://github.com/mysticatea/npm-run-all) package in `@kbn/i18n` to execute all the builds there in parallel and pass `--quiet`/`--watch` to all builds without duplicating the tasks or making them incompatible with windows. Before: ``` running `kbn:bootstrap` scripts @kbn/config-schema: $ yarn build @kbn/datemath: $ yarn build @kbn/i18n: $ yarn build @kbn/config-schema: $ tsc @kbn/datemath: $ babel src --out-dir target --copy-files @kbn/i18n: $ yarn build:web && yarn build:node && yarn build:types @kbn/i18n: $ cross-env BABEL_ENV=web babel src --config-file ./babel.config.js --out-dir target/web --extensions ".ts,.js,.tsx" @kbn/datemath: src/index.js -> target/index.js @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/i18n: $ cross-env BABEL_ENV=node babel src --config-file ./babel.config.js --out-dir target/node --extensions ".ts,.js,.tsx" @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/i18n: $ tsc --emitDeclarationOnly @kbn/dev-utils: $ yarn build @kbn/es-query: $ yarn build @kbn/dev-utils: $ babel src --out-dir target @kbn/es-query: $ babel src --out-dir target @kbn/dev-utils: src/index.js -> target/index.js @kbn/dev-utils: src/proc_runner/errors.js -> target/proc_runner/errors.js @kbn/dev-utils: src/proc_runner/index.js -> target/proc_runner/index.js @kbn/dev-utils: src/proc_runner/observe_lines.js -> target/proc_runner/observe_lines.js @kbn/dev-utils: src/proc_runner/observe_readable.js -> target/proc_runner/observe_readable.js @kbn/es-query: src/es_query/__tests__/_migrate_filter.js -> target/es_query/__tests__/_migrate_filter.js @kbn/dev-utils: src/proc_runner/observe_signals.js -> target/proc_runner/observe_signals.js @kbn/es-query: src/es_query/__tests__/build_es_query.js -> target/es_query/__tests__/build_es_query.js @kbn/es-query: src/es_query/__tests__/decorate_query.js -> target/es_query/__tests__/decorate_query.js @kbn/dev-utils: src/proc_runner/proc.js -> target/proc_runner/proc.js @kbn/es-query: src/es_query/__tests__/from_filters.js -> target/es_query/__tests__/from_filters.js @kbn/es-query: src/es_query/__tests__/from_kuery.js -> target/es_query/__tests__/from_kuery.js @kbn/es-query: src/es_query/__tests__/from_lucene.js -> target/es_query/__tests__/from_lucene.js @kbn/es-query: src/es_query/__tests__/lucene_string_to_dsl.js -> target/es_query/__tests__/lucene_string_to_dsl.js @kbn/dev-utils: src/proc_runner/proc_runner.js -> target/proc_runner/proc_runner.js @kbn/dev-utils: src/proc_runner/with_proc_runner.js -> target/proc_runner/with_proc_runner.js @kbn/dev-utils: src/proc_runner/with_proc_runner.test.js -> target/proc_runner/with_proc_runner.test.js @kbn/es-query: src/es_query/build_es_query.js -> target/es_query/build_es_query.js @kbn/dev-utils: src/serializers/absolute_path_serializer.js -> target/serializers/absolute_path_serializer.js @kbn/es-query: src/es_query/decorate_query.js -> target/es_query/decorate_query.js @kbn/dev-utils: src/serializers/index.js -> target/serializers/index.js @kbn/es-query: src/es_query/from_filters.js -> target/es_query/from_filters.js @kbn/dev-utils: src/streams/concat_stream.js -> target/streams/concat_stream.js @kbn/dev-utils: src/streams/index.js -> target/streams/index.js @kbn/dev-utils: src/streams/promise_from_streams.js -> target/streams/promise_from_streams.js @kbn/es-query: src/es_query/from_kuery.js -> target/es_query/from_kuery.js @kbn/dev-utils: src/streams/reduce_stream.js -> target/streams/reduce_stream.js @kbn/es-query: src/es_query/from_lucene.js -> target/es_query/from_lucene.js @kbn/dev-utils: src/tooling_log/index.js -> target/tooling_log/index.js @kbn/es-query: src/es_query/index.js -> target/es_query/index.js @kbn/dev-utils: src/tooling_log/log_levels.js -> target/tooling_log/log_levels.js @kbn/es-query: src/es_query/lucene_string_to_dsl.js -> target/es_query/lucene_string_to_dsl.js @kbn/dev-utils: src/tooling_log/log_levels.test.js -> target/tooling_log/log_levels.test.js @kbn/es-query: src/es_query/migrate_filter.js -> target/es_query/migrate_filter.js @kbn/dev-utils: src/tooling_log/tooling_log.js -> target/tooling_log/tooling_log.js @kbn/es-query: src/filters/__tests__/phrase.js -> target/filters/__tests__/phrase.js @kbn/es-query: src/filters/__tests__/query.js -> target/filters/__tests__/query.js @kbn/dev-utils: src/tooling_log/tooling_log.test.js -> target/tooling_log/tooling_log.test.js @kbn/dev-utils: src/tooling_log/tooling_log_text_writer.js -> target/tooling_log/tooling_log_text_writer.js @kbn/dev-utils: src/tooling_log/tooling_log_text_writer.test.js -> target/tooling_log/tooling_log_text_writer.test.js @kbn/es-query: src/filters/__tests__/range.js -> target/filters/__tests__/range.js @kbn/es-query: src/filters/exists.js -> target/filters/exists.js @kbn/es-query: src/filters/index.js -> target/filters/index.js @kbn/es-query: src/filters/phrase.js -> target/filters/phrase.js @kbn/es-query: src/filters/phrases.js -> target/filters/phrases.js @kbn/es-query: src/filters/query.js -> target/filters/query.js @kbn/es-query: src/filters/range.js -> target/filters/range.js @kbn/es-query: src/index.js -> target/index.js @kbn/es-query: src/kuery/ast/__tests__/ast.js -> target/kuery/ast/__tests__/ast.js @kbn/es-query: src/kuery/ast/ast.js -> target/kuery/ast/ast.js @kbn/es-query: src/kuery/ast/index.js -> target/kuery/ast/index.js @kbn/es-query: src/kuery/ast/kuery.js -> target/kuery/ast/kuery.js @kbn/es-query: src/kuery/ast/legacy_kuery.js -> target/kuery/ast/legacy_kuery.js @kbn/es-query: src/kuery/filter_migration/__tests__/exists.js -> target/kuery/filter_migration/__tests__/exists.js @kbn/es-query: src/kuery/filter_migration/__tests__/filter_to_kuery.js -> target/kuery/filter_migration/__tests__/filter_to_kuery.js @kbn/es-query: src/kuery/filter_migration/__tests__/geo_bounding_box.js -> target/kuery/filter_migration/__tests__/geo_bounding_box.js @kbn/es-query: src/kuery/filter_migration/__tests__/geo_polygon.js -> target/kuery/filter_migration/__tests__/geo_polygon.js @kbn/es-query: src/kuery/filter_migration/__tests__/phrase.js -> target/kuery/filter_migration/__tests__/phrase.js @kbn/es-query: src/kuery/filter_migration/__tests__/range.js -> target/kuery/filter_migration/__tests__/range.js @kbn/es-query: src/kuery/filter_migration/exists.js -> target/kuery/filter_migration/exists.js @kbn/es-query: src/kuery/filter_migration/filter_to_kuery.js -> target/kuery/filter_migration/filter_to_kuery.js @kbn/es-query: src/kuery/filter_migration/geo_bounding_box.js -> target/kuery/filter_migration/geo_bounding_box.js @kbn/es-query: src/kuery/filter_migration/geo_polygon.js -> target/kuery/filter_migration/geo_polygon.js @kbn/es-query: src/kuery/filter_migration/index.js -> target/kuery/filter_migration/index.js @kbn/es-query: src/kuery/filter_migration/phrase.js -> target/kuery/filter_migration/phrase.js @kbn/es-query: src/kuery/filter_migration/range.js -> target/kuery/filter_migration/range.js @kbn/es-query: src/kuery/functions/__tests__/and.js -> target/kuery/functions/__tests__/and.js @kbn/es-query: src/kuery/functions/__tests__/exists.js -> target/kuery/functions/__tests__/exists.js @kbn/es-query: src/kuery/functions/__tests__/geo_bounding_box.js -> target/kuery/functions/__tests__/geo_bounding_box.js @kbn/es-query: src/kuery/functions/__tests__/geo_polygon.js -> target/kuery/functions/__tests__/geo_polygon.js @kbn/es-query: src/kuery/functions/__tests__/is.js -> target/kuery/functions/__tests__/is.js @kbn/es-query: src/kuery/functions/__tests__/not.js -> target/kuery/functions/__tests__/not.js @kbn/es-query: src/kuery/functions/__tests__/or.js -> target/kuery/functions/__tests__/or.js @kbn/es-query: src/kuery/functions/__tests__/range.js -> target/kuery/functions/__tests__/range.js @kbn/es-query: src/kuery/functions/__tests__/utils/get_fields.js -> target/kuery/functions/__tests__/utils/get_fields.js @kbn/es-query: src/kuery/functions/and.js -> target/kuery/functions/and.js @kbn/es-query: src/kuery/functions/exists.js -> target/kuery/functions/exists.js @kbn/es-query: src/kuery/functions/geo_bounding_box.js -> target/kuery/functions/geo_bounding_box.js @kbn/es-query: src/kuery/functions/geo_polygon.js -> target/kuery/functions/geo_polygon.js @kbn/es-query: src/kuery/functions/index.js -> target/kuery/functions/index.js @kbn/es-query: src/kuery/functions/is.js -> target/kuery/functions/is.js @kbn/es-query: src/kuery/functions/not.js -> target/kuery/functions/not.js @kbn/es-query: src/kuery/functions/or.js -> target/kuery/functions/or.js @kbn/es-query: src/kuery/functions/range.js -> target/kuery/functions/range.js @kbn/es-query: src/kuery/functions/utils/get_fields.js -> target/kuery/functions/utils/get_fields.js @kbn/es-query: src/kuery/index.js -> target/kuery/index.js @kbn/es-query: src/kuery/node_types/__tests__/function.js -> target/kuery/node_types/__tests__/function.js @kbn/es-query: src/kuery/node_types/__tests__/literal.js -> target/kuery/node_types/__tests__/literal.js @kbn/es-query: src/kuery/node_types/__tests__/named_arg.js -> target/kuery/node_types/__tests__/named_arg.js @kbn/es-query: src/kuery/node_types/__tests__/wildcard.js -> target/kuery/node_types/__tests__/wildcard.js @kbn/es-query: src/kuery/node_types/function.js -> target/kuery/node_types/function.js @kbn/es-query: src/kuery/node_types/index.js -> target/kuery/node_types/index.js @kbn/es-query: src/kuery/node_types/literal.js -> target/kuery/node_types/literal.js @kbn/es-query: src/kuery/node_types/named_arg.js -> target/kuery/node_types/named_arg.js @kbn/es-query: src/kuery/node_types/wildcard.js -> target/kuery/node_types/wildcard.js @kbn/test: $ yarn build @kbn/test: $ babel src --out-dir target @kbn/test: src/es/es_test_cluster.js -> target/es/es_test_cluster.js @kbn/test: src/es/es_test_config.js -> target/es/es_test_config.js @kbn/test: src/es/index.js -> target/es/index.js @kbn/test: src/functional_tests/cli/index.js -> target/functional_tests/cli/index.js @kbn/test: src/functional_tests/cli/run_tests/args.js -> target/functional_tests/cli/run_tests/args.js @kbn/test: src/functional_tests/cli/run_tests/args.test.js -> target/functional_tests/cli/run_tests/args.test.js @kbn/test: src/functional_tests/cli/run_tests/cli.js -> target/functional_tests/cli/run_tests/cli.js @kbn/test: src/functional_tests/cli/run_tests/cli.test.js -> target/functional_tests/cli/run_tests/cli.test.js @kbn/test: src/functional_tests/cli/start_servers/args.js -> target/functional_tests/cli/start_servers/args.js @kbn/test: src/functional_tests/cli/start_servers/args.test.js -> target/functional_tests/cli/start_servers/args.test.js @kbn/test: src/functional_tests/cli/start_servers/cli.js -> target/functional_tests/cli/start_servers/cli.js @kbn/test: src/functional_tests/cli/start_servers/cli.test.js -> target/functional_tests/cli/start_servers/cli.test.js @kbn/test: src/functional_tests/lib/auth.js -> target/functional_tests/lib/auth.js @kbn/test: src/functional_tests/lib/index.js -> target/functional_tests/lib/index.js @kbn/test: src/functional_tests/lib/paths.js -> target/functional_tests/lib/paths.js @kbn/test: src/functional_tests/lib/run_cli.js -> target/functional_tests/lib/run_cli.js @kbn/test: src/functional_tests/lib/run_cli.test.js -> target/functional_tests/lib/run_cli.test.js @kbn/test: src/functional_tests/lib/run_elasticsearch.js -> target/functional_tests/lib/run_elasticsearch.js @kbn/test: src/functional_tests/lib/run_ftr.js -> target/functional_tests/lib/run_ftr.js @kbn/test: src/functional_tests/lib/run_kibana_server.js -> target/functional_tests/lib/run_kibana_server.js @kbn/test: src/functional_tests/tasks.js -> target/functional_tests/tasks.js @kbn/test: src/functional_tests/test_helpers.js -> target/functional_tests/test_helpers.js @kbn/test: src/index.js -> target/index.js @kbn/test: src/kbn/index.js -> target/kbn/index.js @kbn/test: src/kbn/kbn_test_config.js -> target/kbn/kbn_test_config.js @kbn/test: src/kbn/users.js -> target/kbn/users.js x-pack: $ gulp canvas:plugins:build x-pack: [13:22:34] /Users/spalger/kbn-dev/master/kibana/x-pack/plugins/canvas/canvas_plugin x-pack: [13:22:34] Using gulpfile ~/kbn-dev/master/kibana/x-pack/gulpfile.js x-pack: [13:22:34] Starting 'canvas:plugins:build'... x-pack: [13:22:50] canvas:plugins Plugins built in 15.75 seconds x-pack: [13:22:50] Finished 'canvas:plugins:build' after 16 s kibana: $ yarn build:types && node scripts/register_git_hook kibana: $ tsc --p tsconfig.types.json kibana: Registering Kibana pre-commit git hook... kibana: success Kibana pre-commit git hook was installed successfully. ``` (this will be even worse when we merge elastic#26095) After: ``` running `kbn:bootstrap` scripts @kbn/config-schema: $ yarn build @kbn/datemath: $ yarn build --quiet @kbn/i18n: $ run-p 'build:babel:** --quiet' build:tsc @kbn/datemath: $ babel src --out-dir target --copy-files --quiet @kbn/config-schema: $ tsc @kbn/i18n: $ cross-env BABEL_ENV=node babel src --config-file ./babel.config.js --out-dir target/node --extensions ".ts,.js,.tsx" --quiet @kbn/i18n: $ cross-env BABEL_ENV=web babel src --config-file ./babel.config.js --out-dir target/web --extensions ".ts,.js,.tsx" --quiet @kbn/i18n: $ tsc --emitDeclarationOnly @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/dev-utils: $ yarn build --quiet @kbn/es-query: $ yarn build --quiet @kbn/dev-utils: $ babel src --out-dir target --quiet @kbn/es-query: $ babel src --out-dir target --quiet @kbn/test: $ yarn build --quiet @kbn/test: $ babel src --out-dir target --quiet x-pack: $ gulp canvas:plugins:build x-pack: [13:16:56] /Users/spalger/kbn-dev/master/kibana/x-pack/plugins/canvas/canvas_plugin x-pack: [13:16:56] Using gulpfile ~/kbn-dev/master/kibana/x-pack/gulpfile.js x-pack: [13:16:56] Starting 'canvas:plugins:build'... x-pack: [13:17:11] canvas:plugins Plugins built in 13.98 seconds x-pack: [13:17:11] Finished 'canvas:plugins:build' after 14 s kibana: $ yarn build:types && node scripts/register_git_hook kibana: $ tsc --p tsconfig.types.json kibana: Registering Kibana pre-commit git hook... kibana: success Kibana pre-commit git hook was installed successfully. ```
This updated the `kbn:boostrap` scripts in the packages to use `--quiet` when bootstrapping. This prevents babel from logging every file it builds, but still logs errors if any occur. To make things a little simpler I also used the [`npm-run-all`](https://github.com/mysticatea/npm-run-all) package in `@kbn/i18n` to execute all the builds there in parallel and pass `--quiet`/`--watch` to all builds without duplicating the tasks or making them incompatible with windows. Before: ``` running `kbn:bootstrap` scripts @kbn/config-schema: $ yarn build @kbn/datemath: $ yarn build @kbn/i18n: $ yarn build @kbn/config-schema: $ tsc @kbn/datemath: $ babel src --out-dir target --copy-files @kbn/i18n: $ yarn build:web && yarn build:node && yarn build:types @kbn/i18n: $ cross-env BABEL_ENV=web babel src --config-file ./babel.config.js --out-dir target/web --extensions ".ts,.js,.tsx" @kbn/datemath: src/index.js -> target/index.js @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/i18n: $ cross-env BABEL_ENV=node babel src --config-file ./babel.config.js --out-dir target/node --extensions ".ts,.js,.tsx" @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/i18n: $ tsc --emitDeclarationOnly @kbn/dev-utils: $ yarn build @kbn/es-query: $ yarn build @kbn/dev-utils: $ babel src --out-dir target @kbn/es-query: $ babel src --out-dir target @kbn/dev-utils: src/index.js -> target/index.js @kbn/dev-utils: src/proc_runner/errors.js -> target/proc_runner/errors.js @kbn/dev-utils: src/proc_runner/index.js -> target/proc_runner/index.js @kbn/dev-utils: src/proc_runner/observe_lines.js -> target/proc_runner/observe_lines.js @kbn/dev-utils: src/proc_runner/observe_readable.js -> target/proc_runner/observe_readable.js @kbn/es-query: src/es_query/__tests__/_migrate_filter.js -> target/es_query/__tests__/_migrate_filter.js @kbn/dev-utils: src/proc_runner/observe_signals.js -> target/proc_runner/observe_signals.js @kbn/es-query: src/es_query/__tests__/build_es_query.js -> target/es_query/__tests__/build_es_query.js @kbn/es-query: src/es_query/__tests__/decorate_query.js -> target/es_query/__tests__/decorate_query.js @kbn/dev-utils: src/proc_runner/proc.js -> target/proc_runner/proc.js @kbn/es-query: src/es_query/__tests__/from_filters.js -> target/es_query/__tests__/from_filters.js @kbn/es-query: src/es_query/__tests__/from_kuery.js -> target/es_query/__tests__/from_kuery.js @kbn/es-query: src/es_query/__tests__/from_lucene.js -> target/es_query/__tests__/from_lucene.js @kbn/es-query: src/es_query/__tests__/lucene_string_to_dsl.js -> target/es_query/__tests__/lucene_string_to_dsl.js @kbn/dev-utils: src/proc_runner/proc_runner.js -> target/proc_runner/proc_runner.js @kbn/dev-utils: src/proc_runner/with_proc_runner.js -> target/proc_runner/with_proc_runner.js @kbn/dev-utils: src/proc_runner/with_proc_runner.test.js -> target/proc_runner/with_proc_runner.test.js @kbn/es-query: src/es_query/build_es_query.js -> target/es_query/build_es_query.js @kbn/dev-utils: src/serializers/absolute_path_serializer.js -> target/serializers/absolute_path_serializer.js @kbn/es-query: src/es_query/decorate_query.js -> target/es_query/decorate_query.js @kbn/dev-utils: src/serializers/index.js -> target/serializers/index.js @kbn/es-query: src/es_query/from_filters.js -> target/es_query/from_filters.js @kbn/dev-utils: src/streams/concat_stream.js -> target/streams/concat_stream.js @kbn/dev-utils: src/streams/index.js -> target/streams/index.js @kbn/dev-utils: src/streams/promise_from_streams.js -> target/streams/promise_from_streams.js @kbn/es-query: src/es_query/from_kuery.js -> target/es_query/from_kuery.js @kbn/dev-utils: src/streams/reduce_stream.js -> target/streams/reduce_stream.js @kbn/es-query: src/es_query/from_lucene.js -> target/es_query/from_lucene.js @kbn/dev-utils: src/tooling_log/index.js -> target/tooling_log/index.js @kbn/es-query: src/es_query/index.js -> target/es_query/index.js @kbn/dev-utils: src/tooling_log/log_levels.js -> target/tooling_log/log_levels.js @kbn/es-query: src/es_query/lucene_string_to_dsl.js -> target/es_query/lucene_string_to_dsl.js @kbn/dev-utils: src/tooling_log/log_levels.test.js -> target/tooling_log/log_levels.test.js @kbn/es-query: src/es_query/migrate_filter.js -> target/es_query/migrate_filter.js @kbn/dev-utils: src/tooling_log/tooling_log.js -> target/tooling_log/tooling_log.js @kbn/es-query: src/filters/__tests__/phrase.js -> target/filters/__tests__/phrase.js @kbn/es-query: src/filters/__tests__/query.js -> target/filters/__tests__/query.js @kbn/dev-utils: src/tooling_log/tooling_log.test.js -> target/tooling_log/tooling_log.test.js @kbn/dev-utils: src/tooling_log/tooling_log_text_writer.js -> target/tooling_log/tooling_log_text_writer.js @kbn/dev-utils: src/tooling_log/tooling_log_text_writer.test.js -> target/tooling_log/tooling_log_text_writer.test.js @kbn/es-query: src/filters/__tests__/range.js -> target/filters/__tests__/range.js @kbn/es-query: src/filters/exists.js -> target/filters/exists.js @kbn/es-query: src/filters/index.js -> target/filters/index.js @kbn/es-query: src/filters/phrase.js -> target/filters/phrase.js @kbn/es-query: src/filters/phrases.js -> target/filters/phrases.js @kbn/es-query: src/filters/query.js -> target/filters/query.js @kbn/es-query: src/filters/range.js -> target/filters/range.js @kbn/es-query: src/index.js -> target/index.js @kbn/es-query: src/kuery/ast/__tests__/ast.js -> target/kuery/ast/__tests__/ast.js @kbn/es-query: src/kuery/ast/ast.js -> target/kuery/ast/ast.js @kbn/es-query: src/kuery/ast/index.js -> target/kuery/ast/index.js @kbn/es-query: src/kuery/ast/kuery.js -> target/kuery/ast/kuery.js @kbn/es-query: src/kuery/ast/legacy_kuery.js -> target/kuery/ast/legacy_kuery.js @kbn/es-query: src/kuery/filter_migration/__tests__/exists.js -> target/kuery/filter_migration/__tests__/exists.js @kbn/es-query: src/kuery/filter_migration/__tests__/filter_to_kuery.js -> target/kuery/filter_migration/__tests__/filter_to_kuery.js @kbn/es-query: src/kuery/filter_migration/__tests__/geo_bounding_box.js -> target/kuery/filter_migration/__tests__/geo_bounding_box.js @kbn/es-query: src/kuery/filter_migration/__tests__/geo_polygon.js -> target/kuery/filter_migration/__tests__/geo_polygon.js @kbn/es-query: src/kuery/filter_migration/__tests__/phrase.js -> target/kuery/filter_migration/__tests__/phrase.js @kbn/es-query: src/kuery/filter_migration/__tests__/range.js -> target/kuery/filter_migration/__tests__/range.js @kbn/es-query: src/kuery/filter_migration/exists.js -> target/kuery/filter_migration/exists.js @kbn/es-query: src/kuery/filter_migration/filter_to_kuery.js -> target/kuery/filter_migration/filter_to_kuery.js @kbn/es-query: src/kuery/filter_migration/geo_bounding_box.js -> target/kuery/filter_migration/geo_bounding_box.js @kbn/es-query: src/kuery/filter_migration/geo_polygon.js -> target/kuery/filter_migration/geo_polygon.js @kbn/es-query: src/kuery/filter_migration/index.js -> target/kuery/filter_migration/index.js @kbn/es-query: src/kuery/filter_migration/phrase.js -> target/kuery/filter_migration/phrase.js @kbn/es-query: src/kuery/filter_migration/range.js -> target/kuery/filter_migration/range.js @kbn/es-query: src/kuery/functions/__tests__/and.js -> target/kuery/functions/__tests__/and.js @kbn/es-query: src/kuery/functions/__tests__/exists.js -> target/kuery/functions/__tests__/exists.js @kbn/es-query: src/kuery/functions/__tests__/geo_bounding_box.js -> target/kuery/functions/__tests__/geo_bounding_box.js @kbn/es-query: src/kuery/functions/__tests__/geo_polygon.js -> target/kuery/functions/__tests__/geo_polygon.js @kbn/es-query: src/kuery/functions/__tests__/is.js -> target/kuery/functions/__tests__/is.js @kbn/es-query: src/kuery/functions/__tests__/not.js -> target/kuery/functions/__tests__/not.js @kbn/es-query: src/kuery/functions/__tests__/or.js -> target/kuery/functions/__tests__/or.js @kbn/es-query: src/kuery/functions/__tests__/range.js -> target/kuery/functions/__tests__/range.js @kbn/es-query: src/kuery/functions/__tests__/utils/get_fields.js -> target/kuery/functions/__tests__/utils/get_fields.js @kbn/es-query: src/kuery/functions/and.js -> target/kuery/functions/and.js @kbn/es-query: src/kuery/functions/exists.js -> target/kuery/functions/exists.js @kbn/es-query: src/kuery/functions/geo_bounding_box.js -> target/kuery/functions/geo_bounding_box.js @kbn/es-query: src/kuery/functions/geo_polygon.js -> target/kuery/functions/geo_polygon.js @kbn/es-query: src/kuery/functions/index.js -> target/kuery/functions/index.js @kbn/es-query: src/kuery/functions/is.js -> target/kuery/functions/is.js @kbn/es-query: src/kuery/functions/not.js -> target/kuery/functions/not.js @kbn/es-query: src/kuery/functions/or.js -> target/kuery/functions/or.js @kbn/es-query: src/kuery/functions/range.js -> target/kuery/functions/range.js @kbn/es-query: src/kuery/functions/utils/get_fields.js -> target/kuery/functions/utils/get_fields.js @kbn/es-query: src/kuery/index.js -> target/kuery/index.js @kbn/es-query: src/kuery/node_types/__tests__/function.js -> target/kuery/node_types/__tests__/function.js @kbn/es-query: src/kuery/node_types/__tests__/literal.js -> target/kuery/node_types/__tests__/literal.js @kbn/es-query: src/kuery/node_types/__tests__/named_arg.js -> target/kuery/node_types/__tests__/named_arg.js @kbn/es-query: src/kuery/node_types/__tests__/wildcard.js -> target/kuery/node_types/__tests__/wildcard.js @kbn/es-query: src/kuery/node_types/function.js -> target/kuery/node_types/function.js @kbn/es-query: src/kuery/node_types/index.js -> target/kuery/node_types/index.js @kbn/es-query: src/kuery/node_types/literal.js -> target/kuery/node_types/literal.js @kbn/es-query: src/kuery/node_types/named_arg.js -> target/kuery/node_types/named_arg.js @kbn/es-query: src/kuery/node_types/wildcard.js -> target/kuery/node_types/wildcard.js @kbn/test: $ yarn build @kbn/test: $ babel src --out-dir target @kbn/test: src/es/es_test_cluster.js -> target/es/es_test_cluster.js @kbn/test: src/es/es_test_config.js -> target/es/es_test_config.js @kbn/test: src/es/index.js -> target/es/index.js @kbn/test: src/functional_tests/cli/index.js -> target/functional_tests/cli/index.js @kbn/test: src/functional_tests/cli/run_tests/args.js -> target/functional_tests/cli/run_tests/args.js @kbn/test: src/functional_tests/cli/run_tests/args.test.js -> target/functional_tests/cli/run_tests/args.test.js @kbn/test: src/functional_tests/cli/run_tests/cli.js -> target/functional_tests/cli/run_tests/cli.js @kbn/test: src/functional_tests/cli/run_tests/cli.test.js -> target/functional_tests/cli/run_tests/cli.test.js @kbn/test: src/functional_tests/cli/start_servers/args.js -> target/functional_tests/cli/start_servers/args.js @kbn/test: src/functional_tests/cli/start_servers/args.test.js -> target/functional_tests/cli/start_servers/args.test.js @kbn/test: src/functional_tests/cli/start_servers/cli.js -> target/functional_tests/cli/start_servers/cli.js @kbn/test: src/functional_tests/cli/start_servers/cli.test.js -> target/functional_tests/cli/start_servers/cli.test.js @kbn/test: src/functional_tests/lib/auth.js -> target/functional_tests/lib/auth.js @kbn/test: src/functional_tests/lib/index.js -> target/functional_tests/lib/index.js @kbn/test: src/functional_tests/lib/paths.js -> target/functional_tests/lib/paths.js @kbn/test: src/functional_tests/lib/run_cli.js -> target/functional_tests/lib/run_cli.js @kbn/test: src/functional_tests/lib/run_cli.test.js -> target/functional_tests/lib/run_cli.test.js @kbn/test: src/functional_tests/lib/run_elasticsearch.js -> target/functional_tests/lib/run_elasticsearch.js @kbn/test: src/functional_tests/lib/run_ftr.js -> target/functional_tests/lib/run_ftr.js @kbn/test: src/functional_tests/lib/run_kibana_server.js -> target/functional_tests/lib/run_kibana_server.js @kbn/test: src/functional_tests/tasks.js -> target/functional_tests/tasks.js @kbn/test: src/functional_tests/test_helpers.js -> target/functional_tests/test_helpers.js @kbn/test: src/index.js -> target/index.js @kbn/test: src/kbn/index.js -> target/kbn/index.js @kbn/test: src/kbn/kbn_test_config.js -> target/kbn/kbn_test_config.js @kbn/test: src/kbn/users.js -> target/kbn/users.js x-pack: $ gulp canvas:plugins:build x-pack: [13:22:34] /Users/spalger/kbn-dev/master/kibana/x-pack/plugins/canvas/canvas_plugin x-pack: [13:22:34] Using gulpfile ~/kbn-dev/master/kibana/x-pack/gulpfile.js x-pack: [13:22:34] Starting 'canvas:plugins:build'... x-pack: [13:22:50] canvas:plugins Plugins built in 15.75 seconds x-pack: [13:22:50] Finished 'canvas:plugins:build' after 16 s kibana: $ yarn build:types && node scripts/register_git_hook kibana: $ tsc --p tsconfig.types.json kibana: Registering Kibana pre-commit git hook... kibana: success Kibana pre-commit git hook was installed successfully. ``` (this will be even worse when we merge #26095) After: ``` running `kbn:bootstrap` scripts @kbn/config-schema: $ yarn build @kbn/datemath: $ yarn build --quiet @kbn/i18n: $ run-p 'build:babel:** --quiet' build:tsc @kbn/datemath: $ babel src --out-dir target --copy-files --quiet @kbn/config-schema: $ tsc @kbn/i18n: $ cross-env BABEL_ENV=node babel src --config-file ./babel.config.js --out-dir target/node --extensions ".ts,.js,.tsx" --quiet @kbn/i18n: $ cross-env BABEL_ENV=web babel src --config-file ./babel.config.js --out-dir target/web --extensions ".ts,.js,.tsx" --quiet @kbn/i18n: $ tsc --emitDeclarationOnly @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/i18n: Successfully compiled 18 files with Babel. @kbn/dev-utils: $ yarn build --quiet @kbn/es-query: $ yarn build --quiet @kbn/dev-utils: $ babel src --out-dir target --quiet @kbn/es-query: $ babel src --out-dir target --quiet @kbn/test: $ yarn build --quiet @kbn/test: $ babel src --out-dir target --quiet x-pack: $ gulp canvas:plugins:build x-pack: [13:16:56] /Users/spalger/kbn-dev/master/kibana/x-pack/plugins/canvas/canvas_plugin x-pack: [13:16:56] Using gulpfile ~/kbn-dev/master/kibana/x-pack/gulpfile.js x-pack: [13:16:56] Starting 'canvas:plugins:build'... x-pack: [13:17:11] canvas:plugins Plugins built in 13.98 seconds x-pack: [13:17:11] Finished 'canvas:plugins:build' after 14 s kibana: $ yarn build:types && node scripts/register_git_hook kibana: $ tsc --p tsconfig.types.json kibana: Registering Kibana pre-commit git hook... kibana: success Kibana pre-commit git hook was installed successfully. ```
💚 Build Succeeded |
cjcenizal
left a comment
There was a problem hiding this comment.
This looks great! I reviewed the code and tested locally. I had a lot of really minor comments. I like how you have the de/serialization logic on the server. It creates a nice abstraction layer over ES. In retrospect I should have done that with the rollup jobs API as well.
I found a couple UI tweaks we could make. In the empty state, I think we can remove the title, to bring it inline with the empty states of other apps. To tie the language back to the name of the app, I think we could change the title of the empty prompt itself to "Cross cluster replication" and the description to "Auto-follow patterns replicate leader indices from a remote cluster to follower indices on the local cluster."
Then for the regular table state, we can remove the subtitle "Auto-follow patterns", and replace "Manage your auto follow patterns" with the description from the empty prompt. I think this will make the two states feel more cohesive and simplify the concepts we're communicating. What do you think?
Also, can we use "Create" instead of "Add" for the action? I think this is something the copy writers have been trying to make consistent.
| @@ -0,0 +1,28 @@ | |||
| /* | |||
There was a problem hiding this comment.
I notice that some files are named autofollow and some are named auto_follow. I think we should standardize one. I would lean towards auto_follow since this would reflect the casing of the variable names, e.g. autoFollow.
There was a problem hiding this comment.
Totaly agree no that... I have also some translation key that I need to camelCase for consistency. 👍
| * you may not use this file except in compliance with the Elastic License. | ||
| */ | ||
|
|
||
| const Chance = require('chance'); // eslint-disable-line |
There was a problem hiding this comment.
Could we add the specific rule being disabled here?
| export const getAutoFollowPatternMock = ( | ||
| remoteCluster = chance.string(), | ||
| leaderIndexPatterns = [chance.string()], | ||
| followIndexPattern = chance.string()) => ({ |
There was a problem hiding this comment.
I would find it a bit easier to read this if we indented the closing parens, which I think is a pattern you've used elsewhere:
export const getAutoFollowPatternMock = (
remoteCluster = chance.string(),
leaderIndexPatterns = [chance.string()],
followIndexPattern = chance.string()
) => ({
remote_cluster: remoteCluster,
leader_index_patterns: leaderIndexPatterns,
follow_index_pattern: followIndexPattern
});| }); | ||
|
|
||
| describe('deserializeListAutofollowPatterns()', () => { | ||
| it('should deSerialize list of Elasticsearch objects', () => { |
There was a problem hiding this comment.
Small typo: "deSerialize" -> "deserialize"
| it('should forward the response from Elasticsearch', async () => { | ||
| const mock = { foo: 'bar' }; | ||
| setHttpRequestResponse(null, mock); | ||
| it('should deSerialize the response from Elasticsearch', async () => { |
There was a problem hiding this comment.
A few small typos in this file: "deSerialize" -> "deserialize"
| * you may not use this file except in compliance with the Elastic License. | ||
| */ | ||
|
|
||
| export const deserializeAutofollowPattern = ( |
There was a problem hiding this comment.
Should these method names be Autofollow or AutoFollow? I lean towards the latter to be consistent with the ES docs, but either way I think we should be consistent.
There was a problem hiding this comment.
Yes, should be AutoFollow 👍
| {} | ||
| ); | ||
|
|
||
| export const serializeAutofolloPattern = ({ |
There was a problem hiding this comment.
Also it looks like this method name is missing a "w": "Autofollo" -> "Autofollow"
| export const deserializeListAutofollowPatterns = autofollowPatterns => | ||
| Object.entries(autofollowPatterns).reduce( | ||
| (deSerialized, [name, autofollowPattern]) => ({ | ||
| ...deSerialized, |
There was a problem hiding this comment.
Minor nit, but it seems like unnecessary work to create a new object and repopulate it every iteration. Is there a disadvantage to reusing the accumulator like this instead?
Object.entries(autoFollowPatterns).reduce(
(deserializedPatterns, [name, autoFollowPattern]) => {
deserializedPatterns[name] = deserializeAutoFollowPattern(name, autoFollowPattern);
return deserializedPatterns;
},
{}
);There was a problem hiding this comment.
It is just for code style, to avoid the returnstatement. True that in a long list with multiple request/seq this would not be efficient but in our case it would not make any difference
| it('should serialize the payload before sending it to Elasticsearch', async () => { | ||
| callWithRequestFactory.mockReturnValueOnce((_, payload = {}) => { | ||
| if (payload.body.remote_cluster !== 'bar') { | ||
| return `Error: body (${JSON.stringify(payload)})`; |
There was a problem hiding this comment.
We can leverage Jest's diffing feature by tweaking this to return the actual request itself and then making assertions against that:
it('should serialize the payload before sending it to Elasticsearch', async () => {
// Return the payload we're sending to ES so we can make assertions against it.
callWithRequestFactory.mockReturnValueOnce((_, payload = {}) => payload);
const request = {
params: { id: 'foo' },
payload: {
remoteCluster: 'bar1',
leaderIndexPatterns: [ 'bar2' ],
followIndexPattern: 'bar3',
},
};
const response = await routeHandler(request);
expect(response).toEqual({
id: 'foo',
body: {
remote_cluster: 'bar1',
leader_index_patterns: [ 'bar2' ],
follow_index_pattern: 'bar3',
},
});
});This way I think the failures will be a little easier debug since they'll look something like this:
There was a problem hiding this comment.
Good point, not sure why I went in that direction in the first place 😊
| expect(body.cause[0]).to.contain('unknown cluster'); | ||
| }); | ||
|
|
||
| it('should create an auto-follow pattern', async () => { |
There was a problem hiding this comment.
Can we add a bit more detail to the description so it stands in clear contrast against the failure state? E.g. "should create an auto-follow pattern when cluster is known".
|
Thanks for the feedback! Yes, I didn't like that title there either but was not sure about the best solution for it and wanted to see with you. For phase 2, with the tabs (Follow index / Auto-follow pattern) the title might have more sense, we will see. |
💚 Build Succeeded |
💚 Build Succeeded |
💔 Build Failed |



Add API route to create a Cross Cluster Replication auto-follow pattern. In this PR (de)serialization has been added to both the API
list()andcreate()routes so we can work with camelCase naming on the client.