Skip to content

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

License

Notifications You must be signed in to change notification settings

jbenet/comandante

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

comandante

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

build status

example

var run = require('comandante');
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 comandante = require('comandante')

comandante(cmd, args, opts={})

Spawn a new process like require('child_process').spawn(), except the return value is a duplex stream combining stdoutandstdin`.

If the process exits with a non-zero status, emit an 'error' event with the stderr data and the code in an informative message.

If opts.showCommand is not false, show the actual command in the informative error message. If you are running a command with passwords in the command arguments make sure to set showCommand to false.

install

With npm do:

npm install comandante

license

MIT

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%