(startPort)
| 59 | const IDLE_TIMEOUT_MS = 30 * 60 * 1000; |
| 60 | |
| 61 | function findAvailablePort(startPort) { |
| 62 | const net = require('net'); |
| 63 | return new Promise((resolve) => { |
| 64 | const server = net.createServer(); |
| 65 | server.listen(startPort, () => { |
| 66 | server.once('close', () => resolve(startPort)); |
| 67 | server.close(); |
| 68 | }); |
| 69 | server.on('error', () => { |
| 70 | findAvailablePort(startPort + 1).then(resolve); |
| 71 | }); |
| 72 | }); |
| 73 | } |
| 74 | |
| 75 | let idleTimer = null; |
| 76 |