@vue/language-core 3.2.5 → 3.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -50,7 +50,7 @@ __exportStar(require("./lib/utils/parseSfc"), exports);
50
50
  __exportStar(require("./lib/utils/shared"), exports);
51
51
  __exportStar(require("./lib/virtualCode"), exports);
52
52
  exports.names = __importStar(require("./lib/codegen/names"));
53
- const vue_tsx_1 = require("./lib/plugins/vue-tsx");
53
+ var vue_tsx_1 = require("./lib/plugins/vue-tsx");
54
54
  Object.defineProperty(exports, "tsCodegen", { enumerable: true, get: function () { return vue_tsx_1.tsCodegen; } });
55
55
  __exportStar(require("@volar/language-core"), exports);
56
56
  //# sourceMappingURL=index.js.map
@@ -1,20 +1,86 @@
1
1
  import type { VueCodeInformation } from '../types';
2
- export declare const codeFeatures: {
3
- all: VueCodeInformation;
4
- importCompletionOnly: VueCodeInformation;
5
- verification: VueCodeInformation;
6
- completion: VueCodeInformation;
7
- withoutCompletion: VueCodeInformation;
8
- navigation: VueCodeInformation;
9
- navigationWithoutRename: VueCodeInformation;
10
- navigationAndCompletion: VueCodeInformation;
11
- navigationAndVerification: VueCodeInformation;
12
- withoutNavigation: VueCodeInformation;
13
- semanticWithoutHighlight: VueCodeInformation;
14
- withoutHighlight: VueCodeInformation;
15
- withoutHighlightAndCompletion: VueCodeInformation;
16
- withoutSemantic: VueCodeInformation;
17
- doNotReportTs2339AndTs2551: VueCodeInformation;
18
- doNotReportTs2353AndTs2561: VueCodeInformation;
19
- doNotReportTs6133: VueCodeInformation;
2
+ declare const raw: {
3
+ all: {
4
+ verification: true;
5
+ completion: true;
6
+ semantic: true;
7
+ navigation: true;
8
+ };
9
+ importCompletionOnly: {
10
+ __importCompletion: true;
11
+ };
12
+ verification: {
13
+ verification: true;
14
+ };
15
+ completion: {
16
+ completion: true;
17
+ };
18
+ withoutCompletion: {
19
+ verification: true;
20
+ semantic: true;
21
+ navigation: true;
22
+ };
23
+ navigation: {
24
+ navigation: true;
25
+ };
26
+ navigationWithoutRename: {
27
+ navigation: {
28
+ shouldRename: () => false;
29
+ };
30
+ };
31
+ navigationAndCompletion: {
32
+ navigation: true;
33
+ completion: true;
34
+ };
35
+ navigationAndVerification: {
36
+ navigation: true;
37
+ verification: true;
38
+ };
39
+ withoutNavigation: {
40
+ verification: true;
41
+ completion: true;
42
+ semantic: true;
43
+ };
44
+ semanticWithoutHighlight: {
45
+ semantic: {
46
+ shouldHighlight: () => false;
47
+ };
48
+ };
49
+ withoutHighlight: {
50
+ semantic: {
51
+ shouldHighlight: () => false;
52
+ };
53
+ verification: true;
54
+ navigation: true;
55
+ completion: true;
56
+ };
57
+ withoutHighlightAndCompletion: {
58
+ semantic: {
59
+ shouldHighlight: () => false;
60
+ };
61
+ verification: true;
62
+ navigation: true;
63
+ };
64
+ withoutSemantic: {
65
+ verification: true;
66
+ navigation: true;
67
+ completion: true;
68
+ };
69
+ doNotReportTs2339AndTs2551: {
70
+ verification: {
71
+ shouldReport: (_source: string | undefined, code: string | number | undefined) => boolean;
72
+ };
73
+ };
74
+ doNotReportTs2353AndTs2561: {
75
+ verification: {
76
+ shouldReport: (_source: string | undefined, code: string | number | undefined) => boolean;
77
+ };
78
+ };
79
+ doNotReportTs6133: {
80
+ verification: {
81
+ shouldReport: (_source: string | undefined, code: string | number | undefined) => boolean;
82
+ };
83
+ };
20
84
  };
85
+ export declare const codeFeatures: { [K in keyof typeof raw]: VueCodeInformation; };
86
+ export {};
@@ -10,21 +10,21 @@ export { generate as generateStyle };
10
10
  declare function generate(options: StyleCodegenOptions): {
11
11
  generatedTypes: Set<string>;
12
12
  currentInfo: {
13
- ignoreError?: boolean | undefined;
13
+ ignoreError?: boolean;
14
14
  expectError?: {
15
15
  token: number;
16
16
  node: import("@vue/compiler-dom").CommentNode;
17
- } | undefined;
17
+ };
18
18
  generic?: {
19
19
  content: string;
20
20
  offset: number;
21
- } | undefined;
21
+ };
22
22
  };
