@lynxwall/cucumber-tsflow 7.2.0 → 7.3.1

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 (77) hide show
  1. package/README.md +59 -35
  2. package/lib/api/load-configuration.js +60 -16
  3. package/lib/api/load-configuration.js.map +1 -1
  4. package/lib/bindings/binding-context.d.ts +40 -4
  5. package/lib/bindings/binding-context.js +50 -6
  6. package/lib/bindings/binding-context.js.map +1 -1
  7. package/lib/bindings/binding-decorator.js +32 -9
  8. package/lib/bindings/binding-decorator.js.map +1 -1
  9. package/lib/bindings/binding-registry.js +10 -0
  10. package/lib/bindings/binding-registry.js.map +1 -1
  11. package/lib/bindings/hook-decorators.js +4 -3
  12. package/lib/bindings/hook-decorators.js.map +1 -1
  13. package/lib/bindings/step-decorators.js +12 -9
  14. package/lib/bindings/step-decorators.js.map +1 -1
  15. package/lib/cli/argv-parser.js +1 -2
  16. package/lib/cli/argv-parser.js.map +1 -1
  17. package/lib/runtime/parallel/worker.js +1 -1
  18. package/lib/runtime/parallel/worker.js.map +1 -1
  19. package/lib/runtime/test-case-runner.d.ts +2 -1
  20. package/lib/runtime/test-case-runner.js +8 -5
  21. package/lib/runtime/test-case-runner.js.map +1 -1
  22. package/lib/transpilers/esbuild-transpiler.d.ts +1 -1
  23. package/lib/transpilers/esbuild-transpiler.js.map +1 -1
  24. package/lib/transpilers/esbuild.js.map +1 -1
  25. package/lib/transpilers/esm/esbuild-transpiler-cjs.js +2174 -0
  26. package/lib/transpilers/esm/esbuild-transpiler.mjs +19 -0
  27. package/lib/transpilers/esm/esbuild.mjs +141 -0
  28. package/lib/transpilers/esm/esmbuild-transpiler.d.ts +4 -0
  29. package/lib/transpilers/esm/esmbuild-transpiler.js +19 -0
  30. package/lib/transpilers/esm/esmbuild-transpiler.js.map +1 -0
  31. package/lib/transpilers/esm/esmbuild.d.ts +12 -0
  32. package/lib/transpilers/esm/esmbuild.js +72 -0
  33. package/lib/transpilers/esm/esmbuild.js.map +1 -0
  34. package/lib/transpilers/esm/esmnode.d.ts +1 -0
  35. package/lib/transpilers/esm/esmnode.js +8 -0
  36. package/lib/transpilers/esm/esmnode.js.map +1 -0
  37. package/lib/transpilers/esm/esmvue.d.ts +1 -0
  38. package/lib/transpilers/esm/esmvue.js +29 -0
  39. package/lib/transpilers/esm/esmvue.js.map +1 -0
  40. package/lib/transpilers/esm/esnode-loader.mjs +9 -0
  41. package/lib/transpilers/esm/esvue-loader.mjs +9 -0
  42. package/lib/transpilers/esm/loader-utils.mjs +356 -0
  43. package/lib/transpilers/esm/tsnode-esm.d.ts +1 -0
  44. package/lib/transpilers/esm/tsnode-esm.js +25 -0
  45. package/lib/transpilers/esm/tsnode-esm.js.map +1 -0
  46. package/lib/transpilers/esm/tsnode-exp-esm.d.ts +1 -0
  47. package/lib/transpilers/esm/tsnode-exp-esm.js +19 -0
  48. package/lib/transpilers/esm/tsnode-exp-esm.js.map +1 -0
  49. package/lib/transpilers/esm/tsnode-loader.mjs +107 -0
  50. package/lib/transpilers/esm/tsnode-service.mjs +40 -0
  51. package/lib/transpilers/esm/tsvue-esm.d.ts +1 -0
  52. package/lib/transpilers/esm/tsvue-esm.js +40 -0
  53. package/lib/transpilers/esm/tsvue-esm.js.map +1 -0
  54. package/lib/transpilers/esm/tsvue-exp-esm.d.ts +1 -0
  55. package/lib/transpilers/esm/tsvue-exp-esm.js +40 -0
  56. package/lib/transpilers/esm/tsvue-exp-esm.js.map +1 -0
  57. package/lib/transpilers/esm/vue-jsdom-setup.mjs +19 -0
  58. package/lib/transpilers/esm/vue-loader.mjs +113 -0
  59. package/lib/transpilers/esm/vue-sfc-compiler.mjs +216 -0
  60. package/lib/transpilers/esnode.js +1 -1
  61. package/lib/transpilers/esnode.js.map +1 -1
  62. package/lib/transpilers/esvue.js +1 -1
  63. package/lib/transpilers/esvue.js.map +1 -1
  64. package/lib/transpilers/tsnode-exp.js +1 -1
  65. package/lib/transpilers/tsnode-exp.js.map +1 -1
  66. package/lib/transpilers/tsnode.js +1 -1
  67. package/lib/transpilers/tsnode.js.map +1 -1
  68. package/lib/transpilers/tsvue-exp.js +1 -1
  69. package/lib/transpilers/tsvue-exp.js.map +1 -1
  70. package/lib/transpilers/tsvue.js +2 -2
  71. package/lib/transpilers/tsvue.js.map +1 -1
  72. package/lib/transpilers/vue-sfc/index.js.map +1 -1
  73. package/lib/tsconfig.node.tsbuildinfo +1 -1
  74. package/lib/version.d.ts +1 -1
  75. package/lib/version.js +1 -1
  76. package/lib/version.js.map +1 -1
  77. package/package.json +27 -17
