sindresorhus/
A better `child_process`
USD raised
Recent activities
Return an `.all` property with both stdout and stderr intermixed
Consider implementing a duplex mode
Add `.fork()` method
Crash with input option and absolute path without execute permissions
timeout option is not considered if streams are attached
Rename `. cmd` to `.command`
Stdio `tap` option
Allow transform streams convert output to an array of any objects, instead of a single string
Allow userland streams to be passed to `stdio` option
Ability to prefix child process stdio lines with a custom string
Automatically wait for file streams to open
Observable support with customizable through filters
Make `.killed === true` regardless of how it was killed
Unfinished execa promise when path is not found and buffer=false
Arguments in quotes not handled correctly
EPERM errors when using globbing characters
Update social preview with the Execa logo
The `all` stream and `stderr: 'inherit'`
Does not work inside workers threads
Mocking stdout on Execa using sinon
Updated from v1.0 to v2.0 and now detached: true always throws a TypeError
docs: state when the promise returned by execa will be rejected
feat: handle EAGAIN
Error handling when outputing child process's output
Empty stdout with code 0
options.env.PATH is used to find binaries instead of the calling process.env.PATH
Mocking stdout/stderr with jest
Not getting the actual error from child process
Consider allowing windowsHide option
Should `localDir` look up parent directories?
`result.stdout` is empty while `result.all` is not
How to run sudo apt update and use interactive terminal?
TypeScript `<3.4` support
preferLocal prevents local from working
.npmrcă.yarnrc file ignored in child process ?
can not use 'cd'
"TypeError: Cannot read property 'end' of null" when using input
Fails on Electron 7, Node 12 because of get-stream
Ambiguity in env/extendEnv documentation
`execa.sync` doesn't (can't?) provide `all`
Electron app - showing output of execution in real time
Change default behavior of `extendEnv` to false
Include stdout/stderr in `error.message`
TypeError: setTimeout(...).unref is not a function
Question on stdin and stderr
`preferLocal` fails for globally installed CLI programs since v3.0.0
git log - stdout and stderr empty
Uncaught in promise
spawn /path/to/file/code.cmd ENOENT, The system cannot find the path specified.
Promise chains are flattened
Execute with elevated permissions
TypeError: spawnedPromise.finally is not a function
Add `execa.stream()`
Piping `process.stdin` to `child.stdin` leaves behind an open handle
[Help] Command Failing Only When using execa
Type 'Promise<void | ExecaReturnValue<string>>' is not assignable to type 'Promise<void>'.`
Mocking stdin for multiple prompts
Feature Request: Support for multiline commands (sync)
Command inside Backticks or $() do not work
Missing error fields when running in jest (26)
Add `localNodeModules` option or document solution
4.0.1 causes problems with Bluebird
TypeError: execa.command is not a function
Windows: Execa is leaking processes when used with readline
How to declare exitCodes (> 0) as none errors ?
does the execa('echo', ['unicorns']).stdout.pipe(process.stdout) example need { end: false }?
Piping bash commands
ENAMETOOLONG with long argument
execa.command fails if path contains space.
Incorrect ENOENT error on Windows with shell=true when child exits with code 1
Bad file descriptor error on windows using execa.commad
Support `AbortController`
Problem using pipe
The union command could not be executed
"Unknown system error -86" when building C components on Apple Silicon
'signals' of undefined
How to input subshell commands?
Print the executed command?
npm install not working with version 5.0
The NPM link execution command could not find the dependent command
Support `URL` where paths are supported?
feat: setting column on spawned process
Child process not cancelled or killed
Cannot use import statement outside a module
TypeError: arg.replace is not a function
Subprocess should emit error if executable path doesn't exist in Windows
Execa freezes when the child process using nodemon or process.on message listener
Double quoting breaks command
Bug with yarn install
`input` option does not work with fast processes
Add silent support
How to show a spinner until the child processes are done starting web servers?
Spawn E2 BIG from a very large command.
Change the way you indicate you want a Buffer
Cannot work with typescript/ts-node at execa@6
I want to show logs of command execution
caching output?
Steal some ideas/syntax from google/zx
`git diff` is not identical to my terminal
execaCommandSync fails to parse command arguments with quotes
`killSignal` option has no effect
About webpack-dev-server
Version 6 is ESM only
`cwd` as a `file:` URL does not work
Wrong `npm-run-path` dependency
node Expected version "^12.20.0 || ^14.13.1 || >=16.0.0". Got "14.5.0"
Error opening local file `/dev/fd/1` & quoting issue
Running a command in execa behaves differently from running the command manually in a shell
Using double quotes as part of the arguments
`childProcess.all` interleaved result might be out-of-order
Getting output from cmd live (uploadbar)
why unref
Hi Want to strem git clone log
Allow the âforceKillAfterTimeoutâ option to be passed to â.cancel()â
Command was killed with SIGSEGV
get `Error: Command failed with exit code 2:` while also getting back the expected stdout
Promise never resolves if process output pipes are read first in node 18.14.0
Output streams do not emit "end" event if execution fails
Vite show errors
Help for sophisticated command
Default `preferLocal` to `true` when using `$`
`${childProcessResult}` shortcut notation
Verbose mode
Piping shortcut notation
doesn't show child process spinner
If the `env` option is omitted, the `extendEnv` option will not work
Add `pipeStdin()` method
execa not working with github script
spawn ENOENT in GitHub Actions
$ hangs forever when using grep or ripgrep commands
Default `stdin` to `inherit` with `$`
bug: Incorrect Execution of command with Script API
Issue running grep with input globs using script interface
Strange behaviour on quoted arguments
Second process stdout not available when using &&
With solidjs
adding command to the history
how can i match regexp from stdout like pyexpect?
feature request: allow node 17
Add `cwd` to error
Add option to console.log command?
How to stdio: 'inherit and capture stdout at the same time?
[Docs]: Release 8.0.0 lists Breaking Change to require node 16.7+, but package.json requires node 16.17+
Some problems according to examples
`username` option in addition to `uid`?
Remove 'v2' milestore
TypeScript: pipeStdout (and other pipeXxx) is optional property
feature request: shorter $.sync
Return stdout/stderr/all as `Uint8Array` instead of `Buffer`?
[ASK] How to Defrag File using CMD
How can I disable colors for `stdout`?
Improved piping
Add `childProcess.readable` and `childProcess.writable`
Allow `stdin`/`stdout`/`stderr` options to be a file URL
Add `stdin: Iterable` option
Fix flaky tests
Fix the `cleanup` option test
Fix the `verbose` tests
Fix the `.pipeStdout(filePath)` tests
Add `stdin: ReadableStream` and `stdout|stderr: WritableStream` options
Errors on `stdout`/`stderr` leave the process hanging
The `inputFile` option crashes the process when the file path is missing
`spawned.kill()` tests randomly fail
Timing problem when piping `process.stdin|stdout|stderr`
Remove file descriptor restriction on the `stdin`/`stdout`/`stderr` option
Allow `stdin`/`stdout`/`stderr` options to be an array
Executing "cmd.exe" on Windows never exits
Output not visible while giving interactive inputs
windowsVerbatimArguments is converting the path
Remove the `inputFile` option
Fix missing `stdout`/`stderr` data and unhandled promise rejections
`result.stdin` and `error.stdin`
`result.stdio` and `error.stdio`.
Improved syntax for the `stdin|stdout|stderr: filePath` option
Invalid types for `result.stdout|stderr|all`
Inconsistency between `result.stdout` and `error.stdout`.
Stricter typing for `childProcess.all`
Wrong types when using `reject: false`
Line-wise transforms
`error.message` is incorrect with the `encoding: 'buffer'` option
The `all` option is broken when using `stdout: 'ignore'` or `stderr: 'ignore'`
Line-wise standard streams
Remove `.cancel()`?
Process streams uncaught exceptions when `buffer: false` is used
Wait for streams completion on errors
`error.isTerminated` and `error.signal` are sometimes invalid
The `reject` option does not work for early errors
Allow newlines inside `$` command
`timeout` option's improper behavior
More graceful behavior when `buffer: false` is misused
Improve default value of the `stdin` option with `$`
Improve process piping API
Simplify `.pipe*` argument type
Improve promise returned by the `.pipe()` methods
execa.command is not a function
Validate against `yield undefined` in transforms
Improved `verbose` option
Fix error propagation of `.pipe()`
Handle aborted readable stream passed to the `stdin` option
Do not hang processes when passing a file path to `stdin`
Cancel `ReadableStream` when process errors
Streams are not destroyed when the process exits early
Child process listener is not properly cleaned up
`maxListeners` warning when running multiple processes in parallel
--inspect-brk can break execaNode ipc communication
Calling `.kill()` multiple times in a row triggers a `maxListeners` warning
Cancel generators when the process exits
Re-using the features from `execaNode()`
`ipc` option
Change default value of `ipc` to `advanced`
Aborting `childProcess.stdin` leaves the child process hanging
The child process does not handle multiple `error` events
Merge `execPath` and `nodePath` options
Return value is re-used between multiple calls
`.pipe()` shortcut with `$`
`error.cwd` is set but not `result.cwd`
Better error message when `cwd` is invalid
Do not prevent process normal exit
Add `childProcess.kill(error)`
`error.stack` is not updated when `childProcess.destroy(error)` is called (due to Node.js bug)
Improve interaction of the `preferLocal`, `node` and `nodePath` options
Add `.kill(signal, error)`
Fix error stack trace workaround
Do not destroy a stream if the stream it pipes to ends first
Do not error a stream when another stream only aborted
Ignore `EPIPE` on writable streams
Ignore aborts on readable streams
Handle errors from streams passed to the `std*` option
trying to spawn a WSL command but getting /bin/bash: -c: line 0: syntax error near unexpected token `('
`lines` option is not in typescript types
Do not allow invalid escape sequences in `$`
Fix spawning errors
Multiple script piping is not working
Series of `.pipe()` calls do not propagate failures
Rename `signal` option to `unpipeSignal` option
Fix errors thrown by `.pipe()`
Avoid confusion with signals
Improve `.pipe()` error handling
Fix script-friendly `childProcess.pipe()`
Add `.pipe(file, arguments, options)` shortcut
Improve default value of `objectMode` option
Fail a whole pipe when a single command fails (equivalent to `set -o pipefail`)
Improve validation of process arguments
Improve escaping of `result.escapedCommand`
Use consistent variable name for child processes
Escape control characters in error message
Improve `verbose` logging of the `.pipe()` method
Log command with `verbose` even when they fail early
Print command completion with `verbose` option
Print errors with `verbose` option
Allow template strings with all methods
Add colors to `verbose` option
Add `result.durationMs`/`error.durationMs`
Allow `node: true` as a global option
IPC helper
Issue with multiline template strings
$ escape breaks the command that is stored as a variable
Improve error typings
Rename `from: 3` option to `from: 'fd3'`.
`encoding` option accepted values
Stdout/stderr-specific options
piping not work
Fix feature parity between `execa()` and `execaSync()`
Official example not working
`stdio: [..., undefined]` option should always default to `ignore`
Last execa version 8.0.1 released 8 months ago on npm
Types do not work with latest TypeScript version
Improved `shell` option
Question about next release
Changes when calling `.cmd`/`.bat` files on Windows (`EINVAL`)
Support Node 22
stdio pipe option returns an empty string
Fix passing the same file or stream to both `stdout` and `stderr`
Make signal names case-sensitive
Improve validation of signal names
Add `parseCommandString()` method
9.0.0 release
Correct tsc options to prevent TS2834 error?
TypeScript Error `TS2590: Expression produces a union type that is too complex to represent.`
Error TS2834 - Relative import paths need explicit file extensions in ECMAScript
error TS2304: Cannot find name 'TransformStream' 'ReadableStream' 'WritableStream'
Wrong type for the return value when using `reject: false`
TypeScript versioning
breaking changes not included in v9 release notes
Promise-based IPC
The `stdin` and `stdout` options must not target a file path string that is the same.
Export `Execa` and `ExecaScript` types.
v9.1.0 possible bug
template syntax
Select specific IPC messages
Avoid race conditions with IPC
backup-file-in-package
Cannot set properties of null (setting 'peer')
9.2.0 release post
execa with env option not working
Do not disconnect IPC on `error` event
Not able to inject environment variables
Node.js engine version in package.json is not up-to-date
Document CLI utilities
Subprocess is considered as failed exit when using `process.kill` on windows only
Graceful termination
Document idiomatic ternary interpolation pattern?
TypeError: The "eventTargets" argument must be an instance of EventEmitter or EventTarget. Received an instance of AbortSignal
Feature request: Possibility to use a custom verbose log format?
stdout/stderr with 'inherit' + transform should not capture output
Unable to extend env when `ProcessEnv` has been manipulated
Typescript: Verbose option type mismatch?
Memory Leak of pipe
`parseCommandString()` splits at whitespace inside quotes
Timeout / cancel stuck process
The command cannot be executed
Documentation markup problem in `execa/docs/api.md`
Node 23: "heap out of memory" error when `preferLocal` option is enabled
Test case failing : return âș early-error âș write to fast-exit subprocess
Support for double angle bracket >>
Upgrade cross-spawn package to fix vulnerability
© 2019 BoostIO, Inc.