@lynxwall/cucumber-tsflow 6.1.0 → 6.2.0

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 (98) hide show
  1. package/README.md +62 -21
  2. package/lib/behave.d.ts +1 -1
  3. package/lib/behave.js +27 -27
  4. package/lib/cli/argv-parser.d.ts +24 -24
  5. package/lib/cli/argv-parser.js +103 -103
  6. package/lib/cli/index.d.ts +21 -22
  7. package/lib/cli/index.js +95 -101
  8. package/lib/cli/load-configuration.d.ts +20 -20
  9. package/lib/cli/load-configuration.js +101 -93
  10. package/lib/cli/run.d.ts +1 -1
  11. package/lib/cli/run.js +49 -47
  12. package/lib/cucumber/binding-decorator.d.ts +10 -10
  13. package/lib/cucumber/binding-decorator.js +180 -180
  14. package/lib/cucumber/binding-registry.d.ts +82 -82
  15. package/lib/cucumber/binding-registry.js +215 -215
  16. package/lib/cucumber/hook-decorators.d.ts +46 -46
  17. package/lib/cucumber/hook-decorators.js +102 -102
  18. package/lib/cucumber/managed-scenario-context.d.ts +21 -21
  19. package/lib/cucumber/managed-scenario-context.js +95 -95
  20. package/lib/cucumber/message-collector.d.ts +81 -81
  21. package/lib/cucumber/message-collector.js +250 -250
  22. package/lib/cucumber/parallel/coordinator.d.ts +79 -79
  23. package/lib/cucumber/parallel/coordinator.js +246 -246
  24. package/lib/cucumber/parallel/run-worker.d.ts +1 -1
  25. package/lib/cucumber/parallel/run-worker.js +31 -31
  26. package/lib/cucumber/parallel/worker.d.ts +30 -30
  27. package/lib/cucumber/parallel/worker.js +103 -103
  28. package/lib/cucumber/run-cucumber.d.ts +14 -14
  29. package/lib/cucumber/run-cucumber.js +118 -118
  30. package/lib/cucumber/runtime.d.ts +25 -25
  31. package/lib/cucumber/runtime.js +39 -39
  32. package/lib/cucumber/step-definition-decorators.d.ts +24 -24
  33. package/lib/cucumber/step-definition-decorators.js +91 -91
  34. package/lib/cucumber/utils.d.ts +16 -16
  35. package/lib/cucumber/utils.js +77 -77
  36. package/lib/esnode.js +18 -18
  37. package/lib/esvue.d.ts +1 -1
  38. package/lib/esvue.js +40 -40
  39. package/lib/formatters/behave-json-formatter.d.ts +49 -49
  40. package/lib/formatters/behave-json-formatter.js +74 -74
  41. package/lib/formatters/tsflow-snippet-syntax.d.ts +9 -9
  42. package/lib/formatters/tsflow-snippet-syntax.js +89 -89
  43. package/lib/gherkin/configuration.d.ts +30 -30
  44. package/lib/gherkin/configuration.js +26 -26
  45. package/lib/gherkin/gherkin-feature.d.ts +28 -28
  46. package/lib/gherkin/gherkin-feature.js +353 -333
  47. package/lib/gherkin/gherkin-manager.d.ts +29 -29
  48. package/lib/gherkin/gherkin-manager.js +143 -139
  49. package/lib/gherkin/models.d.ts +46 -45
  50. package/lib/gherkin/models.js +2 -2
  51. package/lib/index.d.ts +4 -4
  52. package/lib/index.js +22 -22
  53. package/lib/snippet.d.ts +1 -1
  54. package/lib/snippet.js +27 -27
  55. package/lib/transpilers/esbuild-transpiler.d.ts +4 -4
  56. package/lib/transpilers/esbuild-transpiler.js +18 -18
  57. package/lib/transpilers/esbuild.d.ts +12 -12
  58. package/lib/transpilers/esbuild.js +54 -54
  59. package/lib/transpilers/vue-sfc/compiler.d.ts +7 -7
  60. package/lib/transpilers/vue-sfc/compiler.js +21 -21
  61. package/lib/transpilers/vue-sfc/index.d.ts +23 -23
  62. package/lib/transpilers/vue-sfc/index.js +46 -46
  63. package/lib/transpilers/vue-sfc/main.d.ts +8 -8
  64. package/lib/transpilers/vue-sfc/main.js +247 -247
  65. package/lib/transpilers/vue-sfc/script.d.ts +5 -5
  66. package/lib/transpilers/vue-sfc/script.js +41 -41
  67. package/lib/transpilers/vue-sfc/template.d.ts +8 -8
  68. package/lib/transpilers/vue-sfc/template.js +101 -101
  69. package/lib/transpilers/vue-sfc/types.d.ts +55 -55
  70. package/lib/transpilers/vue-sfc/types.js +2 -2
  71. package/lib/transpilers/vue-sfc/utils/descriptorCache.d.ts +13 -13
  72. package/lib/transpilers/vue-sfc/utils/descriptorCache.js +67 -67
  73. package/lib/transpilers/vue-sfc/utils/error.d.ts +3 -3
  74. package/lib/transpilers/vue-sfc/utils/error.js +22 -22
  75. package/lib/transpilers/vue-sfc/utils/query.d.ts +13 -13
  76. package/lib/transpilers/vue-sfc/utils/query.js +35 -35
  77. package/lib/tsnode.js +17 -17
  78. package/lib/tsvue.d.ts +1 -1
  79. package/lib/tsvue.js +39 -39
  80. package/lib/types/scenario-context.d.ts +16 -16
  81. package/lib/types/scenario-context.js +17 -17
  82. package/lib/types/scenario-info.d.ts +16 -16
  83. package/lib/types/scenario-info.js +22 -22
  84. package/lib/types/step-binding-flags.d.ts +53 -53
  85. package/lib/types/step-binding-flags.js +59 -59
  86. package/lib/types/step-binding.d.ts +50 -50
  87. package/lib/types/step-binding.js +17 -17
  88. package/lib/types/types.d.ts +21 -21
  89. package/lib/types/types.js +2 -2
  90. package/lib/utils/helpers.d.ts +6 -6
  91. package/lib/utils/helpers.js +17 -17
  92. package/lib/utils/logger.d.ts +3 -3
  93. package/lib/utils/logger.js +29 -29
  94. package/lib/utils/our-callsite.d.ts +27 -27
  95. package/lib/utils/our-callsite.js +72 -72
  96. package/lib/version.d.ts +1 -1
  97. package/lib/version.js +5 -5
  98. package/package.json +16 -16
