File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1073,6 +1073,31 @@ describe('mergeConfig', () => {
10731073 expect ( config . server . ws ?. overlay ) . toBeUndefined ( )
10741074 } )
10751075
1076+ test ( '`mergeConfig` does not crash when `server.ws` is false and `server.hmr` is merged' , ( ) => {
1077+ const baseConfig = defineConfig ( {
1078+ server : {
1079+ ws : false ,
1080+ hmr : {
1081+ host : 'localhost' ,
1082+ } ,
1083+ } ,
1084+ } )
1085+
1086+ const newConfig = defineConfig ( {
1087+ server : {
1088+ hmr : {
1089+ port : 5173 ,
1090+ } ,
1091+ } ,
1092+ } )
1093+
1094+ const mergedConfig = mergeConfig ( baseConfig , newConfig )
1095+
1096+ expect ( mergedConfig . server . ws ) . toBe ( false )
1097+ expect ( mergedConfig . server . hmr ) . toBeTypeOf ( 'object' )
1098+ expect ( mergedConfig . server . hmr ) . toBeTruthy ( )
1099+ } )
1100+
10761101 test ( 'resolveConfig properly syncs hmr and ws' , async ( ) => {
10771102 const config = await resolveConfig (
10781103 {
Original file line number Diff line number Diff line change @@ -1479,11 +1479,10 @@ function mergeConfigRecursively(
14791479 }
14801480 if ( rootPath === 'server.hmr' ) {
14811481 for ( const key of wsOptionKeys ) {
1482- Object . defineProperty (
1483- merged ,
1484- key ,
1485- Object . getOwnPropertyDescriptor ( defaults , key ) ! ,
1486- )
1482+ const descriptor = Object . getOwnPropertyDescriptor ( defaults , key )
1483+ if ( descriptor ) {
1484+ Object . defineProperty ( merged , key , descriptor )
1485+ }
14871486 }
14881487 }
14891488
You can’t perform that action at this time.
0 commit comments