Skip to content

Commit 14f63fd

Browse files
committed
refactor(language-core): remove bypassDefineComponent hack
close #4876
1 parent 15c3005 commit 14f63fd

File tree

2 files changed

+6
-19
lines changed

2 files changed

+6
-19
lines changed

packages/language-core/lib/codegen/script/component.ts

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,7 @@ export function* generateComponent(
3232
}
3333

3434
const returns: string[][] = [];
35-
const isJs = options.lang === 'js' || options.lang === 'jsx';
36-
if (isJs) {
37-
// fill $props
38-
if (scriptSetupRanges.defineProps) {
39-
const name = scriptSetupRanges.defineProps.name ?? names.props;
40-
// NOTE: defineProps is inaccurate for $props
41-
returns.push([name]);
42-
returns.push([`{} as { $props: Partial<typeof ${name}> }`]);
43-
}
44-
// fill $emit
45-
if (scriptSetupRanges.defineEmits) {
46-
returns.push([`{} as { $emit: typeof ${scriptSetupRanges.defineEmits.name ?? names.emit} }`]);
47-
}
48-
}
35+
4936
if (scriptSetupRanges.defineExpose) {
5037
returns.push([names.exposed]);
5138
}
@@ -55,11 +42,10 @@ export function* generateComponent(
5542
yield `),${newLine}`;
5643
}
5744

58-
if (!isJs) {
59-
const emitOptionCodes = [...generateEmitsOption(options, scriptSetupRanges)];
60-
yield* emitOptionCodes;
61-
yield* generatePropsOption(options, ctx, scriptSetup, scriptSetupRanges, !!emitOptionCodes.length);
62-
}
45+
const emitOptionCodes = [...generateEmitsOption(options, scriptSetupRanges)];
46+
yield* emitOptionCodes;
47+
yield* generatePropsOption(options, ctx, scriptSetup, scriptSetupRanges, !!emitOptionCodes.length);
48+
6349
if (
6450
options.vueCompilerOptions.target >= 3.5
6551
&& options.vueCompilerOptions.inferComponentDollarRefs

test-workspace/tsc/passedFixtures/vue3.4/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"../vue3/#4820",
1515
"../vue3/#4826",
1616
"../vue3/#4828",
17+
"../vue3/#4878",
1718
"../vue3/#5120",
1819
"../vue3/rootEl",
1920
"../vue3/templateRef",

0 commit comments

Comments
 (0)