@dev-blinq/cucumber-js 1.0.36 → 1.0.37-stage

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 (251) hide show
  1. package/bin/cucumber-js +0 -0
  2. package/bin/cucumber.js +0 -0
  3. package/bin/download-install.js +51 -10
  4. package/lib/api/console_logger.d.ts +12 -12
  5. package/lib/api/console_logger.js +23 -23
  6. package/lib/api/convert_configuration.d.ts +4 -4
  7. package/lib/api/convert_configuration.js +65 -65
  8. package/lib/api/environment.d.ts +2 -2
  9. package/lib/api/environment.js +13 -13
  10. package/lib/api/formatters.d.ts +20 -20
  11. package/lib/api/formatters.js +60 -60
  12. package/lib/api/gherkin.d.ts +21 -21
  13. package/lib/api/gherkin.js +145 -99
  14. package/lib/api/gherkin.js.map +1 -1
  15. package/lib/api/index.d.ts +12 -12
  16. package/lib/api/index.js +27 -27
  17. package/lib/api/load_configuration.d.ts +9 -9
  18. package/lib/api/load_configuration.js +40 -40
  19. package/lib/api/load_sources.d.ts +9 -9
  20. package/lib/api/load_sources.js +52 -52
  21. package/lib/api/load_support.d.ts +10 -10
  22. package/lib/api/load_support.js +29 -29
  23. package/lib/api/paths.d.ts +8 -8
  24. package/lib/api/paths.js +101 -101
  25. package/lib/api/plugins.d.ts +4 -4
  26. package/lib/api/plugins.js +18 -18
  27. package/lib/api/run_cucumber.d.ts +11 -11
  28. package/lib/api/run_cucumber.js +114 -114
  29. package/lib/api/runtime.d.ts +21 -21
  30. package/lib/api/runtime.js +35 -35
  31. package/lib/api/support.d.ts +9 -9
  32. package/lib/api/support.js +25 -25
  33. package/lib/api/test_helpers.d.ts +3 -3
  34. package/lib/api/test_helpers.js +30 -30
  35. package/lib/api/types.d.ts +177 -177
  36. package/lib/api/types.js +2 -2
  37. package/lib/cli/helpers.d.ts +39 -39
  38. package/lib/cli/helpers.js +223 -223
  39. package/lib/cli/i18n.d.ts +2 -2
  40. package/lib/cli/i18n.js +69 -69
  41. package/lib/cli/index.d.ts +21 -21
  42. package/lib/cli/index.js +63 -63
  43. package/lib/cli/install_validator.d.ts +1 -1
  44. package/lib/cli/install_validator.js +13 -13
  45. package/lib/cli/run.d.ts +1 -1
  46. package/lib/cli/run.js +43 -43
  47. package/lib/cli/validate_node_engine_version.d.ts +10 -10
  48. package/lib/cli/validate_node_engine_version.js +23 -23
  49. package/lib/configuration/argv_parser.d.ts +20 -20
  50. package/lib/configuration/argv_parser.js +102 -102
  51. package/lib/configuration/axios_client.d.ts +1 -0
  52. package/lib/configuration/axios_client.js +40 -0
  53. package/lib/configuration/axios_client.js.map +1 -0
  54. package/lib/configuration/check_schema.d.ts +2 -2
  55. package/lib/configuration/check_schema.js +59 -59
  56. package/lib/configuration/default_configuration.d.ts +2 -2
  57. package/lib/configuration/default_configuration.js +28 -28
  58. package/lib/configuration/from_file.d.ts +3 -3
  59. package/lib/configuration/from_file.js +84 -84
  60. package/lib/configuration/helpers.d.ts +1 -1
  61. package/lib/configuration/helpers.js +10 -10
  62. package/lib/configuration/index.d.ts +7 -7
  63. package/lib/configuration/index.js +28 -28
  64. package/lib/configuration/locate_file.d.ts +1 -1
  65. package/lib/configuration/locate_file.js +20 -20
  66. package/lib/configuration/merge_configurations.d.ts +2 -2
  67. package/lib/configuration/merge_configurations.js +47 -47
  68. package/lib/configuration/option_splitter.d.ts +3 -3
  69. package/lib/configuration/option_splitter.js +22 -22
  70. package/lib/configuration/types.d.ts +30 -30
  71. package/lib/configuration/types.js +2 -2
  72. package/lib/configuration/validate_configuration.d.ts +3 -3
  73. package/lib/configuration/validate_configuration.js +12 -12
  74. package/lib/filter_stack_trace.d.ts +3 -3
  75. package/lib/filter_stack_trace.js +37 -37
  76. package/lib/formatter/api.d.ts +2 -0
  77. package/lib/formatter/api.js +53 -0
  78. package/lib/formatter/api.js.map +1 -0
  79. package/lib/formatter/builder.d.ts +37 -37
  80. package/lib/formatter/builder.js +100 -100
  81. package/lib/formatter/bvt_analysis_formatter.d.ts +19 -18
  82. package/lib/formatter/bvt_analysis_formatter.js +243 -192
  83. package/lib/formatter/bvt_analysis_formatter.js.map +1 -1
  84. package/lib/formatter/feature_data_format.d.ts +23 -14
  85. package/lib/formatter/feature_data_format.js +178 -80
  86. package/lib/formatter/feature_data_format.js.map +1 -1
  87. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  88. package/lib/formatter/fixtures/typescript.js +5 -5
  89. package/lib/formatter/get_color_fns.d.ts +15 -15
  90. package/lib/formatter/get_color_fns.js +55 -55
  91. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  92. package/lib/formatter/helpers/duration_helpers.js +8 -8
  93. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  94. package/lib/formatter/helpers/event_data_collector.js +125 -125
  95. package/lib/formatter/helpers/formatters.d.ts +6 -6
  96. package/lib/formatter/helpers/formatters.js +44 -44
  97. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  98. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  99. package/lib/formatter/helpers/index.d.ts +10 -10
  100. package/lib/formatter/helpers/index.js +51 -51
  101. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  102. package/lib/formatter/helpers/issue_helpers.js +58 -58
  103. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  104. package/lib/formatter/helpers/keyword_type.js +31 -31
  105. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  106. package/lib/formatter/helpers/location_helpers.js +16 -16
  107. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  108. package/lib/formatter/helpers/pickle_parser.js +27 -27
  109. package/lib/formatter/helpers/report_generator.d.ts +135 -103
  110. package/lib/formatter/helpers/report_generator.js +433 -247
  111. package/lib/formatter/helpers/report_generator.js.map +1 -1
  112. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  113. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  114. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  115. package/lib/formatter/helpers/summary_helpers.js +95 -95
  116. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  117. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  118. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  119. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  120. package/lib/formatter/helpers/upload_serivce.d.ts +14 -9
  121. package/lib/formatter/helpers/upload_serivce.js +171 -46
  122. package/lib/formatter/helpers/upload_serivce.js.map +1 -1
  123. package/lib/formatter/helpers/uploader.d.ts +11 -11
  124. package/lib/formatter/helpers/uploader.js +130 -56
  125. package/lib/formatter/helpers/uploader.js.map +1 -1
  126. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  127. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  128. package/lib/formatter/html_formatter.d.ts +7 -7
  129. package/lib/formatter/html_formatter.js +29 -29
  130. package/lib/formatter/index.d.ts +53 -53
  131. package/lib/formatter/index.js +20 -20
  132. package/lib/formatter/json_formatter.d.ts +78 -78
  133. package/lib/formatter/json_formatter.js +229 -229
  134. package/lib/formatter/junit_formatter.d.ts +17 -17
  135. package/lib/formatter/junit_formatter.js +180 -180
  136. package/lib/formatter/message_formatter.d.ts +5 -5
  137. package/lib/formatter/message_formatter.js +14 -14
  138. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  139. package/lib/formatter/progress_bar_formatter.js +98 -98
  140. package/lib/formatter/progress_formatter.d.ts +9 -9
  141. package/lib/formatter/progress_formatter.js +58 -58
  142. package/lib/formatter/rerun_formatter.d.ts +13 -13
  143. package/lib/formatter/rerun_formatter.js +79 -79
  144. package/lib/formatter/snippets_formatter.d.ts +6 -6
  145. package/lib/formatter/snippets_formatter.js +60 -60
  146. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  147. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  148. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  149. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  150. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  151. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  152. package/lib/formatter/summary_formatter.d.ts +14 -14
  153. package/lib/formatter/summary_formatter.js +67 -67
  154. package/lib/formatter/usage_formatter.d.ts +6 -6
  155. package/lib/formatter/usage_formatter.js +97 -97
  156. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  157. package/lib/formatter/usage_json_formatter.js +33 -33
  158. package/lib/index.d.ts +58 -58
  159. package/lib/index.js +108 -108
  160. package/lib/logger.d.ts +5 -5
  161. package/lib/logger.js +2 -2
  162. package/lib/models/data_table.d.ts +10 -10
  163. package/lib/models/data_table.js +45 -45
  164. package/lib/models/definition.d.ts +55 -55
  165. package/lib/models/definition.js +21 -21
  166. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  167. package/lib/models/gherkin_step_keyword.js +2 -2
  168. package/lib/models/pickle_order.d.ts +1 -1
  169. package/lib/models/pickle_order.js +2 -2
  170. package/lib/models/step_definition.d.ts +11 -11
  171. package/lib/models/step_definition.js +36 -36
  172. package/lib/models/test_case_hook_definition.d.ts +10 -10
  173. package/lib/models/test_case_hook_definition.js +26 -26
  174. package/lib/models/test_run_hook_definition.d.ts +3 -3
  175. package/lib/models/test_run_hook_definition.js +9 -9
  176. package/lib/models/test_step_hook_definition.d.ts +9 -9
  177. package/lib/models/test_step_hook_definition.js +25 -25
  178. package/lib/pickle_filter.d.ts +42 -42
  179. package/lib/pickle_filter.js +98 -98
  180. package/lib/plugin/index.d.ts +2 -2
  181. package/lib/plugin/index.js +18 -18
  182. package/lib/plugin/plugin_manager.d.ts +13 -13
  183. package/lib/plugin/plugin_manager.js +35 -35
  184. package/lib/plugin/types.d.ts +14 -14
  185. package/lib/plugin/types.js +2 -2
  186. package/lib/publish/http_stream.d.ts +30 -30
  187. package/lib/publish/http_stream.js +111 -111
  188. package/lib/publish/index.d.ts +2 -2
  189. package/lib/publish/index.js +4 -4
  190. package/lib/publish/publish_plugin.d.ts +2 -2
  191. package/lib/publish/publish_plugin.js +47 -47
  192. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  193. package/lib/runtime/assemble_test_cases.js +87 -87
  194. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  195. package/lib/runtime/attachment_manager/index.js +118 -118
  196. package/lib/runtime/format_error.d.ts +2 -2
  197. package/lib/runtime/format_error.js +35 -35
  198. package/lib/runtime/helpers.d.ts +6 -6
  199. package/lib/runtime/helpers.js +100 -100
  200. package/lib/runtime/index.d.ts +40 -40
  201. package/lib/runtime/index.js +75 -75
  202. package/lib/runtime/parallel/command_types.d.ts +32 -32
  203. package/lib/runtime/parallel/command_types.js +2 -2
  204. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  205. package/lib/runtime/parallel/coordinator.js +221 -221
  206. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  207. package/lib/runtime/parallel/run_worker.js +28 -28
  208. package/lib/runtime/parallel/worker.d.ts +26 -26
  209. package/lib/runtime/parallel/worker.js +86 -86
  210. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  211. package/lib/runtime/run_test_run_hooks.js +27 -27
  212. package/lib/runtime/step_runner.d.ts +16 -16
  213. package/lib/runtime/step_runner.js +87 -87
  214. package/lib/runtime/stopwatch.d.ts +12 -12
  215. package/lib/runtime/stopwatch.js +33 -33
  216. package/lib/runtime/test_case_runner.d.ts +54 -54
  217. package/lib/runtime/test_case_runner.js +267 -267
  218. package/lib/step_arguments.d.ts +6 -6
  219. package/lib/step_arguments.js +18 -18
  220. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  221. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  222. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  223. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  224. package/lib/support_code_library_builder/index.d.ts +74 -74
  225. package/lib/support_code_library_builder/index.js +296 -296
  226. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  227. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  228. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  229. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  230. package/lib/support_code_library_builder/types.d.ts +88 -88
  231. package/lib/support_code_library_builder/types.js +2 -2
  232. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  233. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  234. package/lib/support_code_library_builder/world.d.ts +18 -18
  235. package/lib/support_code_library_builder/world.js +10 -10
  236. package/lib/time.d.ts +18 -18
  237. package/lib/time.js +60 -60
  238. package/lib/try_require.d.ts +7 -7
  239. package/lib/try_require.js +22 -22
  240. package/lib/types/index.d.ts +4 -4
  241. package/lib/types/index.js +2 -2
  242. package/lib/uncaught_exception_manager.d.ts +7 -7
  243. package/lib/uncaught_exception_manager.js +11 -11
  244. package/lib/user_code_runner.d.ts +14 -14
  245. package/lib/user_code_runner.js +81 -81
  246. package/lib/value_checker.d.ts +3 -3
  247. package/lib/value_checker.js +18 -18
  248. package/lib/version.d.ts +1 -1
  249. package/lib/version.js +5 -5
  250. package/lib/version.js.map +1 -1
  251. package/package.json +4 -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,30 +1,30 @@
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
- runName: string;
29
- bvtRerun: boolean;
30
- }
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
+ runName: string;
29
+ bvtRerun: boolean;
30
+ }
@@ -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
@@ -0,0 +1,2 @@
1
+ declare const getProjectByAccessKey: (access_key: string) => Promise<any>;
2
+ export { getProjectByAccessKey };
@@ -0,0 +1,53 @@
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.getProjectByAccessKey = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const tunnel_1 = __importDefault(require("tunnel"));
9
+ const getSSoUrl = () => {
10
+ switch (process.env.NODE_ENV_BLINQ) {
11
+ case 'local':
12
+ return 'http://localhost:5000/api/auth';
13
+ case 'dev':
14
+ return 'https://dev.api.blinq.io/api/auth';
15
+ case 'stage':
16
+ return 'https://stage.api.blinq.io/api/auth';
17
+ default:
18
+ return 'https://api.blinq.io/api/auth';
19
+ }
20
+ };
21
+ const getProxy = () => {
22
+ if (!process.env.PROXY) {
23
+ return null;
24
+ }
25
+ const proxy = process.env.PROXY;
26
+ const url = new URL(proxy);
27
+ const proxyObject = {
28
+ host: url.hostname,
29
+ port: Number(url.port),
30
+ };
31
+ const { username, password } = url;
32
+ if (username && password) {
33
+ //@ts-ignore
34
+ proxyObject.proxyAuth = `${username}:${password}`;
35
+ }
36
+ return tunnel_1.default.httpsOverHttp({ proxy: proxyObject });
37
+ };
38
+ const getProjectByAccessKey = async (access_key) => {
39
+ const ssoUrl = getSSoUrl();
40
+ const accessKeyUrl = `${ssoUrl}/getProjectByAccessKey`;
41
+ const response = await axios_1.default.post(accessKeyUrl, {
42
+ access_key,
43
+ httpAgent: getProxy(),
44
+ proxy: false,
45
+ });
46
+ if (response.status !== 200) {
47
+ console.error('Error: Invalid access key');
48
+ process.exit(1);
49
+ }
50
+ return response.data;
51
+ };
52
+ exports.getProjectByAccessKey = getProjectByAccessKey;
53
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/formatter/api.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,oDAA2B;AAE3B,MAAM,SAAS,GAAG,GAAG,EAAE;IACnB,QAAQ,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;QAClC,KAAK,OAAO;YACV,OAAO,gCAAgC,CAAA;QACzC,KAAK,KAAK;YACR,OAAO,mCAAmC,CAAA;QAC5C,KAAK,OAAO;YACV,OAAO,qCAAqC,CAAA;QAC9C;YACE,OAAO,+BAA+B,CAAA;KACzC;AACH,CAAC,CAAA;AACD,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE;QACtB,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;IAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1B,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,GAAG,CAAC,QAAQ;QAClB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;KACvB,CAAA;IAED,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;IAElC,IAAI,QAAQ,IAAI,QAAQ,EAAE;QACxB,YAAY;QACZ,WAAW,CAAC,SAAS,GAAG,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAA;KAClD;IACD,OAAO,gBAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;AACrD,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,KAAK,EAAE,UAAiB,EAAE,EAAE;IACxD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,YAAY,GAAG,GAAG,MAAM,wBAAwB,CAAA;IACtD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,YAAY,EAAE;QAC9C,UAAU;QACV,SAAS,EAAE,QAAQ,EAAE;QACrB,KAAK,EAAE,KAAK;KACb,CAAC,CAAA;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IACD,OAAO,QAAQ,CAAC,IAAI,CAAA;AACtB,CAAC,CAAC;AAEO,sDAAqB","sourcesContent":["import axios from 'axios'\nimport tunnel from 'tunnel'\n\nconst getSSoUrl = () => {\n switch (process.env.NODE_ENV_BLINQ) {\n case 'local':\n return 'http://localhost:5000/api/auth'\n case 'dev':\n return 'https://dev.api.blinq.io/api/auth'\n case 'stage':\n return 'https://stage.api.blinq.io/api/auth'\n default:\n return 'https://api.blinq.io/api/auth'\n }\n }\n const getProxy = () => {\n if (!process.env.PROXY) {\n return null\n }\n \n const proxy = process.env.PROXY\n const url = new URL(proxy)\n const proxyObject = {\n host: url.hostname,\n port: Number(url.port),\n }\n \n const { username, password } = url\n \n if (username && password) {\n //@ts-ignore\n proxyObject.proxyAuth = `${username}:${password}`\n }\n return tunnel.httpsOverHttp({ proxy: proxyObject })\n }\n \n const getProjectByAccessKey = async (access_key:string) => {\n const ssoUrl = getSSoUrl()\n const accessKeyUrl = `${ssoUrl}/getProjectByAccessKey`\n const response = await axios.post(accessKeyUrl, {\n access_key,\n httpAgent: getProxy(),\n proxy: false,\n })\n if (response.status !== 200) {\n console.error('Error: Invalid access key')\n process.exit(1)\n }\n return response.data\n };\n\n export { getProjectByAccessKey };"]}
@@ -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
@@ -1,18 +1,19 @@
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
- private runName;
8
- constructor(options: IFormatterOptions);
9
- private uploadReport;
10
- finished(): Promise<any>;
11
- private analyzeReport;
12
- private processTestCases;
13
- private processTestCase;
14
- private uploadFinalReport;
15
- private retrain;
16
- private call_cucumber_client;
17
- private logReportLink;
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
+ private runName;
8
+ constructor(options: IFormatterOptions);
9
+ private uploadReport;
10
+ finished(): Promise<any>;
11
+ private analyzeReport;
12
+ private processTestCases;
13
+ private processTestCase;
14
+ private uploadFinalReport;
15
+ private retrain;
16
+ private call_cucumber_client;
17
+ private getAppDataDir;
18
+ }
19
+ export declare function logReportLink(runId: string, projectId: string): void;