Files
orca/mobile/scripts/hosted-loopback-port.mjs

18 lines
480 B
JavaScript

import net from 'node:net'
export function findAvailableHostedLoopbackPort() {
return new Promise((resolve, reject) => {
const server = net.createServer()
server.unref()
server.once('error', reject)
server.listen({ host: '127.0.0.1', port: 0 }, () => {
const address = server.address()
server.close(() =>
typeof address === 'object' && address
? resolve(address.port)
: reject(new Error('No port'))
)
})
})
}