File tree 2 files changed +26
-6
lines changed
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 {
53
53
name : 'vite:vue-jsx' ,
54
54
55
55
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
+ }
56
63
return {
57
64
// only apply esbuild to ts files
58
65
// since we are handling jsx and tsx now
59
66
esbuild : {
60
67
include : / \. t s $ / ,
61
68
} ,
62
69
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 ,
65
74
__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 ,
67
78
} ,
68
79
}
69
80
} ,
Original file line number Diff line number Diff line change @@ -245,22 +245,31 @@ export default function vuePlugin(rawOptions: Options = {}): Plugin<Api> {
245
245
} ,
246
246
247
247
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
+ }
248
255
return {
249
256
resolve : {
250
257
dedupe : config . build ?. ssr ? [ ] : [ 'vue' ] ,
251
258
} ,
252
259
define : {
253
260
__VUE_OPTIONS_API__ :
254
261
options . value . features ?. optionsAPI ??
255
- config . define ?. __VUE_OPTIONS_API__ ??
262
+ parseDefine ( config . define ?. __VUE_OPTIONS_API__ ) ??
256
263
true ,
257
264
__VUE_PROD_DEVTOOLS__ :
258
265
( options . value . features ?. prodDevtools ||
259
- config . define ?. __VUE_PROD_DEVTOOLS__ ) ??
266
+ parseDefine ( config . define ?. __VUE_PROD_DEVTOOLS__ ) ) ??
260
267
false ,
261
268
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ :
262
269
( options . value . features ?. prodHydrationMismatchDetails ||
263
- config . define ?. __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ ) ??
270
+ parseDefine (
271
+ config . define ?. __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ ,
272
+ ) ) ??
264
273
false ,
265
274
} ,
266
275
ssr : {
You can’t perform that action at this time.
0 commit comments