diff --git a/packages/plugin-vue/src/main.ts b/packages/plugin-vue/src/main.ts index 708fa7de..724a5a66 100644 --- a/packages/plugin-vue/src/main.ts +++ b/packages/plugin-vue/src/main.ts @@ -321,11 +321,16 @@ async function genScriptCode( ? (['typescript'] as const) : (['typescript', 'decorators-legacy'] as const) : [] - scriptCode = options.compiler.rewriteDefault( - script.content, - '_sfc_main', - [...defaultPlugins, ...userPlugins], - ) + const as = '_sfc_main' + if (options.compiler.rewriteDefaultAST && script.scriptAst) { + options.compiler.rewriteDefaultAST(script.scriptAst, script.s, as) + } else { + scriptCode = options.compiler.rewriteDefault( + script.content, + '_sfc_main', + [...defaultPlugins, ...userPlugins], + ) + } map = script.map } else { if (script.src) {