UNPKG

silvie

Version:

Typescript Back-end Framework

40 lines (39 loc) 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _path = _interopRequireDefault(require("path")); var _child_process = _interopRequireDefault(require("child_process")); var _log = _interopRequireDefault(require("../../../utils/log")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } var _default = args => { _log.default.info('[Silvie Dev]', 'Starting a development server'); const port = args.port || args.p; const cp = _child_process.default.exec(`cross-env BABEL_DISABLE_CACHE=1 IS_SILVIE_CLI=0 NODE_ENV=development nodemon --exec babel-node --watch src src/bootstrap/index.ts -- -x ".ts,.js" --config-file ${_path.default.resolve(process.silviePath, 'assets/babel.config.js')} ${port ? `--port ${port}` : ''}`, { encoding: 'utf8' }); cp.stdout.on('data', data => { if (data.includes('[nodemon]')) { if (data.includes('[nodemon] app crashed')) { _log.default.error('[Silvie Dev] App Crashed!', 'Waiting for changes...'); } if (data.includes('[nodemon] restarting')) { _log.default.warning('[Silvie Dev] Changes Detected!', 'Restarting...'); } return; } (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;