Skip to content

Commit b63a7a9

Browse files
fix(plugin-vue): rewrite default after ts compiled (#3591)
Co-authored-by: Shinigami <[email protected]>
1 parent f8c045a commit b63a7a9

File tree

2 files changed

+3
-17
lines changed

2 files changed

+3
-17
lines changed

packages/plugin-vue/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
},
3030
"homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-vue#readme",
3131
"peerDependencies": {
32-
"@vue/compiler-sfc": "^3.0.6"
32+
"@vue/compiler-sfc": "^3.0.8"
3333
},
3434
"devDependencies": {
3535
"@rollup/pluginutils": "^4.1.0",

packages/plugin-vue/src/main.ts

+2-16
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,6 @@ async function genTemplateCode(
225225
}
226226
}
227227

228-
const exportDefaultClassRE =
229-
/(?:(?:^|\n|;)\s*)export\s+default\s+class\s+([\w$]+)/
230-
231228
async function genScriptCode(
232229
descriptor: SFCDescriptor,
233230
options: ResolvedOptions,
@@ -247,19 +244,7 @@ async function genScriptCode(
247244
(!script.lang || (script.lang === 'ts' && options.devServer)) &&
248245
!script.src
249246
) {
250-
// TODO remove the class check logic after upgrading @vue/compiler-sfc
251-
const classMatch = script.content.match(exportDefaultClassRE)
252-
if (classMatch) {
253-
scriptCode =
254-
script.content.replace(exportDefaultClassRE, `\nclass $1`) +
255-
`\nconst _sfc_main = ${classMatch[1]}`
256-
if (/export\s+default/.test(scriptCode)) {
257-
// fallback if there are still export default
258-
scriptCode = rewriteDefault(script.content, `_sfc_main`)
259-
}
260-
} else {
261-
scriptCode = rewriteDefault(script.content, `_sfc_main`)
262-
}
247+
scriptCode = script.content
263248
map = script.map
264249
if (script.lang === 'ts') {
265250
const result = await options.devServer!.transformWithEsbuild(
@@ -271,6 +256,7 @@ async function genScriptCode(
271256
scriptCode = result.code
272257
map = result.map
273258
}
259+
scriptCode = rewriteDefault(scriptCode, `_sfc_main`)
274260
} else {
275261
if (script.src) {
276262
await linkSrcToDescriptor(script.src, descriptor, pluginContext)

0 commit comments

Comments
 (0)