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