-
Notifications
You must be signed in to change notification settings - Fork 0
chore(deps): update devdependency execa to v9 #87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the WalkthroughThe primary change involves upgrading the Changes
Poem
Comment |
e469229 to
b8ef59c
Compare
b8ef59c to
7230c14
Compare
22e96bb to
fe68c72
Compare
fe68c72 to
be43a7f
Compare
be43a7f to
5386996
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
Files selected for processing (1)
- package.json (1 hunks)
Additional comments not posted (1)
package.json (1)
94-94: Verify compatibility withexecav9.3.1.The update to
execafrom^8.0.1to^9.3.1may introduce breaking changes, such as the removal of theexecaCommand()method and changes to IPC configuration. Ensure that these changes do not affect the existing functionality.Verification successful
No issues found with
execav9.3.1 update.The codebase does not use the
execaCommandmethod or IPC configuration, which are potential breaking changes inexecav9.3.1. Therefore, the update should not affect existing functionality.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify usage of deprecated or removed features in `execa` v9.3.1. # Test: Search for usage of `execaCommand` and IPC configuration. Expect: No occurrences. rg --type js 'execaCommand|ipc'Length of output: 182
Script:
#!/bin/bash # Description: Re-verify usage of deprecated or removed features in `execa` v9.3.1. # Test: Search for usage of `execaCommand` and IPC configuration in all JavaScript files. find . -name "*.js" -print0 | xargs -0 rg 'execaCommand|ipc'Length of output: 62
a7fb1c5 to
bea4e05
Compare
bea4e05 to
d3d2d61
Compare
3eb87b8 to
8c89ff6
Compare
8c89ff6 to
238452a
Compare
238452a to
978cc02
Compare
978cc02 to
24df07c
Compare
24df07c to
58a8aeb
Compare
58a8aeb to
b360de7
Compare
b360de7 to
e8ffc2d
Compare
e8ffc2d to
b7d010d
Compare
This PR contains the following updates:
^8.0.1->^9.6.1Release Notes
sindresorhus/execa (execa)
v9.6.1Compare Source
VerboseOptiontype not being properly exported (#1215)7891c39v9.6.0Compare Source
d49104av9.5.3Compare Source
1ac5b91v9.5.2Compare Source
Bug fixes
v9.5.1Compare Source
Bug fixes
verbosemode on Windows (thanks @IIIMADDINIII). (#1167)v9.5.0Compare Source
Features
stdoutorstderrto a file, allow appending instead of overwriting. (#1166)v9.4.1Compare Source
Bug fixes
process.execPathwith Deno. Thanks @w3cj! (#1160)v9.4.0Compare Source
Features
Bug fixes
execaNode()and thepreferLocaloption modify thePATHenvironment variable. This release includes some minor improvements to ensure that environment variable remains small (sindresorhus/npm-run-path#20). It also handles a few related edge cases better (sindresorhus/npm-run-path#21).Documentation
v9.3.1Compare Source
Thanks @holic and @jimhigson for your contributions!
Bugs
Bugs (types)
envoption. It was currently failing for Remix or Next.js users. (by @holic) (#1141)Documentation
v9.3.0Compare Source
Features
verboseoption can now be a function to customize logging. (#1130)v9.2.0Compare 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
gracefulCanceloption 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
'ipc'to thestdiooption has been deprecated. It will be removed in the next major release. Instead, theipc: trueoption should be used. (#1056)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.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)
Features
gracefulCanceloption andgetCancelSignal()method to terminate a subprocess gracefully.error.isGracefullyCanceledwas also added. (#1109)error.isForcefullyTerminated. It istruewhen the subprocess was terminated by theforceKillAfterDelayoption. (#1111)subprocess.sendMessage(message)and receives them withsubprocess.getOneMessage().subprocess.getEachMessage()listens to multiple messages.sendMessage(message),getOneMessage()andgetEachMessage()instead. Those are the same methods, but imported directly from the'execa'module.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)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)verbose: 'full'option now logs every IPC message sent by the subprocess, for debugging. More info here and there. (#1063)Types
ExecaMethod,ExecaNodeMethodandExecaScriptMethod,ExecaSyncMethodandExecaScriptSyncMethodtypes. (#1066)Messagetype, for IPC. (#1059)forceKillAfterDelay: trueoption. (#1116)Bug fixes
{file}to both thestdinand thestdoutorstderroptions. (#1058)cancelSignaloption. (#1108)engines.nodefield inpackage.json. Supported Node.js version is^18.19.0or>=20.5.0. (by @iiroj) (#1101)v9.1.0Compare Source
Features (types)
TemplateExpressiontype. (#1049)v9.0.2Compare Source
Bug fixes (types)
--lib domfor TypeScript users (#1043, #1044)rejectoption (#1046)v9.0.1Compare Source
Bug fixes (types)
3bdab606cc519bfee011dv9.0.0Compare 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)
Dropped support for Node.js version
<18.19.0and20.0.0 - 20.4.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)encodingoption. (#586, #928)subprocess.pipeStdout(),subprocess.pipeStderr()andsubprocess.pipeAll()has been removed. Instead, a{file: './path'}object should be passed to thestdoutorstderroption. (#752)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)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)signaloption tocancelSignal. (#880)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)forceKillAfterTimeoutoption toforceKillAfterDelay. Also, it is now passed toexeca()instead ofsubprocess.kill(). (#714, #723)verboseoption is now a string enum instead of a boolean.falsehas been renamed to'none'andtruehas been renamed to'short'. (#884)execPathoption has been renamed tonodePath. It is now a noop unless thenodeoption istrue. Also, it now works even if thepreferLocaloption isfalse. (#812, #815)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.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);subprocess.kill()and to thekillSignaloption cannot be lowercase anymore. (#1025)Features
Execution
execa()), as opposed to only$. Conversely,$can now use the regular array syntax. (#933)execa(options). (#933, #965)execa(),execaNode(), theinputFileoption, thenodePathoption or theshelloption. (#630, #631, #632, #635)Text lines
linesoption. (#741, #929, #931, #948, #951, #957)Piping multiple subprocesses
subprocess.pipe()without callingexeca(). A template string can also be used. (#840, #859, #864)result.pipedFromanderror.pipedFrom. (#834)stdin/stdout/stderrby using thefromandtopiping options. (#757, #834, #903, #920)unpipeSignalpiping option. (#834, #852)Input/output
stdin,stdoutandstderroptions. For example,stdout: ['inherit', 'pipe']prints the output to the terminal while still returning it asresult.stdout. (#643, #765, #941, #954){file: './path'}object or a file URL to thestdin,stdoutorstderroption. (#610, #614, #621, #671, #1004)stdin,stdoutorstderroption. (#693, #697, #698, #699, #709, #736, #737, #739, #740, #746, #748, #755, #756, #780, #783, #867, #915, #916, #917, #919, #924, #926, #945, #969)Uint8Arrayto theinputorstdinoption. (834e372, #670, #1029)stdinoption. (#604, #944)stdin,inputandinputFileoptions. (#666)result.stdoutandresult.stderrby usingresult.stdio. (#676)stdoutandstderrwith the following options:verbose,lines,stripFinalNewline,maxBuffer,buffer. (#966, #970, #971, #972, #973, #974)Streams
ReadableStreamorWritableStreamto thestdin,stdoutorstderroption. (#615, #619, #645)Duplex, Node.jsTransformor webTransformStreamto thestdin,stdoutorstderroption. (#937, #938)subprocess.readable(),subprocess.writable()orsubprocess.duplex(). (#912, #922, #958)Verbose mode
verbose: 'short'orverbose: 'full'option. (#887, #890)verbose: 'full'option. (#884, #950, #962, #990)verboseoption. (#883, #893, #894)Debugging
result.durationMsanderror.durationMs. (#896)result.cwd. Previously onlyerror.cwdwas available. Also,result.cwdanderror.cwdare now normalized to absolute file paths. (#803)result.escapedCommandin a terminal is now safe. (#875)Errors
ExecaErrorandExecaSyncErrorclasses are now exported. (#911)error.cause. (#911)maxBufferoption by usingerror.isMaxBuffer. (#963)error.message:error.stdoutanderror.stderrare now interleaved if thealloption istrue. Additional file descriptors are now printed too. Also, the formatting has been improved. (#676, #705, #991, #992)error.messageare now escaped, so they don't result in visual bugs when printed in a terminal. (#879)errorevent is emitted onsubprocess.stdoutorsubprocess.stderr. (#814)Termination
subprocess.kill(). (#811, #836, #1023)forceKillAfterDelayandkillSignaloptions now apply to terminations due not only tosubprocess.kill()but also to thecancelSignal,timeout,maxBufferandcleanupoptions. (#714, #728)Node.js files
nodePathandnodeOptionsoptions with any method, as opposed to onlyexecaNode(), by passing thenode: trueoption. (#804, #812, #815)execaNode()or thenode: trueoption, the current Node.js version is now inherited deeply. If the subprocess spawns other subprocesses, they will all use the same Node.js version. (#812, #815, #1011)Synchronous execution
allandbuffer: falseoptions withexecaSync(), as opposed to onlyexeca(). (#953, #956)$.salias for$.sync. (#594)Inter-process communication
ipc: trueoption, as opposed to the more verbosestdio: ['pipe', 'pipe', 'pipe', 'ipc']option. (#794)Input validation
input,timeout,cwd,detached,cancelSignalandencodingoptions. (#668, #715, #803, #928, #940)execa()and the other exported methods. (#838, #873, #899)subprocess.kill()and to thekillSignaloption. (#1025)Bug fixes
undefinedvalues as options. This now uses the option's default value. (#712)inputFileoption points to a missing file. (#609)bufferoption isfalseandsubprocess.stdouterrors. (#729)'overlapped'to thestdoutorstderroption withexecaSync(). (#949)'error'events are emitted on the subprocess. (#790)reject: falseoption not being used when the subprocess fails to spawn. (#734)error.isTerminated. (#625, #719)truewhen the subprocess fails due to thetimeoutoption.truewhen callingprocess.kill(subprocess.pid), except on Windows.falsewhen using non-terminating signals such assubprocess.kill(0).error.signalanderror.signalDescriptionwhen the subprocess is terminated by thecancelSignaloption. (#724)execa()call might be modified by anotherexeca()call. (#796, #806, #911)verboseoption printing the command in the wrong order. (#600)maxBufferandencodingoptions. For example, when usingencoding: 'hex',maxBufferwill now be measured in hexadecimal characters. Also,error.stdout,error.stderranderror.allwere previously not applying themaxBufferoption. (#652, #696)maxBufferoption not truncatingresult.stdoutandresult.stderrwhen usingexecaSync(). (#960)buffer: trueoption (its default value) and iterating oversubprocess.stdoutorsubprocess.stderr. (#908)subprocess.allstream incorrectly being in object mode. (#717)subprocess.stdoutandsubprocess.stderrare properly flushed when the subprocess fails. (#647)timeoutoption. (#727)Breaking changes (types)
The minimum supported TypeScript version is now
5.1.6.Renamed
CommonOptionstype toOptions(forexeca()) andSyncOptions(forexecaSync()). (#678, #682)import type {Options} from 'execa'; - const options: CommonOptions = {timeout: 1000}; + const options: Options = {timeout: 1000};NodeOptionstype toOptions. (#804)import type {Options} from 'execa'; - const options: NodeOptions = {nodeOptions: ['--no-warnings']}; + const options: Options = {nodeOptions: ['--no-warnings']};KillOptionstype toOptions. (#714)import type {Options} from 'execa'; - const options: KillOptions = {forceKillAfterTimeout: 1000}; + const options: Options = {forceKillAfterDelay: 1000};OptionsandSyncOptionstypes. (#681)import type {Options} from 'execa'; - const options: Options<'utf8'> = {encoding: 'utf8'}; + const options: Options = {encoding: 'utf8'};ExecaChildProcesstype toResultPromise. This is the type ofexeca()'s return value, which is both aPromise<Result>and aSubprocess. (#897, #1007, #1009)import type {ResultPromise, Result} from 'execa'; - const promiseOrSubprocess: ExecaChildProcess = execa('node', ['file.js']); + const promiseOrSubprocess: Result </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) in timezone Asia/Shanghai. 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/u3u/tailwind-config). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->