LarpixClient/node_modules/@trapezedev/project/dist/util/subprocess.js
2026-05-03 17:09:55 +02:00

62 lines
No EOL
2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.spawnCommand = exports.runCommand = void 0;
const utils_subprocess_1 = require("@ionic/utils-subprocess");
const cross_spawn_1 = require("cross-spawn");
async function runCommand(command, args, options = {}) {
// console.log(chalk`> {bold ${command} ${args.join(" ")}}`);
const p = new utils_subprocess_1.Subprocess(command, args, options);
try {
// return await p.output();
await p.run();
return p.output();
}
catch (e) {
if (e instanceof utils_subprocess_1.SubprocessError) {
// old behavior of just throwing the stdout/stderr strings
throw e.output
? e.output
: e.code
? e.code
: e.error
? e.error.message
: "Unknown error";
}
throw e;
}
}
exports.runCommand = runCommand;
async function spawnCommand(command, args, options = {}) {
return new Promise((resolve, reject) => {
var _a, _b;
const child = (0, cross_spawn_1.spawn)(command, args, options);
const stderr = [];
const stdout = [];
(_a = child.stdout) === null || _a === void 0 ? void 0 : _a.addListener('data', e => {
stdout.push(e.toString());
});
(_b = child.stderr) === null || _b === void 0 ? void 0 : _b.addListener('data', e => {
if (options.combineStreams) {
stdout.push(e.toString());
}
else {
stderr.push(e.toString());
}
});
child.on('exit', e => {
});
child.on('error', e => {
reject(e);
});
child.on('close', e => {
if (e) {
reject(stderr.join());
}
else {
resolve(stdout.join(''));
}
});
});
}
exports.spawnCommand = spawnCommand;
//# sourceMappingURL=subprocess.js.map