@dev-blinq/cucumber-js 1.0.36 → 1.0.38

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 (239) hide show
  1. package/bin/cucumber-js +0 -0
  2. package/bin/cucumber.js +0 -0
  3. package/lib/api/console_logger.d.ts +12 -12
  4. package/lib/api/console_logger.js +23 -23
  5. package/lib/api/convert_configuration.d.ts +4 -4
  6. package/lib/api/convert_configuration.js +65 -65
  7. package/lib/api/environment.d.ts +2 -2
  8. package/lib/api/environment.js +13 -13
  9. package/lib/api/formatters.d.ts +20 -20
  10. package/lib/api/formatters.js +60 -60
  11. package/lib/api/gherkin.d.ts +21 -21
  12. package/lib/api/gherkin.js +99 -99
  13. package/lib/api/index.d.ts +12 -12
  14. package/lib/api/index.js +27 -27
  15. package/lib/api/load_configuration.d.ts +9 -9
  16. package/lib/api/load_configuration.js +40 -40
  17. package/lib/api/load_sources.d.ts +9 -9
  18. package/lib/api/load_sources.js +52 -52
  19. package/lib/api/load_support.d.ts +10 -10
  20. package/lib/api/load_support.js +29 -29
  21. package/lib/api/paths.d.ts +8 -8
  22. package/lib/api/paths.js +101 -101
  23. package/lib/api/plugins.d.ts +4 -4
  24. package/lib/api/plugins.js +18 -18
  25. package/lib/api/run_cucumber.d.ts +11 -11
  26. package/lib/api/run_cucumber.js +114 -114
  27. package/lib/api/runtime.d.ts +21 -21
  28. package/lib/api/runtime.js +35 -35
  29. package/lib/api/support.d.ts +9 -9
  30. package/lib/api/support.js +25 -25
  31. package/lib/api/test_helpers.d.ts +3 -3
  32. package/lib/api/test_helpers.js +30 -30
  33. package/lib/api/types.d.ts +177 -177
  34. package/lib/api/types.js +2 -2
  35. package/lib/cli/helpers.d.ts +39 -39
  36. package/lib/cli/helpers.js +223 -223
  37. package/lib/cli/i18n.d.ts +2 -2
  38. package/lib/cli/i18n.js +69 -69
  39. package/lib/cli/index.d.ts +21 -21
  40. package/lib/cli/index.js +63 -63
  41. package/lib/cli/install_validator.d.ts +1 -1
  42. package/lib/cli/install_validator.js +13 -13
  43. package/lib/cli/run.d.ts +1 -1
  44. package/lib/cli/run.js +43 -43
  45. package/lib/cli/validate_node_engine_version.d.ts +10 -10
  46. package/lib/cli/validate_node_engine_version.js +23 -23
  47. package/lib/configuration/argv_parser.d.ts +20 -20
  48. package/lib/configuration/argv_parser.js +102 -102
  49. package/lib/configuration/check_schema.d.ts +2 -2
  50. package/lib/configuration/check_schema.js +59 -59
  51. package/lib/configuration/default_configuration.d.ts +2 -2
  52. package/lib/configuration/default_configuration.js +28 -28
  53. package/lib/configuration/from_file.d.ts +3 -3
  54. package/lib/configuration/from_file.js +84 -84
  55. package/lib/configuration/helpers.d.ts +1 -1
  56. package/lib/configuration/helpers.js +10 -10
  57. package/lib/configuration/index.d.ts +7 -7
  58. package/lib/configuration/index.js +28 -28
  59. package/lib/configuration/locate_file.d.ts +1 -1
  60. package/lib/configuration/locate_file.js +20 -20
  61. package/lib/configuration/merge_configurations.d.ts +2 -2
  62. package/lib/configuration/merge_configurations.js +47 -47
  63. package/lib/configuration/option_splitter.d.ts +3 -3
  64. package/lib/configuration/option_splitter.js +22 -22
  65. package/lib/configuration/types.d.ts +30 -30
  66. package/lib/configuration/types.js +2 -2
  67. package/lib/configuration/validate_configuration.d.ts +3 -3
  68. package/lib/configuration/validate_configuration.js +12 -12
  69. package/lib/filter_stack_trace.d.ts +3 -3
  70. package/lib/filter_stack_trace.js +37 -37
  71. package/lib/formatter/builder.d.ts +37 -37
  72. package/lib/formatter/builder.js +100 -100
  73. package/lib/formatter/bvt_analysis_formatter.d.ts +18 -18
  74. package/lib/formatter/bvt_analysis_formatter.js +192 -192
  75. package/lib/formatter/feature_data_format.d.ts +14 -14
  76. package/lib/formatter/feature_data_format.js +80 -80
  77. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  78. package/lib/formatter/fixtures/typescript.js +5 -5
  79. package/lib/formatter/get_color_fns.d.ts +15 -15
  80. package/lib/formatter/get_color_fns.js +55 -55
  81. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  82. package/lib/formatter/helpers/duration_helpers.js +8 -8
  83. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  84. package/lib/formatter/helpers/event_data_collector.js +125 -125
  85. package/lib/formatter/helpers/formatters.d.ts +6 -6
  86. package/lib/formatter/helpers/formatters.js +44 -44
  87. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  88. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  89. package/lib/formatter/helpers/index.d.ts +10 -10
  90. package/lib/formatter/helpers/index.js +51 -51
  91. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  92. package/lib/formatter/helpers/issue_helpers.js +58 -58
  93. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  94. package/lib/formatter/helpers/keyword_type.js +31 -31
  95. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  96. package/lib/formatter/helpers/location_helpers.js +16 -16
  97. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  98. package/lib/formatter/helpers/pickle_parser.js +27 -27
  99. package/lib/formatter/helpers/report_generator.d.ts +107 -103
  100. package/lib/formatter/helpers/report_generator.js +310 -247
  101. package/lib/formatter/helpers/report_generator.js.map +1 -1
  102. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  103. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  104. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  105. package/lib/formatter/helpers/summary_helpers.js +95 -95
  106. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  107. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  108. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  109. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  110. package/lib/formatter/helpers/upload_serivce.d.ts +9 -9
  111. package/lib/formatter/helpers/upload_serivce.js +46 -46
  112. package/lib/formatter/helpers/uploader.d.ts +11 -11
  113. package/lib/formatter/helpers/uploader.js +56 -56
  114. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  115. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  116. package/lib/formatter/html_formatter.d.ts +7 -7
  117. package/lib/formatter/html_formatter.js +29 -29
  118. package/lib/formatter/index.d.ts +53 -53
  119. package/lib/formatter/index.js +20 -20
  120. package/lib/formatter/json_formatter.d.ts +78 -78
  121. package/lib/formatter/json_formatter.js +229 -229
  122. package/lib/formatter/junit_formatter.d.ts +17 -17
  123. package/lib/formatter/junit_formatter.js +180 -180
  124. package/lib/formatter/message_formatter.d.ts +5 -5
  125. package/lib/formatter/message_formatter.js +14 -14
  126. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  127. package/lib/formatter/progress_bar_formatter.js +98 -98
  128. package/lib/formatter/progress_formatter.d.ts +9 -9
  129. package/lib/formatter/progress_formatter.js +58 -58
  130. package/lib/formatter/rerun_formatter.d.ts +13 -13
  131. package/lib/formatter/rerun_formatter.js +79 -79
  132. package/lib/formatter/snippets_formatter.d.ts +6 -6
  133. package/lib/formatter/snippets_formatter.js +60 -60
  134. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  135. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  136. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  137. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  138. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  139. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  140. package/lib/formatter/summary_formatter.d.ts +14 -14
  141. package/lib/formatter/summary_formatter.js +67 -67
  142. package/lib/formatter/usage_formatter.d.ts +6 -6
  143. package/lib/formatter/usage_formatter.js +97 -97
  144. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  145. package/lib/formatter/usage_json_formatter.js +33 -33
  146. package/lib/index.d.ts +58 -58
  147. package/lib/index.js +108 -108
  148. package/lib/logger.d.ts +5 -5
  149. package/lib/logger.js +2 -2
  150. package/lib/models/data_table.d.ts +10 -10
  151. package/lib/models/data_table.js +45 -45
  152. package/lib/models/definition.d.ts +55 -55
  153. package/lib/models/definition.js +21 -21
  154. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  155. package/lib/models/gherkin_step_keyword.js +2 -2
  156. package/lib/models/pickle_order.d.ts +1 -1
  157. package/lib/models/pickle_order.js +2 -2
  158. package/lib/models/step_definition.d.ts +11 -11
  159. package/lib/models/step_definition.js +36 -36
  160. package/lib/models/test_case_hook_definition.d.ts +10 -10
  161. package/lib/models/test_case_hook_definition.js +26 -26
  162. package/lib/models/test_run_hook_definition.d.ts +3 -3
  163. package/lib/models/test_run_hook_definition.js +9 -9
  164. package/lib/models/test_step_hook_definition.d.ts +9 -9
  165. package/lib/models/test_step_hook_definition.js +25 -25
  166. package/lib/pickle_filter.d.ts +42 -42
  167. package/lib/pickle_filter.js +98 -98
  168. package/lib/plugin/index.d.ts +2 -2
  169. package/lib/plugin/index.js +18 -18
  170. package/lib/plugin/plugin_manager.d.ts +13 -13
  171. package/lib/plugin/plugin_manager.js +35 -35
  172. package/lib/plugin/types.d.ts +14 -14
  173. package/lib/plugin/types.js +2 -2
  174. package/lib/publish/http_stream.d.ts +30 -30
  175. package/lib/publish/http_stream.js +111 -111
  176. package/lib/publish/index.d.ts +2 -2
  177. package/lib/publish/index.js +4 -4
  178. package/lib/publish/publish_plugin.d.ts +2 -2
  179. package/lib/publish/publish_plugin.js +47 -47
  180. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  181. package/lib/runtime/assemble_test_cases.js +87 -87
  182. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  183. package/lib/runtime/attachment_manager/index.js +118 -118
  184. package/lib/runtime/format_error.d.ts +2 -2
  185. package/lib/runtime/format_error.js +35 -35
  186. package/lib/runtime/helpers.d.ts +6 -6
  187. package/lib/runtime/helpers.js +100 -100
  188. package/lib/runtime/index.d.ts +40 -40
  189. package/lib/runtime/index.js +75 -75
  190. package/lib/runtime/parallel/command_types.d.ts +32 -32
  191. package/lib/runtime/parallel/command_types.js +2 -2
  192. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  193. package/lib/runtime/parallel/coordinator.js +221 -221
  194. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  195. package/lib/runtime/parallel/run_worker.js +28 -28
  196. package/lib/runtime/parallel/worker.d.ts +26 -26
  197. package/lib/runtime/parallel/worker.js +86 -86
  198. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  199. package/lib/runtime/run_test_run_hooks.js +27 -27
  200. package/lib/runtime/step_runner.d.ts +16 -16
  201. package/lib/runtime/step_runner.js +87 -87
  202. package/lib/runtime/stopwatch.d.ts +12 -12
  203. package/lib/runtime/stopwatch.js +33 -33
  204. package/lib/runtime/test_case_runner.d.ts +54 -54
  205. package/lib/runtime/test_case_runner.js +267 -267
  206. package/lib/step_arguments.d.ts +6 -6
  207. package/lib/step_arguments.js +18 -18
  208. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  209. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  210. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  211. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  212. package/lib/support_code_library_builder/index.d.ts +74 -74
  213. package/lib/support_code_library_builder/index.js +296 -296
  214. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  215. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  216. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  217. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  218. package/lib/support_code_library_builder/types.d.ts +88 -88
  219. package/lib/support_code_library_builder/types.js +2 -2
  220. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  221. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  222. package/lib/support_code_library_builder/world.d.ts +18 -18
  223. package/lib/support_code_library_builder/world.js +10 -10
  224. package/lib/time.d.ts +18 -18
  225. package/lib/time.js +60 -60
  226. package/lib/try_require.d.ts +7 -7
  227. package/lib/try_require.js +22 -22
  228. package/lib/types/index.d.ts +4 -4
  229. package/lib/types/index.js +2 -2
  230. package/lib/uncaught_exception_manager.d.ts +7 -7
  231. package/lib/uncaught_exception_manager.js +11 -11
  232. package/lib/user_code_runner.d.ts +14 -14
  233. package/lib/user_code_runner.js +81 -81
  234. package/lib/value_checker.d.ts +3 -3
  235. package/lib/value_checker.js +18 -18
  236. package/lib/version.d.ts +1 -1
  237. package/lib/version.js +5 -5
  238. package/lib/version.js.map +1 -1
  239. package/package.json +1 -1
