From a061f460e5ed172ba96053acf01e68838f803856 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 6 Apr 2026 03:55:56 +0000 Subject: [PATCH] fix: early sync return in getLocalhostAddressIfDiffersFromDNS when dns order is verbatim Agent-Logs-Url: https://github.com/vitejs/vite/sessions/5548c174-2a7f-4cd2-b3df-cce35e3494c5 Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> --- packages/vite/src/node/utils.ts | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index f8c7154a879b39..8c3bbb2cd79385 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -922,17 +922,21 @@ export function unique(arr: T[]): T[] { * Even if defaultResultOrder is `ipv4first`, `dns.lookup` result maybe same. * For example, when IPv6 is not supported on that machine/network. */ -export async function getLocalhostAddressIfDiffersFromDNS(): Promise< - string | undefined -> { - const [nodeResult, dnsResult] = await Promise.all([ +export function getLocalhostAddressIfDiffersFromDNS(): + | Promise + | undefined { + if (dns.getDefaultResultOrder() === 'verbatim') { + return undefined + } + return Promise.all([ dns.lookup('localhost'), dns.lookup('localhost', { verbatim: true }), - ]) - const isSame = - nodeResult.family === dnsResult.family && - nodeResult.address === dnsResult.address - return isSame ? undefined : nodeResult.address + ]).then(([nodeResult, dnsResult]) => { + const isSame = + nodeResult.family === dnsResult.family && + nodeResult.address === dnsResult.address + return isSame ? undefined : nodeResult.address + }) } export function diffDnsOrderChange(