"use strict"; function _react() { const data = _interopRequireDefault(require("react")); _react = function _react() { return data; }; return data; } function _fork() { const data = _interopRequireDefault(require("umi-build-dev/lib/fork")); _fork = function _fork() { return data; }; return data; } function _yargsParser() { const data = _interopRequireDefault(require("yargs-parser")); _yargsParser = function _yargsParser() { return data; }; return data; } function _UmiUI() { const data = _interopRequireDefault(require("umi-ui/lib/UmiUI")); _UmiUI = function _UmiUI() { return data; }; return data; } var _buildDevOpts = _interopRequireDefault(require("../buildDevOpts")); var _isUmiUIEnable = _interopRequireDefault(require("../isUmiUIEnable")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } _asyncToGenerator(function* () { const args = (0, _yargsParser().default)(process.argv.slice(2)); const opts = (0, _buildDevOpts.default)(args); let umiui; // Start umi ui const cwd = opts.cwd; const enableUmiUI = process.env.UMI_UI === '1' || process.env.UMI_UI !== 'none' && (0, _isUmiUIEnable.default)(cwd); if (process.env.UMI_UI_SERVER !== 'none' && enableUmiUI) { process.env.UMI_UI_BROWSER = 'none'; umiui = new (_UmiUI().default)(); const _yield$umiui$start = yield umiui.start(), port = _yield$umiui$start.port; process.env.UMI_UI_PORT = port; } if (!enableUmiUI) { process.env.UMI_UI = 'none'; } function killUmiUI() { if (umiui && umiui.server) { umiui.server.close(); } } // Start real umi dev const child = (0, _fork().default)(require.resolve('./realDev.js'), { onMessage(data) { const type = data.type; if (type && type.startsWith('org.umi.ui.bubble') && global.g_send) { global.g_send({ type, payload: { projectPath: cwd } }); } } }); child.on('exit', code => { if (code === 1) { process.exit(1); } }); child.on('message', data => { if (process.send) { process.send(data); } }); process.on('SIGTERM', () => { child.kill('SIGTERM'); killUmiUI(); process.exit(); }); process.on('SIGINT', () => { child.kill('SIGINT'); killUmiUI(); process.exit(); }); })();