23
23
  resolveCodeFeatures: (features: import("../../types").VueCodeInformation) => import("../../types").VueCodeInformation;
24
24
  inVFor: boolean;
25
25
  slots: {
26
26
  name: string;
27
- offset?: number | undefined;
27
+ offset?: number;
28
28
  tagRange: [number, number];
29
29
  nodeLoc: any;
30
30
  propsVar: string;
@@ -45,7 +45,7 @@ declare function generate(options: StyleCodegenOptions): {
45
45
  singleRootElTypes: Set<string>;
46
46
  singleRootNodes: Set<import("@vue/compiler-dom").ElementNode | null>;
47
47
  addTemplateRef(name: string, typeExp: string, offset: number): void;
48
- recordComponentAccess(source: string, name: string, offset?: number | undefined): void;
48
+ recordComponentAccess(source: string, name: string, offset?: number): void;
49
49
  scopes: Set<string>[];
50
50
  components: (() => string)[];
51
51
  declare(...varNames: string[]): void;
@@ -54,7 +54,7 @@ declare function generate(options: StyleCodegenOptions): {
54
54
  getHoistVariable(originalVar: string): string;
55
55
  generateHoistVariables(): Generator<string, void, unknown>;
56
56
  generateConditionGuards(): Generator<string, void, unknown>;
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>;
57
+ enter(node: import("@vue/compiler-dom").RootNode | import("@vue/compiler-dom").TemplateChildNode | import("@vue/compiler-dom").SimpleExpressionNode): boolean;
58
+ exit(): Generator<Code>;
59
59
  codes: Code[];
60
60
  };
@@ -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 | undefined;
105
+ ignoreError?: boolean;
106
106
  expectError?: {
107
107
  token: number;
108
108
  node: CompilerDOM.CommentNode;
109
- } | undefined;
109
+ };
110
110
  generic?: {
111
111
  content: string;
112
112
  offset: number;
113
- } | undefined;
113
+ };
114
114
  };
115
115
  resolveCodeFeatures: (features: VueCodeInformation) => VueCodeInformation;
116
116
  inVFor: boolean;
117
117
  slots: {
118
118
  name: string;
119
- offset?: number | undefined;
119
+ offset?: number;
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 | undefined): void;
140
+ recordComponentAccess(source: string, name: string, offset?: number): 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.SimpleExpressionNode | CompilerDOM.TemplateChildNode): boolean;
150
- exit(): Generator<Code, any, any>;
149
+ enter(node: CompilerDOM.RootNode | CompilerDOM.TemplateChildNode | CompilerDOM.SimpleExpressionNode): boolean;
150
+ exit(): Generator<Code>;
151
151
  };
@@ -16,21 +16,21 @@ export { generate as generateTemplate };
16
16
  declare function generate(options: TemplateCodegenOptions): {
17
17
  generatedTypes: Set<string>;
18
18
  currentInfo: {
19
- ignoreError?: boolean | undefined;
19
+ ignoreError?: boolean;
20
20
  expectError?: {
21
21
  token: number;
22
22
  node: import("@vue/compiler-dom").CommentNode;
23
- } | undefined;
23
+ };
24
24
  generic?: {
25
25
  content: string;
26
26
  offset: number;
27
- } | undefined;
27
+ };
28
28
  };
