File tree Expand file tree Collapse file tree 2 files changed +18
-3
lines changed Expand file tree Collapse file tree 2 files changed +18
-3
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ import {
2323import type { InlineConfig , ResolvedConfig } from '../config'
2424import { isDepsOptimizerEnabled , resolveConfig } from '../config'
2525import {
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 ( )
Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ import {
3333} from './constants'
3434import type { DepOptimizationConfig } from './optimizer'
3535import type { ResolvedConfig } from './config'
36- import type { ResolvedServerUrls } from './server'
36+ import type { ResolvedServerUrls , ViteDevServer } from './server'
3737import 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+
818831export interface Hostname {
819832 /** undefined sets the default behaviour of server.listen */
820833 host : string | undefined
You can’t perform that action at this time.
0 commit comments