@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,7 +1,7 @@
|
|
|
1
1
|
import type * as ts from 'typescript';
|
|
2
2
|
import type { Code, Sfc, VueCompilerOptions } from '../../types';
|
|
3
3
|
export interface TemplateCodegenOptions {
|
|
4
|
-
|
|
4
|
+
typescript: typeof ts;
|
|
5
5
|
vueCompilerOptions: VueCompilerOptions;
|
|
6
6
|
template: NonNullable<Sfc['template']>;
|
|
7
7
|
setupRefs: Set<string>;
|
|
@@ -10,28 +10,27 @@ export interface TemplateCodegenOptions {
|
|
|
10
10
|
propsAssignName?: string;
|
|
11
11
|
slotsAssignName?: string;
|
|
12
12
|
inheritAttrs: boolean;
|
|
13
|
-
|
|
13
|
+
componentName: string;
|
|
14
14
|
}
|
|
15
15
|
export { generate as generateTemplate };
|
|
16
16
|
declare function generate(options: TemplateCodegenOptions): {
|
|
17
|
-
codes: Code[];
|
|
18
17
|
generatedTypes: Set<string>;
|
|
19
18
|
currentInfo: {
|
|
20
|
-
ignoreError?: boolean;
|
|
19
|
+
ignoreError?: boolean | undefined;
|
|
21
20
|
expectError?: {
|
|
22
21
|
token: number;
|
|
23
22
|
node: import("@vue/compiler-dom").CommentNode;
|
|
24
|
-
};
|
|
23
|
+
} | undefined;
|
|
25
24
|
generic?: {
|
|
26
25
|
content: string;
|
|
27
26
|
offset: number;
|
|
28
|
-
};
|
|
27
|
+
} | undefined;
|
|
29
28
|
};
|
|
30
29
|
resolveCodeFeatures: (features: import("../../types").VueCodeInformation) => import("../../types").VueCodeInformation;
|
|
31
30
|
inVFor: boolean;
|
|
32
31
|
slots: {
|
|
33
32
|
name: string;
|
|
34
|
-
offset?: number;
|
|
33
|
+
offset?: number | undefined;
|
|
35
34
|
tagRange: [number, number];
|
|
36
35
|
nodeLoc: any;
|
|
37
36
|
propsVar: string;
|
|
@@ -52,7 +51,7 @@ declare function generate(options: TemplateCodegenOptions): {
|
|
|
52
51
|
singleRootElTypes: Set<string>;
|
|
53
52
|
singleRootNodes: Set<import("@vue/compiler-dom").ElementNode | null>;
|
|
54
53
|
addTemplateRef(name: string, typeExp: string, offset: number): void;
|
|
55
|
-
recordComponentAccess(source: string, name: string, offset?: number): void;
|
|
54
|
+
recordComponentAccess(source: string, name: string, offset?: number | undefined): void;
|
|
56
55
|
scopes: Set<string>[];
|
|
57
56
|
components: (() => string)[];
|
|
58
57
|
declare(...varNames: string[]): void;
|
|
@@ -61,6 +60,7 @@ declare function generate(options: TemplateCodegenOptions): {
|
|
|
61
60
|
getHoistVariable(originalVar: string): string;
|
|
62
61
|
generateHoistVariables(): Generator<string, void, unknown>;
|
|
63
62
|
generateConditionGuards(): Generator<string, void, unknown>;
|
|
64
|
-
enter(node: import("@vue/compiler-dom").RootNode | import("@vue/compiler-dom").
|
|
65
|
-
exit(): Generator<Code>;
|
|
63
|
+
enter(node: import("@vue/compiler-dom").RootNode | import("@vue/compiler-dom").SimpleExpressionNode | import("@vue/compiler-dom").TemplateChildNode): boolean;
|
|
64
|
+
exit(): Generator<Code, any, any>;
|
|
65
|
+
codes: Code[];
|
|
66
66
|
};
|
|
@@ -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.generateTemplate = generate;
|
|
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 boundary_1 = require("../utils/boundary");
|
|
8
41
|
const context_1 = require("./context");
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Code, SfcBlock, VueCodeInformation } from '../../types';
|
|
2
|
-
import type { StyleCodegenOptions } from '../style';
|
|
3
2
|
import type { TemplateCodegenContext } from './context';
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export declare function generateInterpolation({ typescript, setupRefs }: {
|
|
4
|
+
typescript: typeof import('typescript');
|
|
5
|
+
setupRefs: Set<string>;
|
|
6
|
+
}, ctx: TemplateCodegenContext, block: SfcBlock, data: VueCodeInformation, code: string, start: number, prefix?: string, suffix?: string): Generator<Code>;
|
|
@@ -1,16 +1,49 @@
|
|
|
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.generateInterpolation = generateInterpolation;
|
|
4
37
|
const shared_1 = require("@vue/shared");
|
|
5
38
|
const collectBindings_1 = require("../../utils/collectBindings");
|
|
6
39
|
const shared_2 = require("../../utils/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
|
// https://github.com/vuejs/core/blob/fb0c3ca519f1fccf52049cd6b8db3a67a669afe9/packages/compiler-core/src/transforms/transformExpression.ts#L47
|
|
11
44
|
const isLiteralWhitelisted = /*@__PURE__*/ (0, shared_1.makeMap)('true,false,null,this');
|
|
12
|
-
function* generateInterpolation(
|
|
13
|
-
for (const segment of forEachInterpolationSegment(
|
|
45
|
+
function* generateInterpolation({ typescript, setupRefs }, ctx, block, data, code, start, prefix = '', suffix = '') {
|
|
46
|
+
for (const segment of forEachInterpolationSegment(typescript, setupRefs, ctx, block, code, start, prefix, suffix)) {
|
|
14
47
|
if (typeof segment === 'string') {
|
|
15
48
|
yield segment;
|
|
16
49
|
continue;
|
|
@@ -42,7 +75,7 @@ function* generateInterpolation(options, ctx, block, data, code, start, prefix =
|
|
|
42
75
|
yield addSuffix;
|
|
43
76
|
}
|
|
44
77
|
}
|
|
45
|
-
function* forEachInterpolationSegment(
|
|
78
|
+
function* forEachInterpolationSegment(ts, setupRefs, ctx, block, originalCode, start, prefix, suffix) {
|
|
46
79
|
const code = prefix + originalCode + suffix;
|
|
47
80
|
let prevEnd = 0;
|
|
48
81
|
for (const [name, offset, isShorthand] of forEachIdentifiers(ts, ctx, block, originalCode, code, prefix)) {
|
|
@@ -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.generateSlotOutlet = generateSlotOutlet;
|
|
4
|
-
const CompilerDOM = require("@vue/compiler-dom");
|
|
37
|
+
const CompilerDOM = __importStar(require("@vue/compiler-dom"));
|
|
5
38
|
const shared_1 = require("../../utils/shared");
|
|
6
39
|
const codeFeatures_1 = require("../codeFeatures");
|
|
7
40
|
const inlayHints_1 = require("../inlayHints");
|
|
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 elementProps_1 = require("./elementProps");
|
|
@@ -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.generateTemplateChild = generateTemplateChild;
|
|
4
37
|
exports.parseInterpolationNode = parseInterpolationNode;
|
|
5
|
-
const CompilerDOM = require("@vue/compiler-dom");
|
|
38
|
+
const CompilerDOM = __importStar(require("@vue/compiler-dom"));
|
|
6
39
|
const shared_1 = require("../../utils/shared");
|
|
7
40
|
const codeFeatures_1 = require("../codeFeatures");
|
|
8
41
|
const utils_1 = require("../utils");
|
|
@@ -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.generateVFor = generateVFor;
|
|
4
37
|
exports.parseVForNode = parseVForNode;
|
|
5
|
-
const CompilerDOM = require("@vue/compiler-dom");
|
|
38
|
+
const CompilerDOM = __importStar(require("@vue/compiler-dom"));
|
|
6
39
|
const collectBindings_1 = require("../../utils/collectBindings");
|
|
7
40
|
const codeFeatures_1 = require("../codeFeatures");
|
|
8
41
|
const utils_1 = require("../utils");
|
|
@@ -14,8 +47,8 @@ function* generateVFor(options, ctx, node) {
|
|
|
14
47
|
const endScope = ctx.startScope();
|
|
15
48
|
yield `for (const [`;
|
|
16
49
|
if (leftExpressionRange && leftExpressionText) {
|
|
17
|
-
const collectAst = (0, utils_1.getTypeScriptAST)(options.
|
|
18
|
-
ctx.declare(...(0, collectBindings_1.collectBindingNames)(options.
|
|
50
|
+
const collectAst = (0, utils_1.getTypeScriptAST)(options.typescript, options.template, `const [${leftExpressionText}]`);
|
|
51
|
+
ctx.declare(...(0, collectBindings_1.collectBindingNames)(options.typescript, collectAst, collectAst));
|
|
19
52
|
yield [
|
|
20
53
|
leftExpressionText,
|
|
21
54
|
'template',
|
|
@@ -25,7 +58,7 @@ function* generateVFor(options, ctx, node) {
|
|
|
25
58
|
}
|
|
26
59
|
yield `] of `;
|
|
27
60
|
if (source.type === CompilerDOM.NodeTypes.SIMPLE_EXPRESSION) {
|
|
28
|
-
yield `
|
|
61
|
+
yield `__VLS_vFor(`;
|
|
29
62
|
yield* (0, interpolation_1.generateInterpolation)(options, ctx, options.template, codeFeatures_1.codeFeatures.all, source.content, source.loc.start.offset, `(`, `)`);
|
|
30
63
|
yield `!)`; // #3102
|
|
31
64
|
}
|
|
@@ -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.generateVIf = generateVIf;
|
|
4
|
-
const CompilerDOM = require("@vue/compiler-dom");
|
|
37
|
+
const CompilerDOM = __importStar(require("@vue/compiler-dom"));
|
|
5
38
|
const muggle_string_1 = require("muggle-string");
|
|
6
39
|
const codeFeatures_1 = require("../codeFeatures");
|
|
7
40
|
const utils_1 = require("../utils");
|
|
@@ -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.generateVSlot = generateVSlot;
|
|
4
|
-
const CompilerDOM = require("@vue/compiler-dom");
|
|
37
|
+
const CompilerDOM = __importStar(require("@vue/compiler-dom"));
|
|
5
38
|
const muggle_string_1 = require("muggle-string");
|
|
6
39
|
const collectBindings_1 = require("../../utils/collectBindings");
|
|
7
40
|
const codeFeatures_1 = require("../codeFeatures");
|
|
@@ -34,9 +67,9 @@ function* generateVSlot(options, ctx, node, slotDir, ctxVar) {
|
|
|
34
67
|
yield `: ${slotVar} } = ${ctxVar}.slots!${utils_1.endOfLine}`;
|
|
35
68
|
const endScope = ctx.startScope();
|
|
36
69
|
if (slotDir?.exp?.type === CompilerDOM.NodeTypes.SIMPLE_EXPRESSION) {
|
|
37
|
-
const slotAst = (0, utils_1.getTypeScriptAST)(options.
|
|
70
|
+
const slotAst = (0, utils_1.getTypeScriptAST)(options.typescript, options.template, `(${slotDir.exp.content}) => {}`);
|
|
38
71
|
yield* generateSlotParameters(options, ctx, slotAst, slotDir.exp, slotVar);
|
|
39
|
-
ctx.declare(...(0, collectBindings_1.collectBindingNames)(options.
|
|
72
|
+
ctx.declare(...(0, collectBindings_1.collectBindingNames)(options.typescript, slotAst, slotAst));
|
|
40
73
|
}
|
|
41
74
|
for (const child of node.children) {
|
|
42
75
|
yield* (0, templateChild_1.generateTemplateChild)(options, ctx, child);
|
|
@@ -65,7 +98,7 @@ function* generateVSlot(options, ctx, node, slotDir, ctxVar) {
|
|
|
65
98
|
}
|
|
66
99
|
}
|
|
67
100
|
function* generateSlotParameters(options, ctx, ast, exp, slotVar) {
|
|
68
|
-
const { ts } = options;
|
|
101
|
+
const { typescript: ts } = options;
|
|
69
102
|
const statement = ast.statements[0];
|
|
70
103
|
if (!statement || !ts.isExpressionStatement(statement) || !ts.isArrowFunction(statement.expression)) {
|
|
71
104
|
return;
|
|
@@ -92,7 +125,7 @@ function* generateSlotParameters(options, ctx, ast, exp, slotVar) {
|
|
|
92
125
|
}
|
|
93
126
|
yield `const [`;
|
|
94
127
|
yield* interpolation;
|
|
95
|
-
yield `] =
|
|
128
|
+
yield `] = __VLS_vSlot(${slotVar}!`;
|
|
96
129
|
if (types.some(t => t)) {
|
|
97
130
|
yield `, `;
|
|
98
131
|
const token = yield* (0, boundary_1.startBoundary)('template', exp.loc.start.offset, codeFeatures_1.codeFeatures.verification);
|
package/lib/compilerOptions.d.ts
CHANGED
|
@@ -8,20 +8,16 @@ export interface ParsedCommandLine extends Omit<ts.ParsedCommandLine, 'fileNames
|
|
|
8
8
|
export declare function createParsedCommandLineByJson(ts: typeof import('typescript'), host: ParseConfigHost, rootDir: string, json: any, configFileName?: string): ParsedCommandLine;
|
|
9
9
|
export declare function createParsedCommandLine(ts: typeof import('typescript'), host: ParseConfigHost, configFileName: string): ParsedCommandLine;
|
|
10
10
|
export declare class CompilerOptionsResolver {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
ts: typeof import('typescript');
|
|
12
|
+
readFile: (fileName: string) => string | undefined;
|
|
13
|
+
options: Omit<RawVueCompilerOptions, 'target' | 'strictTemplates' | 'typesRoot' | 'plugins'>;
|
|
13
14
|
target: number | undefined;
|
|
14
|
-
|
|
15
|
+
typesRoot: string | undefined;
|
|
15
16
|
plugins: VueLanguagePlugin[];
|
|
16
|
-
constructor(
|
|
17
|
+
constructor(ts: typeof import('typescript'), readFile: (fileName: string) => string | undefined);
|
|
17
18
|
addConfig(options: RawVueCompilerOptions, rootDir: string): void;
|
|
18
19
|
build(defaults?: VueCompilerOptions): VueCompilerOptions;
|
|
19
|
-
|
|
20
|
+
resolveVueVersion(folder: string): number | undefined;
|
|
20
21
|
}
|
|
21
|
-
export declare function getDefaultCompilerOptions(target?: number, lib?: string, strictTemplates?: boolean): VueCompilerOptions;
|
|
22
|
-
export declare function createGlobalTypesWriter(vueOptions: VueCompilerOptions, writeFile: (fileName: string, data: string) => void): (fileName: string) => string | void;
|
|
23
|
-
/**
|
|
24
|
-
* @deprecated use `createGlobalTypesWriter` instead
|
|
25
|
-
*/
|
|
26
|
-
export declare function writeGlobalTypes(vueOptions: VueCompilerOptions, writeFile: (fileName: string, data: string) => void): void;
|
|
22
|
+
export declare function getDefaultCompilerOptions(target?: number, lib?: string, strictTemplates?: boolean, typesRoot?: string): VueCompilerOptions;
|
|
27
23
|
export {};
|