UNPKG

@rnv/engine-core

Version:
78 lines 4.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var core_1 = require("@rnv/core"); var sdk_utils_1 = require("@rnv/sdk-utils"); var kill_port_1 = tslib_1.__importDefault(require("kill-port")); exports.default = (0, core_1.createTask)({ description: 'Kills all the processes related to this project', fn: function (_a) { var ctx = _a.ctx, taskName = _a.taskName, originTaskName = _a.originTaskName; return tslib_1.__awaiter(void 0, void 0, void 0, function () { var usedPorts, platArray, results, ports, i, plat, port, usedPortsArr, confirm_1, killPromise_1; var _b, _c; return tslib_1.__generator(this, function (_d) { switch (_d.label) { case 0: usedPorts = []; platArray = []; results = []; ports = {}; return [4 /*yield*/, (0, core_1.configureRuntimeDefaults)()]; case 1: _d.sent(); if (!ctx.paths.project.configExists) return [3 /*break*/, 4]; return [4 /*yield*/, (0, core_1.executeTask)({ taskName: core_1.RnvTaskName.appConfigure, parentTaskName: taskName, originTaskName: originTaskName })]; case 2: _d.sent(); return [4 /*yield*/, (0, core_1.configureRuntimeDefaults)()]; case 3: _d.sent(); platArray = Object.values(ctx.runtime.supportedPlatforms); ports = ((_c = (_b = ctx.buildConfig) === null || _b === void 0 ? void 0 : _b.defaults) === null || _c === void 0 ? void 0 : _c.ports) || {}; _d.label = 4; case 4: for (i = 0; i < platArray.length; i++) { plat = platArray[i]; port = ports === null || ports === void 0 ? void 0 : ports[plat.platform]; plat.port = port; if (port) { results.push((0, sdk_utils_1.checkPortInUse)(port)); } } return [4 /*yield*/, Promise.all(results)]; case 5: usedPortsArr = _d.sent(); usedPortsArr.forEach(function (isInUse, i) { if (isInUse) { usedPorts.push(platArray[i]); } }); if (!usedPorts.length) return [3 /*break*/, 8]; return [4 /*yield*/, (0, core_1.inquirerPrompt)({ type: 'confirm', message: 'Processes attached to the ports will be killed. Continue?', warningMessage: "Found active ports:\n".concat(usedPorts.map(function (v) { return (0, core_1.chalk)().bold.white("> ".concat(v.port, " (").concat(v.platform, ")")); }).join('\n')), })]; case 6: confirm_1 = (_d.sent()).confirm; if (!confirm_1) return [3 /*break*/, 8]; killPromise_1 = []; usedPorts.forEach(function (v) { if (v.port) killPromise_1.push((0, kill_port_1.default)(v.port)); }); return [4 /*yield*/, Promise.all(usedPorts)]; case 7: _d.sent(); (0, core_1.logSuccess)('Processes KILLED'); _d.label = 8; case 8: return [2 /*return*/, true]; } }); }); }, task: core_1.RnvTaskName.kill, isGlobalScope: true, }); //# sourceMappingURL=taskKill.js.map