next.js/packages/next/src/server/lib/worker-utils.ts
worker-utils.ts18 lines464 B
import http from 'http'

export const getFreePort = async (): Promise<number> => {
  return new Promise((resolve, reject) => {
    const server = http.createServer(() => {})
    server.listen(0, () => {
      const address = server.address()
      server.close()

      if (address && typeof address === 'object') {
        resolve(address.port)
      } else {
        reject(new Error('invalid address from server: ' + address?.toString()))
      }
    })
  })
}
Quest for Codev2.0.0
/
SIGN IN