chore(deps): update dependency zx to v8.8.5 [security] #135
+8
−59
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:
8.5.2->8.8.5GitHub Vulnerability Alerts
CVE-2025-13437
When zx is invoked with --prefer-local=, the CLI creates a symlink named ./node_modules pointing to /node_modules. Due to a logic error in src/cli.ts (linkNodeModules / cleanup), the function returns the target path instead of the alias (symlink path). The later cleanup routine removes what it received, which deletes the target directory itself. Result: zx can delete an external /node_modules outside the current working directory.
Release Notes
google/zx (zx)
v8.8.5: — Temporary ReservoirCompare Source
This release fixes the issue, when zx flushes external
node_moduleson linking #1348 #1349 #1355Also
globby@15.0.0arrives here.v8.8.4: — Flange CouplingCompare Source
It's time. This release updates zx internals to make the
psAPI and related methodsProcessPromise.kill(),kill()work on Windows systems withoutwmic.#1344 webpod/ps#15
https://github.blog/changelog/2025-07-31-github-actions-new-apis-and-windows-latest-migration-notice/#windows-latest-image-label-migration
v8.8.3: — Sealing GasketCompare Source
Continues #1339 to prevent injections via
Proxyinput or customtoString()manipulations.v8.8.2: — Leaking ValveCompare Source
Fixes potential cmd injection via
kill()method for Windows platform. #1337 #1339. Affects the versions range8.7.1...8.8.1.v8.8.1: — Turbo FlushCompare Source
We keep improving the projects internal infra to bring more stability, safety and performance for artifacts.
Featfixes
kill()event logging #1312SIGTERMaskill()fallback signal #1313stdio()arg be an array #1311Enhancements
ProcessPromise[asyncIterator]inners #1307shellsetters #1314v8.8.0: — Pressure TestedCompare Source
This release enhances the coherence between the ProcessPromise and the Streams API, eliminating the need for certain script-level workarounds.
✨ New Features
unpipe()— Selectively stop pipingYou can now call
.unpipe()to stop data transfer from a source to a destination without closing any of the pair. #1302Many-to-one piping
Multiple sources can now stream into a single destination. All sources complete before the destination closes. #1300
Piping from rejected processes
Processes that exit with errors can now still pipe their output. The internal recorder retains their stream, status, and exit code. #1296
Components versions
Since zx bundles third-party libraries without their package.jsons, their versions weren’t previously visible. You can now access them via the
versionsstatic map — including zx itself. #1298 #1295v8.7.2: — Copper CrafterCompare Source
Stability and customizability improvements
nothrowoption onProcessPromiseinit stage #1288_snapshot.killSignalvalue onkill()#1287Failclass #1285$as type #1283Internal tweak ups #1276 #1277 #1278 #1279 #1280 #1281 #1282 #1286 #1289
Described the zx architecture basics. This section helps to better understand the zx concepts and internal logic, and will be useful for those who want to become a project contributor, make tools based on it, or create something similar from scratch. #1290 #1291 #1292
v8.7.1: — Pipe WhispererCompare Source
Continues v8.7.0: handles new
ps()corner case and improves$.killmechanics on Windows #1266 #1267 #1269 webpod/ps#14v8.7.0: — Solder SaviorCompare Source
Important fixes for annoying flaky bugs
kill() 🐞
We've found an interesting case #1262
If we kill the process again, the result might be unexpected:
This happens because the
pidmay be reused by the system for another process, so we've added extra assertions to prevent indeterminacy:ps() 🐛
ps()uses wmic internally on Windows, it relies on fragile heuristics to parse the output. We have improved this logic to handle more format variants, but over time (in v9 maybe) we're planning to change the approach.#1256 #1263 webpod/ps#12 webpod/ingrid#6
v8.6.2: — Flow UnstoppableCompare Source
Fixes
$.prefix&$.postfixvalues settings via env variables #1261 #1260v8.6.1: — Drain HeroCompare Source
process.env.SHELLas default shell if defined #1252parseDuration()arg #1249node:24-alpine#1239v8.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/OConfiguration
📅 Schedule: Branch creation - "" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.