MCPcopy
hub / github.com/vitejs/vite / setupHmrWsOptionCompat

Function setupHmrWsOptionCompat

packages/vite/src/node/utils.ts:1363–1402  ·  view source on GitHub ↗
(
  serverConfig: Pick<ServerOptions, 'hmr' | 'ws'>,
)

Source from the content-addressed store, hash-verified

1361})()
1362
1363export function setupHmrWsOptionCompat(
1364 serverConfig: Pick<ServerOptions, 'hmr' | 'ws'>,
1365): void {
1366 if (serverConfig.hmr === false || serverConfig.ws === false) {
1367 return
1368 }
1369 if (serverConfig.hmr === true) {
1370 serverConfig.hmr = {}
1371 }
1372
1373 const hmrConfig = serverConfig.hmr
1374 const wsConfig = serverConfig.ws ? { ...serverConfig.ws } : {}
1375 if (hmrConfig) {
1376 for (const key of wsOptionKeys) {
1377 if (hmrConfig[key] !== undefined) {
1378 // @ts-expect-error same value for same key
1379 wsConfig[key] ??= hmrConfig[key]
1380 }
1381 }
1382 }
1383 serverConfig.ws = wsConfig
1384
1385 const hmrProxy = hmrConfig || {}
1386 for (const key of wsOptionKeys) {
1387 Object.defineProperty(hmrProxy, key, {
1388 get() {
1389 return (serverConfig.ws as Record<string, unknown>)?.[key]
1390 },
1391 set(newValue) {
1392 hmrWsOptionsDeprecationCall()
1393 if (typeof serverConfig.ws === 'object') {
1394 ;(serverConfig.ws as Record<string, unknown>)[key] = newValue
1395 }
1396 },
1397 configurable: true,
1398 enumerable: true,
1399 })
1400 }
1401 serverConfig.hmr = hmrProxy
1402}
1403
1404function mergeConfigRecursively(
1405 defaults: Record<string, any>,

Callers 2

resolveServerOptionsFunction · 0.90
mergeConfigRecursivelyFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected