@@ -170,7 +170,7 @@ export type ReactRouterConfig = {
170
170
*/
171
171
routeDiscovery ?:
172
172
| {
173
- mode ? : "lazy" ;
173
+ mode : "lazy" ;
174
174
manifestPath ?: string ;
175
175
}
176
176
| {
@@ -412,10 +412,6 @@ async function resolveConfig({
412
412
let defaults = {
413
413
basename : "/" ,
414
414
buildDirectory : "build" ,
415
- routeDiscovery : {
416
- mode : "lazy" ,
417
- manifestPath : "/__manifest" ,
418
- } ,
419
415
serverBuildFile : "index.js" ,
420
416
serverModuleFormat : "esm" ,
421
417
ssr : true ,
@@ -432,7 +428,7 @@ async function resolveConfig({
432
428
buildDirectory : userBuildDirectory ,
433
429
buildEnd,
434
430
prerender,
435
- routeDiscovery,
431
+ routeDiscovery : userRouteDiscovery ,
436
432
serverBuildFile,
437
433
serverBundles,
438
434
serverModuleFormat,
@@ -459,25 +455,34 @@ async function resolveConfig({
459
455
) ;
460
456
}
461
457
462
- if ( userAndPresetConfigs . routeDiscovery == null ) {
463
- // Disable FOW when SSR is disabled, otherwise use defaults
464
- if ( ! ssr ) {
458
+ let routeDiscovery : ResolvedReactRouterConfig [ "routeDiscovery" ] ;
459
+ if ( userRouteDiscovery == null ) {
460
+ if ( ssr ) {
461
+ routeDiscovery = {
462
+ mode : "lazy" ,
463
+ manifestPath : "/__manifest" ,
464
+ } ;
465
+ } else {
465
466
routeDiscovery = { mode : "initial" } ;
466
467
}
467
- } else if ( userAndPresetConfigs . routeDiscovery . mode === "lazy" ) {
468
+ } else if ( userRouteDiscovery . mode === "initial" ) {
469
+ routeDiscovery = userRouteDiscovery ;
470
+ } else if ( userRouteDiscovery . mode === "lazy" ) {
468
471
if ( ! ssr ) {
469
472
return err (
470
473
'The `routeDiscovery.mode` config cannot be set to "lazy" when setting `ssr:false`'
471
474
) ;
472
475
}
473
476
474
- let manifestPath = userAndPresetConfigs . routeDiscovery . manifestPath ;
477
+ let { manifestPath } = userRouteDiscovery ;
475
478
if ( manifestPath != null && ! manifestPath . startsWith ( "/" ) ) {
476
479
return err (
477
480
"The `routeDiscovery.manifestPath` config must be a root-relative " +
478
481
'pathname beginning with a slash (i.e., "/__manifest")'
479
482
) ;
480
483
}
484
+
485
+ routeDiscovery = userRouteDiscovery ;
481
486
}
482
487
483
488
let appDirectory = path . resolve ( root , userAppDirectory || "app" ) ;
0 commit comments