@farris/build-angular
Version:
Angular Webpack Build Facade
33 lines • 3.79 kB
JavaScript
;
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
Object.defineProperty(exports, "__esModule", { value: true });
const rxjs_1 = require("rxjs");
const portfinder = require('portfinder');
function checkPort(port, host, basePort = 49152) {
return new rxjs_1.Observable(obs => {
portfinder.basePort = basePort;
// tslint:disable:no-any
portfinder.getPort({ port, host }, (err, foundPort) => {
if (err) {
obs.error(err);
}
else if (port !== foundPort && port !== 0) {
// If the port isn't available and we weren't looking for any port, throw error.
obs.error(`Port ${port} is already in use. Use '--port' to specify a different port.`);
}
else {
// Otherwise, our found port is good.
obs.next(foundPort);
obs.complete();
}
});
});
}
exports.checkPort = checkPort;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stcG9ydC5qcyIsInNvdXJjZVJvb3QiOiIuLyIsInNvdXJjZXMiOlsicGFja2FnZXMvZmFycmlzX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy9hbmd1bGFyLWNsaS1maWxlcy91dGlsaXRpZXMvY2hlY2stcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQUVILCtCQUFrQztBQUNsQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7QUFHekMsbUJBQTBCLElBQVksRUFBRSxJQUFZLEVBQUUsUUFBUSxHQUFHLEtBQUs7SUFDcEUsTUFBTSxDQUFDLElBQUksaUJBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUMxQixVQUFVLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUMvQix3QkFBd0I7UUFDeEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQVEsRUFBRSxTQUFpQixFQUFFLEVBQUU7WUFDakUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDUixHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLENBQUM7WUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUMsZ0ZBQWdGO2dCQUNoRixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSwrREFBK0QsQ0FBQyxDQUFDO1lBQ3pGLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixxQ0FBcUM7Z0JBQ3JDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3BCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFqQkQsOEJBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5jb25zdCBwb3J0ZmluZGVyID0gcmVxdWlyZSgncG9ydGZpbmRlcicpO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja1BvcnQocG9ydDogbnVtYmVyLCBob3N0OiBzdHJpbmcsIGJhc2VQb3J0ID0gNDkxNTIpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzID0+IHtcbiAgICBwb3J0ZmluZGVyLmJhc2VQb3J0ID0gYmFzZVBvcnQ7XG4gICAgLy8gdHNsaW50OmRpc2FibGU6bm8tYW55XG4gICAgcG9ydGZpbmRlci5nZXRQb3J0KHsgcG9ydCwgaG9zdCB9LCAoZXJyOiBhbnksIGZvdW5kUG9ydDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIG9icy5lcnJvcihlcnIpO1xuICAgICAgfSBlbHNlIGlmIChwb3J0ICE9PSBmb3VuZFBvcnQgJiYgcG9ydCAhPT0gMCkge1xuICAgICAgICAvLyBJZiB0aGUgcG9ydCBpc24ndCBhdmFpbGFibGUgYW5kIHdlIHdlcmVuJ3QgbG9va2luZyBmb3IgYW55IHBvcnQsIHRocm93IGVycm9yLlxuICAgICAgICBvYnMuZXJyb3IoYFBvcnQgJHtwb3J0fSBpcyBhbHJlYWR5IGluIHVzZS4gVXNlICctLXBvcnQnIHRvIHNwZWNpZnkgYSBkaWZmZXJlbnQgcG9ydC5gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgb3VyIGZvdW5kIHBvcnQgaXMgZ29vZC5cbiAgICAgICAgb2JzLm5leHQoZm91bmRQb3J0KTtcbiAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuIl19