@dev-blinq/cucumber-js 1.0.6 → 1.0.8

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 (238) 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 +64 -64
  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 +175 -175
  34. package/lib/api/types.js +2 -2
  35. package/lib/cli/helpers.d.ts +37 -37
  36. package/lib/cli/helpers.js +202 -202
  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 +58 -58
  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 +100 -100
  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 +26 -26
  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 +28 -28
  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_formatter.d.ts +5 -0
  74. package/lib/formatter/bvt_formatter.js +21 -0
  75. package/lib/formatter/bvt_formatter.js.map +1 -0
  76. package/lib/formatter/feature_data_format.d.ts +14 -14
  77. package/lib/formatter/feature_data_format.js +80 -80
  78. package/lib/formatter/feature_data_format.js.map +1 -1
  79. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  80. package/lib/formatter/fixtures/typescript.js +5 -5
  81. package/lib/formatter/get_color_fns.d.ts +15 -15
  82. package/lib/formatter/get_color_fns.js +55 -55
  83. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  84. package/lib/formatter/helpers/duration_helpers.js +8 -8
  85. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  86. package/lib/formatter/helpers/event_data_collector.js +125 -125
  87. package/lib/formatter/helpers/formatters.d.ts +6 -6
  88. package/lib/formatter/helpers/formatters.js +44 -42
  89. package/lib/formatter/helpers/formatters.js.map +1 -1
  90. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  91. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  92. package/lib/formatter/helpers/index.d.ts +10 -10
  93. package/lib/formatter/helpers/index.js +51 -51
  94. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  95. package/lib/formatter/helpers/issue_helpers.js +58 -58
  96. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  97. package/lib/formatter/helpers/keyword_type.js +31 -31
  98. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  99. package/lib/formatter/helpers/location_helpers.js +16 -16
  100. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  101. package/lib/formatter/helpers/pickle_parser.js +27 -27
  102. package/lib/formatter/helpers/report_generator.d.ts +91 -0
  103. package/lib/formatter/helpers/report_generator.js +235 -0
  104. package/lib/formatter/helpers/report_generator.js.map +1 -0
  105. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  106. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  107. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  108. package/lib/formatter/helpers/summary_helpers.js +95 -95
  109. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  110. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  111. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  112. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  113. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  114. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  115. package/lib/formatter/html_formatter.d.ts +7 -7
  116. package/lib/formatter/html_formatter.js +29 -29
  117. package/lib/formatter/index.d.ts +53 -53
  118. package/lib/formatter/index.js +20 -20
  119. package/lib/formatter/json_formatter.d.ts +78 -78
  120. package/lib/formatter/json_formatter.js +229 -229
  121. package/lib/formatter/junit_formatter.d.ts +17 -17
  122. package/lib/formatter/junit_formatter.js +180 -180
  123. package/lib/formatter/message_formatter.d.ts +5 -5
  124. package/lib/formatter/message_formatter.js +14 -14
  125. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  126. package/lib/formatter/progress_bar_formatter.js +98 -98
  127. package/lib/formatter/progress_formatter.d.ts +9 -9
  128. package/lib/formatter/progress_formatter.js +58 -58
  129. package/lib/formatter/rerun_formatter.d.ts +13 -13
  130. package/lib/formatter/rerun_formatter.js +79 -79
  131. package/lib/formatter/snippets_formatter.d.ts +6 -6
  132. package/lib/formatter/snippets_formatter.js +60 -60
  133. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  134. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  135. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  136. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  137. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  138. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  139. package/lib/formatter/summary_formatter.d.ts +14 -14
  140. package/lib/formatter/summary_formatter.js +67 -67
  141. package/lib/formatter/usage_formatter.d.ts +6 -6
  142. package/lib/formatter/usage_formatter.js +97 -97
  143. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  144. package/lib/formatter/usage_json_formatter.js +33 -33
  145. package/lib/index.d.ts +58 -58
  146. package/lib/index.js +108 -108
  147. package/lib/logger.d.ts +5 -5
  148. package/lib/logger.js +2 -2
  149. package/lib/models/data_table.d.ts +10 -10
  150. package/lib/models/data_table.js +45 -45
  151. package/lib/models/definition.d.ts +55 -55
  152. package/lib/models/definition.js +21 -21
  153. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  154. package/lib/models/gherkin_step_keyword.js +2 -2
  155. package/lib/models/pickle_order.d.ts +1 -1
  156. package/lib/models/pickle_order.js +2 -2
  157. package/lib/models/step_definition.d.ts +11 -11
  158. package/lib/models/step_definition.js +36 -36
  159. package/lib/models/test_case_hook_definition.d.ts +10 -10
  160. package/lib/models/test_case_hook_definition.js +26 -26
  161. package/lib/models/test_run_hook_definition.d.ts +3 -3
  162. package/lib/models/test_run_hook_definition.js +9 -9
  163. package/lib/models/test_step_hook_definition.d.ts +9 -9
  164. package/lib/models/test_step_hook_definition.js +25 -25
  165. package/lib/pickle_filter.d.ts +42 -42
  166. package/lib/pickle_filter.js +98 -98
  167. package/lib/plugin/index.d.ts +2 -2
  168. package/lib/plugin/index.js +18 -18
  169. package/lib/plugin/plugin_manager.d.ts +13 -13
  170. package/lib/plugin/plugin_manager.js +35 -35
  171. package/lib/plugin/types.d.ts +14 -14
  172. package/lib/plugin/types.js +2 -2
  173. package/lib/publish/http_stream.d.ts +30 -30
  174. package/lib/publish/http_stream.js +111 -111
  175. package/lib/publish/index.d.ts +2 -2
  176. package/lib/publish/index.js +4 -4
  177. package/lib/publish/publish_plugin.d.ts +2 -2
  178. package/lib/publish/publish_plugin.js +47 -47
  179. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  180. package/lib/runtime/assemble_test_cases.js +87 -87
  181. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  182. package/lib/runtime/attachment_manager/index.js +118 -118
  183. package/lib/runtime/format_error.d.ts +2 -2
  184. package/lib/runtime/format_error.js +35 -35
  185. package/lib/runtime/helpers.d.ts +6 -6
  186. package/lib/runtime/helpers.js +100 -100
  187. package/lib/runtime/index.d.ts +40 -40
  188. package/lib/runtime/index.js +75 -75
  189. package/lib/runtime/parallel/command_types.d.ts +32 -32
  190. package/lib/runtime/parallel/command_types.js +2 -2
  191. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  192. package/lib/runtime/parallel/coordinator.js +221 -221
  193. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  194. package/lib/runtime/parallel/run_worker.js +28 -28
  195. package/lib/runtime/parallel/worker.d.ts +26 -26
  196. package/lib/runtime/parallel/worker.js +86 -86
  197. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  198. package/lib/runtime/run_test_run_hooks.js +27 -27
  199. package/lib/runtime/step_runner.d.ts +16 -16
  200. package/lib/runtime/step_runner.js +87 -87
  201. package/lib/runtime/stopwatch.d.ts +12 -12
  202. package/lib/runtime/stopwatch.js +33 -33
  203. package/lib/runtime/test_case_runner.d.ts +54 -54
  204. package/lib/runtime/test_case_runner.js +267 -267
  205. package/lib/step_arguments.d.ts +6 -6
  206. package/lib/step_arguments.js +18 -18
  207. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  208. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  209. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  210. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  211. package/lib/support_code_library_builder/index.d.ts +74 -74
  212. package/lib/support_code_library_builder/index.js +296 -296
  213. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  214. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  215. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  216. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  217. package/lib/support_code_library_builder/types.d.ts +88 -88
  218. package/lib/support_code_library_builder/types.js +2 -2
  219. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  220. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  221. package/lib/support_code_library_builder/world.d.ts +18 -18
  222. package/lib/support_code_library_builder/world.js +10 -10
  223. package/lib/time.d.ts +18 -18
  224. package/lib/time.js +60 -60
  225. package/lib/try_require.d.ts +7 -7
  226. package/lib/try_require.js +22 -22
  227. package/lib/types/index.d.ts +4 -4
  228. package/lib/types/index.js +2 -2
  229. package/lib/uncaught_exception_manager.d.ts +7 -7
  230. package/lib/uncaught_exception_manager.js +11 -11
  231. package/lib/user_code_runner.d.ts +14 -14
  232. package/lib/user_code_runner.js +81 -81
  233. package/lib/value_checker.d.ts +3 -3
  234. package/lib/value_checker.js +18 -18
  235. package/lib/version.d.ts +1 -1
  236. package/lib/version.js +5 -5
  237. package/lib/version.js.map +1 -1
  238. package/package.json +2 -2
