@lynxwall/cucumber-tsflow 5.0.4 → 5.0.7

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