@vue/language-core 3.1.8 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +1 -1
- package/index.js +25 -3
- package/lib/codegen/codeFeatures.d.ts +18 -84
- package/lib/codegen/names.d.ts +2 -5
- package/lib/codegen/names.js +3 -6
- package/lib/codegen/script/component.js +37 -4
- package/lib/codegen/script/index.d.ts +4 -12
- package/lib/codegen/script/index.js +77 -22
- package/lib/codegen/script/scriptSetup.js +52 -14
- package/lib/codegen/script/template.js +71 -34
- package/lib/codegen/style/index.d.ts +9 -9
- package/lib/codegen/style/modules.js +34 -1
- package/lib/codegen/template/context.d.ts +7 -7
- package/lib/codegen/template/context.js +34 -1
- package/lib/codegen/template/element.js +48 -7
- package/lib/codegen/template/elementDirectives.js +36 -3
- package/lib/codegen/template/elementEvents.js +36 -3
- package/lib/codegen/template/elementProps.js +35 -2
- package/lib/codegen/template/index.d.ts +10 -10
- package/lib/codegen/template/index.js +34 -1
- package/lib/codegen/template/interpolation.d.ts +4 -3
- package/lib/codegen/template/interpolation.js +37 -4
- package/lib/codegen/template/slotOutlet.js +35 -2
- package/lib/codegen/template/templateChild.js +34 -1
- package/lib/codegen/template/vFor.js +37 -4
- package/lib/codegen/template/vIf.js +34 -1
- package/lib/codegen/template/vSlot.js +38 -5
- package/lib/compilerOptions.d.ts +7 -11
- package/lib/compilerOptions.js +48 -89
- package/lib/languagePlugin.js +34 -1
- package/lib/parsers/scriptRanges.d.ts +26 -16
- package/lib/parsers/scriptRanges.js +66 -64
- package/lib/parsers/scriptSetupRanges.d.ts +19 -24
- package/lib/parsers/scriptSetupRanges.js +13 -15
- package/lib/parsers/utils.d.ts +3 -6
- package/lib/parsers/utils.js +1 -0
- package/lib/plugins/vue-template-inline-css.js +34 -1
- package/lib/plugins/vue-template-inline-ts.js +34 -1
- package/lib/plugins/vue-tsx.d.ts +36 -114
- package/lib/plugins/vue-tsx.js +62 -33
- package/lib/plugins.js +17 -14
- package/lib/types.d.ts +8 -8
- package/lib/utils/collectBindings.d.ts +1 -1
- package/lib/utils/forEachTemplateNode.js +34 -1
- package/lib/utils/parseSfc.js +34 -1
- package/lib/utils/shared.d.ts +1 -1
- package/lib/utils/shared.js +2 -1
- package/lib/virtualCode/embeddedCodes.js +6 -2
- package/lib/virtualCode/index.js +10 -1
- package/lib/virtualCode/ir.js +34 -1
- package/lib/virtualCode/normalize.js +37 -2
- package/package.json +4 -12
- package/types/props-fallback.d.ts +5 -0
- package/types/template-helpers.d.ts +146 -0
- package/types/vue-3.4-shims.d.ts +6 -0
- package/lib/codegen/globalTypes.d.ts +0 -3
- package/lib/codegen/globalTypes.js +0 -163
- package/lib/codegen/script/src.d.ts +0 -3
- package/lib/codegen/script/src.js +0 -43
- package/lib/codegen/style/classProperty.d.ts +0 -2
- package/lib/codegen/style/classProperty.js +0 -18
- package/lib/codegen/style/imports.d.ts +0 -2
- package/lib/codegen/style/imports.js +0 -27
- package/lib/codegen/template/elementChildren.d.ts +0 -5
- package/lib/codegen/template/elementChildren.js +0 -12
- package/lib/codegen/utils/wrapWith.d.ts +0 -2
- package/lib/codegen/utils/wrapWith.js +0 -15
- package/lib/virtualFile/computedEmbeddedCodes.d.ts +0 -4
- package/lib/virtualFile/computedEmbeddedCodes.js +0 -262
- package/lib/virtualFile/computedSfc.d.ts +0 -6
- package/lib/virtualFile/computedSfc.js +0 -340
- package/lib/virtualFile/computedVueSfc.d.ts +0 -4
- package/lib/virtualFile/computedVueSfc.js +0 -41
- package/lib/virtualFile/embeddedFile.d.ts +0 -11
- package/lib/virtualFile/embeddedFile.js +0 -14
- package/lib/virtualFile/vueFile.d.ts +0 -24
- package/lib/virtualFile/vueFile.js +0 -49
|
@@ -1,24 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.generateTemplate = generateTemplate;
|
|
4
37
|
const codeFeatures_1 = require("../codeFeatures");
|
|
5
|
-
const names = require("../names");
|
|
38
|
+
const names = __importStar(require("../names"));
|
|
6
39
|
const utils_1 = require("../utils");
|
|
7
40
|
const merge_1 = require("../utils/merge");
|
|
8
|
-
const src_1 = require("./src");
|
|
9
41
|
function* generateTemplate(options, ctx, selfType) {
|
|
10
42
|
yield* generateSetupExposed(options, ctx);
|
|
11
43
|
yield* generateTemplateCtx(options, ctx, selfType);
|
|
12
|
-
yield* generateTemplateComponents(options);
|
|
13
|
-
yield* generateTemplateDirectives(options);
|
|
14
|
-
if (options.
|
|
15
|
-
yield* options.
|
|
16
|
-
}
|
|
17
|
-
if (options.templateCodegen) {
|
|
18
|
-
yield* options.templateCodegen.codes;
|
|
44
|
+
yield* generateTemplateComponents(options, ctx);
|
|
45
|
+
yield* generateTemplateDirectives(options, ctx);
|
|
46
|
+
if (options.templateAndStyleCodes.length) {
|
|
47
|
+
yield* options.templateAndStyleCodes;
|
|
19
48
|
}
|
|
20
49
|
}
|
|
21
|
-
function* generateTemplateCtx({ vueCompilerOptions,
|
|
50
|
+
function* generateTemplateCtx({ vueCompilerOptions, templateAndStyleTypes, scriptSetupRanges, fileName }, ctx, selfType) {
|
|
22
51
|
const exps = [];
|
|
23
52
|
const emitTypes = [];
|
|
24
53
|
const propTypes = [];
|
|
@@ -28,13 +57,10 @@ function* generateTemplateCtx({ vueCompilerOptions, script, styleCodegen, script
|
|
|
28
57
|
if (selfType) {
|
|
29
58
|
exps.push([`{} as InstanceType<__VLS_PickNotAny<typeof ${selfType}, new () => {}>>`]);
|
|
30
59
|
}
|
|
31
|
-
else if (typeof script?.src === 'object') {
|
|
32
|
-
exps.push([`{} as typeof import('${(0, src_1.resolveSrcPath)(script.src.text)}').default`]);
|
|
33
|
-
}
|
|
34
60
|
else {
|
|
35
61
|
exps.push([`{} as import('${vueCompilerOptions.lib}').ComponentPublicInstance`]);
|
|
36
62
|
}
|
|
37
|
-
if (
|
|
63
|
+
if (templateAndStyleTypes.has(names.StyleModules)) {
|
|
38
64
|
exps.push([`{} as ${names.StyleModules}`]);
|
|
39
65
|
}
|
|
40
66
|
if (scriptSetupRanges?.defineEmits) {
|
|
@@ -58,9 +84,8 @@ function* generateTemplateCtx({ vueCompilerOptions, script, styleCodegen, script
|
|
|
58
84
|
propTypes.push(names.EmitProps);
|
|
59
85
|
}
|
|
60
86
|
if (propTypes.length) {
|
|
61
|
-
|
|
62
|
-
exps.push([`{} as
|
|
63
|
-
exps.push([`{} as ${names.InternalProps}`]);
|
|
87
|
+
exps.push([`{} as { $props: ${propTypes.join(` & `)} }`]);
|
|
88
|
+
exps.push([`{} as ${propTypes.join(` & `)}`]);
|
|
64
89
|
}
|
|
65
90
|
if (ctx.generatedTypes.has(names.SetupExposed)) {
|
|
66
91
|
exps.push([`{} as ${names.SetupExposed}`]);
|
|
@@ -69,37 +94,49 @@ function* generateTemplateCtx({ vueCompilerOptions, script, styleCodegen, script
|
|
|
69
94
|
yield* (0, merge_1.generateSpreadMerge)(exps);
|
|
70
95
|
yield utils_1.endOfLine;
|
|
71
96
|
}
|
|
72
|
-
function* generateTemplateComponents(
|
|
73
|
-
const types = [
|
|
74
|
-
if (
|
|
75
|
-
|
|
97
|
+
function* generateTemplateComponents({ vueCompilerOptions, script, scriptRanges }, ctx) {
|
|
98
|
+
const types = [];
|
|
99
|
+
if (ctx.generatedTypes.has(names.SetupExposed)) {
|
|
100
|
+
types.push(names.SetupExposed);
|
|
101
|
+
}
|
|
102
|
+
if (script && scriptRanges?.exportDefault?.options?.components) {
|
|
103
|
+
const { components } = scriptRanges.exportDefault.options;
|
|
76
104
|
yield `const __VLS_componentsOption = `;
|
|
77
|
-
yield* (0, utils_1.generateSfcBlockSection)(
|
|
105
|
+
yield* (0, utils_1.generateSfcBlockSection)(script, components.start, components.end, codeFeatures_1.codeFeatures.navigation);
|
|
78
106
|
yield utils_1.endOfLine;
|
|
79
107
|
types.push(`typeof __VLS_componentsOption`);
|
|
80
108
|
}
|
|
81
|
-
yield `type __VLS_LocalComponents = ${types.join(` & `)}${utils_1.endOfLine}`;
|
|
109
|
+
yield `type __VLS_LocalComponents = ${types.length ? types.join(` & `) : `{}`}${utils_1.endOfLine}`;
|
|
110
|
+
yield `type __VLS_GlobalComponents = ${vueCompilerOptions.target >= 3.5
|
|
111
|
+
? `import('${vueCompilerOptions.lib}').GlobalComponents`
|
|
112
|
+
: `import('${vueCompilerOptions.lib}').GlobalComponents & Pick<typeof import('${vueCompilerOptions.lib}'), 'Transition' | 'TransitionGroup' | 'KeepAlive' | 'Suspense' | 'Teleport'>`}${utils_1.endOfLine}`;
|
|
82
113
|
yield `let ${names.components}!: __VLS_LocalComponents & __VLS_GlobalComponents${utils_1.endOfLine}`;
|
|
114
|
+
yield `let ${names.intrinsics}!: ${vueCompilerOptions.target >= 3.3
|
|
115
|
+
? `import('${vueCompilerOptions.lib}/jsx-runtime').JSX.IntrinsicElements`
|
|
116
|
+
: `globalThis.JSX.IntrinsicElements`}${utils_1.endOfLine}`;
|
|
83
117
|
}
|
|
84
|
-
function* generateTemplateDirectives(
|
|
85
|
-
const types = [
|
|
86
|
-
if (
|
|
87
|
-
|
|
118
|
+
function* generateTemplateDirectives({ vueCompilerOptions, script, scriptRanges }, ctx) {
|
|
119
|
+
const types = [];
|
|
120
|
+
if (ctx.generatedTypes.has(names.SetupExposed)) {
|
|
121
|
+
types.push(names.SetupExposed);
|
|
122
|
+
}
|
|
123
|
+
if (script && scriptRanges?.exportDefault?.options?.directives) {
|
|
124
|
+
const { directives } = scriptRanges.exportDefault.options;
|
|
88
125
|
yield `const __VLS_directivesOption = `;
|
|
89
|
-
yield* (0, utils_1.generateSfcBlockSection)(
|
|
126
|
+
yield* (0, utils_1.generateSfcBlockSection)(script, directives.start, directives.end, codeFeatures_1.codeFeatures.navigation);
|
|
90
127
|
yield utils_1.endOfLine;
|
|
91
128
|
types.push(`__VLS_ResolveDirectives<typeof __VLS_directivesOption>`);
|
|
92
129
|
}
|
|
93
|
-
yield `type __VLS_LocalDirectives = ${types.join(` & `)}${utils_1.endOfLine}`;
|
|
94
|
-
yield `let ${names.directives}!: __VLS_LocalDirectives &
|
|
130
|
+
yield `type __VLS_LocalDirectives = ${types.length ? types.join(` & `) : `{}`}${utils_1.endOfLine}`;
|
|
131
|
+
yield `let ${names.directives}!: __VLS_LocalDirectives & import('${vueCompilerOptions.lib}').GlobalDirectives${utils_1.endOfLine}`;
|
|
95
132
|
}
|
|
96
|
-
function* generateSetupExposed({
|
|
97
|
-
if (!
|
|
133
|
+
function* generateSetupExposed({ vueCompilerOptions, exposed }, ctx) {
|
|
134
|
+
if (!exposed.size) {
|
|
98
135
|
return;
|
|
99
136
|
}
|
|
100
137
|
ctx.generatedTypes.add(names.SetupExposed);
|
|
101
|
-
yield `type ${names.SetupExposed} =
|
|
102
|
-
for (const bindingName of
|
|
138
|
+
yield `type ${names.SetupExposed} = import('${vueCompilerOptions.lib}').ShallowUnwrapRef<{${utils_1.newLine}`;
|
|
139
|
+
for (const bindingName of exposed) {
|
|
103
140
|
const token = Symbol(bindingName.length);
|
|
104
141
|
yield ['', undefined, 0, { __linkedToken: token }];
|
|
105
142
|
yield `${bindingName}: typeof `;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Code, Sfc, VueCompilerOptions } from '../../types';
|
|
2
2
|
export interface StyleCodegenOptions {
|
|
3
|
-
|
|
3
|
+
typescript: typeof import('typescript');
|
|
4
4
|
vueCompilerOptions: VueCompilerOptions;
|
|
5
5
|
styles: Sfc['styles'];
|
|
6
6
|
setupRefs: Set<string>;
|
|
@@ -8,24 +8,23 @@ export interface StyleCodegenOptions {
|
|
|
8
8
|
}
|
|
9
9
|
export { generate as generateStyle };
|
|
10
10
|
declare function generate(options: StyleCodegenOptions): {
|
|
11
|
-
codes: Code[];
|
|
12
11
|
generatedTypes: Set<string>;
|
|
13
12
|
currentInfo: {
|
|
14
|
-
ignoreError?: boolean;
|
|
13
|
+
ignoreError?: boolean | undefined;
|
|
15
14
|
expectError?: {
|
|
16
15
|
token: number;
|
|
17
16
|
node: import("@vue/compiler-dom").CommentNode;
|
|
18
|
-
};
|
|
17
|
+
} | undefined;
|
|
19
18
|
generic?: {
|
|
20
19
|
content: string;
|
|
21
20
|
offset: number;
|
|
22
|
-
};
|
|
21
|
+
} | undefined;
|
|
23
22
|
};
|
|
24
23
|
resolveCodeFeatures: (features: import("../../types").VueCodeInformation) => import("../../types").VueCodeInformation;
|
|
25
24
|
inVFor: boolean;
|
|
26
25
|
slots: {
|
|
27
26
|
name: string;
|
|
28
|
-
offset?: number;
|
|
27
|
+
offset?: number | undefined;
|
|
29
28
|
tagRange: [number, number];
|
|
30
29
|
nodeLoc: any;
|
|
31
30
|
propsVar: string;
|
|
@@ -46,7 +45,7 @@ declare function generate(options: StyleCodegenOptions): {
|
|
|
46
45
|
singleRootElTypes: Set<string>;
|
|
47
46
|
singleRootNodes: Set<import("@vue/compiler-dom").ElementNode | null>;
|
|
48
47
|
addTemplateRef(name: string, typeExp: string, offset: number): void;
|
|
49
|
-
recordComponentAccess(source: string, name: string, offset?: number): void;
|
|
48
|
+
recordComponentAccess(source: string, name: string, offset?: number | undefined): void;
|
|
50
49
|
scopes: Set<string>[];
|
|
51
50
|
components: (() => string)[];
|
|
52
51
|
declare(...varNames: string[]): void;
|
|
@@ -55,6 +54,7 @@ declare function generate(options: StyleCodegenOptions): {
|
|
|
55
54
|
getHoistVariable(originalVar: string): string;
|
|
56
55
|
generateHoistVariables(): Generator<string, void, unknown>;
|
|
57
56
|
generateConditionGuards(): Generator<string, void, unknown>;
|
|
58
|
-
enter(node: import("@vue/compiler-dom").RootNode | import("@vue/compiler-dom").
|
|
59
|
-
exit(): Generator<Code>;
|
|
57
|
+
enter(node: import("@vue/compiler-dom").RootNode | import("@vue/compiler-dom").SimpleExpressionNode | import("@vue/compiler-dom").TemplateChildNode): boolean;
|
|
58
|
+
exit(): Generator<Code, any, any>;
|
|
59
|
+
codes: Code[];
|
|
60
60
|
};
|
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.generateStyleModules = generateStyleModules;
|
|
4
37
|
const codeFeatures_1 = require("../codeFeatures");
|
|
5
|
-
const names = require("../names");
|
|
38
|
+
const names = __importStar(require("../names"));
|
|
6
39
|
const utils_1 = require("../utils");
|
|
7
40
|
const common_1 = require("./common");
|
|
8
41
|
function* generateStyleModules({ styles, vueCompilerOptions }, ctx) {
|
|
@@ -102,21 +102,21 @@ export type TemplateCodegenContext = ReturnType<typeof createTemplateCodegenCont
|
|
|
102
102
|
export declare function createTemplateCodegenContext(): {
|
|
103
103
|
generatedTypes: Set<string>;
|
|
104
104
|
readonly currentInfo: {
|
|
105
|
-
ignoreError?: boolean;
|
|
105
|
+
ignoreError?: boolean | undefined;
|
|
106
106
|
expectError?: {
|
|
107
107
|
token: number;
|
|
108
108
|
node: CompilerDOM.CommentNode;
|
|
109
|
-
};
|
|
109
|
+
} | undefined;
|
|
110
110
|
generic?: {
|
|
111
111
|
content: string;
|
|
112
112
|
offset: number;
|
|
113
|
-
};
|
|
113
|
+
} | undefined;
|
|
114
114
|
};
|
|
115
115
|
resolveCodeFeatures: (features: VueCodeInformation) => VueCodeInformation;
|
|
116
116
|
inVFor: boolean;
|
|
117
117
|
slots: {
|
|
118
118
|
name: string;
|
|
119
|
-
offset?: number;
|
|
119
|
+
offset?: number | undefined;
|
|
120
120
|
tagRange: [number, number];
|
|
121
121
|
nodeLoc: any;
|
|
122
122
|
propsVar: string;
|
|
@@ -137,7 +137,7 @@ export declare function createTemplateCodegenContext(): {
|
|
|
137
137
|
singleRootElTypes: Set<string>;
|
|
138
138
|
singleRootNodes: Set<CompilerDOM.ElementNode | null>;
|
|
139
139
|
addTemplateRef(name: string, typeExp: string, offset: number): void;
|
|
140
|
-
recordComponentAccess(source: string, name: string, offset?: number): void;
|
|
140
|
+
recordComponentAccess(source: string, name: string, offset?: number | undefined): void;
|
|
141
141
|
scopes: Set<string>[];
|
|
142
142
|
components: (() => string)[];
|
|
143
143
|
declare(...varNames: string[]): void;
|
|
@@ -146,6 +146,6 @@ export declare function createTemplateCodegenContext(): {
|
|
|
146
146
|
getHoistVariable(originalVar: string): string;
|
|
147
147
|
generateHoistVariables(): Generator<string, void, unknown>;
|
|
148
148
|
generateConditionGuards(): Generator<string, void, unknown>;
|
|
149
|
-
enter(node: CompilerDOM.RootNode | CompilerDOM.
|
|
150
|
-
exit(): Generator<Code>;
|
|
149
|
+
enter(node: CompilerDOM.RootNode | CompilerDOM.SimpleExpressionNode | CompilerDOM.TemplateChildNode): boolean;
|
|
150
|
+
exit(): Generator<Code, any, any>;
|
|
151
151
|
};
|
|
@@ -1,7 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.createTemplateCodegenContext = createTemplateCodegenContext;
|
|
4
|
-
const CompilerDOM = require("@vue/compiler-dom");
|
|
37
|
+
const CompilerDOM = __importStar(require("@vue/compiler-dom"));
|
|
5
38
|
const codeFeatures_1 = require("../codeFeatures");
|
|
6
39
|
const utils_1 = require("../utils");
|
|
7
40
|
const boundary_1 = require("../utils/boundary");
|
|
@@ -1,14 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.generateComponent = generateComponent;
|
|
4
37
|
exports.generateElement = generateElement;
|
|
5
|
-
const CompilerDOM = require("@vue/compiler-dom");
|
|
38
|
+
const CompilerDOM = __importStar(require("@vue/compiler-dom"));
|
|
6
39
|
const shared_1 = require("@vue/shared");
|
|
7
40
|
const muggle_string_1 = require("muggle-string");
|
|
8
41
|
const shared_2 = require("../../utils/shared");
|
|
9
42
|
const codeFeatures_1 = require("../codeFeatures");
|
|
10
43
|
const inlayHints_1 = require("../inlayHints");
|
|
11
|
-
const names = require("../names");
|
|
44
|
+
const names = __importStar(require("../names"));
|
|
12
45
|
const utils_1 = require("../utils");
|
|
13
46
|
const boundary_1 = require("../utils/boundary");
|
|
14
47
|
const camelized_1 = require("../utils/camelized");
|
|
@@ -77,8 +110,8 @@ function* generateComponent(options, ctx, node) {
|
|
|
77
110
|
yield utils_1.endOfLine;
|
|
78
111
|
}
|
|
79
112
|
else {
|
|
80
|
-
yield `let ${componentVar}!: __VLS_WithComponent<'${tag}', __VLS_LocalComponents`;
|
|
81
|
-
yield originalNames.has(options.
|
|
113
|
+
yield `let ${componentVar}!: __VLS_WithComponent<'${tag}', __VLS_LocalComponents, __VLS_GlobalComponents`;
|
|
114
|
+
yield originalNames.has(options.componentName)
|
|
82
115
|
? `, typeof ${names._export}`
|
|
83
116
|
: `, void`;
|
|
84
117
|
for (const name of originalNames) {
|
|
@@ -100,6 +133,14 @@ function* generateComponent(options, ctx, node) {
|
|
|
100
133
|
yield ` | typeof ${names.components}.`;
|
|
101
134
|
yield* (0, camelized_1.generateCamelized)((0, shared_1.capitalize)(tag), 'template', startTagOffset, codeFeatures_1.codeFeatures.navigation);
|
|
102
135
|
}
|
|
136
|
+
if (endTagOffset !== undefined) {
|
|
137
|
+
yield ` | typeof ${names.components}.`;
|
|
138
|
+
yield* (0, camelized_1.generateCamelized)(tag, 'template', endTagOffset, codeFeatures_1.codeFeatures.navigation);
|
|
139
|
+
if (tag[0] !== tag[0].toUpperCase()) {
|
|
140
|
+
yield ` | typeof ${names.components}.`;
|
|
141
|
+
yield* (0, camelized_1.generateCamelized)((0, shared_1.capitalize)(tag), 'template', endTagOffset, codeFeatures_1.codeFeatures.navigation);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
103
144
|
yield `} */${utils_1.newLine}`;
|
|
104
145
|
// auto import support
|
|
105
146
|
yield* (0, camelized_1.generateCamelized)(tag, 'template', startTagOffset, codeFeatures_1.codeFeatures.importCompletionOnly);
|
|
@@ -122,7 +163,7 @@ function* generateComponentBody(options, ctx, node, tag, tagOffset, props, compo
|
|
|
122
163
|
const ctxVar = ctx.getInternalVariable();
|
|
123
164
|
const propsVar = ctx.getInternalVariable();
|
|
124
165
|
yield `// @ts-ignore${utils_1.newLine}`;
|
|
125
|
-
yield `const ${functionalVar} =
|
|
166
|
+
yield `const ${functionalVar} = ${options.vueCompilerOptions.checkUnknownProps ? '__VLS_asFunctionalComponent0' : '__VLS_asFunctionalComponent1'}(${componentVar}, new ${componentVar}({${utils_1.newLine}`;
|
|
126
167
|
yield* (0, muggle_string_1.toString)(propCodes);
|
|
127
168
|
yield `}))${utils_1.endOfLine}`;
|
|
128
169
|
yield `const `;
|
|
@@ -185,7 +226,7 @@ function* generateComponentBody(options, ctx, node, tag, tagOffset, props, compo
|
|
|
185
226
|
function* generateElement(options, ctx, node) {
|
|
186
227
|
const [startTagOffset, endTagOffset] = (0, shared_2.getElementTagOffsets)(node, options.template);
|
|
187
228
|
const failedPropExps = [];
|
|
188
|
-
yield `
|
|
229
|
+
yield `${options.vueCompilerOptions.checkUnknownProps ? `__VLS_asFunctionalElement0` : `__VLS_asFunctionalElement1`}(${names.intrinsics}`;
|
|
189
230
|
yield* (0, propertyAccess_1.generatePropertyAccess)(options, ctx, node.tag, startTagOffset, codeFeatures_1.codeFeatures.withoutHighlightAndCompletion);
|
|
190
231
|
if (endTagOffset !== undefined) {
|
|
191
232
|
yield `, `;
|
|
@@ -220,7 +261,7 @@ function* generateElement(options, ctx, node) {
|
|
|
220
261
|
yield* (0, templateChild_1.generateTemplateChild)(options, ctx, child);
|
|
221
262
|
}
|
|
222
263
|
}
|
|
223
|
-
function* generateStyleScopedClassReferences({ template, ts }, node) {
|
|
264
|
+
function* generateStyleScopedClassReferences({ template, typescript: ts }, node) {
|
|
224
265
|
for (const prop of node.props) {
|
|
225
266
|
if (prop.type === CompilerDOM.NodeTypes.ATTRIBUTE
|
|
226
267
|
&& prop.name === 'class'
|
|
@@ -1,11 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.generateElementDirectives = generateElementDirectives;
|
|
4
37
|
exports.generateModifiers = generateModifiers;
|
|
5
|
-
const CompilerDOM = require("@vue/compiler-dom");
|
|
38
|
+
const CompilerDOM = __importStar(require("@vue/compiler-dom"));
|
|
6
39
|
const shared_1 = require("@vue/shared");
|
|
7
40
|
const codeFeatures_1 = require("../codeFeatures");
|
|
8
|
-
const names = require("../names");
|
|
41
|
+
const names = __importStar(require("../names"));
|
|
9
42
|
const utils_1 = require("../utils");
|
|
10
43
|
const boundary_1 = require("../utils/boundary");
|
|
11
44
|
const camelized_1 = require("../utils/camelized");
|
|
@@ -33,7 +66,7 @@ function* generateElementDirectives(options, ctx, node) {
|
|
|
33
66
|
const token = yield* (0, boundary_1.startBoundary)('template', prop.loc.start.offset, codeFeatures_1.codeFeatures.verification);
|
|
34
67
|
yield `__VLS_asFunctionalDirective(`;
|
|
35
68
|
yield* generateIdentifier(options, ctx, prop);
|
|
36
|
-
yield
|
|
69
|
+
yield `, {} as import('${options.vueCompilerOptions.lib}').ObjectDirective)(null!, { ...__VLS_directiveBindingRestFields, `;
|
|
37
70
|
yield* generateArg(options, ctx, prop);
|
|
38
71
|
yield* generateModifiers(options, ctx, prop);
|
|
39
72
|
yield* generateValue(options, ctx, prop);
|
|
@@ -1,11 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.generateElementEvents = generateElementEvents;
|
|
4
37
|
exports.generateEventArg = generateEventArg;
|
|
5
38
|
exports.generateEventExpression = generateEventExpression;
|
|
6
39
|
exports.generateModelEventExpression = generateModelEventExpression;
|
|
7
40
|
exports.isCompoundExpression = isCompoundExpression;
|
|
8
|
-
const CompilerDOM = require("@vue/compiler-dom");
|
|
41
|
+
const CompilerDOM = __importStar(require("@vue/compiler-dom"));
|
|
9
42
|
const shared_1 = require("@vue/shared");
|
|
10
43
|
const codeFeatures_1 = require("../codeFeatures");
|
|
11
44
|
const utils_1 = require("../utils");
|
|
@@ -89,8 +122,8 @@ function* generateEventArg(options, name, start, directive = 'on', features) {
|
|
|
89
122
|
}
|
|
90
123
|
function* generateEventExpression(options, ctx, prop) {
|
|
91
124
|
if (prop.exp?.type === CompilerDOM.NodeTypes.SIMPLE_EXPRESSION) {
|
|
92
|
-
const ast = (0, utils_1.getTypeScriptAST)(options.
|
|
93
|
-
const isCompound = isCompoundExpression(options.
|
|
125
|
+
const ast = (0, utils_1.getTypeScriptAST)(options.typescript, options.template, prop.exp.content);
|
|
126
|
+
const isCompound = isCompoundExpression(options.typescript, ast);
|
|
94
127
|
const interpolation = (0, interpolation_1.generateInterpolation)(options, ctx, options.template, codeFeatures_1.codeFeatures.all, prop.exp.content, prop.exp.loc.start.offset, isCompound ? `` : `(`, isCompound ? `` : `)`);
|
|
95
128
|
if (isCompound) {
|
|
96
129
|
yield `(...[$event]) => {${utils_1.newLine}`;
|
|
@@ -1,14 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.generateElementProps = generateElementProps;
|
|
4
37
|
exports.generatePropExp = generatePropExp;
|
|
5
|
-
const CompilerDOM = require("@vue/compiler-dom");
|
|
38
|
+
const CompilerDOM = __importStar(require("@vue/compiler-dom"));
|
|
6
39
|
const shared_1 = require("@vue/shared");
|
|
7
40
|
const picomatch_1 = require("picomatch");
|
|
8
41
|
const shared_2 = require("../../utils/shared");
|
|
9
42
|
const codeFeatures_1 = require("../codeFeatures");
|
|
10
43
|
const inlayHints_1 = require("../inlayHints");
|
|
11
|
-
const names = require("../names");
|
|
44
|
+
const names = __importStar(require("../names"));
|
|
12
45
|
const utils_1 = require("../utils");
|
|
13
46
|
const boundary_1 = require("../utils/boundary");
|
|
14
47
|
const camelized_1 = require("../utils/camelized");
|