UNPKG

silvie

Version:

Typescript Back-end Framework

50 lines (49 loc) 2.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _fs = _interopRequireDefault(require("fs")); var _path = _interopRequireDefault(require("path")); var _log = _interopRequireDefault(require("../../../utils/log")); var _child_process = _interopRequireDefault(require("child_process")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } var _default = args => { const buildPath = _path.default.resolve(process.rootPath, 'build'); if (!_fs.default.existsSync(buildPath)) { _log.default.error('[Silvie] Build Not Found'); (0, _log.default)('You should build the application first.'); (0, _log.default)('Use', _log.default.str`silvie build`.underscore().bright(), 'command to build it.'); } if (!_fs.default.statSync(buildPath).isDirectory()) { _log.default.error('[Silvie] Invalid Build'); (0, _log.default)('Build directory is not a directory'); } if (!_fs.default.existsSync(_path.default.resolve(buildPath, '.env'))) { _log.default.error('[Silvie] Env File Not Found'); (0, _log.default)('.env file is not present in the build directory.'); } if (!_fs.default.existsSync(_path.default.resolve(buildPath, 'bootstrap/index.js'))) { _log.default.error('[Silvie] Bootstrap Not Found'); (0, _log.default)('Unable to find bootstrap file.'); } _log.default.info('[Silvie]', 'Starting Application...'); const port = args.port || args.p; const cp = _child_process.default.exec(`cross-env IS_SILVIE_CLI=0 node build/bootstrap/index.js${port ? ` --port ${port}` : ''}`, { encoding: 'utf8' }); cp.stdout.on('data', data => { (0, _log.default)(data); }); cp.stderr.on('data', data => { if (data.includes('EADDRINUSE')) { const portNumber = /port: (\d+)/.exec(data)[1]; _log.default.error('[Silvie Dev] Address in use'); (0, _log.default)(`Port '${portNumber || 'unknown'}' is already used.`); (0, _log.default)('Please use a different port number.'); return; } _log.default.error(data); }); }; exports.default = _default;