@beenotung/tslib
Version:
utils library in Typescript
40 lines • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.spawn = exports.exec = void 0;
const tslib_1 = require("tslib");
const child_process_1 = require("child_process");
const util = tslib_1.__importStar(require("util"));
exports.exec = util.promisify(child_process_1.exec);
function spawn(options) {
let { cmd, args } = options;
if (!args) {
args = cmd.split(' ');
cmd = args.shift();
}
return new Promise((resolve, reject) => {
const child = child_process_1.spawn(cmd, args, options.options);
child.stdout.setEncoding('utf8');
child.stdout.on('data', options.on_stdout || (data => process.stdout.write(data.toString())));
child.stderr.setEncoding('utf8');
child.stderr.on('data', options.on_stderr || (data => process.stderr.write(data.toString())));
child.on('error', err => {
if (options.on_error) {
options.on_error(err);
}
else {
console.error(err);
process.exit(1);
}
});
child.on('close', code => {
if (code) {
reject(code);
}
else {
resolve(code);
}
});
});
}
exports.spawn = spawn;
//# sourceMappingURL=child_process.js.map