UNPKG

@fesjs/fes

Version:

一个好用的前端管理台快速开发框架

59 lines (58 loc) 2.17 kB
"use strict"; var _nodeProcess = _interopRequireDefault(require("node:process")); var _utils = require("@fesjs/utils"); var _package = _interopRequireDefault(require("../package.json")); var _hackFesInBuild = require("./hackFesInBuild"); var _serviceWithBuiltIn = require("./serviceWithBuiltIn"); var _fork = _interopRequireDefault(require("./utils/fork")); var _getCwd = _interopRequireDefault(require("./utils/getCwd")); var _getPkg = _interopRequireDefault(require("./utils/getPkg")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const requiredVersion = _package.default.engines.node; function checkNodeVersion(wanted, id) { if (!_utils.semver.satisfies(_nodeProcess.default.version, wanted, { includePrerelease: true })) { console.log(_utils.chalk.red(`You are using Node ${_nodeProcess.default.version}, but this version of ${id} requires Node ${wanted}.\nPlease upgrade your Node version.`)); _nodeProcess.default.exit(1); } } checkNodeVersion(requiredVersion, '@fesjs/fes'); const rawArgv = _nodeProcess.default.argv.slice(2); const args = (0, _utils.yParser)(rawArgv); (async () => { try { const command = args._[0]; if (command === 'dev') { const child = (0, _fork.default)({ scriptPath: require.resolve('./forkedDev') }); // http://nodejs.cn/api/process/signal_events.html _nodeProcess.default.on('SIGINT', () => { child.kill('SIGINT'); _nodeProcess.default.exit(); }); _nodeProcess.default.on('SIGTERM', () => { child.kill('SIGTERM'); _nodeProcess.default.exit(); }); } else { (0, _hackFesInBuild.hackFesInBuild)(); if (command === 'build') { _nodeProcess.default.env.NODE_ENV = 'production'; } await new _serviceWithBuiltIn.Service({ cwd: (0, _getCwd.default)(), pkg: (0, _getPkg.default)(_nodeProcess.default.cwd()), fesPkg: _package.default }).run({ args, rawArgv }); } } catch (e) { console.error(_utils.chalk.red(e.message)); console.error(e.stack); _nodeProcess.default.exit(1); } })();