diff --git a/packages/vue-test-workspace/tsconfig.json b/packages/vue-test-workspace/tsconfig.json index 7a1421bcc..e90a107ba 100644 --- a/packages/vue-test-workspace/tsconfig.json +++ b/packages/vue-test-workspace/tsconfig.json @@ -5,8 +5,6 @@ "dom" ], "strict": true, - "allowJs": true, - "checkJs": true, "noUncheckedIndexedAccess": true, "noUnusedLocals": true, "noUnusedParameters": true, diff --git a/packages/vue-test-workspace/typeChecks/no_script_block.vue b/packages/vue-test-workspace/typeChecks/no_script_block.vue new file mode 100644 index 000000000..b9534d7bd --- /dev/null +++ b/packages/vue-test-workspace/typeChecks/no_script_block.vue @@ -0,0 +1,3 @@ + + + diff --git a/packages/vue-typescript/src/plugins/petite-vue-script.ts b/packages/vue-typescript/src/plugins/petite-vue-script.ts index 9c807aede..f8673cd91 100644 --- a/packages/vue-typescript/src/plugins/petite-vue-script.ts +++ b/packages/vue-typescript/src/plugins/petite-vue-script.ts @@ -58,8 +58,8 @@ export default function ( codeGen.addText('{}'); } codeGen.addText(';\n'); - codeGen.addText(`const __VLS_ctx = (await import('vue')).defineComponent({});\n`); - codeGen.addText(`declare const __VLS_export: new () => typeof __VLS_scope & import('./__VLS_types').PickNotAny, {}>;\n`); + codeGen.addText(`const __VLS_component = (await import('vue')).defineComponent({});\n`); + codeGen.addText(`declare const __VLS_export: new () => typeof __VLS_scope & import('./__VLS_types').PickNotAny, {}>;\n`); codeGen.addText('export default __VLS_export;\n'); const file: EmbeddedFile = { diff --git a/packages/vue-typescript/src/plugins/vue-typescript-template.ts b/packages/vue-typescript/src/plugins/vue-typescript-template.ts index 517c4c5bd..4f5c92440 100644 --- a/packages/vue-typescript/src/plugins/vue-typescript-template.ts +++ b/packages/vue-typescript/src/plugins/vue-typescript-template.ts @@ -65,7 +65,7 @@ export default function ( writeImportTypes(); - tsxCodeGen.addText(`declare var __VLS_ctx: ${useGlobalThisTypeInCtx ? 'typeof globalThis &' : ''} __VLS_types.PickNotAny, {}> & {\n`); + tsxCodeGen.addText(`declare var __VLS_ctx: ${useGlobalThisTypeInCtx ? 'typeof globalThis &' : ''} InstanceType<__VLS_types.PickNotAny {}>> & {\n`); /* CSS Module */ for (const cssModule of cssModuleClasses.value) { tsxCodeGen.addText(`${cssModule.style.module}: Record`); diff --git a/packages/vue-typescript/src/sourceFile.ts b/packages/vue-typescript/src/sourceFile.ts index 9bd4d19e6..129a6b933 100644 --- a/packages/vue-typescript/src/sourceFile.ts +++ b/packages/vue-typescript/src/sourceFile.ts @@ -219,7 +219,7 @@ export function createSourceFile( : undefined ); const scriptLang = computed(() => { - return !sfc.script && !sfc.scriptSetup ? 'js' + return !sfc.script && !sfc.scriptSetup ? 'ts' : sfc.scriptSetup && sfc.scriptSetup.lang !== 'js' ? sfc.scriptSetup.lang : sfc.script && sfc.script.lang !== 'js' ? sfc.script.lang : 'js';