Releases: JordanMartinez/purescript-node-execa
v5.0.0
Breaking changes:
getResult
'schildProcess
label now stores anUnsafeChildProcess
(previouslyChildProcess
)getResult
'sstdin
/stdout
/stderr
conveience functions are now wrapped inMaybe
New Features:
-
Allows
stdio
values to be configurablePreviously, a
stdio
value of[ 'pipe', 'pipe', 'pipe', 'ipc' ] <> appendStdio
was used.
However, this caused issues when piping a parent process'stdin
into the child process'stdin
,
such that the child would never terminate when the user pressesCtrl+D
. By makingstdio
configurable, one can useinherit
instead, which resolves this issue.Note:
execa
'sstdio
always specifies the first 4 values in thestdio
array whereas
execaSync
only specifies the first 3 values.
v4.0.1
v4.0.0
Breaking changes:
-
Updated Node libraries to next breaking releases
-
Synced
signal-exit
implementation to signals used in library'sv4
release -
Replace
ImmutableBuffer
usages withBuffer
in various areas -
Renamed
result
togetResult
:execa ... >>= _.result
->execa ... >>= _.getResult
-
Unified the result of
_.getResult
into a single type, regardless of whether process spawned, failed to spawn, or had an errorTypical usage will be something like:
result <- _.getResult =<< execa cmd args identity -- `stdout` and `stderr` are available whether process errored or not case result.exit of Normally 0 -> -- good exit Normally 127 -> -- ENOENT error _ -> do -- uh oh, something went wrong log $ result.stdout log $ result.stderr log $ show $ result.spawnError - did process fail to spawn? -- let's be real, you're going to do this at some point for ease of debugging: log $ show result
-
Removed numerous type aliases that are no longer relevant
New features:
getResult'
- Runs the given callback after the process has successfully spawned but before the process terminates.
Bugfixes:
ENOENT
errors are now reported with exit code 127- (bug may have existed) accessing
stdio
values before verifying that process spawned successfully
Other improvements:
- Upgraded CI's Node to LTS
- Dropped internal bindings to
node-child-process
v3.0.0
- Updates the
node-event-emitter
dependency tov3.0.0
- Drops
onX
events in favor of exposing theChildProcess
directly, so that one can useEventHandle
to add listeners to it - Replace internal usages of
on
function for adding event listeners withonce
.
v2.0.0
v1.3.2
Bug Fixes:
- Update result's
error.stderr
to storestderr
's contents, notstdout
's contents.
v1.3.1
v1.3.0
v1.2.0
Fix crash: IsExe.purs
' getUidImpl
/getGidImpl
don't return Maybe
v1.1.0
Add util functions for piping to parent process stdio