@@ -155,19 +155,31 @@ export type ResolvedOptions = Omit<Options, 'customElement'> &
155
155
| 'root'
156
156
| 'compiler'
157
157
| 'inlineTemplate'
158
+ | 'features'
158
159
>
159
160
> & {
160
161
/** Vite only */
161
162
devServer ?: ViteDevServer
162
163
devToolsEnabled ?: boolean
163
164
cssDevSourcemap : boolean
164
- features : NonNullable < Options [ 'features' ] >
165
165
}
166
166
167
167
function resolveOptions ( rawOptions : Options ) : ResolvedOptions {
168
168
const root = rawOptions . root ?? process . cwd ( )
169
169
const isProduction =
170
170
rawOptions . isProduction ?? process . env . NODE_ENV === 'production'
171
+ const features = {
172
+ ...rawOptions . features ,
173
+ optionsAPI : true ,
174
+ prodDevtools : false ,
175
+ prodHydrationMismatchDetails : false ,
176
+ propsDestructure : false ,
177
+ ...rawOptions . features ,
178
+ customElement :
179
+ ( rawOptions . features ?. customElement || rawOptions . customElement ) ??
180
+ / \. c e \. v u e $ / ,
181
+ }
182
+
171
183
return {
172
184
...rawOptions ,
173
185
include : rawOptions . include ?? / \. v u e $ / ,
@@ -176,19 +188,10 @@ function resolveOptions(rawOptions: Options): ResolvedOptions {
176
188
sourceMap : rawOptions . sourceMap ?? true ,
177
189
root,
178
190
compiler : rawOptions . compiler as any , // to be set in buildStart
179
- devToolsEnabled : ! isProduction ,
191
+ devToolsEnabled : features . prodDevtools || ! isProduction ,
180
192
cssDevSourcemap : false ,
181
193
inlineTemplate : rawOptions . inlineTemplate ?? true ,
182
- features : {
183
- optionsAPI : true ,
184
- prodDevtools : false ,
185
- prodHydrationMismatchDetails : false ,
186
- propsDestructure : false ,
187
- ...rawOptions . features ,
188
- customElement :
189
- ( rawOptions . features ?. customElement || rawOptions . customElement ) ??
190
- / \. c e \. v u e $ / ,
191
- } ,
194
+ features,
192
195
}
193
196
}
194
197
0 commit comments