UNPKG

@beenotung/tslib

Version:
40 lines 1.35 kB
"use strict"; 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