File tree 2 files changed +16
-0
lines changed
2 files changed +16
-0
lines changed Original file line number Diff line number Diff line change
1
+ import http from 'node:http'
1
2
import { describe , expect , test } from 'vitest'
2
3
import type { InlineConfig } from '..'
3
4
import type { PluginOption , UserConfig , UserConfigExport } from '../config'
@@ -185,6 +186,18 @@ describe('mergeConfig', () => {
185
186
expect ( mergeConfig ( newConfig , baseConfig ) ) . toEqual ( mergedConfig )
186
187
} )
187
188
189
+ test ( 'handles server.hmr.server' , ( ) => {
190
+ const httpServer = http . createServer ( )
191
+
192
+ const baseConfig = { server : { hmr : { server : httpServer } } }
193
+ const newConfig = { server : { hmr : { server : httpServer } } }
194
+
195
+ const mergedConfig = mergeConfig ( baseConfig , newConfig )
196
+
197
+ // Server instance should not be recreated
198
+ expect ( mergedConfig . server . hmr . server ) . toBe ( httpServer )
199
+ } )
200
+
188
201
test ( 'throws error with functions' , ( ) => {
189
202
const baseConfig = defineConfig ( ( ) => ( { base : 'base' } ) )
190
203
const newConfig = defineConfig ( ( ) => ( { base : 'new' } ) )
Original file line number Diff line number Diff line change @@ -1110,6 +1110,9 @@ function mergeConfigRecursively(
1110
1110
...backwardCompatibleWorkerPlugins ( value ) ,
1111
1111
]
1112
1112
continue
1113
+ } else if ( key === 'server' && rootPath === 'server.hmr' ) {
1114
+ merged [ key ] = value
1115
+ continue
1113
1116
}
1114
1117
1115
1118
if ( Array . isArray ( existing ) || Array . isArray ( value ) ) {
You can’t perform that action at this time.
0 commit comments