@vue/language-core 1.8.14 → 1.8.16

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.
@@ -57,6 +57,7 @@ function generate(ts, fileName, _sfc, lang, scriptRanges, scriptSetupRanges, htm
57
57
  exposeRuntimeArg: undefined,
58
58
  leadingCommentEndOffset: 0,
59
59
  importSectionEndOffset: 0,
60
+ withDefaults: undefined,
60
61
  defineProps: undefined,
61
62
  defineSlots: undefined,
62
63
  defineEmits: undefined,
@@ -355,10 +356,10 @@ function generate(ts, fileName, _sfc, lang, scriptRanges, scriptSetupRanges, htm
355
356
  //#endregion
356
357
  codes.push('return {} as {\n');
357
358
  codes.push(`props: __VLS_Prettify<Omit<typeof __VLS_fnPropsDefineComponent & typeof __VLS_fnPropsTypeOnly, keyof typeof __VLS_defaultProps>> & typeof __VLS_fnPropsSlots & typeof __VLS_defaultProps,\n`);
358
- codes.push(`expose(exposed: ${scriptSetupRanges.exposeRuntimeArg ? 'typeof __VLS_exposed' : '{}'}): void,\n`);
359
+ codes.push(`expose(exposed: import('${vueCompilerOptions.lib}').ShallowUnwrapRef<${scriptSetupRanges.exposeRuntimeArg ? 'typeof __VLS_exposed' : '{}'}>): void,\n`);
359
360
  codes.push('attrs: any,\n');
360
361
  codes.push('slots: ReturnType<typeof __VLS_template>,\n');
361
- codes.push('emit: typeof __VLS_emit');
362
+ codes.push(`emit: typeof ${scriptSetupRanges.emitsAssignName ?? '__VLS_emit'},\n`);
362
363
  codes.push('};\n');
363
364
  codes.push('})(),\n');
364
365
  codes.push(`) => ({} as import('${vueCompilerOptions.lib}').VNode & { __ctx?: Awaited<typeof __VLS_setup> }))`);
@@ -427,6 +428,14 @@ declare function defineProp<T>(value?: T | (() => T), required?: boolean, rest?:
427
428
  }
428
429
  const scriptSetupGeneratedOffset = muggle.getLength(codes) - scriptSetupRanges.importSectionEndOffset;
429
430
  let setupCodeModifies = [];
431
+ if (scriptSetupRanges.defineProps && !scriptSetupRanges.propsAssignName) {
432
+ if (scriptSetupRanges.withDefaults) {
433
+ setupCodeModifies.push([() => codes.push(`const __VLS_props = `), scriptSetupRanges.withDefaults.start, scriptSetupRanges.withDefaults.start]);
434
+ }
435
+ else {
436
+ setupCodeModifies.push([() => codes.push(`const __VLS_props = `), scriptSetupRanges.defineProps.start, scriptSetupRanges.defineProps.start]);
437
+ }
438
+ }
430
439
  if (scriptSetupRanges.defineSlots && !scriptSetupRanges.slotsAssignName) {
431
440
  setupCodeModifies.push([() => codes.push(`const __VLS_slots = `), scriptSetupRanges.defineSlots.start, scriptSetupRanges.defineSlots.start]);
432
441
  }
@@ -542,9 +551,6 @@ declare function defineProp<T>(value?: T | (() => T), required?: boolean, rest?:
542
551
  }
543
552
  codes.push(`};\n`);
544
553
  codes.push(`},\n`);
545
- if (scriptRanges?.exportDefault?.args) {
546
- addVirtualCode('script', scriptRanges.exportDefault.args.start + 1, scriptRanges.exportDefault.args.end - 1);
547
- }
548
554
  codes.push(`})`);
549
555
  }
550
556
  function generateComponentOptions(functional) {
@@ -586,21 +592,17 @@ declare function defineProp<T>(value?: T | (() => T), required?: boolean, rest?:
586
592
  codes.push(`emits: ({} as __VLS_NormalizeEmits<typeof `, scriptSetupRanges.emitsAssignName ?? '__VLS_emit', `>),\n`);
587
593
  }
588
594
  }
595
+ if (scriptRanges?.exportDefault?.args) {
596
+ addVirtualCode('script', scriptRanges.exportDefault.args.start + 1, scriptRanges.exportDefault.args.end - 1);
597
+ }
589
598
  }
