@lynxwall/cucumber-tsflow 5.1.3 → 6.0.2
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.
- package/README.md +546 -544
- package/bin/cucumber-tsflow +1 -1
- package/lib/behave.d.ts +1 -1
- package/lib/behave.js +27 -27
- package/lib/cli/argv-parser.d.ts +24 -24
- package/lib/cli/argv-parser.js +103 -103
- package/lib/cli/index.d.ts +22 -22
- package/lib/cli/index.js +101 -96
- package/lib/cli/load-configuration.d.ts +20 -20
- package/lib/cli/load-configuration.js +92 -92
- package/lib/cli/run.d.ts +1 -1
- package/lib/cli/run.js +49 -44
- package/lib/cucumber/binding-decorator.d.ts +10 -10
- package/lib/cucumber/binding-decorator.js +180 -180
- package/lib/cucumber/binding-registry.d.ts +82 -82
- package/lib/cucumber/binding-registry.js +216 -218
- package/lib/cucumber/hook-decorators.d.ts +46 -46
- package/lib/cucumber/hook-decorators.js +102 -102
- package/lib/cucumber/managed-scenario-context.d.ts +21 -21
- package/lib/cucumber/managed-scenario-context.js +96 -95
- package/lib/cucumber/message-collector.d.ts +81 -80
- package/lib/cucumber/message-collector.js +251 -241
- package/lib/cucumber/parallel/coordinator.d.ts +79 -78
- package/lib/cucumber/parallel/coordinator.js +247 -228
- package/lib/cucumber/parallel/run-worker.d.ts +1 -1
- package/lib/cucumber/parallel/run-worker.js +31 -31
- package/lib/cucumber/parallel/worker.d.ts +30 -31
- package/lib/cucumber/parallel/worker.js +104 -104
- package/lib/cucumber/run-cucumber.d.ts +14 -14
- package/lib/cucumber/run-cucumber.js +117 -117
- package/lib/cucumber/runtime.d.ts +25 -25
- package/lib/cucumber/runtime.js +39 -39
- package/lib/cucumber/step-definition-decorators.d.ts +24 -24
- package/lib/cucumber/step-definition-decorators.js +91 -91
- package/lib/cucumber/utils.d.ts +16 -16
- package/lib/cucumber/utils.js +77 -77
- package/lib/esnode.js +19 -19
- package/lib/esvue.d.ts +1 -1
- package/lib/esvue.js +41 -41
- package/lib/formatters/behave-json-formatter.d.ts +49 -49
- package/lib/formatters/behave-json-formatter.js +75 -75
- package/lib/formatters/tsflow-snippet-syntax.d.ts +9 -9
- package/lib/formatters/tsflow-snippet-syntax.js +90 -93
- package/lib/gherkin/configuration.d.ts +30 -30
- package/lib/gherkin/configuration.js +26 -26
- package/lib/gherkin/gherkin-feature.d.ts +28 -28
- package/lib/gherkin/gherkin-feature.js +333 -335
- package/lib/gherkin/gherkin-manager.d.ts +29 -29
- package/lib/gherkin/gherkin-manager.js +114 -113
- package/lib/gherkin/models.d.ts +45 -45
- package/lib/gherkin/models.js +2 -2
- package/lib/index.d.ts +4 -4
- package/lib/index.js +22 -22
- package/lib/snippet.d.ts +1 -1
- package/lib/snippet.js +27 -27
- package/lib/transpilers/esbuild-transpiler.d.ts +4 -4
- package/lib/transpilers/esbuild-transpiler.js +19 -21
- package/lib/transpilers/esbuild.d.ts +12 -12
- package/lib/transpilers/esbuild.js +54 -54
- package/lib/transpilers/vue-sfc/compiler.d.ts +7 -7
- package/lib/transpilers/vue-sfc/compiler.js +21 -21
- package/lib/transpilers/vue-sfc/index.d.ts +23 -23
- package/lib/transpilers/vue-sfc/index.js +47 -45
- package/lib/transpilers/vue-sfc/main.d.ts +8 -8
- package/lib/transpilers/vue-sfc/main.js +248 -248
- package/lib/transpilers/vue-sfc/script.d.ts +5 -5
- package/lib/transpilers/vue-sfc/script.js +41 -41
- package/lib/transpilers/vue-sfc/template.d.ts +8 -8
- package/lib/transpilers/vue-sfc/template.js +101 -101
- package/lib/transpilers/vue-sfc/types.d.ts +55 -55
- package/lib/transpilers/vue-sfc/types.js +2 -2
- package/lib/transpilers/vue-sfc/utils/descriptorCache.d.ts +13 -13
- package/lib/transpilers/vue-sfc/utils/descriptorCache.js +67 -67
- package/lib/transpilers/vue-sfc/utils/error.d.ts +3 -3
- package/lib/transpilers/vue-sfc/utils/error.js +22 -22
- package/lib/transpilers/vue-sfc/utils/query.d.ts +13 -13
- package/lib/transpilers/vue-sfc/utils/query.js +35 -35
- package/lib/tsnode.js +17 -17
- package/lib/tsvue.d.ts +1 -1
- package/lib/tsvue.js +39 -39
- package/lib/types/scenario-context.d.ts +16 -16
- package/lib/types/scenario-context.js +17 -17
- package/lib/types/scenario-info.d.ts +16 -16
- package/lib/types/scenario-info.js +23 -21
- package/lib/types/step-binding-flags.d.ts +53 -53
- package/lib/types/step-binding-flags.js +58 -58
- package/lib/types/step-binding.d.ts +50 -50
- package/lib/types/step-binding.js +17 -17
- package/lib/types/types.d.ts +21 -21
- package/lib/types/types.js +2 -2
- package/lib/utils/helpers.d.ts +6 -6
- package/lib/utils/helpers.js +17 -17
- package/lib/utils/logger.d.ts +3 -3
- package/lib/utils/logger.js +29 -29
- package/lib/utils/our-callsite.d.ts +27 -27
- package/lib/utils/our-callsite.js +73 -71
- package/lib/version.d.ts +1 -1
- package/lib/version.js +5 -5
- package/package.json +58 -58
|
@@ -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==
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { SFCDescriptor, SFCTemplateCompileOptions, SFCTemplateCompileResults } from 'vue/compiler-sfc';
|
|
2
|
-
import type { ResolvedOptions, VueTransformerContext } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* transform the template directly in the main SFC module
|
|
5
|
-
*/
|
|
6
|
-
export declare const transformTemplateInMain: (code: string, descriptor: SFCDescriptor, options: ResolvedOptions, transformerContext: VueTransformerContext, ssr: boolean) => SFCTemplateCompileResults;
|
|
7
|
-
export declare const compile: (code: string, descriptor: SFCDescriptor, options: ResolvedOptions, transformerContext: VueTransformerContext, ssr: boolean) => SFCTemplateCompileResults;
|
|
8
|
-
export declare const resolveTemplateCompilerOptions: (descriptor: SFCDescriptor, options: ResolvedOptions, ssr: boolean) => Omit<SFCTemplateCompileOptions, 'source'> | undefined;
|
|
1
|
+
import type { SFCDescriptor, SFCTemplateCompileOptions, SFCTemplateCompileResults } from 'vue/compiler-sfc';
|
|
2
|
+
import type { ResolvedOptions, VueTransformerContext } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* transform the template directly in the main SFC module
|
|
5
|
+
*/
|
|
6
|
+
export declare const transformTemplateInMain: (code: string, descriptor: SFCDescriptor, options: ResolvedOptions, transformerContext: VueTransformerContext, ssr: boolean) => SFCTemplateCompileResults;
|
|
7
|
+
export declare const compile: (code: string, descriptor: SFCDescriptor, options: ResolvedOptions, transformerContext: VueTransformerContext, ssr: boolean) => SFCTemplateCompileResults;
|
|
8
|
+
export declare const resolveTemplateCompilerOptions: (descriptor: SFCDescriptor, options: ResolvedOptions, ssr: boolean) => Omit<SFCTemplateCompileOptions, 'source'> | undefined;
|
|
@@ -1,102 +1,102 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveTemplateCompilerOptions = exports.compile = exports.transformTemplateInMain = void 0;
|
|
4
|
-
const script_1 = require("./script");
|
|
5
|
-
const error_1 = require("./utils/error");
|
|
6
|
-
/**
|
|
7
|
-
* transform the template directly in the main SFC module
|
|
8
|
-
*/
|
|
9
|
-
const transformTemplateInMain = (code, descriptor, options, transformerContext, ssr) => {
|
|
10
|
-
const result = (0, exports.compile)(code, descriptor, options, transformerContext, ssr);
|
|
11
|
-
return {
|
|
12
|
-
...result,
|
|
13
|
-
code: result.code.replace(/\nexport (function|const) (render|ssrRender)/, '\n$1 _sfc_$2')
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
exports.transformTemplateInMain = transformTemplateInMain;
|
|
17
|
-
const compile = (code, descriptor, options, transformerContext, ssr) => {
|
|
18
|
-
const filename = descriptor.filename;
|
|
19
|
-
const result = options.compiler.compileTemplate({
|
|
20
|
-
...(0, exports.resolveTemplateCompilerOptions)(descriptor, options, ssr),
|
|
21
|
-
source: code
|
|
22
|
-
});
|
|
23
|
-
if (result.errors.length) {
|
|
24
|
-
result.errors.forEach(error => transformerContext.error(typeof error === 'string' ? { id: filename, message: error } : (0, error_1.createRollupError)(filename, error)));
|
|
25
|
-
}
|
|
26
|
-
if (result.tips.length) {
|
|
27
|
-
result.tips.forEach(tip => transformerContext.warn({
|
|
28
|
-
id: filename,
|
|
29
|
-
message: tip
|
|
30
|
-
}));
|
|
31
|
-
}
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
exports.compile = compile;
|
|
35
|
-
const resolveTemplateCompilerOptions = (descriptor, options, ssr) => {
|
|
36
|
-
const block = descriptor.template;
|
|
37
|
-
if (!block) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const resolvedScript = (0, script_1.getResolvedScript)(descriptor, ssr);
|
|
41
|
-
const hasScoped = descriptor.styles.some(s => s.scoped);
|
|
42
|
-
const { id, filename, cssVars } = descriptor;
|
|
43
|
-
let transformAssetUrls = options.template?.transformAssetUrls;
|
|
44
|
-
// compiler-sfc should export `AssetURLOptions`
|
|
45
|
-
// build: force all asset urls into import requests so that they go through
|
|
46
|
-
// the assets plugin for asset registration
|
|
47
|
-
// eslint-disable-next-line prefer-const
|
|
48
|
-
const assetUrlOptions = {
|
|
49
|
-
includeAbsolute: true
|
|
50
|
-
};
|
|
51
|
-
if (transformAssetUrls && typeof transformAssetUrls === 'object') {
|
|
52
|
-
// presence of array fields means this is raw tags config
|
|
53
|
-
if (Object.values(transformAssetUrls).some(val => Array.isArray(val))) {
|
|
54
|
-
transformAssetUrls = {
|
|
55
|
-
...assetUrlOptions,
|
|
56
|
-
tags: transformAssetUrls
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
transformAssetUrls = { ...transformAssetUrls, ...assetUrlOptions };
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
transformAssetUrls = false;
|
|
65
|
-
}
|
|
66
|
-
let preprocessOptions = block.lang && options.template?.preprocessOptions;
|
|
67
|
-
if (block.lang === 'pug') {
|
|
68
|
-
preprocessOptions = {
|
|
69
|
-
doctype: 'html',
|
|
70
|
-
...preprocessOptions
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
// if using TS, support TS syntax in template expressions
|
|
74
|
-
const expressionPlugins = options.template?.compilerOptions?.expressionPlugins || [];
|
|
75
|
-
const lang = descriptor.scriptSetup?.lang || descriptor.script?.lang;
|
|
76
|
-
if (lang && /tsx?$/.test(lang) && !expressionPlugins.includes('typescript')) {
|
|
77
|
-
expressionPlugins.push('typescript');
|
|
78
|
-
}
|
|
79
|
-
return {
|
|
80
|
-
...options.template,
|
|
81
|
-
id,
|
|
82
|
-
filename,
|
|
83
|
-
scoped: hasScoped,
|
|
84
|
-
slotted: descriptor.slotted,
|
|
85
|
-
isProd: options.isProduction,
|
|
86
|
-
inMap: block.src ? undefined : block.map,
|
|
87
|
-
ssr,
|
|
88
|
-
ssrCssVars: cssVars,
|
|
89
|
-
transformAssetUrls: transformAssetUrls,
|
|
90
|
-
preprocessLang: block.lang,
|
|
91
|
-
preprocessOptions,
|
|
92
|
-
compilerOptions: {
|
|
93
|
-
...options.template?.compilerOptions,
|
|
94
|
-
scopeId: hasScoped ? `data-v-${id}` : undefined,
|
|
95
|
-
bindingMetadata: resolvedScript ? resolvedScript.bindings : undefined,
|
|
96
|
-
expressionPlugins,
|
|
97
|
-
sourceMap: options.sourceMap
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
|
-
exports.resolveTemplateCompilerOptions = resolveTemplateCompilerOptions;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveTemplateCompilerOptions = exports.compile = exports.transformTemplateInMain = void 0;
|
|
4
|
+
const script_1 = require("./script");
|
|
5
|
+
const error_1 = require("./utils/error");
|
|
6
|
+
/**
|
|
7
|
+
* transform the template directly in the main SFC module
|
|
8
|
+
*/
|
|
9
|
+
const transformTemplateInMain = (code, descriptor, options, transformerContext, ssr) => {
|
|
10
|
+
const result = (0, exports.compile)(code, descriptor, options, transformerContext, ssr);
|
|
11
|
+
return {
|
|
12
|
+
...result,
|
|
13
|
+
code: result.code.replace(/\nexport (function|const) (render|ssrRender)/, '\n$1 _sfc_$2')
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
exports.transformTemplateInMain = transformTemplateInMain;
|
|
17
|
+
const compile = (code, descriptor, options, transformerContext, ssr) => {
|
|
18
|
+
const filename = descriptor.filename;
|
|
19
|
+
const result = options.compiler.compileTemplate({
|
|
20
|
+
...(0, exports.resolveTemplateCompilerOptions)(descriptor, options, ssr),
|
|
21
|
+
source: code
|
|
22
|
+
});
|
|
23
|
+
if (result.errors.length) {
|
|
24
|
+
result.errors.forEach(error => transformerContext.error(typeof error === 'string' ? { id: filename, message: error } : (0, error_1.createRollupError)(filename, error)));
|
|
25
|
+
}
|
|
26
|
+
if (result.tips.length) {
|
|
27
|
+
result.tips.forEach(tip => transformerContext.warn({
|
|
28
|
+
id: filename,
|
|
29
|
+
message: tip
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
exports.compile = compile;
|
|
35
|
+
const resolveTemplateCompilerOptions = (descriptor, options, ssr) => {
|
|
36
|
+
const block = descriptor.template;
|
|
37
|
+
if (!block) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const resolvedScript = (0, script_1.getResolvedScript)(descriptor, ssr);
|
|
41
|
+
const hasScoped = descriptor.styles.some(s => s.scoped);
|
|
42
|
+
const { id, filename, cssVars } = descriptor;
|
|
43
|
+
let transformAssetUrls = options.template?.transformAssetUrls;
|
|
44
|
+
// compiler-sfc should export `AssetURLOptions`
|
|
45
|
+
// build: force all asset urls into import requests so that they go through
|
|
46
|
+
// the assets plugin for asset registration
|
|
47
|
+
// eslint-disable-next-line prefer-const
|
|
48
|
+
const assetUrlOptions = {
|
|
49
|
+
includeAbsolute: true
|
|
50
|
+
};
|
|
51
|
+
if (transformAssetUrls && typeof transformAssetUrls === 'object') {
|
|
52
|
+
// presence of array fields means this is raw tags config
|
|
53
|
+
if (Object.values(transformAssetUrls).some(val => Array.isArray(val))) {
|
|
54
|
+
transformAssetUrls = {
|
|
55
|
+
...assetUrlOptions,
|
|
56
|
+
tags: transformAssetUrls
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
transformAssetUrls = { ...transformAssetUrls, ...assetUrlOptions };
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
transformAssetUrls = false;
|
|
65
|
+
}
|
|
66
|
+
let preprocessOptions = block.lang && options.template?.preprocessOptions;
|
|
67
|
+
if (block.lang === 'pug') {
|
|
68
|
+
preprocessOptions = {
|
|
69
|
+
doctype: 'html',
|
|
70
|
+
...preprocessOptions
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
// if using TS, support TS syntax in template expressions
|
|
74
|
+
const expressionPlugins = options.template?.compilerOptions?.expressionPlugins || [];
|
|
75
|
+
const lang = descriptor.scriptSetup?.lang || descriptor.script?.lang;
|
|
76
|
+
if (lang && /tsx?$/.test(lang) && !expressionPlugins.includes('typescript')) {
|
|
77
|
+
expressionPlugins.push('typescript');
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
...options.template,
|
|
81
|
+
id,
|
|
82
|
+
filename,
|
|
83
|
+
scoped: hasScoped,
|
|
84
|
+
slotted: descriptor.slotted,
|
|
85
|
+
isProd: options.isProduction,
|
|
86
|
+
inMap: block.src ? undefined : block.map,
|
|
87
|
+
ssr,
|
|
88
|
+
ssrCssVars: cssVars,
|
|
89
|
+
transformAssetUrls: transformAssetUrls,
|
|
90
|
+
preprocessLang: block.lang,
|
|
91
|
+
preprocessOptions,
|
|
92
|
+
compilerOptions: {
|
|
93
|
+
...options.template?.compilerOptions,
|
|
94
|
+
scopeId: hasScoped ? `data-v-${id}` : undefined,
|
|
95
|
+
bindingMetadata: resolvedScript ? resolvedScript.bindings : undefined,
|
|
96
|
+
expressionPlugins,
|
|
97
|
+
sourceMap: options.sourceMap
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
exports.resolveTemplateCompilerOptions = resolveTemplateCompilerOptions;
|
|
102
102
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwaWxlcnMvdnVlLXNmYy90ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSxxQ0FBNkM7QUFDN0MseUNBQWtEO0FBRWxEOztHQUVHO0FBQ0ksTUFBTSx1QkFBdUIsR0FBRyxDQUN0QyxJQUFZLEVBQ1osVUFBeUIsRUFDekIsT0FBd0IsRUFDeEIsa0JBQXlDLEVBQ3pDLEdBQVksRUFDZ0IsRUFBRTtJQUM5QixNQUFNLE1BQU0sR0FBRyxJQUFBLGVBQU8sRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRSxPQUFPO1FBQ04sR0FBRyxNQUFNO1FBQ1QsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLDhDQUE4QyxFQUFFLGNBQWMsQ0FBQztLQUN6RixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBWlcsUUFBQSx1QkFBdUIsMkJBWWxDO0FBRUssTUFBTSxPQUFPLEdBQUcsQ0FDdEIsSUFBWSxFQUNaLFVBQXlCLEVBQ3pCLE9BQXdCLEVBQ3hCLGtCQUF5QyxFQUN6QyxHQUFZLEVBQ1gsRUFBRTtJQUNILE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDckMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFDL0MsR0FBRyxJQUFBLHNDQUE4QixFQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFFO1FBQzVELE1BQU0sRUFBRSxJQUFJO0tBQ1osQ0FBQyxDQUFDO0lBRUgsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUN6QixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUM3QixrQkFBa0IsQ0FBQyxLQUFLLENBQ3ZCLE9BQU8sS0FB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
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { SFCScriptCompileOptions, SFCStyleCompileOptions, SFCTemplateCompileOptions } from 'vue/compiler-sfc';
|
|
2
|
-
import type { RollupError, RollupWarning } from 'rollup';
|
|
3
|
-
import type * as _compiler from 'vue/compiler-sfc';
|
|
4
|
-
export interface Options {
|
|
5
|
-
include?: string | RegExp | (string | RegExp)[];
|
|
6
|
-
exclude?: string | RegExp | (string | RegExp)[];
|
|
7
|
-
isProduction?: boolean;
|
|
8
|
-
script?: Partial<SFCScriptCompileOptions>;
|
|
9
|
-
template?: Partial<Pick<SFCTemplateCompileOptions, 'compiler' | 'compilerOptions' | 'preprocessOptions' | 'preprocessCustomRequire' | 'transformAssetUrls'>>;
|
|
10
|
-
style?: Partial<SFCStyleCompileOptions>;
|
|
11
|
-
/**
|
|
12
|
-
* Transform Vue SFCs into custom elements.
|
|
13
|
-
* - `true`: all `*.vue` imports are converted into custom elements
|
|
14
|
-
* - `string | RegExp`: matched files are converted into custom elements
|
|
15
|
-
*
|
|
16
|
-
* @default /\.ce\.vue$/
|
|
17
|
-
*/
|
|
18
|
-
customElement?: boolean | string | RegExp | (string | RegExp)[];
|
|
19
|
-
/**
|
|
20
|
-
* Enable Vue reactivity transform (experimental).
|
|
21
|
-
* https://github.com/vuejs/core/tree/master/packages/reactivity-transform
|
|
22
|
-
* - `true`: transform will be enabled for all vue,js(x),ts(x) files except
|
|
23
|
-
* those inside node_modules
|
|
24
|
-
* - `string | RegExp`: apply to vue + only matched files (will include
|
|
25
|
-
* node_modules, so specify directories in necessary)
|
|
26
|
-
* - `false`: disable in all cases
|
|
27
|
-
*
|
|
28
|
-
* @default false
|
|
29
|
-
*/
|
|
30
|
-
reactivityTransform?: boolean | string | RegExp | (string | RegExp)[];
|
|
31
|
-
/**
|
|
32
|
-
* Use custom compiler-sfc instance. Can be used to force a specific version.
|
|
33
|
-
*/
|
|
34
|
-
compiler?: typeof _compiler;
|
|
35
|
-
}
|
|
36
|
-
export interface ResolvedOptions extends Options {
|
|
37
|
-
compiler: typeof _compiler;
|
|
38
|
-
root: string;
|
|
39
|
-
sourceMap: boolean;
|
|
40
|
-
}
|
|
41
|
-
export interface VueResolvedId {
|
|
42
|
-
external: boolean | 'absolute';
|
|
43
|
-
id: string;
|
|
44
|
-
}
|
|
45
|
-
export interface VueTransformerContext {
|
|
46
|
-
error: (err: RollupError | string, pos?: number | {
|
|
47
|
-
column: number;
|
|
48
|
-
line: number;
|
|
49
|
-
}) => void;
|
|
50
|
-
resolve: (id: string) => VueResolvedId | null;
|
|
51
|
-
warn: (warning: RollupWarning | string, pos?: number | {
|
|
52
|
-
column: number;
|
|
53
|
-
line: number;
|
|
54
|
-
}) => void;
|
|
55
|
-
}
|
|
1
|
+
import { SFCScriptCompileOptions, SFCStyleCompileOptions, SFCTemplateCompileOptions } from 'vue/compiler-sfc';
|
|
2
|
+
import type { RollupError, RollupWarning } from 'rollup';
|
|
3
|
+
import type * as _compiler from 'vue/compiler-sfc';
|
|
4
|
+
export interface Options {
|
|
5
|
+
include?: string | RegExp | (string | RegExp)[];
|
|
6
|
+
exclude?: string | RegExp | (string | RegExp)[];
|
|
7
|
+
isProduction?: boolean;
|
|
8
|
+
script?: Partial<SFCScriptCompileOptions>;
|
|
9
|
+
template?: Partial<Pick<SFCTemplateCompileOptions, 'compiler' | 'compilerOptions' | 'preprocessOptions' | 'preprocessCustomRequire' | 'transformAssetUrls'>>;
|
|
10
|
+
style?: Partial<SFCStyleCompileOptions>;
|
|
11
|
+
/**
|
|
12
|
+
* Transform Vue SFCs into custom elements.
|
|
13
|
+
* - `true`: all `*.vue` imports are converted into custom elements
|
|
14
|
+
* - `string | RegExp`: matched files are converted into custom elements
|
|
15
|
+
*
|
|
16
|
+
* @default /\.ce\.vue$/
|
|
17
|
+
*/
|
|
18
|
+
customElement?: boolean | string | RegExp | (string | RegExp)[];
|
|
19
|
+
/**
|
|
20
|
+
* Enable Vue reactivity transform (experimental).
|
|
21
|
+
* https://github.com/vuejs/core/tree/master/packages/reactivity-transform
|
|
22
|
+
* - `true`: transform will be enabled for all vue,js(x),ts(x) files except
|
|
23
|
+
* those inside node_modules
|
|
24
|
+
* - `string | RegExp`: apply to vue + only matched files (will include
|
|
25
|
+
* node_modules, so specify directories in necessary)
|
|
26
|
+
* - `false`: disable in all cases
|
|
27
|
+
*
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
30
|
+
reactivityTransform?: boolean | string | RegExp | (string | RegExp)[];
|
|
31
|
+
/**
|
|
32
|
+
* Use custom compiler-sfc instance. Can be used to force a specific version.
|
|
33
|
+
*/
|
|
34
|
+
compiler?: typeof _compiler;
|
|
35
|
+
}
|
|
36
|
+
export interface ResolvedOptions extends Options {
|
|
37
|
+
compiler: typeof _compiler;
|
|
38
|
+
root: string;
|
|
39
|
+
sourceMap: boolean;
|
|
40
|
+
}
|
|
41
|
+
export interface VueResolvedId {
|
|
42
|
+
external: boolean | 'absolute';
|
|
43
|
+
id: string;
|
|
44
|
+
}
|
|
45
|
+
export interface VueTransformerContext {
|
|
46
|
+
error: (err: RollupError | string, pos?: number | {
|
|
47
|
+
column: number;
|
|
48
|
+
line: number;
|
|
49
|
+
}) => void;
|
|
50
|
+
resolve: (id: string) => VueResolvedId | null;
|
|
51
|
+
warn: (warning: RollupWarning | string, pos?: number | {
|
|
52
|
+
column: number;
|
|
53
|
+
line: number;
|
|
54
|
+
}) => void;
|
|
55
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwaWxlcnMvdnVlLXNmYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { CompilerError, SFCDescriptor } from 'vue/compiler-sfc';
|
|
2
|
-
import type { VueQuery } from './query';
|
|
3
|
-
import type { ResolvedOptions } from '../types';
|
|
4
|
-
export interface SFCParseResult {
|
|
5
|
-
descriptor: SFCDescriptor;
|
|
6
|
-
errors: Array<CompilerError | SyntaxError>;
|
|
7
|
-
}
|
|
8
|
-
export declare const createDescriptor: (filename: string, source: string, { root, isProduction, sourceMap, compiler }: ResolvedOptions) => SFCParseResult;
|
|
9
|
-
export declare const getPrevDescriptor: (filename: string) => SFCDescriptor | undefined;
|
|
10
|
-
export declare const setPrevDescriptor: (filename: string, entry: SFCDescriptor) => void;
|
|
11
|
-
export declare const getDescriptor: (source: string, filename: string, options: ResolvedOptions, createIfNotFound?: boolean) => SFCDescriptor | undefined;
|
|
12
|
-
export declare const getSrcDescriptor: (filename: string, query: VueQuery) => SFCDescriptor;
|
|
13
|
-
export declare const setSrcDescriptor: (filename: string, entry: SFCDescriptor) => void;
|
|
1
|
+
import type { CompilerError, SFCDescriptor } from 'vue/compiler-sfc';
|
|
2
|
+
import type { VueQuery } from './query';
|
|
3
|
+
import type { ResolvedOptions } from '../types';
|
|
4
|
+
export interface SFCParseResult {
|
|
5
|
+
descriptor: SFCDescriptor;
|
|
6
|
+
errors: Array<CompilerError | SyntaxError>;
|
|
7
|
+
}
|
|
8
|
+
export declare const createDescriptor: (filename: string, source: string, { root, isProduction, sourceMap, compiler }: ResolvedOptions) => SFCParseResult;
|
|
9
|
+
export declare const getPrevDescriptor: (filename: string) => SFCDescriptor | undefined;
|
|
10
|
+
export declare const setPrevDescriptor: (filename: string, entry: SFCDescriptor) => void;
|
|
11
|
+
export declare const getDescriptor: (source: string, filename: string, options: ResolvedOptions, createIfNotFound?: boolean) => SFCDescriptor | undefined;
|
|
12
|
+
export declare const getSrcDescriptor: (filename: string, query: VueQuery) => SFCDescriptor;
|
|
13
|
+
export declare const setSrcDescriptor: (filename: string, entry: SFCDescriptor) => void;
|
|
@@ -1,68 +1,68 @@
|
|
|
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.setSrcDescriptor = exports.getSrcDescriptor = exports.getDescriptor = exports.setPrevDescriptor = exports.getPrevDescriptor = exports.createDescriptor = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const hash_sum_1 = __importDefault(require("hash-sum"));
|
|
9
|
-
const cache = new Map();
|
|
10
|
-
const prevCache = new Map();
|
|
11
|
-
/**
|
|
12
|
-
* code copied from slash npm package to resolve issue with latest
|
|
13
|
-
* version being esm only
|
|
14
|
-
*/
|
|
15
|
-
const slash = (path) => {
|
|
16
|
-
const isExtendedLengthPath = /^\\\\\?\\/.test(path);
|
|
17
|
-
const hasNonAscii = /[^\u0000-\u0080]+/.test(path); // eslint-disable-line no-control-regex
|
|
18
|
-
if (isExtendedLengthPath || hasNonAscii) {
|
|
19
|
-
return path;
|
|
20
|
-
}
|
|
21
|
-
return path.replace(/\\/g, '/');
|
|
22
|
-
};
|
|
23
|
-
const createDescriptor = (filename, source, { root, isProduction, sourceMap, compiler }) => {
|
|
24
|
-
const { descriptor, errors } = compiler.parse(source, {
|
|
25
|
-
filename,
|
|
26
|
-
sourceMap
|
|
27
|
-
});
|
|
28
|
-
// ensure the path is normalized in a way that is consistent inside
|
|
29
|
-
// project (relative to root) and on different systems.
|
|
30
|
-
const normalizedPath = slash(path_1.default.normalize(path_1.default.relative(root, filename)));
|
|
31
|
-
descriptor.id = (0, hash_sum_1.default)(normalizedPath + (isProduction ? source : ''));
|
|
32
|
-
cache.set(filename, descriptor);
|
|
33
|
-
return { descriptor, errors };
|
|
34
|
-
};
|
|
35
|
-
exports.createDescriptor = createDescriptor;
|
|
36
|
-
const getPrevDescriptor = (filename) => {
|
|
37
|
-
return prevCache.get(filename);
|
|
38
|
-
};
|
|
39
|
-
exports.getPrevDescriptor = getPrevDescriptor;
|
|
40
|
-
const setPrevDescriptor = (filename, entry) => {
|
|
41
|
-
prevCache.set(filename, entry);
|
|
42
|
-
};
|
|
43
|
-
exports.setPrevDescriptor = setPrevDescriptor;
|
|
44
|
-
const getDescriptor = (source, filename, options, createIfNotFound = true) => {
|
|
45
|
-
if (cache.has(filename)) {
|
|
46
|
-
return cache.get(filename);
|
|
47
|
-
}
|
|
48
|
-
if (createIfNotFound) {
|
|
49
|
-
const { descriptor, errors } = (0, exports.createDescriptor)(filename, source, options);
|
|
50
|
-
if (errors.length) {
|
|
51
|
-
throw errors[0];
|
|
52
|
-
}
|
|
53
|
-
return descriptor;
|
|
54
|
-
}
|
|
55
|
-
return undefined;
|
|
56
|
-
};
|
|
57
|
-
exports.getDescriptor = getDescriptor;
|
|
58
|
-
const getSrcDescriptor = (filename, query) => {
|
|
59
|
-
return cache.get(`${filename}?src=${query.src}`);
|
|
60
|
-
};
|
|
61
|
-
exports.getSrcDescriptor = getSrcDescriptor;
|
|
62
|
-
const setSrcDescriptor = (filename, entry) => {
|
|
63
|
-
// if multiple Vue files use the same src file, they will be overwritten
|
|
64
|
-
// should use other key
|
|
65
|
-
cache.set(`${filename}?src=${entry.id}`, entry);
|
|
66
|
-
};
|
|
67
|
-
exports.setSrcDescriptor = setSrcDescriptor;
|
|
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.setSrcDescriptor = exports.getSrcDescriptor = exports.getDescriptor = exports.setPrevDescriptor = exports.getPrevDescriptor = exports.createDescriptor = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const hash_sum_1 = __importDefault(require("hash-sum"));
|
|
9
|
+
const cache = new Map();
|
|
10
|
+
const prevCache = new Map();
|
|
11
|
+
/**
|
|
12
|
+
* code copied from slash npm package to resolve issue with latest
|
|
13
|
+
* version being esm only
|
|
14
|
+
*/
|
|
15
|
+
const slash = (path) => {
|
|
16
|
+
const isExtendedLengthPath = /^\\\\\?\\/.test(path);
|
|
17
|
+
const hasNonAscii = /[^\u0000-\u0080]+/.test(path); // eslint-disable-line no-control-regex
|
|
18
|
+
if (isExtendedLengthPath || hasNonAscii) {
|
|
19
|
+
return path;
|
|
20
|
+
}
|
|
21
|
+
return path.replace(/\\/g, '/');
|
|
22
|
+
};
|
|
23
|
+
const createDescriptor = (filename, source, { root, isProduction, sourceMap, compiler }) => {
|
|
24
|
+
const { descriptor, errors } = compiler.parse(source, {
|
|
25
|
+
filename,
|
|
26
|
+
sourceMap
|
|
27
|
+
});
|
|
28
|
+
// ensure the path is normalized in a way that is consistent inside
|
|
29
|
+
// project (relative to root) and on different systems.
|
|
30
|
+
const normalizedPath = slash(path_1.default.normalize(path_1.default.relative(root, filename)));
|
|
31
|
+
descriptor.id = (0, hash_sum_1.default)(normalizedPath + (isProduction ? source : ''));
|
|
32
|
+
cache.set(filename, descriptor);
|
|
33
|
+
return { descriptor, errors };
|
|
34
|
+
};
|
|
35
|
+
exports.createDescriptor = createDescriptor;
|
|
36
|
+
const getPrevDescriptor = (filename) => {
|
|
37
|
+
return prevCache.get(filename);
|
|
38
|
+
};
|
|
39
|
+
exports.getPrevDescriptor = getPrevDescriptor;
|
|
40
|
+
const setPrevDescriptor = (filename, entry) => {
|
|
41
|
+
prevCache.set(filename, entry);
|
|
42
|
+
};
|
|
43
|
+
exports.setPrevDescriptor = setPrevDescriptor;
|
|
44
|
+
const getDescriptor = (source, filename, options, createIfNotFound = true) => {
|
|
45
|
+
if (cache.has(filename)) {
|
|
46
|
+
return cache.get(filename);
|
|
47
|
+
}
|
|
48
|
+
if (createIfNotFound) {
|
|
49
|
+
const { descriptor, errors } = (0, exports.createDescriptor)(filename, source, options);
|
|
50
|
+
if (errors.length) {
|
|
51
|
+
throw errors[0];
|
|
52
|
+
}
|
|
53
|
+
return descriptor;
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
};
|
|
57
|
+
exports.getDescriptor = getDescriptor;
|
|
58
|
+
const getSrcDescriptor = (filename, query) => {
|
|
59
|
+
return cache.get(`${filename}?src=${query.src}`);
|
|
60
|
+
};
|
|
61
|
+
exports.getSrcDescriptor = getSrcDescriptor;
|
|
62
|
+
const setSrcDescriptor = (filename, entry) => {
|
|
63
|
+
// if multiple Vue files use the same src file, they will be overwritten
|
|
64
|
+
// should use other key
|
|
65
|
+
cache.set(`${filename}?src=${entry.id}`, entry);
|
|
66
|
+
};
|
|
67
|
+
exports.setSrcDescriptor = setSrcDescriptor;
|
|
68
68
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvckNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zcGlsZXJzL3Z1ZS1zZmMvdXRpbHMvZGVzY3JpcHRvckNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUF3QjtBQUN4Qix3REFBNEI7QUFXNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7QUFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7QUFFL0Q7OztHQUdHO0FBQ0gsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRTtJQUN0QyxNQUFNLG9CQUFvQixHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsTUFBTSxXQUFXLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsdUNBQXVDO0lBRTNGLElBQUksb0JBQW9CLElBQUksV0FBVyxFQUFFO1FBQ3hDLE9BQU8sSUFBSSxDQUFDO0tBQ1o7SUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQztBQUVLLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDL0IsUUFBZ0IsRUFDaEIsTUFBYyxFQUNkLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFtQixFQUMzQyxFQUFFO0lBQ25CLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDckQsUUFBUTtRQUNSLFNBQVM7S0FDVCxDQUFDLENBQUM7SUFFSCxtRUFBbUU7SUFDbkUsdURBQXVEO0lBQ3ZELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLGNBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RSxVQUFVLENBQUMsRUFBRSxHQUFHLElBQUEsa0JBQUksRUFBQyxjQUFjLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVwRSxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNoQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQWpCVyxRQUFBLGdCQUFnQixvQkFpQjNCO0FBRUssTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFFBQWdCLEVBQTZCLEVBQUU7SUFDaEYsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQztBQUZXLFFBQUEsaUJBQWlCLHFCQUU1QjtBQUVLLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEtBQW9CLEVBQVEsRUFBRTtJQUNqRixTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUM7QUFGVyxRQUFBLGlCQUFpQixxQkFFNUI7QUFFSyxNQUFNLGFBQWEsR0FBRyxDQUM1QixNQUFjLEVBQ2QsUUFBZ0IsRUFDaEIsT0FBd0IsRUFDeEIsZ0JBQWdCLEdBQUcsSUFBSSxFQUNLLEVBQUU7SUFDOUIsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3hCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUUsQ0FBQztLQUM1QjtJQUNELElBQUksZ0JBQWdCLEVBQUU7UUFDckIsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFBLHdCQUFnQixFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0UsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2xCLE1BQU0sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxVQUFVLENBQUM7S0FDbEI7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFqQlcsUUFBQSxhQUFhLGlCQWlCeEI7QUFFSyxNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBZ0IsRUFBRSxLQUFlLEVBQWlCLEVBQUU7SUFDcEYsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxRQUFRLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBRSxDQUFDO0FBQ25ELENBQUMsQ0FBQztBQUZXLFFBQUEsZ0JBQWdCLG9CQUUzQjtBQUVLLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEtBQW9CLEVBQVEsRUFBRTtJQUNoRix3RUFBd0U7SUFDeEUsdUJBQXVCO0lBQ3ZCLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLFFBQVEsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQztBQUpXLFFBQUEsZ0JBQWdCLG9CQUkzQiJ9
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { CompilerError } from 'vue/compiler-sfc';
|
|
2
|
-
import type { RollupError } from 'rollup';
|
|
3
|
-
export declare const createRollupError: (id: string, error: CompilerError | SyntaxError) => RollupError;
|
|
1
|
+
import type { CompilerError } from 'vue/compiler-sfc';
|
|
2
|
+
import type { RollupError } from 'rollup';
|
|
3
|
+
export declare const createRollupError: (id: string, error: CompilerError | SyntaxError) => RollupError;
|