37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.isInstalled = exports.getCommandOutput = exports.runCommand = void 0;
|
|
const utils_subprocess_1 = require("@ionic/utils-subprocess");
|
|
async function runCommand(command, args, options = {}) {
|
|
const p = new utils_subprocess_1.Subprocess(command, args, options);
|
|
try {
|
|
return await 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.cause ? `${e.message} ${e.cause.toString()}` : e.code ? e.code : 'Unknown error';
|
|
}
|
|
throw e;
|
|
}
|
|
}
|
|
exports.runCommand = runCommand;
|
|
async function getCommandOutput(command, args, options = {}) {
|
|
try {
|
|
return (await runCommand(command, args, options)).trim();
|
|
}
|
|
catch (e) {
|
|
return null;
|
|
}
|
|
}
|
|
exports.getCommandOutput = getCommandOutput;
|
|
async function isInstalled(command) {
|
|
try {
|
|
await (0, utils_subprocess_1.which)(command);
|
|
}
|
|
catch (e) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
exports.isInstalled = isInstalled;
|