UNPKG

react-torch

Version:

A lib to server-side render with react.

57 lines (56 loc) 2.39 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.choosePort = void 0; var chalk_1 = __importDefault(require("chalk")); var is_root_1 = __importDefault(require("is-root")); var inquirer_1 = __importDefault(require("inquirer")); var detect_port_1 = __importDefault(require("detect-port")); var index_1 = require("./index"); var isInteractive = process.stdout.isTTY; function choosePort(host, defaultPort) { return (0, detect_port_1.default)({ port: defaultPort, hostname: host, }).then(function (port) { return new Promise(function (resolve) { if (port === defaultPort) { return resolve(port); } var message = process.platform !== 'win32' && defaultPort < 1024 && !(0, is_root_1.default)() ? "Admin permissions are required to run a server on a port below 1024." : "Something is already running on port " + defaultPort + "."; if (isInteractive) { (0, index_1.clear)(); var existingProcess = (0, index_1.getProcessForPort)(defaultPort); var question = { type: 'confirm', name: 'shouldChangePort', message: chalk_1.default.yellow(message + ("" + (existingProcess ? " Probably:\n " + existingProcess : ''))) + '\n\nWould you like to run the app on another port instead?', default: true, }; inquirer_1.default.prompt(question).then(function (answer) { if (answer.shouldChangePort) { resolve(port); } else { resolve(null); } }); } else { console.log(chalk_1.default.red(message)); resolve(null); } }); }, function (err) { throw new Error(chalk_1.default.red("Could not find an open port at " + chalk_1.default.bold(host) + ".") + '\n' + ('Network error message: ' + (err.message || err)) + '\n'); }); } exports.choosePort = choosePort;