File tree Expand file tree Collapse file tree 2 files changed +26
-6
lines changed Expand file tree Collapse file tree 2 files changed +26
-6
lines changed Original file line number Diff line number Diff line change @@ -53,17 +53,28 @@ function vueJsxPlugin(options: Options = {}): Plugin {
5353 name : 'vite:vue-jsx' ,
5454
5555 config ( config ) {
56+ const parseDefine = ( v : unknown ) => {
57+ try {
58+ return typeof v === 'string' ? JSON . parse ( v ) : v
59+ } catch ( err ) {
60+ return v
61+ }
62+ }
5663 return {
5764 // only apply esbuild to ts files
5865 // since we are handling jsx and tsx now
5966 esbuild : {
6067 include : / \. t s $ / ,
6168 } ,
6269 define : {
63- __VUE_OPTIONS_API__ : config . define ?. __VUE_OPTIONS_API__ ?? true ,
64- __VUE_PROD_DEVTOOLS__ : config . define ?. __VUE_PROD_DEVTOOLS__ ?? false ,
70+ __VUE_OPTIONS_API__ :
71+ parseDefine ( config . define ?. __VUE_OPTIONS_API__ ) ?? true ,
72+ __VUE_PROD_DEVTOOLS__ :
73+ parseDefine ( config . define ?. __VUE_PROD_DEVTOOLS__ ) ?? false ,
6574 __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ :
66- config . define ?. __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ ?? false ,
75+ parseDefine (
76+ config . define ?. __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ ,
77+ ) ?? false ,
6778 } ,
6879 }
6980 } ,
Original file line number Diff line number Diff line change @@ -245,22 +245,31 @@ export default function vuePlugin(rawOptions: Options = {}): Plugin<Api> {
245245 } ,
246246
247247 config ( config ) {
248+ const parseDefine = ( v : unknown ) => {
249+ try {
250+ return typeof v === 'string' ? JSON . parse ( v ) : v
251+ } catch ( err ) {
252+ return v
253+ }
254+ }
248255 return {
249256 resolve : {
250257 dedupe : config . build ?. ssr ? [ ] : [ 'vue' ] ,
251258 } ,
252259 define : {
253260 __VUE_OPTIONS_API__ :
254261 options . value . features ?. optionsAPI ??
255- config . define ?. __VUE_OPTIONS_API__ ??
262+ parseDefine ( config . define ?. __VUE_OPTIONS_API__ ) ??
256263 true ,
257264 __VUE_PROD_DEVTOOLS__ :
258265 ( options . value . features ?. prodDevtools ||
259- config . define ?. __VUE_PROD_DEVTOOLS__ ) ??
266+ parseDefine ( config . define ?. __VUE_PROD_DEVTOOLS__ ) ) ??
260267 false ,
261268 __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ :
262269 ( options . value . features ?. prodHydrationMismatchDetails ||
263- config . define ?. __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ ) ??
270+ parseDefine (
271+ config . define ?. __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ ,
272+ ) ) ??
264273 false ,
265274 } ,
266275 ssr : {
You can’t perform that action at this time.
0 commit comments