diff --git a/packages/integrations/node/src/get-network-address.ts b/packages/integrations/node/src/get-network-address.ts index 19b6ca087..87d7036aa 100644 --- a/packages/integrations/node/src/get-network-address.ts +++ b/packages/integrations/node/src/get-network-address.ts @@ -5,43 +5,41 @@ interface NetworkAddressOpt { } const wildcardHosts = new Set([ - '0.0.0.0', - '::', - '0000:0000:0000:0000:0000:0000:0000:0000', + '0.0.0.0', + '::', + '0000:0000:0000:0000:0000:0000:0000:0000', ]) type Protocol = 'http' | 'https' // this code from vite https://github.com/vitejs/vite/blob/d09bbd093a4b893e78f0bbff5b17c7cf7821f403/packages/vite/src/node/utils.ts#L892-L914 -export function getNetworkAddress(protocol: Protocol = 'http', hostname: string | undefined, port:number, base?:string) { - - const NetworkAddress:NetworkAddressOpt = { +export function getNetworkAddress(protocol: Protocol = 'http', hostname: string | undefined, port: number, base?: string) { + const NetworkAddress: NetworkAddressOpt = { local: [], network: [] } - Object.values(os.networkInterfaces()) - .flatMap((nInterface) => nInterface ?? []) - .filter( - (detail) => - detail && - detail.address && - (detail.family === 'IPv4' || - // @ts-expect-error Node 18.0 - 18.3 returns number - detail.family === 4), - ) - .forEach((detail) => { - let host = detail.address.replace('127.0.0.1', hostname === undefined || wildcardHosts.has(hostname) ? 'localhost' : hostname) - // ipv6 host - if (host.includes(':')) { - host = `[${host}]` - } - const url = `${protocol}://${host}:${port}${base ? base : ''}` - if (detail.address.includes('127.0.0.1')) { - NetworkAddress.local.push(url) - } else { - NetworkAddress.network.push(url) - } - }) + .flatMap((nInterface) => nInterface ?? []) + .filter( + (detail) => + detail && + detail.address && + (detail.family === 'IPv4' || + // @ts-expect-error Node 18.0 - 18.3 returns number + detail.family === 4), + ) + .forEach((detail) => { + let host = detail.address.replace('127.0.0.1', hostname === undefined || wildcardHosts.has(hostname) ? 'localhost' : hostname) + // ipv6 host + if (host.includes(':')) { + host = `[${host}]` + } + const url = `${protocol}://${host}:${port}${base ? base : ''}` + if (detail.address.includes('127.0.0.1')) { + NetworkAddress.local.push(url) + } else { + NetworkAddress.network.push(url) + } + }) return NetworkAddress } diff --git a/packages/integrations/node/src/standalone.ts b/packages/integrations/node/src/standalone.ts index 0b206e3c7..93571b8dd 100644 --- a/packages/integrations/node/src/standalone.ts +++ b/packages/integrations/node/src/standalone.ts @@ -54,16 +54,15 @@ export default function startServer(app: NodeApp, options: Options) { }, handler ); - + const protocol = server.server instanceof https.Server ? 'https' : 'http'; const address = getNetworkAddress(protocol, host!, port) - if(host === undefined ){ + if (host === undefined) { // eslint-disable-next-line no-console console.log( - `Preview server listening on \n local: ${address.local[0]} \t\n network: ${address.network[0]} - ` ); - }else{ + `Preview server listening on \n local: ${address.local[0]} \t\n network: ${address.network[0]}\n`); + } else { // eslint-disable-next-line no-console console.log(`Preview server listening on ${address.local[0]}`); }