diff --git a/src/typescript-reporter/extension/vue/TypeScriptVueExtension.ts b/src/typescript-reporter/extension/vue/TypeScriptVueExtension.ts index fd217449..a90beced 100644 --- a/src/typescript-reporter/extension/vue/TypeScriptVueExtension.ts +++ b/src/typescript-reporter/extension/vue/TypeScriptVueExtension.ts @@ -112,8 +112,8 @@ function createTypeScriptVueExtension( } else if (isVueTemplateCompilerV3(compiler)) { const parsed = compiler.parse(vueSourceText); - if (parsed.descriptor && parsed.descriptor.script) { - const scriptV3 = parsed.descriptor.script; + if (parsed.descriptor && (parsed.descriptor.script || parsed.descriptor.scriptSetup)) { + const scriptV3 = (parsed.descriptor.script || parsed.descriptor.scriptSetup)!; // map newer version of SFCScriptBlock to the generic one script = { diff --git a/src/typescript-reporter/extension/vue/types/vue__compiler-sfc.ts b/src/typescript-reporter/extension/vue/types/vue__compiler-sfc.ts index eada888d..5a933576 100644 --- a/src/typescript-reporter/extension/vue/types/vue__compiler-sfc.ts +++ b/src/typescript-reporter/extension/vue/types/vue__compiler-sfc.ts @@ -23,6 +23,7 @@ interface SFCDescriptor { filename: string; template: SFCBlock | null; script: SFCBlock | null; + scriptSetup: SFCBlock | null; styles: SFCBlock[]; customBlocks: SFCBlock[]; } diff --git a/test/e2e/fixtures/implementation/typescript-vue.fixture b/test/e2e/fixtures/implementation/typescript-vue.fixture index b38a3c30..7a77e187 100644 --- a/test/e2e/fixtures/implementation/typescript-vue.fixture +++ b/test/e2e/fixtures/implementation/typescript-vue.fixture @@ -92,7 +92,7 @@ h1 {

-