UNPKG

alm

Version:

The best IDE for TypeScript

31 lines (30 loc) 956 B
"use strict"; /** * 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; };