Skip to content

Releases: sindresorhus/execa

v9.5.2

07 Dec 23:13
Compare
Choose a tag to compare

Bug fixes

v9.5.1

29 Oct 07:28
Compare
Choose a tag to compare

Bug fixes

  • Fix odd characters being printed in verbose mode on Windows (thanks @IIIMADDINIII). (#1167)

v9.5.0

27 Oct 07:57
Compare
Choose a tag to compare

Features

await execa({stdout: {file: 'output.txt', append: true}})`npm run build`;

v9.4.1

16 Oct 19:02
Compare
Choose a tag to compare

Bug fixes

  • Fix using process.execPath with Deno. Thanks @w3cj! (#1160)

v9.4.0

16 Sep 22:47
Compare
Choose a tag to compare

Features

  • We've created a separate package called nano-spawn. It is similar to Execa but with fewer features, for a much smaller package size. More info.

Bug fixes

Documentation

v9.3.1

14 Aug 20:05
Compare
Choose a tag to compare

Thanks @holic and @jimhigson for your contributions!

Bugs

Bugs (types)

  • Fix type of the env option. It was currently failing for Remix or Next.js users. (by @holic) (#1141)

Documentation

v9.3.0

21 Jun 18:24
Compare
Choose a tag to compare

Features

v9.2.0

06 Jun 17:44
Compare
Choose a tag to compare

This release includes a new set of methods to exchange messages between the current process and a Node.js subprocess, also known as "IPC". This allows passing and returning almost any message type to/from a Node.js subprocess. Also, debugging IPC is now much easier.

Moreover, a new gracefulCancel option has also been added to terminate a subprocess gracefully.

For a deeper dive-in, please check and share the release post!

Thanks @iiroj for your contribution, @SimonSiefke and @adymorz for reporting the bugs fixed in this release, and @karlhorky for improving the documentation!

Deprecations

  • Passing 'ipc' to the stdio option has been deprecated. It will be removed in the next major release. Instead, the ipc: true option should be used. (#1056)
- await execa('npm', ['run', 'build'], {stdio: ['pipe', 'pipe', 'pipe', 'ipc']});
+ await execa('npm', ['run', 'build'], {ipc: true});
- import {execaCommand} from 'execa';
+ import {execa} from 'execa';

- await execaCommand('npm run build');
+ await execa`npm run build`;

const taskName = 'build';
- await execaCommand(`npm run ${taskName}`);
+ await execa`npm run ${taskName}`;

const commandArguments = ['run', 'task with space'];
await execa`npm ${commandArguments}`;

If the file and/or multiple arguments are supplied as a single string, parseCommandString(command) can split that string into an array. More info. (#1054)

- import {execaCommand} from 'execa';
+ import {execa, parseCommandString} from 'execa';

const commandString = 'npm run task';
- await execaCommand(commandString);
+ const commandArray = parseCommandString(commandString); // ['npm', 'run', 'task']
+ await execa`${commandArray}`;

// Or alternatively:
const [file, ...commandArguments] = commandArray;
await execa(file, commandArguments);

Features

Types

Bug fixes

v9.1.0

13 May 14:42
Compare
Choose a tag to compare

Features (types)

v9.0.2

10 May 06:14
Compare
Choose a tag to compare

Bug fixes (types)

  • Do not require using --lib dom for TypeScript users (#1043, #1044)
  • Fix type of the reject option (#1046)