express-port-switcher
Version:
A smart port management tool that automatically finds and forwards to available ports when preferred ports are in use
31 lines • 1.07 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.findNextAvailablePort = exports.isPortAvailable = void 0;
const net_1 = __importDefault(require("net"));
const isPortAvailable = (port) => {
return new Promise((resolve) => {
const server = net_1.default.createServer()
.once('error', () => {
resolve(false);
})
.once('listening', () => {
server.close();
resolve(true);
})
.listen(port);
});
};
exports.isPortAvailable = isPortAvailable;
const findNextAvailablePort = async (startPort, maxAttempts = 100) => {
for (let port = startPort; port < startPort + maxAttempts; port++) {
if (await (0, exports.isPortAvailable)(port)) {
return port;
}
}
return null;
};
exports.findNextAvailablePort = findNextAvailablePort;
//# sourceMappingURL=portUtils.js.map