@@ -170,11 +170,6 @@ export interface DevEnvironmentOptions {
170
170
| false
171
171
| ( ( sourcePath : string , sourcemapPath : string ) => boolean )
172
172
173
- /**
174
- * Optimize deps config
175
- */
176
- optimizeDeps ?: DepOptimizationOptions
177
-
178
173
/**
179
174
* create the Dev Environment instance
180
175
*/
@@ -251,6 +246,10 @@ export interface SharedEnvironmentOptions {
251
246
* Temporal options, we should remove these in favor of fine-grained control
252
247
*/
253
248
webCompatible ?: boolean // was ssr.target === 'webworker'
249
+ /**
250
+ * Optimize deps config
251
+ */
252
+ optimizeDeps ?: DepOptimizationOptions
254
253
}
255
254
256
255
export interface EnvironmentOptions extends SharedEnvironmentOptions {
@@ -271,6 +270,7 @@ export type ResolvedEnvironmentOptions = {
271
270
resolve : ResolvedResolveOptions
272
271
consumer : 'client' | 'server'
273
272
webCompatible : boolean
273
+ optimizeDeps : DepOptimizationOptions
274
274
dev : ResolvedDevEnvironmentOptions
275
275
build : ResolvedBuildEnvironmentOptions
276
276
}
@@ -589,7 +589,6 @@ export type ResolvedConfig = Readonly<
589
589
590
590
export function resolveDevEnvironmentOptions (
591
591
dev : DevEnvironmentOptions | undefined ,
592
- preserverSymlinks : boolean ,
593
592
environmentName : string | undefined ,
594
593
consumer : 'client' | 'server' | undefined ,
595
594
// Backward compatibility
@@ -603,11 +602,6 @@ export function resolveDevEnvironmentOptions(
603
602
: dev ?. sourcemapIgnoreList || isInNodeModules ,
604
603
preTransformRequests : dev ?. preTransformRequests ?? consumer === 'client' ,
605
604
warmup : dev ?. warmup ?? [ ] ,
606
- optimizeDeps : resolveDepOptimizationOptions (
607
- dev ?. optimizeDeps ,
608
- preserverSymlinks ,
609
- consumer ,
610
- ) ,
611
605
createEnvironment :
612
606
dev ?. createEnvironment ??
613
607
( environmentName === 'client'
@@ -646,9 +640,13 @@ function resolveEnvironmentOptions(
646
640
resolve,
647
641
consumer,
648
642
webCompatible : options . webCompatible ?? consumer === 'client' ,
643
+ optimizeDeps : resolveDepOptimizationOptions (
644
+ options . optimizeDeps ,
645
+ resolve . preserveSymlinks ,
646
+ consumer ,
647
+ ) ,
649
648
dev : resolveDevEnvironmentOptions (
650
649
options . dev ,
651
- resolve . preserveSymlinks ,
652
650
environmentName ,
653
651
consumer ,
654
652
skipSsrTransform ,
@@ -911,13 +909,8 @@ export async function resolveConfig(
911
909
912
910
checkBadCharactersInPath ( resolvedRoot , logger )
913
911
914
- // Backward compatibility: merge optimizeDeps into environments.client.dev.optimizeDeps as defaults
915
912
const configEnvironmentsClient = config . environments ! . client !
916
913
configEnvironmentsClient . dev ??= { }
917
- configEnvironmentsClient . dev . optimizeDeps = mergeConfig (
918
- config . optimizeDeps ?? { } ,
919
- configEnvironmentsClient . dev . optimizeDeps ?? { } ,
920
- )
921
914
922
915
const deprecatedSsrOptimizeDepsConfig = config . ssr ?. optimizeDeps ?? { }
923
916
let configEnvironmentsSsr = config . environments ! . ssr
@@ -935,10 +928,9 @@ export async function resolveConfig(
935
928
936
929
// Backward compatibility: merge ssr into environments.ssr.config as defaults
937
930
if ( configEnvironmentsSsr ) {
938
- configEnvironmentsSsr . dev ??= { }
939
- configEnvironmentsSsr . dev . optimizeDeps = mergeConfig (
931
+ configEnvironmentsSsr . optimizeDeps = mergeConfig (
940
932
deprecatedSsrOptimizeDepsConfig ,
941
- configEnvironmentsSsr . dev . optimizeDeps ?? { } ,
933
+ configEnvironmentsSsr . optimizeDeps ?? { } ,
942
934
)
943
935
944
936
configEnvironmentsSsr . resolve ??= { }
@@ -972,9 +964,16 @@ export async function resolveConfig(
972
964
973
965
// Merge default environment config values
974
966
const defaultEnvironmentOptions = getDefaultEnvironmentOptions ( config )
967
+ // Some top level options only apply to the client environment
968
+ const defaultClientEnvironmentOptions = {
969
+ ...defaultEnvironmentOptions ,
970
+ optimizeDeps : config . optimizeDeps ,
971
+ }
975
972
for ( const name of Object . keys ( config . environments ) ) {
976
973
config . environments [ name ] = mergeConfig (
977
- defaultEnvironmentOptions ,
974
+ name === 'client'
975
+ ? defaultClientEnvironmentOptions
976
+ : defaultEnvironmentOptions ,
978
977
config . environments [ name ] ,
979
978
)
980
979
}
@@ -995,16 +994,15 @@ export async function resolveConfig(
995
994
)
996
995
}
997
996
998
- // Backward compatibility: merge environments.client.dev. optimizeDeps back into optimizeDeps
997
+ // Backward compatibility: merge environments.client.optimizeDeps back into optimizeDeps
999
998
// The same object is assigned back for backward compatibility. The ecosystem is modifying
1000
999
// optimizeDeps in the ResolvedConfig hook, so these changes will be reflected on the
1001
1000
// client environment.
1002
1001
const backwardCompatibleOptimizeDeps =
1003
- resolvedEnvironments . client . dev . optimizeDeps
1002
+ resolvedEnvironments . client . optimizeDeps
1004
1003
1005
1004
const resolvedDevEnvironmentOptions = resolveDevEnvironmentOptions (
1006
1005
config . dev ,
1007
- resolvedDefaultResolve . preserveSymlinks ,
1008
1006
// default environment options
1009
1007
undefined ,
1010
1008
undefined ,
@@ -1022,7 +1020,7 @@ export async function resolveConfig(
1022
1020
...config . ssr ,
1023
1021
external : resolvedEnvironments . ssr ?. resolve . external ,
1024
1022
noExternal : resolvedEnvironments . ssr ?. resolve . noExternal ,
1025
- optimizeDeps : resolvedEnvironments . ssr ?. dev ?. optimizeDeps ,
1023
+ optimizeDeps : resolvedEnvironments . ssr ?. optimizeDeps ,
1026
1024
resolve : {
1027
1025
...config . ssr ?. resolve ,
1028
1026
conditions : resolvedEnvironments . ssr ?. resolve . conditions ,
@@ -1230,10 +1228,9 @@ export async function resolveConfig(
1230
1228
} ,
1231
1229
future : config . future ,
1232
1230
1233
- // Backward compatibility, users should use environment.config.dev.optimizeDeps
1234
- optimizeDeps : backwardCompatibleOptimizeDeps ,
1235
1231
ssr,
1236
1232
1233
+ optimizeDeps : backwardCompatibleOptimizeDeps ,
1237
1234
resolve : resolvedDefaultResolve ,
1238
1235
dev : resolvedDevEnvironmentOptions ,
1239
1236
build : resolvedBuildOptions ,
0 commit comments