29
29
  resolveCodeFeatures: (features: import("../../types").VueCodeInformation) => import("../../types").VueCodeInformation;
30
30
  inVFor: boolean;
31
31
  slots: {
32
32
  name: string;
33
- offset?: number | undefined;
33
+ offset?: number;
34
34
  tagRange: [number, number];
35
35
  nodeLoc: any;
36
36
  propsVar: string;
@@ -51,7 +51,7 @@ declare function generate(options: TemplateCodegenOptions): {
51
51
  singleRootElTypes: Set<string>;
52
52
  singleRootNodes: Set<import("@vue/compiler-dom").ElementNode | null>;
53
53
  addTemplateRef(name: string, typeExp: string, offset: number): void;
54
- recordComponentAccess(source: string, name: string, offset?: number | undefined): void;
54
+ recordComponentAccess(source: string, name: string, offset?: number): void;
55
55
  scopes: Set<string>[];
56
56
  components: (() => string)[];
57
57
  declare(...varNames: string[]): void;
@@ -60,7 +60,7 @@ declare function generate(options: TemplateCodegenOptions): {
60
60
  getHoistVariable(originalVar: string): string;
61
61
  generateHoistVariables(): Generator<string, void, unknown>;
62
62
  generateConditionGuards(): Generator<string, void, unknown>;
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>;
63
+ enter(node: import("@vue/compiler-dom").RootNode | import("@vue/compiler-dom").TemplateChildNode | import("@vue/compiler-dom").SimpleExpressionNode): boolean;
64
+ exit(): Generator<Code>;
65
65
  codes: Code[];
66
66
  };
@@ -109,7 +109,11 @@ function* generateWorker(options, ctx) {
109
109
  yield* endScope();
110
110
  }
111
111
  function* generateSlotsType(options, ctx) {
112
- if (options.hasDefineSlots || (!ctx.slots.length && !ctx.dynamicSlots.length)) {
112
+ if (options.hasDefineSlots) {
113
+ ctx.generatedTypes.add(names.Slots);
114
+ return;
115
+ }
116
+ if (!ctx.slots.length && !ctx.dynamicSlots.length) {
113
117
  return;
114
118
  }
115
119
  ctx.generatedTypes.add(names.Slots);
@@ -79,15 +79,11 @@ function createParsedCommandLine(ts, host, configFileName) {
79
79
  };
80
80
  }
81
81
  class CompilerOptionsResolver {
82
- ts;
83
- readFile;
84
- options = {};
85
- target;
86
- typesRoot;
87
- plugins = [];
88
82
  constructor(ts, readFile) {
89
83
  this.ts = ts;
90
84
  this.readFile = readFile;
85
+ this.options = {};
86
+ this.plugins = [];
91
87
  }
92
88
  addConfig(options, rootDir) {
93
89
  for (const key in options) {
@@ -8,13 +8,13 @@ export declare function parseScriptRanges(ts: typeof import('typescript'), sourc
8
8
  isObjectLiteral: boolean;
9
9
  options?: {
10
10
  isObjectLiteral: boolean;
11
- expression: TextRange<ts.Node>;
11
+ expression: TextRange;
12
12
  args: TextRange<ts.ObjectLiteralExpression>;
13
13
  components: TextRange<ts.ObjectLiteralExpression> | undefined;
14
- directives: TextRange<ts.Node> | undefined;
14
+ directives: TextRange | undefined;
15
15
  name: TextRange<ts.StringLiteral> | undefined;
16
16
  inheritAttrs: string | undefined;
17
- } | undefined;
17
+ };
18
18
  }) | undefined;
19
19
  bindings: TextRange<ts.Node>[];
20
20
  components: TextRange<ts.Node>[];
@@ -6,13 +6,13 @@ export declare const tsCodegen: WeakMap<Sfc, {
6
6
  isObjectLiteral: boolean;
7
7
  options?: {
8
8
  isObjectLiteral: boolean;
9
- expression: import("../types").TextRange<import("typescript").Node>;
9
+ expression: import("../types").TextRange;
10
10
  args: import("../types").TextRange<import("typescript").ObjectLiteralExpression>;
11
11
  components: import("../types").TextRange<import("typescript").ObjectLiteralExpression> | undefined;
12
- directives: import("../types").TextRange<import("typescript").Node> | undefined;
12
+ directives: import("../types").TextRange | undefined;
13
13
  name: import("../types").TextRange<import("typescript").StringLiteral> | undefined;
14
14
  inheritAttrs: string | undefined;
15
- } | undefined;
15
+ };
16
16
  }) | undefined;
17
17
  bindings: import("../types").TextRange<import("typescript").Node>[];
18
18
  components: import("../types").TextRange<import("typescript").Node>[];
@@ -51,21 +51,21 @@ export declare const tsCodegen: WeakMap<Sfc, {
51
51
  getGeneratedTemplate: () => {
52
52
  generatedTypes: Set<string>;
53
53
  currentInfo: {
54
- ignoreError?: boolean | undefined;
54
+ ignoreError?: boolean;
55
55
  expectError?: {
56
56
  token: number;
57
57
  node: import("@vue/compiler-dom").CommentNode;
58
- } | undefined;
58
+ };
59
59
  generic?: {
60
60
  content: string;
61
61
  offset: number;
62
- } | undefined;
62
+ };
63
63
  };
64
64
  resolveCodeFeatures: (features: import("../types").VueCodeInformation) => import("../types").VueCodeInformation;
65
65
  inVFor: boolean;
66
66
  slots: {
67
67
  name: string;
68
- offset?: number | undefined;
68
+ offset?: number;
69
69
  tagRange: [number, number];
70
70
  nodeLoc: any;
71
71
  propsVar: string;
@@ -86,7 +86,7 @@ export declare const tsCodegen: WeakMap<Sfc, {
86
86
  singleRootElTypes: Set<string>;
87
87
  singleRootNodes: Set<import("@vue/compiler-dom").ElementNode | null>;
88
88
  addTemplateRef(name: string, typeExp: string, offset: number): void;
89
- recordComponentAccess(source: string, name: string, offset?: number | undefined): void;
89
+ recordComponentAccess(source: string, name: string, offset?: number): void;
90
90
  scopes: Set<string>[];
91
91
  components: (() => string)[];
92
92
  declare(...varNames: string[]): void;
@@ -95,8 +95,8 @@ export declare const tsCodegen: WeakMap<Sfc, {
95
95
  getHoistVariable(originalVar: string): string;
96
96
  generateHoistVariables(): Generator<string, void, unknown>;
97
97
  generateConditionGuards(): Generator<string, void, unknown>;
98
- enter(node: import("@vue/compiler-dom").RootNode | import("@vue/compiler-dom").SimpleExpressionNode | import("@vue/compiler-dom").TemplateChildNode): boolean;
99
- exit(): Generator<import("../types").Code, any, any>;
98
+ enter(node: import("@vue/compiler-dom").RootNode | import("@vue/compiler-dom").TemplateChildNode | import("@vue/compiler-dom").SimpleExpressionNode): boolean;
99
+ exit(): Generator<import("../types").Code>;
100
100
  codes: import("../types").Code[];
101
101
  } | undefined;
102
102
  getImportedComponents: () => Set<string>;
package/lib/types.d.ts CHANGED
@@ -69,7 +69,7 @@ export interface VueCompilerOptions {
69
69
  }
70
70
  export declare const validVersions: readonly [2, 2.1, 2.2];
71
71
  export interface VueLanguagePluginReturn {
72
- version: typeof validVersions[number];
72
+ version: (typeof validVersions)[number];
73
73
  name?: string;
74
74
  order?: number;
75
75
  requiredCompilerOptions?: string[];
@@ -7,7 +7,7 @@ exports.getElementTagOffsets = getElementTagOffsets;
7
7
  exports.getStartEnd = getStartEnd;
8
8
  exports.getNodeText = getNodeText;
9
9
  const shared_1 = require("@vue/shared");
10
- const shared_2 = require("@vue/shared");
10
+ var shared_2 = require("@vue/shared");
11
11
  Object.defineProperty(exports, "hyphenateTag", { enumerable: true, get: function () { return shared_2.hyphenate; } });
12
12
  function hyphenateAttr(str) {
13
13
  let hyphencase = (0, shared_1.hyphenate)(str);
@@ -6,16 +6,12 @@ const alien_signals_1 = require("alien-signals");
6
6
  const muggle_string_1 = require("muggle-string");
7
7
  const buildMappings_1 = require("../utils/buildMappings");
8
8
  class VueEmbeddedCode {
9
- id;
10
- lang;
11
- content;
12
- parentCodeId;
13
- linkedCodeMappings = [];
14
- embeddedCodes = [];
15
9
  constructor(id, lang, content) {
16
10
  this.id = id;
17
11
  this.lang = lang;
18
12
  this.content = content;
13
+ this.linkedCodeMappings = [];
14
+ this.embeddedCodes = [];
19
15
  }
20
16
  }
21
17
  exports.VueEmbeddedCode = VueEmbeddedCode;
@@ -6,16 +6,6 @@ const plugins_1 = require("../plugins");
6
6
  const embeddedCodes_1 = require("./embeddedCodes");
7
7
  const ir_1 = require("./ir");
8
8
  class VueVirtualCode {
9
- fileName;
10
- languageId;
11
- initSnapshot;
12
- vueCompilerOptions;
13
- id = 'main';
14
- _snapshot;
15
- _parsedSfcResult;
16
- _ir;
17
- _embeddedCodes;
18
- _mappings;
19
9
  get snapshot() {
20
10
  return this._snapshot();
21
11
  }
@@ -36,6 +26,7 @@ class VueVirtualCode {
36
26
  this.languageId = languageId;
37
27
  this.initSnapshot = initSnapshot;
38
28
  this.vueCompilerOptions = vueCompilerOptions;
29
+ this.id = 'main';
39
30
  this._snapshot = (0, alien_signals_1.signal)(initSnapshot);
40
31
  this._parsedSfcResult = (0, alien_signals_1.computed)(lastResult => this.parseSfc(plugins, lastResult));
41
32
  this._ir = (0, ir_1.useIR)(ts, plugins, fileName, this._snapshot, () => this._parsedSfcResult()?.result);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/language-core",
3
- "version": "3.2.5",
3
+ "version": "3.2.7",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "**/*.js",
@@ -16,17 +16,17 @@
16
16
  "@volar/language-core": "2.4.28",
17
17
  "@vue/compiler-dom": "^3.5.0",
18
18
  "@vue/shared": "^3.5.0",
19
- "alien-signals": "^3.0.0",
19
+ "alien-signals": "^3.1.2",
20
20
  "muggle-string": "^0.4.1",
21
21
  "path-browserify": "^1.0.1",
22
- "picomatch": "^4.0.2"
22
+ "picomatch": "^4.0.4"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/node": "^22.10.4",
26
- "@types/path-browserify": "^1.0.1",
27
- "@types/picomatch": "^4.0.0",
26
+ "@types/path-browserify": "^1.0.3",
27
+ "@types/picomatch": "^4.0.3",
28
28
  "@volar/typescript": "2.4.28",
29
29
  "@vue/compiler-sfc": "^3.5.0"
30
30
  },
31
- "gitHead": "ee5041d27940cf6f9a5150635d3b13140a9dff54"
31
+ "gitHead": "a7092edf12862f0db8e39bd2afbda3d54aa26506"
32
32
  }
@@ -111,7 +111,7 @@ declare global {
111
111
 
112
112
  function __VLS_vFor<T>(source: T): T extends number ? [number, number][]
113
113
  : T extends string ? [string, number][]
114
- : T extends (infer U)[] ? [U, number][]
114
+ : T extends readonly (infer U)[] ? [U, number][]
115
115
  : T extends Iterable<infer V> ? [V, number][]
116
116
  : [T[keyof T], keyof T extends string ? keyof T : `${keyof T & (string | number)}`, number][];
117
117
  function __VLS_vSlot<S, D extends S>(slot: S, decl?: D): D extends (...args: infer P) => any ? P : any[];