vite-plugin-vue2
vite-plugin-vue2 copied to clipboard
Using vue-property-decorator and "default" string causes error
Hi,
I'm experiencing a strange issue.
Whenever I use default as class prop or even as a string like defaultSomething in a JS-comment in my .vue-files, the following error shows up:
Error:
10:57:46 AM [vite] Internal server error: Cannot overwrite across a split point
Plugin: vite:vue2
File: app/src/components/Form/FormStepProgress.vue
at MagicString.overwrite (\app\node_modules\@vue\compiler-sfc\dist\compiler-sfc.js:2362:11)
at \app\node_modules\@vue\compiler-sfc\dist\compiler-sfc.js:8182:15
at Array.forEach (<anonymous>)
at Object.rewriteDefault (\app\node_modules\@vue\compiler-sfc\dist\compiler-sfc.js:8180:9)
at genScriptCode (\app\node_modules\@vitejs\plugin-vue2\dist\index.cjs:2993:37)
at transformMain (\app\node_modules\@vitejs\plugin-vue2\dist\index.cjs:2911:54)
at TransformContext.transform (\app\node_modules\@vitejs\plugin-vue2\dist\index.cjs:3248:16)
at Object.transform (file:///app/node_modules/vite/dist/node/chunks/dep-1513d487.js:35277:53)
at async loadAndTransform (file:///app/node_modules/vite/dist/node/chunks/dep-1513d487.js:39776:29)
Deps:
on Windows@11
Update
DEMO: https://stackblitz.com/edit/vue2-vite-starter-gkrjjz?file=src/components/Test.vue Exporting an interface in combination with the string 'defaultXXX' inside a comment shows the error.
I assume that this line is causing the error:
at genScriptCode (\app\node_modules\@vitejs\plugin-vue2\dist\index.cjs:2993:37)
Code
scriptCode = options.compiler.rewriteDefault(script.content, "_sfc_main", [...defaultPlugins, ...userPlugins]);
+1
Also happening for me, but with Vite version v2.9.14, and Vue version v2.7.8.
I can also reproduce this on
- Vue 2.7.8
- Vite 3.0.7
- @vitejs/plugin-vue2 1.1.2
Seems to be related to
- https://github.com/vuejs/core/pull/6320
as when moving the default export [className] after the class declaration, everything works nicely.
After updating to [email protected] the issue is gone: https://stackblitz.com/edit/vue2-vite-starter-th6fyw?file=package.json
@CreMindES This might had fixed it in 2.7.9 according to the changelog: https://github.com/vuejs/vue/pull/12747