UNPKG

reactors-cli

Version:
36 lines (28 loc) 964 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exec; var _child_process = require('child_process'); function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); } function exec(cmd) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new Promise(function (resolve, reject) { var _cmd$split = cmd.split(/\s+/), _cmd$split2 = _toArray(_cmd$split), entry = _cmd$split2[0], bits = _cmd$split2.slice(1); var ps = (0, _child_process.spawn)(entry, bits, options); ps.on('error', reject).on('exit', function (status) { process.stdin.unpipe(ps.stdin); process.stdin.end(); if (status === 0) { return resolve(ps); } reject(new Error('Got status ' + status)); }); ps.stdout.pipe(process.stdout); ps.stderr.pipe(process.stderr); process.stdin.pipe(ps.stdin); }); }