@@ -1,23 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OptionSplitter = void 0;
4
- exports.OptionSplitter = {
5
- split(option) {
6
- option = option.replace(/"/g, '');
7
- const parts = option.split(/((?:file){0}):(?!\\|\/\/)/);
8
- const result = parts.reduce((memo, part, i) => {
9
- if (partNeedsRecombined(i)) {
10
- memo.push(parts.slice(i, i + 2).join(''));
11
- }
12
- return memo;
13
- }, []);
14
- if (result.length === 1) {
15
- result.push('');
16
- }
17
- return result;
18
- },
19
- };
20
- function partNeedsRecombined(i) {
21
- return i % 2 === 0;
22
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OptionSplitter = void 0;
4
+ exports.OptionSplitter = {
5
+ split(option) {
6
+ option = option.replace(/"/g, '');
7
+ const parts = option.split(/((?:file){0}):(?!\\|\/\/)/);
8
+ const result = parts.reduce((memo, part, i) => {
9
+ if (partNeedsRecombined(i)) {
10
+ memo.push(parts.slice(i, i + 2).join(''));
11
+ }
12
+ return memo;
13
+ }, []);
14
+ if (result.length === 1) {
15
+ result.push('');
16
+ }
17
+ return result;
18
+ },
19
+ };
20
+ function partNeedsRecombined(i) {
21
+ return i % 2 === 0;
22
+ }
23
23
  //# sourceMappingURL=option_splitter.js.map
@@ -1,28 +1,28 @@
1
- import { FormatOptions } from '../formatter';
2
- import { PickleOrder } from '../models/pickle_order';
3
- export interface IConfiguration {
4
- backtrace: boolean;
5
- dryRun: boolean;
6
- forceExit: boolean;
7
- failFast: boolean;
8
- format: string[];
9
- formatOptions: FormatOptions;
10
- import: string[];
11
- language: string;
12
- name: string[];
13
- order: PickleOrder;
14
- paths: string[];
15
- parallel: number;
16
- publish: boolean;
17
- /**
18
- * @deprecated no longer needed; see <https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md>
19
- */
20
- publishQuiet: boolean;
21
- require: string[];
22
- requireModule: string[];
23
- retry: number;
24
- retryTagFilter: string;
25
- strict: boolean;
26
- tags: string;
27
- worldParameters: any;
28
- }
1
+ import { FormatOptions } from '../formatter';
2
+ import { PickleOrder } from '../models/pickle_order';
3
+ export interface IConfiguration {
4
+ backtrace: boolean;
5
+ dryRun: boolean;
6
+ forceExit: boolean;
7
+ failFast: boolean;
8
+ format: string[];
9
+ formatOptions: FormatOptions;
10
+ import: string[];
11
+ language: string;
12
+ name: string[];
13
+ order: PickleOrder;
14
+ paths: string[];
15
+ parallel: number;
16
+ publish: boolean;
17
+ /**
18
+ * @deprecated no longer needed; see <https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md>
19
+ */
20
+ publishQuiet: boolean;
21
+ require: string[];
22
+ requireModule: string[];
23
+ retry: number;
24
+ retryTagFilter: string;
25
+ strict: boolean;
26
+ tags: string;
27
+ worldParameters: any;
28
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=types.js.map
@@ -1,3 +1,3 @@
1
- import { IConfiguration } from './types';
2
- import { ILogger } from '../logger';
3
- export declare function validateConfiguration(configuration: IConfiguration, logger: ILogger): void;
1
+ import { IConfiguration } from './types';
2
+ import { ILogger } from '../logger';
3
+ export declare function validateConfiguration(configuration: IConfiguration, logger: ILogger): void;
@@ -1,13 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateConfiguration = void 0;
4
- function validateConfiguration(configuration, logger) {
5
- if (configuration.publishQuiet) {
6
- logger.warn('`publishQuiet` option is no longer needed, you can remove it from your configuration; see https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md');
7
- }
8
- if (configuration.retryTagFilter && !configuration.retry) {
9
- throw new Error('a positive `retry` count must be specified when setting `retryTagFilter`');
10
- }
11
- }
12
- exports.validateConfiguration = validateConfiguration;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateConfiguration = void 0;
4
+ function validateConfiguration(configuration, logger) {
5
+ if (configuration.publishQuiet) {
6
+ logger.warn('`publishQuiet` option is no longer needed, you can remove it from your configuration; see https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md');
7
+ }
8
+ if (configuration.retryTagFilter && !configuration.retry) {
9
+ throw new Error('a positive `retry` count must be specified when setting `retryTagFilter`');
10
+ }
11
+ }
12
+ exports.validateConfiguration = validateConfiguration;
13
13
  //# sourceMappingURL=validate_configuration.js.map
@@ -1,3 +1,3 @@
1
- import { StackFrame } from 'error-stack-parser';
2
- export declare function isFileNameInCucumber(fileName: string): boolean;
3
- export declare function filterStackTrace(frames: StackFrame[]): StackFrame[];
1
+ import { StackFrame } from 'error-stack-parser';
2
+ export declare function isFileNameInCucumber(fileName: string): boolean;
3
+ export declare function filterStackTrace(frames: StackFrame[]): StackFrame[];
@@ -1,38 +1,38 @@
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.filterStackTrace = exports.isFileNameInCucumber = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- const value_checker_1 = require("./value_checker");
9
- const projectRootPath = path_1.default.join(__dirname, '..');
10
- const projectChildDirs = ['src', 'lib', 'node_modules'];
11
- function isFileNameInCucumber(fileName) {
12
- return projectChildDirs.some((dir) => fileName.startsWith(path_1.default.join(projectRootPath, dir)));
13
- }
14
- exports.isFileNameInCucumber = isFileNameInCucumber;
15
- function filterStackTrace(frames) {
16
- if (isErrorInCucumber(frames)) {
17
- return frames;
18
- }
19
- const index = frames.findIndex((x) => isFrameInCucumber(x));
20
- if (index === -1) {
21
- return frames;
22
- }
23
- return frames.slice(0, index);
24
- }
25
- exports.filterStackTrace = filterStackTrace;
26
- function isErrorInCucumber(frames) {
27
- const filteredFrames = frames.filter((x) => !isFrameInNode(x));
28
- return filteredFrames.length > 0 && isFrameInCucumber(filteredFrames[0]);
29
- }
30
- function isFrameInCucumber(frame) {
31
- const fileName = (0, value_checker_1.valueOrDefault)(frame.getFileName(), '');
32
- return isFileNameInCucumber(fileName);
33
- }
34
- function isFrameInNode(frame) {
35
- const fileName = (0, value_checker_1.valueOrDefault)(frame.getFileName(), '');
36
- return !fileName.includes(path_1.default.sep);
37
- }
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.filterStackTrace = exports.isFileNameInCucumber = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const value_checker_1 = require("./value_checker");
9
+ const projectRootPath = path_1.default.join(__dirname, '..');
10
+ const projectChildDirs = ['src', 'lib', 'node_modules'];
11
+ function isFileNameInCucumber(fileName) {
12
+ return projectChildDirs.some((dir) => fileName.startsWith(path_1.default.join(projectRootPath, dir)));
13
+ }
14
+ exports.isFileNameInCucumber = isFileNameInCucumber;
15
+ function filterStackTrace(frames) {
16
+ if (isErrorInCucumber(frames)) {
17
+ return frames;
18
+ }
19
+ const index = frames.findIndex((x) => isFrameInCucumber(x));
20
+ if (index === -1) {
21
+ return frames;
22
+ }
23
+ return frames.slice(0, index);
24
+ }
25
+ exports.filterStackTrace = filterStackTrace;
26
+ function isErrorInCucumber(frames) {
27
+ const filteredFrames = frames.filter((x) => !isFrameInNode(x));
28
+ return filteredFrames.length > 0 && isFrameInCucumber(filteredFrames[0]);
29
+ }
30
+ function isFrameInCucumber(frame) {
31
+ const fileName = (0, value_checker_1.valueOrDefault)(frame.getFileName(), '');
32
+ return isFileNameInCucumber(fileName);
33
+ }
34
+ function isFrameInNode(frame) {
35
+ const fileName = (0, value_checker_1.valueOrDefault)(frame.getFileName(), '');
36
+ return !fileName.includes(path_1.default.sep);
37
+ }
38
38
  //# sourceMappingURL=filter_stack_trace.js.map
@@ -1,37 +1,37 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- /// <reference types="node" />
4
- /// <reference types="node" />
5
- import StepDefinitionSnippetBuilder from './step_definition_snippet_builder';
6
- import { ISupportCodeLibrary } from '../support_code_library_builder/types';
7
- import Formatter, { FormatOptions, IFormatterCleanupFn, IFormatterLogFn } from '.';
8
- import { EventEmitter } from 'events';
9
- import EventDataCollector from './helpers/event_data_collector';
10
- import { Writable as WritableStream } from 'stream';
11
- import { SnippetInterface } from './step_definition_snippet_builder/snippet_syntax';
12
- interface IGetStepDefinitionSnippetBuilderOptions {
13
- cwd: string;
14
- snippetInterface?: SnippetInterface;
15
- snippetSyntax?: string;
16
- supportCodeLibrary: ISupportCodeLibrary;
17
- }
18
- export interface IBuildOptions {
19
- env: NodeJS.ProcessEnv;
20
- cwd: string;
21
- eventBroadcaster: EventEmitter;
22
- eventDataCollector: EventDataCollector;
23
- log: IFormatterLogFn;
24
- parsedArgvOptions: FormatOptions;
25
- stream: WritableStream;
26
- cleanup: IFormatterCleanupFn;
27
- supportCodeLibrary: ISupportCodeLibrary;
28
- }
29
- declare const FormatterBuilder: {
30
- build(type: string, options: IBuildOptions): Promise<Formatter>;
31
- getConstructorByType(type: string, cwd: string): Promise<typeof Formatter>;
32
- getStepDefinitionSnippetBuilder({ cwd, snippetInterface, snippetSyntax, supportCodeLibrary, }: IGetStepDefinitionSnippetBuilderOptions): Promise<StepDefinitionSnippetBuilder>;
33
- loadCustomClass(type: 'formatter' | 'syntax', descriptor: string, cwd: string): Promise<any>;
34
- loadFile(urlOrName: URL | string): Promise<any>;
35
- resolveConstructor(ImportedCode: any): any;
36
- };
37
- export default FormatterBuilder;
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ /// <reference types="node" />
5
+ import StepDefinitionSnippetBuilder from './step_definition_snippet_builder';
6
+ import { ISupportCodeLibrary } from '../support_code_library_builder/types';
7
+ import Formatter, { FormatOptions, IFormatterCleanupFn, IFormatterLogFn } from '.';
8
+ import { EventEmitter } from 'events';
9
+ import EventDataCollector from './helpers/event_data_collector';
10
+ import { Writable as WritableStream } from 'stream';
11
+ import { SnippetInterface } from './step_definition_snippet_builder/snippet_syntax';
12
+ interface IGetStepDefinitionSnippetBuilderOptions {
13
+ cwd: string;
14
+ snippetInterface?: SnippetInterface;
15
+ snippetSyntax?: string;
16
+ supportCodeLibrary: ISupportCodeLibrary;
17
+ }
18
+ export interface IBuildOptions {
19
+ env: NodeJS.ProcessEnv;
20
+ cwd: string;
21
+ eventBroadcaster: EventEmitter;
22
+ eventDataCollector: EventDataCollector;
23
+ log: IFormatterLogFn;
24
+ parsedArgvOptions: FormatOptions;
25
+ stream: WritableStream;
26
+ cleanup: IFormatterCleanupFn;
27
+ supportCodeLibrary: ISupportCodeLibrary;
28
+ }
29
+ declare const FormatterBuilder: {
30
+ build(type: string, options: IBuildOptions): Promise<Formatter>;
31
+ getConstructorByType(type: string, cwd: string): Promise<typeof Formatter>;
32
+ getStepDefinitionSnippetBuilder({ cwd, snippetInterface, snippetSyntax, supportCodeLibrary, }: IGetStepDefinitionSnippetBuilderOptions): Promise<StepDefinitionSnippetBuilder>;
33
+ loadCustomClass(type: 'formatter' | 'syntax', descriptor: string, cwd: string): Promise<any>;
34
+ loadFile(urlOrName: URL | string): Promise<any>;
35
+ resolveConstructor(ImportedCode: any): any;
36
+ };
37
+ export default FormatterBuilder;
@@ -1,101 +1,101 @@
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 get_color_fns_1 = __importDefault(require("./get_color_fns"));
7
- const javascript_snippet_syntax_1 = __importDefault(require("./step_definition_snippet_builder/javascript_snippet_syntax"));
8
- const path_1 = __importDefault(require("path"));
9
- const step_definition_snippet_builder_1 = __importDefault(require("./step_definition_snippet_builder"));
10
- const value_checker_1 = require("../value_checker");
11
- const snippet_syntax_1 = require("./step_definition_snippet_builder/snippet_syntax");
12
- const url_1 = require("url");
13
- const formatters_1 = __importDefault(require("./helpers/formatters"));
14
- // eslint-disable-next-line @typescript-eslint/no-var-requires
15
- const { importer } = require('../importer');
16
- const FormatterBuilder = {
17
- async build(type, options) {
18
- const FormatterConstructor = await FormatterBuilder.getConstructorByType(type, options.cwd);
19
- const colorFns = (0, get_color_fns_1.default)(options.stream, options.env, options.parsedArgvOptions.colorsEnabled);
20
- const snippetBuilder = await FormatterBuilder.getStepDefinitionSnippetBuilder({
21
- cwd: options.cwd,
22
- snippetInterface: options.parsedArgvOptions.snippetInterface,
23
- snippetSyntax: options.parsedArgvOptions.snippetSyntax,
24
- supportCodeLibrary: options.supportCodeLibrary,
25
- });
26
- return new FormatterConstructor({
27
- colorFns,
28
- snippetBuilder,
29
- ...options,
30
- });
31
- },
32
- async getConstructorByType(type, cwd) {
33
- const formatters = formatters_1.default.getFormatters();
34
- return formatters[type]
35
- ? formatters[type]
36
- : await FormatterBuilder.loadCustomClass('formatter', type, cwd);
37
- },
38
- async getStepDefinitionSnippetBuilder({ cwd, snippetInterface, snippetSyntax, supportCodeLibrary, }) {
39
- if ((0, value_checker_1.doesNotHaveValue)(snippetInterface)) {
40
- snippetInterface = snippet_syntax_1.SnippetInterface.Synchronous;
41
- }
42
- let Syntax = javascript_snippet_syntax_1.default;
43
- if ((0, value_checker_1.doesHaveValue)(snippetSyntax)) {
44
- Syntax = await FormatterBuilder.loadCustomClass('syntax', snippetSyntax, cwd);
45
- }
46
- return new step_definition_snippet_builder_1.default({
47
- snippetSyntax: new Syntax(snippetInterface),
48
- parameterTypeRegistry: supportCodeLibrary.parameterTypeRegistry,
49
- });
50
- },
51
- async loadCustomClass(type, descriptor, cwd) {
52
- let normalized = descriptor;
53
- if (descriptor.startsWith('.')) {
54
- normalized = (0, url_1.pathToFileURL)(path_1.default.resolve(cwd, descriptor));
55
- }
56
- else if (descriptor.startsWith('file://')) {
57
- normalized = new URL(descriptor);
58
- }
59
- let CustomClass = await FormatterBuilder.loadFile(normalized);
60
- CustomClass = FormatterBuilder.resolveConstructor(CustomClass);
61
- if ((0, value_checker_1.doesHaveValue)(CustomClass)) {
62
- return CustomClass;
63
- }
64
- else {
65
- throw new Error(`Custom ${type} (${descriptor}) does not export a function/class`);
66
- }
67
- },
68
- async loadFile(urlOrName) {
69
- let result;
70
- try {
71
- // eslint-disable-next-line @typescript-eslint/no-var-requires
72
- result = require(typeof urlOrName === 'string'
73
- ? urlOrName
74
- : (0, url_1.fileURLToPath)(urlOrName));
75
- }
76
- catch (error) {
77
- if (error.code === 'ERR_REQUIRE_ESM') {
78
- result = await importer(urlOrName);
79
- }
80
- else {
81
- throw error;
82
- }
83
- }
84
- return result;
85
- },
86
- resolveConstructor(ImportedCode) {
87
- if ((0, value_checker_1.doesNotHaveValue)(ImportedCode)) {
88
- return null;
89
- }
90
- if (typeof ImportedCode === 'function') {
91
- return ImportedCode;
92
- }
93
- else if (typeof ImportedCode === 'object' &&
94
- typeof ImportedCode.default === 'function') {
95
- return ImportedCode.default;
96
- }
97
- return null;
98
- },
99
- };
100
- exports.default = FormatterBuilder;
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 get_color_fns_1 = __importDefault(require("./get_color_fns"));
7
+ const javascript_snippet_syntax_1 = __importDefault(require("./step_definition_snippet_builder/javascript_snippet_syntax"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const step_definition_snippet_builder_1 = __importDefault(require("./step_definition_snippet_builder"));
10
+ const value_checker_1 = require("../value_checker");
11
+ const snippet_syntax_1 = require("./step_definition_snippet_builder/snippet_syntax");
12
+ const url_1 = require("url");
13
+ const formatters_1 = __importDefault(require("./helpers/formatters"));
14
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
15
+ const { importer } = require('../importer');
16
+ const FormatterBuilder = {
17
+ async build(type, options) {
18
+ const FormatterConstructor = await FormatterBuilder.getConstructorByType(type, options.cwd);
19
+ const colorFns = (0, get_color_fns_1.default)(options.stream, options.env, options.parsedArgvOptions.colorsEnabled);
20
+ const snippetBuilder = await FormatterBuilder.getStepDefinitionSnippetBuilder({
21
+ cwd: options.cwd,
22
+ snippetInterface: options.parsedArgvOptions.snippetInterface,
23
+ snippetSyntax: options.parsedArgvOptions.snippetSyntax,
24
+ supportCodeLibrary: options.supportCodeLibrary,
25
+ });
26
+ return new FormatterConstructor({
27
+ colorFns,
28
+ snippetBuilder,
29
+ ...options,
30
+ });
31
+ },
32
+ async getConstructorByType(type, cwd) {
33
+ const formatters = formatters_1.default.getFormatters();
34
+ return formatters[type]
35
+ ? formatters[type]
36
+ : await FormatterBuilder.loadCustomClass('formatter', type, cwd);
37
+ },
38
+ async getStepDefinitionSnippetBuilder({ cwd, snippetInterface, snippetSyntax, supportCodeLibrary, }) {
39
+ if ((0, value_checker_1.doesNotHaveValue)(snippetInterface)) {
40
+ snippetInterface = snippet_syntax_1.SnippetInterface.Synchronous;
41
+ }
42
+ let Syntax = javascript_snippet_syntax_1.default;
43
+ if ((0, value_checker_1.doesHaveValue)(snippetSyntax)) {
44
+ Syntax = await FormatterBuilder.loadCustomClass('syntax', snippetSyntax, cwd);
45
+ }
46
+ return new step_definition_snippet_builder_1.default({
47
+ snippetSyntax: new Syntax(snippetInterface),
48
+ parameterTypeRegistry: supportCodeLibrary.parameterTypeRegistry,
49
+ });
50
+ },
51
+ async loadCustomClass(type, descriptor, cwd) {
52
+ let normalized = descriptor;
53
+ if (descriptor.startsWith('.')) {
54
+ normalized = (0, url_1.pathToFileURL)(path_1.default.resolve(cwd, descriptor));
55
+ }
56
+ else if (descriptor.startsWith('file://')) {
57
+ normalized = new URL(descriptor);
58
+ }
59
+ let CustomClass = await FormatterBuilder.loadFile(normalized);
60
+ CustomClass = FormatterBuilder.resolveConstructor(CustomClass);
61
+ if ((0, value_checker_1.doesHaveValue)(CustomClass)) {
62
+ return CustomClass;
63
+ }
64
+ else {
65
+ throw new Error(`Custom ${type} (${descriptor}) does not export a function/class`);
66
+ }
67
+ },
68
+ async loadFile(urlOrName) {
69
+ let result;
70
+ try {
71
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
72
+ result = require(typeof urlOrName === 'string'
73
+ ? urlOrName
74
+ : (0, url_1.fileURLToPath)(urlOrName));
75
+ }
76
+ catch (error) {
77
+ if (error.code === 'ERR_REQUIRE_ESM') {
78
+ result = await importer(urlOrName);
79
+ }
80
+ else {
81
+ throw error;
82
+ }
83
+ }
84
+ return result;
85
+ },
86
+ resolveConstructor(ImportedCode) {
87
+ if ((0, value_checker_1.doesNotHaveValue)(ImportedCode)) {
88
+ return null;
89
+ }
90
+ if (typeof ImportedCode === 'function') {
91
+ return ImportedCode;
92
+ }
93
+ else if (typeof ImportedCode === 'object' &&
94
+ typeof ImportedCode.default === 'function') {
95
+ return ImportedCode.default;
96
+ }
97
+ return null;
98
+ },
99
+ };
100
+ exports.default = FormatterBuilder;
101
101
  //# sourceMappingURL=builder.js.map
@@ -0,0 +1,5 @@
1
+ import Formatter, { IFormatterOptions } from '.';
2
+ export default class BVTFormatter extends Formatter {
3
+ private reportGenerator;
4
+ constructor(options: IFormatterOptions);
5
+ }
@@ -0,0 +1,21 @@
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 _1 = __importDefault(require("."));
7
+ const report_generator_1 = __importDefault(require("./helpers/report_generator"));
8
+ class BVTFormatter extends _1.default {
9
+ constructor(options) {
10
+ super(options);
11
+ this.reportGenerator = new report_generator_1.default();
12
+ options.eventBroadcaster.on('envelope', (envelope) => {
13
+ this.reportGenerator.handleMessage(envelope);
14
+ if (envelope.testRunFinished) {
15
+ this.log(JSON.stringify(this.reportGenerator.getReport(), null, 2));
16
+ }
17
+ });
18
+ }
19
+ }
20
+ exports.default = BVTFormatter;
21
+ //# sourceMappingURL=bvt_formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bvt_formatter.js","sourceRoot":"","sources":["../../src/formatter/bvt_formatter.ts"],"names":[],"mappings":";;;;;AACA,yCAAgD;AAChD,kFAAwD;AACxD,MAAqB,YAAa,SAAQ,UAAS;IAEjD,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QAFR,oBAAe,GAAG,IAAI,0BAAe,EAAE,CAAA;QAG7C,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAA2B,EAAE,EAAE;YACtE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YAC5C,IAAG,QAAQ,CAAC,eAAe,EAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;aACpE;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAXD,+BAWC","sourcesContent":["import * as messages from '@cucumber/messages'\nimport Formatter, { IFormatterOptions } from '.'\nimport ReportGenerator from './helpers/report_generator'\nexport default class BVTFormatter extends Formatter {\n private reportGenerator = new ReportGenerator()\n constructor(options: IFormatterOptions) {\n super(options)\n options.eventBroadcaster.on('envelope', (envelope: messages.Envelope) => {\n this.reportGenerator.handleMessage(envelope)\n if(envelope.testRunFinished){\n this.log(JSON.stringify(this.reportGenerator.getReport(), null, 2))\n }\n })\n }\n}"]}
@@ -1,14 +1,14 @@
1
- declare const generateTestData: (featureFileContent: string, vars?: any, fakeData?: {
2
- var: string;
3
- fake: string;
4
- }[]) => {
5
- newContent: string;
6
- variables: any;
7
- otherFakeData: {
8
- var: string;
9
- fake: string;
10
- }[];
11
- changed: boolean;
12
- fakeIndex: number;
13
- };
14
- export { generateTestData };
1
+ declare const generateTestData: (featureFileContent: string, vars?: any, fakeData?: {
2
+ var: string;
3
+ fake: string;
4
+ }[]) => {
5
+ newContent: string;
6
+ variables: any;
7
+ otherFakeData: {
8
+ var: string;
9
+ fake: string;
10
+ }[];
11
+ changed: boolean;
12
+ fakeIndex: number;
13
+ };
14
+ export { generateTestData };