Skip to content

Releases: JordanMartinez/purescript-node-execa

v5.0.0

14 Nov 13:27
9d8b11c
Compare
Choose a tag to compare

Breaking changes:

  • getResult's childProcess label now stores an UnsafeChildProcess (previously ChildProcess)
  • getResult's stdin/stdout/stderr conveience functions are now wrapped in Maybe

New Features:

  • Allows stdio values to be configurable

    Previously, 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 presses Ctrl+D. By making stdio
    configurable, one can use inherit instead, which resolves this issue.

    Note: execa's stdio always specifies the first 4 values in the stdio array whereas
    execaSync only specifies the first 3 values.

v4.0.1

08 Sep 17:21
Compare
Choose a tag to compare

Bugfixes:

v4.0.0

27 Jul 14:06
c91c6eb
Compare
Choose a tag to compare

Breaking changes:

  • Updated Node libraries to next breaking releases

  • Synced signal-exit implementation to signals used in library's v4 release

  • Replace ImmutableBuffer usages with Buffer in various areas

  • Renamed result to getResult: execa ... >>= _.result -> execa ... >>= _.getResult

  • Unified the result of _.getResult into a single type, regardless of whether process spawned, failed to spawn, or had an error

    Typical 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

26 Jun 21:15
a4c7520
Compare
Choose a tag to compare
  • Updates the node-event-emitter dependency to v3.0.0
  • Drops onX events in favor of exposing the ChildProcess directly, so that one can use EventHandle to add listeners to it
  • Replace internal usages of on function for adding event listeners with once.

v2.0.0

09 Jun 01:47
f82f394
Compare
Choose a tag to compare

See #9

  • Fix Windows case-sensitive environment key lookups
  • Run tests on Mac and Windows in CI
  • Fix shebangCommand implementation

v1.3.2

30 Mar 14:41
5242b5d
Compare
Choose a tag to compare

Bug Fixes:

  • Update result's error.stderr to store stderr's contents, not stdout's contents.

v1.3.1

22 Mar 01:52
b3747ad
Compare
Choose a tag to compare

See #5

v1.3.0

19 Mar 11:12
Compare
Choose a tag to compare

Bug fixes:

  • Properly parse quoted/escaped file and args (#3 fixed via #4)
  • Add copyright notice to ported source code to better fulfill license requirements

v1.2.0

18 Mar 22:16
Compare
Choose a tag to compare

Fix crash: IsExe.purs' getUidImpl/getGidImpl don't return Maybe

v1.1.0

07 Feb 03:17
Compare
Choose a tag to compare

Add util functions for piping to parent process stdio