@cucumber/cucumber 12.8.3 → 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.
Files changed (396) hide show
  1. package/README.md +8 -3
  2. package/bin/cucumber.js +2 -1
  3. package/lib/api/convert_configuration.d.ts +3 -4
  4. package/lib/api/convert_configuration.js +9 -11
  5. package/lib/api/emit_support_code_messages.d.ts +3 -3
  6. package/lib/api/emit_support_code_messages.js +13 -28
  7. package/lib/api/formatters.d.ts +7 -7
  8. package/lib/api/formatters.js +5 -2
  9. package/lib/api/gherkin.d.ts +3 -3
  10. package/lib/api/gherkin.js +2 -4
  11. package/lib/api/index.d.ts +2 -2
  12. package/lib/api/index.js +1 -1
  13. package/lib/api/load_configuration.d.ts +2 -2
  14. package/lib/api/load_configuration.js +4 -5
  15. package/lib/api/load_sources.d.ts +2 -2
  16. package/lib/api/load_sources.js +2 -2
  17. package/lib/api/load_support.d.ts +2 -2
  18. package/lib/api/load_support.js +3 -3
  19. package/lib/api/plugins.d.ts +2 -2
  20. package/lib/api/plugins.js +8 -7
  21. package/lib/api/run_cucumber.d.ts +3 -3
  22. package/lib/api/run_cucumber.js +17 -1
  23. package/lib/api/support.d.ts +3 -3
  24. package/lib/api/support.js +5 -5
  25. package/lib/api/test_helpers.d.ts +1 -1
  26. package/lib/api/test_helpers.js +8 -10
  27. package/lib/api/types.d.ts +9 -5
  28. package/lib/api/types.js +1 -1
  29. package/lib/assemble/assemble_test_cases.d.ts +4 -4
  30. package/lib/assemble/assemble_test_cases.js +2 -6
  31. package/lib/assemble/index.js +1 -1
  32. package/lib/assemble/types.d.ts +1 -1
  33. package/lib/assemble/types.js +1 -1
  34. package/lib/cli/i18n.js +5 -3
  35. package/lib/cli/index.d.ts +1 -1
  36. package/lib/cli/index.js +2 -2
  37. package/lib/cli/install_validator.js +4 -3
  38. package/lib/cli/run.js +7 -6
  39. package/lib/cli/validate_node_engine_version.js +2 -4
  40. package/lib/configuration/argv_parser.d.ts +1 -1
  41. package/lib/configuration/argv_parser.js +7 -7
  42. package/lib/configuration/check_schema.d.ts +1 -1
  43. package/lib/configuration/check_schema.js +19 -6
  44. package/lib/configuration/default_configuration.d.ts +1 -1
  45. package/lib/configuration/default_configuration.js +2 -1
  46. package/lib/configuration/from_file.d.ts +2 -2
  47. package/lib/configuration/from_file.js +6 -6
  48. package/lib/configuration/helpers.js +1 -1
  49. package/lib/configuration/index.js +1 -1
  50. package/lib/configuration/locate_file.js +3 -3
  51. package/lib/configuration/merge_configurations.d.ts +1 -1
  52. package/lib/configuration/merge_configurations.js +2 -10
  53. package/lib/configuration/parse_configuration.d.ts +2 -2
  54. package/lib/configuration/parse_configuration.js +3 -11
  55. package/lib/configuration/split_format_descriptor.d.ts +1 -2
  56. package/lib/configuration/split_format_descriptor.js +11 -71
  57. package/lib/configuration/types.d.ts +26 -3
  58. package/lib/configuration/types.js +1 -1
  59. package/lib/configuration/validate_configuration.d.ts +2 -2
  60. package/lib/configuration/validate_configuration.js +5 -3
  61. package/lib/environment/console_logger.d.ts +2 -2
  62. package/lib/environment/console_logger.js +1 -1
  63. package/lib/environment/index.js +1 -1
  64. package/lib/environment/make_environment.d.ts +1 -1
  65. package/lib/environment/make_environment.js +1 -1
  66. package/lib/environment/types.d.ts +1 -1
  67. package/lib/environment/types.js +1 -1
  68. package/lib/filter/filter_plugin.d.ts +2 -2
  69. package/lib/filter/filter_plugin.js +1 -1
  70. package/lib/filter/index.d.ts +1 -1
  71. package/lib/filter/index.js +2 -2
  72. package/lib/filter/order_pickles.d.ts +2 -2
  73. package/lib/filter/order_pickles.js +1 -1
  74. package/lib/filter/types.d.ts +1 -1
  75. package/lib/filter/types.js +1 -1
  76. package/lib/filter_stack_trace.d.ts +1 -1
  77. package/lib/filter_stack_trace.js +1 -1
  78. package/lib/formatter/builder.d.ts +7 -6
  79. package/lib/formatter/builder.js +6 -7
  80. package/lib/formatter/builtin/html.js +2 -2
  81. package/lib/formatter/builtin/index.d.ts +4 -4
  82. package/lib/formatter/builtin/index.js +14 -13
  83. package/lib/formatter/builtin/message.js +2 -2
  84. package/lib/formatter/builtin/pretty.d.ts +6 -0
  85. package/lib/formatter/builtin/pretty.js +19 -0
  86. package/lib/formatter/builtin/progress-bar.d.ts +6 -0
  87. package/lib/formatter/builtin/progress-bar.js +22 -0
  88. package/lib/formatter/builtin/progress.d.ts +6 -0
  89. package/lib/formatter/builtin/progress.js +18 -0
  90. package/lib/formatter/builtin/resolve_terminal_options.d.ts +3 -0
  91. package/lib/formatter/builtin/resolve_terminal_options.js +15 -0
  92. package/lib/formatter/builtin/summary.d.ts +6 -0
  93. package/lib/formatter/builtin/summary.js +15 -0
  94. package/lib/formatter/create_stream.d.ts +2 -2
  95. package/lib/formatter/create_stream.js +3 -5
  96. package/lib/formatter/find_class_or_plugin.js +1 -1
  97. package/lib/formatter/get_color_fns.d.ts +3 -3
  98. package/lib/formatter/get_color_fns.js +23 -52
  99. package/lib/formatter/helpers/duration_helpers.d.ts +1 -1
  100. package/lib/formatter/helpers/duration_helpers.js +1 -1
  101. package/lib/formatter/helpers/event_data_collector.d.ts +2 -2
  102. package/lib/formatter/helpers/event_data_collector.js +4 -6
  103. package/lib/formatter/helpers/formatters.d.ts +1 -1
  104. package/lib/formatter/helpers/formatters.js +1 -3
  105. package/lib/formatter/helpers/gherkin_document_parser.d.ts +1 -1
  106. package/lib/formatter/helpers/gherkin_document_parser.js +20 -18
  107. package/lib/formatter/helpers/index.d.ts +3 -3
  108. package/lib/formatter/helpers/index.js +8 -8
  109. package/lib/formatter/helpers/issue_helpers.d.ts +5 -5
  110. package/lib/formatter/helpers/issue_helpers.js +2 -2
  111. package/lib/formatter/helpers/keyword_type.js +2 -2
  112. package/lib/formatter/helpers/location_helpers.d.ts +1 -1
  113. package/lib/formatter/helpers/location_helpers.js +1 -1
  114. package/lib/formatter/helpers/pickle_parser.d.ts +2 -2
  115. package/lib/formatter/helpers/pickle_parser.js +8 -9
  116. package/lib/formatter/helpers/step_argument_formatter.d.ts +1 -1
  117. package/lib/formatter/helpers/step_argument_formatter.js +1 -1
  118. package/lib/formatter/helpers/summary_helpers.d.ts +2 -2
  119. package/lib/formatter/helpers/summary_helpers.js +8 -4
  120. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +4 -4
  121. package/lib/formatter/helpers/test_case_attempt_formatter.js +5 -5
  122. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +4 -4
  123. package/lib/formatter/helpers/test_case_attempt_parser.js +4 -9
  124. package/lib/formatter/helpers/usage_helpers/index.d.ts +3 -3
  125. package/lib/formatter/helpers/usage_helpers/index.js +5 -6
  126. package/lib/formatter/import_code.js +2 -2
  127. package/lib/formatter/index.d.ts +25 -13
  128. package/lib/formatter/index.js +2 -2
  129. package/lib/formatter/json_formatter.d.ts +2 -2
  130. package/lib/formatter/json_formatter.js +9 -14
  131. package/lib/formatter/progress_formatter.d.ts +4 -1
  132. package/lib/formatter/progress_formatter.js +4 -1
  133. package/lib/formatter/rerun_formatter.d.ts +1 -1
  134. package/lib/formatter/rerun_formatter.js +2 -2
  135. package/lib/formatter/resolve_implementation.d.ts +1 -1
  136. package/lib/formatter/resolve_implementation.js +2 -2
  137. package/lib/formatter/snippets_formatter.d.ts +1 -1
  138. package/lib/formatter/snippets_formatter.js +2 -2
  139. package/lib/formatter/step_definition_snippet_builder/index.d.ts +4 -4
  140. package/lib/formatter/step_definition_snippet_builder/index.js +3 -3
  141. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +1 -1
  142. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +3 -5
  143. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +1 -1
  144. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +1 -1
  145. package/lib/formatter/summary_formatter.d.ts +6 -3
  146. package/lib/formatter/summary_formatter.js +6 -3
  147. package/lib/formatter/usage_formatter.d.ts +1 -1
  148. package/lib/formatter/usage_formatter.js +4 -4
  149. package/lib/formatter/usage_json_formatter.d.ts +1 -1
  150. package/lib/formatter/usage_json_formatter.js +3 -3
  151. package/lib/index.d.ts +6 -11
  152. package/lib/index.js +13 -20
  153. package/lib/models/data_table.d.ts +1 -1
  154. package/lib/models/data_table.js +9 -5
  155. package/lib/models/definition.d.ts +4 -4
  156. package/lib/models/definition.js +1 -1
  157. package/lib/models/gherkin_step_keyword.js +1 -1
  158. package/lib/models/step_definition.d.ts +3 -3
  159. package/lib/models/step_definition.js +1 -1
  160. package/lib/models/test_case_hook_definition.d.ts +2 -2
  161. package/lib/models/test_case_hook_definition.js +1 -1
  162. package/lib/models/test_run_hook_definition.d.ts +1 -1
  163. package/lib/models/test_run_hook_definition.js +1 -1
  164. package/lib/models/test_step_hook_definition.d.ts +2 -2
  165. package/lib/models/test_step_hook_definition.js +1 -1
  166. package/lib/paths/index.js +1 -1
  167. package/lib/paths/paths.d.ts +3 -3
  168. package/lib/paths/paths.js +42 -18
  169. package/lib/paths/types.js +1 -1
  170. package/lib/pickle_filter.d.ts +1 -1
  171. package/lib/pickle_filter.js +3 -3
  172. package/lib/plugin/index.d.ts +1 -1
  173. package/lib/plugin/index.js +2 -2
  174. package/lib/plugin/plugin_manager.d.ts +6 -3
  175. package/lib/plugin/plugin_manager.js +33 -22
  176. package/lib/plugin/types.d.ts +76 -10
  177. package/lib/plugin/types.js +1 -1
  178. package/lib/publish/index.js +1 -1
  179. package/lib/publish/publish_plugin.d.ts +2 -2
  180. package/lib/publish/publish_plugin.js +29 -24
  181. package/lib/publish/types.js +1 -1
  182. package/lib/runtime/attachment_manager/index.d.ts +1 -1
  183. package/lib/runtime/attachment_manager/index.js +3 -6
  184. package/lib/runtime/coordinator.d.ts +13 -6
  185. package/lib/runtime/coordinator.js +26 -18
  186. package/lib/runtime/format_error.d.ts +1 -1
  187. package/lib/runtime/format_error.js +43 -15
  188. package/lib/runtime/helpers.d.ts +2 -2
  189. package/lib/runtime/helpers.js +2 -2
  190. package/lib/runtime/index.js +1 -1
  191. package/lib/runtime/make_runtime.d.ts +10 -9
  192. package/lib/runtime/make_runtime.js +4 -5
  193. package/lib/runtime/make_suggestion.d.ts +2 -2
  194. package/lib/runtime/make_suggestion.js +1 -1
  195. package/lib/runtime/parallel/adapter.d.ts +27 -39
  196. package/lib/runtime/parallel/adapter.js +124 -122
  197. package/lib/runtime/parallel/test_cases_phase.d.ts +19 -0
  198. package/lib/runtime/parallel/test_cases_phase.js +63 -0
  199. package/lib/runtime/parallel/test_run_hooks_phase.d.ts +11 -0
  200. package/lib/runtime/parallel/test_run_hooks_phase.js +33 -0
  201. package/lib/runtime/parallel/types.d.ts +38 -22
  202. package/lib/runtime/parallel/types.js +1 -1
  203. package/lib/runtime/parallel/worker.mjs +65 -0
  204. package/lib/runtime/scope/index.js +1 -1
  205. package/lib/runtime/scope/make_proxy.js +1 -1
  206. package/lib/runtime/scope/test_case_scope.d.ts +1 -1
  207. package/lib/runtime/scope/test_case_scope.js +1 -1
  208. package/lib/runtime/scope/test_run_scope.d.ts +1 -1
  209. package/lib/runtime/scope/test_run_scope.js +1 -1
  210. package/lib/runtime/serial/adapter.d.ts +15 -9
  211. package/lib/runtime/serial/adapter.js +21 -9
  212. package/lib/runtime/step_runner.d.ts +2 -2
  213. package/lib/runtime/step_runner.js +2 -2
  214. package/lib/runtime/stopwatch.d.ts +1 -1
  215. package/lib/runtime/stopwatch.js +1 -1
  216. package/lib/runtime/test_case_runner.d.ts +10 -9
  217. package/lib/runtime/test_case_runner.js +20 -12
  218. package/lib/runtime/types.d.ts +7 -3
  219. package/lib/runtime/types.js +1 -1
  220. package/lib/runtime/worker.d.ts +14 -13
  221. package/lib/runtime/worker.js +26 -44
  222. package/lib/sharding/index.js +1 -1
  223. package/lib/sharding/sharding_plugin.d.ts +2 -2
  224. package/lib/sharding/sharding_plugin.js +1 -1
  225. package/lib/step_arguments.d.ts +1 -1
  226. package/lib/step_arguments.js +1 -1
  227. package/lib/support_code_library_builder/build_parameter_type.d.ts +1 -1
  228. package/lib/support_code_library_builder/build_parameter_type.js +5 -3
  229. package/lib/support_code_library_builder/context.js +1 -1
  230. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +1 -1
  231. package/lib/support_code_library_builder/get_definition_line_and_uri.js +1 -1
  232. package/lib/support_code_library_builder/index.d.ts +7 -7
  233. package/lib/support_code_library_builder/index.js +9 -9
  234. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +1 -1
  235. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +3 -4
  236. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +2 -2
  237. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +1 -1
  238. package/lib/support_code_library_builder/types.d.ts +8 -8
  239. package/lib/support_code_library_builder/types.js +1 -1
  240. package/lib/support_code_library_builder/validate_arguments.d.ts +1 -1
  241. package/lib/support_code_library_builder/validate_arguments.js +1 -1
  242. package/lib/support_code_library_builder/world.d.ts +2 -2
  243. package/lib/support_code_library_builder/world.js +2 -2
  244. package/lib/time.js +2 -2
  245. package/lib/try_require.js +3 -2
  246. package/lib/types/index.js +1 -1
  247. package/lib/uncaught_exception_manager.js +1 -1
  248. package/lib/user_code_runner.d.ts +1 -1
  249. package/lib/user_code_runner.js +3 -3
  250. package/lib/value_checker.js +1 -1
  251. package/lib/version.d.ts +1 -1
  252. package/lib/version.js +2 -2
  253. package/lib/wrapper.mjs +1 -5
  254. package/package.json +40 -63
  255. package/lib/api/convert_configuration.js.map +0 -1
  256. package/lib/api/emit_support_code_messages.js.map +0 -1
  257. package/lib/api/formatters.js.map +0 -1
  258. package/lib/api/gherkin.js.map +0 -1
  259. package/lib/api/index.js.map +0 -1
  260. package/lib/api/load_configuration.js.map +0 -1
  261. package/lib/api/load_sources.js.map +0 -1
  262. package/lib/api/load_support.js.map +0 -1
  263. package/lib/api/plugins.js.map +0 -1
  264. package/lib/api/run_cucumber.js.map +0 -1
  265. package/lib/api/support.js.map +0 -1
  266. package/lib/api/test_helpers.js.map +0 -1
  267. package/lib/api/types.js.map +0 -1
  268. package/lib/assemble/assemble_test_cases.js.map +0 -1
  269. package/lib/assemble/index.js.map +0 -1
  270. package/lib/assemble/types.js.map +0 -1
  271. package/lib/cli/i18n.js.map +0 -1
  272. package/lib/cli/index.js.map +0 -1
  273. package/lib/cli/install_validator.js.map +0 -1
  274. package/lib/cli/run.js.map +0 -1
  275. package/lib/cli/validate_node_engine_version.js.map +0 -1
  276. package/lib/configuration/argv_parser.js.map +0 -1
  277. package/lib/configuration/check_schema.js.map +0 -1
  278. package/lib/configuration/default_configuration.js.map +0 -1
  279. package/lib/configuration/from_file.js.map +0 -1
  280. package/lib/configuration/helpers.js.map +0 -1
  281. package/lib/configuration/index.js.map +0 -1
  282. package/lib/configuration/locate_file.js.map +0 -1
  283. package/lib/configuration/merge_configurations.js.map +0 -1
  284. package/lib/configuration/parse_configuration.js.map +0 -1
  285. package/lib/configuration/split_format_descriptor.js.map +0 -1
  286. package/lib/configuration/types.js.map +0 -1
  287. package/lib/configuration/validate_configuration.js.map +0 -1
  288. package/lib/environment/console_logger.js.map +0 -1
  289. package/lib/environment/index.js.map +0 -1
  290. package/lib/environment/make_environment.js.map +0 -1
  291. package/lib/environment/types.js.map +0 -1
  292. package/lib/filter/filter_plugin.js.map +0 -1
  293. package/lib/filter/index.js.map +0 -1
  294. package/lib/filter/order_pickles.js.map +0 -1
  295. package/lib/filter/types.js.map +0 -1
  296. package/lib/filter_stack_trace.js.map +0 -1
  297. package/lib/formatter/builder.js.map +0 -1
  298. package/lib/formatter/builtin/html.js.map +0 -1
  299. package/lib/formatter/builtin/index.js.map +0 -1
  300. package/lib/formatter/builtin/message.js.map +0 -1
  301. package/lib/formatter/create_stream.js.map +0 -1
  302. package/lib/formatter/find_class_or_plugin.js.map +0 -1
  303. package/lib/formatter/get_color_fns.js.map +0 -1
  304. package/lib/formatter/helpers/duration_helpers.js.map +0 -1
  305. package/lib/formatter/helpers/event_data_collector.js.map +0 -1
  306. package/lib/formatter/helpers/formatters.js.map +0 -1
  307. package/lib/formatter/helpers/gherkin_document_parser.js.map +0 -1
  308. package/lib/formatter/helpers/index.js.map +0 -1
  309. package/lib/formatter/helpers/issue_helpers.js.map +0 -1
  310. package/lib/formatter/helpers/keyword_type.js.map +0 -1
  311. package/lib/formatter/helpers/location_helpers.js.map +0 -1
  312. package/lib/formatter/helpers/pickle_parser.js.map +0 -1
  313. package/lib/formatter/helpers/step_argument_formatter.js.map +0 -1
  314. package/lib/formatter/helpers/summary_helpers.js.map +0 -1
  315. package/lib/formatter/helpers/test_case_attempt_formatter.js.map +0 -1
  316. package/lib/formatter/helpers/test_case_attempt_parser.js.map +0 -1
  317. package/lib/formatter/helpers/usage_helpers/index.js.map +0 -1
  318. package/lib/formatter/import_code.js.map +0 -1
  319. package/lib/formatter/index.js.map +0 -1
  320. package/lib/formatter/json_formatter.js.map +0 -1
  321. package/lib/formatter/progress_bar_formatter.d.ts +0 -18
  322. package/lib/formatter/progress_bar_formatter.js +0 -103
  323. package/lib/formatter/progress_bar_formatter.js.map +0 -1
  324. package/lib/formatter/progress_formatter.js.map +0 -1
  325. package/lib/formatter/rerun_formatter.js.map +0 -1
  326. package/lib/formatter/resolve_implementation.js.map +0 -1
  327. package/lib/formatter/snippets_formatter.js.map +0 -1
  328. package/lib/formatter/step_definition_snippet_builder/index.js.map +0 -1
  329. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js.map +0 -1
  330. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js.map +0 -1
  331. package/lib/formatter/summary_formatter.js.map +0 -1
  332. package/lib/formatter/usage_formatter.js.map +0 -1
  333. package/lib/formatter/usage_json_formatter.js.map +0 -1
  334. package/lib/index.js.map +0 -1
  335. package/lib/models/data_table.js.map +0 -1
  336. package/lib/models/definition.js.map +0 -1
  337. package/lib/models/gherkin_step_keyword.js.map +0 -1
  338. package/lib/models/step_definition.js.map +0 -1
  339. package/lib/models/test_case_hook_definition.js.map +0 -1
  340. package/lib/models/test_run_hook_definition.js.map +0 -1
  341. package/lib/models/test_step_hook_definition.js.map +0 -1
  342. package/lib/paths/index.js.map +0 -1
  343. package/lib/paths/paths.js.map +0 -1
  344. package/lib/paths/types.js.map +0 -1
  345. package/lib/pickle_filter.js.map +0 -1
  346. package/lib/plugin/index.js.map +0 -1
  347. package/lib/plugin/plugin_manager.js.map +0 -1
  348. package/lib/plugin/types.js.map +0 -1
  349. package/lib/publish/index.js.map +0 -1
  350. package/lib/publish/publish_plugin.js.map +0 -1
  351. package/lib/publish/types.js.map +0 -1
  352. package/lib/runtime/attachment_manager/index.js.map +0 -1
  353. package/lib/runtime/coordinator.js.map +0 -1
  354. package/lib/runtime/format_error.js.map +0 -1
  355. package/lib/runtime/helpers.js.map +0 -1
  356. package/lib/runtime/index.js.map +0 -1
  357. package/lib/runtime/make_runtime.js.map +0 -1
  358. package/lib/runtime/make_suggestion.js.map +0 -1
  359. package/lib/runtime/parallel/adapter.js.map +0 -1
  360. package/lib/runtime/parallel/run_worker.js +0 -25
  361. package/lib/runtime/parallel/run_worker.js.map +0 -1
  362. package/lib/runtime/parallel/types.js.map +0 -1
  363. package/lib/runtime/parallel/worker.d.ts +0 -25
  364. package/lib/runtime/parallel/worker.js +0 -83
  365. package/lib/runtime/parallel/worker.js.map +0 -1
  366. package/lib/runtime/scope/index.js.map +0 -1
  367. package/lib/runtime/scope/make_proxy.js.map +0 -1
  368. package/lib/runtime/scope/test_case_scope.js.map +0 -1
  369. package/lib/runtime/scope/test_run_scope.js.map +0 -1
  370. package/lib/runtime/serial/adapter.js.map +0 -1
  371. package/lib/runtime/step_runner.js.map +0 -1
  372. package/lib/runtime/stopwatch.js.map +0 -1
  373. package/lib/runtime/test_case_runner.js.map +0 -1
  374. package/lib/runtime/types.js.map +0 -1
  375. package/lib/runtime/worker.js.map +0 -1
  376. package/lib/sharding/index.js.map +0 -1
  377. package/lib/sharding/sharding_plugin.js.map +0 -1
  378. package/lib/step_arguments.js.map +0 -1
  379. package/lib/support_code_library_builder/build_parameter_type.js.map +0 -1
  380. package/lib/support_code_library_builder/context.js.map +0 -1
  381. package/lib/support_code_library_builder/get_definition_line_and_uri.js.map +0 -1
  382. package/lib/support_code_library_builder/index.js.map +0 -1
  383. package/lib/support_code_library_builder/parallel_can_assign_helpers.js.map +0 -1
  384. package/lib/support_code_library_builder/sourced_parameter_type_registry.js.map +0 -1
  385. package/lib/support_code_library_builder/types.js.map +0 -1
  386. package/lib/support_code_library_builder/validate_arguments.js.map +0 -1
  387. package/lib/support_code_library_builder/world.js.map +0 -1
  388. package/lib/time.js.map +0 -1
  389. package/lib/try_require.js.map +0 -1
  390. package/lib/tsconfig.node.tsbuildinfo +0 -1
  391. package/lib/types/index.js.map +0 -1
  392. package/lib/uncaught_exception_manager.js.map +0 -1
  393. package/lib/user_code_runner.js.map +0 -1
  394. package/lib/value_checker.js.map +0 -1
  395. package/lib/version.js.map +0 -1
  396. /package/lib/runtime/parallel/{run_worker.d.ts → worker.d.mts} +0 -0
