(port: number)
| 52 | } |
| 53 | |
| 54 | async function isPortAvailable(port: number): Promise<boolean> { |
| 55 | return await new Promise(resolve => { |
| 56 | const server = net.createServer(); |
| 57 | server.unref(); |
| 58 | server.on('error', () => resolve(false)); |
| 59 | server.listen(port, () => { |
| 60 | server.close(() => resolve(true)); |
| 61 | }); |
| 62 | }); |
| 63 | } |
| 64 | |
| 65 | /** |
| 66 | * Calculate deterministic port from workspace path hash. |