chore(deps): update devdependencies
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| @babel/cli (source) | 7.24.1 -> 7.24.7 |
devDependencies | patch | ||||
| @types/eslint (source) | 8.56.7 -> 8.56.10 |
devDependencies | patch | ||||
| @types/node (source) | ^12.20.55 -> ^20.0.0 |
devDependencies | major | ||||
| @types/which (source) | 3.0.3 -> 3.0.4 |
devDependencies | patch | ||||
| @upleveled/babel-plugin-remove-node-prefix | 95fcbd9 -> 02526f8 |
devDependencies | digest | ||||
| cspell (source) | 8.6.1 -> 8.9.1 |
devDependencies | minor | ||||
| dprint | ^0.45.0 -> ^0.46.0 |
devDependencies | minor | ||||
| eslint (source) | ^8.57.0 -> ^9.0.0 |
devDependencies | major | ||||
| eslint-config-atomic | 1.21.2 -> 1.22.0 |
devDependencies | minor | ||||
| execa | ^7.2.0 -> ^9.0.0 |
devDependencies | major | ||||
| npm-check-updates | 16.14.18 -> 16.14.20 |
devDependencies | patch | ||||
| npm-run-all2 | 6.1.2 -> 6.2.0 |
devDependencies | minor | ||||
| numerous | 1.0.3 -> 2.0.0 |
devDependencies | major | ||||
| prettier (source) | 3.2.2 -> 3.3.2 |
devDependencies | minor | ||||
| semver | 7.6.0 -> 7.6.2 |
devDependencies | patch | ||||
| setup-python | a783db6 -> 65d7f2d |
devDependencies | digest | ||||
| time-delta | 69d91a4 -> d732dbc |
devDependencies | digest | ||||
| typescript (source) | 5.4.3 -> 5.5.2 |
devDependencies | minor |
🔡 If you wish to disable git hash updates, add ":disableDigestUpdates" to the extends array in your config.
Release Notes
babel/babel (@babel/cli)
v7.24.7
:bug: Bug Fix
-
babel-node- #16554 Allow extra flags in babel-node (@nicolo-ribaudo)
-
babel-traverse-
#16522 fix: incorrect
constantViolationswith destructuring (@liuxingbaoyu)
-
#16522 fix: incorrect
-
babel-helper-transform-fixture-test-runner,babel-plugin-proposal-explicit-resource-management-
#16524 fix: Transform
usinginswitchcorrectly (@liuxingbaoyu)
-
#16524 fix: Transform
:house: Internal
-
babel-helpers,babel-runtime-corejs2,babel-runtime-corejs3,babel-runtime- #16525 Delete unused array helpers (@blakewilson)
v7.24.6
:bug: Bug Fix
-
babel-helper-create-class-features-plugin,babel-plugin-transform-class-properties- #16514 Fix source maps for private member expressions (@nicolo-ribaudo)
-
babel-core,babel-generator,babel-plugin-transform-modules-commonjs- #16515 Fix source maps for template literals (@nicolo-ribaudo)
-
babel-helper-create-class-features-plugin,babel-plugin-proposal-decorators -
babel-helpers,babel-plugin-proposal-decorators,babel-runtime-corejs3 -
babel-parser,babel-plugin-transform-typescript-
#16476 fix: Correctly parse
cls.fn<C> = x(@liuxingbaoyu)
-
#16476 fix: Correctly parse
:house: Internal
-
babel-core,babel-helpers,babel-plugin-transform-runtime,babel-preset-env,babel-runtime-corejs2,babel-runtime-corejs3,babel-runtime- #16501 Generate helper metadata at build time (@nicolo-ribaudo)
-
babel-helpers-
#16499 Add
tsconfig.jsonfor@babel/helpers/src/helpers(@nicolo-ribaudo)
-
#16499 Add
-
babel-cli,babel-helpers,babel-plugin-external-helpers,babel-plugin-proposal-decorators,babel-plugin-transform-class-properties,babel-plugin-transform-modules-commonjs,babel-plugin-transform-modules-systemjs,babel-plugin-transform-runtime,babel-preset-env,babel-runtime-corejs2,babel-runtime-corejs3,babel-runtime- #16495 Move all runtime helpers to individual files (@nicolo-ribaudo)
-
babel-parser,babel-traverse- #16482 Statically generate boilerplate for bitfield accessors (@nicolo-ribaudo)
- Other
v7.24.5
:bug: Bug Fix
-
babel-plugin-transform-classes,babel-traverse- #16377 fix: TypeScript annotation affects output (@liuxingbaoyu)
-
babel-helpers,babel-plugin-proposal-explicit-resource-management,babel-runtime-corejs3
:nail_care: Polish
:house: Internal
- Other
- #16414 Relax ESLint peerDependency constraint to allow v9 (@liuxingbaoyu)
-
babel-parser-
#16425 Improve
@babel/parserAST types (@nicolo-ribaudo) -
#16417 Always pass type argument to
.startNode(@nicolo-ribaudo)
-
#16425 Improve
-
babel-helper-create-class-features-plugin,babel-helper-member-expression-to-functions,babel-helper-module-transforms,babel-helper-split-export-declaration,babel-helper-wrap-function,babel-helpers,babel-plugin-bugfix-firefox-class-in-computed-class-key,babel-plugin-proposal-explicit-resource-management,babel-plugin-transform-block-scoping,babel-plugin-transform-destructuring,babel-plugin-transform-object-rest-spread,babel-plugin-transform-optional-chaining,babel-plugin-transform-parameters,babel-plugin-transform-private-property-in-object,babel-plugin-transform-react-jsx-self,babel-plugin-transform-typeof-symbol,babel-plugin-transform-typescript,babel-traverse-
#16439 Make
NodePath<T | U>distributive (@nicolo-ribaudo)
-
#16439 Make
-
babel-plugin-proposal-partial-application,babel-types-
#16421 Remove
JSXNamespacedNamefrom validCallExpressionargs (@nicolo-ribaudo)
-
#16421 Remove
-
babel-plugin-transform-class-properties,babel-preset-env- #16406 Do not load unnecessary Babel 7 syntax plugins in Babel 8 (@nicolo-ribaudo)
:running_woman: Performance
streetsidesoftware/cspell (cspell)
v8.9.1
v8.9.0
Note: Version bump only for package cspell
v8.8.4
v8.8.3
v8.8.2
v8.8.1
- chore: Do not stop update if it fails to lint. (64ba085)
v8.8.0
Note: Version bump only for package cspell
v8.7.0
Note: Version bump only for package cspell
dprint/dprint (dprint)
v0.46.3
Changes
- fix: continue when cert fails to load from system store (#861)
Install
Run dprint upgrade or see https://dprint.dev/install/
Checksums
| Artifact | SHA-256 Checksum |
|---|---|
| dprint-x86_64-apple-darwin.zip | a9f4c71f1e32e99152e8278ccbd27c059246dfa1c3d8b3cb1fa0837bdd269b3e |
| dprint-aarch64-apple-darwin.zip | f051c3b3bb5e8f936c1b5ad6e3659bf408a8e787b6dca48e6f95baf261f6e84d |
| dprint-x86_64-pc-windows-msvc.zip | 4e024b2e626b2eabf923a62703cda3beb90ecacfaf2d737454ed6025779e3811 |
| dprint-x86_64-pc-windows-msvc-installer.exe | 819b72a241e3d9b402bff100b0c0192b698d9d600554ea9861576d494bcd814e |
| dprint-x86_64-unknown-linux-gnu.zip | 3f0bacc98f4f173ef712eda3a3162c0ee8287ecd86bfbddaea3b20e91a385e1d |
| dprint-x86_64-unknown-linux-musl.zip | b3968388c27fcc0853d54e57f8a00c1bd6134395d9657ded3088f365304bf90f |
| dprint-aarch64-unknown-linux-gnu.zip | ae1fe44aabfe7b63e7a264a2c5856b9fad40a59101eff3ae8df6a035d8635a02 |
| dprint-aarch64-unknown-linux-musl.zip | 868a478307416f845f11dff9d9d6e94547dc826339fb6d5740f5b7795d9135af |
v0.46.2
Changes
- fix: analyze Wasm plugin version without instantiating plugin (#857)
Install
Run dprint upgrade or see https://dprint.dev/install/
Checksums
| Artifact | SHA-256 Checksum |
|---|---|
| dprint-x86_64-apple-darwin.zip | 88abd8a6f416b624fdfae338ae6fca440f4a36b35199f0d03438caeb7715d820 |
| dprint-aarch64-apple-darwin.zip | a331d1c9ad2abb96d46c33d25f1166bd5497dde0c48eb8a8f3d98143cd4bca5b |
| dprint-x86_64-pc-windows-msvc.zip | 53ab1991d23be9de8bf3b920f8605aee55629321fcacccfc5df38d49b2eb5160 |
| dprint-x86_64-pc-windows-msvc-installer.exe | e4c015ddbc247fe889f03a011ec4832bc339175977f7db4f674ae0313e2fe726 |
| dprint-x86_64-unknown-linux-gnu.zip | e2819a2f1092750227cbd0a92b1172e889a30ddbb5773e85db133c1c8859edf6 |
| dprint-x86_64-unknown-linux-musl.zip | bbe9fe8eae9abdcfccdeca97fd8c524efd6137de702ee96e82b0ecb4ad432ebf |
| dprint-aarch64-unknown-linux-gnu.zip | 3f01bc1d7d47fec7c00af52ee5e270f4759743da1f6e1b31a593bfdaa1dc1906 |
| dprint-aarch64-unknown-linux-musl.zip | d7b6f88c320bffcbb1dfeb6030d5a1ef23d18d81721e39abdbf4b8bdab389ba4 |
v0.46.1
Changes
- fix: dprint 0.46 release for
cargo installwithout--lockedflag (#852) - fix: upgrade to rustls 0.23.8 (#853)
Please run dprint config update after upgrading as some BOM handling happens in the plugins now and some may fail to parse files with a BOM now. See #854 and sorry for any headaches (I'm unsure of the impact of this change, so let me know if this is a huge hassle for you).
Install
Run dprint upgrade or see https://dprint.dev/install/
Checksums
| Artifact | SHA-256 Checksum |
|---|---|
| dprint-x86_64-apple-darwin.zip | cdea84bce1d84c26e8eced2265d246b79a849ec2e7d1377d98dd7bdb21c7ce83 |
| dprint-aarch64-apple-darwin.zip | f3ff4faef83d14c3b4ae262e79a40d4e0fc3fa1903d0b6e9b82f0b25b00e9499 |
| dprint-x86_64-pc-windows-msvc.zip | 74e5ab38c744d5903862c2b5174d0fef9759b5506da775e1fb93b6a68c63101d |
| dprint-x86_64-pc-windows-msvc-installer.exe | 107786c41be76b49463a50d7d9d788397bba723e107e723347f8e8dde65339dc |
| dprint-x86_64-unknown-linux-gnu.zip | cb72fa6b474e2847a3cf5705b43ee2cbfdafddd7c69ff162309fd1f4f43c872a |
| dprint-x86_64-unknown-linux-musl.zip | 4a7d6fa6b920ab150f580965556086cdd7992e07078e627ab9a9d1c3bd30ba85 |
| dprint-aarch64-unknown-linux-gnu.zip | c4e892d5d237a57ede7900255e5ce669b56160e61c89798c118fbd4c36d48ff2 |
| dprint-aarch64-unknown-linux-musl.zip | e2b6d87167d21f1f01571790e79526ef9caff3b8b75f5cac348c4f06f60a8c16 |
v0.46.0
Changes
- feat: gitignore support (#832)
- feat:
DPRINT_TLS_CA_STOREandDPRINT_CERT(#850) - fix: remove BOM handling from the CLI (#844)
Please run dprint config update after upgrading as some BOM handling happens in the plugins now and some may fail to parse files with a BOM now. See #854 and sorry for any headaches (I'm unsure of the impact of this change, so let me know if this is a huge hassle for you).
Install
Run dprint upgrade or see https://dprint.dev/install/
Checksums
| Artifact | SHA-256 Checksum |
|---|---|
| dprint-x86_64-apple-darwin.zip | e339f1f891c60087676d72f70ba5f80dcaedde4bdc58730b9cb68a5483b3abfd |
| dprint-aarch64-apple-darwin.zip | 4b608b3676f10e04328c3d8be396bded96328ebca9b95b70bf5baf67bed7b135 |
| dprint-x86_64-pc-windows-msvc.zip | 786201545938f6f7c6d407e6404b31ae9bbf9e5a4abc4c88dc9bd73da369a906 |
| dprint-x86_64-pc-windows-msvc-installer.exe | e445b37af124e5d8ef691685632509d2bfc701962c58db89eebc8a8de7352ab4 |
| dprint-x86_64-unknown-linux-gnu.zip | 8274ea44d2ab4d10b8bdfcc824d946a6d051594aede49c9db8c5e810887abd67 |
| dprint-x86_64-unknown-linux-musl.zip | 7a2c12edc868259be890174c4ec3bd51c81ec8773aa294e12fac0634f36d15f5 |
| dprint-aarch64-unknown-linux-gnu.zip | 6617465acba53c9b939e73f20538a8027e45593342c34f7ac4826c9f4e6cf53b |
| dprint-aarch64-unknown-linux-musl.zip | e52c0a3398e34e88ffe560e719bf8361ba3f35b4e0927ab9ba0761796884ce24 |
v0.45.1
Changes
- perf: lazily create ureq agents (#836)
dprint on Mac and Linux now starts up faster.
Before:
% dprint -v
0.45.0
% time dprint check --incremental=false ./data/package-template.json
0.173s total
After:
% dprint -v
0.45.1
% time dprint --incremental=false ./data/package-template.json
0.023s total
Install
Run dprint upgrade or see https://dprint.dev/install/
Checksums
| Artifact | SHA-256 Checksum |
|---|---|
| dprint-x86_64-apple-darwin.zip | 83cce6b82d8674dbdddaf911bc117f1c866aaa4712aa381e54ab9466526026aa |
| dprint-aarch64-apple-darwin.zip | be6e4bcf9aafeb4ef34f27385717004cc0dfd06f8bce8e67b18937b53285d436 |
| dprint-x86_64-pc-windows-msvc.zip | 71fef42ad86017a50bee977836dfd387d8584d6a9c4c03354d62977eaa1f135b |
| dprint-x86_64-pc-windows-msvc-installer.exe | 6db6148387b9e2e0434d0eaef3624bc1a401c85175e4863c220143d6151857a0 |
| dprint-x86_64-unknown-linux-gnu.zip | 4e0c1d4f0f9f41efc08d929616c9f73abea7e57b9658a8f5f478a26e165c331c |
| dprint-x86_64-unknown-linux-musl.zip | eaf2690b7414d11bc33fb2a81898f285748a7a6a7983f965b569e536fb67b815 |
| dprint-aarch64-unknown-linux-gnu.zip | 828133ac7a7591a2d9e63d5f10a70751f558152b20653383ae32ce76199662ad |
| dprint-aarch64-unknown-linux-musl.zip | c05d839d1f187d68d55effc60add4e66afb373015a1d1126c310b5c8669a8563 |
atom-ide-community/eslint-config-atomic (eslint-config-atomic)
v1.22.0
What's Changed
- fix: update dependencies by @aminya in https://github.com/atom-community/eslint-config-atomic/pull/88
Full Changelog: https://github.com/atom-community/eslint-config-atomic/compare/v1.21.2...v1.22.0
sindresorhus/execa (execa)
v9.3.0
v9.2.0
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 thestdiooption has been deprecated. It will be removed in the next major release. Instead, theipc: trueoption should be used. (#1056)
- await execa('npm', ['run', 'build'], {stdio: ['pipe', 'pipe', 'pipe', 'ipc']});
+ await execa('npm', ['run', 'build'], {ipc: true});
- The
execaCommand()method has been deprecated. It will be removed in the next major release. If most cases, the template string syntax should be used instead.
- 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
- Add
gracefulCanceloption andgetCancelSignal()method to terminate a subprocess gracefully.error.isGracefullyCanceledwas also added. (#1109) - Add
error.isForcefullyTerminated. It istruewhen the subprocess was terminated by theforceKillAfterDelayoption. (#1111) - New methods to simplify exchanging messages between the current process and the subprocess. More info. (#1059, #1061, #1076, #1077, #1079, #1082, #1083, #1086, #1087, #1088, #1089, #1090, #1091, #1092, #1094, #1095, #1098, #1104, #1107)
- The current process sends messages with
subprocess.sendMessage(message)and receives them withsubprocess.getOneMessage().subprocess.getEachMessage()listens to multiple messages. - The subprocess uses
sendMessage(message),getOneMessage()andgetEachMessage()instead. Those are the same methods, but imported directly from the'execa'module.
- The current process sends messages with
- The
ipcInputoption sends an IPC message from the current process to the subprocess as it starts. This enables passing almost any input type to a Node.js subprocess. (#1068) - The
result.ipcOutputarray contains all the IPC messages sent by the subprocess to the current process. This enables returning almost any output type from a Node.js subprocess. (#1067, #1071, #1075) - The error message now contains every IPC message sent by the subprocess. (#1067)
- The
verbose: 'full'option now logs every IPC message sent by the subprocess, for debugging. More info here and there. (#1063)
Types
- Add
ExecaMethod,ExecaNodeMethodandExecaScriptMethod,ExecaSyncMethodandExecaScriptSyncMethodtypes. (#1066) - Export the
Messagetype, for IPC. (#1059) - Fix type of
forceKillAfterDelay: trueoption. (#1116)
Bug fixes
- Fix passing a
{file}to both thestdinand thestdoutorstderroptions. (#1058) - Fix multiple minor problems with the
cancelSignaloption. (#1108) - Fix accidental publishing of Vim backup files. (#1074)
- Fix
engines.nodefield inpackage.json. Supported Node.js version is^18.19.0or>=20.5.0. (by @iiroj) (#1101)
v9.1.0
Features (types)
- Export
TemplateExpressiontype. (#1049)
v9.0.2
Bug fixes (types)
- Do not require using
--lib domfor TypeScript users (#1043, #1044) - Fix type of the
rejectoption (#1046)
v9.0.1
Bug fixes (types)
- Fix types not being importable (#1033)
3bdab60 - Fix complexity bug with types (#1037)
6cc519b - Fix complexity bug with types (#1035)
fee011d
v9.0.0
This major release brings many important features including:
- Split the output into lines, or progressively iterate over them.
- Transform or filter the input/output using simple functions.
- Print the output to the terminal while still retrieving it programmatically.
- Redirect the input/output from/to a file.
- Advanced piping between multiple subprocesses.
- Improved verbose mode, for debugging.
- More detailed errors, including when terminating subprocesses.
- Enhanced template string syntax.
- Global/shared options.
- Web streams and Transform streams support.
- Convert the subprocess to a stream.
- New documentation with many examples.
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
-
Minimal supported Node.js version is now
18.19.0. (834e372) -
When the
encodingoption is'buffer', the output (result.stdout,result.stderr,result.all) is now anUint8Arrayinstead of aBuffer. For more information, see this blog post. (by @younggglcy) (#586)
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()andsubprocess.pipeAll()has been removed. Instead, a{file: './path'}object should be passed to thestdoutorstderroption. (#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'},
+});
- Passing a writable stream to
subprocess.pipeStdout(),subprocess.pipeStderr()andsubprocess.pipeAll()has been removed. Instead, the stream should be passed to thestdoutorstderroption. If the stream does not have a file descriptor,['pipe', stream]should be passed instead. (#752)
- 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()andsubprocess.pipeAll()methods have been renamed tosubprocess.pipe(). The command and its arguments can be passed tosubprocess.pipe()directly, without callingexeca()a second time. Thefrompiping 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'});
- Renamed the
signaloption tocancelSignal. (#880)
- await execa('node', ['file.js'], {signal: abortController.signal});
+ await execa('node', ['file.js'], {cancelSignal: abortController.signal});
- Renamed
error.killedtoerror.isTerminated. (#625)
try {
await execa('node', ['file.js']);
} catch (error) {
- if (error.killed) {
+ if (error.isTerminated) {
// ...
}
}
-
subprocess.cancel()has been removed. Please use eithersubprocess.kill()or thecancelSignaloption instead. (#711)
- subprocess.cancel();
+ subprocess.kill();
- Renamed the
forceKillAfterTimeoutoption toforceKillAfterDelay. Also, it is now passed toexeca()instead ofsubprocess.kill(). (#714, #723)
- const subprocess = execa('node', ['file.js']);
- subprocess.kill('SIGTERM', {forceKillAfterTimeout: 1000});
+ const subprocess = execa('node', ['file.js'], {forceKillAfterDelay: 1000});
+ subprocess.kill('SIGTERM');
- The
verboseoption is now a string enum instead of a boolean.falsehas been renamed to'none'andtruehas 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'});
- The
execPathoption has been renamed tonodePath. It is now a noop unless thenodeoption istrue. Also, it now works even if thepreferLocaloption isfalse. (#812, #815)
- await execa('node', ['file.js'], {execPath: './path/to/node'});
+ await execa('node', ['file.js'], {nodePath: './path/to/node'});
- The default value for the
serializationoption is now'advanced'instead of'json'. In particular, when callingsubprocess.send(object)with an object that contains functions or symbols, those were previously silently removed. Now this will throw an exception. (#905)
- subprocess.send({example: true, getExample() {}});
+ subprocess.send({example: true});
- If
subprocess.stdout,subprocess.stderrorsubprocess.allis manually piped, the.pipe()call must now happen as soon assubprocessis created. Otherwise, the output at the beginning of the subprocess might be missing. (#658, #747)
const subprocess = execa('node', ['file.js']);
- setTimeout(() => {
subprocess.stdout.pipe(process.stdout);
- }, 0);
- Signals passed to
subprocess.kill()and to thekillSignaloption cannot be lowercase anymore. (#1025)
- const subprocess = execa('node', ['file.js'], {killSignal: 'sigterm'});
+ const subprocess = execa('node', ['file.js'], {killSignal: 'SIGTERM'});
- subprocess.kill('sigterm');
+ subprocess.kill('SIGTERM');
Features
Execution
- Use the template string syntax with any method (including
execa()), as opposed to only$. Conversely,$can now use the regular array syntax. (#933) - A command's template string can span multiple lines. (#843)
-
Share options between multiple calls, or set global options, by using
execa(options). (#933, #965) - Pass a file URL (as opposed to a file path string) to
execa(),execaNode(), theinputFileoption, thenodePathoption or theshelloption. (#630, #631, #632, #635)
Text lines
-
Split the output into text lines by using the
linesoption. (#741, #929, #931, #948, #951, #957) - Subprocess is now an async iterable, iterating over the output lines while the subprocess is running. (#923)
Piping multiple subprocesses
- Simpler syntax: pass the command directly to
subprocess.pipe()without callingexeca(). A template string can also be used. (#840, #859, #864) - Wait for both subprocesses to complete. Error handling has been improved too. (#757, #778, #834, #854)
- Retrieve the result of each subprocess (not only the last one) by using
result.pipedFromanderror.pipedFrom. (#834) - Pipe 1 or many subprocesses to 1 or many subprocesses. (#834)
- Pipe subprocesses usin
Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, 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 has been generated by Mend Renovate. View repository job log here.