Skip to content

Commit e57cacf

Browse files
authoredMar 11, 2023
fix: print urls when dns order change (#12261)
1 parent 4a42c90 commit e57cacf

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed
 

‎packages/vite/src/node/server/index.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {
2323
import type { InlineConfig, ResolvedConfig } from '../config'
2424
import { isDepsOptimizerEnabled, resolveConfig } from '../config'
2525
import {
26+
diffDnsOrderChange,
2627
isParentDirectory,
2728
mergeConfig,
2829
normalizePath,
@@ -814,7 +815,7 @@ async function restartServer(server: ViteDevServer) {
814815
global.__vite_start_time = performance.now()
815816
const { port: prevPort, host: prevHost } = server.config.server
816817
const shortcutsOptions: BindShortcutsOptions = server._shortcutsOptions
817-
818+
const oldUrls = server.resolvedUrls
818819
await server.close()
819820

820821
let inlineConfig = server.config.inlineConfig
@@ -850,7 +851,8 @@ async function restartServer(server: ViteDevServer) {
850851
logger.info('server restarted.', { timestamp: true })
851852
if (
852853
(port ?? DEFAULT_DEV_PORT) !== (prevPort ?? DEFAULT_DEV_PORT) ||
853-
host !== prevHost
854+
host !== prevHost ||
855+
diffDnsOrderChange(oldUrls, newServer.resolvedUrls)
854856
) {
855857
logger.info('')
856858
server.printUrls()

‎packages/vite/src/node/utils.ts

+14-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import {
3333
} from './constants'
3434
import type { DepOptimizationConfig } from './optimizer'
3535
import type { ResolvedConfig } from './config'
36-
import type { ResolvedServerUrls } from './server'
36+
import type { ResolvedServerUrls, ViteDevServer } from './server'
3737
import type { CommonServerOptions } from '.'
3838

3939
/**
@@ -815,6 +815,19 @@ export async function getLocalhostAddressIfDiffersFromDNS(): Promise<
815815
return isSame ? undefined : nodeResult.address
816816
}
817817

818+
export function diffDnsOrderChange(
819+
oldUrls: ViteDevServer['resolvedUrls'],
820+
newUrls: ViteDevServer['resolvedUrls'],
821+
): boolean {
822+
return !(
823+
oldUrls === newUrls ||
824+
(oldUrls &&
825+
newUrls &&
826+
arrayEqual(oldUrls.local, newUrls.local) &&
827+
arrayEqual(oldUrls.network, newUrls.network))
828+
)
829+
}
830+
818831
export interface Hostname {
819832
/** undefined sets the default behaviour of server.listen */
820833
host: string | undefined

0 commit comments

Comments
 (0)
Please sign in to comment.