comandante

spawn() that returns a duplex stream and emits errors with stderr data on non-zero exit codes

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
comandante
0.0.111 years ago11 years agoMinified + gzip package size for comandante in KB

Readme

commandante
Spawn commands returning a duplex stream. Emit stderr when the command exits with a non-zero code.
build status

example

var run = require('commandante');
run('git', [ 'log' ]).pipe(process.stdout);

in a git directory we get:
$ node example/log.js | head -n3
commit ae5045cce4980a87b7151cfe91bc5889951aae39
Author: James Halliday <mail@substack.net>
Date:   Tue Oct 2 09:08:18 2012 -0700

in a non-git directory we get:
events.js:66
        throw arguments[1]; // Unhandled 'error' event
                       ^
Error: non-zero exit code 128: fatal: Not a git repository (or any of the parent directories): .git

    at ChildProcess.<anonymous> (/home/substack/projects/comandante/index.js:19:27)
    at ChildProcess.EventEmitter.emit (events.js:91:17)
    at maybeClose (child_process.js:634:16)
    at Socket.ChildProcess.spawn.stdin (child_process.js:805:11)
    at Socket.EventEmitter.emit (events.js:88:17)
    at Socket._destroy.destroyed (net.js:358:10)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)
methods
var commandante = require('commandante')

commandante(cmd, args, opts={})

Spawn a new process like require('child_process').spawn()`, except the return value is a duplex stream combining stdout and stdin.
If the process exits with a non-zero status, emit an 'error' event with the stderr data and the code in an informative message.
install
With npm do:
npm install comandante
license
MIT