(basePort, host)
| 38 | * @returns {Promise<number>} resolved port |
| 39 | */ |
| 40 | const checkAvailablePort = (basePort, host) => |
| 41 | new Promise((resolve, reject) => { |
| 42 | const server = net.createServer(); |
| 43 | server.unref(); |
| 44 | server.on("error", reject); |
| 45 | |
| 46 | server.listen(basePort, host, () => { |
| 47 | // Next line should return AddressInfo because we're calling it after listen() and before close() |
| 48 | const { port } = /** @type {import("net").AddressInfo} */ ( |
| 49 | server.address() |
| 50 | ); |
| 51 | server.close(() => { |
| 52 | resolve(port); |
| 53 | }); |
| 54 | }); |
| 55 | }); |
| 56 | |
| 57 | /** |
| 58 | * @param {number} port port |
no test coverage detected
searching dependent graphs…