@dev-blinq/cucumber-js 1.0.11 → 1.0.14

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 (246) 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_analysis_formatter.d.ts +18 -0
  74. package/lib/formatter/bvt_analysis_formatter.js +207 -0
  75. package/lib/formatter/bvt_analysis_formatter.js.map +1 -0
  76. package/lib/formatter/bvt_formatter.d.ts +6 -9
  77. package/lib/formatter/bvt_formatter.js +24 -62
  78. package/lib/formatter/bvt_formatter.js.map +1 -1
  79. package/lib/formatter/feature_data_format.d.ts +14 -14
  80. package/lib/formatter/feature_data_format.js +80 -80
  81. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  82. package/lib/formatter/fixtures/typescript.js +5 -5
  83. package/lib/formatter/get_color_fns.d.ts +15 -15
  84. package/lib/formatter/get_color_fns.js +55 -55
  85. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  86. package/lib/formatter/helpers/duration_helpers.js +8 -8
  87. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  88. package/lib/formatter/helpers/event_data_collector.js +125 -125
  89. package/lib/formatter/helpers/formatters.d.ts +6 -6
  90. package/lib/formatter/helpers/formatters.js +46 -44
  91. package/lib/formatter/helpers/formatters.js.map +1 -1
  92. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  93. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  94. package/lib/formatter/helpers/index.d.ts +10 -10
  95. package/lib/formatter/helpers/index.js +51 -51
  96. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  97. package/lib/formatter/helpers/issue_helpers.js +58 -58
  98. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  99. package/lib/formatter/helpers/keyword_type.js +31 -31
  100. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  101. package/lib/formatter/helpers/location_helpers.js +16 -16
  102. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  103. package/lib/formatter/helpers/pickle_parser.js +27 -27
  104. package/lib/formatter/helpers/report_generator.d.ts +96 -91
  105. package/lib/formatter/helpers/report_generator.js +247 -247
  106. package/lib/formatter/helpers/report_generator.js.map +1 -1
  107. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  108. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  109. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  110. package/lib/formatter/helpers/summary_helpers.js +95 -95
  111. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  112. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  113. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  114. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  115. package/lib/formatter/helpers/upload_serivce.d.ts +9 -9
  116. package/lib/formatter/helpers/upload_serivce.js +46 -46
  117. package/lib/formatter/helpers/upload_serivce.js.map +1 -1
  118. package/lib/formatter/helpers/uploader.d.ts +8 -0
  119. package/lib/formatter/helpers/uploader.js +51 -0
  120. package/lib/formatter/helpers/uploader.js.map +1 -0
  121. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  122. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  123. package/lib/formatter/html_formatter.d.ts +7 -7
  124. package/lib/formatter/html_formatter.js +29 -29
  125. package/lib/formatter/index.d.ts +53 -53
  126. package/lib/formatter/index.js +20 -20
  127. package/lib/formatter/json_formatter.d.ts +78 -78
  128. package/lib/formatter/json_formatter.js +229 -229
  129. package/lib/formatter/junit_formatter.d.ts +17 -17
  130. package/lib/formatter/junit_formatter.js +180 -180
  131. package/lib/formatter/message_formatter.d.ts +5 -5
  132. package/lib/formatter/message_formatter.js +14 -14
  133. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  134. package/lib/formatter/progress_bar_formatter.js +98 -98
  135. package/lib/formatter/progress_formatter.d.ts +9 -9
  136. package/lib/formatter/progress_formatter.js +58 -58
  137. package/lib/formatter/rerun_formatter.d.ts +13 -13
  138. package/lib/formatter/rerun_formatter.js +79 -79
  139. package/lib/formatter/snippets_formatter.d.ts +6 -6
  140. package/lib/formatter/snippets_formatter.js +60 -60
  141. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  142. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  143. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  144. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  145. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  146. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  147. package/lib/formatter/summary_formatter.d.ts +14 -14
  148. package/lib/formatter/summary_formatter.js +67 -67
  149. package/lib/formatter/usage_formatter.d.ts +6 -6
  150. package/lib/formatter/usage_formatter.js +97 -97
  151. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  152. package/lib/formatter/usage_json_formatter.js +33 -33
  153. package/lib/index.d.ts +58 -58
  154. package/lib/index.js +108 -108
  155. package/lib/logger.d.ts +5 -5
  156. package/lib/logger.js +2 -2
  157. package/lib/models/data_table.d.ts +10 -10
  158. package/lib/models/data_table.js +45 -45
  159. package/lib/models/definition.d.ts +55 -55
  160. package/lib/models/definition.js +21 -21
  161. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  162. package/lib/models/gherkin_step_keyword.js +2 -2
  163. package/lib/models/pickle_order.d.ts +1 -1
  164. package/lib/models/pickle_order.js +2 -2
  165. package/lib/models/step_definition.d.ts +11 -11
  166. package/lib/models/step_definition.js +36 -36
  167. package/lib/models/test_case_hook_definition.d.ts +10 -10
  168. package/lib/models/test_case_hook_definition.js +26 -26
  169. package/lib/models/test_run_hook_definition.d.ts +3 -3
  170. package/lib/models/test_run_hook_definition.js +9 -9
  171. package/lib/models/test_step_hook_definition.d.ts +9 -9
  172. package/lib/models/test_step_hook_definition.js +25 -25
  173. package/lib/pickle_filter.d.ts +42 -42
  174. package/lib/pickle_filter.js +98 -98
  175. package/lib/plugin/index.d.ts +2 -2
  176. package/lib/plugin/index.js +18 -18
  177. package/lib/plugin/plugin_manager.d.ts +13 -13
  178. package/lib/plugin/plugin_manager.js +35 -35
  179. package/lib/plugin/types.d.ts +14 -14
  180. package/lib/plugin/types.js +2 -2
  181. package/lib/publish/http_stream.d.ts +30 -30
  182. package/lib/publish/http_stream.js +111 -111
  183. package/lib/publish/index.d.ts +2 -2
  184. package/lib/publish/index.js +4 -4
  185. package/lib/publish/publish_plugin.d.ts +2 -2
  186. package/lib/publish/publish_plugin.js +47 -47
  187. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  188. package/lib/runtime/assemble_test_cases.js +87 -87
  189. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  190. package/lib/runtime/attachment_manager/index.js +118 -118
  191. package/lib/runtime/format_error.d.ts +2 -2
  192. package/lib/runtime/format_error.js +35 -35
  193. package/lib/runtime/helpers.d.ts +6 -6
  194. package/lib/runtime/helpers.js +100 -100
  195. package/lib/runtime/index.d.ts +40 -40
  196. package/lib/runtime/index.js +75 -75
  197. package/lib/runtime/parallel/command_types.d.ts +32 -32
  198. package/lib/runtime/parallel/command_types.js +2 -2
  199. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  200. package/lib/runtime/parallel/coordinator.js +221 -221
  201. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  202. package/lib/runtime/parallel/run_worker.js +28 -28
  203. package/lib/runtime/parallel/worker.d.ts +26 -26
  204. package/lib/runtime/parallel/worker.js +86 -86
  205. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  206. package/lib/runtime/run_test_run_hooks.js +27 -27
  207. package/lib/runtime/step_runner.d.ts +16 -16
  208. package/lib/runtime/step_runner.js +87 -87
  209. package/lib/runtime/stopwatch.d.ts +12 -12
  210. package/lib/runtime/stopwatch.js +33 -33
  211. package/lib/runtime/test_case_runner.d.ts +54 -54
  212. package/lib/runtime/test_case_runner.js +267 -267
  213. package/lib/step_arguments.d.ts +6 -6
  214. package/lib/step_arguments.js +18 -18
  215. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  216. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  217. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  218. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  219. package/lib/support_code_library_builder/index.d.ts +74 -74
  220. package/lib/support_code_library_builder/index.js +296 -296
  221. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  222. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  223. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  224. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  225. package/lib/support_code_library_builder/types.d.ts +88 -88
  226. package/lib/support_code_library_builder/types.js +2 -2
  227. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  228. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  229. package/lib/support_code_library_builder/world.d.ts +18 -18
  230. package/lib/support_code_library_builder/world.js +10 -10
  231. package/lib/time.d.ts +18 -18
  232. package/lib/time.js +60 -60
  233. package/lib/try_require.d.ts +7 -7
  234. package/lib/try_require.js +22 -22
  235. package/lib/types/index.d.ts +4 -4
  236. package/lib/types/index.js +2 -2
  237. package/lib/uncaught_exception_manager.d.ts +7 -7
  238. package/lib/uncaught_exception_manager.js +11 -11
  239. package/lib/user_code_runner.d.ts +14 -14
  240. package/lib/user_code_runner.js +81 -81
  241. package/lib/value_checker.d.ts +3 -3
  242. package/lib/value_checker.js +18 -18
  243. package/lib/version.d.ts +1 -1
  244. package/lib/version.js +5 -5
  245. package/lib/version.js.map +1 -1
  246. package/package.json +3 -1
@@ -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,18 @@
1
+ import Formatter, { IFormatterOptions } from '.';
2
+ export default class BVTAnalysisFormatter extends Formatter {
3
+ private reportGenerator;
4
+ private uploader;
5
+ private exit;
6
+ private START;
7
+ constructor(options: IFormatterOptions);
8
+ finished(): Promise<any>;
9
+ private analyzeReport;
10
+ private processTestCases;
11
+ private processTestCase;
12
+ private createFinalResult;
13
+ private createStartTime;
14
+ private createStepResult;
15
+ private uploadFinalReport;
16
+ private retrain;
17
+ private call_cucumber_client;
18
+ }