package/lib/cli/index.js CHANGED
@@ -1,64 +1,64 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const debug_1 = __importDefault(require("debug"));
7
- const api_1 = require("../api");
8
- const configuration_1 = require("../configuration");
9
- const helpers_1 = require("./helpers");
10
- const i18n_1 = require("./i18n");
11
- const install_validator_1 = require("./install_validator");
12
- class Cli {
13
- constructor({ argv, cwd, stdout, stderr = process.stderr, env, }) {
14
- this.argv = argv;
15
- this.cwd = cwd;
16
- this.stdout = stdout;
17
- this.stderr = stderr;
18
- this.env = env;
19
- }
20
- async run() {
21
- const debugEnabled = debug_1.default.enabled('cucumber');
22
- if (debugEnabled) {
23
- await (0, install_validator_1.validateInstall)();
24
- }
25
- const { options, configuration: argvConfiguration } = configuration_1.ArgvParser.parse(this.argv);
26
- argvConfiguration.runName = (0, helpers_1.getRunName)(argvConfiguration);
27
- if (argvConfiguration.bvtRerun) {
28
- process.env.BVT_FORMATTER = 'ANALYSIS';
29
- }
30
- if (options.i18nLanguages) {
31
- this.stdout.write((0, i18n_1.getLanguages)());
32
- return {
33
- shouldExitImmediately: true,
34
- success: true,
35
- };
36
- }
37
- if (options.i18nKeywords) {
38
- this.stdout.write((0, i18n_1.getKeywords)(options.i18nKeywords));
39
- return {
40
- shouldExitImmediately: true,
41
- success: true,
42
- };
43
- }
44
- const environment = {
45
- cwd: this.cwd,
46
- stdout: this.stdout,
47
- stderr: this.stderr,
48
- env: this.env,
49
- debug: debugEnabled,
50
- };
51
- const { useConfiguration: configuration, runConfiguration } = await (0, api_1.loadConfiguration)({
52
- file: options.config,
53
- profiles: options.profile,
54
- provided: argvConfiguration,
55
- }, environment);
56
- const { success } = await (0, api_1.runCucumber)(runConfiguration, environment);
57
- return {
58
- shouldExitImmediately: configuration.forceExit,
59
- success,
60
- };
61
- }
62
- }
63
- exports.default = Cli;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const debug_1 = __importDefault(require("debug"));
7
+ const api_1 = require("../api");
8
+ const configuration_1 = require("../configuration");
9
+ const helpers_1 = require("./helpers");
10
+ const i18n_1 = require("./i18n");
11
+ const install_validator_1 = require("./install_validator");
12
+ class Cli {
13
+ constructor({ argv, cwd, stdout, stderr = process.stderr, env, }) {
14
+ this.argv = argv;
15
+ this.cwd = cwd;
16
+ this.stdout = stdout;
17
+ this.stderr = stderr;
18
+ this.env = env;
19
+ }
20
+ async run() {
21
+ const debugEnabled = debug_1.default.enabled('cucumber');
22
+ if (debugEnabled) {
23
+ await (0, install_validator_1.validateInstall)();
24
+ }
25
+ const { options, configuration: argvConfiguration } = configuration_1.ArgvParser.parse(this.argv);
26
+ argvConfiguration.runName = (0, helpers_1.getRunName)(argvConfiguration);
27
+ if (argvConfiguration.bvtRerun) {
28
+ process.env.BVT_FORMATTER = 'ANALYSIS';
29
+ }
30
+ if (options.i18nLanguages) {
31
+ this.stdout.write((0, i18n_1.getLanguages)());
32
+ return {
33
+ shouldExitImmediately: true,
34
+ success: true,
35
+ };
36
+ }
37
+ if (options.i18nKeywords) {
38
+ this.stdout.write((0, i18n_1.getKeywords)(options.i18nKeywords));
39
+ return {
40
+ shouldExitImmediately: true,
41
+ success: true,
42
+ };
43
+ }
44
+ const environment = {
45
+ cwd: this.cwd,
46
+ stdout: this.stdout,
47
+ stderr: this.stderr,
48
+ env: this.env,
49
+ debug: debugEnabled,
50
+ };
51
+ const { useConfiguration: configuration, runConfiguration } = await (0, api_1.loadConfiguration)({
52
+ file: options.config,
53
+ profiles: options.profile,
54
+ provided: argvConfiguration,
55
+ }, environment);
56
+ const { success } = await (0, api_1.runCucumber)(runConfiguration, environment);
57
+ return {
58
+ shouldExitImmediately: configuration.forceExit,
59
+ success,
60
+ };
61
+ }
62
+ }
63
+ exports.default = Cli;
64
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- export declare function validateInstall(): Promise<void>;
1
+ export declare function validateInstall(): Promise<void>;
@@ -1,18 +1,18 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.validateInstall = void 0;
7
- /* eslint-disable no-console */
8
- const is_installed_globally_1 = __importDefault(require("is-installed-globally"));
9
- async function validateInstall() {
10
- if (is_installed_globally_1.default)
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateInstall = void 0;
7
+ /* eslint-disable no-console */
8
+ const is_installed_globally_1 = __importDefault(require("is-installed-globally"));
9
+ async function validateInstall() {
10
+ if (is_installed_globally_1.default)
11
11
  console.warn(`
12
12
  It looks like you're running Cucumber from a global installation.
13
13
  If so, you'll likely see issues - you need to have Cucumber installed as a local dependency in your project.
14
14
  See https://github.com/cucumber/cucumber-js/blob/main/docs/installation.md#invalid-installations
15
- `);
16
- }
17
- exports.validateInstall = validateInstall;
15
+ `);
16
+ }
17
+ exports.validateInstall = validateInstall;
18
18
  //# sourceMappingURL=install_validator.js.map
package/lib/cli/run.d.ts CHANGED
@@ -1 +1 @@
1
- export default function run(): Promise<void>;
1
+ export default function run(): Promise<void>;
package/lib/cli/run.js CHANGED
@@ -1,44 +1,44 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- /* eslint-disable no-console */
7
- /* This is one rare place where we're fine to use process/console directly,
8
- * but other code abstracts those to remain composable and testable. */
9
- const _1 = __importDefault(require("./"));
10
- const verror_1 = __importDefault(require("verror"));
11
- const validate_node_engine_version_1 = require("./validate_node_engine_version");
12
- function logErrorMessageAndExit(message) {
13
- console.error(message);
14
- process.exit(1);
15
- }
16
- async function run() {
17
- (0, validate_node_engine_version_1.validateNodeEngineVersion)(process.version, (error) => {
18
- console.error(error);
19
- process.exit(1);
20
- }, console.warn);
21
- const cli = new _1.default({
22
- argv: process.argv,
23
- cwd: process.cwd(),
24
- stdout: process.stdout,
25
- stderr: process.stderr,
26
- env: process.env,
27
- });
28
- let result;
29
- try {
30
- result = await cli.run();
31
- }
32
- catch (error) {
33
- logErrorMessageAndExit(verror_1.default.fullStack(error));
34
- }
35
- const exitCode = result.success ? 0 : 1;
36
- if (result.shouldExitImmediately) {
37
- process.exit(exitCode);
38
- }
39
- else {
40
- process.exitCode = exitCode;
41
- }
42
- }
43
- exports.default = run;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /* eslint-disable no-console */
7
+ /* This is one rare place where we're fine to use process/console directly,
8
+ * but other code abstracts those to remain composable and testable. */
9
+ const _1 = __importDefault(require("./"));
10
+ const verror_1 = __importDefault(require("verror"));
11
+ const validate_node_engine_version_1 = require("./validate_node_engine_version");
12
+ function logErrorMessageAndExit(message) {
13
+ console.error(message);
14
+ process.exit(1);
15
+ }
16
+ async function run() {
17
+ (0, validate_node_engine_version_1.validateNodeEngineVersion)(process.version, (error) => {
18
+ console.error(error);
19
+ process.exit(1);
20
+ }, console.warn);
21
+ const cli = new _1.default({
22
+ argv: process.argv,
23
+ cwd: process.cwd(),
24
+ stdout: process.stdout,
25
+ stderr: process.stderr,
26
+ env: process.env,
27
+ });
28
+ let result;
29
+ try {
30
+ result = await cli.run();
31
+ }
32
+ catch (error) {
33
+ logErrorMessageAndExit(verror_1.default.fullStack(error));
34
+ }
35
+ const exitCode = result.success ? 0 : 1;
36
+ if (result.shouldExitImmediately) {
37
+ process.exit(exitCode);
38
+ }
39
+ else {
40
+ process.exitCode = exitCode;
41
+ }
42
+ }
43
+ exports.default = run;
44
44
  //# sourceMappingURL=run.js.map
@@ -1,10 +1,10 @@
1
- type PackageJSON = {
2
- engines: {
3
- node: string;
4
- };
5
- enginesTested: {
6
- node: string;
7
- };
8
- };
9
- export declare function validateNodeEngineVersion(currentVersion: string, onError: (message: string) => void, onWarning: (message: string) => void, readPackageJSON?: () => PackageJSON): void;
10
- export {};
1
+ type PackageJSON = {
2
+ engines: {
3
+ node: string;
4
+ };
5
+ enginesTested: {
6
+ node: string;
7
+ };
8
+ };
9
+ export declare function validateNodeEngineVersion(currentVersion: string, onError: (message: string) => void, onWarning: (message: string) => void, readPackageJSON?: () => PackageJSON): void;
10
+ export {};
@@ -1,24 +1,24 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.validateNodeEngineVersion = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const semver_1 = __importDefault(require("semver"));
10
- const readActualPackageJSON = () => JSON.parse(fs_1.default
11
- .readFileSync(path_1.default.resolve(__dirname, '..', '..', 'package.json'))
12
- .toString());
13
- function validateNodeEngineVersion(currentVersion, onError, onWarning, readPackageJSON = readActualPackageJSON) {
14
- const requiredVersions = readPackageJSON().engines.node;
15
- const testedVersions = readPackageJSON().enginesTested.node;
16
- if (!semver_1.default.satisfies(currentVersion, requiredVersions)) {
17
- onError(`Cucumber can only run on Node.js versions ${requiredVersions}. This Node.js version is ${currentVersion}`);
18
- }
19
- else if (!semver_1.default.satisfies(currentVersion, testedVersions)) {
20
- onWarning(`This Node.js version (${currentVersion}) has not been tested with this version of Cucumber; it should work normally, but please raise an issue if you see anything unexpected.`);
21
- }
22
- }
23
- exports.validateNodeEngineVersion = validateNodeEngineVersion;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateNodeEngineVersion = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const semver_1 = __importDefault(require("semver"));
10
+ const readActualPackageJSON = () => JSON.parse(fs_1.default
11
+ .readFileSync(path_1.default.resolve(__dirname, '..', '..', 'package.json'))
12
+ .toString());
13
+ function validateNodeEngineVersion(currentVersion, onError, onWarning, readPackageJSON = readActualPackageJSON) {
14
+ const requiredVersions = readPackageJSON().engines.node;
15
+ const testedVersions = readPackageJSON().enginesTested.node;
16
+ if (!semver_1.default.satisfies(currentVersion, requiredVersions)) {
17
+ onError(`Cucumber can only run on Node.js versions ${requiredVersions}. This Node.js version is ${currentVersion}`);
18
+ }
19
+ else if (!semver_1.default.satisfies(currentVersion, testedVersions)) {
20
+ onWarning(`This Node.js version (${currentVersion}) has not been tested with this version of Cucumber; it should work normally, but please raise an issue if you see anything unexpected.`);
21
+ }
22
+ }
23
+ exports.validateNodeEngineVersion = validateNodeEngineVersion;
24
24
  //# sourceMappingURL=validate_node_engine_version.js.map
@@ -1,20 +1,20 @@
1
- import { IConfiguration } from './types';
2
- export interface IParsedArgvOptions {
3
- config?: string;
4
- i18nKeywords?: string;
5
- i18nLanguages?: boolean;
6
- profile: string[];
7
- }
8
- export interface IParsedArgv {
9
- options: IParsedArgvOptions;
10
- configuration: Partial<IConfiguration>;
11
- }
12
- declare const ArgvParser: {
13
- collect<T>(val: T, memo?: T[]): T[];
14
- mergeJson(option: string): (str: string, memo?: object) => object;
15
- mergeTags(value: string, memo?: string): string;
16
- validateCountOption(value: string, optionName: string): number;
17
- validateLanguage(value: string): string;
18
- parse(argv: string[]): IParsedArgv;
19
- };
20
- export default ArgvParser;
1
+ import { IConfiguration } from './types';
2
+ export interface IParsedArgvOptions {
3
+ config?: string;
4
+ i18nKeywords?: string;
5
+ i18nLanguages?: boolean;
6
+ profile: string[];
7
+ }
8
+ export interface IParsedArgv {
9
+ options: IParsedArgvOptions;
10
+ configuration: Partial<IConfiguration>;
11
+ }
12
+ declare const ArgvParser: {
13
+ collect<T>(val: T, memo?: T[]): T[];
14
+ mergeJson(option: string): (str: string, memo?: object) => object;
15
+ mergeTags(value: string, memo?: string): string;
16
+ validateCountOption(value: string, optionName: string): number;
17
+ validateLanguage(value: string): string;
18
+ parse(argv: string[]): IParsedArgv;
19
+ };
20
+ export default ArgvParser;
@@ -1,104 +1,104 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const gherkin_1 = require("@cucumber/gherkin");
7
- const commander_1 = require("commander");
8
- const lodash_merge_1 = __importDefault(require("lodash.merge"));
9
- const formatters_1 = __importDefault(require("../formatter/helpers/formatters"));
10
- const version_1 = require("../version");
11
- const ArgvParser = {
12
- collect(val, memo = []) {
13
- if (val) {
14
- return [...memo, val];
15
- }
16
- return undefined;
17
- },
18
- mergeJson(option) {
19
- return function (str, memo = {}) {
20
- let val;
21
- try {
22
- val = JSON.parse(str);
23
- }
24
- catch (error) {
25
- const e = error;
26
- throw new Error(`${option} passed invalid JSON: ${e.message}: ${str}`);
27
- }
28
- if (typeof val !== 'object' || Array.isArray(val)) {
29
- throw new Error(`${option} must be passed JSON of an object: ${str}`);
30
- }
31
- return (0, lodash_merge_1.default)(memo, val);
32
- };
33
- },
34
- mergeTags(value, memo) {
35
- return memo ? `${memo} and (${value})` : `(${value})`;
36
- },
37
- validateCountOption(value, optionName) {
38
- const numericValue = parseInt(value);
39
- if (isNaN(numericValue) || numericValue < 0) {
40
- throw new Error(`${optionName} must be a non negative integer`);
41
- }
42
- return numericValue;
43
- },
44
- validateLanguage(value) {
45
- if (!Object.keys(gherkin_1.dialects).includes(value)) {
46
- throw new Error(`Unsupported ISO 639-1: ${value}`);
47
- }
48
- return value;
49
- },
50
- parse(argv) {
51
- const program = new commander_1.Command('cucumber-js');
52
- program
53
- .storeOptionsAsProperties(false)
54
- .usage('[options] [<GLOB|DIR|FILE[:LINE]>...]')
55
- .version(version_1.version, '-v, --version')
56
- .option('-b, --backtrace', 'show full backtrace for errors')
57
- .option('-c, --config <PATH>', 'specify configuration file')
58
- .option('-d, --dry-run', 'invoke formatters without executing steps')
59
- .option('--exit, --force-exit', 'force shutdown of the event loop when the test run has finished: cucumber will call process.exit')
60
- .option('--fail-fast', 'abort the run on first failure')
61
- .option('-f, --format <TYPE[:PATH]>', 'specify the output format, optionally supply PATH to redirect formatter output (repeatable). Available formats:\n' +
62
- formatters_1.default.buildFormattersDocumentationString(), ArgvParser.collect)
63
- .option('--format-options <JSON>', 'provide options for formatters (repeatable)', ArgvParser.mergeJson('--format-options'))
64
- .option('--i18n-keywords <ISO 639-1>', 'list language keywords', ArgvParser.validateLanguage)
65
- .option('--i18n-languages', 'list languages')
66
- .option('-i, --import <GLOB|DIR|FILE>', 'import files before executing features (repeatable)', ArgvParser.collect)
67
- .option('--language <ISO 639-1>', 'provide the default language for feature files')
68
- .option('--name <REGEXP>', 'only execute the scenarios with name matching the expression (repeatable)', ArgvParser.collect)
69
- .option('--order <TYPE[:SEED]>', 'run scenarios in the specified order. Type should be `defined` or `random`')
70
- .option('-p, --profile <NAME>', 'specify the profile to use (repeatable)', ArgvParser.collect, [])
71
- .option('--parallel <NUMBER_OF_WORKERS>', 'run in parallel with the given number of workers', (val) => ArgvParser.validateCountOption(val, '--parallel'))
72
- .option('--publish', 'Publish a report to https://reports.cucumber.io')
73
- .option('--publish-quiet', "Don't print information banner about publishing reports")
74
- .option('-r, --require <GLOB|DIR|FILE>', 'require files before executing features (repeatable)', ArgvParser.collect)
75
- .option('--require-module <NODE_MODULE>', 'require node modules before requiring files (repeatable)', ArgvParser.collect)
76
- .option('--retry <NUMBER_OF_RETRIES>', 'specify the number of times to retry failing test cases (default: 0)', (val) => ArgvParser.validateCountOption(val, '--retry'))
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const gherkin_1 = require("@cucumber/gherkin");
7
+ const commander_1 = require("commander");
8
+ const lodash_merge_1 = __importDefault(require("lodash.merge"));
9
+ const formatters_1 = __importDefault(require("../formatter/helpers/formatters"));
10
+ const version_1 = require("../version");
11
+ const ArgvParser = {
12
+ collect(val, memo = []) {
13
+ if (val) {
14
+ return [...memo, val];
15
+ }
16
+ return undefined;
17
+ },
18
+ mergeJson(option) {
19
+ return function (str, memo = {}) {
20
+ let val;
21
+ try {
22
+ val = JSON.parse(str);
23
+ }
24
+ catch (error) {
25
+ const e = error;
26
+ throw new Error(`${option} passed invalid JSON: ${e.message}: ${str}`);
27
+ }
28
+ if (typeof val !== 'object' || Array.isArray(val)) {
29
+ throw new Error(`${option} must be passed JSON of an object: ${str}`);
30
+ }
31
+ return (0, lodash_merge_1.default)(memo, val);
32
+ };
33
+ },
34
+ mergeTags(value, memo) {
35
+ return memo ? `${memo} and (${value})` : `(${value})`;
36
+ },
37
+ validateCountOption(value, optionName) {
38
+ const numericValue = parseInt(value);
39
+ if (isNaN(numericValue) || numericValue < 0) {
40
+ throw new Error(`${optionName} must be a non negative integer`);
41
+ }
42
+ return numericValue;
43
+ },
44
+ validateLanguage(value) {
45
+ if (!Object.keys(gherkin_1.dialects).includes(value)) {
46
+ throw new Error(`Unsupported ISO 639-1: ${value}`);
47
+ }
48
+ return value;
49
+ },
50
+ parse(argv) {
51
+ const program = new commander_1.Command('cucumber-js');
52
+ program
53
+ .storeOptionsAsProperties(false)
54
+ .usage('[options] [<GLOB|DIR|FILE[:LINE]>...]')
55
+ .version(version_1.version, '-v, --version')
56
+ .option('-b, --backtrace', 'show full backtrace for errors')
57
+ .option('-c, --config <PATH>', 'specify configuration file')
58
+ .option('-d, --dry-run', 'invoke formatters without executing steps')
59
+ .option('--exit, --force-exit', 'force shutdown of the event loop when the test run has finished: cucumber will call process.exit')
60
+ .option('--fail-fast', 'abort the run on first failure')
61
+ .option('-f, --format <TYPE[:PATH]>', 'specify the output format, optionally supply PATH to redirect formatter output (repeatable). Available formats:\n' +
62
+ formatters_1.default.buildFormattersDocumentationString(), ArgvParser.collect)
63
+ .option('--format-options <JSON>', 'provide options for formatters (repeatable)', ArgvParser.mergeJson('--format-options'))
64
+ .option('--i18n-keywords <ISO 639-1>', 'list language keywords', ArgvParser.validateLanguage)
65
+ .option('--i18n-languages', 'list languages')
66
+ .option('-i, --import <GLOB|DIR|FILE>', 'import files before executing features (repeatable)', ArgvParser.collect)
67
+ .option('--language <ISO 639-1>', 'provide the default language for feature files')
68
+ .option('--name <REGEXP>', 'only execute the scenarios with name matching the expression (repeatable)', ArgvParser.collect)
69
+ .option('--order <TYPE[:SEED]>', 'run scenarios in the specified order. Type should be `defined` or `random`')
70
+ .option('-p, --profile <NAME>', 'specify the profile to use (repeatable)', ArgvParser.collect, [])
71
+ .option('--parallel <NUMBER_OF_WORKERS>', 'run in parallel with the given number of workers', (val) => ArgvParser.validateCountOption(val, '--parallel'))
72
+ .option('--publish', 'Publish a report to https://reports.cucumber.io')
73
+ .option('--publish-quiet', "Don't print information banner about publishing reports")
74
+ .option('-r, --require <GLOB|DIR|FILE>', 'require files before executing features (repeatable)', ArgvParser.collect)
75
+ .option('--require-module <NODE_MODULE>', 'require node modules before requiring files (repeatable)', ArgvParser.collect)
76
+ .option('--retry <NUMBER_OF_RETRIES>', 'specify the number of times to retry failing test cases (default: 0)', (val) => ArgvParser.validateCountOption(val, '--retry'))
77
77
  .option('--retry-tag-filter <EXPRESSION>', `only retries the features or scenarios with tags matching the expression (repeatable).
78
- This option requires '--retry' to be specified.`, ArgvParser.mergeTags)
79
- .option('--strict', 'fail if there are pending steps')
80
- .option('--no-strict', 'succeed even if there are pending steps')
81
- .option('-t, --tags <EXPRESSION>', 'only execute the features or scenarios with tags matching the expression (repeatable)', ArgvParser.mergeTags)
82
- .option('--world-parameters <JSON>', 'provide parameters that will be passed to the world constructor (repeatable)', ArgvParser.mergeJson('--world-parameters'))
83
- .option('--run-name <NAME>', 'provide a name for the run')
84
- .option('--bvt-rerun', 'rerun failed scenarios from the last run');
85
- program.addHelpText('afterAll', 'For more details please visit https://github.com/cucumber/cucumber-js/blob/main/docs/cli.md');
86
- program.parse(argv);
87
- const { config, i18nKeywords, i18nLanguages, profile, ...regularStuff } = program.opts();
88
- const configuration = regularStuff;
89
- if (program.args.length > 0) {
90
- configuration.paths = program.args;
91
- }
92
- return {
93
- options: {
94
- config,
95
- i18nKeywords,
96
- i18nLanguages,
97
- profile,
98
- },
99
- configuration,
100
- };
101
- },
102
- };
103
- exports.default = ArgvParser;
78
+ This option requires '--retry' to be specified.`, ArgvParser.mergeTags)
79
+ .option('--strict', 'fail if there are pending steps')
80
+ .option('--no-strict', 'succeed even if there are pending steps')
81
+ .option('-t, --tags <EXPRESSION>', 'only execute the features or scenarios with tags matching the expression (repeatable)', ArgvParser.mergeTags)
82
+ .option('--world-parameters <JSON>', 'provide parameters that will be passed to the world constructor (repeatable)', ArgvParser.mergeJson('--world-parameters'))
83
+ .option('--run-name <NAME>', 'provide a name for the run')
84
+ .option('--bvt-rerun', 'rerun failed scenarios from the last run');
85
+ program.addHelpText('afterAll', 'For more details please visit https://github.com/cucumber/cucumber-js/blob/main/docs/cli.md');
86
+ program.parse(argv);
87
+ const { config, i18nKeywords, i18nLanguages, profile, ...regularStuff } = program.opts();
88
+ const configuration = regularStuff;
89
+ if (program.args.length > 0) {
90
+ configuration.paths = program.args;
91
+ }
92
+ return {
93
+ options: {
94
+ config,
95
+ i18nKeywords,
96
+ i18nLanguages,
97
+ profile,
98
+ },
99
+ configuration,
100
+ };
101
+ },
102
+ };
103
+ exports.default = ArgvParser;
104
104
  //# sourceMappingURL=argv_parser.js.map
@@ -1,2 +1,2 @@
1
- import { IConfiguration } from './types';
2
- export declare function checkSchema(configuration: any): Partial<IConfiguration>;
1
+ import { IConfiguration } from './types';
2
+ export declare function checkSchema(configuration: any): Partial<IConfiguration>;