@@ -0,0 +1,113 @@
1
+ /**
2
+ * ESM loader for Vue Single File Components (.vue files)
3
+ *
4
+ * This loader enables importing and testing Vue SFC components in Node.js ESM environments.
5
+ * It provides feature parity with the CJS vue-loader but uses Node.js ESM loader hooks.
6
+ *
7
+ * Key features:
8
+ * - Compiles Vue SFC components (template, script, and optionally styles)
9
+ * - Handles TypeScript in Vue components via ts-node delegation
10
+ * - Supports extensionless imports (e.g., import Component from './Component')
11
+ * - Handles asset imports (images, fonts, etc.)
12
+ * - Integrates with tsconfig path mappings
13
+ * - Optional style processing controlled by global.enableVueStyle
14
+ *
15
+ * Differences from CJS version:
16
+ * - Uses ESM loader hooks (resolve/load) instead of require.extensions
17
+ * - Delegates TypeScript handling to ts-node/esm instead of inline transpilation
18
+ * - Sets TS_NODE_FILES=true to ensure ts-node respects tsconfig.json includes
19
+ * (needed for type definition files like Vue shims)
20
+ *
21
+ * Usage:
22
+ * 1. Or configure in cucumber.json:
23
+ * {
24
+ * "default": {
25
+ * "transpiler": ["tsvueesm"]
26
+ * }
27
+ * }
28
+ *
29
+ * 2. Register this loader when running tests:
30
+ * node --loader=@lynxwall/cucumber-tsflow/lib/transpilers/esm/vue-loader.mjs
31
+ *
32
+ * 3. To enable style processing:
33
+ * - Set global.enableVueStyle = true in your test setup
34
+ * - Or set environment variable: CUCUMBER_ENABLE_VUE_STYLE=true
35
+ *
36
+ * Note: Style preprocessing (SCSS, Less, etc.) requires the corresponding
37
+ * preprocessor packages to be installed. Missing preprocessors will be skipped
38
+ * with a warning rather than failing the compilation.
39
+ */
40
+ import path from 'path';
41
+ import { ASSET_EXTENSIONS, resolveSpecifier, loadAsset, loadVue } from './loader-utils.mjs';
42
+
43
+ // Cache for the TypeScript loader
44
+ let tsLoader;
45
+
46
+ async function getTsLoader() {
47
+ if (!tsLoader) {
48
+ try {
49
+ // Ensure ts-node respects tsconfig.json files
50
+ // This is crucial for picking up:
51
+ // - Type definition files (d.ts)
52
+ // - Include/exclude patterns
53
+ // - Custom type roots (e.g., for Vue shims)
54
+ // Without this, ts-node might ignore the tsconfig.json includes process.env.TS_NODE_FILES = process.env.TS_NODE_FILES || 'true';
55
+
56
+ // Import ts-node's ESM loader
57
+ const tsNodeEsm = await import('ts-node-maintained/esm');
58
+ tsLoader = tsNodeEsm;
59
+ } catch (error) {
60
+ console.error('>>> vue-loader: Failed to load ts-node ESM loader:', error);
61
+ throw error;
62
+ }
63
+ }
64
+ return tsLoader;
65
+ }
66
+
67
+ export async function load(url, context, nextLoad) {
68
+ // Handle asset files that Vue compiler turns into imports
69
+ const ext = path.extname(url).toLowerCase();
70
+ if (ASSET_EXTENSIONS.includes(ext)) {
71
+ return loadAsset(url);
72
+ }
73
+
74
+ // Only process .vue files directly
75
+ if (url.endsWith('.vue')) {
76
+ try {
77
+ return loadVue(url, context, nextLoad);
78
+ } catch (error) {
79
+ console.error(`>>> vue-loader: Failed to compile Vue SFC ${url}:`, error);
80
+ throw new Error(`Failed to compile Vue SFC ${url}: ${error.message}`);
81
+ }
82
+ }
83
+
84
+ // For TypeScript files, delegate to ts-node
85
+ if (url.endsWith('.ts') || url.endsWith('.tsx')) {
86
+ try {
87
+ const tsNode = await getTsLoader();
88
+ return tsNode.load(url, context, nextLoad);
89
+ } catch (error) {
90
+ console.error(`>>> vue-loader: ts-node failed for ${url}:`, error);
91
+ throw error;
92
+ }
93
+ }
94
+
95
+ // For everything else, use the default loader
96
+ // This includes: .js, .mjs, .json, node: URLs, etc.
97
+ return nextLoad(url, context);
98
+ }
99
+
100
+ export async function resolve(specifier, context, nextResolve) {
101
+ // Try common resolution logic
102
+ const resolved = await resolveSpecifier(specifier, context, {
103
+ checkExtensions: true,
104
+ handleTsFiles: false, // Vue loader doesn't handle TS files directly
105
+ nextResolve
106
+ });
107
+
108
+ if (resolved) {
109
+ return resolved;
110
+ }
111
+
112
+ return nextResolve(specifier, context);
113
+ }
@@ -0,0 +1,216 @@
1
+ import { parse, compileScript, compileTemplate, compileStyle } from 'vue/compiler-sfc';
2
+ import hash from 'hash-sum';
3
+ import { transformSync } from 'esbuild';
4
+
5
+ /**
6
+ * Vue Single File Component compiler for ESM
7
+ *
8
+ * Compiles .vue files into JavaScript modules that can be imported in Node.js.
9
+ * Uses @vue/compiler-sfc to handle template, script, and style blocks.
10
+ *
11
+ * Features:
12
+ * - TypeScript support in <script> blocks via esbuild
13
+ * - Template compilation with proper component resolution
14
+ * - Optional style compilation (controlled by enableStyle option)
15
+ * - Asset URL transformation (images become imports)
16
+ * - Scoped CSS support
17
+ *
18
+ * Style handling:
19
+ * - When enableStyle is false (default): styles are ignored
20
+ * - When enableStyle is true: styles are compiled and injected into document
21
+ * - Preprocessors (SCSS, Less, etc.) are skipped if not installed
22
+ *
23
+ * @param {string} source - Vue SFC source code
24
+ * @param {string} filename - Path to the Vue file
25
+ * @param {Object} options - Compilation options
26
+ * @param {boolean} options.enableStyle - Whether to process <style> blocks
27
+ * @returns {Object} { code: string } - Compiled JavaScript module
28
+ */
29
+ export function compileVueSFC(source, filename, options = {}) {
30
+ const { enableStyle = false } = options;
31
+
32
+ const { descriptor, errors } = parse(source, {
33
+ filename,
34
+ sourceMap: true
35
+ });
36
+
37
+ if (errors.length) {
38
+ throw new Error(errors.map(e => e.message).join('\n'));
39
+ }
40
+
41
+ const id = hash(filename);
42
+ const hasScoped = descriptor.styles.some(s => s.scoped);
43
+
44
+ // First, we need to check if template uses any components
45
+ let templateAst = null;
46
+ if (descriptor.template) {
47
+ // Parse template to get AST - this helps compileScript understand component usage
48
+ const { ast } = compileTemplate({
49
+ source: descriptor.template.content,
50
+ filename,
51
+ id,
52
+ compilerOptions: {
53
+ mode: 'module',
54
+ parseOnly: true // Just parse, don't compile yet
55
+ }
56
+ });
57
+ templateAst = ast;
58
+ }
59
+
60
+ // Compile script
61
+ let scriptCode = '';
62
+ let compiledScript = undefined;
63
+ if (descriptor.script || descriptor.scriptSetup) {
64
+ compiledScript = compileScript(descriptor, {
65
+ id,
66
+ inlineTemplate: false,
67
+ sourceMap: true,
68
+ genDefaultAs: '_sfc_main',
69
+ templateAst, // Pass template AST so it knows which components are used
70
+ // This tells the compiler to resolve components from setup bindings
71
+ resolveComponents: true
72
+ });
73
+
74
+ // Check if the script is TypeScript
75
+ const isTS = descriptor.script?.lang === 'ts' || descriptor.scriptSetup?.lang === 'ts';
76
+
77
+ if (isTS) {
78
+ // Transpile TypeScript to JavaScript
79
+ const result = transformSync(compiledScript.content, {
80
+ loader: 'ts',
81
+ format: 'esm',
82
+ target: 'es2022',
83
+ sourcemap: 'inline'
84
+ });
85
+ scriptCode = result.code;
86
+ } else {
87
+ scriptCode = compiledScript.content;
88
+ }
89
+ }
90
+
91
+ // Compile template if exists
92
+ let templateCode = '';
93
+ if (descriptor.template) {
94
+ const template = compileTemplate({
95
+ source: descriptor.template.content,
96
+ filename,
97
+ id,
98
+ scoped: hasScoped,
99
+ compilerOptions: {
100
+ mode: 'module',
101
+ // Pass the bindings from script compilation to template
102
+ bindingMetadata: compiledScript ? compiledScript.bindings : undefined
103
+ },
104
+ // Force asset URLs to become imports (matching CJS behavior)
105
+ transformAssetUrls: {
106
+ includeAbsolute: true
107
+ }
108
+ });
109
+
110
+ if (template.errors.length) {
111
+ throw new Error(template.errors.map(e => e.message).join('\n'));
112
+ }
113
+
114
+ templateCode = template.code;
115
+ }
116
+
117
+ // Compile styles if enabled
118
+ let styleCode = '';
119
+ if (enableStyle && descriptor.styles.length > 0) {
120
+ const styles = [];
121
+
122
+ for (const style of descriptor.styles) {
123
+ try {
124
+ const compiled = compileStyle({
125
+ source: style.content,
126
+ filename,
127
+ id,
128
+ scoped: style.scoped,
129
+ preprocessLang: style.lang
130
+ });
131
+
132
+ if (compiled.errors.length) {
133
+ // Check if it's a preprocessor error
134
+ const hasPreprocessorError = compiled.errors.some(
135
+ e =>
136
+ e.message.includes('sass') ||
137
+ e.message.includes('scss') ||
138
+ e.message.includes('less') ||
139
+ e.message.includes('stylus')
140
+ );
141
+
142
+ if (hasPreprocessorError) {
143
+ console.warn(`Skipping ${style.lang || 'css'} style in ${filename} - preprocessor not available`);
144
+ continue;
145
+ }
146
+
147
+ console.warn(`Style compilation errors in ${filename}:`, compiled.errors);
148
+ }
149
+
150
+ styles.push(compiled.code);
151
+ } catch (error) {
152
+ // Handle missing preprocessor errors
153
+ if (error.message.includes('Cannot find module')) {
154
+ console.warn(`Skipping ${style.lang || 'css'} style in ${filename} - ${error.message}`);
155
+ continue;
156
+ }
157
+ throw error;
158
+ }
159
+ }
160
+
161
+ if (styles.length > 0) {
162
+ // Create a style injection function
163
+ styleCode = `
164
+ // Style injection
165
+ if (typeof document !== 'undefined') {
166
+ (function() {
167
+ const styles = ${JSON.stringify(styles)};
168
+ const id = '${id}';
169
+
170
+ // Check if styles already injected
171
+ if (!document.querySelector(\`[data-vite-vue-id="\${id}"]\`)) {
172
+ styles.forEach((css, index) => {
173
+ const style = document.createElement('style');
174
+ style.setAttribute('data-vite-vue-id', id);
175
+ if (${hasScoped}) {
176
+ style.setAttribute('data-v-' + id, '');
177
+ }
178
+ style.textContent = css;
179
+ document.head.appendChild(style);
180
+ });
181
+ }
182
+ })();
183
+ }
184
+ `;
185
+ }
186
+ }
187
+
188
+ // Combine everything
189
+ let finalCode = scriptCode;
190
+
191
+ if (templateCode) {
192
+ // Add the render function to the component
193
+ finalCode += '\n' + templateCode;
194
+ finalCode += '\n_sfc_main.render = render;';
195
+ }
196
+
197
+ // Add scoped id if needed
198
+ if (hasScoped) {
199
+ finalCode += `\n_sfc_main.__scopeId = 'data-v-${id}';`;
200
+ }
201
+
202
+ // Add style injection
203
+ if (styleCode) {
204
+ finalCode = styleCode + '\n' + finalCode;
205
+ }
206
+
207
+ // Ensure there's a default export
208
+ if (!/export\s+default/.test(finalCode)) {
209
+ finalCode += '\nexport default _sfc_main;';
210
+ }
211
+
212
+ // For ESM, we need to export everything properly
213
+ return {
214
+ code: finalCode
215
+ };
216
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- require('ts-node').register({
3
+ require('ts-node-maintained').register({
4
4
  transpileOnly: true,
5
5
  transpiler: '@lynxwall/cucumber-tsflow/lib/transpilers/esbuild-transpiler'
6
6
  });
@@ -1 +1 @@
1
- {"version":3,"file":"esnode.js","sourceRoot":"","sources":["../../src/transpilers/esnode.ts"],"names":[],"mappings":";;AAAA,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IAC3B,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,8DAA8D;CAC1E,CAAC,CAAC;AAEH,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC","sourcesContent":["require('ts-node').register({\r\n\ttranspileOnly: true,\r\n\ttranspiler: '@lynxwall/cucumber-tsflow/lib/transpilers/esbuild-transpiler'\r\n});\r\n\r\nrequire('tsconfig-paths').register();\r\n"]}
1
+ {"version":3,"file":"esnode.js","sourceRoot":"","sources":["../../src/transpilers/esnode.ts"],"names":[],"mappings":";;AAAA,OAAO,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC;IACtC,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,8DAA8D;CAC1E,CAAC,CAAC;AAEH,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC","sourcesContent":["require('ts-node-maintained').register({\r\n\ttranspileOnly: true,\r\n\ttranspiler: '@lynxwall/cucumber-tsflow/lib/transpilers/esbuild-transpiler'\r\n});\r\n\r\nrequire('tsconfig-paths').register();\r\n"]}
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const hooks = require('require-extension-hooks');
7
7
  const vue_sfc_1 = __importDefault(require("./vue-sfc"));
8
- require('ts-node').register({
8
+ require('ts-node-maintained').register({
9
9
  transpileOnly: true,
10
10
  transpiler: '@lynxwall/cucumber-tsflow/lib/transpilers/esbuild-transpiler'
11
11
  });
@@ -1 +1 @@
1
- {"version":3,"file":"esvue.js","sourceRoot":"","sources":["../../src/transpilers/esvue.ts"],"names":[],"mappings":";;;;;AAAA,MAAM,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACjD,wDAAuC;AAEvC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IAC3B,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,8DAA8D;CAC1E,CAAC,CAAC;AAEH,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;AAErC,uDAAuD;AACvD,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;AACzB,MAAc,CAAC,UAAU,GAAI,MAAc,CAAC,MAAM,CAAC,UAAU,CAAC;AAE/D,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,MAAW;IACtC,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,IAAI,iBAAc,CAAC;YACtC,OAAO,EAAE,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnF,OAAO,eAAe,CAAC,IAAI,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC,CAAC","sourcesContent":["const hooks = require('require-extension-hooks');\r\nimport VueTransformer from './vue-sfc';\r\n\r\nrequire('ts-node').register({\r\n\ttranspileOnly: true,\r\n\ttranspiler: '@lynxwall/cucumber-tsflow/lib/transpilers/esbuild-transpiler'\r\n});\r\n\r\nrequire('tsconfig-paths').register();\r\n\r\n// Register jsdom globally and set SVGElement on global\r\nrequire('jsdom-global')();\r\n(global as any).SVGElement = (global as any).window.SVGElement;\r\n\r\nhooks('vue').push(function (params: any) {\r\n\ttry {\r\n\t\tconst transformer = new VueTransformer({\r\n\t\t\texclude: ['(?:^|/)node_modules/', '(?:^|/)cucumber-tsflow/lib/']\r\n\t\t});\r\n\t\tconst transformResult = transformer.transformCode(params.content, params.filename);\r\n\r\n\t\treturn transformResult.code;\r\n\t} catch (err) {\r\n\t\tconsole.log(err);\r\n\t}\r\n\treturn params.content;\r\n});\r\n"]}
1
+ {"version":3,"file":"esvue.js","sourceRoot":"","sources":["../../src/transpilers/esvue.ts"],"names":[],"mappings":";;;;;AAAA,MAAM,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACjD,wDAAuC;AAEvC,OAAO,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC;IACtC,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,8DAA8D;CAC1E,CAAC,CAAC;AAEH,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;AAErC,uDAAuD;AACvD,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;AACzB,MAAc,CAAC,UAAU,GAAI,MAAc,CAAC,MAAM,CAAC,UAAU,CAAC;AAE/D,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,MAAW;IACtC,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,IAAI,iBAAc,CAAC;YACtC,OAAO,EAAE,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnF,OAAO,eAAe,CAAC,IAAI,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC,CAAC","sourcesContent":["const hooks = require('require-extension-hooks');\r\nimport VueTransformer from './vue-sfc';\r\n\r\nrequire('ts-node-maintained').register({\r\n\ttranspileOnly: true,\r\n\ttranspiler: '@lynxwall/cucumber-tsflow/lib/transpilers/esbuild-transpiler'\r\n});\r\n\r\nrequire('tsconfig-paths').register();\r\n\r\n// Register jsdom globally and set SVGElement on global\r\nrequire('jsdom-global')();\r\n(global as any).SVGElement = (global as any).window.SVGElement;\r\n\r\nhooks('vue').push(function (params: any) {\r\n\ttry {\r\n\t\tconst transformer = new VueTransformer({\r\n\t\t\texclude: ['(?:^|/)node_modules/', '(?:^|/)cucumber-tsflow/lib/']\r\n\t\t});\r\n\t\tconst transformResult = transformer.transformCode(params.content, params.filename);\r\n\r\n\t\treturn transformResult.code;\r\n\t} catch (err) {\r\n\t\tconsole.log(err);\r\n\t}\r\n\treturn params.content;\r\n});\r\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- require('ts-node').register({
3
+ require('ts-node-maintained').register({
4
4
  compilerOptions: {
5
5
  module: 'nodeNext',
6
6
  target: 'es2022',
@@ -1 +1 @@
1
- {"version":3,"file":"tsnode-exp.js","sourceRoot":"","sources":["../../src/transpilers/tsnode-exp.ts"],"names":[],"mappings":";;AAEA,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IAC3B,eAAe,EAAE;QAChB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,4BAA4B,EAAE,IAAI;QAClC,eAAe,EAAE,IAAI;QACrB,sBAAsB,EAAE,IAAI;QAC5B,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,CAAC,QAAQ,CAAC;KACf;IACD,aAAa,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC","sourcesContent":["import { SourceMap } from 'node:module';\r\n\r\nrequire('ts-node').register({\r\n\tcompilerOptions: {\r\n\t\tmodule: 'nodeNext',\r\n\t\ttarget: 'es2022',\r\n\t\tstrict: true,\r\n\t\tallowJs: true,\r\n\t\tallowSyntheticDefaultImports: true,\r\n\t\tesModuleInterop: true,\r\n\t\texperimentalDecorators: true,\r\n\t\tresolveJsonModule: true,\r\n\t\tskipLibCheck: true,\r\n\t\tlib: ['es2022']\r\n\t},\r\n\ttranspileOnly: true\r\n});\r\n\r\nrequire('tsconfig-paths').register();\r\n"]}
1
+ {"version":3,"file":"tsnode-exp.js","sourceRoot":"","sources":["../../src/transpilers/tsnode-exp.ts"],"names":[],"mappings":";;AAAA,OAAO,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC;IACtC,eAAe,EAAE;QAChB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,4BAA4B,EAAE,IAAI;QAClC,eAAe,EAAE,IAAI;QACrB,sBAAsB,EAAE,IAAI;QAC5B,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,CAAC,QAAQ,CAAC;KACf;IACD,aAAa,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC","sourcesContent":["require('ts-node-maintained').register({\r\n\tcompilerOptions: {\r\n\t\tmodule: 'nodeNext',\r\n\t\ttarget: 'es2022',\r\n\t\tstrict: true,\r\n\t\tallowJs: true,\r\n\t\tallowSyntheticDefaultImports: true,\r\n\t\tesModuleInterop: true,\r\n\t\texperimentalDecorators: true,\r\n\t\tresolveJsonModule: true,\r\n\t\tskipLibCheck: true,\r\n\t\tlib: ['es2022']\r\n\t},\r\n\ttranspileOnly: true\r\n});\r\n\r\nrequire('tsconfig-paths').register();\r\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- require('ts-node').register({
3
+ require('ts-node-maintained').register({
4
4
  compilerOptions: {
5
5
  module: 'nodeNext',
6
6
  target: 'es2022',
@@ -1 +1 @@
1
- {"version":3,"file":"tsnode.js","sourceRoot":"","sources":["../../src/transpilers/tsnode.ts"],"names":[],"mappings":";;AAAA,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IAC3B,eAAe,EAAE;QAChB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,4BAA4B,EAAE,IAAI;QAClC,eAAe,EAAE,IAAI;QACrB,sBAAsB,EAAE,KAAK;QAC7B,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;KACpC;IACD,aAAa,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC","sourcesContent":["require('ts-node').register({\r\n\tcompilerOptions: {\r\n\t\tmodule: 'nodeNext',\r\n\t\ttarget: 'es2022',\r\n\t\tstrict: true,\r\n\t\tallowJs: true,\r\n\t\tallowSyntheticDefaultImports: true,\r\n\t\tesModuleInterop: true,\r\n\t\texperimentalDecorators: false,\r\n\t\tresolveJsonModule: true,\r\n\t\tskipLibCheck: true,\r\n\t\tlib: ['es2022', 'esnext.decorators']\r\n\t},\r\n\ttranspileOnly: true\r\n});\r\n\r\nrequire('tsconfig-paths').register();\r\n"]}
1
+ {"version":3,"file":"tsnode.js","sourceRoot":"","sources":["../../src/transpilers/tsnode.ts"],"names":[],"mappings":";;AAAA,OAAO,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC;IACtC,eAAe,EAAE;QAChB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,4BAA4B,EAAE,IAAI;QAClC,eAAe,EAAE,IAAI;QACrB,sBAAsB,EAAE,KAAK;QAC7B,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;KACpC;IACD,aAAa,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC","sourcesContent":["require('ts-node-maintained').register({\r\n\tcompilerOptions: {\r\n\t\tmodule: 'nodeNext',\r\n\t\ttarget: 'es2022',\r\n\t\tstrict: true,\r\n\t\tallowJs: true,\r\n\t\tallowSyntheticDefaultImports: true,\r\n\t\tesModuleInterop: true,\r\n\t\texperimentalDecorators: false,\r\n\t\tresolveJsonModule: true,\r\n\t\tskipLibCheck: true,\r\n\t\tlib: ['es2022', 'esnext.decorators']\r\n\t},\r\n\ttranspileOnly: true\r\n});\r\n\r\nrequire('tsconfig-paths').register();\r\n"]}
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const hooks = require('require-extension-hooks');
7
7
  const vue_sfc_1 = __importDefault(require("./vue-sfc"));
8
- require('ts-node').register({
8
+ require('ts-node-maintained').register({
9
9
  compilerOptions: {
10
10
  module: 'nodeNext',
11
11
  target: 'es2022',
@@ -1 +1 @@
1
- {"version":3,"file":"tsvue-exp.js","sourceRoot":"","sources":["../../src/transpilers/tsvue-exp.ts"],"names":[],"mappings":";;;;;AAAA,MAAM,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACjD,wDAAuC;AAEvC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IAC3B,eAAe,EAAE;QAChB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,4BAA4B,EAAE,IAAI;QAClC,eAAe,EAAE,IAAI;QACrB,sBAAsB,EAAE,IAAI;QAC5B,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,CAAC,QAAQ,CAAC;KACf;IACD,aAAa,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;AAErC,uDAAuD;AACvD,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;AACzB,MAAc,CAAC,UAAU,GAAI,MAAc,CAAC,MAAM,CAAC,UAAU,CAAC;AAE/D,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,MAAW;IACtC,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,IAAI,iBAAc,CAAC;YACtC,OAAO,EAAE,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnF,OAAO,eAAe,CAAC,IAAI,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC,CAAC","sourcesContent":["const hooks = require('require-extension-hooks');\r\nimport VueTransformer from './vue-sfc';\r\n\r\nrequire('ts-node').register({\r\n\tcompilerOptions: {\r\n\t\tmodule: 'nodeNext',\r\n\t\ttarget: 'es2022',\r\n\t\tstrict: true,\r\n\t\tallowJs: true,\r\n\t\tallowSyntheticDefaultImports: true,\r\n\t\tesModuleInterop: true,\r\n\t\texperimentalDecorators: true,\r\n\t\tresolveJsonModule: true,\r\n\t\tskipLibCheck: true,\r\n\t\tlib: ['es2022']\r\n\t},\r\n\ttranspileOnly: true\r\n});\r\n\r\nrequire('tsconfig-paths').register();\r\n\r\n// Register jsdom globally and set SVGElement on global\r\nrequire('jsdom-global')();\r\n(global as any).SVGElement = (global as any).window.SVGElement;\r\n\r\nhooks('vue').push(function (params: any) {\r\n\ttry {\r\n\t\tconst transformer = new VueTransformer({\r\n\t\t\texclude: ['(?:^|/)node_modules/', '(?:^|/)cucumber-tsflow/lib/']\r\n\t\t});\r\n\t\tconst transformResult = transformer.transformCode(params.content, params.filename);\r\n\r\n\t\treturn transformResult.code;\r\n\t} catch (err) {\r\n\t\tconsole.log(err);\r\n\t}\r\n\treturn params.content;\r\n});\r\n"]}
1
+ {"version":3,"file":"tsvue-exp.js","sourceRoot":"","sources":["../../src/transpilers/tsvue-exp.ts"],"names":[],"mappings":";;;;;AAAA,MAAM,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACjD,wDAAuC;AAEvC,OAAO,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC;IACtC,eAAe,EAAE;QAChB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,4BAA4B,EAAE,IAAI;QAClC,eAAe,EAAE,IAAI;QACrB,sBAAsB,EAAE,IAAI;QAC5B,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,CAAC,QAAQ,CAAC;KACf;IACD,aAAa,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;AAErC,uDAAuD;AACvD,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;AACzB,MAAc,CAAC,UAAU,GAAI,MAAc,CAAC,MAAM,CAAC,UAAU,CAAC;AAE/D,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,MAAW;IACtC,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,IAAI,iBAAc,CAAC;YACtC,OAAO,EAAE,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnF,OAAO,eAAe,CAAC,IAAI,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC,CAAC","sourcesContent":["const hooks = require('require-extension-hooks');\r\nimport VueTransformer from './vue-sfc';\r\n\r\nrequire('ts-node-maintained').register({\r\n\tcompilerOptions: {\r\n\t\tmodule: 'nodeNext',\r\n\t\ttarget: 'es2022',\r\n\t\tstrict: true,\r\n\t\tallowJs: true,\r\n\t\tallowSyntheticDefaultImports: true,\r\n\t\tesModuleInterop: true,\r\n\t\texperimentalDecorators: true,\r\n\t\tresolveJsonModule: true,\r\n\t\tskipLibCheck: true,\r\n\t\tlib: ['es2022']\r\n\t},\r\n\ttranspileOnly: true\r\n});\r\n\r\nrequire('tsconfig-paths').register();\r\n\r\n// Register jsdom globally and set SVGElement on global\r\nrequire('jsdom-global')();\r\n(global as any).SVGElement = (global as any).window.SVGElement;\r\n\r\nhooks('vue').push(function (params: any) {\r\n\ttry {\r\n\t\tconst transformer = new VueTransformer({\r\n\t\t\texclude: ['(?:^|/)node_modules/', '(?:^|/)cucumber-tsflow/lib/']\r\n\t\t});\r\n\t\tconst transformResult = transformer.transformCode(params.content, params.filename);\r\n\r\n\t\treturn transformResult.code;\r\n\t} catch (err) {\r\n\t\tconsole.log(err);\r\n\t}\r\n\treturn params.content;\r\n});\r\n"]}
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const hooks = require('require-extension-hooks');
7
7
  const vue_sfc_1 = __importDefault(require("./vue-sfc"));
8
- require('ts-node').register({
8
+ require('ts-node-maintained').register({
9
9
  compilerOptions: {
10
10
  module: 'nodeNext',
11
11
  target: 'es2022',
@@ -33,7 +33,7 @@ hooks('vue').push(function (params) {
33
33
  return transformResult.code;
34
34
  }
35
35
  catch (err) {
36
- console.log(err);
36
+ console.error(err);
37
37
  }
38
38
  return params.content;
39
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tsvue.js","sourceRoot":"","sources":["../../src/transpilers/tsvue.ts"],"names":[],"mappings":";;;;;AAAA,MAAM,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACjD,wDAAuC;AAEvC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IAC3B,eAAe,EAAE;QAChB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,4BAA4B,EAAE,IAAI;QAClC,eAAe,EAAE,IAAI;QACrB,sBAAsB,EAAE,KAAK;QAC7B,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;KACpC;IACD,aAAa,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;AAErC,uDAAuD;AACvD,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;AACzB,MAAc,CAAC,UAAU,GAAI,MAAc,CAAC,MAAM,CAAC,UAAU,CAAC;AAE/D,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,MAAW;IACtC,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,IAAI,iBAAc,CAAC;YACtC,OAAO,EAAE,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnF,OAAO,eAAe,CAAC,IAAI,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC,CAAC","sourcesContent":["const hooks = require('require-extension-hooks');\r\nimport VueTransformer from './vue-sfc';\r\n\r\nrequire('ts-node').register({\r\n\tcompilerOptions: {\r\n\t\tmodule: 'nodeNext',\r\n\t\ttarget: 'es2022',\r\n\t\tstrict: true,\r\n\t\tallowJs: true,\r\n\t\tallowSyntheticDefaultImports: true,\r\n\t\tesModuleInterop: true,\r\n\t\texperimentalDecorators: false,\r\n\t\tresolveJsonModule: true,\r\n\t\tskipLibCheck: true,\r\n\t\tlib: ['es2022', 'esnext.decorators']\r\n\t},\r\n\ttranspileOnly: true\r\n});\r\n\r\nrequire('tsconfig-paths').register();\r\n\r\n// Register jsdom globally and set SVGElement on global\r\nrequire('jsdom-global')();\r\n(global as any).SVGElement = (global as any).window.SVGElement;\r\n\r\nhooks('vue').push(function (params: any) {\r\n\ttry {\r\n\t\tconst transformer = new VueTransformer({\r\n\t\t\texclude: ['(?:^|/)node_modules/', '(?:^|/)cucumber-tsflow/lib/']\r\n\t\t});\r\n\t\tconst transformResult = transformer.transformCode(params.content, params.filename);\r\n\r\n\t\treturn transformResult.code;\r\n\t} catch (err) {\r\n\t\tconsole.log(err);\r\n\t}\r\n\treturn params.content;\r\n});\r\n"]}
1
+ {"version":3,"file":"tsvue.js","sourceRoot":"","sources":["../../src/transpilers/tsvue.ts"],"names":[],"mappings":";;;;;AAAA,MAAM,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACjD,wDAAuC;AAEvC,OAAO,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC;IACtC,eAAe,EAAE;QAChB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,4BAA4B,EAAE,IAAI;QAClC,eAAe,EAAE,IAAI;QACrB,sBAAsB,EAAE,KAAK;QAC7B,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;KACpC;IACD,aAAa,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;AAErC,uDAAuD;AACvD,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;AACzB,MAAc,CAAC,UAAU,GAAI,MAAc,CAAC,MAAM,CAAC,UAAU,CAAC;AAE/D,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,MAAW;IACtC,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,IAAI,iBAAc,CAAC;YACtC,OAAO,EAAE,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnF,OAAO,eAAe,CAAC,IAAI,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC,CAAC","sourcesContent":["const hooks = require('require-extension-hooks');\r\nimport VueTransformer from './vue-sfc';\r\n\r\nrequire('ts-node-maintained').register({\r\n\tcompilerOptions: {\r\n\t\tmodule: 'nodeNext',\r\n\t\ttarget: 'es2022',\r\n\t\tstrict: true,\r\n\t\tallowJs: true,\r\n\t\tallowSyntheticDefaultImports: true,\r\n\t\tesModuleInterop: true,\r\n\t\texperimentalDecorators: false,\r\n\t\tresolveJsonModule: true,\r\n\t\tskipLibCheck: true,\r\n\t\tlib: ['es2022', 'esnext.decorators']\r\n\t},\r\n\ttranspileOnly: true\r\n});\r\n\r\nrequire('tsconfig-paths').register();\r\n\r\n// Register jsdom globally and set SVGElement on global\r\nrequire('jsdom-global')();\r\n(global as any).SVGElement = (global as any).window.SVGElement;\r\n\r\nhooks('vue').push(function (params: any) {\r\n\ttry {\r\n\t\tconst transformer = new VueTransformer({\r\n\t\t\texclude: ['(?:^|/)node_modules/', '(?:^|/)cucumber-tsflow/lib/']\r\n\t\t});\r\n\t\tconst transformResult = transformer.transformCode(params.content, params.filename);\r\n\r\n\t\treturn transformResult.code;\r\n\t} catch (err) {\r\n\t\tconsole.error(err);\r\n\t}\r\n\treturn params.content;\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transpilers/vue-sfc/index.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAEnD,yCAA6C;AAC7C,yCAAgD;AAChD,iCAAuC;AAGvC,uCAA0D;AAAjD,wGAAA,eAAe,OAAA;AAExB,MAAM,cAAc;IACX,mBAAmB,CAA2B;IAC9C,OAAO,CAAkB;IACzB,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAChE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAEhF,YAAY,aAAsB,EAAE;QACnC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,aAAa,GAAG,YAAY,EAAE,mBAAmB,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC;QAC9G,IAAI,CAAC,mBAAmB,GAAG,OAAO,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAA,0BAAY,EAAC,aAAa,CAAC,CAAC;QAElH,MAAM,OAAO,GAAW,OAAO,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG;YACd,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YACnD,QAAQ,EAAE,IAAA,0BAAe,EAAC,OAAO,CAAC;YAClC,GAAG,UAAU;YACb,OAAO;YACP,OAAO;YACP,aAAa;YACb,mBAAmB;YACnB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,IAAI;SACf,CAAC;IACH,CAAC;IACM,KAAK,GAAG,CAAC,GAAyB,EAAE,GAA2D,EAAQ,EAAE,GAAE,CAAC,CAAC;IAC7G,OAAO,GAAG,CAAC,EAAU,EAAwB,EAAE;QACrD,qDAAqD;QACrD,IAAI,IAAA,uBAAe,EAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACnC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;IAEK,IAAI,GAAG,CAAC,OAA2B,EAAE,GAA2D,EAAQ,EAAE,GAAE,CAAC,CAAC;IAE9G,aAAa,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAA,oBAAa,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC,CAAC;CACF;AAED,kBAAe,cAAc,CAAC","sourcesContent":["import { createFilter } from '@rollup/pluginutils';\r\nimport type { RollupError, RollupLog } from 'rollup';\r\nimport { resolveCompiler } from './compiler';\r\nimport { parseVueRequest } from './utils/query';\r\nimport { transformMain } from './main';\r\nimport type { Options, ResolvedOptions, VueTransformerContext, VueResolvedId } from './types';\r\n\r\nexport { parseVueRequest, VueQuery } from './utils/query';\r\n\r\nclass VueTransformer implements VueTransformerContext {\r\n\tprivate customElementFilter: (id: unknown) => boolean;\r\n\tprivate options: ResolvedOptions;\r\n\tprivate isSSR = (opt: { ssr?: boolean } | boolean | undefined) =>\r\n\t\topt === undefined ? false : typeof opt === 'boolean' ? opt : opt?.ssr === true;\r\n\r\n\tconstructor(rawOptions: Options = {}) {\r\n\t\tconst { include = /\\.vue$/, exclude, customElement = /\\.ce\\.vue$/, reactivityTransform = false } = rawOptions;\r\n\t\tthis.customElementFilter = typeof customElement === 'boolean' ? () => customElement : createFilter(customElement);\r\n\r\n\t\tconst rootDir: string = process.cwd();\r\n\t\tthis.options = {\r\n\t\t\tisProduction: process.env.NODE_ENV === 'production',\r\n\t\t\tcompiler: resolveCompiler(rootDir),\r\n\t\t\t...rawOptions,\r\n\t\t\tinclude,\r\n\t\t\texclude,\r\n\t\t\tcustomElement,\r\n\t\t\treactivityTransform,\r\n\t\t\troot: rootDir,\r\n\t\t\tsourceMap: true\r\n\t\t};\r\n\t}\r\n\tpublic error = (err: string | RollupError, pos?: number | { column: number; line: number } | undefined): void => {};\r\n\tpublic resolve = (id: string): VueResolvedId | null => {\r\n\t\t// serve sub-part requests (*?vue) as virtual modules\r\n\t\tif (parseVueRequest(id).query.vue) {\r\n\t\t\treturn { external: false, id: id };\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tpublic warn = (warning: RollupLog | string, pos?: number | { column: number; line: number } | undefined): void => {};\r\n\r\n\tpublic transformCode = (code: string, filename: string) => {\r\n\t\tconst ssr = this.isSSR(false);\r\n\t\tconst result = transformMain(code, filename, this.options, this, ssr, this.customElementFilter(filename));\r\n\t\treturn { code: result?.code, map: result?.map.mappings };\r\n\t};\r\n}\r\n\r\nexport default VueTransformer;\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transpilers/vue-sfc/index.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAEnD,yCAA6C;AAC7C,yCAAgD;AAChD,iCAAuC;AAGvC,uCAA0D;AAAjD,wGAAA,eAAe,OAAA;AAExB,MAAM,cAAc;IACX,mBAAmB,CAA2B;IAC9C,OAAO,CAAkB;IACzB,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAChE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAEhF,YAAY,aAAsB,EAAE;QACnC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,aAAa,GAAG,YAAY,EAAE,mBAAmB,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC;QAC9G,IAAI,CAAC,mBAAmB,GAAG,OAAO,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAA,0BAAY,EAAC,aAAa,CAAC,CAAC;QAElH,MAAM,OAAO,GAAW,OAAO,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG;YACd,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YACnD,QAAQ,EAAE,IAAA,0BAAe,EAAC,OAAO,CAAC;YAClC,GAAG,UAAU;YACb,OAAO;YACP,OAAO;YACP,aAAa;YACb,mBAAmB;YACnB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,IAAI;SACf,CAAC;IACH,CAAC;IAEM,KAAK,GAAG,CAAC,GAAyB,EAAE,GAA2D,EAAQ,EAAE,GAAE,CAAC,CAAC;IAE7G,OAAO,GAAG,CAAC,EAAU,EAAwB,EAAE;QACrD,qDAAqD;QACrD,IAAI,IAAA,uBAAe,EAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACnC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;IAEK,IAAI,GAAG,CAAC,OAA2B,EAAE,GAA2D,EAAQ,EAAE,GAAE,CAAC,CAAC;IAE9G,aAAa,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAA,oBAAa,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC,CAAC;CACF;AAED,kBAAe,cAAc,CAAC","sourcesContent":["import { createFilter } from '@rollup/pluginutils';\r\nimport type { RollupError, RollupLog } from 'rollup';\r\nimport { resolveCompiler } from './compiler';\r\nimport { parseVueRequest } from './utils/query';\r\nimport { transformMain } from './main';\r\nimport type { Options, ResolvedOptions, VueTransformerContext, VueResolvedId } from './types';\r\n\r\nexport { parseVueRequest, VueQuery } from './utils/query';\r\n\r\nclass VueTransformer implements VueTransformerContext {\r\n\tprivate customElementFilter: (id: unknown) => boolean;\r\n\tprivate options: ResolvedOptions;\r\n\tprivate isSSR = (opt: { ssr?: boolean } | boolean | undefined) =>\r\n\t\topt === undefined ? false : typeof opt === 'boolean' ? opt : opt?.ssr === true;\r\n\r\n\tconstructor(rawOptions: Options = {}) {\r\n\t\tconst { include = /\\.vue$/, exclude, customElement = /\\.ce\\.vue$/, reactivityTransform = false } = rawOptions;\r\n\t\tthis.customElementFilter = typeof customElement === 'boolean' ? () => customElement : createFilter(customElement);\r\n\r\n\t\tconst rootDir: string = process.cwd();\r\n\t\tthis.options = {\r\n\t\t\tisProduction: process.env.NODE_ENV === 'production',\r\n\t\t\tcompiler: resolveCompiler(rootDir),\r\n\t\t\t...rawOptions,\r\n\t\t\tinclude,\r\n\t\t\texclude,\r\n\t\t\tcustomElement,\r\n\t\t\treactivityTransform,\r\n\t\t\troot: rootDir,\r\n\t\t\tsourceMap: true\r\n\t\t};\r\n\t}\r\n\r\n\tpublic error = (err: string | RollupError, pos?: number | { column: number; line: number } | undefined): void => {};\r\n\r\n\tpublic resolve = (id: string): VueResolvedId | null => {\r\n\t\t// serve sub-part requests (*?vue) as virtual modules\r\n\t\tif (parseVueRequest(id).query.vue) {\r\n\t\t\treturn { external: false, id: id };\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tpublic warn = (warning: RollupLog | string, pos?: number | { column: number; line: number } | undefined): void => {};\r\n\r\n\tpublic transformCode = (code: string, filename: string) => {\r\n\t\tconst ssr = this.isSSR(false);\r\n\t\tconst result = transformMain(code, filename, this.options, this, ssr, this.customElementFilter(filename));\r\n\t\treturn { code: result?.code, map: result?.map.mappings };\r\n\t};\r\n}\r\n\r\nexport default VueTransformer;\r\n"]}
@@ -1 +1 @@
1
- {"root":["../src/behave.ts","../src/index.ts","../src/junitbamboo.ts","../src/snippet.ts","../src/version.ts","../src/api/convert-configuration.ts","../src/api/index.ts","../src/api/load-configuration.ts","../src/api/load-support.ts","../src/api/run-cucumber.ts","../src/bindings/binding-context.ts","../src/bindings/binding-decorator.ts","../src/bindings/binding-registry.ts","../src/bindings/hook-decorators.ts","../src/bindings/step-binding.ts","../src/bindings/step-decorators.ts","../src/bindings/types.ts","../src/cli/argv-parser.ts","../src/cli/index.ts","../src/cli/run.ts","../src/formatter/behave-json-formatter.ts","../src/formatter/junit-bamboo-formatter.ts","../src/formatter/step-definition-snippit-syntax/tsflow-snippet-syntax.ts","../src/gherkin/configuration.ts","../src/gherkin/gherkin-feature.ts","../src/gherkin/gherkin-manager.ts","../src/gherkin/models.ts","../src/runtime/coordinator.ts","../src/runtime/make-runtime.ts","../src/runtime/managed-scenario-context.ts","../src/runtime/message-collector.ts","../src/runtime/scenario-context.ts","../src/runtime/scenario-info.ts","../src/runtime/test-case-info.ts","../src/runtime/test-case-runner.ts","../src/runtime/types.ts","../src/runtime/utils.ts","../src/runtime/worker.ts","../src/runtime/parallel/adapter.ts","../src/runtime/parallel/run-worker.ts","../src/runtime/parallel/worker.ts","../src/runtime/serial/adapter.ts","../src/transpilers/esbuild-transpiler.ts","../src/transpilers/esbuild.ts","../src/transpilers/esnode.ts","../src/transpilers/esvue.ts","../src/transpilers/tsnode-exp.ts","../src/transpilers/tsnode.ts","../src/transpilers/tsvue-exp.ts","../src/transpilers/tsvue.ts","../src/transpilers/vue-sfc/compiler.ts","../src/transpilers/vue-sfc/index.ts","../src/transpilers/vue-sfc/main.ts","../src/transpilers/vue-sfc/script.ts","../src/transpilers/vue-sfc/template.ts","../src/transpilers/vue-sfc/types.ts","../src/transpilers/vue-sfc/utils/descriptorcache.ts","../src/transpilers/vue-sfc/utils/error.ts","../src/transpilers/vue-sfc/utils/query.ts","../src/types/durations.d.ts","../src/types/global.d.ts","../src/types/lep.d.ts","../src/utils/helpers.ts","../src/utils/logger.ts","../src/utils/our-callsite.ts"],"version":"5.8.2"}
1
+ {"root":["../src/behave.ts","../src/index.ts","../src/junitbamboo.ts","../src/snippet.ts","../src/version.ts","../src/api/convert-configuration.ts","../src/api/index.ts","../src/api/load-configuration.ts","../src/api/load-support.ts","../src/api/run-cucumber.ts","../src/bindings/binding-context.ts","../src/bindings/binding-decorator.ts","../src/bindings/binding-registry.ts","../src/bindings/hook-decorators.ts","../src/bindings/step-binding.ts","../src/bindings/step-decorators.ts","../src/bindings/types.ts","../src/cli/argv-parser.ts","../src/cli/index.ts","../src/cli/run.ts","../src/formatter/behave-json-formatter.ts","../src/formatter/junit-bamboo-formatter.ts","../src/formatter/step-definition-snippit-syntax/tsflow-snippet-syntax.ts","../src/gherkin/configuration.ts","../src/gherkin/gherkin-feature.ts","../src/gherkin/gherkin-manager.ts","../src/gherkin/models.ts","../src/runtime/coordinator.ts","../src/runtime/make-runtime.ts","../src/runtime/managed-scenario-context.ts","../src/runtime/message-collector.ts","../src/runtime/scenario-context.ts","../src/runtime/scenario-info.ts","../src/runtime/test-case-info.ts","../src/runtime/test-case-runner.ts","../src/runtime/types.ts","../src/runtime/utils.ts","../src/runtime/worker.ts","../src/runtime/parallel/adapter.ts","../src/runtime/parallel/run-worker.ts","../src/runtime/parallel/worker.ts","../src/runtime/serial/adapter.ts","../src/transpilers/esbuild-transpiler.ts","../src/transpilers/esbuild.ts","../src/transpilers/esnode.ts","../src/transpilers/esvue.ts","../src/transpilers/tsnode-exp.ts","../src/transpilers/tsnode.ts","../src/transpilers/tsvue-exp.ts","../src/transpilers/tsvue.ts","../src/transpilers/vue-sfc/compiler.ts","../src/transpilers/vue-sfc/index.ts","../src/transpilers/vue-sfc/main.ts","../src/transpilers/vue-sfc/script.ts","../src/transpilers/vue-sfc/template.ts","../src/transpilers/vue-sfc/types.ts","../src/transpilers/vue-sfc/utils/descriptorcache.ts","../src/transpilers/vue-sfc/utils/error.ts","../src/transpilers/vue-sfc/utils/query.ts","../src/types/durations.d.ts","../src/types/global.d.ts","../src/types/lep.d.ts","../src/types/vue-shim.d.ts","../src/utils/helpers.ts","../src/utils/logger.ts","../src/utils/our-callsite.ts"],"version":"5.9.2"}
package/lib/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "7.2.0";
1
+ export declare const version = "7.3.1";
package/lib/version.js CHANGED
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
4
  // Generated by genversion.
5
- exports.version = '7.2.0';
5
+ exports.version = '7.3.1';
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;AACd,QAAA,OAAO,GAAG,OAAO,CAAA","sourcesContent":["// Generated by genversion.\nexport const version = '7.2.0'\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;AACd,QAAA,OAAO,GAAG,OAAO,CAAA","sourcesContent":["// Generated by genversion.\nexport const version = '7.3.1'\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lynxwall/cucumber-tsflow",
3
3
  "description": "Provides 'specflow' like bindings for CucumberJS 11.2.0 in TypeScript 5.8+.",
4
- "version": "7.2.0",
4
+ "version": "7.3.1",
5
5
  "author": "Lonnie Wall <lynxdev@lynxwall.com>",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -26,14 +26,14 @@
26
26
  "main": "./lib/index.js",
27
27
  "exports": {
28
28
  ".": {
29
+ "types": "./lib/index.d.ts",
29
30
  "import": "./lib/wrapper.mjs",
30
- "require": "./lib/index.js",
31
- "types": "./lib/index.d.ts"
31
+ "require": "./lib/index.js"
32
32
  },
33
33
  "./api": {
34
+ "types": "./lib/api/index.d.ts",
34
35
  "import": "./lib/api/wrapper.mjs",
35
- "require": "./lib/api/index.js",
36
- "types": "./lib/api/index.d.ts"
36
+ "require": "./lib/api/index.js"
37
37
  },
38
38
  "./lib/*": {
39
39
  "require": "./lib/*.js"
@@ -47,47 +47,57 @@
47
47
  "./tsnode": "./lib/transpilers/tsnode.js",
48
48
  "./tsvue-exp": "./lib/transpilers/tsvue-exp.js",
49
49
  "./tsvue": "./lib/transpilers/tsvue.js",
50
+ "./lib/transpilers/esm/vue-loader": "./lib/transpilers/esm/vue-loader.mjs",
51
+ "./lib/transpilers/esm/tsnode-loader": "./lib/transpilers/esm/tsnode-loader.mjs",
52
+ "./lib/transpilers/esm/esnode-loader": "./lib/transpilers/esm/esnode-loader.mjs",
53
+ "./lib/transpilers/esm/esvue-loader": "./lib/transpilers/esm/esvue-loader.mjs",
54
+ "./lib/transpilers/esm/esbuild-transpiler'": "./lib/transpilers/esm/esbuild-transpiler.mjs",
55
+ "./lib/transpilers/esm/vue-jsdom-setup": "./lib/transpilers/esm/vue-jsdom-setup.mjs",
50
56
  "./package.json": "./package.json"
51
57
  },
52
58
  "types": "./lib/index.d.ts",
53
59
  "dependencies": {
54
- "@cucumber/cucumber": "~11.3.0",
60
+ "@cucumber/cucumber": "~12.2.0",
55
61
  "@jeanbenitez/logical-expression-parser": "~1.0.0",
56
62
  "@types/node": "~22.13.10",
57
63
  "ansis": "~3.17.0",
58
64
  "commander": "^10.0.1",
59
- "debug": "^4.3.4",
60
- "esbuild": "~0.25.1",
61
- "glob": "~11.0.1",
65
+ "debug": "^4.4.3",
66
+ "esbuild": "~0.25.10",
67
+ "glob": "~11.0.3",
62
68
  "hash-sum": "~2.0.0",
63
- "import-sync": "^2.2.2",
69
+ "import-sync": "^2.2.3",
64
70
  "jsdom": "~26.0.0",
65
71
  "jsdom-global": "~3.0.2",
66
72
  "lodash.merge": "~4.6.2",
67
73
  "polyfill-symbol-metadata": "^0.0.2",
68
74
  "require-extension-hooks": "~0.3.3",
69
- "rollup": "~4.35.0",
75
+ "rollup": "~4.52.0",
70
76
  "short-uuid": "~5.2.0",
71
77
  "source-map-support": "~0.5.21",
72
- "ts-node": "~10.9.2",
78
+ "ts-node-maintained": "~10.9.6",
73
79
  "tsconfig-paths": "~4.2.0",
74
80
  "tslib": "2.8.1",
75
- "typescript": "~5.8.2",
81
+ "typescript": "~5.9.2",
76
82
  "underscore": "~1.13.7"
77
83
  },
78
84
  "devDependencies": {
79
- "@rollup/pluginutils": "~5.1.4",
85
+ "@rollup/pluginutils": "~5.3.0",
80
86
  "@types/debug": "~4.1.12",
81
- "@types/glob": "~8.1.0",
82
87
  "@types/hash-sum": "~1.0.2",
83
88
  "@types/lodash.merge": "~4.6.9",
84
89
  "@types/source-map-support": "~0.5.10",
85
90
  "@types/underscore": "~1.13.0",
86
91
  "genversion": "~3.2.0",
87
- "shx": "0.3.4"
92
+ "shx": "0.4.0"
88
93
  },
89
94
  "scripts": {
90
- "build": "genversion --es6 src/version.ts && tsc --build tsconfig.node.json && shx cp src/wrapper.mjs lib/ && shx cp src/api/wrapper.mjs lib/api/",
95
+ "build": "genversion --es6 src/version.ts && tsc --build tsconfig.node.json && yarn build:copy-mjs && yarn build:transpiler",
96
+ "build:transpiler": "node src/scripts/build-esm-transpiler-cjs.js",
97
+ "build:copy-mjs": "yarn copy:root-mjs && yarn copy:api-mjs && yarn copy:transpiler-mjs",
98
+ "copy:root-mjs": "shx cp src/*.mjs lib/",
99
+ "copy:api-mjs": "shx cp src/api/*.mjs lib/api/",
100
+ "copy:transpiler-mjs": "shx mkdir -p lib/transpilers/esm && shx cp src/transpilers/esm/*.mjs lib/transpilers/esm/",
91
101
  "build:watch": "tsc --build tsconfig.node.json --watch"
92
102
  },
93
103
  "bin": "bin/cucumber-tsflow.js",