build: update dependency zx to v8 #31435
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^6.2.4->^8.0.0Release Notes
google/zx (zx)
v8.6.0: — Valve VanguardCompare Source
thenableparams processing for$literals #1237v8.5.5: — PVC WizardCompare Source
Minor feature polish.
ProcessPromiseandProcessOutputlines()getters now accept a custom delimiter #1220 #1218.nothrow()option inProcessProcess[AsyncIterator]#1216 #1217v8.5.4: — Pipe DreamerCompare Source
pipe(file: string)signature type declaration #1208 #1209v8.5.3: — Trap MasterCompare Source
expBackoffimplementation$.log.outputas defaultspinner()outputquestion()I/Ov8.5.2: — Threaded PerfectionCompare Source
v8.5.0: — Flow SplitterCompare Source
In this release we're significantly expanding the zx setup capabilities.
zx@lite
Just core functions without extras, ~7x smaller than the full version.
#1131
Detailed comparison: zx/versions
Channels
We have completely reforged the distribution flow. Now zx is available in multiple formats:
#1141...
#1157
Docker
If you'd prefer to run zx in a container, you can pull the image from the GH docker registry.
node:22-alpine is used as a base. #1142 #1145
docker pull ghcr.io/google/zx:8.5.0 docker run -t ghcr.io/google/zx:8.5.0 -e="await \$({verbose: true})\`echo foo\`" docker run -t -i -v ./:/script ghcr.io/google/zx:8.5.0 script/t.jsChores
glob.syncshortcut #1135ZX_REGISTRY='https://custom-registry.example.com' zx script.jsv8.4.2Compare Source
v8.4.1: – Rusty ElbowCompare Source
Logger enhancements are arriving in this release. #1119 #1122 #1123 #1125
v8.4.0: – Drip DetectiveCompare Source
Try the new batch of enhancements:
npm i [email protected]https://www.npmjs.com/package/zx/v/8.4.0Changes
--prefer-localnow allows linking both external binaries and packages #1116 #1117quotehas been slightly changed for a conner case, when zx literal gets an array.#999 #1113
nothrowoption to suppress any errors #1108 #1109@types/nodeand@types/fs-extradeps replaced with triple-slash typing refs #1102ProcessOutputiterable #1101ProcessPromiseinstantiation #1097 #1098ProcessOuputcause #1110ProcessOutputinners #1096 #1095.tsextensions for relative imports #1111v8.3.2: – Clogged DrainCompare Source
Restrics unsafe vals usage on
dotenv.stringify#1093 #1094v8.3.1: – Perfect SealCompare Source
The release essence: introduced full-featured
.envsupport #461 → #1060 #1052 #1043 #1037 #1032 #1030 #1022API
envapi is a tiny 100 LOC dotenv-inspired parser and serializer that we've integrated into zx.
CLI
QnA
— Why not use
dotenvdirectly?— 1) Size does matter 2) We'd like to avoid internal vaults.
— Why not load
.envby default?— 1) Explicit is better than implicit 2) Runtime itself (like bun) may provide the feature.
Chore
stdallpiping #1033fullCmdand uniqueid#1035haltandrunAPI in docs #1046timeoutoption handling for corner cases #1049killSignalsetting via env vars #1054diagnostic_channelto built-ins list #1056idfield and introducedendevent #1057 #1058nothrown()toggleable #1066 #1029ZX_REPL_HISTORYenvvar #1065file://protocol check #1064modeoption fortmpdirandtmpfile#1063_timeoutSignaloverride #1075ProcessPromisestage #1077 #967v8.3.0: – Pipes of SteelCompare Source
A few weeks ago zx took a part in OSS Library Night 🎉
Many thanks to the organizers and contributors who have boosted the project with their pull requests!
Today we are releasing the zx with a huge bunch of new features and improvements.
Features
API
[Symbol.asyncIterator]API forProcessPromise#984 #998 #1000Now you can iterate over the process output using
for awaitloop from any point of the process execution.Pipes
pipe()#1023signalhandling on piping #992CLI
$.defaultssetting viaZX_-prefixed environment variables #988 #998ZX_VERBOSE=true ZX_SHELL='/bin/bash' zx script.mjs--envoption to load dotenvs 1022 #1030--prefer-localoption #1015Fixes
process.exit()#993 #997ZX_SHELLenv handling #1024Docs
mainbranch #985Chores
.node_versionto improve contributors devx #1012chalkupdated to v5.4.1 #1019Merry Christmas! 🎄🎅🎁
v8.2.4: – Leaky FaucetCompare Source
v8.2.3: – Golden WrenchCompare Source
This release continues the work on pipe API enhancements:
ProcessOutputdata to promisified pipe values #954 #949We've also slightly tweaked up dist contents for better compatibility with bundlers #957
v8.2.2Compare Source
What's Changed
Full Changelog: google/zx@8.2.1...8.2.2
v8.2.1Compare Source
v8.2.0Compare Source
Pipes supercharge today! 🚀
Features
Chore
v8.1.9Compare Source
Today's release is a minor update that includes:
Enhancements
ProcessOutputfields with lazy getters to reduce mem consumption #903, #908argvreference on update #916Shellinterface to properly handlesyncmode #915:Fixes
stdallfill for$.synccalls: #911, #912v8.1.8Compare Source
TeplateStringArraydetection #904, #905PromiseProcessgot lazy getters to optimize mem usage #903v8.1.7Compare Source
Step by step on the road to improvements
Fixes
Finally, we've fixed the issue with piped process rejection #640 #899:
Enhancements
Added
cmddisplay toProcessPromise#891:and
durationfield toProcessOutput#892:Enabled zurk-like pipe string literals #900:
v8.1.6Compare Source
Improvements & Fixes
$.preferLocaloption now also accepts a directory #886, #887.Why not just
$.env['PATH'] = 'extra:' + '$.env['PATH']?Well, the API internally does the same, but also handles the win paths peculiarities.
$.killSignaloption for the symmetry with the$.timeoutSignal. You can override the default termination flow #885:$opt presets became chainable #883:Durationparser #884:v8.1.5Compare Source
We've rolled out a new release!
Fixes
API. #870 #879
Chores
cd(),within()andsyncProcessCwd()interactions. #878cwdoption in the documentation. #868v8.1.4Compare Source
We continue optimizing bundles and CI/CD pipelines.
zx/coreentry size. #856defaults. #864Which gives us: 897 kB → 829 kB (-7.58%)
v8.1.3Compare Source
Nothing special today. We just keep improving the implementation.
Features
#824, #827, #828
zx/cliexports its inners to allow more advanced usage.Imagine, your own CLI tool that uses
zxas a base:#828
#650, #849
ps:#840
Chore
$.logacceptskind: 'custom'#834$.verboseand$.quietmodes internals #835quotePowerShellin docs #851async_hooks.createHookwarning on bun #848v8.1.2Compare Source
Every new zx version is better than previous one. What have we here?
Features
ProcessPromise.verbose()to enhance debugging experience.#820, #710
ProcessPromise.isSmth()API:#823
Bug Fixes
mainentrypoint #827Chore
v8.1.1Compare Source
This release brings a pinch of sugar and minor fixes.
Features
$.preferLocaloption to prefernode_modules/.binlocated binaries over globally system installed ones.#798
ProcessPromise:#764, #811, #815
ProcessPromisenow exposes itssignalreference.#816
Fixes
--quietis mapped to$.quietoption. #813ProcessPromiseif it's missing. #810v8.1.0Compare Source
This new release is a big deal. It brings significant improvements in reliability and compatibility.
New features
Added
usePwsh()helper to switch to PowerShell v7+ #790timeoutis now configurable$opts #796Added
--cwdoption for CLI #804Introduced
tmpdirandtmpfilehelpers #803v8.0.2Compare Source
In this release:
detachedoption (#782)v8.0.1Compare Source
In this release:
stdiooption (#772)signalopt (#769)process.killfallback for bun (#770)v8.0.0Compare Source
We are thrilled to announce the release of
zxv8.0.0! 🎉With this release, we have introduced a lot of new features, improvements, and bug fixes.
We have also made some breaking changes, so please read the following release notes carefully.
🚀 New Shiny Features
Squashed deps: we use esbuild with custom plugins to forge js bundles and dts-bundle-generator for typings 2acb0f, #722
More safety, more stability and significantly reduced installation time. Zx now is ~20x smaller.
Options presets are here. To implement this, we have also completely refactored the
zxcore, and now it's available as a separate package – zurk\ aeec7a, #733, #600We have introduced
$.sync()API\ 1f8c8b, #738, #681, 1d8aa9, #739You can also override the internal API to implement pools, test mocking, etc.
The
inputoption is now available to pass data to the command.\ b38972, #736AbortControllerhas been introduced to abort the command execution. It's available via theacoption.\ fa4a7b, #734, #527If not specified, the default instance will be used. Abortion trigger is also available via
PromiseResponse:killmethod is exposed now. To terminate any (not only zx starter) process:Btw, we have replaced
ps-treewith @webpod/ps & @webpod/ingrid, and exposedpsutil:Introduced
$.postfixoption. It's like a$.prefix, but for the end of the command. fb9554, #756, #536minimistAPI exposed\ #661Fixed npm package name pattern on
--installmode 956dcc, #659, #660, #663$.verboseis set tofalseby default, but errors are still printed tostderr. Set$.quiet = trueto suppress all output.\ cafb90, #745, #569sshAPI was dropped. Install webpod package instead.\ 8925a1, #750zx is not looking for
powershellanymore, on Windows by default. If you still need it, use theusePowerShellhelper:\ 24dcf3, #757Process cwd synchronization between
$invocations is disabled by default. This functionality is provided via an async hook and can now be controlled directly.\ d79a63, #765🧰 Other Improvements
lib DOMfe0356 #735, #619, #722)ProcessPromise.valueOf()to simplify value comparisons 0640b8, #737, #690--installAPI: use depkeek for deps extraction 1a03a6--experimentaltoggle, all APIs are available by default 8a7a8f, #751spinnerissue on weird TTY 1124e3, #755, #607node:testcd1835v7.2.3Compare Source
What's Changed
New Contributors
Full Changelog: google/zx@7.2.2...7.2.3
v7.2.2Compare Source
What's Changed
New Contributors
Full Changelog: google/zx@7.2.1...7.2.2
v7.2.1Compare Source
What's Changed
zx/globalsmissing type by @fz6m in https://github.com/google/zx/pull/591New Contributors
Full Changelog: google/zx@7.2.0...7.2.1
v7.2.0Compare Source
🐚 zx v7.2.0 release! 🎉
A tool for writing better scripts
In this release:
~~~blocks in markdown scripts.PS: Plan for the next v8 release.
v7.1.1Compare Source
v7.1.0Compare Source
Autoinstall
This release introduces a new flag
--installwhich will parse and install all required or imported packages automatically.And running
zx --install script.mjswill trigger installation of tinysh package! It even possible to specify a needed version in comment with@symbol:PowerShell
Another big change is for Windows. Now, the default shell on Windows is
powershell.exe.This should fix a lot of issues with "dollar" signs.
Fixes
v7.0.8Compare Source
What's Changed
$.verbosereassignment on CLI init by @antongolub in https://github.com/google/zx/pull/475Full Changelog: google/zx@7.0.7...7.0.8
v7.0.7Compare Source
Now it's possible to do:
v7.0.6Compare Source
v7.0.5Compare Source
v7.0.4[Compare Source](htt
Configuration
📅 Schedule: Branch creation - "after 10:00pm every weekday,before 5:00am every weekday,every weekend" in timezone America/Tijuana, Automerge - At any time (no schedule defined).
🚦 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.
This PR has been generated by Renovate Bot.