File tree 2 files changed +18
-3
lines changed
2 files changed +18
-3
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ import {
23
23
import type { InlineConfig , ResolvedConfig } from '../config'
24
24
import { isDepsOptimizerEnabled , resolveConfig } from '../config'
25
25
import {
26
+ diffDnsOrderChange ,
26
27
isParentDirectory ,
27
28
mergeConfig ,
28
29
normalizePath ,
@@ -814,7 +815,7 @@ async function restartServer(server: ViteDevServer) {
814
815
global . __vite_start_time = performance . now ( )
815
816
const { port : prevPort , host : prevHost } = server . config . server
816
817
const shortcutsOptions : BindShortcutsOptions = server . _shortcutsOptions
817
-
818
+ const oldUrls = server . resolvedUrls
818
819
await server . close ( )
819
820
820
821
let inlineConfig = server . config . inlineConfig
@@ -850,7 +851,8 @@ async function restartServer(server: ViteDevServer) {
850
851
logger . info ( 'server restarted.' , { timestamp : true } )
851
852
if (
852
853
( port ?? DEFAULT_DEV_PORT ) !== ( prevPort ?? DEFAULT_DEV_PORT ) ||
853
- host !== prevHost
854
+ host !== prevHost ||
855
+ diffDnsOrderChange ( oldUrls , newServer . resolvedUrls )
854
856
) {
855
857
logger . info ( '' )
856
858
server . printUrls ( )
Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ import {
33
33
} from './constants'
34
34
import type { DepOptimizationConfig } from './optimizer'
35
35
import type { ResolvedConfig } from './config'
36
- import type { ResolvedServerUrls } from './server'
36
+ import type { ResolvedServerUrls , ViteDevServer } from './server'
37
37
import type { CommonServerOptions } from '.'
38
38
39
39
/**
@@ -815,6 +815,19 @@ export async function getLocalhostAddressIfDiffersFromDNS(): Promise<
815
815
return isSame ? undefined : nodeResult . address
816
816
}
817
817
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
+
818
831
export interface Hostname {
819
832
/** undefined sets the default behaviour of server.listen */
820
833
host : string | undefined
You can’t perform that action at this time.
0 commit comments