alm
Version:
The best IDE for TypeScript
31 lines (30 loc) • 956 B
JavaScript
;
/**
* Based of https://gist.github.com/mikeal/1840641
* But modified to support searching from a particular port
* Also the original did not actually work.
*/
Object.defineProperty(exports, "__esModule", { value: true });
var http = require("http");
exports.getPort = function (startPort) {
if (startPort === void 0) { startPort = 4444; }
var tryGetPort = function (cb) {
var port = startPort;
startPort += 1;
var server = http.createServer(function () { return null; });
server.on('error', function (err) {
tryGetPort(cb);
});
server.listen(port, '0.0.0.0', function (err) {
// Found one!
server.once('close', function () {
cb(port);
});
server.close();
});
};
var resolve;
var prom = new Promise(function (res) { return resolve = res; });
tryGetPort(resolve);
return prom;
};