sindresorhus/execa
### [`v3.4.0`](https://togithub.com/sindresorhus/execa/releases/v3.4.0)
[Compare Source](https://togithub.com/sindresorhus/execa/compare/v3.3.0...v3.4.0)
#### Features
- Add [`serialization` option](https://togithub.com/sindresorhus/execa/blob/master/readme.md#serialization). That option was added to `child_process` methods in Node.js `13.2.0`. ([#392](https://togithub.com/sindresorhus/execa/issues/392))
### [`v3.3.0`](https://togithub.com/sindresorhus/execa/releases/v3.3.0)
[Compare Source](https://togithub.com/sindresorhus/execa/compare/v3.2.0...v3.3.0)
#### Features
- Allow setting the `windowsHide` option ([#388](https://togithub.com/sindresorhus/execa/issues/388)). The option still defaults to `true`. However previously it could not be set to `false`.
#### Documentation
- Add tip on how to retry Execa on failure ([#386](https://togithub.com/sindresorhus/execa/issues/386)).
- Improve examples ([#385](https://togithub.com/sindresorhus/execa/issues/385))
Thanks [@justsml](https://togithub.com/justsml) for helping improving the documentation!
### [`v3.2.0`](https://togithub.com/sindresorhus/execa/releases/v3.2.0)
[Compare Source](https://togithub.com/sindresorhus/execa/compare/v3.1.0...v3.2.0)
#### Features
- Add [`error.signalDescription`](https://togithub.com/sindresorhus/execa#signaldescription) which is a [human-friendly](https://togithub.com/ehmicky/human-signals) description of the signal that terminated the child process (if one did). That description is included in error messages as well. ([#378](https://togithub.com/sindresorhus/execa/issues/378))
### [`v3.1.0`](https://togithub.com/sindresorhus/execa/releases/v3.1.0)
[Compare Source](https://togithub.com/sindresorhus/execa/compare/v3.0.0...v3.1.0)
#### Features
- Add [`execPath` option](https://togithub.com/sindresorhus/execa#execpath) which allows changing the path to the Node.js executable to use in child processes. ([#377](https://togithub.com/sindresorhus/execa/issues/377))
### [`v3.0.0`](https://togithub.com/sindresorhus/execa/releases/v3.0.0)
[Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.1.0...v3.0.0)
#### Breaking changes
- When the [`buffer` option](https://togithub.com/sindresorhus/execa/blob/master/readme.md#buffer) is `false` and [`stdout`](https://togithub.com/sindresorhus/execa/blob/master/readme.md#stdout) and [`stderr`](https://togithub.com/sindresorhus/execa/blob/master/readme.md#stderr) are [piped](https://nodejs.org/api/child_process.html#child_process_options_stdio), [the promise returned](https://togithub.com/sindresorhus/execa/blob/master/readme.md#execafile-arguments-options) by `execa()` will resolve only after those streams are fully read. This also applies to the [`all`](https://togithub.com/sindresorhus/execa/blob/master/readme.md#all) property if the [`all` option](https://togithub.com/sindresorhus/execa/blob/master/readme.md#all-1) is `true`. This concerns you only if you've explicitly set the `buffer` option to `false`. ([#353](https://togithub.com/sindresorhus/execa/issues/353))
- The [`all`](https://togithub.com/sindresorhus/execa/blob/master/readme.md#all) property is now `undefined` unless the [`all` option](https://togithub.com/sindresorhus/execa/blob/master/readme.md#all-1) is set to `true`. ([#353](https://togithub.com/sindresorhus/execa/issues/353))
- [`error.exitCodeName`](https://togithub.com/sindresorhus/execa/blob/master/readme.md#childprocessresult) has been removed. ([#375](https://togithub.com/sindresorhus/execa/issues/375))
- Fix [`error.exitCode`](https://togithub.com/sindresorhus/execa/blob/master/readme.md#exitcode). Its value was previously based on [`error.errno`](https://nodejs.org/api/errors.html#errors_error_errno) which is incorrect. ([#375](https://togithub.com/sindresorhus/execa/issues/375))
#### Features
- Do not remove [`error.code` property](https://nodejs.org/api/errors.html#errors_error_code_1) when it is defined ([#375](https://togithub.com/sindresorhus/execa/issues/375))
- Improve error messages ([#375](https://togithub.com/sindresorhus/execa/issues/375))
- Add [`error.originalMessage` property](https://togithub.com/sindresorhus/execa/blob/master/readme.md#originalmessage) ([#373](https://togithub.com/sindresorhus/execa/issues/373))
#### Bug fixes
- Fix errors being thrown when `detached: true` or `cleanup: false` is used ([#360](https://togithub.com/sindresorhus/execa/issues/360))
- Make execa compatible with Node.js `13.0.0-pre` ([#370](https://togithub.com/sindresorhus/execa/issues/370))
#### Dependencies
- Upgrade `npm-run-path` from `3.0.0` to `4.0.0` ([#376](https://togithub.com/sindresorhus/execa/issues/376))
- Upgrade `cross-spawn` to `7.0.0` ([#367](https://togithub.com/sindresorhus/execa/issues/367))
#### Documentation
- Document the reasons why the returned promise might fail ([#364](https://togithub.com/sindresorhus/execa/issues/364))
### [`v2.1.0`](https://togithub.com/sindresorhus/execa/releases/v2.1.0)
[Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.0.5...v2.1.0)
##### Features
- Add [`error.originalMessage`](https://togithub.com/sindresorhus/execa#originalmessage) property ([#373](https://togithub.com/sindresorhus/execa/issues/373))
##### Documentation
- Document the reasons why the returned promise might fail ([#364](https://togithub.com/sindresorhus/execa/issues/364))
##### Dependencies
- Upgrade cross-spawn to `7.0.0` ([#367](https://togithub.com/sindresorhus/execa/issues/367))
### [`v2.0.5`](https://togithub.com/sindresorhus/execa/releases/v2.0.5)
[Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.0.4...v2.0.5)
#### Bug fixes
- Make execa compatible with Node.js 13.0.0-pre ([#370](https://togithub.com/sindresorhus/execa/issues/370)) [`d268fd1`](https://togithub.com/sindresorhus/execa/commit/d268fd1)
### [`v2.0.4`](https://togithub.com/sindresorhus/execa/releases/v2.0.4)
[Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.0.3...v2.0.4)
#### Bug fixes
- Fix errors being thrown when `detached: true` or `cleanup: false` is used ([#360](https://togithub.com/sindresorhus/execa/issues/360)) [`211febe`](https://togithub.com/sindresorhus/execa/commit/211febe)
### [`v2.0.3`](https://togithub.com/sindresorhus/execa/releases/v2.0.3)
[Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.0.2...v2.0.3)
#### Bug fixes
- Add missing TypeScript definition for `all` ([#345](https://togithub.com/sindresorhus/execa/issues/345))
#### Documentation
- Add tip on how to execute the current package's binary ([#339](https://togithub.com/sindresorhus/execa/issues/339), [#340](https://togithub.com/sindresorhus/execa/issues/340))
### [`v2.0.2`](https://togithub.com/sindresorhus/execa/releases/v2.0.2)
[Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.0.1...v2.0.2)
### Bug fixes
- Fix memory leak ([#321](https://togithub.com/sindresorhus/execa/issues/321), [#330](https://togithub.com/sindresorhus/execa/issues/330))
- Fix `result.all` not being constant across calls ([#327](https://togithub.com/sindresorhus/execa/issues/327), [#330](https://togithub.com/sindresorhus/execa/issues/330))
### [`v2.0.1`](https://togithub.com/sindresorhus/execa/releases/v2.0.1)
[Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.0.0...v2.0.1)
#### Bug fixes
- Correctly set the `engines.node` field in `package.json`. Supported Node versions are either `^8.12.0` or `>=9.7.0` ([#319](https://togithub.com/sindresorhus/execa/issues/319), [#323](https://togithub.com/sindresorhus/execa/issues/323))
#### Documentation
- Improve the [`execa.command()`](https://togithub.com/sindresorhus/execa#execacommandcommand-options) documentation ([#317](https://togithub.com/sindresorhus/execa/issues/317))
### [`v2.0.0`](https://togithub.com/sindresorhus/execa/releases/v2.0.0)
[Compare Source](https://togithub.com/sindresorhus/execa/compare/v1.0.0...v2.0.0)
Thanks to [@GMartigny](https://togithub.com/GMartigny), [@BendingBender](https://togithub.com/BendingBender), [@tomsotte](https://togithub.com/tomsotte), [@ammarbinfaisal](https://togithub.com/ammarbinfaisal), [@zokker13](https://togithub.com/zokker13), [@stroncium](https://togithub.com/stroncium), [@satyarohith](https://togithub.com/satyarohith), [@bradfordlemley](https://togithub.com/bradfordlemley), [@coreyfarrell](https://togithub.com/coreyfarrell), [@brandon93s](https://togithub.com/brandon93s), [@dtinth](https://togithub.com/dtinth), [@papb](https://togithub.com/papb) for the great features and bug fixes they've contributed!
Please check the [Medium article](https://medium.com/@ehmicky/execa-v2-20ffafeedfdf) about this release!
#### Breaking changes
- Drop support for Node.js 6 ([dce22670](https://togithub.com/sindresorhus/execa/commit/dce226705cab370c828e99cbd6de5439c4c5c60f), [#221](https://togithub.com/sindresorhus/execa/issues/221))
- Remove `execa.shell()` and `execa.shellSync()`. The [`shell` option](https://togithub.com/sindresorhus/execa#shell) should be used instead. ([#219](https://togithub.com/sindresorhus/execa/issues/219))
- Remove `execa.stdout()` and `execa.stderr()`. [`childProcessResult.stdout`](https://togithub.com/sindresorhus/execa#stdout) and [`childProcessResult.stderr`](https://togithub.com/sindresorhus/execa#stderr) should be used instead ([#234](https://togithub.com/sindresorhus/execa/issues/234))
- Remove `error.code` (`number` or `string`) in favor of [`error.exitCode`](https://togithub.com/sindresorhus/execa#exitcode) (`number`) and [`error.exitCodeName`](https://togithub.com/sindresorhus/execa#exitcodename) (`string`) ([#187](https://togithub.com/sindresorhus/execa/issues/187), [#250](https://togithub.com/sindresorhus/execa/issues/250))
- Rename `stripeEof` option to [`stripFinalNewline`](https://togithub.com/sindresorhus/execa#stripfinalnewline) ([f8397ba9](https://togithub.com/sindresorhus/execa/commit/f8397ba9504b5fbba6cb6275b617fc5da6ced199), [4d0dc88a](https://togithub.com/sindresorhus/execa/commit/4d0dc88ae9d4870976050c60a53f8fefcfca922c), [#238](https://togithub.com/sindresorhus/execa/issues/238))
- Rename `cmd` (in `childProcessResult` and `error`) to [`command`](https://togithub.com/sindresorhus/execa#command) ([#194](https://togithub.com/sindresorhus/execa/issues/194))
- Default [`preferLocal` option](https://togithub.com/sindresorhus/execa#preferlocal) to `false`. If you are executing locally installed binaries, you'll need to manually specify `preferLocal: true` ([#314](https://togithub.com/sindresorhus/execa/issues/314))
- Ensure [`windowsHide` option](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options) is always `true`, so that no window pops up on Windows. ([8c886452](https://togithub.com/sindresorhus/execa/commit/8c886452d4d69c4d020db1561b97335f37e999d7))
- [`error.signal`](https://togithub.com/sindresorhus/execa#signal) is now `undefined` instead of `null` when no signal was used ([#193](https://togithub.com/sindresorhus/execa/issues/193))
- Set [`error.killed`](https://togithub.com/sindresorhus/execa#killed) to `false` when child process timed out ([#227](https://togithub.com/sindresorhus/execa/issues/227))
- Make [`error.killed`](https://togithub.com/sindresorhus/execa#killed) always boolean (not `undefined`) ([#229](https://togithub.com/sindresorhus/execa/issues/229), [#248](https://togithub.com/sindresorhus/execa/issues/248))
- Ensure errors always have the same shape. ([#276](https://togithub.com/sindresorhus/execa/issues/276), [#277](https://togithub.com/sindresorhus/execa/issues/277), [#283](https://togithub.com/sindresorhus/execa/issues/283))
- [`error.stdout`](https://togithub.com/sindresorhus/execa#stdout) and [`error.stderr`](https://togithub.com/sindresorhus/execa#stderr) are now an empty string (instead of `null`) when the command failed. ([#246](https://togithub.com/sindresorhus/execa/issues/246))
#### Features
- Add TypeScript definition ([#188](https://togithub.com/sindresorhus/execa/issues/188), [f2cb86ff](https://togithub.com/sindresorhus/execa/commit/f2cb86ff79657e5493f52f4a4b460d20a57fe1c5), [7702b8ef](https://togithub.com/sindresorhus/execa/commit/7702b8ef3f2f30dd3fbd281ae19a6f69c6ac4f95), [4692dcd4](https://togithub.com/sindresorhus/execa/commit/4692dcd4cec9097ded284ed6f9a71666bd560564), [#251](https://togithub.com/sindresorhus/execa/issues/251))
- Add [`execa.command()`](https://togithub.com/sindresorhus/execa#execacommandcommand-options) and [`execa.commandSync()`](https://togithub.com/sindresorhus/execa#execacommandsynccommand-options). Those are the same as [`execa()`](https://togithub.com/sindresorhus/execa#execafile-arguments-options) except both file and arguments are specified in a single string. For example, `execa('echo', ['unicorns'])` is the same as `execa.command('echo unicorns')` ([#182](https://togithub.com/sindresorhus/execa/issues/182), [#261](https://togithub.com/sindresorhus/execa/issues/261), [#262](https://togithub.com/sindresorhus/execa/issues/262), [#278](https://togithub.com/sindresorhus/execa/issues/278), [#279](https://togithub.com/sindresorhus/execa/issues/279), [#282](https://togithub.com/sindresorhus/execa/issues/282))
- Retrieve interleaved stdout and stderr with [`childProcess.all`](https://togithub.com/sindresorhus/execa#all) and [`childProcessResult.all`](https://togithub.com/sindresorhus/execa#all-1) ([#171](https://togithub.com/sindresorhus/execa/issues/171), [#264](https://togithub.com/sindresorhus/execa/issues/264))
- Add [`execa.node()`](https://togithub.com/sindresorhus/execa#execanodescriptpath-arguments-options) which (like [`child_process.fork()`](https://nodejs.org/api/child_process.html#child_process_child_process_fork_modulepath_args_options)) allows you to execute a Node.js script as a child process ([#200](https://togithub.com/sindresorhus/execa/issues/200), [#297](https://togithub.com/sindresorhus/execa/issues/297), [#299](https://togithub.com/sindresorhus/execa/issues/299), [#302](https://togithub.com/sindresorhus/execa/issues/302), [#303](https://togithub.com/sindresorhus/execa/issues/303), [#305](https://togithub.com/sindresorhus/execa/issues/305), [#306](https://togithub.com/sindresorhus/execa/issues/306)).
- If [`childProcess.kill()`](https://togithub.com/sindresorhus/execa#killsignal-options) does not terminate a child process after 5 seconds, force it by sending `SIGKILL`. This can be configured using the [`forceKillAfterTimeout` option](https://togithub.com/sindresorhus/execa#optionsforcekillaftertimeout). ([#208](https://togithub.com/sindresorhus/execa/issues/208), [#272](https://togithub.com/sindresorhus/execa/issues/272), [#273](https://togithub.com/sindresorhus/execa/issues/273), [#280](https://togithub.com/sindresorhus/execa/issues/280), [#284](https://togithub.com/sindresorhus/execa/issues/284), [#285](https://togithub.com/sindresorhus/execa/issues/285))
- Add [`childProcess.cancel()`](https://togithub.com/sindresorhus/execa#cancel) and [`error.isCanceled`](https://togithub.com/sindresorhus/execa#iscanceled) ([#189](https://togithub.com/sindresorhus/execa/issues/189), [f24e7c72](https://togithub.com/sindresorhus/execa/commit/f24e7c7237de2c06f19903eecf3f04f0785c29d1), [#226](https://togithub.com/sindresorhus/execa/issues/226), [#309](https://togithub.com/sindresorhus/execa/issues/309))
- [`error.stdout`](https://togithub.com/sindresorhus/execa#stdout), [`error.stderr`](https://togithub.com/sindresorhus/execa#stderr) and [`error.all`](https://togithub.com/sindresorhus/execa#all) now contain the data that was sent before the child process exit. ([#271](https://togithub.com/sindresorhus/execa/issues/271))
- Improve [`error.message`](https://togithub.com/sindresorhus/execa#childprocessresult) on child process failure ([#180](https://togithub.com/sindresorhus/execa/issues/180), [#223](https://togithub.com/sindresorhus/execa/issues/223), [#230](https://togithub.com/sindresorhus/execa/issues/230), [#245](https://togithub.com/sindresorhus/execa/issues/245), [#269](https://togithub.com/sindresorhus/execa/issues/269))
- Add `.finally()` to the [child process promise](https://togithub.com/sindresorhus/execa#childprocessresult) ([#174](https://togithub.com/sindresorhus/execa/issues/174), [65139849](https://togithub.com/sindresorhus/execa/commit/651398491b888bf5a51022aa3859152aacb4f796))
- Increase [`maxBuffer`](https://togithub.com/sindresorhus/execa#maxbuffer) option default value from `10 MB` to `100 MB` ([#286](https://togithub.com/sindresorhus/execa/issues/286))
#### Bug fixes
- Fix [`timeout` option](https://togithub.com/sindresorhus/execa#timeout) not working as expected ([#199](https://togithub.com/sindresorhus/execa/issues/199))
- Fix [`error.timedOut`](https://togithub.com/sindresorhus/execa#timedout) not working with `execa.sync()` ([#249](https://togithub.com/sindresorhus/execa/issues/249))
- Fix [`maxBuffer`](https://togithub.com/sindresorhus/execa#maxbuffer) errors not using the same shape as the other errors ([#266](https://togithub.com/sindresorhus/execa/issues/266))
- Fix [`extendEnd` option](https://togithub.com/sindresorhus/execa#extendenv) not working with [`shell` option](https://togithub.com/sindresorhus/execa#shell) ([#184](https://togithub.com/sindresorhus/execa/issues/184))
- Fix [`stripFinalNewline` option](https://togithub.com/sindresorhus/execa#stripfinalnewline) not applied on error properties ([#240](https://togithub.com/sindresorhus/execa/issues/240))
- Fix `/q` parameter not added when using `cmd` instead of `cmd.exe` ([#203](https://togithub.com/sindresorhus/execa/issues/203))
- Fix uncaught exception when using [`input` option](https://togithub.com/sindresorhus/execa#input) with a non-executable file ([#212](https://togithub.com/sindresorhus/execa/issues/212), [#258](https://togithub.com/sindresorhus/execa/issues/258))
- Fix errors on child processes waiting for stdout/stderr to complete ([#270](https://togithub.com/sindresorhus/execa/issues/270))
- Fix validating that the [`stdio`](https://togithub.com/sindresorhus/execa#stdio) option cannot be used together with [`stdin: 0`](https://togithub.com/sindresorhus/execa#stdin) ([#301](https://togithub.com/sindresorhus/execa/issues/301)).
#### Documentation
- Improve documentation ([#158](https://togithub.com/sindresorhus/execa/issues/158), [#235](https://togithub.com/sindresorhus/execa/issues/235), [#237](https://togithub.com/sindresorhus/execa/issues/237), [#239](https://togithub.com/sindresorhus/execa/issues/239), [#241](https://togithub.com/sindresorhus/execa/issues/241), [#256](https://togithub.com/sindresorhus/execa/issues/256))
#### Design
- Add a logo ([#201](https://togithub.com/sindresorhus/execa/issues/201))
#### Tests
- Fix various tests ([f185a0e8](https://togithub.com/sindresorhus/execa/commit/f185a0e8bee153a67dc92a8477b33a659cc5274c), [#185](https://togithub.com/sindresorhus/execa/issues/185), [#215](https://togithub.com/sindresorhus/execa/issues/215), [#216](https://togithub.com/sindresorhus/execa/issues/216), [#224](https://togithub.com/sindresorhus/execa/issues/224), [#218](https://togithub.com/sindresorhus/execa/issues/218), [#225](https://togithub.com/sindresorhus/execa/issues/225), [#231](https://togithub.com/sindresorhus/execa/issues/231), [#233](https://togithub.com/sindresorhus/execa/issues/233), [#247](https://togithub.com/sindresorhus/execa/issues/247), [#300](https://togithub.com/sindresorhus/execa/issues/300))
#### Maintainers
- Add [@ehmicky](https://togithub.com/ehmicky) as an additional maintainer.
Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
Newsflash: Renovate has joined WhiteSource, and is now free for all use. Learn more or view updated terms and privacy policies.
This PR contains the following updates:
1.0.0
->3.4.0
Release Notes
sindresorhus/execa
### [`v3.4.0`](https://togithub.com/sindresorhus/execa/releases/v3.4.0) [Compare Source](https://togithub.com/sindresorhus/execa/compare/v3.3.0...v3.4.0) #### Features - Add [`serialization` option](https://togithub.com/sindresorhus/execa/blob/master/readme.md#serialization). That option was added to `child_process` methods in Node.js `13.2.0`. ([#392](https://togithub.com/sindresorhus/execa/issues/392)) ### [`v3.3.0`](https://togithub.com/sindresorhus/execa/releases/v3.3.0) [Compare Source](https://togithub.com/sindresorhus/execa/compare/v3.2.0...v3.3.0) #### Features - Allow setting the `windowsHide` option ([#388](https://togithub.com/sindresorhus/execa/issues/388)). The option still defaults to `true`. However previously it could not be set to `false`. #### Documentation - Add tip on how to retry Execa on failure ([#386](https://togithub.com/sindresorhus/execa/issues/386)). - Improve examples ([#385](https://togithub.com/sindresorhus/execa/issues/385)) Thanks [@justsml](https://togithub.com/justsml) for helping improving the documentation! ### [`v3.2.0`](https://togithub.com/sindresorhus/execa/releases/v3.2.0) [Compare Source](https://togithub.com/sindresorhus/execa/compare/v3.1.0...v3.2.0) #### Features - Add [`error.signalDescription`](https://togithub.com/sindresorhus/execa#signaldescription) which is a [human-friendly](https://togithub.com/ehmicky/human-signals) description of the signal that terminated the child process (if one did). That description is included in error messages as well. ([#378](https://togithub.com/sindresorhus/execa/issues/378)) ### [`v3.1.0`](https://togithub.com/sindresorhus/execa/releases/v3.1.0) [Compare Source](https://togithub.com/sindresorhus/execa/compare/v3.0.0...v3.1.0) #### Features - Add [`execPath` option](https://togithub.com/sindresorhus/execa#execpath) which allows changing the path to the Node.js executable to use in child processes. ([#377](https://togithub.com/sindresorhus/execa/issues/377)) ### [`v3.0.0`](https://togithub.com/sindresorhus/execa/releases/v3.0.0) [Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.1.0...v3.0.0) #### Breaking changes - When the [`buffer` option](https://togithub.com/sindresorhus/execa/blob/master/readme.md#buffer) is `false` and [`stdout`](https://togithub.com/sindresorhus/execa/blob/master/readme.md#stdout) and [`stderr`](https://togithub.com/sindresorhus/execa/blob/master/readme.md#stderr) are [piped](https://nodejs.org/api/child_process.html#child_process_options_stdio), [the promise returned](https://togithub.com/sindresorhus/execa/blob/master/readme.md#execafile-arguments-options) by `execa()` will resolve only after those streams are fully read. This also applies to the [`all`](https://togithub.com/sindresorhus/execa/blob/master/readme.md#all) property if the [`all` option](https://togithub.com/sindresorhus/execa/blob/master/readme.md#all-1) is `true`. This concerns you only if you've explicitly set the `buffer` option to `false`. ([#353](https://togithub.com/sindresorhus/execa/issues/353)) - The [`all`](https://togithub.com/sindresorhus/execa/blob/master/readme.md#all) property is now `undefined` unless the [`all` option](https://togithub.com/sindresorhus/execa/blob/master/readme.md#all-1) is set to `true`. ([#353](https://togithub.com/sindresorhus/execa/issues/353)) - [`error.exitCodeName`](https://togithub.com/sindresorhus/execa/blob/master/readme.md#childprocessresult) has been removed. ([#375](https://togithub.com/sindresorhus/execa/issues/375)) - Fix [`error.exitCode`](https://togithub.com/sindresorhus/execa/blob/master/readme.md#exitcode). Its value was previously based on [`error.errno`](https://nodejs.org/api/errors.html#errors_error_errno) which is incorrect. ([#375](https://togithub.com/sindresorhus/execa/issues/375)) #### Features - Do not remove [`error.code` property](https://nodejs.org/api/errors.html#errors_error_code_1) when it is defined ([#375](https://togithub.com/sindresorhus/execa/issues/375)) - Improve error messages ([#375](https://togithub.com/sindresorhus/execa/issues/375)) - Add [`error.originalMessage` property](https://togithub.com/sindresorhus/execa/blob/master/readme.md#originalmessage) ([#373](https://togithub.com/sindresorhus/execa/issues/373)) #### Bug fixes - Fix errors being thrown when `detached: true` or `cleanup: false` is used ([#360](https://togithub.com/sindresorhus/execa/issues/360)) - Make execa compatible with Node.js `13.0.0-pre` ([#370](https://togithub.com/sindresorhus/execa/issues/370)) #### Dependencies - Upgrade `npm-run-path` from `3.0.0` to `4.0.0` ([#376](https://togithub.com/sindresorhus/execa/issues/376)) - Upgrade `cross-spawn` to `7.0.0` ([#367](https://togithub.com/sindresorhus/execa/issues/367)) #### Documentation - Document the reasons why the returned promise might fail ([#364](https://togithub.com/sindresorhus/execa/issues/364)) ### [`v2.1.0`](https://togithub.com/sindresorhus/execa/releases/v2.1.0) [Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.0.5...v2.1.0) ##### Features - Add [`error.originalMessage`](https://togithub.com/sindresorhus/execa#originalmessage) property ([#373](https://togithub.com/sindresorhus/execa/issues/373)) ##### Documentation - Document the reasons why the returned promise might fail ([#364](https://togithub.com/sindresorhus/execa/issues/364)) ##### Dependencies - Upgrade cross-spawn to `7.0.0` ([#367](https://togithub.com/sindresorhus/execa/issues/367)) ### [`v2.0.5`](https://togithub.com/sindresorhus/execa/releases/v2.0.5) [Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.0.4...v2.0.5) #### Bug fixes - Make execa compatible with Node.js 13.0.0-pre ([#370](https://togithub.com/sindresorhus/execa/issues/370)) [`d268fd1`](https://togithub.com/sindresorhus/execa/commit/d268fd1) ### [`v2.0.4`](https://togithub.com/sindresorhus/execa/releases/v2.0.4) [Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.0.3...v2.0.4) #### Bug fixes - Fix errors being thrown when `detached: true` or `cleanup: false` is used ([#360](https://togithub.com/sindresorhus/execa/issues/360)) [`211febe`](https://togithub.com/sindresorhus/execa/commit/211febe) ### [`v2.0.3`](https://togithub.com/sindresorhus/execa/releases/v2.0.3) [Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.0.2...v2.0.3) #### Bug fixes - Add missing TypeScript definition for `all` ([#345](https://togithub.com/sindresorhus/execa/issues/345)) #### Documentation - Add tip on how to execute the current package's binary ([#339](https://togithub.com/sindresorhus/execa/issues/339), [#340](https://togithub.com/sindresorhus/execa/issues/340)) ### [`v2.0.2`](https://togithub.com/sindresorhus/execa/releases/v2.0.2) [Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.0.1...v2.0.2) ### Bug fixes - Fix memory leak ([#321](https://togithub.com/sindresorhus/execa/issues/321), [#330](https://togithub.com/sindresorhus/execa/issues/330)) - Fix `result.all` not being constant across calls ([#327](https://togithub.com/sindresorhus/execa/issues/327), [#330](https://togithub.com/sindresorhus/execa/issues/330)) ### [`v2.0.1`](https://togithub.com/sindresorhus/execa/releases/v2.0.1) [Compare Source](https://togithub.com/sindresorhus/execa/compare/v2.0.0...v2.0.1) #### Bug fixes - Correctly set the `engines.node` field in `package.json`. Supported Node versions are either `^8.12.0` or `>=9.7.0` ([#319](https://togithub.com/sindresorhus/execa/issues/319), [#323](https://togithub.com/sindresorhus/execa/issues/323)) #### Documentation - Improve the [`execa.command()`](https://togithub.com/sindresorhus/execa#execacommandcommand-options) documentation ([#317](https://togithub.com/sindresorhus/execa/issues/317)) ### [`v2.0.0`](https://togithub.com/sindresorhus/execa/releases/v2.0.0) [Compare Source](https://togithub.com/sindresorhus/execa/compare/v1.0.0...v2.0.0) Thanks to [@GMartigny](https://togithub.com/GMartigny), [@BendingBender](https://togithub.com/BendingBender), [@tomsotte](https://togithub.com/tomsotte), [@ammarbinfaisal](https://togithub.com/ammarbinfaisal), [@zokker13](https://togithub.com/zokker13), [@stroncium](https://togithub.com/stroncium), [@satyarohith](https://togithub.com/satyarohith), [@bradfordlemley](https://togithub.com/bradfordlemley), [@coreyfarrell](https://togithub.com/coreyfarrell), [@brandon93s](https://togithub.com/brandon93s), [@dtinth](https://togithub.com/dtinth), [@papb](https://togithub.com/papb) for the great features and bug fixes they've contributed! Please check the [Medium article](https://medium.com/@ehmicky/execa-v2-20ffafeedfdf) about this release! #### Breaking changes - Drop support for Node.js 6 ([dce22670](https://togithub.com/sindresorhus/execa/commit/dce226705cab370c828e99cbd6de5439c4c5c60f), [#221](https://togithub.com/sindresorhus/execa/issues/221)) - Remove `execa.shell()` and `execa.shellSync()`. The [`shell` option](https://togithub.com/sindresorhus/execa#shell) should be used instead. ([#219](https://togithub.com/sindresorhus/execa/issues/219)) - Remove `execa.stdout()` and `execa.stderr()`. [`childProcessResult.stdout`](https://togithub.com/sindresorhus/execa#stdout) and [`childProcessResult.stderr`](https://togithub.com/sindresorhus/execa#stderr) should be used instead ([#234](https://togithub.com/sindresorhus/execa/issues/234)) - Remove `error.code` (`number` or `string`) in favor of [`error.exitCode`](https://togithub.com/sindresorhus/execa#exitcode) (`number`) and [`error.exitCodeName`](https://togithub.com/sindresorhus/execa#exitcodename) (`string`) ([#187](https://togithub.com/sindresorhus/execa/issues/187), [#250](https://togithub.com/sindresorhus/execa/issues/250)) - Rename `stripeEof` option to [`stripFinalNewline`](https://togithub.com/sindresorhus/execa#stripfinalnewline) ([f8397ba9](https://togithub.com/sindresorhus/execa/commit/f8397ba9504b5fbba6cb6275b617fc5da6ced199), [4d0dc88a](https://togithub.com/sindresorhus/execa/commit/4d0dc88ae9d4870976050c60a53f8fefcfca922c), [#238](https://togithub.com/sindresorhus/execa/issues/238)) - Rename `cmd` (in `childProcessResult` and `error`) to [`command`](https://togithub.com/sindresorhus/execa#command) ([#194](https://togithub.com/sindresorhus/execa/issues/194)) - Default [`preferLocal` option](https://togithub.com/sindresorhus/execa#preferlocal) to `false`. If you are executing locally installed binaries, you'll need to manually specify `preferLocal: true` ([#314](https://togithub.com/sindresorhus/execa/issues/314)) - Ensure [`windowsHide` option](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options) is always `true`, so that no window pops up on Windows. ([8c886452](https://togithub.com/sindresorhus/execa/commit/8c886452d4d69c4d020db1561b97335f37e999d7)) - [`error.signal`](https://togithub.com/sindresorhus/execa#signal) is now `undefined` instead of `null` when no signal was used ([#193](https://togithub.com/sindresorhus/execa/issues/193)) - Set [`error.killed`](https://togithub.com/sindresorhus/execa#killed) to `false` when child process timed out ([#227](https://togithub.com/sindresorhus/execa/issues/227)) - Make [`error.killed`](https://togithub.com/sindresorhus/execa#killed) always boolean (not `undefined`) ([#229](https://togithub.com/sindresorhus/execa/issues/229), [#248](https://togithub.com/sindresorhus/execa/issues/248)) - Ensure errors always have the same shape. ([#276](https://togithub.com/sindresorhus/execa/issues/276), [#277](https://togithub.com/sindresorhus/execa/issues/277), [#283](https://togithub.com/sindresorhus/execa/issues/283)) - [`error.stdout`](https://togithub.com/sindresorhus/execa#stdout) and [`error.stderr`](https://togithub.com/sindresorhus/execa#stderr) are now an empty string (instead of `null`) when the command failed. ([#246](https://togithub.com/sindresorhus/execa/issues/246)) #### Features - Add TypeScript definition ([#188](https://togithub.com/sindresorhus/execa/issues/188), [f2cb86ff](https://togithub.com/sindresorhus/execa/commit/f2cb86ff79657e5493f52f4a4b460d20a57fe1c5), [7702b8ef](https://togithub.com/sindresorhus/execa/commit/7702b8ef3f2f30dd3fbd281ae19a6f69c6ac4f95), [4692dcd4](https://togithub.com/sindresorhus/execa/commit/4692dcd4cec9097ded284ed6f9a71666bd560564), [#251](https://togithub.com/sindresorhus/execa/issues/251)) - Add [`execa.command()`](https://togithub.com/sindresorhus/execa#execacommandcommand-options) and [`execa.commandSync()`](https://togithub.com/sindresorhus/execa#execacommandsynccommand-options). Those are the same as [`execa()`](https://togithub.com/sindresorhus/execa#execafile-arguments-options) except both file and arguments are specified in a single string. For example, `execa('echo', ['unicorns'])` is the same as `execa.command('echo unicorns')` ([#182](https://togithub.com/sindresorhus/execa/issues/182), [#261](https://togithub.com/sindresorhus/execa/issues/261), [#262](https://togithub.com/sindresorhus/execa/issues/262), [#278](https://togithub.com/sindresorhus/execa/issues/278), [#279](https://togithub.com/sindresorhus/execa/issues/279), [#282](https://togithub.com/sindresorhus/execa/issues/282)) - Retrieve interleaved stdout and stderr with [`childProcess.all`](https://togithub.com/sindresorhus/execa#all) and [`childProcessResult.all`](https://togithub.com/sindresorhus/execa#all-1) ([#171](https://togithub.com/sindresorhus/execa/issues/171), [#264](https://togithub.com/sindresorhus/execa/issues/264)) - Add [`execa.node()`](https://togithub.com/sindresorhus/execa#execanodescriptpath-arguments-options) which (like [`child_process.fork()`](https://nodejs.org/api/child_process.html#child_process_child_process_fork_modulepath_args_options)) allows you to execute a Node.js script as a child process ([#200](https://togithub.com/sindresorhus/execa/issues/200), [#297](https://togithub.com/sindresorhus/execa/issues/297), [#299](https://togithub.com/sindresorhus/execa/issues/299), [#302](https://togithub.com/sindresorhus/execa/issues/302), [#303](https://togithub.com/sindresorhus/execa/issues/303), [#305](https://togithub.com/sindresorhus/execa/issues/305), [#306](https://togithub.com/sindresorhus/execa/issues/306)). - If [`childProcess.kill()`](https://togithub.com/sindresorhus/execa#killsignal-options) does not terminate a child process after 5 seconds, force it by sending `SIGKILL`. This can be configured using the [`forceKillAfterTimeout` option](https://togithub.com/sindresorhus/execa#optionsforcekillaftertimeout). ([#208](https://togithub.com/sindresorhus/execa/issues/208), [#272](https://togithub.com/sindresorhus/execa/issues/272), [#273](https://togithub.com/sindresorhus/execa/issues/273), [#280](https://togithub.com/sindresorhus/execa/issues/280), [#284](https://togithub.com/sindresorhus/execa/issues/284), [#285](https://togithub.com/sindresorhus/execa/issues/285)) - Add [`childProcess.cancel()`](https://togithub.com/sindresorhus/execa#cancel) and [`error.isCanceled`](https://togithub.com/sindresorhus/execa#iscanceled) ([#189](https://togithub.com/sindresorhus/execa/issues/189), [f24e7c72](https://togithub.com/sindresorhus/execa/commit/f24e7c7237de2c06f19903eecf3f04f0785c29d1), [#226](https://togithub.com/sindresorhus/execa/issues/226), [#309](https://togithub.com/sindresorhus/execa/issues/309)) - [`error.stdout`](https://togithub.com/sindresorhus/execa#stdout), [`error.stderr`](https://togithub.com/sindresorhus/execa#stderr) and [`error.all`](https://togithub.com/sindresorhus/execa#all) now contain the data that was sent before the child process exit. ([#271](https://togithub.com/sindresorhus/execa/issues/271)) - Improve [`error.message`](https://togithub.com/sindresorhus/execa#childprocessresult) on child process failure ([#180](https://togithub.com/sindresorhus/execa/issues/180), [#223](https://togithub.com/sindresorhus/execa/issues/223), [#230](https://togithub.com/sindresorhus/execa/issues/230), [#245](https://togithub.com/sindresorhus/execa/issues/245), [#269](https://togithub.com/sindresorhus/execa/issues/269)) - Add `.finally()` to the [child process promise](https://togithub.com/sindresorhus/execa#childprocessresult) ([#174](https://togithub.com/sindresorhus/execa/issues/174), [65139849](https://togithub.com/sindresorhus/execa/commit/651398491b888bf5a51022aa3859152aacb4f796)) - Increase [`maxBuffer`](https://togithub.com/sindresorhus/execa#maxbuffer) option default value from `10 MB` to `100 MB` ([#286](https://togithub.com/sindresorhus/execa/issues/286)) #### Bug fixes - Fix [`timeout` option](https://togithub.com/sindresorhus/execa#timeout) not working as expected ([#199](https://togithub.com/sindresorhus/execa/issues/199)) - Fix [`error.timedOut`](https://togithub.com/sindresorhus/execa#timedout) not working with `execa.sync()` ([#249](https://togithub.com/sindresorhus/execa/issues/249)) - Fix [`maxBuffer`](https://togithub.com/sindresorhus/execa#maxbuffer) errors not using the same shape as the other errors ([#266](https://togithub.com/sindresorhus/execa/issues/266)) - Fix [`extendEnd` option](https://togithub.com/sindresorhus/execa#extendenv) not working with [`shell` option](https://togithub.com/sindresorhus/execa#shell) ([#184](https://togithub.com/sindresorhus/execa/issues/184)) - Fix [`stripFinalNewline` option](https://togithub.com/sindresorhus/execa#stripfinalnewline) not applied on error properties ([#240](https://togithub.com/sindresorhus/execa/issues/240)) - Fix `/q` parameter not added when using `cmd` instead of `cmd.exe` ([#203](https://togithub.com/sindresorhus/execa/issues/203)) - Fix uncaught exception when using [`input` option](https://togithub.com/sindresorhus/execa#input) with a non-executable file ([#212](https://togithub.com/sindresorhus/execa/issues/212), [#258](https://togithub.com/sindresorhus/execa/issues/258)) - Fix errors on child processes waiting for stdout/stderr to complete ([#270](https://togithub.com/sindresorhus/execa/issues/270)) - Fix validating that the [`stdio`](https://togithub.com/sindresorhus/execa#stdio) option cannot be used together with [`stdin: 0`](https://togithub.com/sindresorhus/execa#stdin) ([#301](https://togithub.com/sindresorhus/execa/issues/301)). #### Documentation - Improve documentation ([#158](https://togithub.com/sindresorhus/execa/issues/158), [#235](https://togithub.com/sindresorhus/execa/issues/235), [#237](https://togithub.com/sindresorhus/execa/issues/237), [#239](https://togithub.com/sindresorhus/execa/issues/239), [#241](https://togithub.com/sindresorhus/execa/issues/241), [#256](https://togithub.com/sindresorhus/execa/issues/256)) #### Design - Add a logo ([#201](https://togithub.com/sindresorhus/execa/issues/201)) #### Tests - Fix various tests ([f185a0e8](https://togithub.com/sindresorhus/execa/commit/f185a0e8bee153a67dc92a8477b33a659cc5274c), [#185](https://togithub.com/sindresorhus/execa/issues/185), [#215](https://togithub.com/sindresorhus/execa/issues/215), [#216](https://togithub.com/sindresorhus/execa/issues/216), [#224](https://togithub.com/sindresorhus/execa/issues/224), [#218](https://togithub.com/sindresorhus/execa/issues/218), [#225](https://togithub.com/sindresorhus/execa/issues/225), [#231](https://togithub.com/sindresorhus/execa/issues/231), [#233](https://togithub.com/sindresorhus/execa/issues/233), [#247](https://togithub.com/sindresorhus/execa/issues/247), [#300](https://togithub.com/sindresorhus/execa/issues/300)) #### Maintainers - Add [@ehmicky](https://togithub.com/ehmicky) as an additional maintainer.Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "
rebase!
".:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
Newsflash: Renovate has joined WhiteSource, and is now free for all use. Learn more or view updated terms and privacy policies.