child-process-ext
Node.js child_process
extensions
Installation
npm install child-process-ext
API
spawn(command[, args[, options]])
Cross system compliant spawn
(backed by cross-spawn
).
Works exactly same way as node's spawn
with difference that promise is returned that resolves once process exits.
Following properties are exposed on return promise:
-
child
- child process -
stdout
- stdout stream (decorated so it can also be used as promise) -
stderr
- stderr stream (decorated so it can also be used as promise) -
std
- Merged stdout & stderr stream (decorated so it can also be used as promise) -
stdoutBuffer
- Buffer that exposes so far writtenstdout
-
stderrBuffer
- Buffer that exposes so far writtenstderrr
-
stdBuffer
- Buffer that exposes so far writtenstd
Promise resolves with object with three properties:
-
code
- Exit code of a child proces -
signal
- Signal that terminated the process -
stdoutBuffer
- Buffer containing gatheredstdout
content -
stderrBuffer
- Buffer containing gatheredstderr
content -
stdBuffer
- Buffer containing gatheredstderr
content
If process exits with non zero code, then promise is rejected with an error exposing same properties as above
Non standard options
bool
(default: false
)
split Whether stdout data should be split by lines. If set to true
, then stdout
and stderr
on promise expose mappers of original stdout
and stderr
that emit each line with distinct data
event
bool
(default: false
)
shouldCloseStdin Whether stdin should be closed. Applicable for spawned processes where stdin
is set to other than 'inherit'
mode, and underlying processes is reading from stdin
. Not providing any stdin
output, may produce stall if process logic waits for an input.
See: get-stdin#13 for more information
Tests
npm test