@@ -2821,11 +2821,14 @@ export async function getBuildManifest(
2821
2821
2822
2822
function mergeEnvironmentOptions (
2823
2823
base : EnvironmentOptions ,
2824
- overrides : EnvironmentOptions
2824
+ ... overrides : EnvironmentOptions [ ]
2825
2825
) : EnvironmentOptions {
2826
2826
let vite = getVite ( ) ;
2827
2827
2828
- return vite . mergeConfig ( base , overrides , false ) ;
2828
+ return overrides . reduce (
2829
+ ( merged , override ) => vite . mergeConfig ( merged , override , false ) ,
2830
+ base
2831
+ ) ;
2829
2832
}
2830
2833
2831
2834
export async function getEnvironmentOptionsResolvers (
@@ -2968,20 +2971,27 @@ export async function getEnvironmentOptionsResolvers(
2968
2971
for ( let [ serverBundleId , routes ] of Object . entries (
2969
2972
getRoutesByServerBundleId ( buildManifest )
2970
2973
) ) {
2971
- environmentOptionsResolvers [
2972
- // Note: Hyphens are not valid in Vite environment names
2973
- `${ SSR_BUNDLE_PREFIX } ${ serverBundleId . replaceAll ( "-" , "_" ) } `
2974
- ] = ( { viteUserConfig } ) =>
2975
- mergeEnvironmentOptions ( getBaseServerOptions ( { viteUserConfig } ) , {
2976
- build : {
2977
- outDir : getServerBuildDirectory ( ctx , { serverBundleId } ) ,
2978
- rollupOptions : {
2979
- input : `${ virtual . serverBuild . id } ?route-ids=${ Object . keys (
2980
- routes
2981
- ) . join ( "," ) } `,
2974
+ // Note: Hyphens are not valid in Vite environment names
2975
+ const serverBundleEnvironmentId = serverBundleId . replaceAll ( "-" , "_" ) ;
2976
+ const environmentName =
2977
+ `${ SSR_BUNDLE_PREFIX } ${ serverBundleEnvironmentId } ` as const ;
2978
+ environmentOptionsResolvers [ environmentName ] = ( { viteUserConfig } ) =>
2979
+ mergeEnvironmentOptions (
2980
+ getBaseServerOptions ( { viteUserConfig } ) ,
2981
+ {
2982
+ build : {
2983
+ outDir : getServerBuildDirectory ( ctx , { serverBundleId } ) ,
2984
+ rollupOptions : {
2985
+ input : `${ virtual . serverBuild . id } ?route-ids=${ Object . keys (
2986
+ routes
2987
+ ) . join ( "," ) } `,
2988
+ } ,
2982
2989
} ,
2983
2990
} ,
2984
- } ) ;
2991
+ // Ensure server bundle environments extend the user's SSR
2992
+ // environment config if it exists
2993
+ viteUserConfig . environments ?. ssr ?? { }
2994
+ ) ;
2985
2995
}
2986
2996
} else {
2987
2997
environmentOptionsResolvers . ssr = ( { viteUserConfig } ) =>
0 commit comments