Updates
This commit is contained in:
Vendored
+9
-1
@@ -4,4 +4,12 @@ import { ChildProcess } from "child_process";
|
||||
* @param {string | number | (string | number)[]} [port]
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
export default function killChild(childProcess?: ChildProcess, port?: string | number | (string | number)[]): Promise<boolean>;
|
||||
export default function killChild(
|
||||
/**
|
||||
* Child Process to be killed
|
||||
*/
|
||||
childProcess?: ChildProcess,
|
||||
/**
|
||||
* Port/ports to be killed
|
||||
*/
|
||||
port?: string | number | (string | number)[]): Promise<boolean>;
|
||||
|
||||
Vendored
+53
-19
@@ -20,33 +20,67 @@ const kill_port_1 = __importDefault(require("kill-port"));
|
||||
* @param {string | number | (string | number)[]} [port]
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
function killChild(childProcess, port) {
|
||||
function killChild(
|
||||
/**
|
||||
* Child Process to be killed
|
||||
*/
|
||||
childProcess,
|
||||
/**
|
||||
* Port/ports to be killed
|
||||
*/
|
||||
port) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (!childProcess)
|
||||
return false;
|
||||
try {
|
||||
childProcess.kill();
|
||||
return true;
|
||||
const childKilled = childProcess.kill();
|
||||
if (childKilled) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return yield killPortFn(childProcess, port);
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
try {
|
||||
if (typeof port == "object" && (port === null || port === void 0 ? void 0 : port[0])) {
|
||||
for (let i = 0; i < port.length; i++) {
|
||||
const singlePort = port[i];
|
||||
yield (0, kill_port_1.default)(Number(singlePort), "tcp");
|
||||
}
|
||||
childProcess.kill();
|
||||
return true;
|
||||
}
|
||||
else if (port) {
|
||||
yield (0, kill_port_1.default)(Number(port), "tcp");
|
||||
childProcess.kill();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (_err) { }
|
||||
yield killPortFn(childProcess, port);
|
||||
console.log(`${console_colors_1.default.FgRed}Error:${console_colors_1.default.Reset} Child Process couldn't be killed! ${error.message}`);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
function killPortFn(
|
||||
/**
|
||||
* Child Process to be killed
|
||||
*/
|
||||
childProcess,
|
||||
/**
|
||||
* Port/ports to be killed
|
||||
*/
|
||||
port) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (!childProcess)
|
||||
return false;
|
||||
try {
|
||||
if (typeof port == "object" && (port === null || port === void 0 ? void 0 : port[0])) {
|
||||
for (let i = 0; i < port.length; i++) {
|
||||
const singlePort = port[i];
|
||||
yield (0, kill_port_1.default)(Number(singlePort), "tcp");
|
||||
}
|
||||
childProcess.kill();
|
||||
return true;
|
||||
}
|
||||
else if (port) {
|
||||
yield (0, kill_port_1.default)(Number(port), "tcp");
|
||||
childProcess.kill();
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (_err) {
|
||||
console.log(`${console_colors_1.default.FgRed}Error:${console_colors_1.default.Reset} Child Process PORT couldn't be killed! ${_err.message}`);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user