net - chore: upgrade undici to 8 (breaking)#1682
Conversation
undici ^7.24.5 -> ^8.6.0 (@cacheable/net dependency). No code changes required. @cacheable/net uses undici only for its types (RequestInit, Response) and re-exports RequestInit as FetchRequestInit; runtime fetching uses Node's global fetch (to keep instanceof checks aligned with Node's bundled undici). net's source type-checks cleanly against undici 8 (verified with tsc --noEmit, since net builds with tsdown which doesn't type-check), and its 212 tests pass at 100%. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P1TBuMiXotBjpNHYcbwvqf
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1682 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 29 29
Lines 3504 3504
Branches 796 796
=========================================
Hits 3504 3504 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7e241ae27b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "hookified": "^3.0.1", | ||
| "http-cache-semantics": "^4.2.0", | ||
| "undici": "^7.24.5" | ||
| "undici": "^8.6.0" |
There was a problem hiding this comment.
Surface the transitive Node 22.19 requirement
With this dependency bump, the lockfile resolves undici@8.6.0 with engines: { node: '>=22.19.0' }, while @cacheable/net still declares no engines field. Projects installing @cacheable/net on Node 20 or Node 22.18 with engine-strict package managers can now fail during install even though this package does not advertise the new runtime floor; either keep the dependency on the Node-20-compatible undici line or add the matching engine requirement so consumers get a clear supported runtime.
Useful? React with 👍 / 👎.
Catch-up minor bump within undici 8 (8.6.0 -> 8.7.0), following the undici 8 major migration in #1682. `undici` is used type-only in @cacheable/net (the RequestInit / Response types); the actual fetch runs through Node's global fetch, so this only refreshes the type definitions. Verified: build, `tsc --noEmit` on net, 212/212 net tests, and the build-artifact validation (runtime + publint + attw) all pass. Claude-Session: https://claude.ai/code/session_01P1TBuMiXotBjpNHYcbwvqf Co-authored-by: Claude <noreply@anthropic.com>
Please check if the PR fulfills these requirements
What kind of change does this PR introduce?
Maintenance (
chore) — runtime phase, major upgrade ofundiciin@cacheable/net. The final dependency major of this pass. Marked(breaking)for the major bump; no code changes were needed.Versions
undici^7.24.5→^8.6.0(@cacheable/net, dependency)Breaking notes
@cacheable/netusesundicionly for its types (RequestInit,Response) and re-exportsRequestInitasFetchRequestInit; runtime fetching uses Node's globalfetch(deliberately, to keepinstanceofchecks aligned with Node's bundled undici). net's source type-checks cleanly against undici 8 — verified withtsc --noEmit, since net builds withtsdownwhich doesn't type-check.@cacheable/netdeclares noenginesfield, so there's no engine-floor mismatch to reconcile.Verification
pnpm build+node scripts/test-build.mjspass for all packagestsc --noEmiton@cacheable/netsrc is clean against undici 8pnpm test—@cacheable/netpasses all 212 tests at 100% coverage; other packages unaffected (undici is net-only). The only repo-wide failures remain the 3 pre-existing sandbox-only ones (mockhttp.org:8080; twofile-entry-cachechmod-under-root tests), which pass on GitHub CI.Generated by Claude Code