2.0.2 • Published 7 years ago
yexec v2.0.2
yexec
Yet another process execution wrapper. Uses child_process.spawn to execute an external process and capture stdout and stderr.
- Logs
stdoutandstderrto a logger implementation of your choice as long as it supports the standard level functions likeinfo,warn, anderror. - Supports optional log filter
- Protects against double callbacks from
errorandexitevents. - Throws an Error if process exits with non-zero code
- Specify an optional timeout. If the process has not exited within the interval the process is force killed and a
TIMEOUTerror is thrown.
Usage
npm install yexecvar yexec = require('yexec');
var winston = require('winston');
var params = {
executable: 'git',
args: ['clone', 'https://github.com/nodejs/node.git'],
logger: winston,
timeout: 5000, // 5 seconds
logFilter: function(level, msg) {
return level !== 'info';
}
};
try {
await yexec(params);
} catch (err) {
// If timeout occurred, err.code will be 'TIMEOUT'
winston.error('Oops, git failed with code %s', err.code);
}