@azure-tools/extension
Version:
Yarn-Based extension aquisition (for Azure Open Source Projects)
37 lines • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.execute = void 0;
const child_process_1 = require("child_process");
const execute = (command, cmdlineargs, options = {}) => {
return new Promise((resolve, reject) => {
const cp = (0, child_process_1.spawn)(command, cmdlineargs, { ...options, stdio: "pipe" });
if (options.onCreate) {
options.onCreate(cp);
}
options.onStdOutData ? cp.stdout.on("data", options.onStdOutData) : cp;
options.onStdErrData ? cp.stderr.on("data", options.onStdErrData) : cp;
let err = "";
let out = "";
let all = "";
cp.stderr.on("data", (chunk) => {
err += chunk;
all += chunk;
});
cp.stdout.on("data", (chunk) => {
out += chunk;
all += chunk;
});
cp.on("error", (err) => {
reject(err);
});
cp.on("close", (code, signal) => resolve({
stdout: out,
stderr: err,
log: all,
error: code ? new Error("Process Failed.") : null,
code,
}));
});
};
exports.execute = execute;
//# sourceMappingURL=exec-cmd.js.map