Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Aug 23, 2021

Note: This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@inquirer/prompts (source) 7.10.18.2.0 age confidence
chokidar 4.0.35.0.0 age confidence
empathic 1.1.02.0.0 age confidence
execa 5.1.19.6.1 age confidence
ora 8.2.09.0.0 age confidence
untildify 5.0.06.0.0 age confidence
which 5.0.06.0.0 age confidence

Release Notes

SBoudrias/Inquirer.js (@​inquirer/prompts)

v8.2.0

Compare Source

  • checkbox prompt: Update the help message to be more complete. And the help message is now shown until a selection is made.

v8.1.0

Compare Source

  • Feat: rawlist now supports default option.
  • Fix: select now infer return type properly when passing a choices array of string literals.

v8.0.2

Compare Source

  • Fix Typescript not discovering types when moduleResolution is set to commonjs (you probably want to fix that in your project if it's still in your tsconfig)

v8.0.1

Compare Source

v8.0.0

Compare Source

Release Notes

🚨 Breaking Changes

This is a major release that modernizes the codebase for Node.js ≥ 20.

ESM Only - No More CommonJS Support

Impact: All packages are now ESM-only. CommonJS imports are no longer supported.

If you're on modern Node versions (≥ 20), this should be transparent and have no impact.

Node.js Version Requirement

Minimum Node.js version is now 20.x

Node.js versions below 20 are no longer supported. Please upgrade to Node.js 20 or later.

Node min versions: >=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0

Deprecated APIs Removed

The following deprecated APIs have been removed after being deprecated in previous releases:

list prompt alias removed (affects inquirer package only)

The list alias has been removed from the inquirer package. This only impacts users of the legacy inquirer package, not users of @inquirer/prompts or individual prompt packages.

// ❌ No longer available (inquirer package only)
import inquirer from 'inquirer';
const answer = await inquirer.prompt([
  { type: 'list', name: 'choice', message: 'Pick one:', choices: ['a', 'b'] }
]);

// ✅ Use 'select' instead
import inquirer from 'inquirer';
const answer = await inquirer.prompt([
  { type: 'select', name: 'choice', message: 'Pick one:', choices: ['a', 'b'] }
]);
helpMode theme property removed
// ❌ No longer available
const answer = await select({
  theme: { helpMode: 'never' }
});

// ✅ Use theme.style.keysHelpTip instead
const answer = await select({
  theme: {
    style: {
      keysHelpTip: () => undefined // or your custom styling function
    }
  }
});

This affects the following prompts:

  • @inquirer/checkbox
  • @inquirer/search
  • @inquirer/select
instructions config property removed
// ❌ No longer available
const answer = await checkbox({
  instructions: 'Custom instructions'
});

// ✅ Use theme.style.keysHelpTip instead
const answer = await checkbox({
  theme: {
    style: {
      keysHelpTip: (text) => 'Custom instructions'
    }
  }
});

This affects the following prompts:

  • @inquirer/checkbox
  • @inquirer/search
  • @inquirer/select
cancel() method removed

The cancel() method on prompt return custom Promise has been removed.

// ❌ No longer available
const answerPromise = input({ message: 'Name?' });
answerPromise.cancel();
const answer = await answerPromise;

// ✅ Use AbortSignal instead
const controller = new AbortController();
const answer = await input(
  { message: 'Name?' },
  { signal: controller.signal }
);
controller.abort();
Color Library Change: yoctocolors → Node.js styleText

Internal change: The project now uses Node.js built-in util.styleText() instead of the yoctocolors package for terminal colors. This makes Inquirer smaller and reduces risks of vulnerabilities coming from transitive dependencies.

paulmillr/chokidar (chokidar)

v5.0.0

Compare Source

  • Make the package ESM-only. Reduces on-disk package size from ~150kb to ~80kb
  • Increase minimum node.js version to v20.19. The versions starting from it support loading esm files from cjs
  • fix: Make types more precise #​1424
  • perf: re-use double slash regex #​1435
  • Update readdirp to ESM-only v5
  • Lots of minor improvements in tests
  • Increase security of NPM releases. Switch to token-less Trusted Publishing, with help of jsbt
  • Switch compilation mode to isolatedDeclaration-based typescript for simplified auto-generated docs

New Contributors

Full Changelog: paulmillr/chokidar@4.0.3...5.0.0

lukeed/empathic (empathic)

v2.0.0

Compare Source

Breaking

  • Replaced options.stop (which was exclusive) with options.last (now inclusive): 4076495

    Note: Applies to all exports within empathic/find, empathic/package, and empathic/walk.

Features

Chores


Full Changelog: lukeed/empathic@v1.1.0...v2.0.0

sindresorhus/execa (execa)

v9.6.1

Compare Source


v9.6.0

Compare Source


v9.5.3

Compare Source


v9.5.2

Compare Source

Bug fixes

v9.5.1

Compare Source

Bug fixes

v9.5.0

Compare Source

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

v9.4.1

Compare Source

Bug fixes

v9.4.0

Compare Source

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

Compare Source

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

Compare Source

Features

v9.2.0

Compare Source

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

Compare Source

Features (types)

v9.0.2

Compare Source

Bug fixes (types)

v9.0.1

Compare Source

Bug fixes (types)

v9.0.0

Compare Source

This major release brings many important features including:

Please check the release post for a high-level overview! For the full list of breaking changes, features and bug fixes, please read below.

Thanks @​younggglcy, @​koshic, @​am0o0 and @​codesmith-emmy for your help!


One of the maintainers @​ehmicky is looking for a remote full-time position. Specialized in Node.js back-ends and CLIs, he led Netlify Build, Plugins and Configuration for 2.5 years. Feel free to contact him on his website or on LinkedIn!


Breaking changes (not types)

const {stdout} = await execa('node', ['file.js'], {encoding: 'buffer'});
console.log(stdout); // This is now an Uint8Array
- await execa('node', ['file.js'], {encoding: null});
+ await execa('node', ['file.js'], {encoding: 'buffer'});

- await execa('node', ['file.js'], {encoding: 'utf-8'});
+ await execa('node', ['file.js'], {encoding: 'utf8'});

- await execa('node', ['file.js'], {encoding: 'UTF8'});
+ await execa('node', ['file.js'], {encoding: 'utf8'});

- await execa('node', ['file.js'], {encoding: 'utf-16le'});
+ await execa('node', ['file.js'], {encoding: 'utf16le'});

- await execa('node', ['file.js'], {encoding: 'ucs2'});
+ await execa('node', ['file.js'], {encoding: 'utf16le'});

- await execa('node', ['file.js'], {encoding: 'ucs-2'});
+ await execa('node', ['file.js'], {encoding: 'utf16le'});

- await execa('node', ['file.js'], {encoding: 'binary'});
+ await execa('node', ['file.js'], {encoding: 'latin1'});
  • Passing a file path to subprocess.pipeStdout(), subprocess.pipeStderr() and subprocess.pipeAll() has been removed. Instead, a {file: './path'} object should be passed to the stdout or stderr option. (#​752)
- await execa('node', ['file.js']).pipeStdout('output.txt');
+ await execa('node', ['file.js'], {stdout: {file: 'output.txt'}});

- await execa('node', ['file.js']).pipeStderr('output.txt');
+ await execa('node', ['file.js'], {stderr: {file: 'output.txt'}});

- await execa('node', ['file.js']).pipeAll('output.txt');
+ await execa('node', ['file.js'], {
+	stdout: {file: 'output.txt'},
+	stderr: {file: 'output.txt'},
+});
- await execa('node', ['file.js']).pipeStdout(stream);
+ await execa('node', ['file.js'], {stdout: ['pipe', stream]});

- await execa('node', ['file.js']).pipeStderr(stream);
+ await execa('node', ['file.js'], {stderr: ['pipe', stream]});

- await execa('node', ['file.js']).pipeAll(stream);
+ await execa('node', ['file.js'], {
+	stdout: ['pipe', stream],
+	stderr: ['pipe', stream],
+});
  • The subprocess.pipeStdout(), subprocess.pipeStderr() and subprocess.pipeAll() methods have been renamed to subprocess.pipe(). The command and its arguments can be passed to subprocess.pipe() directly, without calling execa() a second time. The from piping option can specify 'stdout' (the default value), 'stderr' or 'all'. (#​757)
- await execa('node', ['file.js']).pipeStdout(execa('node', ['other.js']));
+ await execa('node', ['file.js']).pipe('node', ['other.js']);

- await execa('node', ['file.js']).pipeStderr(execa('node', ['other.js']));
+ await execa('node', ['file.js']).pipe('node', ['other.js'], {from: 'stderr'});

- await execa('node', ['file.js']).pipeAll(execa('node', ['other.js']));
+ await execa('node', ['file.js']).pipe('node', ['other.js'], {from: 'all'});
- await execa('node', ['file.js'], {signal: abortController.signal});
+ await execa('node', ['file.js'], {cancelSignal: abortController.signal});
try {
	await execa('node', ['file.js']);
} catch (error) {
- if (error.killed) {
+ if (error.isTerminated) {
		// ...
	}
}
- subprocess.cancel();
+ subprocess.kill();
- const subprocess = execa('node', ['file.js']);
- subprocess.kill('SIGTERM', {forceKillAfterTimeout: 1000});
+ const subprocess = execa('node', ['file.js'], {forceKillAfterDelay: 1000});
+ subprocess.kill('SIGTERM');
  • The verbose option is now a string enum instead of a boolean. false has been renamed to 'none' and true has been renamed to 'short'. (#​884)
- await execa('node', ['file.js'], {verbose: false});
+ await execa('node', ['file.js'], {verbose: 'none'});

- await execa('node', ['file.js'], {verbose: true});
+ await execa('node', ['file.js'], {verbose: 'short'});
- await execa('node', ['file.js'], {execPath: './path/to/node'});
+ await execa('node', ['file.js'], {nodePath: './path/to/node'});
- subprocess.send({example: true, getExample() {}});
+ subprocess.send({example: true});
const subprocess = execa('node', ['file.js']);
- setTimeout(() => {
	subprocess.stdout.pipe(process.stdout);
- }, 0);
- const subprocess = execa('node', ['file.js'], {killSignal: 'sigterm'});
+ const subprocess = execa('node', ['file.js'], {killSignal: 'SIGTERM'});

- subprocess.kill('sigterm');
+ subprocess.kill('SIGTERM');

Features

Execution
Text lines
Piping multiple subprocesses
Input/output
Streams
Verbose mode
Debugging
Errors
Termination
Node.js files
Synchronous execution

Configuration

📅 Schedule: Branch creation - "after 1am and before 5am" in timezone Europe/Paris, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 2 times, most recently from 4f783aa to c08abd2 Compare August 26, 2021 12:33
@renovate renovate bot changed the title chore(deps): update dependency ora to v6 chore(deps): update external dependencies to v6 (major) Aug 26, 2021
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch from c08abd2 to 8330cdb Compare September 5, 2021 21:21
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch from 8330cdb to ca3912c Compare September 13, 2021 19:24
@renovate renovate bot changed the title chore(deps): update external dependencies to v6 (major) chore(deps): update external dependencies (major) Sep 13, 2021
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 2 times, most recently from f247b86 to 56d742c Compare September 16, 2021 01:27
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 4 times, most recently from a572921 to 4519c5f Compare September 30, 2021 23:48
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 4 times, most recently from 63498f2 to a9f96ec Compare October 7, 2021 16:37
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch from a9f96ec to b97c6df Compare October 14, 2021 02:00
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch from b97c6df to 7b8b874 Compare November 4, 2021 06:00
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch from 7b8b874 to 28efbde Compare November 17, 2021 12:24
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch from 28efbde to 4b87804 Compare March 7, 2022 16:06
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch from 4b87804 to 624d684 Compare March 26, 2022 13:31
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 3 times, most recently from 7acb71a to 28a184d Compare June 24, 2022 20:28
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 3 times, most recently from b1ce682 to 98a6619 Compare July 2, 2022 00:55
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 2 times, most recently from e3ba034 to 19b200d Compare July 7, 2022 14:29
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch from 19b200d to 31c2dbf Compare July 13, 2022 23:24
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 6 times, most recently from 07def67 to cd8d01c Compare November 18, 2025 11:39
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 7 times, most recently from b374e8d to a1ba6b7 Compare December 3, 2025 02:45
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 4 times, most recently from e0f9b1e to a826d40 Compare December 16, 2025 11:04
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 2 times, most recently from 6efd0e0 to af983e5 Compare December 21, 2025 17:37
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 2 times, most recently from 1989675 to 903ed38 Compare January 2, 2026 04:59
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch from 903ed38 to e8b431e Compare January 8, 2026 20:36
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch 4 times, most recently from dc79825 to eb72e94 Compare January 13, 2026 11:56
@renovate renovate bot force-pushed the renovate/major-external-dependencies branch from eb72e94 to 053b713 Compare January 13, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants