diff --git a/packages/vue-language-core/src/generators/script.ts b/packages/vue-language-core/src/generators/script.ts index 70cb65cdb1..fdd4a45579 100644 --- a/packages/vue-language-core/src/generators/script.ts +++ b/packages/vue-language-core/src/generators/script.ts @@ -734,7 +734,7 @@ declare function defineProp(value?: T | (() => T), required?: boolean, rest?: const templateStart = getLength(codes); codes.push(varName); const templateEnd = getLength(codes); - codes.push(`: {} as typeof `); + codes.push(`: ${varName} as typeof `); const scriptStart = getLength(codes); codes.push(varName); diff --git a/packages/vue-test-workspace/vue-tsc/#3373/NavBar.vue b/packages/vue-test-workspace/vue-tsc/#3373/NavBar.vue new file mode 100644 index 0000000000..f1819dcd12 --- /dev/null +++ b/packages/vue-test-workspace/vue-tsc/#3373/NavBar.vue @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/vue-test-workspace/vue-tsc/#3373/main.vue b/packages/vue-test-workspace/vue-tsc/#3373/main.vue new file mode 100644 index 0000000000..07714b5bfe --- /dev/null +++ b/packages/vue-test-workspace/vue-tsc/#3373/main.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/packages/vue-test-workspace/vue-tsc/#3373/tsconfig.json b/packages/vue-test-workspace/vue-tsc/#3373/tsconfig.json new file mode 100644 index 0000000000..75ca6e879d --- /dev/null +++ b/packages/vue-test-workspace/vue-tsc/#3373/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "importsNotUsedAsValues": "error", + "ignoreDeprecations": "5.0" + }, + "include": ["**/*"] +} diff --git a/packages/vue-tsc/tests/index.spec.ts b/packages/vue-tsc/tests/index.spec.ts index 578c11fddc..5e91c65287 100644 --- a/packages/vue-tsc/tests/index.spec.ts +++ b/packages/vue-tsc/tests/index.spec.ts @@ -38,4 +38,5 @@ function runVueTsc(cwd: string) { describe(`vue-tsc`, () => { it(`vue-tsc no errors (non-strict-template)`, () => runVueTsc(path.resolve(workspace, './non-strict-template')), 40_000); it(`vue-tsc no errors (strict-template)`, () => runVueTsc(path.resolve(workspace, './strict-template')), 40_000); + it(`vue-tsc no errors (#3373)`, () => runVueTsc(path.resolve(workspace, './#3373')), 40_000); });