590
599
  function generateSetupReturns() {
591
600
  if (scriptSetupRanges && bypassDefineComponent) {
592
601
  // fill $props
593
- if (scriptSetupRanges.propsTypeArg) {
602
+ if (scriptSetupRanges.defineProps) {
594
603
  // NOTE: defineProps is inaccurate for $props
595
- codes.push(`$props: __VLS_makeOptional(defineProps<`);
596
- addExtraReferenceVirtualCode('scriptSetup', scriptSetupRanges.propsTypeArg.start, scriptSetupRanges.propsTypeArg.end);
597
- codes.push(`>()),\n`);
598
- }
599
- else if (scriptSetupRanges.propsRuntimeArg) {
600
- // NOTE: defineProps is inaccurate for $props
601
- codes.push(`$props: __VLS_makeOptional(defineProps(`);
602
- addExtraReferenceVirtualCode('scriptSetup', scriptSetupRanges.propsRuntimeArg.start, scriptSetupRanges.propsRuntimeArg.end);
603
- codes.push(`)),\n`);
604
+ codes.push(`$props: __VLS_makeOptional(${scriptSetupRanges.propsAssignName ?? `__VLS_props`}),\n`);
605
+ codes.push(`...${scriptSetupRanges.propsAssignName ?? `__VLS_props`},\n`);
604
606
  }
605
607
  // fill $emit
606
608
  if (scriptSetupRanges.defineEmits) {
@@ -7,6 +7,7 @@ export declare function parseScriptSetupRanges(ts: typeof import('typescript/lib
7
7
  importSectionEndOffset: number;
8
8
  bindings: TextRange[];
9
9
  withDefaultsArg: TextRange | undefined;
10
+ withDefaults: TextRange | undefined;
10
11
  defineProps: TextRange | undefined;
11
12
  defineSlots: TextRange | undefined;
12
13
  defineEmits: TextRange | undefined;
@@ -6,6 +6,7 @@ function parseScriptSetupRanges(ts, ast, vueCompilerOptions) {
6
6
  let importSectionEndOffset = 0;
7
7
  let withDefaultsArg;
8
8
  let propsAssignName;
9
+ let withDefaults;
9
10
  let defineProps;
10
11
  let propsRuntimeArg;
11
12
  let propsTypeArg;
@@ -46,6 +47,7 @@ function parseScriptSetupRanges(ts, ast, vueCompilerOptions) {
46
47
  importSectionEndOffset,
47
48
  bindings,
48
49
  withDefaultsArg,
50
+ withDefaults,
49
51
  defineProps,
50
52
  defineSlots,
51
53
  defineEmits,
@@ -171,6 +173,7 @@ function parseScriptSetupRanges(ts, ast, vueCompilerOptions) {
171
173
  }
172
174
  }
173
175
  else if (vueCompilerOptions.macros.withDefaults.includes(callText)) {
176
+ withDefaults = _getStartEnd(node);
174
177
  if (node.arguments.length >= 2) {
175
178
  const arg = node.arguments[1];
176
179
  withDefaultsArg = _getStartEnd(arg);
@@ -17,6 +17,7 @@ export declare const tsCodegen: WeakMap<Sfc, {
17
17
  importSectionEndOffset: number;
18
18
  bindings: import("../types").TextRange[];
19
19
  withDefaultsArg: import("../types").TextRange | undefined;
20
+ withDefaults: import("../types").TextRange | undefined;
20
21
  defineProps: import("../types").TextRange | undefined;
21
22
  defineSlots: import("../types").TextRange | undefined;
22
23
  defineEmits: import("../types").TextRange | undefined;
@@ -111,8 +111,8 @@ type __VLS_OverloadUnion<T> = Exclude<
111
111
  T extends () => never ? never : () => never
112
112
  >;
113
113
  type __VLS_ConstructorOverloads<T> = __VLS_OverloadUnion<T> extends infer F
114
- ? F extends (event: infer E, ...args: infer A) => infer R
115
- ? { [K in E as K extends string ? K : never]: (...args: A) => R; }
114
+ ? F extends (event: infer E, ...args: infer A) => any
115
+ ? { [K in E & string]: (...args: A) => void; }
116
116
  : never
117
117
  : never;
118
118
  type __VLS_NormalizeEmits<T> = __VLS_Prettify<
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/language-core",
3
- "version": "1.8.14",
3
+ "version": "1.8.16",
4
4
  "main": "out/index.js",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -13,12 +13,12 @@
13
13
  "directory": "packages/vue-language-core"
14
14
  },
15
15
  "dependencies": {
16
- "@volar/language-core": "~1.10.0",
17
- "@volar/source-map": "~1.10.0",
16
+ "@volar/language-core": "~1.10.3",
17
+ "@volar/source-map": "~1.10.3",
18
18
  "@vue/compiler-dom": "^3.3.0",
19
19
  "@vue/reactivity": "^3.3.0",
20
20
  "@vue/shared": "^3.3.0",
21
- "minimatch": "^9.0.0",
21
+ "minimatch": "^9.0.3",
22
22
  "muggle-string": "^0.3.1",
23
23
  "vue-template-compiler": "^2.7.14"
24
24
  },
@@ -34,5 +34,5 @@
34
34
  "optional": true
35
35
  }
36
36
  },
37
- "gitHead": "5febf2694e80621a7b852464edc76b74f73a5cb6"
37
+ "gitHead": "f9e281db3f47f9a3f94c79dbbf81102cba01eb5d"
38
38
  }