- Separate server setup from initialization\n- Add port availability check utility\n- Fix double server start issue\n- Improve error handling for port conflicts
18 lines
No EOL
361 B
TypeScript
18 lines
No EOL
361 B
TypeScript
import net from 'net';
|
|
|
|
export function isPortAvailable(port: number | string): Promise<boolean> {
|
|
return new Promise((resolve) => {
|
|
const server = net.createServer();
|
|
|
|
server.once('error', () => {
|
|
resolve(false);
|
|
});
|
|
|
|
server.once('listening', () => {
|
|
server.close();
|
|
resolve(true);
|
|
});
|
|
|
|
server.listen(port);
|
|
});
|
|
}
|