forked from olcxjas-softworks/LarpixClient
62 lines
No EOL
2 KiB
JavaScript
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
|