@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
package/bin/cucumber-js CHANGED
File without changes
package/bin/cucumber.js CHANGED
File without changes
@@ -1,9 +1,14 @@
1
+ /* eslint-disable @typescript-eslint/no-var-requires */
2
+ /* eslint-disable no-console */
3
+ /* eslint-disable no-undef */
1
4
  const { argv } = require('node:process')
2
5
  const fs = require('fs')
3
6
  const path = require('path')
4
7
  const JSZip = require('jszip')
5
8
  const { mkdirSync, writeFileSync } = require('node:fs')
6
9
  const axios = require('axios').default
10
+ const tunnel = require('tunnel')
11
+
7
12
  let token = null
8
13
  let extractPath = null
9
14
  const getSSoUrl = () => {
@@ -12,17 +17,40 @@ const getSSoUrl = () => {
12
17
  return 'http://localhost:5000/api/auth'
13
18
  case 'dev':
14
19
  return 'https://dev.api.blinq.io/api/auth'
20
+ case 'stage':
21
+ return 'https://stage.api.blinq.io/api/auth'
15
22
  default:
16
23
  return 'https://api.blinq.io/api/auth'
17
24
  }
18
25
  }
19
26
 
27
+ const getProxy = () => {
28
+ if (!process.env.PROXY) {
29
+ return null
30
+ }
31
+
32
+ const proxy = process.env.PROXY
33
+ const url = new URL(proxy)
34
+ const proxyObject = {
35
+ host: url.hostname,
36
+ port: Number(url.port),
37
+ }
38
+
39
+ const { username, password } = url
40
+
41
+ if (username && password) {
42
+ proxyObject.proxyAuth = `${username}:${password}`
43
+ }
44
+ return tunnel.httpsOverHttp({ proxy: proxyObject })
45
+ }
20
46
  const getWorkSpaceUrl = () => {
21
47
  switch (process.env.NODE_ENV_BLINQ) {
22
48
  case 'local':
23
49
  return 'http://localhost:6000/api/workspace'
24
50
  case 'dev':
25
51
  return 'https://dev.api.blinq.io/api/workspace'
52
+ case "stage":
53
+ return 'https://stage.api.blinq.io/api/workspace'
26
54
  default:
27
55
  return 'https://api.blinq.io/api/workspace'
28
56
  }
@@ -77,26 +105,34 @@ const dirExists = (path) => {
77
105
  }
78
106
  const ssoUrl = getSSoUrl()
79
107
 
108
+ const getProjectByAccessKey = async (access_key) => {
109
+ const accessKeyUrl = `${ssoUrl}/getProjectByAccessKey`
110
+ const response = await axios.post(accessKeyUrl, {
111
+ access_key,
112
+ httpAgent: getProxy(),
113
+ proxy: false,
114
+ })
115
+ if (response.status !== 200) {
116
+ console.error('Error: Invalid access key')
117
+ process.exit(1)
118
+ }
119
+ return response.data
120
+ };
121
+
80
122
  const downloadAndInstall = async (extractPath, token) => {
81
123
  if (!dirExists(extractPath)) {
82
124
  fs.mkdirSync(extractPath, { recursive: true })
83
125
  }
84
126
  try {
85
- const accessKeyUrl = `${ssoUrl}/getProjectByAccessKey`
86
- const response = await axios.post(accessKeyUrl, {
87
- access_key: token,
88
- })
89
- if(response.status !== 200){
90
- console.error('Error: Invalid access key')
91
- process.exit(1)
92
- }
127
+ const data = await getProjectByAccessKey(token)
93
128
 
94
129
  const workspaceUrl = getWorkSpaceUrl() + '/pull-workspace'
95
-
96
130
  const res = await axios.get(workspaceUrl, {
97
131
  params: {
98
- projectId: response.data.project._id,
132
+ projectId: data.project._id,
99
133
  },
134
+ httpAgent: getProxy(),
135
+ proxy: false,
100
136
  responseType: 'arraybuffer',
101
137
  headers: {
102
138
  Authorization: `Bearer ${token}`,
@@ -104,6 +140,11 @@ const downloadAndInstall = async (extractPath, token) => {
104
140
  },
105
141
  })
106
142
 
143
+ if (res.status !== 200) {
144
+ console.error('Error: Unable to fetch workspace')
145
+ process.exit(1)
146
+ }
147
+
107
148
  const zip = await JSZip.loadAsync(res.data)
108
149
  for (const filename of Object.keys(zip.files)) {
109
150
  const fileData = zip.files[filename]
@@ -1,12 +1,12 @@
1
- /// <reference types="node" />
2
- import { Writable } from 'stream';
3
- import { ILogger } from '../logger';
4
- export declare class ConsoleLogger implements ILogger {
5
- private stream;
6
- private debugEnabled;
7
- private console;
8
- constructor(stream: Writable, debugEnabled: boolean);
9
- debug(...content: any[]): void;
10
- error(...content: any[]): void;
11
- warn(...content: any[]): void;
12
- }
1
+ /// <reference types="node" />
2
+ import { Writable } from 'stream';
3
+ import { ILogger } from '../logger';
4
+ export declare class ConsoleLogger implements ILogger {
5
+ private stream;
6
+ private debugEnabled;
7
+ private console;
8
+ constructor(stream: Writable, debugEnabled: boolean);
9
+ debug(...content: any[]): void;
10
+ error(...content: any[]): void;
11
+ warn(...content: any[]): void;
12
+ }
@@ -1,24 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConsoleLogger = void 0;
4
- const console_1 = require("console");
5
- class ConsoleLogger {
6
- constructor(stream, debugEnabled) {
7
- this.stream = stream;
8
- this.debugEnabled = debugEnabled;
9
- this.console = new console_1.Console(this.stream);
10
- }
11
- debug(...content) {
12
- if (this.debugEnabled) {
13
- this.console.debug(...content);
14
- }
15
- }
16
- error(...content) {
17
- this.console.error(...content);
18
- }
19
- warn(...content) {
20
- this.console.warn(...content);
21
- }
22
- }
23
- exports.ConsoleLogger = ConsoleLogger;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConsoleLogger = void 0;
4
+ const console_1 = require("console");
5
+ class ConsoleLogger {
6
+ constructor(stream, debugEnabled) {
7
+ this.stream = stream;
8
+ this.debugEnabled = debugEnabled;
9
+ this.console = new console_1.Console(this.stream);
10
+ }
11
+ debug(...content) {
12
+ if (this.debugEnabled) {
13
+ this.console.debug(...content);
14
+ }
15
+ }
16
+ error(...content) {
17
+ this.console.error(...content);
18
+ }
19
+ warn(...content) {
20
+ this.console.warn(...content);
21
+ }
22
+ }
23
+ exports.ConsoleLogger = ConsoleLogger;
24
24
  //# sourceMappingURL=console_logger.js.map
@@ -1,4 +1,4 @@
1
- /// <reference types="node" />
2
- import { IConfiguration } from '../configuration';
3
- import { IRunConfiguration } from './types';
4
- export declare function convertConfiguration(flatConfiguration: IConfiguration, env: NodeJS.ProcessEnv): Promise<IRunConfiguration>;
1
+ /// <reference types="node" />
2
+ import { IConfiguration } from '../configuration';
3
+ import { IRunConfiguration } from './types';
4
+ export declare function convertConfiguration(flatConfiguration: IConfiguration, env: NodeJS.ProcessEnv): Promise<IRunConfiguration>;
@@ -1,66 +1,66 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertConfiguration = void 0;
4
- const configuration_1 = require("../configuration");
5
- async function convertConfiguration(flatConfiguration, env) {
6
- return {
7
- sources: {
8
- paths: flatConfiguration.paths,
9
- defaultDialect: flatConfiguration.language,
10
- names: flatConfiguration.name,
11
- tagExpression: flatConfiguration.tags,
12
- order: flatConfiguration.order,
13
- },
14
- support: {
15
- requireModules: flatConfiguration.requireModule,
16
- requirePaths: flatConfiguration.require,
17
- importPaths: flatConfiguration.import,
18
- },
19
- runtime: {
20
- dryRun: flatConfiguration.dryRun,
21
- failFast: flatConfiguration.failFast,
22
- filterStacktraces: !flatConfiguration.backtrace,
23
- parallel: flatConfiguration.parallel,
24
- retry: flatConfiguration.retry,
25
- retryTagFilter: flatConfiguration.retryTagFilter,
26
- strict: flatConfiguration.strict,
27
- worldParameters: flatConfiguration.worldParameters,
28
- },
29
- formats: convertFormats(flatConfiguration, env),
30
- runName: flatConfiguration.runName,
31
- };
32
- }
33
- exports.convertConfiguration = convertConfiguration;
34
- function convertFormats(flatConfiguration, env) {
35
- var _a, _b;
36
- const splitFormats = flatConfiguration.format.map((item) => configuration_1.OptionSplitter.split(item));
37
- return {
38
- stdout: (_b = (_a = [...splitFormats].reverse().find(([, target]) => !target)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : 'progress',
39
- files: splitFormats
40
- .filter(([, target]) => !!target)
41
- .reduce((mapped, [type, target]) => {
42
- return {
43
- ...mapped,
44
- [target]: type,
45
- };
46
- }, {}),
47
- publish: makePublishConfig(flatConfiguration, env),
48
- options: flatConfiguration.formatOptions,
49
- };
50
- }
51
- function makePublishConfig(flatConfiguration, env) {
52
- const enabled = isPublishing(flatConfiguration, env);
53
- if (!enabled) {
54
- return false;
55
- }
56
- return {
57
- url: env.CUCUMBER_PUBLISH_URL,
58
- token: env.CUCUMBER_PUBLISH_TOKEN,
59
- };
60
- }
61
- function isPublishing(flatConfiguration, env) {
62
- return (flatConfiguration.publish ||
63
- (0, configuration_1.isTruthyString)(env.CUCUMBER_PUBLISH_ENABLED) ||
64
- env.CUCUMBER_PUBLISH_TOKEN !== undefined);
65
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertConfiguration = void 0;
4
+ const configuration_1 = require("../configuration");
5
+ async function convertConfiguration(flatConfiguration, env) {
6
+ return {
7
+ sources: {
8
+ paths: flatConfiguration.paths,
9
+ defaultDialect: flatConfiguration.language,
10
+ names: flatConfiguration.name,
11
+ tagExpression: flatConfiguration.tags,
12
+ order: flatConfiguration.order,
13
+ },
14
+ support: {
15
+ requireModules: flatConfiguration.requireModule,
16
+ requirePaths: flatConfiguration.require,
17
+ importPaths: flatConfiguration.import,
18
+ },
19
+ runtime: {
20
+ dryRun: flatConfiguration.dryRun,
21
+ failFast: flatConfiguration.failFast,
22
+ filterStacktraces: !flatConfiguration.backtrace,
23
+ parallel: flatConfiguration.parallel,
24
+ retry: flatConfiguration.retry,
25
+ retryTagFilter: flatConfiguration.retryTagFilter,
26
+ strict: flatConfiguration.strict,
27
+ worldParameters: flatConfiguration.worldParameters,
28
+ },
29
+ formats: convertFormats(flatConfiguration, env),
30
+ runName: flatConfiguration.runName,
31
+ };
32
+ }
33
+ exports.convertConfiguration = convertConfiguration;
34
+ function convertFormats(flatConfiguration, env) {
35
+ var _a, _b;
36
+ const splitFormats = flatConfiguration.format.map((item) => configuration_1.OptionSplitter.split(item));
37
+ return {
38
+ stdout: (_b = (_a = [...splitFormats].reverse().find(([, target]) => !target)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : 'progress',
39
+ files: splitFormats
40
+ .filter(([, target]) => !!target)
41
+ .reduce((mapped, [type, target]) => {
42
+ return {
43
+ ...mapped,
44
+ [target]: type,
45
+ };
46
+ }, {}),
47
+ publish: makePublishConfig(flatConfiguration, env),
48
+ options: flatConfiguration.formatOptions,
49
+ };
50
+ }
51
+ function makePublishConfig(flatConfiguration, env) {
52
+ const enabled = isPublishing(flatConfiguration, env);
53
+ if (!enabled) {
54
+ return false;
55
+ }
56
+ return {
57
+ url: env.CUCUMBER_PUBLISH_URL,
58
+ token: env.CUCUMBER_PUBLISH_TOKEN,
59
+ };
60
+ }
61
+ function isPublishing(flatConfiguration, env) {
62
+ return (flatConfiguration.publish ||
63
+ (0, configuration_1.isTruthyString)(env.CUCUMBER_PUBLISH_ENABLED) ||
64
+ env.CUCUMBER_PUBLISH_TOKEN !== undefined);
65
+ }
66
66
  //# sourceMappingURL=convert_configuration.js.map
@@ -1,2 +1,2 @@
1
- import { IRunEnvironment } from './types';
2
- export declare function mergeEnvironment(provided: IRunEnvironment): Required<IRunEnvironment>;
1
+ import { IRunEnvironment } from './types';
2
+ export declare function mergeEnvironment(provided: IRunEnvironment): Required<IRunEnvironment>;
@@ -1,14 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mergeEnvironment = void 0;
4
- function mergeEnvironment(provided) {
5
- return Object.assign({}, {
6
- cwd: process.cwd(),
7
- stdout: process.stdout,
8
- stderr: process.stderr,
9
- env: process.env,
10
- debug: false,
11
- }, provided);
12
- }
13
- exports.mergeEnvironment = mergeEnvironment;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeEnvironment = void 0;
4
+ function mergeEnvironment(provided) {
5
+ return Object.assign({}, {
6
+ cwd: process.cwd(),
7
+ stdout: process.stdout,
8
+ stderr: process.stderr,
9
+ env: process.env,
10
+ debug: false,
11
+ }, provided);
12
+ }
13
+ exports.mergeEnvironment = mergeEnvironment;
14
14
  //# sourceMappingURL=environment.js.map
@@ -1,20 +1,20 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { IFormatterStream } from '../formatter';
4
- import { EventEmitter } from 'events';
5
- import { EventDataCollector } from '../formatter/helpers';
6
- import { ISupportCodeLibrary } from '../support_code_library_builder/types';
7
- import { IRunOptionsFormats } from './types';
8
- import { ILogger } from '../logger';
9
- export declare function initializeFormatters({ env, cwd, stdout, logger, onStreamError, eventBroadcaster, eventDataCollector, configuration, supportCodeLibrary, }: {
10
- env: NodeJS.ProcessEnv;
11
- cwd: string;
12
- stdout: IFormatterStream;
13
- stderr: IFormatterStream;
14
- logger: ILogger;
15
- onStreamError: () => void;
16
- eventBroadcaster: EventEmitter;
17
- eventDataCollector: EventDataCollector;
18
- configuration: IRunOptionsFormats;
19
- supportCodeLibrary: ISupportCodeLibrary;
20
- }): Promise<() => Promise<void>>;
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { IFormatterStream } from '../formatter';
4
+ import { EventEmitter } from 'events';
5
+ import { EventDataCollector } from '../formatter/helpers';
6
+ import { ISupportCodeLibrary } from '../support_code_library_builder/types';
7
+ import { IRunOptionsFormats } from './types';
8
+ import { ILogger } from '../logger';
9
+ export declare function initializeFormatters({ env, cwd, stdout, logger, onStreamError, eventBroadcaster, eventDataCollector, configuration, supportCodeLibrary, }: {
10
+ env: NodeJS.ProcessEnv;
11
+ cwd: string;
12
+ stdout: IFormatterStream;
13
+ stderr: IFormatterStream;
14
+ logger: ILogger;
15
+ onStreamError: () => void;
16
+ eventBroadcaster: EventEmitter;
17
+ eventDataCollector: EventDataCollector;
18
+ configuration: IRunOptionsFormats;
19
+ supportCodeLibrary: ISupportCodeLibrary;
20
+ }): Promise<() => Promise<void>>;
@@ -1,61 +1,61 @@
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.initializeFormatters = void 0;
7
- const util_1 = require("util");
8
- const builder_1 = __importDefault(require("../formatter/builder"));
9
- const fs_1 = __importDefault(require("mz/fs"));
10
- const path_1 = __importDefault(require("path"));
11
- const mkdirp_1 = require("mkdirp");
12
- async function initializeFormatters({ env, cwd, stdout, logger, onStreamError, eventBroadcaster, eventDataCollector, configuration, supportCodeLibrary, }) {
13
- async function initializeFormatter(stream, target, type) {
14
- stream.on('error', (error) => {
15
- logger.error(error.message);
16
- onStreamError();
17
- });
18
- const typeOptions = {
19
- env,
20
- cwd,
21
- eventBroadcaster,
22
- eventDataCollector,
23
- log: stream.write.bind(stream),
24
- parsedArgvOptions: configuration.options,
25
- stream,
26
- cleanup: stream === stdout
27
- ? async () => await Promise.resolve()
28
- : (0, util_1.promisify)(stream.end.bind(stream)),
29
- supportCodeLibrary,
30
- };
31
- if (type === 'progress-bar' && !stream.isTTY) {
32
- logger.warn(`Cannot use 'progress-bar' formatter for output to '${target}' as not a TTY. Switching to 'progress' formatter.`);
33
- type = 'progress';
34
- }
35
- return await builder_1.default.build(type, typeOptions);
36
- }
37
- const formatters = [];
38
- formatters.push(await initializeFormatter(stdout, 'stdout', configuration.stdout));
39
- const streamPromises = [];
40
- Object.entries(configuration.files).forEach(([target, type]) => {
41
- streamPromises.push((async (target, type) => {
42
- const absoluteTarget = path_1.default.resolve(cwd, target);
43
- try {
44
- await (0, mkdirp_1.mkdirp)(path_1.default.dirname(absoluteTarget));
45
- }
46
- catch (error) {
47
- logger.warn('Failed to ensure directory for formatter target exists');
48
- }
49
- const stream = fs_1.default.createWriteStream(null, {
50
- fd: await fs_1.default.open(absoluteTarget, 'w'),
51
- });
52
- formatters.push(await initializeFormatter(stream, target, type));
53
- })(target, type));
54
- });
55
- await Promise.all(streamPromises);
56
- return async function () {
57
- await Promise.all(formatters.map(async (f) => await f.finished()));
58
- };
59
- }
60
- exports.initializeFormatters = initializeFormatters;
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.initializeFormatters = void 0;
7
+ const util_1 = require("util");
8
+ const builder_1 = __importDefault(require("../formatter/builder"));
9
+ const fs_1 = __importDefault(require("mz/fs"));
10
+ const path_1 = __importDefault(require("path"));
11
+ const mkdirp_1 = require("mkdirp");
12
+ async function initializeFormatters({ env, cwd, stdout, logger, onStreamError, eventBroadcaster, eventDataCollector, configuration, supportCodeLibrary, }) {
13
+ async function initializeFormatter(stream, target, type) {
14
+ stream.on('error', (error) => {
15
+ logger.error(error.message);
16
+ onStreamError();
17
+ });
18
+ const typeOptions = {
19
+ env,
20
+ cwd,
21
+ eventBroadcaster,
22
+ eventDataCollector,
23
+ log: stream.write.bind(stream),
24
+ parsedArgvOptions: configuration.options,
25
+ stream,
26
+ cleanup: stream === stdout
27
+ ? async () => await Promise.resolve()
28
+ : (0, util_1.promisify)(stream.end.bind(stream)),
29
+ supportCodeLibrary,
30
+ };
31
+ if (type === 'progress-bar' && !stream.isTTY) {
32
+ logger.warn(`Cannot use 'progress-bar' formatter for output to '${target}' as not a TTY. Switching to 'progress' formatter.`);
33
+ type = 'progress';
34
+ }
35
+ return await builder_1.default.build(type, typeOptions);
36
+ }
37
+ const formatters = [];
38
+ formatters.push(await initializeFormatter(stdout, 'stdout', configuration.stdout));
39
+ const streamPromises = [];
40
+ Object.entries(configuration.files).forEach(([target, type]) => {
41
+ streamPromises.push((async (target, type) => {
42
+ const absoluteTarget = path_1.default.resolve(cwd, target);
43
+ try {
44
+ await (0, mkdirp_1.mkdirp)(path_1.default.dirname(absoluteTarget));
45
+ }
46
+ catch (error) {
47
+ logger.warn('Failed to ensure directory for formatter target exists');
48
+ }
49
+ const stream = fs_1.default.createWriteStream(null, {
50
+ fd: await fs_1.default.open(absoluteTarget, 'w'),
51
+ });
52
+ formatters.push(await initializeFormatter(stream, target, type));
53
+ })(target, type));
54
+ });
55
+ await Promise.all(streamPromises);
56
+ return async function () {
57
+ await Promise.all(formatters.map(async (f) => await f.finished()));
58
+ };
59
+ }
60
+ exports.initializeFormatters = initializeFormatters;
61
61
  //# sourceMappingURL=formatters.js.map
@@ -1,21 +1,21 @@
1
- import { Envelope, GherkinDocument, IdGenerator, Location, ParseError, Pickle } from '@cucumber/messages';
2
- import { ISourcesCoordinates } from './types';
3
- import { ILogger } from '../logger';
4
- interface PickleWithDocument {
5
- gherkinDocument: GherkinDocument;
6
- location: Location;
7
- pickle: Pickle;
8
- }
9
- export declare function getFilteredPicklesAndErrors({ newId, cwd, logger, unexpandedFeaturePaths, featurePaths, coordinates, onEnvelope, }: {
10
- newId: IdGenerator.NewId;
11
- cwd: string;
12
- logger: ILogger;
13
- unexpandedFeaturePaths: string[];
14
- featurePaths: string[];
15
- coordinates: ISourcesCoordinates;
16
- onEnvelope?: (envelope: Envelope) => void;
17
- }): Promise<{
18
- filteredPickles: PickleWithDocument[];
19
- parseErrors: ParseError[];
20
- }>;
21
- export {};
1
+ import { Envelope, GherkinDocument, IdGenerator, Location, ParseError, Pickle } from '@cucumber/messages';
2
+ import { ISourcesCoordinates } from './types';
3
+ import { ILogger } from '../logger';
4
+ interface PickleWithDocument {
5
+ gherkinDocument: GherkinDocument;
6
+ location: Location;
7
+ pickle: Pickle;
8
+ }
9
+ export declare function getFilteredPicklesAndErrors({ newId, cwd, logger, unexpandedFeaturePaths, featurePaths, coordinates, onEnvelope, }: {
10
+ newId: IdGenerator.NewId;
11
+ cwd: string;
12
+ logger: ILogger;
13
+ unexpandedFeaturePaths: string[];
14
+ featurePaths: string[];
15
+ coordinates: ISourcesCoordinates;
16
+ onEnvelope?: (envelope: Envelope) => void;
17
+ }): Promise<{
18
+ filteredPickles: PickleWithDocument[];
19
+ parseErrors: ParseError[];
20
+ }>;
21
+ export {};