mirror of
https://github.com/Tencent/Hippy.git
synced 2026-10-22 16:58:30 +08:00
23 lines
657 B
JavaScript
23 lines
657 B
JavaScript
const { spawn } = require('child_process');
|
|
const { logger } = require('./logger');
|
|
|
|
function exec(cmd, argv, options = {}) {
|
|
const { disableOutput } = options;
|
|
return new Promise((resolve, reject) => {
|
|
const command = spawn(cmd, argv);
|
|
if (!disableOutput) {
|
|
command.stdout.on('data', log => logger.info(log.toString()));
|
|
command.stderr.on('data', err => logger.error(err.toString()));
|
|
}
|
|
command.on('error', err => reject(err));
|
|
command.on('close', (code) => {
|
|
if (code) {
|
|
return reject(new Error(`Execting ${cmd} returns: ${code}`));
|
|
}
|
|
return resolve();
|
|
});
|
|
});
|
|
}
|
|
|
|
module.exports = exec;
|