@@ -2,8 +2,8 @@ import { createServer as createHttpServer } from "node:http";
22import { connect } from "node:http2" ;
33import { createServer as createHttpsServer } from "node:https" ;
44import https from "node:https" ;
5- import { networkInterfaces } from "node:os" ;
65import { createHttpTerminator } from "http-terminator" ;
6+ import { getAccessibleHosts } from "miniflare" ;
77import { useEffect , useRef , useState } from "react" ;
88import serveStatic from "serve-static" ;
99import { getHttpsOptions } from "../https-options" ;
@@ -166,7 +166,15 @@ export async function startPreviewServer({
166166 const usedPort =
167167 address && typeof address === "object" ? address . port : port ;
168168 logger . log ( `⬣ Listening at ${ localProtocol } ://${ ip } :${ usedPort } ` ) ;
169- const accessibleHosts = getAccessibleHosts ( ip ) ;
169+ const accessibleHosts = [ ] ;
170+ if ( ip === "::" || ip === "*" || ip === "0.0.0.0" ) {
171+ accessibleHosts . push ( ...getAccessibleHosts ( true ) ) ;
172+
173+ if ( ip !== "0.0.0.0" ) {
174+ accessibleHosts . push ( "localhost" ) ;
175+ accessibleHosts . push ( "[::1]" ) ;
176+ }
177+ }
170178 for ( const accessibleHost of accessibleHosts ) {
171179 logger . log ( `- ${ localProtocol } ://${ accessibleHost } :${ usedPort } ` ) ;
172180 }
@@ -299,7 +307,15 @@ export function usePreviewServer({
299307 const usedPort =
300308 address && typeof address === "object" ? address . port : port ;
301309 logger . log ( `⬣ Listening at ${ localProtocol } ://${ ip } :${ usedPort } ` ) ;
302- const accessibleHosts = getAccessibleHosts ( ip ) ;
310+ const accessibleHosts = [ ] ;
311+ if ( ip === "::" || ip === "*" || ip === "0.0.0.0" ) {
312+ accessibleHosts . push ( ...getAccessibleHosts ( true ) ) ;
313+
314+ if ( ip !== "0.0.0.0" ) {
315+ accessibleHosts . push ( "localhost" ) ;
316+ accessibleHosts . push ( "[::1]" ) ;
317+ }
318+ }
303319 for ( const accessibleHost of accessibleHosts ) {
304320 logger . log ( `- ${ localProtocol } ://${ accessibleHost } :${ usedPort } ` ) ;
305321 }
@@ -681,24 +697,3 @@ export async function waitForPortToBeAvailable(
681697 }
682698 } ) ;
683699}
684-
685- function getAccessibleHosts ( ip : string ) : string [ ] {
686- if ( ip !== "0.0.0.0" && ip !== "::" && ip !== "*" ) {
687- return [ ip ] ;
688- }
689-
690- const hosts : string [ ] = [ ] ;
691- Object . values ( networkInterfaces ( ) ) . forEach ( ( net ) => {
692- net ?. forEach ( ( { family, address } ) => {
693- if ( ip === "0.0.0.0" ) {
694- // @ts -expect-error the `family` property is numeric as of Node.js 18.0.0
695- if ( family === "IPv4" || family === 4 ) {
696- hosts . push ( address ) ;
697- }
698- } else {
699- hosts . push ( address ) ;
700- }
701- } ) ;
702- } ) ;
703- return hosts ;
704- }
0 commit comments