@cucumber/cucumber 12.9.0 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -3
- package/bin/cucumber.js +2 -1
- package/lib/api/convert_configuration.d.ts +3 -4
- package/lib/api/convert_configuration.js +9 -11
- package/lib/api/emit_support_code_messages.d.ts +3 -3
- package/lib/api/emit_support_code_messages.js +13 -28
- package/lib/api/formatters.d.ts +7 -7
- package/lib/api/formatters.js +5 -2
- package/lib/api/gherkin.d.ts +3 -3
- package/lib/api/gherkin.js +2 -4
- package/lib/api/index.d.ts +2 -2
- package/lib/api/index.js +1 -1
- package/lib/api/load_configuration.d.ts +2 -2
- package/lib/api/load_configuration.js +4 -5
- package/lib/api/load_sources.d.ts +2 -2
- package/lib/api/load_sources.js +2 -2
- package/lib/api/load_support.d.ts +2 -2
- package/lib/api/load_support.js +3 -3
- package/lib/api/plugins.d.ts +2 -2
- package/lib/api/plugins.js +2 -2
- package/lib/api/run_cucumber.d.ts +3 -3
- package/lib/api/run_cucumber.js +17 -1
- package/lib/api/support.d.ts +3 -3
- package/lib/api/support.js +5 -5
- package/lib/api/test_helpers.d.ts +1 -1
- package/lib/api/test_helpers.js +8 -10
- package/lib/api/types.d.ts +9 -5
- package/lib/api/types.js +1 -1
- package/lib/assemble/assemble_test_cases.d.ts +4 -4
- package/lib/assemble/assemble_test_cases.js +2 -6
- package/lib/assemble/index.js +1 -1
- package/lib/assemble/types.d.ts +1 -1
- package/lib/assemble/types.js +1 -1
- package/lib/cli/i18n.js +5 -3
- package/lib/cli/index.d.ts +1 -1
- package/lib/cli/index.js +2 -2
- package/lib/cli/install_validator.js +4 -3
- package/lib/cli/run.js +7 -6
- package/lib/cli/validate_node_engine_version.js +2 -4
- package/lib/configuration/argv_parser.d.ts +1 -1
- package/lib/configuration/argv_parser.js +7 -7
- package/lib/configuration/check_schema.d.ts +1 -1
- package/lib/configuration/check_schema.js +17 -6
- package/lib/configuration/default_configuration.d.ts +1 -1
- package/lib/configuration/default_configuration.js +2 -1
- package/lib/configuration/from_file.d.ts +2 -2
- package/lib/configuration/from_file.js +6 -6
- package/lib/configuration/helpers.js +1 -1
- package/lib/configuration/index.js +1 -1
- package/lib/configuration/locate_file.js +3 -3
- package/lib/configuration/merge_configurations.d.ts +1 -1
- package/lib/configuration/merge_configurations.js +2 -10
- package/lib/configuration/parse_configuration.d.ts +2 -2
- package/lib/configuration/parse_configuration.js +3 -11
- package/lib/configuration/split_format_descriptor.d.ts +1 -2
- package/lib/configuration/split_format_descriptor.js +11 -71
- package/lib/configuration/types.d.ts +26 -3
- package/lib/configuration/types.js +1 -1
- package/lib/configuration/validate_configuration.d.ts +2 -2
- package/lib/configuration/validate_configuration.js +5 -3
- package/lib/environment/console_logger.d.ts +2 -2
- package/lib/environment/console_logger.js +1 -1
- package/lib/environment/index.js +1 -1
- package/lib/environment/make_environment.d.ts +1 -1
- package/lib/environment/make_environment.js +1 -1
- package/lib/environment/types.d.ts +1 -1
- package/lib/environment/types.js +1 -1
- package/lib/filter/filter_plugin.d.ts +1 -1
- package/lib/filter/filter_plugin.js +1 -1
- package/lib/filter/index.d.ts +1 -1
- package/lib/filter/index.js +2 -2
- package/lib/filter/order_pickles.d.ts +2 -2
- package/lib/filter/order_pickles.js +1 -1
- package/lib/filter/types.d.ts +1 -1
- package/lib/filter/types.js +1 -1
- package/lib/filter_stack_trace.d.ts +1 -1
- package/lib/filter_stack_trace.js +1 -1
- package/lib/formatter/builder.d.ts +7 -6
- package/lib/formatter/builder.js +6 -7
- package/lib/formatter/builtin/html.js +2 -2
- package/lib/formatter/builtin/index.d.ts +4 -4
- package/lib/formatter/builtin/index.js +14 -13
- package/lib/formatter/builtin/message.js +2 -2
- package/lib/formatter/builtin/pretty.d.ts +6 -0
- package/lib/formatter/builtin/pretty.js +19 -0
- package/lib/formatter/builtin/progress-bar.d.ts +6 -0
- package/lib/formatter/builtin/progress-bar.js +22 -0
- package/lib/formatter/builtin/progress.d.ts +6 -0
- package/lib/formatter/builtin/progress.js +18 -0
- package/lib/formatter/builtin/resolve_terminal_options.d.ts +3 -0
- package/lib/formatter/builtin/resolve_terminal_options.js +15 -0
- package/lib/formatter/builtin/summary.d.ts +6 -0
- package/lib/formatter/builtin/summary.js +15 -0
- package/lib/formatter/create_stream.d.ts +2 -2
- package/lib/formatter/create_stream.js +3 -5
- package/lib/formatter/find_class_or_plugin.js +1 -1
- package/lib/formatter/get_color_fns.d.ts +3 -3
- package/lib/formatter/get_color_fns.js +23 -52
- package/lib/formatter/helpers/duration_helpers.d.ts +1 -1
- package/lib/formatter/helpers/duration_helpers.js +1 -1
- package/lib/formatter/helpers/event_data_collector.d.ts +2 -2
- package/lib/formatter/helpers/event_data_collector.js +4 -6
- package/lib/formatter/helpers/formatters.d.ts +1 -1
- package/lib/formatter/helpers/formatters.js +1 -3
- package/lib/formatter/helpers/gherkin_document_parser.d.ts +1 -1
- package/lib/formatter/helpers/gherkin_document_parser.js +20 -18
- package/lib/formatter/helpers/index.d.ts +3 -3
- package/lib/formatter/helpers/index.js +8 -8
- package/lib/formatter/helpers/issue_helpers.d.ts +5 -5
- package/lib/formatter/helpers/issue_helpers.js +2 -2
- package/lib/formatter/helpers/keyword_type.js +2 -2
- package/lib/formatter/helpers/location_helpers.d.ts +1 -1
- package/lib/formatter/helpers/location_helpers.js +1 -1
- package/lib/formatter/helpers/pickle_parser.d.ts +2 -2
- package/lib/formatter/helpers/pickle_parser.js +8 -9
- package/lib/formatter/helpers/step_argument_formatter.d.ts +1 -1
- package/lib/formatter/helpers/step_argument_formatter.js +1 -1
- package/lib/formatter/helpers/summary_helpers.d.ts +2 -2
- package/lib/formatter/helpers/summary_helpers.js +8 -4
- package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +4 -4
- package/lib/formatter/helpers/test_case_attempt_formatter.js +5 -5
- package/lib/formatter/helpers/test_case_attempt_parser.d.ts +4 -4
- package/lib/formatter/helpers/test_case_attempt_parser.js +4 -9
- package/lib/formatter/helpers/usage_helpers/index.d.ts +3 -3
- package/lib/formatter/helpers/usage_helpers/index.js +5 -6
- package/lib/formatter/import_code.js +2 -2
- package/lib/formatter/index.d.ts +25 -13
- package/lib/formatter/index.js +2 -2
- package/lib/formatter/json_formatter.d.ts +2 -2
- package/lib/formatter/json_formatter.js +9 -14
- package/lib/formatter/progress_formatter.d.ts +4 -1
- package/lib/formatter/progress_formatter.js +4 -1
- package/lib/formatter/rerun_formatter.d.ts +1 -1
- package/lib/formatter/rerun_formatter.js +2 -2
- package/lib/formatter/resolve_implementation.d.ts +1 -1
- package/lib/formatter/resolve_implementation.js +2 -2
- package/lib/formatter/snippets_formatter.d.ts +1 -1
- package/lib/formatter/snippets_formatter.js +2 -2
- package/lib/formatter/step_definition_snippet_builder/index.d.ts +4 -4
- package/lib/formatter/step_definition_snippet_builder/index.js +3 -3
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +1 -1
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +3 -5
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +1 -1
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +1 -1
- package/lib/formatter/summary_formatter.d.ts +6 -3
- package/lib/formatter/summary_formatter.js +6 -3
- package/lib/formatter/usage_formatter.d.ts +1 -1
- package/lib/formatter/usage_formatter.js +4 -4
- package/lib/formatter/usage_json_formatter.d.ts +1 -1
- package/lib/formatter/usage_json_formatter.js +3 -3
- package/lib/index.d.ts +6 -11
- package/lib/index.js +13 -20
- package/lib/models/data_table.d.ts +1 -1
- package/lib/models/data_table.js +9 -5
- package/lib/models/definition.d.ts +4 -4
- package/lib/models/definition.js +1 -1
- package/lib/models/gherkin_step_keyword.js +1 -1
- package/lib/models/step_definition.d.ts +3 -3
- package/lib/models/step_definition.js +1 -1
- package/lib/models/test_case_hook_definition.d.ts +2 -2
- package/lib/models/test_case_hook_definition.js +1 -1
- package/lib/models/test_run_hook_definition.d.ts +1 -1
- package/lib/models/test_run_hook_definition.js +1 -1
- package/lib/models/test_step_hook_definition.d.ts +2 -2
- package/lib/models/test_step_hook_definition.js +1 -1
- package/lib/paths/index.js +1 -1
- package/lib/paths/paths.d.ts +3 -3
- package/lib/paths/paths.js +42 -18
- package/lib/paths/types.js +1 -1
- package/lib/pickle_filter.d.ts +1 -1
- package/lib/pickle_filter.js +3 -3
- package/lib/plugin/index.d.ts +1 -1
- package/lib/plugin/index.js +2 -2
- package/lib/plugin/plugin_manager.d.ts +2 -2
- package/lib/plugin/plugin_manager.js +1 -1
- package/lib/plugin/types.d.ts +59 -9
- package/lib/plugin/types.js +1 -1
- package/lib/publish/index.js +1 -1
- package/lib/publish/publish_plugin.d.ts +1 -1
- package/lib/publish/publish_plugin.js +14 -15
- package/lib/publish/types.js +1 -1
- package/lib/runtime/attachment_manager/index.d.ts +1 -1
- package/lib/runtime/attachment_manager/index.js +3 -6
- package/lib/runtime/coordinator.d.ts +13 -6
- package/lib/runtime/coordinator.js +26 -18
- package/lib/runtime/format_error.d.ts +1 -1
- package/lib/runtime/format_error.js +43 -15
- package/lib/runtime/helpers.d.ts +2 -2
- package/lib/runtime/helpers.js +2 -2
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/make_runtime.d.ts +10 -9
- package/lib/runtime/make_runtime.js +4 -5
- package/lib/runtime/make_suggestion.d.ts +2 -2
- package/lib/runtime/make_suggestion.js +1 -1
- package/lib/runtime/parallel/adapter.d.ts +27 -39
- package/lib/runtime/parallel/adapter.js +124 -122
- package/lib/runtime/parallel/test_cases_phase.d.ts +19 -0
- package/lib/runtime/parallel/test_cases_phase.js +63 -0
- package/lib/runtime/parallel/test_run_hooks_phase.d.ts +11 -0
- package/lib/runtime/parallel/test_run_hooks_phase.js +33 -0
- package/lib/runtime/parallel/types.d.ts +38 -22
- package/lib/runtime/parallel/types.js +1 -1
- package/lib/runtime/parallel/worker.mjs +65 -0
- package/lib/runtime/scope/index.js +1 -1
- package/lib/runtime/scope/make_proxy.js +1 -1
- package/lib/runtime/scope/test_case_scope.d.ts +1 -1
- package/lib/runtime/scope/test_case_scope.js +1 -1
- package/lib/runtime/scope/test_run_scope.d.ts +1 -1
- package/lib/runtime/scope/test_run_scope.js +1 -1
- package/lib/runtime/serial/adapter.d.ts +15 -9
- package/lib/runtime/serial/adapter.js +21 -9
- package/lib/runtime/step_runner.d.ts +2 -2
- package/lib/runtime/step_runner.js +2 -2
- package/lib/runtime/stopwatch.d.ts +1 -1
- package/lib/runtime/stopwatch.js +1 -1
- package/lib/runtime/test_case_runner.d.ts +10 -9
- package/lib/runtime/test_case_runner.js +20 -12
- package/lib/runtime/types.d.ts +7 -3
- package/lib/runtime/types.js +1 -1
- package/lib/runtime/worker.d.ts +14 -13
- package/lib/runtime/worker.js +26 -44
- package/lib/sharding/index.js +1 -1
- package/lib/sharding/sharding_plugin.d.ts +1 -1
- package/lib/sharding/sharding_plugin.js +1 -1
- package/lib/step_arguments.d.ts +1 -1
- package/lib/step_arguments.js +1 -1
- package/lib/support_code_library_builder/build_parameter_type.d.ts +1 -1
- package/lib/support_code_library_builder/build_parameter_type.js +5 -3
- package/lib/support_code_library_builder/context.js +1 -1
- package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +1 -1
- package/lib/support_code_library_builder/get_definition_line_and_uri.js +1 -1
- package/lib/support_code_library_builder/index.d.ts +7 -7
- package/lib/support_code_library_builder/index.js +9 -9
- package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +1 -1
- package/lib/support_code_library_builder/parallel_can_assign_helpers.js +3 -4
- package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +2 -2
- package/lib/support_code_library_builder/sourced_parameter_type_registry.js +1 -1
- package/lib/support_code_library_builder/types.d.ts +8 -8
- package/lib/support_code_library_builder/types.js +1 -1
- package/lib/support_code_library_builder/validate_arguments.d.ts +1 -1
- package/lib/support_code_library_builder/validate_arguments.js +1 -1
- package/lib/support_code_library_builder/world.d.ts +2 -2
- package/lib/support_code_library_builder/world.js +2 -2
- package/lib/time.js +2 -2
- package/lib/try_require.js +3 -2
- package/lib/types/index.js +1 -1
- package/lib/uncaught_exception_manager.js +1 -1
- package/lib/user_code_runner.d.ts +1 -1
- package/lib/user_code_runner.js +3 -3
- package/lib/value_checker.js +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +2 -2
- package/lib/wrapper.mjs +1 -5
- package/package.json +40 -63
- package/lib/api/convert_configuration.js.map +0 -1
- package/lib/api/emit_support_code_messages.js.map +0 -1
- package/lib/api/formatters.js.map +0 -1
- package/lib/api/gherkin.js.map +0 -1
- package/lib/api/index.js.map +0 -1
- package/lib/api/load_configuration.js.map +0 -1
- package/lib/api/load_sources.js.map +0 -1
- package/lib/api/load_support.js.map +0 -1
- package/lib/api/plugins.js.map +0 -1
- package/lib/api/run_cucumber.js.map +0 -1
- package/lib/api/support.js.map +0 -1
- package/lib/api/test_helpers.js.map +0 -1
- package/lib/api/types.js.map +0 -1
- package/lib/assemble/assemble_test_cases.js.map +0 -1
- package/lib/assemble/index.js.map +0 -1
- package/lib/assemble/types.js.map +0 -1
- package/lib/cli/i18n.js.map +0 -1
- package/lib/cli/index.js.map +0 -1
- package/lib/cli/install_validator.js.map +0 -1
- package/lib/cli/run.js.map +0 -1
- package/lib/cli/validate_node_engine_version.js.map +0 -1
- package/lib/configuration/argv_parser.js.map +0 -1
- package/lib/configuration/check_schema.js.map +0 -1
- package/lib/configuration/default_configuration.js.map +0 -1
- package/lib/configuration/from_file.js.map +0 -1
- package/lib/configuration/helpers.js.map +0 -1
- package/lib/configuration/index.js.map +0 -1
- package/lib/configuration/locate_file.js.map +0 -1
- package/lib/configuration/merge_configurations.js.map +0 -1
- package/lib/configuration/parse_configuration.js.map +0 -1
- package/lib/configuration/split_format_descriptor.js.map +0 -1
- package/lib/configuration/types.js.map +0 -1
- package/lib/configuration/validate_configuration.js.map +0 -1
- package/lib/environment/console_logger.js.map +0 -1
- package/lib/environment/index.js.map +0 -1
- package/lib/environment/make_environment.js.map +0 -1
- package/lib/environment/types.js.map +0 -1
- package/lib/filter/filter_plugin.js.map +0 -1
- package/lib/filter/index.js.map +0 -1
- package/lib/filter/order_pickles.js.map +0 -1
- package/lib/filter/types.js.map +0 -1
- package/lib/filter_stack_trace.js.map +0 -1
- package/lib/formatter/builder.js.map +0 -1
- package/lib/formatter/builtin/html.js.map +0 -1
- package/lib/formatter/builtin/index.js.map +0 -1
- package/lib/formatter/builtin/message.js.map +0 -1
- package/lib/formatter/create_stream.js.map +0 -1
- package/lib/formatter/find_class_or_plugin.js.map +0 -1
- package/lib/formatter/get_color_fns.js.map +0 -1
- package/lib/formatter/helpers/duration_helpers.js.map +0 -1
- package/lib/formatter/helpers/event_data_collector.js.map +0 -1
- package/lib/formatter/helpers/formatters.js.map +0 -1
- package/lib/formatter/helpers/gherkin_document_parser.js.map +0 -1
- package/lib/formatter/helpers/index.js.map +0 -1
- package/lib/formatter/helpers/issue_helpers.js.map +0 -1
- package/lib/formatter/helpers/keyword_type.js.map +0 -1
- package/lib/formatter/helpers/location_helpers.js.map +0 -1
- package/lib/formatter/helpers/pickle_parser.js.map +0 -1
- package/lib/formatter/helpers/step_argument_formatter.js.map +0 -1
- package/lib/formatter/helpers/summary_helpers.js.map +0 -1
- package/lib/formatter/helpers/test_case_attempt_formatter.js.map +0 -1
- package/lib/formatter/helpers/test_case_attempt_parser.js.map +0 -1
- package/lib/formatter/helpers/usage_helpers/index.js.map +0 -1
- package/lib/formatter/import_code.js.map +0 -1
- package/lib/formatter/index.js.map +0 -1
- package/lib/formatter/json_formatter.js.map +0 -1
- package/lib/formatter/progress_bar_formatter.d.ts +0 -18
- package/lib/formatter/progress_bar_formatter.js +0 -103
- package/lib/formatter/progress_bar_formatter.js.map +0 -1
- package/lib/formatter/progress_formatter.js.map +0 -1
- package/lib/formatter/rerun_formatter.js.map +0 -1
- package/lib/formatter/resolve_implementation.js.map +0 -1
- package/lib/formatter/snippets_formatter.js.map +0 -1
- package/lib/formatter/step_definition_snippet_builder/index.js.map +0 -1
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js.map +0 -1
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js.map +0 -1
- package/lib/formatter/summary_formatter.js.map +0 -1
- package/lib/formatter/usage_formatter.js.map +0 -1
- package/lib/formatter/usage_json_formatter.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/models/data_table.js.map +0 -1
- package/lib/models/definition.js.map +0 -1
- package/lib/models/gherkin_step_keyword.js.map +0 -1
- package/lib/models/step_definition.js.map +0 -1
- package/lib/models/test_case_hook_definition.js.map +0 -1
- package/lib/models/test_run_hook_definition.js.map +0 -1
- package/lib/models/test_step_hook_definition.js.map +0 -1
- package/lib/paths/index.js.map +0 -1
- package/lib/paths/paths.js.map +0 -1
- package/lib/paths/types.js.map +0 -1
- package/lib/pickle_filter.js.map +0 -1
- package/lib/plugin/index.js.map +0 -1
- package/lib/plugin/plugin_manager.js.map +0 -1
- package/lib/plugin/types.js.map +0 -1
- package/lib/publish/index.js.map +0 -1
- package/lib/publish/publish_plugin.js.map +0 -1
- package/lib/publish/types.js.map +0 -1
- package/lib/runtime/attachment_manager/index.js.map +0 -1
- package/lib/runtime/coordinator.js.map +0 -1
- package/lib/runtime/format_error.js.map +0 -1
- package/lib/runtime/helpers.js.map +0 -1
- package/lib/runtime/index.js.map +0 -1
- package/lib/runtime/make_runtime.js.map +0 -1
- package/lib/runtime/make_suggestion.js.map +0 -1
- package/lib/runtime/parallel/adapter.js.map +0 -1
- package/lib/runtime/parallel/run_worker.js +0 -25
- package/lib/runtime/parallel/run_worker.js.map +0 -1
- package/lib/runtime/parallel/types.js.map +0 -1
- package/lib/runtime/parallel/worker.d.ts +0 -25
- package/lib/runtime/parallel/worker.js +0 -83
- package/lib/runtime/parallel/worker.js.map +0 -1
- package/lib/runtime/scope/index.js.map +0 -1
- package/lib/runtime/scope/make_proxy.js.map +0 -1
- package/lib/runtime/scope/test_case_scope.js.map +0 -1
- package/lib/runtime/scope/test_run_scope.js.map +0 -1
- package/lib/runtime/serial/adapter.js.map +0 -1
- package/lib/runtime/step_runner.js.map +0 -1
- package/lib/runtime/stopwatch.js.map +0 -1
- package/lib/runtime/test_case_runner.js.map +0 -1
- package/lib/runtime/types.js.map +0 -1
- package/lib/runtime/worker.js.map +0 -1
- package/lib/sharding/index.js.map +0 -1
- package/lib/sharding/sharding_plugin.js.map +0 -1
- package/lib/step_arguments.js.map +0 -1
- package/lib/support_code_library_builder/build_parameter_type.js.map +0 -1
- package/lib/support_code_library_builder/context.js.map +0 -1
- package/lib/support_code_library_builder/get_definition_line_and_uri.js.map +0 -1
- package/lib/support_code_library_builder/index.js.map +0 -1
- package/lib/support_code_library_builder/parallel_can_assign_helpers.js.map +0 -1
- package/lib/support_code_library_builder/sourced_parameter_type_registry.js.map +0 -1
- package/lib/support_code_library_builder/types.js.map +0 -1
- package/lib/support_code_library_builder/validate_arguments.js.map +0 -1
- package/lib/support_code_library_builder/world.js.map +0 -1
- package/lib/time.js.map +0 -1
- package/lib/try_require.js.map +0 -1
- package/lib/tsconfig.node.tsbuildinfo +0 -1
- package/lib/types/index.js.map +0 -1
- package/lib/uncaught_exception_manager.js.map +0 -1
- package/lib/user_code_runner.js.map +0 -1
- package/lib/value_checker.js.map +0 -1
- package/lib/version.js.map +0 -1
- /package/lib/runtime/parallel/{run_worker.d.ts → worker.d.mts} +0 -0
package/lib/plugin/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Writable } from 'node:stream';
|
|
2
|
-
import { Envelope } from '@cucumber/messages';
|
|
3
|
-
import { ILogger } from '../environment';
|
|
4
|
-
import { IFilterablePickle } from '../filter';
|
|
5
|
-
import { IResolvedPaths } from '../paths';
|
|
1
|
+
import type { Writable } from 'node:stream';
|
|
2
|
+
import type { Envelope } from '@cucumber/messages';
|
|
3
|
+
import type { ILogger } from '../environment';
|
|
4
|
+
import type { IFilterablePickle } from '../filter';
|
|
5
|
+
import type { IResolvedPaths } from '../paths';
|
|
6
6
|
/**
|
|
7
7
|
* The operation Cucumber is doing in this process
|
|
8
8
|
* @public
|
|
@@ -92,10 +92,14 @@ export type CoordinatorContext<OptionsType> = {
|
|
|
92
92
|
transform: <EventKey extends CoordinatorTransformKey>(event: EventKey, handler: CoordinatorTransformer<EventKey>) => void;
|
|
93
93
|
/**
|
|
94
94
|
* Options for the plugin
|
|
95
|
+
* @remarks
|
|
96
|
+
* If the plugin definition provides an `optionsKey`, this value will be
|
|
97
|
+
* from that key in the global options object. Otherwise, it will be the
|
|
98
|
+
* entire global options object.
|
|
95
99
|
*/
|
|
96
100
|
options: OptionsType;
|
|
97
101
|
/**
|
|
98
|
-
* Logger for emitting user-facing messages or diagnostics
|
|
102
|
+
* Logger for emitting user-facing messages or diagnostics; goes to `stderr`
|
|
99
103
|
*/
|
|
100
104
|
logger: ILogger;
|
|
101
105
|
/**
|
|
@@ -118,7 +122,7 @@ export type Plugin<OptionsType = any> = {
|
|
|
118
122
|
* Coordinator function called during initialization
|
|
119
123
|
* @remarks
|
|
120
124
|
* Can do async work, and the Promise will be awaited. Can optionally return
|
|
121
|
-
* a cleanup function to be called when
|
|
125
|
+
* a cleanup function to be called when the operation has finished.
|
|
122
126
|
*/
|
|
123
127
|
coordinator: (context: CoordinatorContext<OptionsType>) => PromiseLike<PluginCleanup | void> | PluginCleanup | void;
|
|
124
128
|
/**
|
|
@@ -141,17 +145,63 @@ export type InternalPlugin<OptionsType = any> = {
|
|
|
141
145
|
type: 'plugin';
|
|
142
146
|
coordinator: (context: InternalCoordinatorContext<OptionsType>) => PromiseLike<PluginCleanup | void> | PluginCleanup | void;
|
|
143
147
|
};
|
|
148
|
+
/**
|
|
149
|
+
* Context object passed to a formatter plugin's function
|
|
150
|
+
* @public
|
|
151
|
+
*/
|
|
144
152
|
export type FormatterPluginContext<OptionsType> = {
|
|
153
|
+
/**
|
|
154
|
+
* Register a handler for Cucumber Messages
|
|
155
|
+
*/
|
|
145
156
|
on: (key: 'message', handler: (value: Envelope) => void) => void;
|
|
157
|
+
/**
|
|
158
|
+
* Options for the formatter
|
|
159
|
+
* @remarks
|
|
160
|
+
* If the plugin definition provides an `optionsKey`, this value will be
|
|
161
|
+
* from that key in the global options object. Otherwise, it will be the
|
|
162
|
+
* entire global options object.
|
|
163
|
+
*/
|
|
146
164
|
options: OptionsType;
|
|
165
|
+
/**
|
|
166
|
+
* Logger for emitting user-facing messages or diagnostics; goes to `stderr`
|
|
167
|
+
*/
|
|
147
168
|
logger: ILogger;
|
|
169
|
+
/**
|
|
170
|
+
* The writable stream the output is being written to
|
|
171
|
+
* @remarks
|
|
172
|
+
* Ideally you should use this only for feature detection and/or advanced
|
|
173
|
+
* TTY functionality; for just writing output, use `write`
|
|
174
|
+
*/
|
|
148
175
|
stream: NodeJS.WritableStream;
|
|
176
|
+
/**
|
|
177
|
+
* Fire-and-forget function to write data to the output stream
|
|
178
|
+
*/
|
|
149
179
|
write: (buffer: string | Uint8Array) => void;
|
|
180
|
+
/**
|
|
181
|
+
* The directory containing the target file, if the output stream is for a
|
|
182
|
+
* file
|
|
183
|
+
* @remarks
|
|
184
|
+
* This can be used to write additional files as siblings to the output file,
|
|
185
|
+
* but this should be for exceptional cases; we recommend keeping formatter
|
|
186
|
+
* output self-contained as much as possible.
|
|
187
|
+
*/
|
|
150
188
|
directory?: string;
|
|
151
189
|
};
|
|
152
|
-
|
|
190
|
+
/**
|
|
191
|
+
* A plugin that consumes Cucumber Messages and writes formatted output to a stream
|
|
192
|
+
* @public
|
|
193
|
+
*/
|
|
153
194
|
export type FormatterPlugin<OptionsType = any> = {
|
|
154
195
|
type: 'formatter';
|
|
155
|
-
|
|
196
|
+
/**
|
|
197
|
+
* Coordinator function called during initialization
|
|
198
|
+
* @remarks
|
|
199
|
+
* Can do async work, and the Promise will be awaited. Can optionally return
|
|
200
|
+
* a cleanup function to be called before the stream is finished.
|
|
201
|
+
*/
|
|
202
|
+
formatter: (context: FormatterPluginContext<OptionsType>) => PromiseLike<PluginCleanup | void> | PluginCleanup | void;
|
|
203
|
+
/**
|
|
204
|
+
* Optional key to extract plugin-specific options from the format options object
|
|
205
|
+
*/
|
|
156
206
|
optionsKey?: string;
|
|
157
207
|
};
|
package/lib/plugin/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGx1Z2luL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdyaXRhYmxlIH0gZnJvbSAnbm9kZTpzdHJlYW0nXG5pbXBvcnQgdHlwZSB7IEVudmVsb3BlIH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHR5cGUgeyBJTG9nZ2VyIH0gZnJvbSAnLi4vZW52aXJvbm1lbnQnXG5pbXBvcnQgdHlwZSB7IElGaWx0ZXJhYmxlUGlja2xlIH0gZnJvbSAnLi4vZmlsdGVyJ1xuaW1wb3J0IHR5cGUgeyBJUmVzb2x2ZWRQYXRocyB9IGZyb20gJy4uL3BhdGhzJ1xuXG4vKipcbiAqIFRoZSBvcGVyYXRpb24gQ3VjdW1iZXIgaXMgZG9pbmcgaW4gdGhpcyBwcm9jZXNzXG4gKiBAcHVibGljXG4gKiBAcmVtYXJrc1xuICogYGxvYWRTb3VyY2VzYCBhbmQgYGxvYWRTdXBwb3J0YCBhcmUgZ2VuZXJhbGx5IHVzZWQgYXMgcHJlZmxpZ2h0IG9wZXJhdGlvbnNcbiAqIGZvciBjb21wbGV4IHVzZSBjYXNlcy4gYHJ1bkN1Y3VtYmVyYCBpcyB0aGUgb25lIHdoZXJlIHRlc3RzIGFyZSBhY3R1YWxseVxuICogZXhlY3V0ZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFBsdWdpbk9wZXJhdGlvbiA9ICdsb2FkU291cmNlcycgfCAnbG9hZFN1cHBvcnQnIHwgJ3J1bkN1Y3VtYmVyJ1xuXG4vKipcbiAqIFN1YnNldCBvZiB0aGUgZW52aXJvbm1lbnQgYXZhaWxhYmxlIHRvIHBsdWdpbnNcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgQ29vcmRpbmF0b3JFbnZpcm9ubWVudCA9IHtcbiAgLyoqXG4gICAqIFdvcmtpbmcgZGlyZWN0b3J5IGZvciB0aGUgcHJvamVjdFxuICAgKi9cbiAgY3dkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFdyaXRhYmxlIHN0cmVhbSB3aGVyZSB0aGUgdGVzdCBydW4ncyB3YXJuaW5nL2Vycm9yIG91dHB1dCBpcyB3cml0dGVuXG4gICAqIGFuZCBwbHVnaW5zIGNhbiB3cml0ZSB0byBkaXJlY3RseSBpZiByZXF1aXJlZFxuICAgKi9cbiAgc3RkZXJyOiBXcml0YWJsZVxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGVzXG4gICAqL1xuICBlbnY6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD5cbn1cblxuLyoqXG4gKiBLZXlzIGZvciBldmVudCBoYW5kbGVycyB0aGF0IHBsdWdpbnMgY2FuIHJlZ2lzdGVyXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIENvb3JkaW5hdG9yRXZlbnRLZXkgPSAnbWVzc2FnZScgfCAncGF0aHM6cmVzb2x2ZScgfCAncHVibGlzaDp1cmwnXG5cbi8qKlxuICogS2V5cyBmb3IgdHJhbnNmb3JtcyB0aGF0IHBsdWdpbnMgY2FuIHJlZ2lzdGVyXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIENvb3JkaW5hdG9yVHJhbnNmb3JtS2V5ID0gJ3BpY2tsZXM6ZmlsdGVyJyB8ICdwaWNrbGVzOm9yZGVyJ1xuXG4vKipcbiAqIE1hcHBpbmcgb2YgZXZlbnQga2V5cyB0byB0aGVpciB2YWx1ZSB0eXBlc1xuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBDb29yZGluYXRvckV2ZW50VmFsdWVzID0ge1xuICBtZXNzYWdlOiBSZWFkb25seTxFbnZlbG9wZT5cbiAgJ3BhdGhzOnJlc29sdmUnOiBSZWFkb25seTxJUmVzb2x2ZWRQYXRocz5cbiAgJ3B1Ymxpc2g6dXJsJzogc3RyaW5nXG59XG5cbi8qKlxuICogTWFwcGluZyBvZiB0cmFuc2Zvcm0ga2V5cyB0byB0aGVpciB2YWx1ZSB0eXBlc1xuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBDb29yZGluYXRvclRyYW5zZm9ybVZhbHVlcyA9IHtcbiAgJ3BpY2tsZXM6ZmlsdGVyJzogUmVhZG9ubHk8QXJyYXk8SUZpbHRlcmFibGVQaWNrbGU+PlxuICAncGlja2xlczpvcmRlcic6IFJlYWRvbmx5PEFycmF5PElGaWx0ZXJhYmxlUGlja2xlPj5cbn1cblxuLyoqXG4gKiBIYW5kbGVyIGZ1bmN0aW9uIGZvciBhIGNvb3JkaW5hdG9yIGV2ZW50XG4gKiBAcHVibGljXG4gKiBAcmVtYXJrc1xuICogWW91IGNhbiBkbyBhc3luYyB3b3JrIGhlcmUsIGJ1dCBDdWN1bWJlciB3aWxsIG5vdCBhd2FpdCB0aGUgUHJvbWlzZS5cbiAqL1xuZXhwb3J0IHR5cGUgQ29vcmRpbmF0b3JFdmVudEhhbmRsZXI8SyBleHRlbmRzIENvb3JkaW5hdG9yRXZlbnRLZXk+ID0gKFxuICB2YWx1ZTogQ29vcmRpbmF0b3JFdmVudFZhbHVlc1tLXVxuKSA9PiB2b2lkXG5cbi8qKlxuICogVHJhbnNmb3JtZXIgZnVuY3Rpb24gZm9yIGEgY29vcmRpbmF0b3IgdHJhbnNmb3JtXG4gKiBAcmVtYXJrc1xuICogRG9uJ3QgdHJ5IHRvIG1vZGlmeSB0aGUgb3JpZ2luYWwgdmFsdWUuIFJldHVybiBhIHRyYW5zZm9ybWVkIHZhbHVlLCBvclxuICogYHVuZGVmaW5lZGAgdG8gcGFzcyB0aHJvdWdoIHVuY2hhbmdlZC5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgQ29vcmRpbmF0b3JUcmFuc2Zvcm1lcjxLIGV4dGVuZHMgQ29vcmRpbmF0b3JUcmFuc2Zvcm1LZXk+ID0gKFxuICB2YWx1ZTogQ29vcmRpbmF0b3JUcmFuc2Zvcm1WYWx1ZXNbS11cbikgPT4gUHJvbWlzZUxpa2U8Q29vcmRpbmF0b3JUcmFuc2Zvcm1WYWx1ZXNbS10+IHwgQ29vcmRpbmF0b3JUcmFuc2Zvcm1WYWx1ZXNbS11cblxuLyoqXG4gKiBDb250ZXh0IG9iamVjdCBwYXNzZWQgdG8gYSBwbHVnaW4ncyBjb29yZGluYXRvciBmdW5jdGlvblxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBDb29yZGluYXRvckNvbnRleHQ8T3B0aW9uc1R5cGU+ID0ge1xuICAvKipcbiAgICogVGhlIG9wZXJhdGlvbiBDdWN1bWJlciBpcyBkb2luZyBpbiB0aGlzIHByb2Nlc3NcbiAgICovXG4gIG9wZXJhdGlvbjogUGx1Z2luT3BlcmF0aW9uXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhbiBldmVudCBoYW5kbGVyXG4gICAqL1xuICBvbjogPEV2ZW50S2V5IGV4dGVuZHMgQ29vcmRpbmF0b3JFdmVudEtleT4oXG4gICAgZXZlbnQ6IEV2ZW50S2V5LFxuICAgIGhhbmRsZXI6IENvb3JkaW5hdG9yRXZlbnRIYW5kbGVyPEV2ZW50S2V5PlxuICApID0+IHZvaWRcbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgdHJhbnNmb3JtZXJcbiAgICovXG4gIHRyYW5zZm9ybTogPEV2ZW50S2V5IGV4dGVuZHMgQ29vcmRpbmF0b3JUcmFuc2Zvcm1LZXk+KFxuICAgIGV2ZW50OiBFdmVudEtleSxcbiAgICBoYW5kbGVyOiBDb29yZGluYXRvclRyYW5zZm9ybWVyPEV2ZW50S2V5PlxuICApID0+IHZvaWRcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHRoZSBwbHVnaW5cbiAgICogQHJlbWFya3NcbiAgICogSWYgdGhlIHBsdWdpbiBkZWZpbml0aW9uIHByb3ZpZGVzIGFuIGBvcHRpb25zS2V5YCwgdGhpcyB2YWx1ZSB3aWxsIGJlXG4gICAqIGZyb20gdGhhdCBrZXkgaW4gdGhlIGdsb2JhbCBvcHRpb25zIG9iamVjdC4gT3RoZXJ3aXNlLCBpdCB3aWxsIGJlIHRoZVxuICAgKiBlbnRpcmUgZ2xvYmFsIG9wdGlvbnMgb2JqZWN0LlxuICAgKi9cbiAgb3B0aW9uczogT3B0aW9uc1R5cGVcbiAgLyoqXG4gICAqIExvZ2dlciBmb3IgZW1pdHRpbmcgdXNlci1mYWNpbmcgbWVzc2FnZXMgb3IgZGlhZ25vc3RpY3M7IGdvZXMgdG8gYHN0ZGVycmBcbiAgICovXG4gIGxvZ2dlcjogSUxvZ2dlclxuICAvKipcbiAgICogU3Vic2V0IG9mIHRoZSBlbnZpcm9ubWVudFxuICAgKi9cbiAgZW52aXJvbm1lbnQ6IENvb3JkaW5hdG9yRW52aXJvbm1lbnRcbn1cblxuLyoqXG4gKiBPcHRpb25hbCBjbGVhbnVwIGZ1bmN0aW9uIHJldHVybmVkIGJ5IGEgcGx1Z2luIGNvb3JkaW5hdG9yXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFBsdWdpbkNsZWFudXAgPSAoKSA9PiBQcm9taXNlTGlrZTx2b2lkPiB8IHZvaWRcblxuLyoqXG4gKiBBIHBsdWdpbiB0aGF0IGNhbiBzdWJzY3JpYmUgdG8gZXZlbnRzIGFuZCByZWdpc3RlciB0cmFuc2Zvcm1zXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFBsdWdpbjxPcHRpb25zVHlwZSA9IGFueT4gPSB7XG4gIHR5cGU6ICdwbHVnaW4nXG4gIC8qKlxuICAgKiBDb29yZGluYXRvciBmdW5jdGlvbiBjYWxsZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uXG4gICAqIEByZW1hcmtzXG4gICAqIENhbiBkbyBhc3luYyB3b3JrLCBhbmQgdGhlIFByb21pc2Ugd2lsbCBiZSBhd2FpdGVkLiBDYW4gb3B0aW9uYWxseSByZXR1cm5cbiAgICogYSBjbGVhbnVwIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRpb24gaGFzIGZpbmlzaGVkLlxuICAgKi9cbiAgY29vcmRpbmF0b3I6IChcbiAgICBjb250ZXh0OiBDb29yZGluYXRvckNvbnRleHQ8T3B0aW9uc1R5cGU+XG4gICkgPT4gUHJvbWlzZUxpa2U8UGx1Z2luQ2xlYW51cCB8IHZvaWQ+IHwgUGx1Z2luQ2xlYW51cCB8IHZvaWRcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGtleSB0byBleHRyYWN0IHBsdWdpbi1zcGVjaWZpYyBvcHRpb25zIGZyb20gdGhlIHJvb3Qgb3B0aW9ucyBvYmplY3RcbiAgICovXG4gIG9wdGlvbnNLZXk/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBDb250ZXh0IG9iamVjdCBwYXNzZWQgdG8gYW4gaW50ZXJuYWwgcGx1Z2luJ3MgY29vcmRpbmF0b3IgZnVuY3Rpb25cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgdHlwZSBJbnRlcm5hbENvb3JkaW5hdG9yQ29udGV4dDxPcHRpb25zVHlwZT4gPSBDb29yZGluYXRvckNvbnRleHQ8T3B0aW9uc1R5cGU+ICYge1xuICBlbWl0OiA8RXZlbnRLZXkgZXh0ZW5kcyBDb29yZGluYXRvckV2ZW50S2V5PihcbiAgICBldmVudDogRXZlbnRLZXksXG4gICAgdmFsdWU6IENvb3JkaW5hdG9yRXZlbnRWYWx1ZXNbRXZlbnRLZXldXG4gICkgPT4gdm9pZFxufVxuXG4vKipcbiAqIEEgYnVpbHQtaW4gcGx1Z2luIHdpdGggdGhlIGFkZGl0aW9uYWwgYWJpbGl0eSB0byBlbWl0IGV2ZW50c1xuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCB0eXBlIEludGVybmFsUGx1Z2luPE9wdGlvbnNUeXBlID0gYW55PiA9IHtcbiAgdHlwZTogJ3BsdWdpbidcbiAgY29vcmRpbmF0b3I6IChcbiAgICBjb250ZXh0OiBJbnRlcm5hbENvb3JkaW5hdG9yQ29udGV4dDxPcHRpb25zVHlwZT5cbiAgKSA9PiBQcm9taXNlTGlrZTxQbHVnaW5DbGVhbnVwIHwgdm9pZD4gfCBQbHVnaW5DbGVhbnVwIHwgdm9pZFxufVxuXG4vKipcbiAqIENvbnRleHQgb2JqZWN0IHBhc3NlZCB0byBhIGZvcm1hdHRlciBwbHVnaW4ncyBmdW5jdGlvblxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBGb3JtYXR0ZXJQbHVnaW5Db250ZXh0PE9wdGlvbnNUeXBlPiA9IHtcbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgaGFuZGxlciBmb3IgQ3VjdW1iZXIgTWVzc2FnZXNcbiAgICovXG4gIG9uOiAoa2V5OiAnbWVzc2FnZScsIGhhbmRsZXI6ICh2YWx1ZTogRW52ZWxvcGUpID0+IHZvaWQpID0+IHZvaWRcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHRoZSBmb3JtYXR0ZXJcbiAgICogQHJlbWFya3NcbiAgICogSWYgdGhlIHBsdWdpbiBkZWZpbml0aW9uIHByb3ZpZGVzIGFuIGBvcHRpb25zS2V5YCwgdGhpcyB2YWx1ZSB3aWxsIGJlXG4gICAqIGZyb20gdGhhdCBrZXkgaW4gdGhlIGdsb2JhbCBvcHRpb25zIG9iamVjdC4gT3RoZXJ3aXNlLCBpdCB3aWxsIGJlIHRoZVxuICAgKiBlbnRpcmUgZ2xvYmFsIG9wdGlvbnMgb2JqZWN0LlxuICAgKi9cbiAgb3B0aW9uczogT3B0aW9uc1R5cGVcbiAgLyoqXG4gICAqIExvZ2dlciBmb3IgZW1pdHRpbmcgdXNlci1mYWNpbmcgbWVzc2FnZXMgb3IgZGlhZ25vc3RpY3M7IGdvZXMgdG8gYHN0ZGVycmBcbiAgICovXG4gIGxvZ2dlcjogSUxvZ2dlclxuICAvKipcbiAgICogVGhlIHdyaXRhYmxlIHN0cmVhbSB0aGUgb3V0cHV0IGlzIGJlaW5nIHdyaXR0ZW4gdG9cbiAgICogQHJlbWFya3NcbiAgICogSWRlYWxseSB5b3Ugc2hvdWxkIHVzZSB0aGlzIG9ubHkgZm9yIGZlYXR1cmUgZGV0ZWN0aW9uIGFuZC9vciBhZHZhbmNlZFxuICAgKiBUVFkgZnVuY3Rpb25hbGl0eTsgZm9yIGp1c3Qgd3JpdGluZyBvdXRwdXQsIHVzZSBgd3JpdGVgXG4gICAqL1xuICBzdHJlYW06IE5vZGVKUy5Xcml0YWJsZVN0cmVhbVxuICAvKipcbiAgICogRmlyZS1hbmQtZm9yZ2V0IGZ1bmN0aW9uIHRvIHdyaXRlIGRhdGEgdG8gdGhlIG91dHB1dCBzdHJlYW1cbiAgICovXG4gIHdyaXRlOiAoYnVmZmVyOiBzdHJpbmcgfCBVaW50OEFycmF5KSA9PiB2b2lkXG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHRhcmdldCBmaWxlLCBpZiB0aGUgb3V0cHV0IHN0cmVhbSBpcyBmb3IgYVxuICAgKiBmaWxlXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gd3JpdGUgYWRkaXRpb25hbCBmaWxlcyBhcyBzaWJsaW5ncyB0byB0aGUgb3V0cHV0IGZpbGUsXG4gICAqIGJ1dCB0aGlzIHNob3VsZCBiZSBmb3IgZXhjZXB0aW9uYWwgY2FzZXM7IHdlIHJlY29tbWVuZCBrZWVwaW5nIGZvcm1hdHRlclxuICAgKiBvdXRwdXQgc2VsZi1jb250YWluZWQgYXMgbXVjaCBhcyBwb3NzaWJsZS5cbiAgICovXG4gIGRpcmVjdG9yeT86IHN0cmluZ1xufVxuXG4vKipcbiAqIEEgcGx1Z2luIHRoYXQgY29uc3VtZXMgQ3VjdW1iZXIgTWVzc2FnZXMgYW5kIHdyaXRlcyBmb3JtYXR0ZWQgb3V0cHV0IHRvIGEgc3RyZWFtXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIEZvcm1hdHRlclBsdWdpbjxPcHRpb25zVHlwZSA9IGFueT4gPSB7XG4gIHR5cGU6ICdmb3JtYXR0ZXInXG4gIC8qKlxuICAgKiBDb29yZGluYXRvciBmdW5jdGlvbiBjYWxsZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uXG4gICAqIEByZW1hcmtzXG4gICAqIENhbiBkbyBhc3luYyB3b3JrLCBhbmQgdGhlIFByb21pc2Ugd2lsbCBiZSBhd2FpdGVkLiBDYW4gb3B0aW9uYWxseSByZXR1cm5cbiAgICogYSBjbGVhbnVwIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBiZWZvcmUgdGhlIHN0cmVhbSBpcyBmaW5pc2hlZC5cbiAgICovXG4gIGZvcm1hdHRlcjogKFxuICAgIGNvbnRleHQ6IEZvcm1hdHRlclBsdWdpbkNvbnRleHQ8T3B0aW9uc1R5cGU+XG4gICkgPT4gUHJvbWlzZUxpa2U8UGx1Z2luQ2xlYW51cCB8IHZvaWQ+IHwgUGx1Z2luQ2xlYW51cCB8IHZvaWRcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGtleSB0byBleHRyYWN0IHBsdWdpbi1zcGVjaWZpYyBvcHRpb25zIGZyb20gdGhlIGZvcm1hdCBvcHRpb25zIG9iamVjdFxuICAgKi9cbiAgb3B0aW9uc0tleT86IHN0cmluZ1xufVxuIl19
|
package/lib/publish/index.js
CHANGED
|
@@ -17,4 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
const publish_plugin_1 = require("./publish_plugin");
|
|
18
18
|
exports.default = publish_plugin_1.publishPlugin;
|
|
19
19
|
__exportStar(require("./types"), exports);
|
|
20
|
-
//# sourceMappingURL=
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQWdEO0FBRWhELGtCQUFlLDhCQUFhLENBQUE7QUFDNUIsMENBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHVibGlzaFBsdWdpbiB9IGZyb20gJy4vcHVibGlzaF9wbHVnaW4nXG5cbmV4cG9ydCBkZWZhdWx0IHB1Ymxpc2hQbHVnaW5cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { InternalPlugin } from '../plugin';
|
|
1
|
+
import type { InternalPlugin } from '../plugin';
|
|
2
2
|
export declare const publishPlugin: InternalPlugin;
|
|
@@ -4,15 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.publishPlugin = void 0;
|
|
7
|
-
const promises_1 = require("node:stream/promises");
|
|
8
|
-
const node_util_1 = require("node:util");
|
|
9
|
-
const promises_2 = require("node:fs/promises");
|
|
10
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
11
|
-
const node_os_1 = require("node:os");
|
|
12
7
|
const node_fs_1 = require("node:fs");
|
|
8
|
+
const promises_1 = require("node:fs/promises");
|
|
9
|
+
const node_os_1 = require("node:os");
|
|
10
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
11
|
+
const promises_2 = require("node:stream/promises");
|
|
12
|
+
const node_util_1 = require("node:util");
|
|
13
13
|
const node_zlib_1 = require("node:zlib");
|
|
14
|
-
const supports_color_1 = require("supports-color");
|
|
15
14
|
const has_ansi_1 = __importDefault(require("has-ansi"));
|
|
15
|
+
const supports_color_1 = require("supports-color");
|
|
16
16
|
const DEFAULT_CUCUMBER_PUBLISH_URL = 'https://reports.cucumber.io/api/reports';
|
|
17
17
|
exports.publishPlugin = {
|
|
18
18
|
type: 'plugin',
|
|
@@ -37,23 +37,23 @@ exports.publishPlugin = {
|
|
|
37
37
|
const touchResult = (await touchResponse.json());
|
|
38
38
|
if (!touchResponse.ok) {
|
|
39
39
|
return () => {
|
|
40
|
-
environment.stderr.write(sanitisePublishOutput(touchResult.banner, environment.stderr)
|
|
40
|
+
environment.stderr.write(`${sanitisePublishOutput(touchResult.banner, environment.stderr)}\n`);
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
if (touchResult.url) {
|
|
44
44
|
emit('publish:url', touchResult.url);
|
|
45
45
|
}
|
|
46
46
|
const uploadUrl = touchResponse.headers.get('Location');
|
|
47
|
-
const tempDir = await (0,
|
|
47
|
+
const tempDir = await (0, promises_1.mkdtemp)(node_path_1.default.join((0, node_os_1.tmpdir)(), `cucumber-js-publish-`));
|
|
48
48
|
const tempFilePath = node_path_1.default.join(tempDir, 'envelopes.jsonl.gz');
|
|
49
49
|
const writeStream = (0, node_zlib_1.createGzip)();
|
|
50
|
-
const finishedWriting = (0,
|
|
51
|
-
on('message', (value) => writeStream.write(JSON.stringify(value)
|
|
50
|
+
const finishedWriting = (0, promises_2.pipeline)(writeStream, (0, node_fs_1.createWriteStream)(tempFilePath));
|
|
51
|
+
on('message', (value) => writeStream.write(`${JSON.stringify(value)}\n`));
|
|
52
52
|
return () => {
|
|
53
53
|
return new Promise((resolve) => {
|
|
54
54
|
writeStream.end(async () => {
|
|
55
55
|
await finishedWriting;
|
|
56
|
-
const stats = await (0,
|
|
56
|
+
const stats = await (0, promises_1.stat)(tempFilePath);
|
|
57
57
|
const contentLength = stats.size.toString();
|
|
58
58
|
logger.debug('Uploading envelopes to Cucumber Reports with content length:', contentLength);
|
|
59
59
|
const uploadResponse = await fetch(uploadUrl, {
|
|
@@ -67,8 +67,7 @@ exports.publishPlugin = {
|
|
|
67
67
|
duplex: 'half',
|
|
68
68
|
});
|
|
69
69
|
if (uploadResponse.ok) {
|
|
70
|
-
environment.stderr.write(sanitisePublishOutput(touchResult.banner, environment.stderr)
|
|
71
|
-
'\n');
|
|
70
|
+
environment.stderr.write(`${sanitisePublishOutput(touchResult.banner, environment.stderr)}\n`);
|
|
72
71
|
}
|
|
73
72
|
else {
|
|
74
73
|
logger.error(`Failed to upload report to ${new URL(uploadUrl).origin} with status ${uploadResponse.status}`);
|
|
@@ -87,9 +86,9 @@ strip them back out. Ideally we should get structured data from the service and
|
|
|
87
86
|
compose the console message on this end.
|
|
88
87
|
*/
|
|
89
88
|
function sanitisePublishOutput(raw, stderr) {
|
|
90
|
-
if (!(0, supports_color_1.
|
|
89
|
+
if (!(0, supports_color_1.createSupportsColor)(stderr) && (0, has_ansi_1.default)(raw)) {
|
|
91
90
|
return (0, node_util_1.stripVTControlCharacters)(raw);
|
|
92
91
|
}
|
|
93
92
|
return raw;
|
|
94
93
|
}
|
|
95
|
-
//# sourceMappingURL=
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaF9wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaC9wdWJsaXNoX3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxQ0FBNkQ7QUFDN0QsK0NBQWdEO0FBQ2hELHFDQUFnQztBQUNoQywwREFBNEI7QUFFNUIsbURBQStDO0FBQy9DLHlDQUFvRDtBQUNwRCx5Q0FBc0M7QUFDdEMsd0RBQThCO0FBQzlCLG1EQUFvRDtBQVFwRCxNQUFNLDRCQUE0QixHQUFHLHlDQUF5QyxDQUFBO0FBRWpFLFFBQUEsYUFBYSxHQUFtQjtJQUMzQyxJQUFJLEVBQUUsUUFBUTtJQUNkLFdBQVcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtRQUNoRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLFNBQVMsQ0FBQTtRQUNsQixDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsR0FBRyw0QkFBNEIsRUFBRSxLQUFLLEVBQUUsR0FBRyxPQUFPLENBQUE7UUFDN0QsTUFBTSxPQUFPLEdBQThCO1lBQ3pDLE1BQU0sRUFBRSxrQkFBa0I7U0FDM0IsQ0FBQTtRQUNELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsVUFBVSxLQUFLLEVBQUUsQ0FBQTtRQUMzQyxDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUVuRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7WUFDaEMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsTUFBTSxDQUFDLEtBQUssQ0FDViwrQkFBK0IsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxnQkFB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LENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtvQkFDM0MsQ0FBQztvQkFDRCxPQUFPLEVBQUUsQ0FBQTtnQkFDWCxDQUFDLENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMscUJBQXFCLENBQUMsR0FBVyxFQUFFLE1BQWdCO0lBQzFELElBQUksQ0FBQyxJQUFBLG9DQUFtQixFQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUEsa0JBQU8sRUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pELE9BQU8sSUFBQSxvQ0FBd0IsRUFBQyxHQUFHLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVhZFN0cmVhbSwgY3JlYXRlV3JpdGVTdHJlYW0gfSBmcm9tICdub2RlOmZzJ1xuaW1wb3J0IHsgbWtkdGVtcCwgc3RhdCB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnXG5pbXBvcnQgeyB0bXBkaXIgfSBmcm9tICdub2RlOm9zJ1xuaW1wb3J0IHBhdGggZnJvbSAnbm9kZTpwYXRoJ1xuaW1wb3J0IHR5cGUgeyBXcml0YWJsZSB9IGZyb20gJ25vZGU6c3RyZWFtJ1xuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tICdub2RlOnN0cmVhbS9wcm9taXNlcydcbmltcG9ydCB7IHN0cmlwVlRDb250cm9sQ2hhcmFjdGVycyB9IGZyb20gJ25vZGU6dXRpbCdcbmltcG9ydCB7IGNyZWF0ZUd6aXAgfSBmcm9tICdub2RlOnpsaWInXG5pbXBvcnQgaGFzQW5zaSBmcm9tICdoYXMtYW5zaSdcbmltcG9ydCB7IGNyZWF0ZVN1cHBvcnRzQ29sb3IgfSBmcm9tICdzdXBwb3J0cy1jb2xvcidcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxQbHVnaW4gfSBmcm9tICcuLi9wbHVnaW4nXG5cbnR5cGUgVG91Y2hSZXN1bHQgPSB7XG4gIGJhbm5lcjogc3RyaW5nXG4gIHVybD86IHN0cmluZ1xufVxuXG5jb25zdCBERUZBVUxUX0NVQ1VNQkVSX1BVQkxJU0hfVVJMID0gJ2h0dHBzOi8vcmVwb3J0cy5jdWN1bWJlci5pby9hcGkvcmVwb3J0cydcblxuZXhwb3J0IGNvbnN0IHB1Ymxpc2hQbHVnaW46IEludGVybmFsUGx1Z2luID0ge1xuICB0eXBlOiAncGx1Z2luJyxcbiAgY29vcmRpbmF0b3I6IGFzeW5jICh7IG9uLCBlbWl0LCBsb2dnZXIsIG9wdGlvbnMsIGVudmlyb25tZW50IH0pID0+IHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gICAgY29uc3QgeyB1cmwgPSBERUZBVUxUX0NVQ1VNQkVSX1BVQkxJU0hfVVJMLCB0b2tlbiB9ID0gb3B0aW9uc1xuICAgIGNvbnN0IGhlYWRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9XG4gICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHt0b2tlbn1gXG4gICAgfVxuICAgIGNvbnN0IHRvdWNoUmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHsgaGVhZGVycyB9KVxuXG4gICAgaWYgKHRvdWNoUmVzcG9uc2Uuc3RhdHVzID49IDUwMCkge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAgIGBGYWlsZWQgdG8gcHVibGlzaCByZXBvcnQgdG8gJHtuZXcgVVJMKHVybCkub3JpZ2lufSB3aXRoIHN0YXR1cyAke3RvdWNoUmVzcG9uc2Uuc3RhdHVzfWBcbiAgICAgICAgKVxuICAgICAgICBsb2dnZXIuZGVidWcodG91Y2hSZXNwb25zZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0b3VjaFJlc3VsdCA9IChhd2FpdCB0b3VjaFJlc3BvbnNlLmpzb24oKSkgYXMgVG91Y2hSZXN1bHRcblxuICAgIGlmICghdG91Y2hSZXNwb25zZS5vaykge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZW52aXJvbm1lbnQuc3RkZXJyLndyaXRlKFxuICAgICAgICAgIGAke3Nhbml0aXNlUHVibGlzaE91dHB1dCh0b3VjaFJlc3VsdC5iYW5uZXIsIGVudmlyb25tZW50LnN0ZGVycil9XFxuYFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRvdWNoUmVzdWx0LnVybCkge1xuICAgICAgZW1pdCgncHVibGlzaDp1cmwnLCB0b3VjaFJlc3VsdC51cmwpXG4gICAgfVxuXG4gICAgY29uc3QgdXBsb2FkVXJsID0gdG91Y2hSZXNwb25zZS5oZWFkZXJzLmdldCgnTG9jYXRpb24nKVxuICAgIGNvbnN0IHRlbXBEaXIgPSBhd2FpdCBta2R0ZW1wKHBhdGguam9pbih0bXBkaXIoKSwgYGN1Y3VtYmVyLWpzLXB1Ymxpc2gtYCkpXG4gICAgY29uc3QgdGVtcEZpbGVQYXRoID0gcGF0aC5qb2luKHRlbXBEaXIsICdlbnZlbG9wZXMuanNvbmwuZ3onKVxuICAgIGNvbnN0IHdyaXRlU3RyZWFtID0gY3JlYXRlR3ppcCgpXG4gICAgY29uc3QgZmluaXNoZWRXcml0aW5nID0gcGlwZWxpbmUod3JpdGVTdHJlYW0sIGNyZWF0ZVdyaXRlU3RyZWFtKHRlbXBGaWxlUGF0aCkpXG4gICAgb24oJ21lc3NhZ2UnLCAodmFsdWUpID0+IHdyaXRlU3RyZWFtLndyaXRlKGAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX1cXG5gKSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgd3JpdGVTdHJlYW0uZW5kKGFzeW5jICgpID0+IHtcbiAgICAgICAgICBhd2FpdCBmaW5pc2hlZFdyaXRpbmdcbiAgICAgICAgICBjb25zdCBzdGF0cyA9IGF3YWl0IHN0YXQodGVtcEZpbGVQYXRoKVxuICAgICAgICAgIGNvbnN0IGNvbnRlbnRMZW5ndGggPSBzdGF0cy5zaXplLnRvU3RyaW5nKClcbiAgICAgICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgICAgICAnVXBsb2FkaW5nIGVudmVsb3BlcyB0byBDdWN1bWJlciBSZXBvcnRzIHdpdGggY29udGVudCBsZW5ndGg6JyxcbiAgICAgICAgICAgIGNvbnRlbnRMZW5ndGhcbiAgICAgICAgICApXG4gICAgICAgICAgY29uc3QgdXBsb2FkUmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cGxvYWRVcmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbmwnLFxuICAgICAgICAgICAgICAnQ29udGVudC1FbmNvZGluZyc6ICdnemlwJyxcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJzogY29udGVudExlbmd0aCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBib2R5OiBjcmVhdGVSZWFkU3RyZWFtKHRlbXBGaWxlUGF0aCksXG4gICAgICAgICAgICBkdXBsZXg6ICdoYWxmJyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIGlmICh1cGxvYWRSZXNwb25zZS5vaykge1xuICAgICAgICAgICAgZW52aXJvbm1lbnQuc3RkZXJyLndyaXRlKFxuICAgICAgICAgICAgICBgJHtzYW5pdGlzZVB1Ymxpc2hPdXRwdXQodG91Y2hSZXN1bHQuYmFubmVyLCBlbnZpcm9ubWVudC5zdGRlcnIpfVxcbmBcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIHVwbG9hZCByZXBvcnQgdG8gJHtcbiAgICAgICAgICAgICAgICBuZXcgVVJMKHVwbG9hZFVybCkub3JpZ2luXG4gICAgICAgICAgICAgIH0gd2l0aCBzdGF0dXMgJHt1cGxvYWRSZXNwb25zZS5zdGF0dXN9YFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKGF3YWl0IHVwbG9hZFJlc3BvbnNlLnRleHQoKSlcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH1cbiAgfSxcbn1cblxuLypcblRoaXMgaXMgYmVjYXVzZSB0aGUgQ3VjdW1iZXIgUmVwb3J0cyBzZXJ2aWNlIHJldHVybnMgYSBwcmUtZm9ybWF0dGVkIGNvbnNvbGUgbWVzc2FnZVxuaW5jbHVkaW5nIEFOU0kgZXNjYXBlcywgc28gaWYgb3VyIHN0ZGVyciBzdHJlYW0gZG9lc24ndCBzdXBwb3J0IHRob3NlIHdlIG5lZWQgdG9cbnN0cmlwIHRoZW0gYmFjayBvdXQuIElkZWFsbHkgd2Ugc2hvdWxkIGdldCBzdHJ1Y3R1cmVkIGRhdGEgZnJvbSB0aGUgc2VydmljZSBhbmRcbmNvbXBvc2UgdGhlIGNvbnNvbGUgbWVzc2FnZSBvbiB0aGlzIGVuZC5cbiAqL1xuZnVuY3Rpb24gc2FuaXRpc2VQdWJsaXNoT3V0cHV0KHJhdzogc3RyaW5nLCBzdGRlcnI6IFdyaXRhYmxlKSB7XG4gIGlmICghY3JlYXRlU3VwcG9ydHNDb2xvcihzdGRlcnIpICYmIGhhc0Fuc2kocmF3KSkge1xuICAgIHJldHVybiBzdHJpcFZUQ29udHJvbENoYXJhY3RlcnMocmF3KVxuICB9XG4gIHJldHVybiByYXdcbn1cbiJdfQ==
|
package/lib/publish/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPcHRpb25zIHJlbGF0aW5nIHRvIHB1YmxpY2F0aW9uIHRvIGh0dHBzOi8vcmVwb3J0cy5jdWN1bWJlci5pb1xuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElQdWJsaXNoQ29uZmlnIHtcbiAgLyoqXG4gICAqIEJhc2UgVVJMIGZvciB0aGUgQ3VjdW1iZXIgUmVwb3J0cyBzZXJ2aWNlXG4gICAqL1xuICB1cmw6IHN0cmluZ1xuICAvKipcbiAgICogQWNjZXNzIHRva2VuIGZvciB0aGUgQ3VjdW1iZXIgUmVwb3J0cyBzZXJ2aWNlXG4gICAqL1xuICB0b2tlbjogc3RyaW5nXG59XG4iXX0=
|
|
@@ -32,12 +32,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const is_stream_1 = __importDefault(require("is-stream"));
|
|
40
36
|
const messages = __importStar(require("@cucumber/messages"));
|
|
37
|
+
const is_stream_1 = require("is-stream");
|
|
41
38
|
const value_checker_1 = require("../../value_checker");
|
|
42
39
|
class AttachmentManager {
|
|
43
40
|
onAttachment;
|
|
@@ -58,7 +55,7 @@ class AttachmentManager {
|
|
|
58
55
|
}
|
|
59
56
|
this.createBufferAttachment(data, options.mediaType, options.fileName);
|
|
60
57
|
}
|
|
61
|
-
else if (is_stream_1.
|
|
58
|
+
else if ((0, is_stream_1.isReadableStream)(data)) {
|
|
62
59
|
if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
|
|
63
60
|
throw Error('Stream attachments must specify a media type');
|
|
64
61
|
}
|
|
@@ -130,4 +127,4 @@ function normaliseOptions(mediaTypeOrOptions) {
|
|
|
130
127
|
}
|
|
131
128
|
return mediaTypeOrOptions;
|
|
132
129
|
}
|
|
133
|
-
//# sourceMappingURL=index.js.map
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVudGltZS9hdHRhY2htZW50X21hbmFnZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSw2REFBOEM7QUFDOUMseUNBQTRDO0FBQzVDLHVEQUFxRTtBQTJDckUsTUFBcUIsaUJBQWlCO0lBQ25CLFlBQVksQ0FBaUI7SUFFOUMsWUFBWSxZQUE2QjtRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQTtJQUNsQyxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLDJCQUEyQixDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFHLEdBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELE1BQU0sQ0FDSixJQUFnQyxFQUNoQyxrQkFBc0QsRUFDdEQsUUFBcUI7UUFFckIsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNwRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLElBQUEsZ0NBQWdCLEVBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUE7WUFDN0QsQ0FBQztZQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDeEUsQ0FBQzthQUFNLElBQUksSUFBQSw0QkFBZ0IsRUFBQyxJQUFJLENBQUMsRUFB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RUFBRSxRQUFpQjtRQUM3RSxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ2hCLElBQUk7WUFDSixLQUFLO1lBQ0wsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ2xDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRjtBQXJHRCxvQ0FxR0M7QUFFRCxTQUFTLGdCQUFnQixDQUN2QixrQkFBc0Q7SUFFdEQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDeEIsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBQ0QsSUFBSSxPQUFPLGtCQUFrQixLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzNDLE9BQU87WUFDTCxTQUFTLEVBQUUsa0JBQWtCO1NBQzlCLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxrQkFBa0IsQ0FBQTtBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFkYWJsZSB9IGZyb20gJ25vZGU6c3RyZWFtJ1xuaW1wb3J0ICogYXMgbWVzc2FnZXMgZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHsgaXNSZWFkYWJsZVN0cmVhbSB9IGZyb20gJ2lzLXN0cmVhbSdcbmltcG9ydCB7IGRvZXNIYXZlVmFsdWUsIGRvZXNOb3RIYXZlVmFsdWUgfSBmcm9tICcuLi8uLi92YWx1ZV9jaGVja2VyJ1xuXG5leHBvcnQgaW50ZXJmYWNlIElBdHRhY2htZW50TWVkaWEge1xuICBlbmNvZGluZzogbWVzc2FnZXMuQXR0YWNobWVudENvbnRlbnRFbmNvZGluZ1xuICBjb250ZW50VHlwZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUF0dGFjaG1lbnQge1xuICBkYXRhOiBzdHJpbmdcbiAgbWVkaWE6IElBdHRhY2htZW50TWVkaWFcbiAgZmlsZU5hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgSUF0dGFjaEZ1bmN0aW9uID0gKGF0dGFjaG1lbnQ6IElBdHRhY2htZW50KSA9PiB2b2lkXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNyZWF0ZUF0dGFjaG1lbnRPcHRpb25zIHtcbiAgbWVkaWFUeXBlOiBzdHJpbmdcbiAgZmlsZU5hbWU/OiBzdHJpbmdcbn1cbmV4cG9ydCB0eXBlIElDcmVhdGVTdHJpbmdBdHRhY2htZW50ID0gKFxuICBkYXRhOiBzdHJpbmcsXG4gIG1lZGlhVHlwZU9yT3B0aW9ucz86IHN0cmluZyB8IElDcmVhdGVBdHRhY2htZW50T3B0aW9uc1xuKSA9PiB2b2lkXG5leHBvcnQgdHlwZSBJQ3JlYXRlQnVmZmVyQXR0YWNobWVudCA9IChcbiAgZGF0YTogQnVmZmVyLFxuICBtZWRpYVR5cGVPck9wdGlvbnM6IHN0cmluZyB8IElDcmVhdGVBdHRhY2htZW50T3B0aW9uc1xuKSA9PiB2b2lkXG5leHBvcnQgdHlwZSBJQ3JlYXRlU3RyZWFtQXR0YWNobWVudCA9IChcbiAgZGF0YTogUmVhZGFibGUsXG4gIG1lZGlhVHlwZU9yT3B0aW9uczogc3RyaW5nIHwgSUNyZWF0ZUF0dGFjaG1lbnRPcHRpb25zXG4pID0+IFByb21pc2U8dm9pZD5cbmV4cG9ydCB0eXBlIElDcmVhdGVTdHJlYW1BdHRhY2htZW50V2l0aENhbGxiYWNrID0gKFxuICBkYXRhOiBSZWFkYWJsZSxcbiAgbWVkaWFUeXBlT3JPcHRpb25zOiBzdHJpbmcgfCBJQ3JlYXRlQXR0YWNobWVudE9wdGlvbnMsXG4gIGNhbGxiYWNrOiAoKSA9PiB2b2lkXG4pID0+IHZvaWRcbmV4cG9ydCB0eXBlIElDcmVhdGVBdHRhY2htZW50ID0gSUNyZWF0ZVN0cmluZ0F0dGFjaG1lbnQgJlxuICBJQ3JlYXRlQnVmZmVyQXR0YWNobWVudCAmXG4gIElDcmVhdGVTdHJlYW1BdHRhY2htZW50ICZcbiAgSUNyZWF0ZVN0cmVhbUF0dGFjaG1lbnRXaXRoQ2FsbGJhY2tcbmV4cG9ydCB0eXBlIElDcmVhdGVMb2cgPSAodGV4dDogc3RyaW5nKSA9PiB2b2lkXG5leHBvcnQgdHlwZSBJQ3JlYXRlTGluayA9ICh0ZXh0OiBzdHJpbmcpID0+IHZvaWRcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXR0YWNobWVudE1hbmFnZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IG9uQXR0YWNobWVudDogSUF0dGFjaEZ1bmN0aW9uXG5cbiAgY29uc3RydWN0b3Iob25BdHRhY2htZW50OiBJQXR0YWNoRnVuY3Rpb24pIHtcbiAgICB0aGlzLm9uQXR0YWNobWVudCA9IG9uQXR0YWNobWVudFxuICB9XG5cbiAgbG9nKHRleHQ6IHN0cmluZyk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUodGV4dCwgJ3RleHQveC5jdWN1bWJlci5sb2crcGxhaW4nKVxuICB9XG5cbiAgbGluayguLi51cmw6IHN0cmluZ1tdKTogdm9pZCB8IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh1cmwuam9pbignXFxuJyksICd0ZXh0L3VyaS1saXN0JylcbiAgfVxuXG4gIGNyZWF0ZShcbiAgICBkYXRhOiBCdWZmZXIgfCBSZWFkYWJsZSB8IHN0cmluZyxcbiAgICBtZWRpYVR5cGVPck9wdGlvbnM/OiBzdHJpbmcgfCBJQ3JlYXRlQXR0YWNobWVudE9wdGlvbnMsXG4gICAgY2FsbGJhY2s/OiAoKSA9PiB2b2lkXG4gICk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvcHRpb25zID0gbm9ybWFsaXNlT3B0aW9ucyhtZWRpYVR5cGVPck9wdGlvbnMpXG4gICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihkYXRhKSkge1xuICAgICAgaWYgKGRvZXNOb3RIYXZlVmFsdWUob3B0aW9ucy5tZWRpYVR5cGUpKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdCdWZmZXIgYXR0YWNobWVudHMgbXVzdCBzcGVjaWZ5IGEgbWVkaWEgdHlwZScpXG4gICAgICB9XG4gICAgICB0aGlzLmNyZWF0ZUJ1ZmZlckF0dGFjaG1lbnQoZGF0YSwgb3B0aW9ucy5tZWRpYVR5cGUsIG9wdGlvbnMuZmlsZU5hbWUpXG4gICAgfSBlbHNlIGlmIChpc1JlYWRhYmxlU3RyZWFtKGRhdGEpKSB7XG4gICAgICBpZiAoZG9lc05vdEhhdmVWYWx1ZShvcHRpb25zLm1lZGlhVHlwZSkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoJ1N0cmVhbSBhdHRhY2htZW50cyBtdXN0IHNwZWNpZnkgYSBtZWRpYSB0eXBlJylcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVN0cmVhbUF0dGFjaG1lbnQoZGF0YSwgb3B0aW9ucy5tZWRpYVR5cGUsIG9wdGlvbnMuZmlsZU5hbWUsIGNhbGxiYWNrKVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoZG9lc05vdEhhdmVWYWx1ZShvcHRpb25zLm1lZGlhVHlwZSkpIHtcbiAgICAgICAgb3B0aW9ucy5tZWRpYVR5cGUgPSAndGV4dC9wbGFpbidcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zLm1lZGlhVHlwZS5zdGFydHNXaXRoKCdiYXNlNjQ6JykpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVTdHJpbmdBdHRhY2htZW50KFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZW5jb2Rpbmc6IG1lc3NhZ2VzLkF0dGFjaG1lbnRDb250ZW50RW5jb2RpbmcuQkFTRTY0LFxuICAgICAgICAgICAgY29udGVudFR5cGU6IG9wdGlvbnMubWVkaWFUeXBlLnJlcGxhY2UoJ2Jhc2U2NDonLCAnJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvcHRpb25zLmZpbGVOYW1lXG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlU3RyaW5nQXR0YWNobWVudChcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGVuY29kaW5nOiBtZXNzYWdlcy5BdHRhY2htZW50Q29udGVudEVuY29kaW5nLklERU5USVRZLFxuICAgICAgICAgICAgY29udGVudFR5cGU6IG9wdGlvbnMubWVkaWFUeXBlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3B0aW9ucy5maWxlTmFtZVxuICAgICAgICApXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKCdJbnZhbGlkIGF0dGFjaG1lbnQgZGF0YTogbXVzdCBiZSBhIGJ1ZmZlciwgcmVhZGFibGUgc3RyZWFtLCBvciBzdHJpbmcnKVxuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZUJ1ZmZlckF0dGFjaG1lbnQoZGF0YTogQnVmZmVyLCBtZWRpYVR5cGU6IHN0cmluZywgZmlsZU5hbWU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZVN0cmluZ0F0dGFjaG1lbnQoXG4gICAgICBkYXRhLnRvU3RyaW5nKCdiYXNlNjQnKSxcbiAgICAgIHtcbiAgICAgICAgZW5jb2Rpbmc6IG1lc3NhZ2VzLkF0dGFjaG1lbnRDb250ZW50RW5jb2RpbmcuQkFTRTY0LFxuICAgICAgICBjb250ZW50VHlwZTogbWVkaWFUeXBlLFxuICAgICAgfSxcbiAgICAgIGZpbGVOYW1lXG4gICAgKVxuICB9XG5cbiAgY3JlYXRlU3RyZWFtQXR0YWNobWVudChcbiAgICBkYXRhOiBSZWFkYWJsZSxcbiAgICBtZWRpYVR5cGU6IHN0cmluZyxcbiAgICBmaWxlTmFtZT86IHN0cmluZyxcbiAgICBjYWxsYmFjaz86ICgpID0+IHZvaWRcbiAgKTogdm9pZCB8IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBidWZmZXJzOiBVaW50OEFycmF5W10gPSBbXVxuICAgICAgZGF0YS5vbignZGF0YScsIChjaHVuaykgPT4ge1xuICAgICAgICBidWZmZXJzLnB1c2goY2h1bmspXG4gICAgICB9KVxuICAgICAgZGF0YS5vbignZW5kJywgKCkgPT4ge1xuICAgICAgICB0aGlzLmNyZWF0ZUJ1ZmZlckF0dGFjaG1lbnQoQnVmZmVyLmNvbmNhdChidWZmZXJzKSwgbWVkaWFUeXBlLCBmaWxlTmFtZSlcbiAgICAgICAgcmVzb2x2ZSgpXG4gICAgICB9KVxuICAgICAgZGF0YS5vbignZXJyb3InLCByZWplY3QpXG4gICAgfSlcbiAgICBpZiAoZG9lc0hhdmVWYWx1ZShjYWxsYmFjaykpIHtcbiAgICAgIHByb21pc2UudGhlbihjYWxsYmFjaywgY2FsbGJhY2spXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwcm9taXNlXG4gICAgfVxuICB9XG5cbiAgY3JlYXRlU3RyaW5nQXR0YWNobWVudChkYXRhOiBzdHJpbmcsIG1lZGlhOiBJQXR0YWNobWVudE1lZGlhLCBmaWxlTmFtZT86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMub25BdHRhY2htZW50KHtcbiAgICAgIGRhdGEsXG4gICAgICBtZWRpYSxcbiAgICAgIC4uLihmaWxlTmFtZSA/IHsgZmlsZU5hbWUgfSA6IHt9KSxcbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGlzZU9wdGlvbnMoXG4gIG1lZGlhVHlwZU9yT3B0aW9ucz86IHN0cmluZyB8IElDcmVhdGVBdHRhY2htZW50T3B0aW9uc1xuKTogUGFydGlhbDxJQ3JlYXRlQXR0YWNobWVudE9wdGlvbnM+IHtcbiAgaWYgKCFtZWRpYVR5cGVPck9wdGlvbnMpIHtcbiAgICByZXR1cm4ge31cbiAgfVxuICBpZiAodHlwZW9mIG1lZGlhVHlwZU9yT3B0aW9ucyA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWVkaWFUeXBlOiBtZWRpYVR5cGVPck9wdGlvbnMsXG4gICAgfVxuICB9XG4gIHJldHVybiBtZWRpYVR5cGVPck9wdGlvbnNcbn1cbiJdfQ==
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import { EventEmitter } from 'node:events';
|
|
2
|
-
import { IdGenerator } from '@cucumber/messages';
|
|
3
|
-
import { SourcedPickle } from '../assemble';
|
|
4
|
-
import { SupportCodeLibrary } from '../support_code_library_builder/types';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import type { EventEmitter } from 'node:events';
|
|
2
|
+
import type { IdGenerator } from '@cucumber/messages';
|
|
3
|
+
import { type SourcedPickle } from '../assemble';
|
|
4
|
+
import type { SupportCodeLibrary } from '../support_code_library_builder/types';
|
|
5
|
+
import type { Runtime } from './index';
|
|
6
|
+
import type { RuntimeAdapter } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Handles the high-level coordination of the test run on the main thread
|
|
9
|
+
* @returns whether all hooks and test cases were successful
|
|
10
|
+
* @remarks
|
|
11
|
+
* For each phase of the test run, delegates to a {@link RuntimeAdapter} to handle
|
|
12
|
+
* the work itself. Unaware of how the adapter distributes and executes work.
|
|
13
|
+
*/
|
|
7
14
|
export declare class Coordinator implements Runtime {
|
|
8
15
|
private testRunStartedId;
|
|
9
16
|
private eventBroadcaster;
|
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Coordinator = void 0;
|
|
4
4
|
const assemble_1 = require("../assemble");
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Handles the high-level coordination of the test run on the main thread
|
|
7
|
+
* @returns whether all hooks and test cases were successful
|
|
8
|
+
* @remarks
|
|
9
|
+
* For each phase of the test run, delegates to a {@link RuntimeAdapter} to handle
|
|
10
|
+
* the work itself. Unaware of how the adapter distributes and executes work.
|
|
11
|
+
*/
|
|
6
12
|
class Coordinator {
|
|
7
13
|
testRunStartedId;
|
|
8
14
|
eventBroadcaster;
|
|
@@ -19,23 +25,25 @@ class Coordinator {
|
|
|
19
25
|
this.adapter = adapter;
|
|
20
26
|
}
|
|
21
27
|
async run() {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
28
|
+
try {
|
|
29
|
+
await this.adapter.setup();
|
|
30
|
+
const successByPhase = {
|
|
31
|
+
beforeAllHooks: false,
|
|
32
|
+
testCases: false,
|
|
33
|
+
afterAllHooks: false,
|
|
34
|
+
};
|
|
35
|
+
successByPhase.beforeAllHooks = await this.adapter.runBeforeAllHooks();
|
|
36
|
+
if (successByPhase.beforeAllHooks) {
|
|
37
|
+
const assembledTestCases = await (0, assemble_1.assembleTestCases)(this.testRunStartedId, this.eventBroadcaster, this.newId, this.sourcedPickles, this.supportCodeLibrary);
|
|
38
|
+
successByPhase.testCases = await this.adapter.runTestCases(assembledTestCases);
|
|
39
|
+
}
|
|
40
|
+
successByPhase.afterAllHooks = await this.adapter.runAfterAllHooks();
|
|
41
|
+
return (successByPhase.beforeAllHooks && successByPhase.testCases && successByPhase.afterAllHooks);
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
await this.adapter.teardown();
|
|
45
|
+
}
|
|
38
46
|
}
|
|
39
47
|
}
|
|
40
48
|
exports.Coordinator = Coordinator;
|
|
41
|
-
//# sourceMappingURL=
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS9jb29yZGluYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwwQ0FBbUU7QUFLbkU7Ozs7OztHQU1HO0FBQ0gsTUFBYSxXQUFXO0lBRVo7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTlYsWUFDVSxnQkFBd0IsRUFDeEIsZ0JBQThCLEVBQzlCLEtBQXdCLEVBQ3hCLGNBQTRDLEVBQzVDLGtCQUFzQyxFQUN0QyxPQUF1QjtRQUx2QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVE7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFjO1FBQzlCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUE4QjtRQUM1Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQzlCLENBQUM7SUFFSixLQUFLLENBQUMsR0FBRztRQUNQLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUUxQixNQUFNLGNBQWMsR0FBRztnQkFDckIsY0FBYyxFQUFFLEtBQUs7Z0JBQ3JCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixhQUFhLEVBQUUsS0FBSzthQUNyQixDQUFBO1lBQ0QsY0FBYyxDQUFDLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtZQUN0RSxJQUFJLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbEMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUEsNEJBQWlCLEVBQ2hELElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsSUFBSSxDQUFDLGdCQUFnQixFQUNyQixJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxjQUFjLEVBQ25CLElBQUksQ0FBQyxrQkFBa0IsQ0FDeEIsQ0FBQTtnQkFDRCxjQUFjLENBQUMsU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtZQUNoRixDQUFDO1lBQ0QsY0FBYyxDQUFDLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtZQUNwRSxPQUFPLENBQ0wsY0FBYyxDQUFDLGNBQWMsSUFBSSxjQUFjLENBQUMsU0FBUyxJQUFJLGNBQWMsQ0FBQyxhQUFhLENBQzFGLENBQUE7UUFDSCxDQUFDO2dCQUFTLENBQUM7WUFDVCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDL0IsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXRDRCxrQ0FzQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ25vZGU6ZXZlbnRzJ1xuaW1wb3J0IHR5cGUgeyBJZEdlbmVyYXRvciB9IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB7IGFzc2VtYmxlVGVzdENhc2VzLCB0eXBlIFNvdXJjZWRQaWNrbGUgfSBmcm9tICcuLi9hc3NlbWJsZSdcbmltcG9ydCB0eXBlIHsgU3VwcG9ydENvZGVMaWJyYXJ5IH0gZnJvbSAnLi4vc3VwcG9ydF9jb2RlX2xpYnJhcnlfYnVpbGRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgUnVudGltZSB9IGZyb20gJy4vaW5kZXgnXG5pbXBvcnQgdHlwZSB7IFJ1bnRpbWVBZGFwdGVyIH0gZnJvbSAnLi90eXBlcydcblxuLyoqXG4gKiBIYW5kbGVzIHRoZSBoaWdoLWxldmVsIGNvb3JkaW5hdGlvbiBvZiB0aGUgdGVzdCBydW4gb24gdGhlIG1haW4gdGhyZWFkXG4gKiBAcmV0dXJucyB3aGV0aGVyIGFsbCBob29rcyBhbmQgdGVzdCBjYXNlcyB3ZXJlIHN1Y2Nlc3NmdWxcbiAqIEByZW1hcmtzXG4gKiBGb3IgZWFjaCBwaGFzZSBvZiB0aGUgdGVzdCBydW4sIGRlbGVnYXRlcyB0byBhIHtAbGluayBSdW50aW1lQWRhcHRlcn0gdG8gaGFuZGxlXG4gKiB0aGUgd29yayBpdHNlbGYuIFVuYXdhcmUgb2YgaG93IHRoZSBhZGFwdGVyIGRpc3RyaWJ1dGVzIGFuZCBleGVjdXRlcyB3b3JrLlxuICovXG5leHBvcnQgY2xhc3MgQ29vcmRpbmF0b3IgaW1wbGVtZW50cyBSdW50aW1lIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZXN0UnVuU3RhcnRlZElkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBldmVudEJyb2FkY2FzdGVyOiBFdmVudEVtaXR0ZXIsXG4gICAgcHJpdmF0ZSBuZXdJZDogSWRHZW5lcmF0b3IuTmV3SWQsXG4gICAgcHJpdmF0ZSBzb3VyY2VkUGlja2xlczogUmVhZG9ubHlBcnJheTxTb3VyY2VkUGlja2xlPixcbiAgICBwcml2YXRlIHN1cHBvcnRDb2RlTGlicmFyeTogU3VwcG9ydENvZGVMaWJyYXJ5LFxuICAgIHByaXZhdGUgYWRhcHRlcjogUnVudGltZUFkYXB0ZXJcbiAgKSB7fVxuXG4gIGFzeW5jIHJ1bigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLnNldHVwKClcblxuICAgICAgY29uc3Qgc3VjY2Vzc0J5UGhhc2UgPSB7XG4gICAgICAgIGJlZm9yZUFsbEhvb2tzOiBmYWxzZSxcbiAgICAgICAgdGVzdENhc2VzOiBmYWxzZSxcbiAgICAgICAgYWZ0ZXJBbGxIb29rczogZmFsc2UsXG4gICAgICB9XG4gICAgICBzdWNjZXNzQnlQaGFzZS5iZWZvcmVBbGxIb29rcyA9IGF3YWl0IHRoaXMuYWRhcHRlci5ydW5CZWZvcmVBbGxIb29rcygpXG4gICAgICBpZiAoc3VjY2Vzc0J5UGhhc2UuYmVmb3JlQWxsSG9va3MpIHtcbiAgICAgICAgY29uc3QgYXNzZW1ibGVkVGVzdENhc2VzID0gYXdhaXQgYXNzZW1ibGVUZXN0Q2FzZXMoXG4gICAgICAgICAgdGhpcy50ZXN0UnVuU3RhcnRlZElkLFxuICAgICAgICAgIHRoaXMuZXZlbnRCcm9hZGNhc3RlcixcbiAgICAgICAgICB0aGlzLm5ld0lkLFxuICAgICAgICAgIHRoaXMuc291cmNlZFBpY2tsZXMsXG4gICAgICAgICAgdGhpcy5zdXBwb3J0Q29kZUxpYnJhcnlcbiAgICAgICAgKVxuICAgICAgICBzdWNjZXNzQnlQaGFzZS50ZXN0Q2FzZXMgPSBhd2FpdCB0aGlzLmFkYXB0ZXIucnVuVGVzdENhc2VzKGFzc2VtYmxlZFRlc3RDYXNlcylcbiAgICAgIH1cbiAgICAgIHN1Y2Nlc3NCeVBoYXNlLmFmdGVyQWxsSG9va3MgPSBhd2FpdCB0aGlzLmFkYXB0ZXIucnVuQWZ0ZXJBbGxIb29rcygpXG4gICAgICByZXR1cm4gKFxuICAgICAgICBzdWNjZXNzQnlQaGFzZS5iZWZvcmVBbGxIb29rcyAmJiBzdWNjZXNzQnlQaGFzZS50ZXN0Q2FzZXMgJiYgc3VjY2Vzc0J5UGhhc2UuYWZ0ZXJBbGxIb29rc1xuICAgICAgKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIudGVhcmRvd24oKVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TestStepResult } from '@cucumber/messages';
|
|
1
|
+
import type { TestStepResult } from '@cucumber/messages';
|
|
2
2
|
export declare function formatError(error: Error | string, filterStackTraces: boolean): Pick<TestStepResult, 'message' | 'exception'>;
|
|
@@ -7,6 +7,8 @@ exports.formatError = formatError;
|
|
|
7
7
|
const assertion_error_formatter_1 = require("assertion-error-formatter");
|
|
8
8
|
const error_stack_parser_1 = __importDefault(require("error-stack-parser"));
|
|
9
9
|
const filter_stack_trace_1 = require("../filter_stack_trace");
|
|
10
|
+
// Guards against runaway or self-referential cause chains.
|
|
11
|
+
const MAX_CAUSE_DEPTH = 10;
|
|
10
12
|
function formatError(error, filterStackTraces) {
|
|
11
13
|
if (typeof error === 'string') {
|
|
12
14
|
const stackTrace = `Error: ${error}`;
|
|
@@ -19,33 +21,59 @@ function formatError(error, filterStackTraces) {
|
|
|
19
21
|
},
|
|
20
22
|
};
|
|
21
23
|
}
|
|
24
|
+
const stackTrace = formatErrorAndCauses(error, filterStackTraces);
|
|
25
|
+
const type = error.constructor.name;
|
|
26
|
+
const message = typeof error === 'string' ? error : error.message;
|
|
27
|
+
return {
|
|
28
|
+
message: stackTrace,
|
|
29
|
+
exception: {
|
|
30
|
+
type,
|
|
31
|
+
message,
|
|
32
|
+
stackTrace,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function formatErrorAndCauses(error, filterStackTraces) {
|
|
37
|
+
let output = formatSingleError(error, filterStackTraces);
|
|
38
|
+
const seen = new Set([error]);
|
|
39
|
+
let cause = error.cause;
|
|
40
|
+
for (let depth = 0; cause !== undefined && cause !== null; depth++) {
|
|
41
|
+
if (depth >= MAX_CAUSE_DEPTH) {
|
|
42
|
+
output += '\nCaused by: ... (further causes truncated)';
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
if (seen.has(cause)) {
|
|
46
|
+
output += '\nCaused by: ... (circular reference)';
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
seen.add(cause);
|
|
50
|
+
if (cause instanceof Error) {
|
|
51
|
+
output += `\nCaused by: ${formatSingleError(cause, filterStackTraces)}`;
|
|
52
|
+
cause = cause.cause;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
output += `\nCaused by: ${String(cause)}`;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return output;
|
|
60
|
+
}
|
|
61
|
+
function formatSingleError(error, filterStackTraces) {
|
|
22
62
|
let processedStackTrace = error.stack;
|
|
23
63
|
try {
|
|
24
64
|
const parsedStack = error_stack_parser_1.default.parse(error);
|
|
25
|
-
const filteredStack = filterStackTraces
|
|
26
|
-
? (0, filter_stack_trace_1.filterStackTrace)(parsedStack)
|
|
27
|
-
: parsedStack;
|
|
65
|
+
const filteredStack = filterStackTraces ? (0, filter_stack_trace_1.filterStackTrace)(parsedStack) : parsedStack;
|
|
28
66
|
processedStackTrace = filteredStack.map((f) => f.source).join('\n');
|
|
29
67
|
}
|
|
30
68
|
catch {
|
|
31
69
|
// if we weren't able to parse and process, we'll settle for the original
|
|
32
70
|
}
|
|
33
|
-
|
|
71
|
+
return (0, assertion_error_formatter_1.format)(error, {
|
|
34
72
|
colorFns: {
|
|
35
73
|
errorStack: (stack) => {
|
|
36
74
|
return processedStackTrace ? `\n${processedStackTrace}` : stack;
|
|
37
75
|
},
|
|
38
76
|
},
|
|
39
77
|
});
|
|
40
|
-
const type = error.constructor.name;
|
|
41
|
-
const message = typeof error === 'string' ? error : error.message;
|
|
42
|
-
return {
|
|
43
|
-
message: stackTrace,
|
|
44
|
-
exception: {
|
|
45
|
-
type,
|
|
46
|
-
message,
|
|
47
|
-
stackTrace,
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
78
|
}
|
|
51
|
-
//# sourceMappingURL=
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0X2Vycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bnRpbWUvZm9ybWF0X2Vycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBUUEsa0NBMEJDO0FBakNELHlFQUFrRDtBQUNsRCw0RUFBaUQ7QUFDakQsOERBQXdEO0FBRXhELDJEQUEyRDtBQUMzRCxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUE7QUFFMUIsU0FBZ0IsV0FBVyxDQUN6QixLQUFxQixFQUNyQixpQkFBMEI7SUFFMUIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixNQUFNLFVBQVUsR0FBRyxVQUFVLEtBQUssRUFBRSxDQUFBO1FBQ3BDLE9BQU87WUFDTCxPQUFPLEVBQUUsVUFBVTtZQUNuQixTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsVUFBVTthQUNYO1NBQ0YsQ0FBQTtJQUNILENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtJQUNqRSxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQTtJQUNuQyxNQUFNLE9BQU8sR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQTtJQUNqRSxPQUFPO1FBQ0wsT0FBTyxFQUFFLFVBQVU7UUFDbkIsU0FBUyxFQUFFO1lBQ1QsSUFBSTtZQUNKLE9BQU87WUFDUCxVQUFVO1NBQ1g7S0FDRixDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsS0FBWSxFQUFFLGlCQUEwQjtJQUNwRSxJQUFJLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtJQUN4RCxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDdEMsSUFBSSxLQUFLLEdBQWEsS0FBNkIsQ0FBQyxLQUFLLENBQUE7SUFDekQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDbkUsSUFBSSxLQUFLLElBQUksZUFBZSxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLDZDQUE2QyxDQUFBO1lBQ3ZELE1BQUs7UUFDUCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLHVDQUF1QyxDQUFBO1lBQ2pELE1BQUs7UUFDUCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNmLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxnQkFBZ0IsaUJBQWlCLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FBQTtZQUN2RSxLQUFLLEdBQUksS0FBNkIsQ0FBQyxLQUFLLENBQUE7UUFDOUMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksZ0JBQWdCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFBO1lBQ3pDLE1BQUs7UUFDUCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsS0FBWSxFQUFFLGlCQUEwQjtJQUNqRSxJQUFJLG1CQUFtQixHQUFXLEtBQUssQ0FBQyxLQUFLLENBQUE7SUFDN0MsSUFBSSxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsNEJBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2pELE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFBLHFDQUFnQixFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUE7UUFDckYsbUJBQW1CLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AseUVBQXlFO0lBQzNFLENBQUM7SUFDRCxPQUFPLElBQUEsa0NBQU0sRUFBQyxLQUFLLEVBQUU7UUFDbkIsUUFBUSxFQUFFO1lBQ1IsVUFBVSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7Z0JBQzVCLE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEtBQUssbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO1lBQ2pFLENBQUM7U0FDRjtLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRlc3RTdGVwUmVzdWx0IH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnYXNzZXJ0aW9uLWVycm9yLWZvcm1hdHRlcidcbmltcG9ydCBlcnJvclN0YWNrUGFyc2VyIGZyb20gJ2Vycm9yLXN0YWNrLXBhcnNlcidcbmltcG9ydCB7IGZpbHRlclN0YWNrVHJhY2UgfSBmcm9tICcuLi9maWx0ZXJfc3RhY2tfdHJhY2UnXG5cbi8vIEd1YXJkcyBhZ2FpbnN0IHJ1bmF3YXkgb3Igc2VsZi1yZWZlcmVudGlhbCBjYXVzZSBjaGFpbnMuXG5jb25zdCBNQVhfQ0FVU0VfREVQVEggPSAxMFxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RXJyb3IoXG4gIGVycm9yOiBFcnJvciB8IHN0cmluZyxcbiAgZmlsdGVyU3RhY2tUcmFjZXM6IGJvb2xlYW5cbik6IFBpY2s8VGVzdFN0ZXBSZXN1bHQsICdtZXNzYWdlJyB8ICdleGNlcHRpb24nPiB7XG4gIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3Qgc3RhY2tUcmFjZSA9IGBFcnJvcjogJHtlcnJvcn1gXG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2U6IHN0YWNrVHJhY2UsXG4gICAgICBleGNlcHRpb246IHtcbiAgICAgICAgdHlwZTogJ0Vycm9yJyxcbiAgICAgICAgbWVzc2FnZTogZXJyb3IsXG4gICAgICAgIHN0YWNrVHJhY2UsXG4gICAgICB9LFxuICAgIH1cbiAgfVxuICBjb25zdCBzdGFja1RyYWNlID0gZm9ybWF0RXJyb3JBbmRDYXVzZXMoZXJyb3IsIGZpbHRlclN0YWNrVHJhY2VzKVxuICBjb25zdCB0eXBlID0gZXJyb3IuY29uc3RydWN0b3IubmFtZVxuICBjb25zdCBtZXNzYWdlID0gdHlwZW9mIGVycm9yID09PSAnc3RyaW5nJyA/IGVycm9yIDogZXJyb3IubWVzc2FnZVxuICByZXR1cm4ge1xuICAgIG1lc3NhZ2U6IHN0YWNrVHJhY2UsXG4gICAgZXhjZXB0aW9uOiB7XG4gICAgICB0eXBlLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIHN0YWNrVHJhY2UsXG4gICAgfSxcbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JtYXRFcnJvckFuZENhdXNlcyhlcnJvcjogRXJyb3IsIGZpbHRlclN0YWNrVHJhY2VzOiBib29sZWFuKTogc3RyaW5nIHtcbiAgbGV0IG91dHB1dCA9IGZvcm1hdFNpbmdsZUVycm9yKGVycm9yLCBmaWx0ZXJTdGFja1RyYWNlcylcbiAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8dW5rbm93bj4oW2Vycm9yXSlcbiAgbGV0IGNhdXNlOiB1bmtub3duID0gKGVycm9yIGFzIHsgY2F1c2U/OiB1bmtub3duIH0pLmNhdXNlXG4gIGZvciAobGV0IGRlcHRoID0gMDsgY2F1c2UgIT09IHVuZGVmaW5lZCAmJiBjYXVzZSAhPT0gbnVsbDsgZGVwdGgrKykge1xuICAgIGlmIChkZXB0aCA+PSBNQVhfQ0FVU0VfREVQVEgpIHtcbiAgICAgIG91dHB1dCArPSAnXFxuQ2F1c2VkIGJ5OiAuLi4gKGZ1cnRoZXIgY2F1c2VzIHRydW5jYXRlZCknXG4gICAgICBicmVha1xuICAgIH1cbiAgICBpZiAoc2Vlbi5oYXMoY2F1c2UpKSB7XG4gICAgICBvdXRwdXQgKz0gJ1xcbkNhdXNlZCBieTogLi4uIChjaXJjdWxhciByZWZlcmVuY2UpJ1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgc2Vlbi5hZGQoY2F1c2UpXG4gICAgaWYgKGNhdXNlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIG91dHB1dCArPSBgXFxuQ2F1c2VkIGJ5OiAke2Zvcm1hdFNpbmdsZUVycm9yKGNhdXNlLCBmaWx0ZXJTdGFja1RyYWNlcyl9YFxuICAgICAgY2F1c2UgPSAoY2F1c2UgYXMgeyBjYXVzZT86IHVua25vd24gfSkuY2F1c2VcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0cHV0ICs9IGBcXG5DYXVzZWQgYnk6ICR7U3RyaW5nKGNhdXNlKX1gXG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3V0cHV0XG59XG5cbmZ1bmN0aW9uIGZvcm1hdFNpbmdsZUVycm9yKGVycm9yOiBFcnJvciwgZmlsdGVyU3RhY2tUcmFjZXM6IGJvb2xlYW4pOiBzdHJpbmcge1xuICBsZXQgcHJvY2Vzc2VkU3RhY2tUcmFjZTogc3RyaW5nID0gZXJyb3Iuc3RhY2tcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWRTdGFjayA9IGVycm9yU3RhY2tQYXJzZXIucGFyc2UoZXJyb3IpXG4gICAgY29uc3QgZmlsdGVyZWRTdGFjayA9IGZpbHRlclN0YWNrVHJhY2VzID8gZmlsdGVyU3RhY2tUcmFjZShwYXJzZWRTdGFjaykgOiBwYXJzZWRTdGFja1xuICAgIHByb2Nlc3NlZFN0YWNrVHJhY2UgPSBmaWx0ZXJlZFN0YWNrLm1hcCgoZikgPT4gZi5zb3VyY2UpLmpvaW4oJ1xcbicpXG4gIH0gY2F0Y2gge1xuICAgIC8vIGlmIHdlIHdlcmVuJ3QgYWJsZSB0byBwYXJzZSBhbmQgcHJvY2Vzcywgd2UnbGwgc2V0dGxlIGZvciB0aGUgb3JpZ2luYWxcbiAgfVxuICByZXR1cm4gZm9ybWF0KGVycm9yLCB7XG4gICAgY29sb3JGbnM6IHtcbiAgICAgIGVycm9yU3RhY2s6IChzdGFjazogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzZWRTdGFja1RyYWNlID8gYFxcbiR7cHJvY2Vzc2VkU3RhY2tUcmFjZX1gIDogc3RhY2tcbiAgICAgIH0sXG4gICAgfSxcbiAgfSlcbn1cbiJdfQ==
|
package/lib/runtime/helpers.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as messages from '@cucumber/messages';
|
|
2
|
-
import StepDefinition from '../models/step_definition';
|
|
3
|
-
import { RuntimeOptions } from '.';
|
|
2
|
+
import type StepDefinition from '../models/step_definition';
|
|
3
|
+
import type { RuntimeOptions } from '.';
|
|
4
4
|
export declare function getAmbiguousStepException(stepDefinitions: StepDefinition[]): string;
|
|
5
5
|
export declare function retriesForPickle(pickle: messages.Pickle, options: RuntimeOptions): number;
|
|
6
6
|
export declare function shouldCauseFailure(status: messages.TestStepResultStatus, options: RuntimeOptions): boolean;
|
package/lib/runtime/helpers.js
CHANGED
|
@@ -39,9 +39,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.getAmbiguousStepException = getAmbiguousStepException;
|
|
40
40
|
exports.retriesForPickle = retriesForPickle;
|
|
41
41
|
exports.shouldCauseFailure = shouldCauseFailure;
|
|
42
|
+
const messages = __importStar(require("@cucumber/messages"));
|
|
42
43
|
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
43
44
|
const indent_string_1 = __importDefault(require("indent-string"));
|
|
44
|
-
const messages = __importStar(require("@cucumber/messages"));
|
|
45
45
|
const location_helpers_1 = require("../formatter/helpers/location_helpers");
|
|
46
46
|
const pickle_filter_1 = require("../pickle_filter");
|
|
47
47
|
function getAmbiguousStepException(stepDefinitions) {
|
|
@@ -107,4 +107,4 @@ function shouldCauseFailure(status, options) {
|
|
|
107
107
|
}
|
|
108
108
|
return failureStatuses.includes(status);
|
|
109
109
|
}
|
|
110
|
-
//# sourceMappingURL=
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW50aW1lL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSw4REFnQ0M7QUFFRCw0Q0FpQkM7QUFFRCxnREFnQkM7QUE3RUQsNkRBQThDO0FBQzlDLDREQUE4QjtBQUM5QixrRUFBd0M7QUFDeEMsNEVBQXNFO0FBRXRFLG9EQUFrRDtBQUdsRCxTQUFnQix5QkFBeUIsQ0FBQyxlQUFpQztJQUN6RSxNQUFNLEtBQUssR0FBRyxJQUFJLG9CQUFLLENBQUM7UUFDdEIsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFLEVBQUU7WUFDVixhQUFhLEVBQUUsRUFBRTtZQUNqQixZQUFZLEVBQUUsRUFBRTtZQUNoQixjQUFjLEVBQUUsRUFBRTtZQUNsQixJQUFJLEVBQUUsRUFBRTtZQUNSLFVBQVUsRUFBRSxFQUFFO1lBQ2QsR0FBRyxFQUFFLEVBQUU7WUFDUCxTQUFTLEVBQUUsRUFBRTtZQUNiLE1BQU0sRUFBRSxLQUFLO1lBQ2IsS0FBSyxFQUFFLEVBQUU7WUFDVCxXQUFXLEVBQUUsRUFBRTtZQUNmLEdBQUcsRUFBRSxFQUFFO1lBQ1AsVUFBVSxFQUFFLEVBQUU7WUFDZCxTQUFTLEVBQUUsRUFBRTtZQUNiLFdBQVcsRUFBRSxFQUFFO1NBQ2hCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFLEVBQUU7WUFDVixjQUFjLEVBQUUsQ0FBQztZQUNqQixlQUFlLEVBQUUsQ0FBQztTQUNuQjtLQUNGLENBQUMsQ0FBQTtJQUNGLEtBQUssQ0FBQyxJQUFJLENBQ1IsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7UUFDeEMsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNqRCxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUEsaUNBQWMsRUFBQyxjQUFjLENBQUMsQ0FBQyxDQUFBO0lBQ2xELENBQUMsQ0FBQyxDQUNILENBQUE7SUFDRCxPQUFPLEdBQUcsa0NBQWtDLEdBQUcsSUFBSSxHQUFHLElBQUEsdUJBQVksRUFBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtBQUMzRixDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsTUFBdUIsRUFBRSxPQUF1QjtJQUMvRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUE7SUFDN0IsSUFBSSxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbEIsT0FBTyxDQUFDLENBQUE7SUFDVixDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQTtJQUM3QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUNELE1BQU0sZUFBZSxHQUFHLElBQUksK0JBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUMzRCxJQUFJLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3JELE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQTtBQUNWLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FDaEMsTUFBcUMsRUFDckMsT0FBdUI7SUFFdkIsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsTUFBTSxlQUFlLEdBQW9DO1FBQ3ZELFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTO1FBQ3ZDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNO1FBQ3BDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTO0tBQ3hDLENBQUE7SUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBQ0QsT0FBTyxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtZXNzYWdlcyBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgVGFibGUgZnJvbSAnY2xpLXRhYmxlMydcbmltcG9ydCBpbmRlbnRTdHJpbmcgZnJvbSAnaW5kZW50LXN0cmluZydcbmltcG9ydCB7IGZvcm1hdExvY2F0aW9uIH0gZnJvbSAnLi4vZm9ybWF0dGVyL2hlbHBlcnMvbG9jYXRpb25faGVscGVycydcbmltcG9ydCB0eXBlIFN0ZXBEZWZpbml0aW9uIGZyb20gJy4uL21vZGVscy9zdGVwX2RlZmluaXRpb24nXG5pbXBvcnQgeyBQaWNrbGVUYWdGaWx0ZXIgfSBmcm9tICcuLi9waWNrbGVfZmlsdGVyJ1xuaW1wb3J0IHR5cGUgeyBSdW50aW1lT3B0aW9ucyB9IGZyb20gJy4nXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbWJpZ3VvdXNTdGVwRXhjZXB0aW9uKHN0ZXBEZWZpbml0aW9uczogU3RlcERlZmluaXRpb25bXSk6IHN0cmluZyB7XG4gIGNvbnN0IHRhYmxlID0gbmV3IFRhYmxlKHtcbiAgICBjaGFyczoge1xuICAgICAgYm90dG9tOiAnJyxcbiAgICAgICdib3R0b20tbGVmdCc6ICcnLFxuICAgICAgJ2JvdHRvbS1taWQnOiAnJyxcbiAgICAgICdib3R0b20tcmlnaHQnOiAnJyxcbiAgICAgIGxlZnQ6ICcnLFxuICAgICAgJ2xlZnQtbWlkJzogJycsXG4gICAgICBtaWQ6ICcnLFxuICAgICAgJ21pZC1taWQnOiAnJyxcbiAgICAgIG1pZGRsZTogJyAtICcsXG4gICAgICByaWdodDogJycsXG4gICAgICAncmlnaHQtbWlkJzogJycsXG4gICAgICB0b3A6ICcnLFxuICAgICAgJ3RvcC1sZWZ0JzogJycsXG4gICAgICAndG9wLW1pZCc6ICcnLFxuICAgICAgJ3RvcC1yaWdodCc6ICcnLFxuICAgIH0sXG4gICAgc3R5bGU6IHtcbiAgICAgIGJvcmRlcjogW10sXG4gICAgICAncGFkZGluZy1sZWZ0JzogMCxcbiAgICAgICdwYWRkaW5nLXJpZ2h0JzogMCxcbiAgICB9LFxuICB9KVxuICB0YWJsZS5wdXNoKFxuICAgIC4uLnN0ZXBEZWZpbml0aW9ucy5tYXAoKHN0ZXBEZWZpbml0aW9uKSA9PiB7XG4gICAgICBjb25zdCBwYXR0ZXJuID0gc3RlcERlZmluaXRpb24ucGF0dGVybi50b1N0cmluZygpXG4gICAgICByZXR1cm4gW3BhdHRlcm4sIGZvcm1hdExvY2F0aW9uKHN0ZXBEZWZpbml0aW9uKV1cbiAgICB9KVxuICApXG4gIHJldHVybiBgJHsnTXVsdGlwbGUgc3RlcCBkZWZpbml0aW9ucyBtYXRjaDonICsgJ1xcbid9JHtpbmRlbnRTdHJpbmcodGFibGUudG9TdHJpbmcoKSwgMil9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmV0cmllc0ZvclBpY2tsZShwaWNrbGU6IG1lc3NhZ2VzLlBpY2tsZSwgb3B0aW9uczogUnVudGltZU9wdGlvbnMpOiBudW1iZXIge1xuICBpZiAoIW9wdGlvbnMucmV0cnkpIHtcbiAgICByZXR1cm4gMFxuICB9XG4gIGNvbnN0IHJldHJpZXMgPSBvcHRpb25zLnJldHJ5XG4gIGlmIChyZXRyaWVzID09PSAwKSB7XG4gICAgcmV0dXJuIDBcbiAgfVxuICBjb25zdCByZXRyeVRhZ0ZpbHRlciA9IG9wdGlvbnMucmV0cnlUYWdGaWx0ZXJcbiAgaWYgKCFyZXRyeVRhZ0ZpbHRlcikge1xuICAgIHJldHVybiByZXRyaWVzXG4gIH1cbiAgY29uc3QgcGlja2xlVGFnRmlsdGVyID0gbmV3IFBpY2tsZVRhZ0ZpbHRlcihyZXRyeVRhZ0ZpbHRlcilcbiAgaWYgKHBpY2tsZVRhZ0ZpbHRlci5tYXRjaGVzQWxsVGFnRXhwcmVzc2lvbnMocGlja2xlKSkge1xuICAgIHJldHVybiByZXRyaWVzXG4gIH1cbiAgcmV0dXJuIDBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZENhdXNlRmFpbHVyZShcbiAgc3RhdHVzOiBtZXNzYWdlcy5UZXN0U3RlcFJlc3VsdFN0YXR1cyxcbiAgb3B0aW9uczogUnVudGltZU9wdGlvbnNcbik6IGJvb2xlYW4ge1xuICBpZiAob3B0aW9ucy5kcnlSdW4pIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBjb25zdCBmYWlsdXJlU3RhdHVzZXM6IG1lc3NhZ2VzLlRlc3RTdGVwUmVzdWx0U3RhdHVzW10gPSBbXG4gICAgbWVzc2FnZXMuVGVzdFN0ZXBSZXN1bHRTdGF0dXMuQU1CSUdVT1VTLFxuICAgIG1lc3NhZ2VzLlRlc3RTdGVwUmVzdWx0U3RhdHVzLkZBSUxFRCxcbiAgICBtZXNzYWdlcy5UZXN0U3RlcFJlc3VsdFN0YXR1cy5VTkRFRklORUQsXG4gIF1cbiAgaWYgKG9wdGlvbnMuc3RyaWN0KSB7XG4gICAgZmFpbHVyZVN0YXR1c2VzLnB1c2gobWVzc2FnZXMuVGVzdFN0ZXBSZXN1bHRTdGF0dXMuUEVORElORylcbiAgfVxuICByZXR1cm4gZmFpbHVyZVN0YXR1c2VzLmluY2x1ZGVzKHN0YXR1cylcbn1cbiJdfQ==
|
package/lib/runtime/index.js
CHANGED
|
@@ -15,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./make_runtime"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQThCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYWtlX3J1bnRpbWUnXG5leHBvcnQgeyBSdW50aW1lLCBSdW50aW1lT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG4iXX0=
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { EventEmitter } from 'node:events';
|
|
2
|
-
import { IdGenerator } from '@cucumber/messages';
|
|
3
|
-
import { IRunOptionsRuntime } from '../api';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { Runtime } from './types';
|
|
9
|
-
export declare function makeRuntime({ environment, logger, eventBroadcaster, sourcedPickles, newId, supportCodeLibrary, options, snippetOptions, }: {
|
|
1
|
+
import type { EventEmitter } from 'node:events';
|
|
2
|
+
import type { IdGenerator } from '@cucumber/messages';
|
|
3
|
+
import type { IRunOptionsRuntime } from '../api';
|
|
4
|
+
import type { SourcedPickle } from '../assemble';
|
|
5
|
+
import type { ILogger, IRunEnvironment } from '../environment';
|
|
6
|
+
import type { FormatOptions } from '../formatter';
|
|
7
|
+
import type { SupportCodeLibrary } from '../support_code_library_builder/types';
|
|
8
|
+
import type { Runtime } from './types';
|
|
9
|
+
export declare function makeRuntime({ testRunStartedId, environment, logger, eventBroadcaster, sourcedPickles, newId, supportCodeLibrary, options, snippetOptions, }: {
|
|
10
|
+
testRunStartedId: string;
|
|
10
11
|
environment: IRunEnvironment;
|
|
11
12
|
logger: ILogger;
|
|
12
13
|
eventBroadcaster: EventEmitter;
|
|
@@ -5,17 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.makeRuntime = makeRuntime;
|
|
7
7
|
const builder_1 = __importDefault(require("../formatter/builder"));
|
|
8
|
+
const coordinator_1 = require("./coordinator");
|
|
8
9
|
const adapter_1 = require("./parallel/adapter");
|
|
9
10
|
const adapter_2 = require("./serial/adapter");
|
|
10
|
-
|
|
11
|
-
async function makeRuntime({ environment, logger, eventBroadcaster, sourcedPickles, newId, supportCodeLibrary, options, snippetOptions, }) {
|
|
12
|
-
const testRunStartedId = newId();
|
|
11
|
+
async function makeRuntime({ testRunStartedId, environment, logger, eventBroadcaster, sourcedPickles, newId, supportCodeLibrary, options, snippetOptions, }) {
|
|
13
12
|
const adapter = await makeAdapter(options, snippetOptions, testRunStartedId, environment, logger, eventBroadcaster, supportCodeLibrary, newId);
|
|
14
13
|
return new coordinator_1.Coordinator(testRunStartedId, eventBroadcaster, newId, sourcedPickles, supportCodeLibrary, adapter);
|
|
15
14
|
}
|
|
16
15
|
async function makeAdapter(options, snippetOptions, testRunStartedId, environment, logger, eventBroadcaster, supportCodeLibrary, newId) {
|
|
17
16
|
if (options.parallel > 0) {
|
|
18
|
-
return new adapter_1.
|
|
17
|
+
return new adapter_1.WorkerThreadsAdapter(testRunStartedId, environment, logger, eventBroadcaster, options, snippetOptions, supportCodeLibrary);
|
|
19
18
|
}
|
|
20
19
|
const snippetBuilder = await builder_1.default.getStepDefinitionSnippetBuilder({
|
|
21
20
|
cwd: environment.cwd,
|
|
@@ -25,4 +24,4 @@ async function makeAdapter(options, snippetOptions, testRunStartedId, environmen
|
|
|
25
24
|
});
|
|
26
25
|
return new adapter_2.InProcessAdapter(testRunStartedId, eventBroadcaster, newId, options, supportCodeLibrary, snippetBuilder);
|
|
27
26
|
}
|
|
28
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9ydW50aW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bnRpbWUvbWFrZV9ydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUEsa0NBdUNDO0FBOUNELG1FQUFtRDtBQUVuRCwrQ0FBMkM7QUFDM0MsZ0RBQXlEO0FBQ3pELDhDQUFtRDtBQUc1QyxLQUFLLFVBQVUsV0FBVyxDQUFDLEVBQ2hDLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsS0FBSyxFQUNMLGtCQUFrQixFQUNsQixPQUFPLEVBQ1AsY0FBYyxHQVdmO0lBQ0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxXQUFXLENBQy9CLE9BQU8sRUFDUCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixLQUFLLENBQ04sQ0FBQTtJQUNELE9BQU8sSUFBSSx5QkFBVyxDQUNwQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLEtBQUssRUFDTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLE9BQU8sQ0FDUixDQUFBO0FBQ0gsQ0FBQztBQUVELEtBQUssVUFBVSxXQUFXLENBQ3hCLE9BQTJCLEVBQzNCLGNBQXlFLEVBQ3pFLGdCQUF3QixFQUN4QixXQUE0QixFQUM1QixNQUFlLEVBQ2YsZ0JBQThCLEVBQzlCLGtCQUFzQyxFQUN0QyxLQUFtQjtJQUVuQixJQUFJLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLDhCQUFvQixDQUM3QixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLE1BQU0sRUFDTixnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLGNBQWMsRUFDZCxrQkFBa0IsQ0FDbkIsQ0FBQTtJQUNILENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxNQUFNLGlCQUFnQixDQUFDLCtCQUErQixDQUFDO1FBQzVFLEdBQUcsRUFBRSxXQUFXLENBQUMsR0FBRztRQUNwQixnQkFBZ0IsRUFBRSxjQUFjLENBQUMsZ0JBQWdCO1FBQ2pELGFBQWEsRUFBRSxjQUFjLENBQUMsYUFBYTtRQUMzQyxrQkFBa0I7S0FDbkIsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxJQUFJLDBCQUFnQixDQUN6QixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLEtBQUssRUFDTCxPQUFPLEVBQ1Asa0JBQWtCLEVBQ2xCLGNBQWMsQ0FDZixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnbm9kZTpldmVudHMnXG5pbXBvcnQgdHlwZSB7IElkR2VuZXJhdG9yIH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHR5cGUgeyBJUnVuT3B0aW9uc1J1bnRpbWUgfSBmcm9tICcuLi9hcGknXG5pbXBvcnQgdHlwZSB7IFNvdXJjZWRQaWNrbGUgfSBmcm9tICcuLi9hc3NlbWJsZSdcbmltcG9ydCB0eXBlIHsgSUxvZ2dlciwgSVJ1bkVudmlyb25tZW50IH0gZnJvbSAnLi4vZW52aXJvbm1lbnQnXG5pbXBvcnQgdHlwZSB7IEZvcm1hdE9wdGlvbnMgfSBmcm9tICcuLi9mb3JtYXR0ZXInXG5pbXBvcnQgRm9ybWF0dGVyQnVpbGRlciBmcm9tICcuLi9mb3JtYXR0ZXIvYnVpbGRlcidcbmltcG9ydCB0eXBlIHsgU3VwcG9ydENvZGVMaWJyYXJ5IH0gZnJvbSAnLi4vc3VwcG9ydF9jb2RlX2xpYnJhcnlfYnVpbGRlci90eXBlcydcbmltcG9ydCB7IENvb3JkaW5hdG9yIH0gZnJvbSAnLi9jb29yZGluYXRvcidcbmltcG9ydCB7IFdvcmtlclRocmVhZHNBZGFwdGVyIH0gZnJvbSAnLi9wYXJhbGxlbC9hZGFwdGVyJ1xuaW1wb3J0IHsgSW5Qcm9jZXNzQWRhcHRlciB9IGZyb20gJy4vc2VyaWFsL2FkYXB0ZXInXG5pbXBvcnQgdHlwZSB7IFJ1bnRpbWUgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWFrZVJ1bnRpbWUoe1xuICB0ZXN0UnVuU3RhcnRlZElkLFxuICBlbnZpcm9ubWVudCxcbiAgbG9nZ2VyLFxuICBldmVudEJyb2FkY2FzdGVyLFxuICBzb3VyY2VkUGlja2xlcyxcbiAgbmV3SWQsXG4gIHN1cHBvcnRDb2RlTGlicmFyeSxcbiAgb3B0aW9ucyxcbiAgc25pcHBldE9wdGlvbnMsXG59OiB7XG4gIHRlc3RSdW5TdGFydGVkSWQ6IHN0cmluZ1xuICBlbnZpcm9ubWVudDogSVJ1bkVudmlyb25tZW50XG4gIGxvZ2dlcjogSUxvZ2dlclxuICBldmVudEJyb2FkY2FzdGVyOiBFdmVudEVtaXR0ZXJcbiAgbmV3SWQ6IElkR2VuZXJhdG9yLk5ld0lkXG4gIHNvdXJjZWRQaWNrbGVzOiBSZWFkb25seUFycmF5PFNvdXJjZWRQaWNrbGU+XG4gIHN1cHBvcnRDb2RlTGlicmFyeTogU3VwcG9ydENvZGVMaWJyYXJ5XG4gIG9wdGlvbnM6IElSdW5PcHRpb25zUnVudGltZVxuICBzbmlwcGV0T3B0aW9uczogUGljazxGb3JtYXRPcHRpb25zLCAnc25pcHBldEludGVyZmFjZScgfCAnc25pcHBldFN5bnRheCc+XG59KTogUHJvbWlzZTxSdW50aW1lPiB7XG4gIGNvbnN0IGFkYXB0ZXIgPSBhd2FpdCBtYWtlQWRhcHRlcihcbiAgICBvcHRpb25zLFxuICAgIHNuaXBwZXRPcHRpb25zLFxuICAgIHRlc3RSdW5TdGFydGVkSWQsXG4gICAgZW52aXJvbm1lbnQsXG4gICAgbG9nZ2VyLFxuICAgIGV2ZW50QnJvYWRjYXN0ZXIsXG4gICAgc3VwcG9ydENvZGVMaWJyYXJ5LFxuICAgIG5ld0lkXG4gIClcbiAgcmV0dXJuIG5ldyBDb29yZGluYXRvcihcbiAgICB0ZXN0UnVuU3RhcnRlZElkLFxuICAgIGV2ZW50QnJvYWRjYXN0ZXIsXG4gICAgbmV3SWQsXG4gICAgc291cmNlZFBpY2tsZXMsXG4gICAgc3VwcG9ydENvZGVMaWJyYXJ5LFxuICAgIGFkYXB0ZXJcbiAgKVxufVxuXG5hc3luYyBmdW5jdGlvbiBtYWtlQWRhcHRlcihcbiAgb3B0aW9uczogSVJ1bk9wdGlvbnNSdW50aW1lLFxuICBzbmlwcGV0T3B0aW9uczogUGljazxGb3JtYXRPcHRpb25zLCAnc25pcHBldEludGVyZmFjZScgfCAnc25pcHBldFN5bnRheCc+LFxuICB0ZXN0UnVuU3RhcnRlZElkOiBzdHJpbmcsXG4gIGVudmlyb25tZW50OiBJUnVuRW52aXJvbm1lbnQsXG4gIGxvZ2dlcjogSUxvZ2dlcixcbiAgZXZlbnRCcm9hZGNhc3RlcjogRXZlbnRFbWl0dGVyLFxuICBzdXBwb3J0Q29kZUxpYnJhcnk6IFN1cHBvcnRDb2RlTGlicmFyeSxcbiAgbmV3SWQ6ICgpID0+IHN0cmluZ1xuKSB7XG4gIGlmIChvcHRpb25zLnBhcmFsbGVsID4gMCkge1xuICAgIHJldHVybiBuZXcgV29ya2VyVGhyZWFkc0FkYXB0ZXIoXG4gICAgICB0ZXN0UnVuU3RhcnRlZElkLFxuICAgICAgZW52aXJvbm1lbnQsXG4gICAgICBsb2dnZXIsXG4gICAgICBldmVudEJyb2FkY2FzdGVyLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIHNuaXBwZXRPcHRpb25zLFxuICAgICAgc3VwcG9ydENvZGVMaWJyYXJ5XG4gICAgKVxuICB9XG4gIGNvbnN0IHNuaXBwZXRCdWlsZGVyID0gYXdhaXQgRm9ybWF0dGVyQnVpbGRlci5nZXRTdGVwRGVmaW5pdGlvblNuaXBwZXRCdWlsZGVyKHtcbiAgICBjd2Q6IGVudmlyb25tZW50LmN3ZCxcbiAgICBzbmlwcGV0SW50ZXJmYWNlOiBzbmlwcGV0T3B0aW9ucy5zbmlwcGV0SW50ZXJmYWNlLFxuICAgIHNuaXBwZXRTeW50YXg6IHNuaXBwZXRPcHRpb25zLnNuaXBwZXRTeW50YXgsXG4gICAgc3VwcG9ydENvZGVMaWJyYXJ5LFxuICB9KVxuICByZXR1cm4gbmV3IEluUHJvY2Vzc0FkYXB0ZXIoXG4gICAgdGVzdFJ1blN0YXJ0ZWRJZCxcbiAgICBldmVudEJyb2FkY2FzdGVyLFxuICAgIG5ld0lkLFxuICAgIG9wdGlvbnMsXG4gICAgc3VwcG9ydENvZGVMaWJyYXJ5LFxuICAgIHNuaXBwZXRCdWlsZGVyXG4gIClcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IdGenerator, PickleStep, Suggestion } from '@cucumber/messages';
|
|
2
|
-
import StepDefinitionSnippetBuilder from '../formatter/step_definition_snippet_builder';
|
|
1
|
+
import { type IdGenerator, type PickleStep, type Suggestion } from '@cucumber/messages';
|
|
2
|
+
import type StepDefinitionSnippetBuilder from '../formatter/step_definition_snippet_builder';
|
|
3
3
|
export declare function makeSuggestion({ newId, snippetBuilder, pickleStep, }: {
|
|
4
4
|
newId: IdGenerator.NewId;
|
|
5
5
|
snippetBuilder: StepDefinitionSnippetBuilder;
|