mockm
Version:
Analog interface server, painless parallel development of front and back ends.
87 lines (69 loc) • 2.23 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
var _every = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/every"));
var _context;
const {
logHelper,
print
} = require(`./util/log.js`);
process.setMaxListeners(0); // 不限制监听数量
process.send = process.send || new Function();
(0, _includes.default)(_context = process.argv).call(_context, `--log-line`) && logHelper();
const util = require(`./util/index.js`);
new _promise.default(async () => {
global.config = await require(`./config.js`);
process.send({
action: `config`,
data: global.config
});
util.tool.file.fileChange([global.config._configFile, ...global.config.watch], files => process.send({
action: `reboot`,
data: files
}));
const {
tool,
business
} = util;
const portIsOkRes = await tool.os.portIsOk([global.config.port, global.config.testPort, global.config.replayPort]).catch(err => console.log(`err`, err));
if ((0, _every.default)(portIsOkRes).call(portIsOkRes, item => item === true) === false) {
print(`Port is occupied:`, portIsOkRes);
process.exit();
}
const {
isIp,
hostname
} = global.config._proxyTargetInfo;
if (global.config.hostMode && isIp === false) {
await tool.os.sysHost(`set`, {
hostname
});
tool.os.clearProcess({
hostname
});
} else {
tool.os.clearProcess();
}
const {
initHandle,
customApi
} = business;
initHandle().init();
await business.pluginRun(`hostFileCreated`);
const {
allRoute,
allRouteTest
} = await customApi();
global.HTTPHISTORY = util.tool.file.fileStore(global.config._httpHistory).get(); // 请求历史
global.STORE = tool.file.fileStore(global.config._store); // 自动注入下次调试请求的数据
require(`./proxy.js`)({
allRoute
});
require(`./test.js`)();
require(`./replay.js`)({
allRoute,
allRouteTest
});
});