execa
execa (latest known version: 10.0.1) has 100 known breaking changes on record, each backed by a source URL.
Recent changes
The transform generator function's chunk argument is now typed based on the transform's mode, instead of always being unknown.
Use an additional file descriptor as input by wrapping its stdio value as a {value, input: true} object. Direction-ambiguous values default to output on additional file descriptors.
The value returned by subprocess.pipe() now exposes the destination subprocess' methods, so the piped output can be consumed directly.
Convert the subprocess to a web stream by using subprocess.readableStream(), subprocess.writableStream(), or subprocess.transformStream().
Terminate the subprocess' descendant processes by using the killDescendants option. This is useful when the subprocess spawns its own processes, such as when using the shell option.
Fixed fd-specific options when the ipc option is true: fd3 and ipc no longer target the same file descriptor.
When the input or inputFile option is combined with an inherited stdin, the explicit input is now used, instead of being ignored. To combine multiple inputs, pass an array like stdin: ['inherit', {string: 'input'}].
Removed the old undocumented stdio: [..., 'ipc'] syntax. Use the ipc: true option instead.
Removed execaCommand() and execaCommandSync(). Use the template string syntax instead, which splits on spaces. If the command is a dynamic string, split it with parseCommandString().
The subprocess is now a normal promise, instead of a ChildProcess instance augmented with promise methods. Node.js-specific ChildProcess APIs must now be accessed through the new subprocess.nodeChildProcess property.
When redirecting `stdout` or `stderr` to a file, it is now possible to append instead of overwriting.
Improved handling of edge cases related to PATH environment variable modification by execaNode() and preferLocal.
Improvements to how execaNode() and the preferLocal option modify the PATH environment variable to keep it small.
A separate package called nano-spawn has been created, offering a smaller alternative to Execa with fewer features.
Added 'error.isForcefullyTerminated'. It is true when the subprocess was terminated by the 'forceKillAfterDelay' option.
Check what changed for execa since your installed version, live.
Open the playground →