Smart wrapper around child_process.spawn using promises


Smart wrapper around child_process.spawn using promises.

var spawned = require('spawned');
spawned('echo', ['test'])
  .then(function(proc) {
    console.log("Did it work? " + ((proc.out.match(/test/))? "yes" : "no"));
  .catch(function(err) {

Spawn a new process and returns a promise.

  • command: String the command to execute
  • args: Array a list of arguments to pass to the command
  • options: Object inherits the options from child_process.spawn plus these:
    • out: A WriteableStream receiving the stdout data
    • err: A WriteableStream receiving the stderr data

Returns a promise which:

  • when fullfilled resolves to an object like:
    • err: String containing stderr
    • out: String containig stdout
    • combined: String containing the intermingled contents of stdout and stderr
    • code: Number the return code of the program
  • when rejected resolves to an Error having the same properties as above.