Spaces:
Paused
Paused
File size: 610 Bytes
b152fd5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import net from "node:net";
export function checkPort(port: number): Promise<{ available: boolean; error?: string }> {
return new Promise((resolve) => {
const server = net.createServer();
server.once("error", (err: NodeJS.ErrnoException) => {
if (err.code === "EADDRINUSE") {
resolve({ available: false, error: `Port ${port} is already in use` });
} else {
resolve({ available: false, error: err.message });
}
});
server.once("listening", () => {
server.close(() => resolve({ available: true }));
});
server.listen(port, "127.0.0.1");
});
}
|