react-native-builder-bob
Version:
CLI to build JavaScript files for React Native libraries
48 lines (47 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.spawn = void 0;
var _crossSpawn = _interopRequireDefault(require("cross-spawn"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const spawn = async (...args) => {
return new Promise((resolve, reject) => {
const child = (0, _crossSpawn.default)(...args);
let stdout = '';
let stderr = '';
child.stdout?.setEncoding('utf8');
child.stdout?.on('data', data => {
stdout += data;
});
child.stderr?.setEncoding('utf8');
child.stderr?.on('data', data => {
stderr += data;
});
child.once('error', reject);
child.once('close', code => {
if (code === 0) {
resolve(stdout.trim());
} else {
const error = new Error(stderr.trim() || `Command exited with code ${String(code)}`);
Object.defineProperties(error, {
stdout: {
enumerable: false,
value: stdout
},
stderr: {
enumerable: false,
value: stderr
},
code: {
enumerable: false,
value: code
}
});
reject(error);
}
});
});
};
exports.spawn = spawn;
//# sourceMappingURL=spawn.js.map