@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
@@ -13,7 +13,7 @@ class PickleFilter {
13
13
  lineFilter;
14
14
  nameFilter;
15
15
  tagFilter;
16
- constructor({ cwd, featurePaths, names, tagExpression, }) {
16
+ constructor({ cwd, featurePaths, names, tagExpression }) {
17
17
  this.lineFilter = new PickleLineFilter(cwd, featurePaths);
18
18
  this.nameFilter = new PickleNameFilter(names);
19
19
  this.tagFilter = new PickleTagFilter(tagExpression);
@@ -54,7 +54,7 @@ class PickleLineFilter {
54
54
  .slice(1)
55
55
  .split(':')
56
56
  .forEach((line) => {
57
- mapping[uri].push(parseInt(line));
57
+ mapping[uri].push(parseInt(line, 10));
58
58
  });
59
59
  }
60
60
  }
@@ -102,4 +102,4 @@ class PickleTagFilter {
102
102
  }
103
103
  }
104
104
  exports.PickleTagFilter = PickleTagFilter;
105
- //# sourceMappingURL=pickle_filter.js.map
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2xlX2ZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9waWNrbGVfZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE0QjtBQUU1QiwrREFBNEQ7QUFDNUQseUZBQTJGO0FBQzNGLG1EQUFpRTtBQUtqRSxNQUFNLHNCQUFzQixHQUFHLHVCQUF1QixDQUFBO0FBY3RELE1BQXFCLFlBQVk7SUFDZCxVQUFVLENBQWtCO0lBQzVCLFVBQVUsQ0FBa0I7SUFDNUIsU0FBUyxDQUFpQjtJQUUzQyxZQUFZLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUF3QjtRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBQ3pELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFFRCxPQUFPLENBQUMsRUFDTixlQUFlLEVBQ2YsTUFBTSxHQUlQO1FBQ0MsT0FBTyxDQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzNELElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUNoRCxDQUFBO0lBQ0gsQ0FBQztDQUNGO0FBeEJELCtCQXdCQztBQUVELE1BQWEsZ0JBQWdCO0lBQ1Ysd0JBQXdCLENBQTBCO0lBRW5FLFlBQVksR0FBVyxFQUFFLGVBQXlCLEVBQUU7UUFDbEQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQztZQUMvRCxHQUFH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QUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7Q0FDRjtBQWJELDRDQWFDO0FBRUQsTUFBYSxlQUFlO0lBQ1QsaUJBQWlCLENBQU07SUFFeEMsWUFBWSxhQUFxQjtRQUMvQixJQUFJLElBQUEsNkJBQWEsRUFBQyxhQUFhLENBQUMsSUFBSSxhQUFhLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUEsdUJBQUssRUFBQyxhQUFhLENBQUMsQ0FBQTtRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVELHdCQUF3QixDQUFDLE1BQXVCO1FBQzlDLElBQUksSUFBQSxnQ0FBZ0IsRUFBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQzdDLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDeEUsQ0FBQztDQUNGO0FBZkQsMENBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdub2RlOnBhdGgnXG5pbXBvcnQgKiBhcyBtZXNzYWdlcyBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyB0eXBlIE5vZGUsIHBhcnNlIH0gZnJvbSAnQGN1Y3VtYmVyL3RhZy1leHByZXNzaW9ucydcbmltcG9ydCB7IGdldEdoZXJraW5TY2VuYXJpb0xvY2F0aW9uTWFwIH0gZnJvbSAnLi9mb3JtYXR0ZXIvaGVscGVycy9naGVya2luX2RvY3VtZW50X3BhcnNlcidcbmltcG9ydCB7IGRvZXNIYXZlVmFsdWUsIGRvZXNOb3RIYXZlVmFsdWUgfSBmcm9tICcuL3ZhbHVlX2NoZWNrZXInXG5cbmltcG9ydCBJR2hlcmtpbkRvY3VtZW50ID0gbWVzc2FnZXMuR2hlcmtpbkRvY3VtZW50XG5pbXBvcnQgSVBpY2tsZSA9IG1lc3NhZ2VzLlBpY2tsZVxuXG5jb25zdCBGRUFUVVJFX0xJTkVOVU1fUkVHRVhQID0gL14oLio/KSgoPzo6W1xcZF0rKSspPyQvXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBpY2tsZUZpbHRlck9wdGlvbnMge1xuICBjd2Q6IHN0cmluZ1xuICBmZWF0dXJlUGF0aHM/OiBzdHJpbmdbXVxuICBuYW1lcz86IHN0cmluZ1tdXG4gIHRhZ0V4cHJlc3Npb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTWF0Y2hlc0FueUxpbmVSZXF1ZXN0IHtcbiAgZ2hlcmtpbkRvY3VtZW50OiBtZXNzYWdlcy5HaGVya2luRG9jdW1lbnRcbiAgcGlja2xlOiBtZXNzYWdlcy5QaWNrbGVcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGlja2xlRmlsdGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsaW5lRmlsdGVyOiBQaWNrbGVMaW5lRmlsdGVyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmFtZUZpbHRlcjogUGlja2xlTmFtZUZpbHRlclxuICBwcml2YXRlIHJlYWRvbmx5IHRhZ0ZpbHRlcjogUGlja2xlVGFnRmlsdGVyXG5cbiAgY29uc3RydWN0b3IoeyBjd2QsIGZlYXR1cmVQYXRocywgbmFtZXMsIHRhZ0V4cHJlc3Npb24gfTogSVBpY2tsZUZpbHRlck9wdGlvbnMpIHtcbiAgICB0aGlzLmxpbmVGaWx0ZXIgPSBuZXcgUGlja2xlTGluZUZpbHRlcihjd2QsIGZlYXR1cmVQYXRocylcbiAgICB0aGlzLm5hbWVGaWx0ZXIgPSBuZXcgUGlja2xlTmFtZUZpbHRlcihuYW1lcylcbiAgICB0aGlzLnRhZ0ZpbHRlciA9IG5ldyBQaWNrbGVUYWdGaWx0ZXIodGFnRXhwcmVzc2lvbilcbiAgfVxuXG4gIG1hdGNoZXMoe1xuICAgIGdoZXJraW5Eb2N1bWVudCxcbiAgICBwaWNrbGUsXG4gIH06IHtcbiAgICBnaGVya2luRG9jdW1lbnQ6IElHaGVya2luRG9jdW1lbnRcbiAgICBwaWNrbGU6IElQaWNrbGVcbiAgfSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmxpbmVGaWx0ZXIubWF0Y2hlc0FueUxpbmUoeyBnaGVya2luRG9jdW1lbnQsIHBpY2tsZSB9KSAmJlxuICAgICAgdGhpcy5uYW1lRmlsdGVyLm1hdGNoZXNBbnlOYW1lKHBpY2tsZSkgJiZcbiAgICAgIHRoaXMudGFnRmlsdGVyLm1hdGNoZXNBbGxUYWdFeHByZXNzaW9ucyhwaWNrbGUpXG4gICAgKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQaWNrbGVMaW5lRmlsdGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBmZWF0dXJlVXJpVG9MaW5lc01hcHBpbmc6IFJlY29yZDxzdHJpbmcsIG51bWJlcltdPlxuXG4gIGNvbnN0cnVjdG9yKGN3ZDogc3RyaW5nLCBmZWF0dXJlUGF0aHM6IHN0cmluZ1tdID0gW10pIHtcbiAgICB0aGlzLmZlYXR1cmVVcmlUb0xpbmVzTWFwcGluZyA9IHRoaXMuZ2V0RmVhdHVyZVVyaVRvTGluZXNNYXBwaW5nKHtcbiAgICAgIGN3ZCxcbiAgICAgIGZlYXR1cmVQYXRocyxcbiAgICB9KVxuICB9XG5cbiAgZ2V0RmVhdHVyZVVyaVRvTGluZXNNYXBwaW5nKHtcbiAgICBjd2QsXG4gICAgZmVhdHVyZVBhdGhzLFxuICB9OiB7XG4gICAgY3dkOiBzdHJpbmdcbiAgICBmZWF0dXJlUGF0aHM6IHN0cmluZ1tdXG4gIH0pOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXJbXT4ge1xuICAgIGNvbnN0IG1hcHBpbmc6IFJlY29yZDxzdHJpbmcsIG51bWJlcltdPiA9IHt9XG4gICAgZmVhdHVyZVBhdGhzLmZvckVhY2goKGZlYXR1cmVQYXRoKSA9PiB7XG4gICAgICBjb25zdCBtYXRjaCA9IEZFQVRVUkVfTElORU5VTV9SRUdFWFAuZXhlYyhmZWF0dXJlUGF0aClcbiAgICAgIGlmIChkb2VzSGF2ZVZhbHVlKG1hdGNoKSkge1xuICAgICAgICBsZXQgdXJpID0gbWF0Y2hbMV1cbiAgICAgICAgaWYgKHBhdGguaXNBYnNvbHV0ZSh1cmkpKSB7XG4gICAgICAgICAgdXJpID0gcGF0aC5yZWxhdGl2ZShjd2QsIHVyaSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cmkgPSBwYXRoLm5vcm1hbGl6ZSh1cmkpXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGluZXNFeHByZXNzaW9uID0gbWF0Y2hbMl1cbiAgICAgICAgaWYgKGRvZXNIYXZlVmFsdWUobGluZXNFeHByZXNzaW9uKSkge1xuICAgICAgICAgIGlmIChkb2VzTm90SGF2ZVZhbHVlKG1hcHBpbmdbdXJpXSkpIHtcbiAgICAgICAgICAgIG1hcHBpbmdbdXJpXSA9IFtdXG4gICAgICAgICAgfVxuICAgICAgICAgIGxpbmVzRXhwcmVzc2lvblxuICAgICAgICAgICAgLnNsaWNlKDEpXG4gICAgICAgICAgICAuc3BsaXQoJzonKVxuICAgICAgICAgICAgLmZvckVhY2goKGxpbmUpID0+IHtcbiAgICAgICAgICAgICAgbWFwcGluZ1t1cmldLnB1c2gocGFyc2VJbnQobGluZSwgMTApKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIG1hcHBpbmdcbiAgfVxuXG4gIG1hdGNoZXNBbnlMaW5lKHsgZ2hlcmtpbkRvY3VtZW50LCBwaWNrbGUgfTogSU1hdGNoZXNBbnlMaW5lUmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHVyaSA9IHBhdGgubm9ybWFsaXplKHBpY2tsZS51cmkpXG4gICAgY29uc3QgbGluZXNUb01hdGNoID0gdGhpcy5mZWF0dXJlVXJpVG9MaW5lc01hcHBpbmdbdXJpXVxuICAgIGlmIChkb2VzSGF2ZVZhbHVlKGxpbmVzVG9NYXRjaCkpIHtcbiAgICAgIGNvbnN0IGdoZXJraW5TY2VuYXJpb0xvY2F0aW9uTWFwID0gZ2V0R2hlcmtpblNjZW5hcmlvTG9jYXRpb25NYXAoZ2hlcmtpbkRvY3VtZW50KVxuICAgICAgY29uc3QgcGlja2xlTGluZXMgPSBuZXcgU2V0KFxuICAgICAgICBwaWNrbGUuYXN0Tm9kZUlkcy5tYXAoKHNvdXJjZUlkKSA9PiBnaGVya2luU2NlbmFyaW9Mb2NhdGlvbk1hcFtzb3VyY2VJZF0ubGluZSlcbiAgICAgIClcbiAgICAgIGNvbnN0IGxpbmVzSW50ZXJzZWN0aW9uID0gbGluZXNUb01hdGNoLmZpbHRlcigoeCkgPT4gcGlja2xlTGluZXMuaGFzKHgpKVxuICAgICAgcmV0dXJuIGxpbmVzSW50ZXJzZWN0aW9uLmxlbmd0aCA+IDBcbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGlja2xlTmFtZUZpbHRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmFtZXM6IHN0cmluZ1tdXG5cbiAgY29uc3RydWN0b3IobmFtZXM6IHN0cmluZ1tdID0gW10pIHtcbiAgICB0aGlzLm5hbWVzID0gbmFtZXNcbiAgfVxuXG4gIG1hdGNoZXNBbnlOYW1lKHBpY2tsZTogbWVzc2FnZXMuUGlja2xlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5uYW1lcy5zb21lKChuYW1lKSA9PiBwaWNrbGUubmFtZS5tYXRjaChuYW1lKSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGlja2xlVGFnRmlsdGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWdFeHByZXNzaW9uTm9kZTogTm9kZVxuXG4gIGNvbnN0cnVjdG9yKHRhZ0V4cHJlc3Npb246IHN0cmluZykge1xuICAgIGlmIChkb2VzSGF2ZVZhbHVlKHRhZ0V4cHJlc3Npb24pICYmIHRhZ0V4cHJlc3Npb24gIT09ICcnKSB7XG4gICAgICB0aGlzLnRhZ0V4cHJlc3Npb25Ob2RlID0gcGFyc2UodGFnRXhwcmVzc2lvbilcbiAgICB9XG4gIH1cblxuICBtYXRjaGVzQWxsVGFnRXhwcmVzc2lvbnMocGlja2xlOiBtZXNzYWdlcy5QaWNrbGUpOiBib29sZWFuIHtcbiAgICBpZiAoZG9lc05vdEhhdmVWYWx1ZSh0aGlzLnRhZ0V4cHJlc3Npb25Ob2RlKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudGFnRXhwcmVzc2lvbk5vZGUuZXZhbHVhdGUocGlja2xlLnRhZ3MubWFwKCh4KSA9PiB4Lm5hbWUpKVxuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './types';
2
1
  export * from './plugin_manager';
2
+ export * from './types';
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./types"), exports);
18
17
  __exportStar(require("./plugin_manager"), exports);
19
- //# sourceMappingURL=index.js.map
18
+ __exportStar(require("./types"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBZ0M7QUFDaEMsMENBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wbHVnaW5fbWFuYWdlcidcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnXG4iXX0=
@@ -1,5 +1,5 @@
1
- import { UsableEnvironment } from '../environment';
2
- import { CoordinatorEventKey, CoordinatorEventValues, CoordinatorTransformKey, CoordinatorTransformValues, FormatterPlugin, Plugin, PluginOperation } from './types';
1
+ import type { UsableEnvironment } from '../environment';
2
+ import type { CoordinatorEventKey, CoordinatorEventValues, CoordinatorTransformKey, CoordinatorTransformValues, FormatterPlugin, Plugin, PluginOperation } from './types';
3
3
  export declare class PluginManager {
4
4
  private readonly environment;
5
5
  private readonly handlers;
@@ -9,7 +9,10 @@ export declare class PluginManager {
9
9
  private registerHandler;
10
10
  private registerTransformer;
11
11
  initFormatter<OptionsType>(plugin: FormatterPlugin<OptionsType>, options: OptionsType, stream: NodeJS.WritableStream, write: (buffer: string | Uint8Array) => void, directory?: string, specifier?: string): Promise<void>;
12
- initCoordinator<OptionsType>(operation: PluginOperation, plugin: Plugin<OptionsType>, options: OptionsType, specifier?: string): Promise<void>;
12
+ initCoordinatorExternal<OptionsType>(operation: PluginOperation, plugin: Plugin<OptionsType>, options: OptionsType, specifier?: string): Promise<void>;
13
+ initCoordinatorInternal<OptionsType>(operation: PluginOperation, plugin: Plugin<OptionsType>, options: OptionsType): Promise<void>;
14
+ private initCoordinator;
15
+ private makeCoordinatorContext;
13
16
  emit<K extends CoordinatorEventKey>(event: K, value: CoordinatorEventValues[K]): void;
14
17
  transform<K extends CoordinatorTransformKey>(event: K, value: CoordinatorTransformValues[K]): Promise<CoordinatorTransformValues[K]>;
15
18
  cleanup(): Promise<void>;
@@ -6,6 +6,7 @@ class PluginManager {
6
6
  handlers = {
7
7
  message: [],
8
8
  'paths:resolve': [],
9
+ 'publish:url': [],
9
10
  };
10
11
  transformers = {
11
12
  'pickles:filter': [],
@@ -51,8 +52,28 @@ class PluginManager {
51
52
  });
52
53
  }
53
54
  }
54
- async initCoordinator(operation, plugin, options, specifier) {
55
+ async initCoordinatorExternal(operation, plugin, options, specifier) {
56
+ const context = this.makeCoordinatorContext(operation, plugin, options, specifier);
57
+ await this.initCoordinator(plugin, context, specifier);
58
+ }
59
+ async initCoordinatorInternal(operation, plugin, options) {
55
60
  const context = {
61
+ ...this.makeCoordinatorContext(operation, plugin, options),
62
+ emit: this.emit.bind(this),
63
+ };
64
+ await this.initCoordinator(plugin, context);
65
+ }
66
+ async initCoordinator(plugin, context, specifier) {
67
+ const cleanupFn = await wrapErrorAsync(async () => await plugin.coordinator(context), `${formatCulprit(specifier)} errored when trying to init`);
68
+ if (typeof cleanupFn === 'function') {
69
+ this.cleanupFns.push({
70
+ cleanupFn: cleanupFn,
71
+ specifier,
72
+ });
73
+ }
74
+ }
75
+ makeCoordinatorContext(operation, plugin, options, specifier) {
76
+ return {
56
77
  operation,
57
78
  on: (event, handler) => this.registerHandler(event, handler, specifier),
58
79
  transform: (event, transformer) => this.registerTransformer(event, transformer, specifier),
@@ -66,23 +87,16 @@ class PluginManager {
66
87
  env: { ...this.environment.env },
67
88
  },
68
89
  };
69
- const cleanupFn = await wrapErrorAsync(async () => await plugin.coordinator(context), specifier, `Plugin "${specifier}" errored when trying to init`);
70
- if (typeof cleanupFn === 'function') {
71
- this.cleanupFns.push({
72
- cleanupFn: cleanupFn,
73
- specifier,
74
- });
75
- }
76
90
  }
77
91
  emit(event, value) {
78
92
  this.handlers[event].forEach(({ handler, specifier }) => {
79
- wrapError(() => handler(value), specifier, `Plugin "${specifier}" errored when trying to handle a "${event}" event`);
93
+ wrapError(() => handler(value), `${formatCulprit(specifier)} errored when trying to handle a "${event}" event`);
80
94
  });
81
95
  }
82
96
  async transform(event, value) {
83
97
  let transformed = value;
84
98
  for (const { transformer, specifier } of this.transformers[event]) {
85
- const returned = await wrapErrorAsync(async () => await transformer(transformed), specifier, `Plugin "${specifier}" errored when trying to do a "${event}" transform`);
99
+ const returned = await wrapErrorAsync(async () => await transformer(transformed), `${formatCulprit(specifier)} errored when trying to do a "${event}" transform`);
86
100
  if (typeof returned !== 'undefined') {
87
101
  transformed = returned;
88
102
  }
@@ -91,31 +105,28 @@ class PluginManager {
91
105
  }
92
106
  async cleanup() {
93
107
  for (const { cleanupFn, specifier } of this.cleanupFns) {
94
- await wrapErrorAsync(async () => await cleanupFn(), specifier, `Plugin "${specifier}" errored when trying to cleanup`);
108
+ await wrapErrorAsync(async () => await cleanupFn(), `${formatCulprit(specifier)} errored when trying to cleanup`);
95
109
  }
96
110
  }
97
111
  }
98
112
  exports.PluginManager = PluginManager;
99
- function wrapError(fn, specifier, message) {
113
+ function formatCulprit(specifier) {
114
+ return specifier ? `Plugin "${specifier}"` : 'Cucumber';
115
+ }
116
+ function wrapError(fn, message) {
100
117
  try {
101
118
  return fn();
102
119
  }
103
120
  catch (error) {
104
- if (specifier) {
105
- throw new Error(message, { cause: error });
106
- }
107
- throw error;
121
+ throw new Error(message, { cause: error });
108
122
  }
109
123
  }
110
- async function wrapErrorAsync(fn, specifier, message) {
124
+ async function wrapErrorAsync(fn, message) {
111
125
  try {
112
126
  return await fn();
113
127
  }
114
128
  catch (error) {
115
- if (specifier) {
116
- throw new Error(message, { cause: error });
117
- }
118
- throw error;
129
+ throw new Error(message, { cause: error });
119
130
  }
120
131
  }
121
- //# sourceMappingURL=plugin_manager.js.map
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luX21hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGx1Z2luL3BsdWdpbl9tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXVDQSxNQUFhLGFBQWE7SUFZSztJQVhaLFFBQVEsR0FBb0I7UUFDM0MsT0FBTyxFQUFFLEVBQUU7UUFDWCxlQUFlLEVBQUUsRUFBRTtRQUNuQixhQUFhLEVBQUUsRUFBRTtLQUNsQixDQUFBO0lBQ2dCLFlBQVksR0FBd0I7UUFDbkQsZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixlQUFlLEVBQUUsRUFBRTtLQUNwQixDQUFBO0lBQ08sVUFBVSxHQUFxQixFQUFFLENBQUE7SUFFekMsWUFBNkIsV0FBOEI7UUFBOUIsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO0lBQUcsQ0FBQztJQUV2RCxLQUFLLENBQUMsZUFBZSxDQUMzQixLQUFRLEVBQ1IsT0FBbUMsRUFDbkMsU0FBa0I7UUFFbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxLQUFLLEdBQUcsQ0FBQyxDQUFBO1FBQ3pFLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN4QixPQUFPO1lBQ1AsU0FBUztTQUNWLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTyxLQUFLLENBQUMsbUJBQW1CLENBQy9CLEtBQVEsRUFDUixXQUFzQyxFQUN0QyxTQUFrQjtRQUVsQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELEtBQUssR0FBRyxDQUFDLENBQUE7UUFDN0UsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzVCLFdB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cGUgeyBVc2FibGVFbnZpcm9ubWVudCB9IGZyb20gJy4uL2Vudmlyb25tZW50J1xuaW1wb3J0IHR5cGUge1xuICBDb29yZGluYXRvckNvbnRleHQsXG4gIENvb3JkaW5hdG9yRXZlbnRIYW5kbGVyLFxuICBDb29yZGluYXRvckV2ZW50S2V5LFxuICBDb29yZGluYXRvckV2ZW50VmFsdWVzLFxuICBDb29yZGluYXRvclRyYW5zZm9ybWVyLFxuICBDb29yZGluYXRvclRyYW5zZm9ybUtleSxcbiAgQ29vcmRpbmF0b3JUcmFuc2Zvcm1WYWx1ZXMsXG4gIEZvcm1hdHRlclBsdWdpbixcbiAgSW50ZXJuYWxQbHVnaW4sXG4gIFBsdWdpbixcbiAgUGx1Z2luQ2xlYW51cCxcbiAgUGx1Z2luT3BlcmF0aW9uLFxufSBmcm9tICcuL3R5cGVzJ1xuXG50eXBlIFNvdXJjZWRFdmVudEhhbmRsZXI8SyBleHRlbmRzIENvb3JkaW5hdG9yRXZlbnRLZXk+ID0ge1xuICBoYW5kbGVyOiBDb29yZGluYXRvckV2ZW50SGFuZGxlcjxLPlxuICBzcGVjaWZpZXI/OiBzdHJpbmdcbn1cblxudHlwZSBTb3VyY2VkVHJhbnNmb3JtZXI8SyBleHRlbmRzIENvb3JkaW5hdG9yVHJhbnNmb3JtS2V5PiA9IHtcbiAgdHJhbnNmb3JtZXI6IENvb3JkaW5hdG9yVHJhbnNmb3JtZXI8Sz5cbiAgc3BlY2lmaWVyPzogc3RyaW5nXG59XG5cbnR5cGUgU291cmNlZENsZWFudXAgPSB7XG4gIGNsZWFudXBGbjogUGx1Z2luQ2xlYW51cFxuICBzcGVjaWZpZXI/OiBzdHJpbmdcbn1cblxudHlwZSBIYW5kbGVyUmVnaXN0cnkgPSB7XG4gIFtLIGluIENvb3JkaW5hdG9yRXZlbnRLZXldOiBBcnJheTxTb3VyY2VkRXZlbnRIYW5kbGVyPEs+PlxufVxuXG50eXBlIFRyYW5zZm9ybWVyUmVnaXN0cnkgPSB7XG4gIFtLIGluIENvb3JkaW5hdG9yVHJhbnNmb3JtS2V5XTogQXJyYXk8U291cmNlZFRyYW5zZm9ybWVyPEs+PlxufVxuXG5leHBvcnQgY2xhc3MgUGx1Z2luTWFuYWdlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlcnM6IEhhbmRsZXJSZWdpc3RyeSA9IHtcbiAgICBtZXNzYWdlOiBbXSxcbiAgICAncGF0aHM6cmVzb2x2ZSc6IFtdLFxuICAgICdwdWJsaXNoOnVybCc6IFtdLFxuICB9XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNmb3JtZXJzOiBUcmFuc2Zvcm1lclJlZ2lzdHJ5ID0ge1xuICAgICdwaWNrbGVzOmZpbHRlcic6IFtdLFxuICAgICdwaWNrbGVzOm9yZGVyJzogW10sXG4gIH1cbiAgcHJpdmF0ZSBjbGVhbnVwRm5zOiBTb3VyY2VkQ2xlYW51cFtdID0gW11cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVudmlyb25tZW50OiBVc2FibGVFbnZpcm9ubWVudCkge31cblxuICBwcml2YXRlIGFzeW5jIHJlZ2lzdGVySGFuZGxlcjxLIGV4dGVuZHMgQ29vcmRpbmF0b3JFdmVudEtleT4oXG4gICAgZXZlbnQ6IEssXG4gICAgaGFuZGxlcjogQ29vcmRpbmF0b3JFdmVudEhhbmRsZXI8Sz4sXG4gICAgc3BlY2lmaWVyPzogc3RyaW5nXG4gICkge1xuICAgIGlmICghdGhpcy5oYW5kbGVyc1tldmVudF0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHJlZ2lzdGVyIGhhbmRsZXIgZm9yIHVua25vd24gZXZlbnQgXCIke2V2ZW50fVwiYClcbiAgICB9XG4gICAgdGhpcy5oYW5kbGVyc1tldmVudF0ucHVzaCh7XG4gICAgICBoYW5kbGVyLFxuICAgICAgc3BlY2lmaWVyLFxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlZ2lzdGVyVHJhbnNmb3JtZXI8SyBleHRlbmRzIENvb3JkaW5hdG9yVHJhbnNmb3JtS2V5PihcbiAgICBldmVudDogSyxcbiAgICB0cmFuc2Zvcm1lcjogQ29vcmRpbmF0b3JUcmFuc2Zvcm1lcjxLPixcbiAgICBzcGVjaWZpZXI/OiBzdHJpbmdcbiAgKSB7XG4gICAgaWYgKCF0aGlzLnRyYW5zZm9ybWVyc1tldmVudF0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHJlZ2lzdGVyIHRyYW5zZm9ybWVyIGZvciB1bmtub3duIGV2ZW50IFwiJHtldmVudH1cImApXG4gICAgfVxuICAgIHRoaXMudHJhbnNmb3JtZXJzW2V2ZW50XS5wdXNoKHtcbiAgICAgIHRyYW5zZm9ybWVyLFxuICAgICAgc3BlY2lmaWVyLFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBpbml0Rm9ybWF0dGVyPE9wdGlvbnNUeXBlPihcbiAgICBwbHVnaW46IEZvcm1hdHRlclBsdWdpbjxPcHRpb25zVHlwZT4sXG4gICAgb3B0aW9uczogT3B0aW9uc1R5cGUsXG4gICAgc3RyZWFtOiBOb2RlSlMuV3JpdGFibGVTdHJlYW0sXG4gICAgd3JpdGU6IChidWZmZXI6IHN0cmluZyB8IFVpbnQ4QXJyYXkpID0+IHZvaWQsXG4gICAgZGlyZWN0b3J5Pzogc3RyaW5nLFxuICAgIHNwZWNpZmllcj86IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBjbGVhbnVwRm4gPSBhd2FpdCBwbHVnaW4uZm9ybWF0dGVyKHtcbiAgICAgIG9uOiAoa2V5LCBoYW5kbGVyKSA9PiB0aGlzLnJlZ2lzdGVySGFuZGxlcihrZXksIGhhbmRsZXIsIHNwZWNpZmllciksXG4gICAgICBvcHRpb25zOiBwbHVnaW4ub3B0aW9uc0tleVxuICAgICAgICA/ICgob3B0aW9ucyBhcyBhbnkpW3BsdWdpbi5vcHRpb25zS2V5XSA/PyAoe30gYXMgT3B0aW9uc1R5cGUpKVxuICAgICAgICA6IG9wdGlvbnMsXG4gICAgICBsb2dnZXI6IHRoaXMuZW52aXJvbm1lbnQubG9nZ2VyLFxuICAgICAgc3RyZWFtLFxuICAgICAgd3JpdGUsXG4gICAgICBkaXJlY3RvcnksXG4gICAgfSlcbiAgICBpZiAodHlwZW9mIGNsZWFudXBGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5jbGVhbnVwRm5zLnB1c2goe1xuICAgICAgICBjbGVhbnVwRm46IGNsZWFudXBGbixcbiAgICAgICAgc3BlY2lmaWVyLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBpbml0Q29vcmRpbmF0b3JFeHRlcm5hbDxPcHRpb25zVHlwZT4oXG4gICAgb3BlcmF0aW9uOiBQbHVnaW5PcGVyYXRpb24sXG4gICAgcGx1Z2luOiBQbHVnaW48T3B0aW9uc1R5cGU+LFxuICAgIG9wdGlvbnM6IE9wdGlvbnNUeXBlLFxuICAgIHNwZWNpZmllcj86IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5tYWtlQ29vcmRpbmF0b3JDb250ZXh0KG9wZXJhdGlvbiwgcGx1Z2luLCBvcHRpb25zLCBzcGVjaWZpZXIpXG4gICAgYXdhaXQgdGhpcy5pbml0Q29vcmRpbmF0b3IocGx1Z2luLCBjb250ZXh0LCBzcGVjaWZpZXIpXG4gIH1cblxuICBhc3luYyBpbml0Q29vcmRpbmF0b3JJbnRlcm5hbDxPcHRpb25zVHlwZT4oXG4gICAgb3BlcmF0aW9uOiBQbHVnaW5PcGVyYXRpb24sXG4gICAgcGx1Z2luOiBQbHVnaW48T3B0aW9uc1R5cGU+LFxuICAgIG9wdGlvbnM6IE9wdGlvbnNUeXBlXG4gICkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICAuLi50aGlzLm1ha2VDb29yZGluYXRvckNvbnRleHQob3BlcmF0aW9uLCBwbHVnaW4sIG9wdGlvbnMpLFxuICAgICAgZW1pdDogdGhpcy5lbWl0LmJpbmQodGhpcyksXG4gICAgfVxuICAgIGF3YWl0IHRoaXMuaW5pdENvb3JkaW5hdG9yKHBsdWdpbiwgY29udGV4dClcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaW5pdENvb3JkaW5hdG9yPE9wdGlvbnNUeXBlPihcbiAgICBwbHVnaW46IFBsdWdpbjxPcHRpb25zVHlwZT4sXG4gICAgY29udGV4dDogQ29vcmRpbmF0b3JDb250ZXh0PE9wdGlvbnNUeXBlPixcbiAgICBzcGVjaWZpZXI/OiBzdHJpbmdcbiAgKSB7XG4gICAgY29uc3QgY2xlYW51cEZuID0gYXdhaXQgd3JhcEVycm9yQXN5bmMoXG4gICAgICBhc3luYyAoKSA9PiBhd2FpdCBwbHVnaW4uY29vcmRpbmF0b3IoY29udGV4dCksXG4gICAgICBgJHtmb3JtYXRDdWxwcml0KHNwZWNpZmllcil9IGVycm9yZWQgd2hlbiB0cnlpbmcgdG8gaW5pdGBcbiAgICApXG4gICAgaWYgKHR5cGVvZiBjbGVhbnVwRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuY2xlYW51cEZucy5wdXNoKHtcbiAgICAgICAgY2xlYW51cEZuOiBjbGVhbnVwRm4sXG4gICAgICAgIHNwZWNpZmllcixcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtYWtlQ29vcmRpbmF0b3JDb250ZXh0PE9wdGlvbnNUeXBlPihcbiAgICBvcGVyYXRpb246IFBsdWdpbk9wZXJhdGlvbixcbiAgICBwbHVnaW46IFBsdWdpbjxPcHRpb25zVHlwZT4gfCBJbnRlcm5hbFBsdWdpbjxPcHRpb25zVHlwZT4sXG4gICAgb3B0aW9uczogT3B0aW9uc1R5cGUsXG4gICAgc3BlY2lmaWVyPzogc3RyaW5nXG4gICkge1xuICAgIHJldHVybiB7XG4gICAgICBvcGVyYXRpb24sXG4gICAgICBvbjogPEsgZXh0ZW5kcyBDb29yZGluYXRvckV2ZW50S2V5PihldmVudDogSywgaGFuZGxlcjogQ29vcmRpbmF0b3JFdmVudEhhbmRsZXI8Sz4pID0+XG4gICAgICAgIHRoaXMucmVnaXN0ZXJIYW5kbGVyKGV2ZW50LCBoYW5kbGVyLCBzcGVjaWZpZXIpLFxuICAgICAgdHJhbnNmb3JtOiA8SyBleHRlbmRzIENvb3JkaW5hdG9yVHJhbnNmb3JtS2V5PihcbiAgICAgICAgZXZlbnQ6IEssXG4gICAgICAgIHRyYW5zZm9ybWVyOiBDb29yZGluYXRvclRyYW5zZm9ybWVyPEs+XG4gICAgICApID0+IHRoaXMucmVnaXN0ZXJUcmFuc2Zvcm1lcihldmVudCwgdHJhbnNmb3JtZXIsIHNwZWNpZmllciksXG4gICAgICBvcHRpb25zOlxuICAgICAgICAnb3B0aW9uc0tleScgaW4gcGx1Z2luICYmIHBsdWdpbi5vcHRpb25zS2V5XG4gICAgICAgICAgPyAoKG9wdGlvbnMgYXMgYW55KVtwbHVnaW4ub3B0aW9uc0tleV0gPz8gKHt9IGFzIE9wdGlvbnNUeXBlKSlcbiAgICAgICAgICA6IG9wdGlvbnMsXG4gICAgICBsb2dnZXI6IHRoaXMuZW52aXJvbm1lbnQubG9nZ2VyLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgY3dkOiB0aGlzLmVudmlyb25tZW50LmN3ZCxcbiAgICAgICAgc3RkZXJyOiB0aGlzLmVudmlyb25tZW50LnN0ZGVycixcbiAgICAgICAgZW52OiB7IC4uLnRoaXMuZW52aXJvbm1lbnQuZW52IH0sXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG4gIGVtaXQ8SyBleHRlbmRzIENvb3JkaW5hdG9yRXZlbnRLZXk+KGV2ZW50OiBLLCB2YWx1ZTogQ29vcmRpbmF0b3JFdmVudFZhbHVlc1tLXSk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlcnNbZXZlbnRdLmZvckVhY2goKHsgaGFuZGxlciwgc3BlY2lmaWVyIH0pID0+IHtcbiAgICAgIHdyYXBFcnJvcihcbiAgICAgICAgKCkgPT4gaGFuZGxlcih2YWx1ZSksXG4gICAgICAgIGAke2Zvcm1hdEN1bHByaXQoc3BlY2lmaWVyKX0gZXJyb3JlZCB3aGVuIHRyeWluZyB0byBoYW5kbGUgYSBcIiR7ZXZlbnR9XCIgZXZlbnRgXG4gICAgICApXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIHRyYW5zZm9ybTxLIGV4dGVuZHMgQ29vcmRpbmF0b3JUcmFuc2Zvcm1LZXk+KFxuICAgIGV2ZW50OiBLLFxuICAgIHZhbHVlOiBDb29yZGluYXRvclRyYW5zZm9ybVZhbHVlc1tLXVxuICApOiBQcm9taXNlPENvb3JkaW5hdG9yVHJhbnNmb3JtVmFsdWVzW0tdPiB7XG4gICAgbGV0IHRyYW5zZm9ybWVkID0gdmFsdWVcbiAgICBmb3IgKGNvbnN0IHsgdHJhbnNmb3JtZXIsIHNwZWNpZmllciB9IG9mIHRoaXMudHJhbnNmb3JtZXJzW2V2ZW50XSkge1xuICAgICAgY29uc3QgcmV0dXJuZWQgPSBhd2FpdCB3cmFwRXJyb3JBc3luYyhcbiAgICAgICAgYXN5bmMgKCkgPT4gYXdhaXQgdHJhbnNmb3JtZXIodHJhbnNmb3JtZWQpLFxuICAgICAgICBgJHtmb3JtYXRDdWxwcml0KHNwZWNpZmllcil9IGVycm9yZWQgd2hlbiB0cnlpbmcgdG8gZG8gYSBcIiR7ZXZlbnR9XCIgdHJhbnNmb3JtYFxuICAgICAgKVxuICAgICAgaWYgKHR5cGVvZiByZXR1cm5lZCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdHJhbnNmb3JtZWQgPSByZXR1cm5lZFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJhbnNmb3JtZWRcbiAgfVxuXG4gIGFzeW5jIGNsZWFudXAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCB7IGNsZWFudXBGbiwgc3BlY2lmaWVyIH0gb2YgdGhpcy5jbGVhbnVwRm5zKSB7XG4gICAgICBhd2FpdCB3cmFwRXJyb3JBc3luYyhcbiAgICAgICAgYXN5bmMgKCkgPT4gYXdhaXQgY2xlYW51cEZuKCksXG4gICAgICAgIGAke2Zvcm1hdEN1bHByaXQoc3BlY2lmaWVyKX0gZXJyb3JlZCB3aGVuIHRyeWluZyB0byBjbGVhbnVwYFxuICAgICAgKVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JtYXRDdWxwcml0KHNwZWNpZmllcj86IHN0cmluZykge1xuICByZXR1cm4gc3BlY2lmaWVyID8gYFBsdWdpbiBcIiR7c3BlY2lmaWVyfVwiYCA6ICdDdWN1bWJlcidcbn1cblxuZnVuY3Rpb24gd3JhcEVycm9yPFQ+KGZuOiAoKSA9PiBULCBtZXNzYWdlOiBzdHJpbmcpOiBUIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oKVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlLCB7IGNhdXNlOiBlcnJvciB9KVxuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdyYXBFcnJvckFzeW5jPFQ+KGZuOiAoKSA9PiBQcm9taXNlPFQ+LCBtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgZm4oKVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlLCB7IGNhdXNlOiBlcnJvciB9KVxuICB9XG59XG4iXX0=
@@ -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
@@ -35,7 +35,7 @@ export type CoordinatorEnvironment = {
35
35
  * Keys for event handlers that plugins can register
36
36
  * @public
37
37
  */
38
- export type CoordinatorEventKey = 'message' | 'paths:resolve';
38
+ export type CoordinatorEventKey = 'message' | 'paths:resolve' | 'publish:url';
39
39
  /**
40
40
  * Keys for transforms that plugins can register
41
41
  * @public
@@ -48,6 +48,7 @@ export type CoordinatorTransformKey = 'pickles:filter' | 'pickles:order';
48
48
  export type CoordinatorEventValues = {
49
49
  message: Readonly<Envelope>;
50
50
  'paths:resolve': Readonly<IResolvedPaths>;
51
+ 'publish:url': string;
51
52
  };
52
53
  /**
53
54
  * Mapping of transform keys to their value types
@@ -91,10 +92,14 @@ export type CoordinatorContext<OptionsType> = {
91
92
  transform: <EventKey extends CoordinatorTransformKey>(event: EventKey, handler: CoordinatorTransformer<EventKey>) => void;
92
93
  /**
93
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.
94
99
  */
95
100
  options: OptionsType;
96
101
  /**
97
- * Logger for emitting user-facing messages or diagnostics
102
+ * Logger for emitting user-facing messages or diagnostics; goes to `stderr`
98
103
  */
99
104
  logger: ILogger;
100
105
  /**
@@ -117,7 +122,7 @@ export type Plugin<OptionsType = any> = {
117
122
  * Coordinator function called during initialization
118
123
  * @remarks
119
124
  * Can do async work, and the Promise will be awaited. Can optionally return
120
- * a cleanup function to be called when Cucumber is about to exit.
125
+ * a cleanup function to be called when the operation has finished.
121
126
  */
122
127
  coordinator: (context: CoordinatorContext<OptionsType>) => PromiseLike<PluginCleanup | void> | PluginCleanup | void;
123
128
  /**
@@ -125,17 +130,78 @@ export type Plugin<OptionsType = any> = {
125
130
  */
126
131
  optionsKey?: string;
127
132
  };
133
+ /**
134
+ * Context object passed to an internal plugin's coordinator function
135
+ * @internal
136
+ */
137
+ export type InternalCoordinatorContext<OptionsType> = CoordinatorContext<OptionsType> & {
138
+ emit: <EventKey extends CoordinatorEventKey>(event: EventKey, value: CoordinatorEventValues[EventKey]) => void;
139
+ };
140
+ /**
141
+ * A built-in plugin with the additional ability to emit events
142
+ * @internal
143
+ */
144
+ export type InternalPlugin<OptionsType = any> = {
145
+ type: 'plugin';
146
+ coordinator: (context: InternalCoordinatorContext<OptionsType>) => PromiseLike<PluginCleanup | void> | PluginCleanup | void;
147
+ };
148
+ /**
149
+ * Context object passed to a formatter plugin's function
150
+ * @public
151
+ */
128
152
  export type FormatterPluginContext<OptionsType> = {
153
+ /**
154
+ * Register a handler for Cucumber Messages
155
+ */
129
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
+ */
130
164
  options: OptionsType;
165
+ /**
166
+ * Logger for emitting user-facing messages or diagnostics; goes to `stderr`
167
+ */
131
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
+ */
132
175
  stream: NodeJS.WritableStream;
176
+ /**
177
+ * Fire-and-forget function to write data to the output stream
178
+ */
133
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
+ */
134
188
  directory?: string;
135
189
  };
136
- export type FormatterPluginFunction<OptionsType> = (context: FormatterPluginContext<OptionsType>) => PromiseLike<PluginCleanup | void> | PluginCleanup | void;
190
+ /**
191
+ * A plugin that consumes Cucumber Messages and writes formatted output to a stream
192
+ * @public
193
+ */
137
194
  export type FormatterPlugin<OptionsType = any> = {
138
195
  type: 'formatter';
139
- formatter: FormatterPluginFunction<OptionsType>;
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
+ */
140
206
  optionsKey?: string;
141
207
  };
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGx1Z2luL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdyaXRhYmxlIH0gZnJvbSAnbm9kZTpzdHJlYW0nXG5pbXBvcnQgdHlwZSB7IEVudmVsb3BlIH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHR5cGUgeyBJTG9nZ2VyIH0gZnJvbSAnLi4vZW52aXJvbm1lbnQnXG5pbXBvcnQgdHlwZSB7IElGaWx0ZXJhYmxlUGlja2xlIH0gZnJvbSAnLi4vZmlsdGVyJ1xuaW1wb3J0IHR5cGUgeyBJUmVzb2x2ZWRQYXRocyB9IGZyb20gJy4uL3BhdGhzJ1xuXG4vKipcbiAqIFRoZSBvcGVyYXRpb24gQ3VjdW1iZXIgaXMgZG9pbmcgaW4gdGhpcyBwcm9jZXNzXG4gKiBAcHVibGljXG4gKiBAcmVtYXJrc1xuICogYGxvYWRTb3VyY2VzYCBhbmQgYGxvYWRTdXBwb3J0YCBhcmUgZ2VuZXJhbGx5IHVzZWQgYXMgcHJlZmxpZ2h0IG9wZXJhdGlvbnNcbiAqIGZvciBjb21wbGV4IHVzZSBjYXNlcy4gYHJ1bkN1Y3VtYmVyYCBpcyB0aGUgb25lIHdoZXJlIHRlc3RzIGFyZSBhY3R1YWxseVxuICogZXhlY3V0ZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFBsdWdpbk9wZXJhdGlvbiA9ICdsb2FkU291cmNlcycgfCAnbG9hZFN1cHBvcnQnIHwgJ3J1bkN1Y3VtYmVyJ1xuXG4vKipcbiAqIFN1YnNldCBvZiB0aGUgZW52aXJvbm1lbnQgYXZhaWxhYmxlIHRvIHBsdWdpbnNcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgQ29vcmRpbmF0b3JFbnZpcm9ubWVudCA9IHtcbiAgLyoqXG4gICAqIFdvcmtpbmcgZGlyZWN0b3J5IGZvciB0aGUgcHJvamVjdFxuICAgKi9cbiAgY3dkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFdyaXRhYmxlIHN0cmVhbSB3aGVyZSB0aGUgdGVzdCBydW4ncyB3YXJuaW5nL2Vycm9yIG91dHB1dCBpcyB3cml0dGVuXG4gICAqIGFuZCBwbHVnaW5zIGNhbiB3cml0ZSB0byBkaXJlY3RseSBpZiByZXF1aXJlZFxuICAgKi9cbiAgc3RkZXJyOiBXcml0YWJsZVxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGVzXG4gICAqL1xuICBlbnY6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD5cbn1cblxuLyoqXG4gKiBLZXlzIGZvciBldmVudCBoYW5kbGVycyB0aGF0IHBsdWdpbnMgY2FuIHJlZ2lzdGVyXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIENvb3JkaW5hdG9yRXZlbnRLZXkgPSAnbWVzc2FnZScgfCAncGF0aHM6cmVzb2x2ZScgfCAncHVibGlzaDp1cmwnXG5cbi8qKlxuICogS2V5cyBmb3IgdHJhbnNmb3JtcyB0aGF0IHBsdWdpbnMgY2FuIHJlZ2lzdGVyXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIENvb3JkaW5hdG9yVHJhbnNmb3JtS2V5ID0gJ3BpY2tsZXM6ZmlsdGVyJyB8ICdwaWNrbGVzOm9yZGVyJ1xuXG4vKipcbiAqIE1hcHBpbmcgb2YgZXZlbnQga2V5cyB0byB0aGVpciB2YWx1ZSB0eXBlc1xuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBDb29yZGluYXRvckV2ZW50VmFsdWVzID0ge1xuICBtZXNzYWdlOiBSZWFkb25seTxFbnZlbG9wZT5cbiAgJ3BhdGhzOnJlc29sdmUnOiBSZWFkb25seTxJUmVzb2x2ZWRQYXRocz5cbiAgJ3B1Ymxpc2g6dXJsJzogc3RyaW5nXG59XG5cbi8qKlxuICogTWFwcGluZyBvZiB0cmFuc2Zvcm0ga2V5cyB0byB0aGVpciB2YWx1ZSB0eXBlc1xuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBDb29yZGluYXRvclRyYW5zZm9ybVZhbHVlcyA9IHtcbiAgJ3BpY2tsZXM6ZmlsdGVyJzogUmVhZG9ubHk8QXJyYXk8SUZpbHRlcmFibGVQaWNrbGU+PlxuICAncGlja2xlczpvcmRlcic6IFJlYWRvbmx5PEFycmF5PElGaWx0ZXJhYmxlUGlja2xlPj5cbn1cblxuLyoqXG4gKiBIYW5kbGVyIGZ1bmN0aW9uIGZvciBhIGNvb3JkaW5hdG9yIGV2ZW50XG4gKiBAcHVibGljXG4gKiBAcmVtYXJrc1xuICogWW91IGNhbiBkbyBhc3luYyB3b3JrIGhlcmUsIGJ1dCBDdWN1bWJlciB3aWxsIG5vdCBhd2FpdCB0aGUgUHJvbWlzZS5cbiAqL1xuZXhwb3J0IHR5cGUgQ29vcmRpbmF0b3JFdmVudEhhbmRsZXI8SyBleHRlbmRzIENvb3JkaW5hdG9yRXZlbnRLZXk+ID0gKFxuICB2YWx1ZTogQ29vcmRpbmF0b3JFdmVudFZhbHVlc1tLXVxuKSA9PiB2b2lkXG5cbi8qKlxuICogVHJhbnNmb3JtZXIgZnVuY3Rpb24gZm9yIGEgY29vcmRpbmF0b3IgdHJhbnNmb3JtXG4gKiBAcmVtYXJrc1xuICogRG9uJ3QgdHJ5IHRvIG1vZGlmeSB0aGUgb3JpZ2luYWwgdmFsdWUuIFJldHVybiBhIHRyYW5zZm9ybWVkIHZhbHVlLCBvclxuICogYHVuZGVmaW5lZGAgdG8gcGFzcyB0aHJvdWdoIHVuY2hhbmdlZC5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgQ29vcmRpbmF0b3JUcmFuc2Zvcm1lcjxLIGV4dGVuZHMgQ29vcmRpbmF0b3JUcmFuc2Zvcm1LZXk+ID0gKFxuICB2YWx1ZTogQ29vcmRpbmF0b3JUcmFuc2Zvcm1WYWx1ZXNbS11cbikgPT4gUHJvbWlzZUxpa2U8Q29vcmRpbmF0b3JUcmFuc2Zvcm1WYWx1ZXNbS10+IHwgQ29vcmRpbmF0b3JUcmFuc2Zvcm1WYWx1ZXNbS11cblxuLyoqXG4gKiBDb250ZXh0IG9iamVjdCBwYXNzZWQgdG8gYSBwbHVnaW4ncyBjb29yZGluYXRvciBmdW5jdGlvblxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBDb29yZGluYXRvckNvbnRleHQ8T3B0aW9uc1R5cGU+ID0ge1xuICAvKipcbiAgICogVGhlIG9wZXJhdGlvbiBDdWN1bWJlciBpcyBkb2luZyBpbiB0aGlzIHByb2Nlc3NcbiAgICovXG4gIG9wZXJhdGlvbjogUGx1Z2luT3BlcmF0aW9uXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhbiBldmVudCBoYW5kbGVyXG4gICAqL1xuICBvbjogPEV2ZW50S2V5IGV4dGVuZHMgQ29vcmRpbmF0b3JFdmVudEtleT4oXG4gICAgZXZlbnQ6IEV2ZW50S2V5LFxuICAgIGhhbmRsZXI6IENvb3JkaW5hdG9yRXZlbnRIYW5kbGVyPEV2ZW50S2V5PlxuICApID0+IHZvaWRcbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgdHJhbnNmb3JtZXJcbiAgICovXG4gIHRyYW5zZm9ybTogPEV2ZW50S2V5IGV4dGVuZHMgQ29vcmRpbmF0b3JUcmFuc2Zvcm1LZXk+KFxuICAgIGV2ZW50OiBFdmVudEtleSxcbiAgICBoYW5kbGVyOiBDb29yZGluYXRvclRyYW5zZm9ybWVyPEV2ZW50S2V5PlxuICApID0+IHZvaWRcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHRoZSBwbHVnaW5cbiAgICogQHJlbWFya3NcbiAgICogSWYgdGhlIHBsdWdpbiBkZWZpbml0aW9uIHByb3ZpZGVzIGFuIGBvcHRpb25zS2V5YCwgdGhpcyB2YWx1ZSB3aWxsIGJlXG4gICAqIGZyb20gdGhhdCBrZXkgaW4gdGhlIGdsb2JhbCBvcHRpb25zIG9iamVjdC4gT3RoZXJ3aXNlLCBpdCB3aWxsIGJlIHRoZVxuICAgKiBlbnRpcmUgZ2xvYmFsIG9wdGlvbnMgb2JqZWN0LlxuICAgKi9cbiAgb3B0aW9uczogT3B0aW9uc1R5cGVcbiAgLyoqXG4gICAqIExvZ2dlciBmb3IgZW1pdHRpbmcgdXNlci1mYWNpbmcgbWVzc2FnZXMgb3IgZGlhZ25vc3RpY3M7IGdvZXMgdG8gYHN0ZGVycmBcbiAgICovXG4gIGxvZ2dlcjogSUxvZ2dlclxuICAvKipcbiAgICogU3Vic2V0IG9mIHRoZSBlbnZpcm9ubWVudFxuICAgKi9cbiAgZW52aXJvbm1lbnQ6IENvb3JkaW5hdG9yRW52aXJvbm1lbnRcbn1cblxuLyoqXG4gKiBPcHRpb25hbCBjbGVhbnVwIGZ1bmN0aW9uIHJldHVybmVkIGJ5IGEgcGx1Z2luIGNvb3JkaW5hdG9yXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFBsdWdpbkNsZWFudXAgPSAoKSA9PiBQcm9taXNlTGlrZTx2b2lkPiB8IHZvaWRcblxuLyoqXG4gKiBBIHBsdWdpbiB0aGF0IGNhbiBzdWJzY3JpYmUgdG8gZXZlbnRzIGFuZCByZWdpc3RlciB0cmFuc2Zvcm1zXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFBsdWdpbjxPcHRpb25zVHlwZSA9IGFueT4gPSB7XG4gIHR5cGU6ICdwbHVnaW4nXG4gIC8qKlxuICAgKiBDb29yZGluYXRvciBmdW5jdGlvbiBjYWxsZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uXG4gICAqIEByZW1hcmtzXG4gICAqIENhbiBkbyBhc3luYyB3b3JrLCBhbmQgdGhlIFByb21pc2Ugd2lsbCBiZSBhd2FpdGVkLiBDYW4gb3B0aW9uYWxseSByZXR1cm5cbiAgICogYSBjbGVhbnVwIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRpb24gaGFzIGZpbmlzaGVkLlxuICAgKi9cbiAgY29vcmRpbmF0b3I6IChcbiAgICBjb250ZXh0OiBDb29yZGluYXRvckNvbnRleHQ8T3B0aW9uc1R5cGU+XG4gICkgPT4gUHJvbWlzZUxpa2U8UGx1Z2luQ2xlYW51cCB8IHZvaWQ+IHwgUGx1Z2luQ2xlYW51cCB8IHZvaWRcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGtleSB0byBleHRyYWN0IHBsdWdpbi1zcGVjaWZpYyBvcHRpb25zIGZyb20gdGhlIHJvb3Qgb3B0aW9ucyBvYmplY3RcbiAgICovXG4gIG9wdGlvbnNLZXk/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBDb250ZXh0IG9iamVjdCBwYXNzZWQgdG8gYW4gaW50ZXJuYWwgcGx1Z2luJ3MgY29vcmRpbmF0b3IgZnVuY3Rpb25cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgdHlwZSBJbnRlcm5hbENvb3JkaW5hdG9yQ29udGV4dDxPcHRpb25zVHlwZT4gPSBDb29yZGluYXRvckNvbnRleHQ8T3B0aW9uc1R5cGU+ICYge1xuICBlbWl0OiA8RXZlbnRLZXkgZXh0ZW5kcyBDb29yZGluYXRvckV2ZW50S2V5PihcbiAgICBldmVudDogRXZlbnRLZXksXG4gICAgdmFsdWU6IENvb3JkaW5hdG9yRXZlbnRWYWx1ZXNbRXZlbnRLZXldXG4gICkgPT4gdm9pZFxufVxuXG4vKipcbiAqIEEgYnVpbHQtaW4gcGx1Z2luIHdpdGggdGhlIGFkZGl0aW9uYWwgYWJpbGl0eSB0byBlbWl0IGV2ZW50c1xuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCB0eXBlIEludGVybmFsUGx1Z2luPE9wdGlvbnNUeXBlID0gYW55PiA9IHtcbiAgdHlwZTogJ3BsdWdpbidcbiAgY29vcmRpbmF0b3I6IChcbiAgICBjb250ZXh0OiBJbnRlcm5hbENvb3JkaW5hdG9yQ29udGV4dDxPcHRpb25zVHlwZT5cbiAgKSA9PiBQcm9taXNlTGlrZTxQbHVnaW5DbGVhbnVwIHwgdm9pZD4gfCBQbHVnaW5DbGVhbnVwIHwgdm9pZFxufVxuXG4vKipcbiAqIENvbnRleHQgb2JqZWN0IHBhc3NlZCB0byBhIGZvcm1hdHRlciBwbHVnaW4ncyBmdW5jdGlvblxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBGb3JtYXR0ZXJQbHVnaW5Db250ZXh0PE9wdGlvbnNUeXBlPiA9IHtcbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgaGFuZGxlciBmb3IgQ3VjdW1iZXIgTWVzc2FnZXNcbiAgICovXG4gIG9uOiAoa2V5OiAnbWVzc2FnZScsIGhhbmRsZXI6ICh2YWx1ZTogRW52ZWxvcGUpID0+IHZvaWQpID0+IHZvaWRcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHRoZSBmb3JtYXR0ZXJcbiAgICogQHJlbWFya3NcbiAgICogSWYgdGhlIHBsdWdpbiBkZWZpbml0aW9uIHByb3ZpZGVzIGFuIGBvcHRpb25zS2V5YCwgdGhpcyB2YWx1ZSB3aWxsIGJlXG4gICAqIGZyb20gdGhhdCBrZXkgaW4gdGhlIGdsb2JhbCBvcHRpb25zIG9iamVjdC4gT3RoZXJ3aXNlLCBpdCB3aWxsIGJlIHRoZVxuICAgKiBlbnRpcmUgZ2xvYmFsIG9wdGlvbnMgb2JqZWN0LlxuICAgKi9cbiAgb3B0aW9uczogT3B0aW9uc1R5cGVcbiAgLyoqXG4gICAqIExvZ2dlciBmb3IgZW1pdHRpbmcgdXNlci1mYWNpbmcgbWVzc2FnZXMgb3IgZGlhZ25vc3RpY3M7IGdvZXMgdG8gYHN0ZGVycmBcbiAgICovXG4gIGxvZ2dlcjogSUxvZ2dlclxuICAvKipcbiAgICogVGhlIHdyaXRhYmxlIHN0cmVhbSB0aGUgb3V0cHV0IGlzIGJlaW5nIHdyaXR0ZW4gdG9cbiAgICogQHJlbWFya3NcbiAgICogSWRlYWxseSB5b3Ugc2hvdWxkIHVzZSB0aGlzIG9ubHkgZm9yIGZlYXR1cmUgZGV0ZWN0aW9uIGFuZC9vciBhZHZhbmNlZFxuICAgKiBUVFkgZnVuY3Rpb25hbGl0eTsgZm9yIGp1c3Qgd3JpdGluZyBvdXRwdXQsIHVzZSBgd3JpdGVgXG4gICAqL1xuICBzdHJlYW06IE5vZGVKUy5Xcml0YWJsZVN0cmVhbVxuICAvKipcbiAgICogRmlyZS1hbmQtZm9yZ2V0IGZ1bmN0aW9uIHRvIHdyaXRlIGRhdGEgdG8gdGhlIG91dHB1dCBzdHJlYW1cbiAgICovXG4gIHdyaXRlOiAoYnVmZmVyOiBzdHJpbmcgfCBVaW50OEFycmF5KSA9PiB2b2lkXG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHRhcmdldCBmaWxlLCBpZiB0aGUgb3V0cHV0IHN0cmVhbSBpcyBmb3IgYVxuICAgKiBmaWxlXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gd3JpdGUgYWRkaXRpb25hbCBmaWxlcyBhcyBzaWJsaW5ncyB0byB0aGUgb3V0cHV0IGZpbGUsXG4gICAqIGJ1dCB0aGlzIHNob3VsZCBiZSBmb3IgZXhjZXB0aW9uYWwgY2FzZXM7IHdlIHJlY29tbWVuZCBrZWVwaW5nIGZvcm1hdHRlclxuICAgKiBvdXRwdXQgc2VsZi1jb250YWluZWQgYXMgbXVjaCBhcyBwb3NzaWJsZS5cbiAgICovXG4gIGRpcmVjdG9yeT86IHN0cmluZ1xufVxuXG4vKipcbiAqIEEgcGx1Z2luIHRoYXQgY29uc3VtZXMgQ3VjdW1iZXIgTWVzc2FnZXMgYW5kIHdyaXRlcyBmb3JtYXR0ZWQgb3V0cHV0IHRvIGEgc3RyZWFtXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIEZvcm1hdHRlclBsdWdpbjxPcHRpb25zVHlwZSA9IGFueT4gPSB7XG4gIHR5cGU6ICdmb3JtYXR0ZXInXG4gIC8qKlxuICAgKiBDb29yZGluYXRvciBmdW5jdGlvbiBjYWxsZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uXG4gICAqIEByZW1hcmtzXG4gICAqIENhbiBkbyBhc3luYyB3b3JrLCBhbmQgdGhlIFByb21pc2Ugd2lsbCBiZSBhd2FpdGVkLiBDYW4gb3B0aW9uYWxseSByZXR1cm5cbiAgICogYSBjbGVhbnVwIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBiZWZvcmUgdGhlIHN0cmVhbSBpcyBmaW5pc2hlZC5cbiAgICovXG4gIGZvcm1hdHRlcjogKFxuICAgIGNvbnRleHQ6IEZvcm1hdHRlclBsdWdpbkNvbnRleHQ8T3B0aW9uc1R5cGU+XG4gICkgPT4gUHJvbWlzZUxpa2U8UGx1Z2luQ2xlYW51cCB8IHZvaWQ+IHwgUGx1Z2luQ2xlYW51cCB8IHZvaWRcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGtleSB0byBleHRyYWN0IHBsdWdpbi1zcGVjaWZpYyBvcHRpb25zIGZyb20gdGhlIGZvcm1hdCBvcHRpb25zIG9iamVjdFxuICAgKi9cbiAgb3B0aW9uc0tleT86IHN0cmluZ1xufVxuIl19
@@ -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=index.js.map
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQWdEO0FBRWhELGtCQUFlLDhCQUFhLENBQUE7QUFDNUIsMENBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHVibGlzaFBsdWdpbiB9IGZyb20gJy4vcHVibGlzaF9wbHVnaW4nXG5cbmV4cG9ydCBkZWZhdWx0IHB1Ymxpc2hQbHVnaW5cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnXG4iXX0=
@@ -1,2 +1,2 @@
1
- import { Plugin } from '../plugin';
2
- export declare const publishPlugin: Plugin;
1
+ import type { InternalPlugin } from '../plugin';
2
+ export declare const publishPlugin: InternalPlugin;
@@ -4,51 +4,56 @@ 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"));
16
- const DEFAULT_CUCUMBER_PUBLISH_URL = 'https://messages.cucumber.io/api/reports';
15
+ const supports_color_1 = require("supports-color");
16
+ const DEFAULT_CUCUMBER_PUBLISH_URL = 'https://reports.cucumber.io/api/reports';
17
17
  exports.publishPlugin = {
18
18
  type: 'plugin',
19
- coordinator: async ({ on, logger, options, environment }) => {
19
+ coordinator: async ({ on, emit, logger, options, environment }) => {
20
20
  if (!options) {
21
21
  return undefined;
22
22
  }
23
23
  const { url = DEFAULT_CUCUMBER_PUBLISH_URL, token } = options;
24
- const headers = {};
24
+ const headers = {
25
+ Accept: 'application/json',
26
+ };
25
27
  if (token !== undefined) {
26
28
  headers.Authorization = `Bearer ${token}`;
27
29
  }
28
30
  const touchResponse = await fetch(url, { headers });
29
- const banner = await touchResponse.text();
31
+ if (touchResponse.status >= 500) {
32
+ return () => {
33
+ logger.error(`Failed to publish report to ${new URL(url).origin} with status ${touchResponse.status}`);
34
+ logger.debug(touchResponse);
35
+ };
36
+ }
37
+ const touchResult = (await touchResponse.json());
30
38
  if (!touchResponse.ok) {
31
39
  return () => {
32
- if (touchResponse.status < 500) {
33
- environment.stderr.write(sanitisePublishOutput(banner, environment.stderr) + '\n');
34
- }
35
- else {
36
- logger.error(`Failed to publish report to ${new URL(url).origin} with status ${touchResponse.status}`);
37
- logger.debug(touchResponse);
38
- }
40
+ environment.stderr.write(`${sanitisePublishOutput(touchResult.banner, environment.stderr)}\n`);
39
41
  };
40
42
  }
43
+ if (touchResult.url) {
44
+ emit('publish:url', touchResult.url);
45
+ }
41
46
  const uploadUrl = touchResponse.headers.get('Location');
42
- const tempDir = await (0, promises_2.mkdtemp)(node_path_1.default.join((0, node_os_1.tmpdir)(), `cucumber-js-publish-`));
47
+ const tempDir = await (0, promises_1.mkdtemp)(node_path_1.default.join((0, node_os_1.tmpdir)(), `cucumber-js-publish-`));
43
48
  const tempFilePath = node_path_1.default.join(tempDir, 'envelopes.jsonl.gz');
44
49
  const writeStream = (0, node_zlib_1.createGzip)();
45
- const finishedWriting = (0, promises_1.pipeline)(writeStream, (0, node_fs_1.createWriteStream)(tempFilePath));
46
- on('message', (value) => writeStream.write(JSON.stringify(value) + '\n'));
50
+ const finishedWriting = (0, promises_2.pipeline)(writeStream, (0, node_fs_1.createWriteStream)(tempFilePath));
51
+ on('message', (value) => writeStream.write(`${JSON.stringify(value)}\n`));
47
52
  return () => {
48
53
  return new Promise((resolve) => {
49
54
  writeStream.end(async () => {
50
55
  await finishedWriting;
51
- const stats = await (0, promises_2.stat)(tempFilePath);
56
+ const stats = await (0, promises_1.stat)(tempFilePath);
52
57
  const contentLength = stats.size.toString();
53
58
  logger.debug('Uploading envelopes to Cucumber Reports with content length:', contentLength);
54
59
  const uploadResponse = await fetch(uploadUrl, {
@@ -62,7 +67,7 @@ exports.publishPlugin = {
62
67
  duplex: 'half',
63
68
  });
64
69
  if (uploadResponse.ok) {
65
- environment.stderr.write(sanitisePublishOutput(banner, environment.stderr) + '\n');
70
+ environment.stderr.write(`${sanitisePublishOutput(touchResult.banner, environment.stderr)}\n`);
66
71
  }
67
72
  else {
68
73
  logger.error(`Failed to upload report to ${new URL(uploadUrl).origin} with status ${uploadResponse.status}`);
@@ -81,9 +86,9 @@ strip them back out. Ideally we should get structured data from the service and
81
86
  compose the console message on this end.
82
87
  */
83
88
  function sanitisePublishOutput(raw, stderr) {
84
- if (!(0, supports_color_1.supportsColor)(stderr) && (0, has_ansi_1.default)(raw)) {
89
+ if (!(0, supports_color_1.createSupportsColor)(stderr) && (0, has_ansi_1.default)(raw)) {
85
90
  return (0, node_util_1.stripVTControlCharacters)(raw);
86
91
  }
87
92
  return raw;
88
93
  }
89
- //# sourceMappingURL=publish_plugin.js.map
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaF9wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaC9wdWJsaXNoX3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxQ0FBNkQ7QUFDN0QsK0NBQWdEO0FBQ2hELHFDQUFnQztBQUNoQywwREFBNEI7QUFFNUIsbURBQStDO0FBQy9DLHlDQUFvRDtBQUNwRCx5Q0FBc0M7QUFDdEMsd0RBQThCO0FBQzlCLG1EQUFvRDtBQVFwRCxNQUFNLDRCQUE0QixHQUFHLHlDQUF5QyxDQUFBO0FBRWpFLFFBQUEsYUFBYSxHQUFtQjtJQUMzQyxJQUFJLEVBQUUsUUFBUTtJQUNkLFdBQVcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtRQUNoRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLFNBQVMsQ0FBQTtRQUNsQixDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsR0FBRyw0QkFBNEIsRUFBRSxLQUFLLEVBQUUsR0FBRyxPQUFPLENBQUE7UUFDN0QsTUFBTSxPQUFPLEdBQThCO1lBQ3pDLE1BQU0sRUFBRSxrQkFBa0I7U0FDM0IsQ0FBQTtRQUNELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsVUFBVSxLQUFLLEVBQUUsQ0FBQTtRQUMzQyxDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUVuRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7WUFDaEMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsTUFBTSxDQUFDLEtBQUssQ0FDViwrQkFBK0IsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxnQkFB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LENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtvQkFDM0MsQ0FBQztvQkFDRCxPQUFPLEVBQUUsQ0FBQTtnQkFDWCxDQUFDLENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMscUJBQXFCLENBQUMsR0FBVyxFQUFFLE1BQWdCO0lBQzFELElBQUksQ0FBQyxJQUFBLG9DQUFtQixFQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUEsa0JBQU8sRUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pELE9BQU8sSUFBQSxvQ0FBd0IsRUFBQyxHQUFHLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVhZFN0cmVhbSwgY3JlYXRlV3JpdGVTdHJlYW0gfSBmcm9tICdub2RlOmZzJ1xuaW1wb3J0IHsgbWtkdGVtcCwgc3RhdCB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnXG5pbXBvcnQgeyB0bXBkaXIgfSBmcm9tICdub2RlOm9zJ1xuaW1wb3J0IHBhdGggZnJvbSAnbm9kZTpwYXRoJ1xuaW1wb3J0IHR5cGUgeyBXcml0YWJsZSB9IGZyb20gJ25vZGU6c3RyZWFtJ1xuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tICdub2RlOnN0cmVhbS9wcm9taXNlcydcbmltcG9ydCB7IHN0cmlwVlRDb250cm9sQ2hhcmFjdGVycyB9IGZyb20gJ25vZGU6dXRpbCdcbmltcG9ydCB7IGNyZWF0ZUd6aXAgfSBmcm9tICdub2RlOnpsaWInXG5pbXBvcnQgaGFzQW5zaSBmcm9tICdoYXMtYW5zaSdcbmltcG9ydCB7IGNyZWF0ZVN1cHBvcnRzQ29sb3IgfSBmcm9tICdzdXBwb3J0cy1jb2xvcidcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxQbHVnaW4gfSBmcm9tICcuLi9wbHVnaW4nXG5cbnR5cGUgVG91Y2hSZXN1bHQgPSB7XG4gIGJhbm5lcjogc3RyaW5nXG4gIHVybD86IHN0cmluZ1xufVxuXG5jb25zdCBERUZBVUxUX0NVQ1VNQkVSX1BVQkxJU0hfVVJMID0gJ2h0dHBzOi8vcmVwb3J0cy5jdWN1bWJlci5pby9hcGkvcmVwb3J0cydcblxuZXhwb3J0IGNvbnN0IHB1Ymxpc2hQbHVnaW46IEludGVybmFsUGx1Z2luID0ge1xuICB0eXBlOiAncGx1Z2luJyxcbiAgY29vcmRpbmF0b3I6IGFzeW5jICh7IG9uLCBlbWl0LCBsb2dnZXIsIG9wdGlvbnMsIGVudmlyb25tZW50IH0pID0+IHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gICAgY29uc3QgeyB1cmwgPSBERUZBVUxUX0NVQ1VNQkVSX1BVQkxJU0hfVVJMLCB0b2tlbiB9ID0gb3B0aW9uc1xuICAgIGNvbnN0IGhlYWRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9XG4gICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHt0b2tlbn1gXG4gICAgfVxuICAgIGNvbnN0IHRvdWNoUmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHsgaGVhZGVycyB9KVxuXG4gICAgaWYgKHRvdWNoUmVzcG9uc2Uuc3RhdHVzID49IDUwMCkge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAgIGBGYWlsZWQgdG8gcHVibGlzaCByZXBvcnQgdG8gJHtuZXcgVVJMKHVybCkub3JpZ2lufSB3aXRoIHN0YXR1cyAke3RvdWNoUmVzcG9uc2Uuc3RhdHVzfWBcbiAgICAgICAgKVxuICAgICAgICBsb2dnZXIuZGVidWcodG91Y2hSZXNwb25zZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0b3VjaFJlc3VsdCA9IChhd2FpdCB0b3VjaFJlc3BvbnNlLmpzb24oKSkgYXMgVG91Y2hSZXN1bHRcblxuICAgIGlmICghdG91Y2hSZXNwb25zZS5vaykge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZW52aXJvbm1lbnQuc3RkZXJyLndyaXRlKFxuICAgICAgICAgIGAke3Nhbml0aXNlUHVibGlzaE91dHB1dCh0b3VjaFJlc3VsdC5iYW5uZXIsIGVudmlyb25tZW50LnN0ZGVycil9XFxuYFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRvdWNoUmVzdWx0LnVybCkge1xuICAgICAgZW1pdCgncHVibGlzaDp1cmwnLCB0b3VjaFJlc3VsdC51cmwpXG4gICAgfVxuXG4gICAgY29uc3QgdXBsb2FkVXJsID0gdG91Y2hSZXNwb25zZS5oZWFkZXJzLmdldCgnTG9jYXRpb24nKVxuICAgIGNvbnN0IHRlbXBEaXIgPSBhd2FpdCBta2R0ZW1wKHBhdGguam9pbih0bXBkaXIoKSwgYGN1Y3VtYmVyLWpzLXB1Ymxpc2gtYCkpXG4gICAgY29uc3QgdGVtcEZpbGVQYXRoID0gcGF0aC5qb2luKHRlbXBEaXIsICdlbnZlbG9wZXMuanNvbmwuZ3onKVxuICAgIGNvbnN0IHdyaXRlU3RyZWFtID0gY3JlYXRlR3ppcCgpXG4gICAgY29uc3QgZmluaXNoZWRXcml0aW5nID0gcGlwZWxpbmUod3JpdGVTdHJlYW0sIGNyZWF0ZVdyaXRlU3RyZWFtKHRlbXBGaWxlUGF0aCkpXG4gICAgb24oJ21lc3NhZ2UnLCAodmFsdWUpID0+IHdyaXRlU3RyZWFtLndyaXRlKGAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX1cXG5gKSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgd3JpdGVTdHJlYW0uZW5kKGFzeW5jICgpID0+IHtcbiAgICAgICAgICBhd2FpdCBmaW5pc2hlZFdyaXRpbmdcbiAgICAgICAgICBjb25zdCBzdGF0cyA9IGF3YWl0IHN0YXQodGVtcEZpbGVQYXRoKVxuICAgICAgICAgIGNvbnN0IGNvbnRlbnRMZW5ndGggPSBzdGF0cy5zaXplLnRvU3RyaW5nKClcbiAgICAgICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgICAgICAnVXBsb2FkaW5nIGVudmVsb3BlcyB0byBDdWN1bWJlciBSZXBvcnRzIHdpdGggY29udGVudCBsZW5ndGg6JyxcbiAgICAgICAgICAgIGNvbnRlbnRMZW5ndGhcbiAgICAgICAgICApXG4gICAgICAgICAgY29uc3QgdXBsb2FkUmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cGxvYWRVcmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbmwnLFxuICAgICAgICAgICAgICAnQ29udGVudC1FbmNvZGluZyc6ICdnemlwJyxcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJzogY29udGVudExlbmd0aCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBib2R5OiBjcmVhdGVSZWFkU3RyZWFtKHRlbXBGaWxlUGF0aCksXG4gICAgICAgICAgICBkdXBsZXg6ICdoYWxmJyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIGlmICh1cGxvYWRSZXNwb25zZS5vaykge1xuICAgICAgICAgICAgZW52aXJvbm1lbnQuc3RkZXJyLndyaXRlKFxuICAgICAgICAgICAgICBgJHtzYW5pdGlzZVB1Ymxpc2hPdXRwdXQodG91Y2hSZXN1bHQuYmFubmVyLCBlbnZpcm9ubWVudC5zdGRlcnIpfVxcbmBcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIHVwbG9hZCByZXBvcnQgdG8gJHtcbiAgICAgICAgICAgICAgICBuZXcgVVJMKHVwbG9hZFVybCkub3JpZ2luXG4gICAgICAgICAgICAgIH0gd2l0aCBzdGF0dXMgJHt1cGxvYWRSZXNwb25zZS5zdGF0dXN9YFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKGF3YWl0IHVwbG9hZFJlc3BvbnNlLnRleHQoKSlcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH1cbiAgfSxcbn1cblxuLypcblRoaXMgaXMgYmVjYXVzZSB0aGUgQ3VjdW1iZXIgUmVwb3J0cyBzZXJ2aWNlIHJldHVybnMgYSBwcmUtZm9ybWF0dGVkIGNvbnNvbGUgbWVzc2FnZVxuaW5jbHVkaW5nIEFOU0kgZXNjYXBlcywgc28gaWYgb3VyIHN0ZGVyciBzdHJlYW0gZG9lc24ndCBzdXBwb3J0IHRob3NlIHdlIG5lZWQgdG9cbnN0cmlwIHRoZW0gYmFjayBvdXQuIElkZWFsbHkgd2Ugc2hvdWxkIGdldCBzdHJ1Y3R1cmVkIGRhdGEgZnJvbSB0aGUgc2VydmljZSBhbmRcbmNvbXBvc2UgdGhlIGNvbnNvbGUgbWVzc2FnZSBvbiB0aGlzIGVuZC5cbiAqL1xuZnVuY3Rpb24gc2FuaXRpc2VQdWJsaXNoT3V0cHV0KHJhdzogc3RyaW5nLCBzdGRlcnI6IFdyaXRhYmxlKSB7XG4gIGlmICghY3JlYXRlU3VwcG9ydHNDb2xvcihzdGRlcnIpICYmIGhhc0Fuc2kocmF3KSkge1xuICAgIHJldHVybiBzdHJpcFZUQ29udHJvbENoYXJhY3RlcnMocmF3KVxuICB9XG4gIHJldHVybiByYXdcbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPcHRpb25zIHJlbGF0aW5nIHRvIHB1YmxpY2F0aW9uIHRvIGh0dHBzOi8vcmVwb3J0cy5jdWN1bWJlci5pb1xuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElQdWJsaXNoQ29uZmlnIHtcbiAgLyoqXG4gICAqIEJhc2UgVVJMIGZvciB0aGUgQ3VjdW1iZXIgUmVwb3J0cyBzZXJ2aWNlXG4gICAqL1xuICB1cmw6IHN0cmluZ1xuICAvKipcbiAgICogQWNjZXNzIHRva2VuIGZvciB0aGUgQ3VjdW1iZXIgUmVwb3J0cyBzZXJ2aWNlXG4gICAqL1xuICB0b2tlbjogc3RyaW5nXG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Readable } from 'node:stream';
1
+ import type { Readable } from 'node:stream';
2
2
  import * as messages from '@cucumber/messages';
3
3
  export interface IAttachmentMedia {
4
4
  encoding: messages.AttachmentContentEncoding;
@@ -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.default.readable(data)) {
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 { RuntimeAdapter } from './types';
6
- import { Runtime } from './index';
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;