child-process-ext
v3.0.2
Published
Extensions to Node.js child_process module
Downloads
6,352,738
Readme
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 processstdout
- 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 processignal
- Signal that terminated the processstdoutBuffer
- Buffer containing gatheredstdout
contentstderrBuffer
- Buffer containing gatheredstderr
contentstdBuffer
- 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
split bool
(default: false
)
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
shouldCloseStdin bool
(default: false
)
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