@@ -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
- const stopwatch_1 = require("./stopwatch");
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
- this.eventBroadcaster.emit('envelope', {
23
- testRunStarted: {
24
- id: this.testRunStartedId,
25
- timestamp: (0, stopwatch_1.timestamp)(),
26
- },
27
- });
28
- const assembledTestCases = await (0, assemble_1.assembleTestCases)(this.testRunStartedId, this.eventBroadcaster, this.newId, this.sourcedPickles, this.supportCodeLibrary);
29
- const success = await this.adapter.run(assembledTestCases);
30
- this.eventBroadcaster.emit('envelope', {
31
- testRunFinished: {
32
- testRunStartedId: this.testRunStartedId,
33
- timestamp: (0, stopwatch_1.timestamp)(),
34
- success,
35
- },
36
- });
37
- return success;
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=coordinator.js.map
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
- const stackTrace = (0, assertion_error_formatter_1.format)(error, {
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=format_error.js.map
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0X2Vycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bnRpbWUvZm9ybWF0X2Vycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBUUEsa0NBMEJDO0FBakNELHlFQUFrRDtBQUNsRCw0RUFBaUQ7QUFDakQsOERBQXdEO0FBRXhELDJEQUEyRDtBQUMzRCxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUE7QUFFMUIsU0FBZ0IsV0FBVyxDQUN6QixLQUFxQixFQUNyQixpQkFBMEI7SUFFMUIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixNQUFNLFVBQVUsR0FBRyxVQUFVLEtBQUssRUFBRSxDQUFBO1FBQ3BDLE9BQU87WUFDTCxPQUFPLEVBQUUsVUFBVTtZQUNuQixTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsVUFBVTthQUNYO1NBQ0YsQ0FBQTtJQUNILENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtJQUNqRSxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQTtJQUNuQyxNQUFNLE9BQU8sR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQTtJQUNqRSxPQUFPO1FBQ0wsT0FBTyxFQUFFLFVBQVU7UUFDbkIsU0FBUyxFQUFFO1lBQ1QsSUFBSTtZQUNKLE9BQU87WUFDUCxVQUFVO1NBQ1g7S0FDRixDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsS0FBWSxFQUFFLGlCQUEwQjtJQUNwRSxJQUFJLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtJQUN4RCxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDdEMsSUFBSSxLQUFLLEdBQWEsS0FBNkIsQ0FBQyxLQUFLLENBQUE7SUFDekQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDbkUsSUFBSSxLQUFLLElBQUksZUFBZSxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLDZDQUE2QyxDQUFBO1lBQ3ZELE1BQUs7UUFDUCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLHVDQUF1QyxDQUFBO1lBQ2pELE1BQUs7UUFDUCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNmLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxnQkFBZ0IsaUJBQWlCLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FBQTtZQUN2RSxLQUFLLEdBQUksS0FBNkIsQ0FBQyxLQUFLLENBQUE7UUFDOUMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksZ0JBQWdCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFBO1lBQ3pDLE1BQUs7UUFDUCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsS0FBWSxFQUFFLGlCQUEwQjtJQUNqRSxJQUFJLG1CQUFtQixHQUFXLEtBQUssQ0FBQyxLQUFLLENBQUE7SUFDN0MsSUFBSSxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsNEJBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2pELE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFBLHFDQUFnQixFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUE7UUFDckYsbUJBQW1CLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AseUVBQXlFO0lBQzNFLENBQUM7SUFDRCxPQUFPLElBQUEsa0NBQU0sRUFBQyxLQUFLLEVBQUU7UUFDbkIsUUFBUSxFQUFFO1lBQ1IsVUFBVSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7Z0JBQzVCLE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEtBQUssbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO1lBQ2pFLENBQUM7U0FDRjtLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRlc3RTdGVwUmVzdWx0IH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnYXNzZXJ0aW9uLWVycm9yLWZvcm1hdHRlcidcbmltcG9ydCBlcnJvclN0YWNrUGFyc2VyIGZyb20gJ2Vycm9yLXN0YWNrLXBhcnNlcidcbmltcG9ydCB7IGZpbHRlclN0YWNrVHJhY2UgfSBmcm9tICcuLi9maWx0ZXJfc3RhY2tfdHJhY2UnXG5cbi8vIEd1YXJkcyBhZ2FpbnN0IHJ1bmF3YXkgb3Igc2VsZi1yZWZlcmVudGlhbCBjYXVzZSBjaGFpbnMuXG5jb25zdCBNQVhfQ0FVU0VfREVQVEggPSAxMFxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RXJyb3IoXG4gIGVycm9yOiBFcnJvciB8IHN0cmluZyxcbiAgZmlsdGVyU3RhY2tUcmFjZXM6IGJvb2xlYW5cbik6IFBpY2s8VGVzdFN0ZXBSZXN1bHQsICdtZXNzYWdlJyB8ICdleGNlcHRpb24nPiB7XG4gIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3Qgc3RhY2tUcmFjZSA9IGBFcnJvcjogJHtlcnJvcn1gXG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2U6IHN0YWNrVHJhY2UsXG4gICAgICBleGNlcHRpb246IHtcbiAgICAgICAgdHlwZTogJ0Vycm9yJyxcbiAgICAgICAgbWVzc2FnZTogZXJyb3IsXG4gICAgICAgIHN0YWNrVHJhY2UsXG4gICAgICB9LFxuICAgIH1cbiAgfVxuICBjb25zdCBzdGFja1RyYWNlID0gZm9ybWF0RXJyb3JBbmRDYXVzZXMoZXJyb3IsIGZpbHRlclN0YWNrVHJhY2VzKVxuICBjb25zdCB0eXBlID0gZXJyb3IuY29uc3RydWN0b3IubmFtZVxuICBjb25zdCBtZXNzYWdlID0gdHlwZW9mIGVycm9yID09PSAnc3RyaW5nJyA/IGVycm9yIDogZXJyb3IubWVzc2FnZVxuICByZXR1cm4ge1xuICAgIG1lc3NhZ2U6IHN0YWNrVHJhY2UsXG4gICAgZXhjZXB0aW9uOiB7XG4gICAgICB0eXBlLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIHN0YWNrVHJhY2UsXG4gICAgfSxcbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JtYXRFcnJvckFuZENhdXNlcyhlcnJvcjogRXJyb3IsIGZpbHRlclN0YWNrVHJhY2VzOiBib29sZWFuKTogc3RyaW5nIHtcbiAgbGV0IG91dHB1dCA9IGZvcm1hdFNpbmdsZUVycm9yKGVycm9yLCBmaWx0ZXJTdGFja1RyYWNlcylcbiAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8dW5rbm93bj4oW2Vycm9yXSlcbiAgbGV0IGNhdXNlOiB1bmtub3duID0gKGVycm9yIGFzIHsgY2F1c2U/OiB1bmtub3duIH0pLmNhdXNlXG4gIGZvciAobGV0IGRlcHRoID0gMDsgY2F1c2UgIT09IHVuZGVmaW5lZCAmJiBjYXVzZSAhPT0gbnVsbDsgZGVwdGgrKykge1xuICAgIGlmIChkZXB0aCA+PSBNQVhfQ0FVU0VfREVQVEgpIHtcbiAgICAgIG91dHB1dCArPSAnXFxuQ2F1c2VkIGJ5OiAuLi4gKGZ1cnRoZXIgY2F1c2VzIHRydW5jYXRlZCknXG4gICAgICBicmVha1xuICAgIH1cbiAgICBpZiAoc2Vlbi5oYXMoY2F1c2UpKSB7XG4gICAgICBvdXRwdXQgKz0gJ1xcbkNhdXNlZCBieTogLi4uIChjaXJjdWxhciByZWZlcmVuY2UpJ1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgc2Vlbi5hZGQoY2F1c2UpXG4gICAgaWYgKGNhdXNlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIG91dHB1dCArPSBgXFxuQ2F1c2VkIGJ5OiAke2Zvcm1hdFNpbmdsZUVycm9yKGNhdXNlLCBmaWx0ZXJTdGFja1RyYWNlcyl9YFxuICAgICAgY2F1c2UgPSAoY2F1c2UgYXMgeyBjYXVzZT86IHVua25vd24gfSkuY2F1c2VcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0cHV0ICs9IGBcXG5DYXVzZWQgYnk6ICR7U3RyaW5nKGNhdXNlKX1gXG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3V0cHV0XG59XG5cbmZ1bmN0aW9uIGZvcm1hdFNpbmdsZUVycm9yKGVycm9yOiBFcnJvciwgZmlsdGVyU3RhY2tUcmFjZXM6IGJvb2xlYW4pOiBzdHJpbmcge1xuICBsZXQgcHJvY2Vzc2VkU3RhY2tUcmFjZTogc3RyaW5nID0gZXJyb3Iuc3RhY2tcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWRTdGFjayA9IGVycm9yU3RhY2tQYXJzZXIucGFyc2UoZXJyb3IpXG4gICAgY29uc3QgZmlsdGVyZWRTdGFjayA9IGZpbHRlclN0YWNrVHJhY2VzID8gZmlsdGVyU3RhY2tUcmFjZShwYXJzZWRTdGFjaykgOiBwYXJzZWRTdGFja1xuICAgIHByb2Nlc3NlZFN0YWNrVHJhY2UgPSBmaWx0ZXJlZFN0YWNrLm1hcCgoZikgPT4gZi5zb3VyY2UpLmpvaW4oJ1xcbicpXG4gIH0gY2F0Y2gge1xuICAgIC8vIGlmIHdlIHdlcmVuJ3QgYWJsZSB0byBwYXJzZSBhbmQgcHJvY2Vzcywgd2UnbGwgc2V0dGxlIGZvciB0aGUgb3JpZ2luYWxcbiAgfVxuICByZXR1cm4gZm9ybWF0KGVycm9yLCB7XG4gICAgY29sb3JGbnM6IHtcbiAgICAgIGVycm9yU3RhY2s6IChzdGFjazogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzZWRTdGFja1RyYWNlID8gYFxcbiR7cHJvY2Vzc2VkU3RhY2tUcmFjZX1gIDogc3RhY2tcbiAgICAgIH0sXG4gICAgfSxcbiAgfSlcbn1cbiJdfQ==
@@ -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;
@@ -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=helpers.js.map
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW50aW1lL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSw4REFnQ0M7QUFFRCw0Q0FpQkM7QUFFRCxnREFnQkM7QUE3RUQsNkRBQThDO0FBQzlDLDREQUE4QjtBQUM5QixrRUFBd0M7QUFDeEMsNEVBQXNFO0FBRXRFLG9EQUFrRDtBQUdsRCxTQUFnQix5QkFBeUIsQ0FBQyxlQUFpQztJQUN6RSxNQUFNLEtBQUssR0FBRyxJQUFJLG9CQUFLLENBQUM7UUFDdEIsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFLEVBQUU7WUFDVixhQUFhLEVBQUUsRUFBRTtZQUNqQixZQUFZLEVBQUUsRUFBRTtZQUNoQixjQUFjLEVBQUUsRUFBRTtZQUNsQixJQUFJLEVBQUUsRUFBRTtZQUNSLFVBQVUsRUFBRSxFQUFFO1lBQ2QsR0FBRyxFQUFFLEVBQUU7WUFDUCxTQUFTLEVBQUUsRUFBRTtZQUNiLE1BQU0sRUFBRSxLQUFLO1lBQ2IsS0FBSyxFQUFFLEVBQUU7WUFDVCxXQUFXLEVBQUUsRUFBRTtZQUNmLEdBQUcsRUFBRSxFQUFFO1lBQ1AsVUFBVSxFQUFFLEVBQUU7WUFDZCxTQUFTLEVBQUUsRUFBRTtZQUNiLFdBQVcsRUFBRSxFQUFFO1NBQ2hCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFLEVBQUU7WUFDVixjQUFjLEVBQUUsQ0FBQztZQUNqQixlQUFlLEVBQUUsQ0FBQztTQUNuQjtLQUNGLENBQUMsQ0FBQTtJQUNGLEtBQUssQ0FBQyxJQUFJLENBQ1IsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7UUFDeEMsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNqRCxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUEsaUNBQWMsRUFBQyxjQUFjLENBQUMsQ0FBQyxDQUFBO0lBQ2xELENBQUMsQ0FBQyxDQUNILENBQUE7SUFDRCxPQUFPLEdBQUcsa0NBQWtDLEdBQUcsSUFBSSxHQUFHLElBQUEsdUJBQVksRUFBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtBQUMzRixDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsTUFBdUIsRUFBRSxPQUF1QjtJQUMvRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUE7SUFDN0IsSUFBSSxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbEIsT0FBTyxDQUFDLENBQUE7SUFDVixDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQTtJQUM3QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUNELE1BQU0sZUFBZSxHQUFHLElBQUksK0JBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUMzRCxJQUFJLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3JELE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQTtBQUNWLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FDaEMsTUFBcUMsRUFDckMsT0FBdUI7SUFFdkIsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsTUFBTSxlQUFlLEdBQW9DO1FBQ3ZELFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTO1FBQ3ZDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNO1FBQ3BDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTO0tBQ3hDLENBQUE7SUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBQ0QsT0FBTyxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtZXNzYWdlcyBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgVGFibGUgZnJvbSAnY2xpLXRhYmxlMydcbmltcG9ydCBpbmRlbnRTdHJpbmcgZnJvbSAnaW5kZW50LXN0cmluZydcbmltcG9ydCB7IGZvcm1hdExvY2F0aW9uIH0gZnJvbSAnLi4vZm9ybWF0dGVyL2hlbHBlcnMvbG9jYXRpb25faGVscGVycydcbmltcG9ydCB0eXBlIFN0ZXBEZWZpbml0aW9uIGZyb20gJy4uL21vZGVscy9zdGVwX2RlZmluaXRpb24nXG5pbXBvcnQgeyBQaWNrbGVUYWdGaWx0ZXIgfSBmcm9tICcuLi9waWNrbGVfZmlsdGVyJ1xuaW1wb3J0IHR5cGUgeyBSdW50aW1lT3B0aW9ucyB9IGZyb20gJy4nXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbWJpZ3VvdXNTdGVwRXhjZXB0aW9uKHN0ZXBEZWZpbml0aW9uczogU3RlcERlZmluaXRpb25bXSk6IHN0cmluZyB7XG4gIGNvbnN0IHRhYmxlID0gbmV3IFRhYmxlKHtcbiAgICBjaGFyczoge1xuICAgICAgYm90dG9tOiAnJyxcbiAgICAgICdib3R0b20tbGVmdCc6ICcnLFxuICAgICAgJ2JvdHRvbS1taWQnOiAnJyxcbiAgICAgICdib3R0b20tcmlnaHQnOiAnJyxcbiAgICAgIGxlZnQ6ICcnLFxuICAgICAgJ2xlZnQtbWlkJzogJycsXG4gICAgICBtaWQ6ICcnLFxuICAgICAgJ21pZC1taWQnOiAnJyxcbiAgICAgIG1pZGRsZTogJyAtICcsXG4gICAgICByaWdodDogJycsXG4gICAgICAncmlnaHQtbWlkJzogJycsXG4gICAgICB0b3A6ICcnLFxuICAgICAgJ3RvcC1sZWZ0JzogJycsXG4gICAgICAndG9wLW1pZCc6ICcnLFxuICAgICAgJ3RvcC1yaWdodCc6ICcnLFxuICAgIH0sXG4gICAgc3R5bGU6IHtcbiAgICAgIGJvcmRlcjogW10sXG4gICAgICAncGFkZGluZy1sZWZ0JzogMCxcbiAgICAgICdwYWRkaW5nLXJpZ2h0JzogMCxcbiAgICB9LFxuICB9KVxuICB0YWJsZS5wdXNoKFxuICAgIC4uLnN0ZXBEZWZpbml0aW9ucy5tYXAoKHN0ZXBEZWZpbml0aW9uKSA9PiB7XG4gICAgICBjb25zdCBwYXR0ZXJuID0gc3RlcERlZmluaXRpb24ucGF0dGVybi50b1N0cmluZygpXG4gICAgICByZXR1cm4gW3BhdHRlcm4sIGZvcm1hdExvY2F0aW9uKHN0ZXBEZWZpbml0aW9uKV1cbiAgICB9KVxuICApXG4gIHJldHVybiBgJHsnTXVsdGlwbGUgc3RlcCBkZWZpbml0aW9ucyBtYXRjaDonICsgJ1xcbid9JHtpbmRlbnRTdHJpbmcodGFibGUudG9TdHJpbmcoKSwgMil9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmV0cmllc0ZvclBpY2tsZShwaWNrbGU6IG1lc3NhZ2VzLlBpY2tsZSwgb3B0aW9uczogUnVudGltZU9wdGlvbnMpOiBudW1iZXIge1xuICBpZiAoIW9wdGlvbnMucmV0cnkpIHtcbiAgICByZXR1cm4gMFxuICB9XG4gIGNvbnN0IHJldHJpZXMgPSBvcHRpb25zLnJldHJ5XG4gIGlmIChyZXRyaWVzID09PSAwKSB7XG4gICAgcmV0dXJuIDBcbiAgfVxuICBjb25zdCByZXRyeVRhZ0ZpbHRlciA9IG9wdGlvbnMucmV0cnlUYWdGaWx0ZXJcbiAgaWYgKCFyZXRyeVRhZ0ZpbHRlcikge1xuICAgIHJldHVybiByZXRyaWVzXG4gIH1cbiAgY29uc3QgcGlja2xlVGFnRmlsdGVyID0gbmV3IFBpY2tsZVRhZ0ZpbHRlcihyZXRyeVRhZ0ZpbHRlcilcbiAgaWYgKHBpY2tsZVRhZ0ZpbHRlci5tYXRjaGVzQWxsVGFnRXhwcmVzc2lvbnMocGlja2xlKSkge1xuICAgIHJldHVybiByZXRyaWVzXG4gIH1cbiAgcmV0dXJuIDBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZENhdXNlRmFpbHVyZShcbiAgc3RhdHVzOiBtZXNzYWdlcy5UZXN0U3RlcFJlc3VsdFN0YXR1cyxcbiAgb3B0aW9uczogUnVudGltZU9wdGlvbnNcbik6IGJvb2xlYW4ge1xuICBpZiAob3B0aW9ucy5kcnlSdW4pIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBjb25zdCBmYWlsdXJlU3RhdHVzZXM6IG1lc3NhZ2VzLlRlc3RTdGVwUmVzdWx0U3RhdHVzW10gPSBbXG4gICAgbWVzc2FnZXMuVGVzdFN0ZXBSZXN1bHRTdGF0dXMuQU1CSUdVT1VTLFxuICAgIG1lc3NhZ2VzLlRlc3RTdGVwUmVzdWx0U3RhdHVzLkZBSUxFRCxcbiAgICBtZXNzYWdlcy5UZXN0U3RlcFJlc3VsdFN0YXR1cy5VTkRFRklORUQsXG4gIF1cbiAgaWYgKG9wdGlvbnMuc3RyaWN0KSB7XG4gICAgZmFpbHVyZVN0YXR1c2VzLnB1c2gobWVzc2FnZXMuVGVzdFN0ZXBSZXN1bHRTdGF0dXMuUEVORElORylcbiAgfVxuICByZXR1cm4gZmFpbHVyZVN0YXR1c2VzLmluY2x1ZGVzKHN0YXR1cylcbn1cbiJdfQ==
@@ -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=index.js.map
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 { ILogger, IRunEnvironment } from '../environment';
5
- import { SourcedPickle } from '../assemble';
6
- import { SupportCodeLibrary } from '../support_code_library_builder/types';
7
- import { FormatOptions } from '../formatter';
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
- const coordinator_1 = require("./coordinator");
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.ChildProcessAdapter(testRunStartedId, environment, logger, eventBroadcaster, options, snippetOptions, supportCodeLibrary);
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=make_runtime.js.map
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;
@@ -28,4 +28,4 @@ function makeSuggestion({ newId, snippetBuilder, pickleStep, }) {
28
28
  snippets,
29
29
  };
30
30
  }
31
- //# sourceMappingURL=make_suggestion.js.map
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9zdWdnZXN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bnRpbWUvbWFrZV9zdWdnZXN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBc0JBLHdDQXFCQztBQTNDRCxpREFLMkI7QUFDM0Isa0RBQWtEO0FBR2xELFNBQVMsOEJBQThCLENBQUMsSUFBcUI7SUFDM0QsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUsseUJBQWMsQ0FBQyxPQUFPO1lBQ3pCLE9BQU8scUJBQVcsQ0FBQyxZQUFZLENBQUE7UUFDakMsS0FBSyx5QkFBYyxDQUFDLE1BQU07WUFDeEIsT0FBTyxxQkFBVyxDQUFDLEtBQUssQ0FBQTtRQUMxQixLQUFLLHlCQUFjLENBQUMsT0FBTztZQUN6QixPQUFPLHFCQUFXLENBQUMsT0FBTyxDQUFBO1FBQzVCO1lBQ0UsT0FBTyxxQkFBVyxDQUFDLFlBQVksQ0FBQTtJQUNuQyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxFQUM3QixLQUFLLEVBQ0wsY0FBYyxFQUNkLFVBQVUsR0FLWDtJQUNDLE1BQU0sV0FBVyxHQUFHLDhCQUE4QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNuRSxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUE7SUFDdkUsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQyxJQUFJO1FBQ0osUUFBUSxFQUFFLFlBQVk7S0FDdkIsQ0FBQyxDQUFDLENBQUE7SUFFSCxPQUFPO1FBQ0wsRUFBRSxFQUFFLEtBQUssRUFBRTtRQUNYLFlBQVksRUFBRSxVQUFVLENBQUMsRUFBRTtRQUMzQixRQUFRO0tBQ1QsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIElkR2VuZXJhdG9yLFxuICB0eXBlIFBpY2tsZVN0ZXAsXG4gIFBpY2tsZVN0ZXBUeXBlLFxuICB0eXBlIFN1Z2dlc3Rpb24sXG59IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB7IEtleXdvcmRUeXBlIH0gZnJvbSAnLi4vZm9ybWF0dGVyL2hlbHBlcnMnXG5pbXBvcnQgdHlwZSBTdGVwRGVmaW5pdGlvblNuaXBwZXRCdWlsZGVyIGZyb20gJy4uL2Zvcm1hdHRlci9zdGVwX2RlZmluaXRpb25fc25pcHBldF9idWlsZGVyJ1xuXG5mdW5jdGlvbiBtYXBQaWNrbGVTdGVwVHlwZVRvS2V5d29yZFR5cGUodHlwZT86IFBpY2tsZVN0ZXBUeXBlKTogS2V5d29yZFR5cGUge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFBpY2tsZVN0ZXBUeXBlLkNPTlRFWFQ6XG4gICAgICByZXR1cm4gS2V5d29yZFR5cGUuUHJlY29uZGl0aW9uXG4gICAgY2FzZSBQaWNrbGVTdGVwVHlwZS5BQ1RJT046XG4gICAgICByZXR1cm4gS2V5d29yZFR5cGUuRXZlbnRcbiAgICBjYXNlIFBpY2tsZVN0ZXBUeXBlLk9VVENPTUU6XG4gICAgICByZXR1cm4gS2V5d29yZFR5cGUuT3V0Y29tZVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gS2V5d29yZFR5cGUuUHJlY29uZGl0aW9uXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VTdWdnZXN0aW9uKHtcbiAgbmV3SWQsXG4gIHNuaXBwZXRCdWlsZGVyLFxuICBwaWNrbGVTdGVwLFxufToge1xuICBuZXdJZDogSWRHZW5lcmF0b3IuTmV3SWRcbiAgc25pcHBldEJ1aWxkZXI6IFN0ZXBEZWZpbml0aW9uU25pcHBldEJ1aWxkZXJcbiAgcGlja2xlU3RlcDogUGlja2xlU3RlcFxufSk6IFN1Z2dlc3Rpb24ge1xuICBjb25zdCBrZXl3b3JkVHlwZSA9IG1hcFBpY2tsZVN0ZXBUeXBlVG9LZXl3b3JkVHlwZShwaWNrbGVTdGVwLnR5cGUpXG4gIGNvbnN0IGNvZGVzID0gc25pcHBldEJ1aWxkZXIuYnVpbGRNdWx0aXBsZSh7IGtleXdvcmRUeXBlLCBwaWNrbGVTdGVwIH0pXG4gIGNvbnN0IHNuaXBwZXRzID0gY29kZXMubWFwKChjb2RlKSA9PiAoe1xuICAgIGNvZGUsXG4gICAgbGFuZ3VhZ2U6ICdqYXZhc2NyaXB0JyxcbiAgfSkpXG5cbiAgcmV0dXJuIHtcbiAgICBpZDogbmV3SWQoKSxcbiAgICBwaWNrbGVTdGVwSWQ6IHBpY2tsZVN0ZXAuaWQsXG4gICAgc25pcHBldHMsXG4gIH1cbn1cbiJdfQ==
@@ -1,28 +1,18 @@
1
- import { ChildProcess } from 'node:child_process';
2
- import { EventEmitter } from 'node:events';
3
- import { SupportCodeLibrary } from '../../support_code_library_builder/types';
4
- import { AssembledTestCase } from '../../assemble';
5
- import { ILogger, IRunEnvironment } from '../../environment';
6
- import { RuntimeAdapter } from '../types';
7
- import { IRunOptionsRuntime } from '../../api';
8
- import { FormatOptions } from '../../formatter';
9
- import { WorkerToCoordinatorEvent } from './types';
10
- declare const enum WorkerState {
11
- 'idle' = 0,
12
- 'closed' = 1,
13
- 'running' = 2,
14
- 'new' = 3
15
- }
16
- interface ManagedWorker {
17
- state: WorkerState;
18
- process: ChildProcess;
19
- id: string;
20
- }
21
- interface WorkPlacement {
22
- index: number;
23
- item: AssembledTestCase;
24
- }
25
- export declare class ChildProcessAdapter implements RuntimeAdapter {
1
+ import type { EventEmitter } from 'node:events';
2
+ import type { IRunOptionsRuntime } from '../../api';
3
+ import type { AssembledTestCase } from '../../assemble';
4
+ import type { ILogger, IRunEnvironment } from '../../environment';
5
+ import type { FormatOptions } from '../../formatter';
6
+ import type { SupportCodeLibrary } from '../../support_code_library_builder/types';
7
+ import type { RuntimeAdapter } from '../types';
8
+ /**
9
+ * An adapter that distributes work across multiple worker threads
10
+ * @remarks
11
+ * Each phase of the test run is self-contained and self-orchestrating - every
12
+ * FINISHED message from a worker may cause the next piece of work to be
13
+ * triggered or the phase to be settled.
14
+ */
15
+ export declare class WorkerThreadsAdapter implements RuntimeAdapter {
26
16
  private readonly testRunStartedId;
27
17
  private readonly environment;
28
18
  private readonly logger;
@@ -30,20 +20,18 @@ export declare class ChildProcessAdapter implements RuntimeAdapter {
30
20
  private readonly options;
31
21
  private readonly snippetOptions;
32
22
  private readonly supportCodeLibrary;
33
- private idleInterventions;
34
- private failing;
35
- private onFinish;
36
- private todo;
37
- private readonly inProgress;
23
+ private readiness;
24
+ private phase;
38
25
  private readonly workers;
26
+ private readonly running;
39
27
  constructor(testRunStartedId: string, environment: IRunEnvironment, logger: ILogger, eventBroadcaster: EventEmitter, options: IRunOptionsRuntime, snippetOptions: Pick<FormatOptions, 'snippetInterface' | 'snippetSyntax'>, supportCodeLibrary: SupportCodeLibrary);
40
- parseWorkerMessage(worker: ManagedWorker, message: WorkerToCoordinatorEvent): void;
41
- awakenWorkers(triggeringWorker: ManagedWorker): void;
42
- startWorker(id: string, total: number): void;
43
- onWorkerProcessClose(exitCode: number): void;
44
- run(assembledTestCases: ReadonlyArray<AssembledTestCase>): Promise<boolean>;
45
- nextWorkPlacement(): WorkPlacement;
46
- placementAt(index: number): WorkPlacement;
47
- giveWork(worker: ManagedWorker, force?: boolean): void;
28
+ setup(): Promise<void>;
29
+ runBeforeAllHooks(): Promise<boolean>;
30
+ runTestCases(assembledTestCases: ReadonlyArray<AssembledTestCase>): Promise<boolean>;
31
+ runAfterAllHooks(): Promise<boolean>;
32
+ teardown(): Promise<void>;
33
+ private startPhase;
34
+ private issueCommandToWorker;
35
+ private handleEventFromWorker;
36
+ private handleErrorFromWorker;
48
37
  }
49
- export {};