@@ -1,254 +1,254 @@
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.transformMain = void 0;
7
- const querystring_1 = __importDefault(require("querystring"));
8
- const path_1 = __importDefault(require("path"));
9
- const descriptorCache_1 = require("./utils/descriptorCache");
10
- const pluginutils_1 = require("@rollup/pluginutils");
11
- const script_1 = require("./script");
12
- const template_1 = require("./template");
13
- const source_map_1 = require("source-map");
14
- const error_1 = require("./utils/error");
15
- const esbuild_1 = require("../esbuild");
16
- const transformMain = (code, filename, options, transformerContext, ssr, asCustomElement) => {
17
- const { descriptor, errors } = (0, descriptorCache_1.createDescriptor)(filename, code, options);
18
- if (errors.length) {
19
- errors.forEach(error => transformerContext.error((0, error_1.createRollupError)(filename, error)));
20
- return null;
21
- }
22
- // feature information
23
- const attachedProps = [];
24
- const hasScoped = descriptor.styles.some(s => s.scoped);
25
- // script
26
- const { code: scriptCode, map } = genScriptCode(descriptor, options, transformerContext, ssr);
27
- // template
28
- const hasTemplateImport = descriptor.template && !(0, script_1.isUseInlineTemplate)(descriptor, true);
29
- let templateCode = '';
30
- let templateMap;
31
- if (hasTemplateImport) {
32
- ({ code: templateCode, map: templateMap } = genTemplateCode(descriptor, options, transformerContext, ssr));
33
- }
34
- if (hasTemplateImport) {
35
- attachedProps.push(ssr ? ['ssrRender', '_sfc_ssrRender'] : ['render', '_sfc_render']);
36
- }
37
- // styles
38
- const stylesCode = genStyleCode(descriptor, transformerContext, asCustomElement, attachedProps);
39
- // custom blocks
40
- const customBlocksCode = genCustomBlockCode(descriptor, transformerContext);
41
- const output = [scriptCode, templateCode, stylesCode, customBlocksCode];
42
- if (hasScoped) {
43
- attachedProps.push([`__scopeId`, JSON.stringify(`data-v-${descriptor.id}`)]);
44
- }
45
- // SSR module registration by wrapping user setup
46
- if (ssr) {
47
- const normalizedFilename = (0, pluginutils_1.normalizePath)(path_1.default.relative(options.root, filename));
48
- output.push(`import { useSSRContext as __vite_useSSRContext } from 'vue'`, `const _sfc_setup = _sfc_main.setup`, `_sfc_main.setup = (props, ctx) => {`, ` const ssrContext = __vite_useSSRContext()`, ` ;(ssrContext.modules || (ssrContext.modules = new Set())).add(${JSON.stringify(normalizedFilename)})`, ` return _sfc_setup ? _sfc_setup(props, ctx) : undefined`, `}`);
49
- }
50
- // if the template is inlined into the main module (indicated by the presence
51
- // of templateMap, we need to concatenate the two source maps.
52
- let resolvedMap = options.sourceMap ? map : undefined;
53
- if (resolvedMap && templateMap) {
54
- const generator = source_map_1.SourceMapGenerator.fromSourceMap(new source_map_1.SourceMapConsumer(map));
55
- const offset = (scriptCode.match(/\r?\n/g)?.length ?? 0) + 1;
56
- const templateMapConsumer = new source_map_1.SourceMapConsumer(templateMap);
57
- templateMapConsumer.eachMapping(m => {
58
- generator.addMapping({
59
- source: m.source,
60
- original: { line: m.originalLine, column: m.originalColumn },
61
- generated: {
62
- line: m.generatedLine + offset,
63
- column: m.generatedColumn
64
- }
65
- });
66
- });
67
- resolvedMap = generator.toJSON();
68
- // if this is a template only update, we will be reusing a cached version
69
- // of the main module compile result, which has outdated sourcesContent.
70
- resolvedMap.sourcesContent = templateMap.sourcesContent;
71
- }
72
- if (!attachedProps.length) {
73
- output.push(`export default _sfc_main`);
74
- }
75
- else {
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.transformMain = void 0;
7
+ const querystring_1 = __importDefault(require("querystring"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const descriptorCache_1 = require("./utils/descriptorCache");
10
+ const pluginutils_1 = require("@rollup/pluginutils");
11
+ const script_1 = require("./script");
12
+ const template_1 = require("./template");
13
+ const source_map_1 = require("source-map");
14
+ const error_1 = require("./utils/error");
15
+ const esbuild_1 = require("../esbuild");
16
+ const transformMain = (code, filename, options, transformerContext, ssr, asCustomElement) => {
17
+ const { descriptor, errors } = (0, descriptorCache_1.createDescriptor)(filename, code, options);
18
+ if (errors.length) {
19
+ errors.forEach(error => transformerContext.error((0, error_1.createRollupError)(filename, error)));
20
+ return null;
21
+ }
22
+ // feature information
23
+ const attachedProps = [];
24
+ const hasScoped = descriptor.styles.some(s => s.scoped);
25
+ // script
26
+ const { code: scriptCode, map } = genScriptCode(descriptor, options, transformerContext, ssr);
27
+ // template
28
+ const hasTemplateImport = descriptor.template && !(0, script_1.isUseInlineTemplate)(descriptor, true);
29
+ let templateCode = '';
30
+ let templateMap;
31
+ if (hasTemplateImport) {
32
+ ({ code: templateCode, map: templateMap } = genTemplateCode(descriptor, options, transformerContext, ssr));
33
+ }
34
+ if (hasTemplateImport) {
35
+ attachedProps.push(ssr ? ['ssrRender', '_sfc_ssrRender'] : ['render', '_sfc_render']);
36
+ }
37
+ // styles
38
+ const stylesCode = genStyleCode(descriptor, transformerContext, asCustomElement, attachedProps);
39
+ // custom blocks
40
+ const customBlocksCode = genCustomBlockCode(descriptor, transformerContext);
41
+ const output = [scriptCode, templateCode, stylesCode, customBlocksCode];
42
+ if (hasScoped) {
43
+ attachedProps.push([`__scopeId`, JSON.stringify(`data-v-${descriptor.id}`)]);
44
+ }
45
+ // SSR module registration by wrapping user setup
46
+ if (ssr) {
47
+ const normalizedFilename = (0, pluginutils_1.normalizePath)(path_1.default.relative(options.root, filename));
48
+ output.push(`import { useSSRContext as __vite_useSSRContext } from 'vue'`, `const _sfc_setup = _sfc_main.setup`, `_sfc_main.setup = (props, ctx) => {`, ` const ssrContext = __vite_useSSRContext()`, ` ;(ssrContext.modules || (ssrContext.modules = new Set())).add(${JSON.stringify(normalizedFilename)})`, ` return _sfc_setup ? _sfc_setup(props, ctx) : undefined`, `}`);
49
+ }
50
+ // if the template is inlined into the main module (indicated by the presence
51
+ // of templateMap, we need to concatenate the two source maps.
52
+ let resolvedMap = options.sourceMap ? map : undefined;
53
+ if (resolvedMap && templateMap) {
54
+ const generator = source_map_1.SourceMapGenerator.fromSourceMap(new source_map_1.SourceMapConsumer(map));
55
+ const offset = (scriptCode.match(/\r?\n/g)?.length ?? 0) + 1;
56
+ const templateMapConsumer = new source_map_1.SourceMapConsumer(templateMap);
57
+ templateMapConsumer.eachMapping(m => {
58
+ generator.addMapping({
59
+ source: m.source,
60
+ original: { line: m.originalLine, column: m.originalColumn },
61
+ generated: {
62
+ line: m.generatedLine + offset,
63
+ column: m.generatedColumn
64
+ }
65
+ });
66
+ });
67
+ resolvedMap = generator.toJSON();
68
+ // if this is a template only update, we will be reusing a cached version
69
+ // of the main module compile result, which has outdated sourcesContent.
70
+ resolvedMap.sourcesContent = templateMap.sourcesContent;
71
+ }
72
+ if (!attachedProps.length) {
73
+ output.push(`export default _sfc_main`);
74
+ }
75
+ else {
76
76
  output.push(`import _export_sfc from 'export default (sfc, props) => {
77
77
  const target = sfc.__vccOpts || sfc;
78
78
  for (const [key, val] of props) {
79
79
  target[key] = val;
80
80
  }
81
81
  return target;
82
- }'`, `export default /*#__PURE__*/_export_sfc(_sfc_main, [${attachedProps
83
- .map(([key, val]) => `['${key}',${val}]`)
84
- .join(',')}])`);
85
- }
86
- // handle TS transpilation
87
- let resolvedCode = output.join('\n');
88
- if ((descriptor.script?.lang === 'ts' || descriptor.scriptSetup?.lang === 'ts') &&
89
- !descriptor.script?.src // only normal script can have src
90
- ) {
91
- const { output, sourceMap } = (0, esbuild_1.transpileCode)(resolvedCode, filename, '.ts');
92
- resolvedCode = output;
93
- resolvedMap = resolvedMap ? sourceMap : resolvedMap;
94
- }
95
- return {
96
- code: resolvedCode,
97
- map: resolvedMap || {
98
- mappings: ''
99
- }
100
- };
101
- };
102
- exports.transformMain = transformMain;
103
- const genTemplateCode = (descriptor, options, transformerContext, ssr) => {
104
- const template = descriptor.template;
105
- // If the template is not using pre-processor AND is not using external src,
106
- // compile and inline it directly in the main module. When served in vite this
107
- // saves an extra request per SFC which can improve load performance.
108
- if (!template.lang && !template.src) {
109
- return (0, template_1.transformTemplateInMain)(template.content, descriptor, options, transformerContext, ssr);
110
- }
111
- else {
112
- if (template.src) {
113
- linkSrcToDescriptor(template.src, descriptor, transformerContext);
114
- }
115
- const src = template.src || descriptor.filename;
116
- const srcQuery = template.src ? `&src=${descriptor.id}` : ``;
117
- const attrsQuery = attrsToQuery(template.attrs, 'js', true);
118
- const query = `?vue&type=template${srcQuery}${attrsQuery}`;
119
- const request = JSON.stringify(src + query);
120
- const renderFnName = ssr ? 'ssrRender' : 'render';
121
- return {
122
- code: `import { ${renderFnName} as _sfc_${renderFnName} } from ${request}`,
123
- map: undefined
124
- };
125
- }
126
- };
127
- const genScriptCode = (descriptor, options, transformerContext, ssr) => {
128
- let scriptCode = `const _sfc_main = {}`;
129
- let map;
130
- const script = (0, script_1.resolveScript)(descriptor, options, ssr);
131
- if (script) {
132
- // If the script is js/ts and has no external src, it can be directly placed
133
- // in the main module.
134
- if ((!script.lang || script.lang === 'ts') && !script.src) {
135
- scriptCode = options.compiler.rewriteDefault(script.content, '_sfc_main', script.lang === 'ts' ? ['typescript'] : undefined);
136
- map = script.map;
137
- }
138
- else {
139
- if (script.src) {
140
- linkSrcToDescriptor(script.src, descriptor, transformerContext);
141
- }
142
- const src = script.src || descriptor.filename;
143
- const langFallback = (script.src && path_1.default.extname(src).slice(1)) || 'js';
144
- const attrsQuery = attrsToQuery(script.attrs, langFallback);
145
- const srcQuery = script.src ? `&src=${descriptor.id}` : ``;
146
- const query = `?vue&type=script${srcQuery}${attrsQuery}`;
147
- const request = JSON.stringify(src + query);
148
- scriptCode = `import _sfc_main from ${request}\n` + `export * from ${request}`; // support named exports
149
- }
150
- }
151
- return {
152
- code: scriptCode,
153
- map: map
154
- };
155
- };
156
- const genStyleCode = (descriptor, transformerContext, asCustomElement, attachedProps) => {
157
- let stylesCode = ``;
158
- let cssModulesMap;
159
- if (descriptor.styles.length) {
160
- for (let i = 0; i < descriptor.styles.length; i++) {
161
- const style = descriptor.styles[i];
162
- if (style.src) {
163
- linkSrcToDescriptor(style.src, descriptor, transformerContext);
164
- }
165
- const src = style.src || descriptor.filename;
166
- // do not include module in default query, since we use it to indicate
167
- // that the module needs to export the modules json
168
- const attrsQuery = attrsToQuery(style.attrs, 'css');
169
- const srcQuery = style.src ? `&src=${descriptor.id}` : ``;
170
- const directQuery = asCustomElement ? `&inline` : ``;
171
- const query = `?vue&type=style&index=${i}${srcQuery}${directQuery}`;
172
- const styleRequest = src + query + attrsQuery;
173
- if (style.module) {
174
- if (asCustomElement) {
175
- throw new Error(`<style module> is not supported in custom elements mode.`);
176
- }
177
- const [importCode, nameMap] = genCSSModulesCode(i, styleRequest, style.module);
178
- stylesCode += importCode;
179
- Object.assign((cssModulesMap ||= {}), nameMap);
180
- }
181
- else {
182
- if (asCustomElement) {
183
- stylesCode += `\nimport _style_${i} from ${JSON.stringify(styleRequest)}`;
184
- }
185
- else {
186
- stylesCode += `\nimport ${JSON.stringify(styleRequest)}`;
187
- }
188
- }
189
- // TODO SSR critical CSS collection
190
- }
191
- if (asCustomElement) {
192
- attachedProps.push([`styles`, `[${descriptor.styles.map((_, i) => `_style_${i}`).join(',')}]`]);
193
- }
194
- }
195
- if (cssModulesMap) {
196
- const mappingCode = Object.entries(cssModulesMap).reduce((code, [key, value]) => code + `"${key}":${value},\n`, '{\n') + '}';
197
- stylesCode += `\nconst cssModules = ${mappingCode}`;
198
- attachedProps.push([`__cssModules`, `cssModules`]);
199
- }
200
- return stylesCode;
201
- };
202
- const genCSSModulesCode = (index, request, moduleName) => {
203
- const styleVar = `style${index}`;
204
- const exposedName = typeof moduleName === 'string' ? moduleName : '$style';
205
- // inject `.module` before extension so vite handles it as css module
206
- const moduleRequest = request.replace(/\.(\w+)$/, '.module.$1');
207
- return [`\nimport ${styleVar} from ${JSON.stringify(moduleRequest)}`, { [exposedName]: styleVar }];
208
- };
209
- const genCustomBlockCode = (descriptor, transformerContext) => {
210
- let code = '';
211
- for (let index = 0; index < descriptor.customBlocks.length; index++) {
212
- const block = descriptor.customBlocks[index];
213
- if (block.src) {
214
- linkSrcToDescriptor(block.src, descriptor, transformerContext);
215
- }
216
- const src = block.src || descriptor.filename;
217
- const attrsQuery = attrsToQuery(block.attrs, block.type);
218
- const srcQuery = block.src ? `&src` : ``;
219
- const query = `?vue&type=${block.type}&index=${index}${srcQuery}${attrsQuery}`;
220
- const request = JSON.stringify(src + query);
221
- code += `import block${index} from ${request}\n`;
222
- code += `if (typeof block${index} === 'function') block${index}(_sfc_main)\n`;
223
- }
224
- return code;
225
- };
226
- /**
227
- * For blocks with src imports, it is important to link the imported file
228
- * with its owner SFC descriptor so that we can get the information about
229
- * the owner SFC when compiling that file in the transform phase.
230
- */
231
- const linkSrcToDescriptor = (src, descriptor, transformerContext) => {
232
- const srcFile = transformerContext.resolve(descriptor.filename)?.id || src;
233
- // #1812 if the src points to a dep file, the resolved id may contain a
234
- // version query.
235
- (0, descriptorCache_1.setSrcDescriptor)(srcFile.replace(/\?.*$/, ''), descriptor);
236
- };
237
- // these are built-in query parameters so should be ignored
238
- // if the user happen to add them as attrs
239
- const ignoreList = ['id', 'index', 'src', 'type', 'lang', 'module'];
240
- const attrsToQuery = (attrs, langFallback, forceLangFallback = false) => {
241
- let query = ``;
242
- for (const name in attrs) {
243
- const value = attrs[name];
244
- if (!ignoreList.includes(name)) {
245
- query += `&${querystring_1.default.escape(name)}${value ? `=${querystring_1.default.escape(String(value))}` : ``}`;
246
- }
247
- }
248
- if (langFallback || attrs.lang) {
249
- query +=
250
- `lang` in attrs ? (forceLangFallback ? `&lang.${langFallback}` : `&lang.${attrs.lang}`) : `&lang.${langFallback}`;
251
- }
252
- return query;
253
- };
82
+ }'`, `export default /*#__PURE__*/_export_sfc(_sfc_main, [${attachedProps
83
+ .map(([key, val]) => `['${key}',${val}]`)
84
+ .join(',')}])`);
85
+ }
86
+ // handle TS transpilation
87
+ let resolvedCode = output.join('\n');
88
+ if ((descriptor.script?.lang === 'ts' || descriptor.scriptSetup?.lang === 'ts') &&
89
+ !descriptor.script?.src // only normal script can have src
90
+ ) {
91
+ const { output, sourceMap } = (0, esbuild_1.transpileCode)(resolvedCode, filename, '.ts');
92
+ resolvedCode = output;
93
+ resolvedMap = resolvedMap ? sourceMap : resolvedMap;
94
+ }
95
+ return {
96
+ code: resolvedCode,
97
+ map: resolvedMap || {
98
+ mappings: ''
99
+ }
100
+ };
101
+ };
102
+ exports.transformMain = transformMain;
103
+ const genTemplateCode = (descriptor, options, transformerContext, ssr) => {
104
+ const template = descriptor.template;
105
+ // If the template is not using pre-processor AND is not using external src,
106
+ // compile and inline it directly in the main module. When served in vite this
107
+ // saves an extra request per SFC which can improve load performance.
108
+ if (!template.lang && !template.src) {
109
+ return (0, template_1.transformTemplateInMain)(template.content, descriptor, options, transformerContext, ssr);
110
+ }
111
+ else {
112
+ if (template.src) {
113
+ linkSrcToDescriptor(template.src, descriptor, transformerContext);
114
+ }
115
+ const src = template.src || descriptor.filename;
116
+ const srcQuery = template.src ? `&src=${descriptor.id}` : ``;
117
+ const attrsQuery = attrsToQuery(template.attrs, 'js', true);
118
+ const query = `?vue&type=template${srcQuery}${attrsQuery}`;
119
+ const request = JSON.stringify(src + query);
120
+ const renderFnName = ssr ? 'ssrRender' : 'render';
121
+ return {
122
+ code: `import { ${renderFnName} as _sfc_${renderFnName} } from ${request}`,
123
+ map: undefined
124
+ };
125
+ }
126
+ };
127
+ const genScriptCode = (descriptor, options, transformerContext, ssr) => {
128
+ let scriptCode = `const _sfc_main = {}`;
129
+ let map;
130
+ const script = (0, script_1.resolveScript)(descriptor, options, ssr);
131
+ if (script) {
132
+ // If the script is js/ts and has no external src, it can be directly placed
133
+ // in the main module.
134
+ if ((!script.lang || script.lang === 'ts') && !script.src) {
135
+ scriptCode = options.compiler.rewriteDefault(script.content, '_sfc_main', script.lang === 'ts' ? ['typescript'] : undefined);
136
+ map = script.map;
137
+ }
138
+ else {
139
+ if (script.src) {
140
+ linkSrcToDescriptor(script.src, descriptor, transformerContext);
141
+ }
142
+ const src = script.src || descriptor.filename;
143
+ const langFallback = (script.src && path_1.default.extname(src).slice(1)) || 'js';
144
+ const attrsQuery = attrsToQuery(script.attrs, langFallback);
145
+ const srcQuery = script.src ? `&src=${descriptor.id}` : ``;
146
+ const query = `?vue&type=script${srcQuery}${attrsQuery}`;
147
+ const request = JSON.stringify(src + query);
148
+ scriptCode = `import _sfc_main from ${request}\n` + `export * from ${request}`; // support named exports
149
+ }
150
+ }
151
+ return {
152
+ code: scriptCode,
153
+ map: map
154
+ };
155
+ };
156
+ const genStyleCode = (descriptor, transformerContext, asCustomElement, attachedProps) => {
157
+ let stylesCode = ``;
158
+ let cssModulesMap;
159
+ if (descriptor.styles.length) {
160
+ for (let i = 0; i < descriptor.styles.length; i++) {
161
+ const style = descriptor.styles[i];
162
+ if (style.src) {
163
+ linkSrcToDescriptor(style.src, descriptor, transformerContext);
164
+ }
165
+ const src = style.src || descriptor.filename;
166
+ // do not include module in default query, since we use it to indicate
167
+ // that the module needs to export the modules json
168
+ const attrsQuery = attrsToQuery(style.attrs, 'css');
169
+ const srcQuery = style.src ? `&src=${descriptor.id}` : ``;
170
+ const directQuery = asCustomElement ? `&inline` : ``;
171
+ const query = `?vue&type=style&index=${i}${srcQuery}${directQuery}`;
172
+ const styleRequest = src + query + attrsQuery;
173
+ if (style.module) {
174
+ if (asCustomElement) {
175
+ throw new Error(`<style module> is not supported in custom elements mode.`);
176
+ }
177
+ const [importCode, nameMap] = genCSSModulesCode(i, styleRequest, style.module);
178
+ stylesCode += importCode;
179
+ Object.assign((cssModulesMap ||= {}), nameMap);
180
+ }
181
+ else {
182
+ if (asCustomElement) {
183
+ stylesCode += `\nimport _style_${i} from ${JSON.stringify(styleRequest)}`;
184
+ }
185
+ else {
186
+ stylesCode += `\nimport ${JSON.stringify(styleRequest)}`;
187
+ }
188
+ }
189
+ // TODO SSR critical CSS collection
190
+ }
191
+ if (asCustomElement) {
192
+ attachedProps.push([`styles`, `[${descriptor.styles.map((_, i) => `_style_${i}`).join(',')}]`]);
193
+ }
194
+ }
195
+ if (cssModulesMap) {
196
+ const mappingCode = Object.entries(cssModulesMap).reduce((code, [key, value]) => code + `"${key}":${value},\n`, '{\n') + '}';
197
+ stylesCode += `\nconst cssModules = ${mappingCode}`;
198
+ attachedProps.push([`__cssModules`, `cssModules`]);
199
+ }
200
+ return stylesCode;
201
+ };
202
+ const genCSSModulesCode = (index, request, moduleName) => {
203
+ const styleVar = `style${index}`;
204
+ const exposedName = typeof moduleName === 'string' ? moduleName : '$style';
205
+ // inject `.module` before extension so vite handles it as css module
206
+ const moduleRequest = request.replace(/\.(\w+)$/, '.module.$1');
207
+ return [`\nimport ${styleVar} from ${JSON.stringify(moduleRequest)}`, { [exposedName]: styleVar }];
208
+ };
209
+ const genCustomBlockCode = (descriptor, transformerContext) => {
210
+ let code = '';
211
+ for (let index = 0; index < descriptor.customBlocks.length; index++) {
212
+ const block = descriptor.customBlocks[index];
213
+ if (block.src) {
214
+ linkSrcToDescriptor(block.src, descriptor, transformerContext);
215
+ }
216
+ const src = block.src || descriptor.filename;
217
+ const attrsQuery = attrsToQuery(block.attrs, block.type);
218
+ const srcQuery = block.src ? `&src` : ``;
219
+ const query = `?vue&type=${block.type}&index=${index}${srcQuery}${attrsQuery}`;
220
+ const request = JSON.stringify(src + query);
221
+ code += `import block${index} from ${request}\n`;
222
+ code += `if (typeof block${index} === 'function') block${index}(_sfc_main)\n`;
223
+ }
224
+ return code;
225
+ };
226
+ /**
227
+ * For blocks with src imports, it is important to link the imported file
228
+ * with its owner SFC descriptor so that we can get the information about
229
+ * the owner SFC when compiling that file in the transform phase.
230
+ */
231
+ const linkSrcToDescriptor = (src, descriptor, transformerContext) => {
232
+ const srcFile = transformerContext.resolve(descriptor.filename)?.id || src;
233
+ // #1812 if the src points to a dep file, the resolved id may contain a
234
+ // version query.
235
+ (0, descriptorCache_1.setSrcDescriptor)(srcFile.replace(/\?.*$/, ''), descriptor);
236
+ };
237
+ // these are built-in query parameters so should be ignored
238
+ // if the user happen to add them as attrs
239
+ const ignoreList = ['id', 'index', 'src', 'type', 'lang', 'module'];
240
+ const attrsToQuery = (attrs, langFallback, forceLangFallback = false) => {
241
+ let query = ``;
242
+ for (const name in attrs) {
243
+ const value = attrs[name];
244
+ if (!ignoreList.includes(name)) {
245
+ query += `&${querystring_1.default.escape(name)}${value ? `=${querystring_1.default.escape(String(value))}` : ``}`;
246
+ }
247
+ }
248
+ if (langFallback || attrs.lang) {
249
+ query +=
250
+ `lang` in attrs ? (forceLangFallback ? `&lang.${langFallback}` : `&lang.${attrs.lang}`) : `&lang.${langFallback}`;
251
+ }
252
+ return query;
253
+ };
254
254
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc3BpbGVycy92dWUtc2ZjL21haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQTZCO0FBQzdCLGdEQUF3QjtBQUV4Qiw2REFBNkU7QUFFN0UscURBQW9EO0FBQ3BELHFDQUE4RDtBQUM5RCx5Q0FBcUQ7QUFFckQsMkNBQW1FO0FBQ25FLHlDQUFrRDtBQUVsRCx3Q0FBMkM7QUFFcEMsTUFBTSxhQUFhLEdBQUcsQ0FDNUIsSUFBWSxFQUNaLFFBQWdCLEVBQ2hCLE9BQXdCLEVBQ3hCLGtCQUF5QyxFQUN6QyxHQUFZLEVBQ1osZUFBd0IsRUFDdkIsRUFBRTtJQUNILE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSxrQ0FBZ0IsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXpFLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNsQixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUEseUJBQWlCLEVBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixPQUFPLElBQUksQ0FBQztLQUNaO0lBRUQsc0JBQXNCO0lBQ3RCLE1BQU0sYUFBYSxHQUF1QixFQUFFLENBQUM7SUFDN0MsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFeEQsU0FBUztJQUNULE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxHQUFHLGFBQWEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTlGLFdBQVc7SUFDWCxNQUFNLGlCQUFp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
@@ -1,5 +1,5 @@
1
- import type { SFCDescriptor, SFCScriptBlock } from 'vue/compiler-sfc';
2
- import type { ResolvedOptions } from './types';
3
- export declare const getResolvedScript: (descriptor: SFCDescriptor, ssr: boolean) => SFCScriptBlock | null | undefined;
4
- export declare const isUseInlineTemplate: (descriptor: SFCDescriptor, isProd: boolean) => boolean;
5
- export declare const resolveScript: (descriptor: SFCDescriptor, options: ResolvedOptions, ssr: boolean) => SFCScriptBlock | null;
1
+ import type { SFCDescriptor, SFCScriptBlock } from 'vue/compiler-sfc';
2
+ import type { ResolvedOptions } from './types';
3
+ export declare const getResolvedScript: (descriptor: SFCDescriptor, ssr: boolean) => SFCScriptBlock | null | undefined;
4
+ export declare const isUseInlineTemplate: (descriptor: SFCDescriptor, isProd: boolean) => boolean;
5
+ export declare const resolveScript: (descriptor: SFCDescriptor, options: ResolvedOptions, ssr: boolean) => SFCScriptBlock | null;
@@ -1,42 +1,42 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveScript = exports.isUseInlineTemplate = exports.getResolvedScript = void 0;
4
- const template_1 = require("./template");
5
- // ssr and non ssr builds would output different script content
6
- const clientCache = new WeakMap();
7
- const ssrCache = new WeakMap();
8
- const getResolvedScript = (descriptor, ssr) => {
9
- return (ssr ? ssrCache : clientCache).get(descriptor);
10
- };
11
- exports.getResolvedScript = getResolvedScript;
12
- // Check if we can use compile template as inlined render function
13
- // inside <script setup>. This can only be done for build because
14
- // inlined template cannot be individually hot updated.
15
- const isUseInlineTemplate = (descriptor, isProd) => {
16
- return isProd && !!descriptor.scriptSetup && !descriptor.template?.src;
17
- };
18
- exports.isUseInlineTemplate = isUseInlineTemplate;
19
- const resolveScript = (descriptor, options, ssr) => {
20
- if (!descriptor.script && !descriptor.scriptSetup) {
21
- return null;
22
- }
23
- const cacheToUse = ssr ? ssrCache : clientCache;
24
- const cached = cacheToUse.get(descriptor);
25
- if (cached) {
26
- return cached;
27
- }
28
- let resolved = null;
29
- resolved = options.compiler.compileScript(descriptor, {
30
- ...options.script,
31
- id: descriptor.id,
32
- isProd: options.isProduction,
33
- inlineTemplate: (0, exports.isUseInlineTemplate)(descriptor, true),
34
- reactivityTransform: options.reactivityTransform !== false,
35
- templateOptions: (0, template_1.resolveTemplateCompilerOptions)(descriptor, options, ssr),
36
- sourceMap: options.sourceMap
37
- });
38
- cacheToUse.set(descriptor, resolved);
39
- return resolved;
40
- };
41
- exports.resolveScript = resolveScript;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveScript = exports.isUseInlineTemplate = exports.getResolvedScript = void 0;
4
+ const template_1 = require("./template");
5
+ // ssr and non ssr builds would output different script content
6
+ const clientCache = new WeakMap();
7
+ const ssrCache = new WeakMap();
8
+ const getResolvedScript = (descriptor, ssr) => {
9
+ return (ssr ? ssrCache : clientCache).get(descriptor);
10
+ };
11
+ exports.getResolvedScript = getResolvedScript;
12
+ // Check if we can use compile template as inlined render function
13
+ // inside <script setup>. This can only be done for build because
14
+ // inlined template cannot be individually hot updated.
15
+ const isUseInlineTemplate = (descriptor, isProd) => {
16
+ return isProd && !!descriptor.scriptSetup && !descriptor.template?.src;
17
+ };
18
+ exports.isUseInlineTemplate = isUseInlineTemplate;
19
+ const resolveScript = (descriptor, options, ssr) => {
20
+ if (!descriptor.script && !descriptor.scriptSetup) {
21
+ return null;
22
+ }
23
+ const cacheToUse = ssr ? ssrCache : clientCache;
24
+ const cached = cacheToUse.get(descriptor);
25
+ if (cached) {
26
+ return cached;
27
+ }
28
+ let resolved = null;
29
+ resolved = options.compiler.compileScript(descriptor, {
30
+ ...options.script,
31
+ id: descriptor.id,
32
+ isProd: options.isProduction,
33
+ inlineTemplate: (0, exports.isUseInlineTemplate)(descriptor, true),
34
+ reactivityTransform: options.reactivityTransform !== false,
35
+ templateOptions: (0, template_1.resolveTemplateCompilerOptions)(descriptor, options, ssr),
36
+ sourceMap: options.sourceMap
37
+ });
38
+ cacheToUse.set(descriptor, resolved);
39
+ return resolved;
40
+ };
41
+ exports.resolveScript = resolveScript;
42
42
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zcGlsZXJzL3Z1ZS1zZmMvc2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHlDQUE0RDtBQUU1RCwrREFBK0Q7QUFDL0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxPQUFPLEVBQXdDLENBQUM7QUFDeEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQXdDLENBQUM7QUFFOUQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFVBQXlCLEVBQUUsR0FBWSxFQUFxQyxFQUFFO0lBQy9HLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUZXLFFBQUEsaUJBQWlCLHFCQUU1QjtBQUVGLGtFQUFrRTtBQUNsRSxpRUFBaUU7QUFDakUsdURBQXVEO0FBQ2hELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxVQUF5QixFQUFFLE1BQWUsRUFBVyxFQUFFO0lBQzFGLE9BQU8sTUFBTSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7QUFDeEUsQ0FBQyxDQUFDO0FBRlcsUUFBQSxtQkFBbUIsdUJBRTlCO0FBRUssTUFBTSxhQUFhLEdBQUcsQ0FDNUIsVUFBeUIsRUFDekIsT0FBd0IsRUFDeEIsR0FBWSxFQUNZLEVBQUU7SUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFO1FBQ2xELE9BQU8sSUFBSSxDQUFDO0tBQ1o7SUFFRCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ2hELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsSUFBSSxNQUFNLEVBQUU7UUFDWCxPQUFPLE1BQU0sQ0FBQztLQUNkO0lBRUQsSUFBSSxRQUFRLEdBQTBCLElBQUksQ0FBQztJQUUzQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFO1FBQ3JELEdBQUcsT0FBTyxDQUFDLE1BQU07UUFDakIsRUFBRSxFQUFFLFVBQVUsQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sRUFBRSxPQUFPLENBQUMsWUFBWTtRQUM1QixjQUFjLEVBQUUsSUFBQSwyQkFBbUIsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1FBQ3JELG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsS0FBSyxLQUFLO1FBQzFELGVBQWUsRUFBRSxJQUFBLHlDQUE4QixFQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDO1FBQ3pFLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztLQUM1QixDQUFDLENBQUM7SUFFSCxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyQyxPQUFPLFFBQVEsQ0FBQztBQUNqQixDQUFDLENBQUM7QUE3QlcsUUFBQSxhQUFhLGlCQTZCeEIifQ==