fix(vercel): update vercel dependencies - #17450
Conversation
|
| 📦 Package | 📋 Versions |
|---|---|
| zod | 3 versionszod@3.25.76 zod@4.1.11
|
| jose | 2 versionsjose@5.10.0
|
| execa | 2 versionsexeca@5.1.1 execa@8.0.1 |
| get-stream | 3 versionsget-stream@5.2.0 get-stream@6.0.1 get-stream@8.0.1 |
| human-signals | 2 versionshuman-signals@2.1.0 human-signals@5.0.0 |
| npm-run-path | 2 versionsnpm-run-path@4.0.1 npm-run-path@5.3.0 |
💡 To find out what depends on a specific package, run: pnpm -r why example-package
📊 Dependency Size Changes
Warning
This PR adds 5.1 MB of new dependencies, which exceeds the threshold of 100 kB.
| 📦 Package | 📏 Size |
|---|---|
| zod@4.1.11 | 4 MB |
| jose@5.10.0 | 552.3 kB |
| @vercel/cli-exec@1.0.1 | 133.9 kB |
| @vercel/analytics@1.6.1 → @vercel/analytics@2.0.1 | 62 kB |
| execa@5.1.1 | 57.5 kB |
| @vercel/oidc@3.2.0 → @vercel/oidc@3.8.5 | 48.7 kB |
| xdg-app-paths@5.5.1 | 46.6 kB |
| human-signals@2.1.0 | 44.3 kB |
| xdg-portable@7.3.0 | 41.6 kB |
| @vercel/cli-config@0.2.4 | 35.7 kB |
| @vercel/functions@3.4.3 → @vercel/functions@3.9.5 | 33.4 kB |
| os-paths@4.4.0 | 32.1 kB |
| @vercel/nft@1.3.2 → @vercel/nft@1.11.0 | 15.8 kB |
| @vercel/routing-utils@5.3.3 → @vercel/routing-utils@6.5.0 | 13.8 kB |
| get-stream@6.0.1 | 12.2 kB |
| npm-run-path@4.0.1 | 8.1 kB |
Total size change: 5.1 MB
⚠️ Package Trust Level Decreased
Caution
Decreased trust levels may indicate a higher risk of supply chain attacks. Please review these changes carefully.
| 📦 Package | 🔒 Before | 🔓 After |
|---|---|---|
| jose | trustedPublisher | provenance |
| @vercel/functions | provenance | none |
| @vercel/oidc | provenance | none |
| @vercel/routing-utils | provenance | none |
🦋 Changeset detectedLatest commit: c76eab3 The changes in this PR will be included in the next version bump. This PR includes changesets to release 25 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
de25661 to
e8f52c7
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates the @astrojs/vercel integration’s Vercel-related dependencies to their latest versions, including major bumps for @vercel/analytics and @vercel/routing-utils, and adds a Changesets entry to trigger a patch release with relevant changelog links.
Changes:
- Bumped
@vercel/analyticsfrom^1.6.1→^2.0.1and@vercel/routing-utilsfrom^5.3.3→^6.4.0. - Bumped
@vercel/functionsand@vercel/nftto newer non-major versions. - Updated
pnpm-lock.yamlaccordingly and added a Changesets file documenting the major dependency bumps.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
pnpm-lock.yaml |
Updates the lockfile to reflect the new @vercel/* dependency graph and resolutions. |
packages/integrations/vercel/package.json |
Bumps the four @vercel/* dependencies used by @astrojs/vercel. |
.changeset/vercel-deps.md |
Adds a patch changeset referencing the major bumps and linking to upstream changelogs. |
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
|
There's a dependency with a decreased level of trust, what do we make it? I would prefer keeping dependencies locked instead of decreasing the security |
| jose@5.10.0: | ||
| resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} | ||
|
|
||
| jose@6.2.3: | ||
| resolution: {integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==} |
There was a problem hiding this comment.
I will submit issue(s) to the Vercel team and ask why.
There was a problem hiding this comment.
Update: Fable 5 gives me an analysis, and I think it's reasonable enough.
Why
jose@5.10.0is stuck at level 1 (provenance).It was published 2025-02-17, five months before npm trusted publishing existed (GA 2025-07-31), so it physically cannot carry the
trustedPublishermarker. panva switched jose's CI to trusted publishing on 2025-10-29 (first trusted release: 6.1.1), but the v5 line ended at 5.10.0, so its status is frozen unless panva back-publishes a 5.10.1.Why
jose@5got installed.The PR bumps
@vercel/functions3.4.3 → 3.7.5, which pins@vercel/oidcexactly (3.2.0 → 3.8.0;workspace:*becomes an exact pin at publish).@vercel/oidc@3.2.0had zero dependencies; 3.6.1 addedjose: ^5.9.6(PR https://github.com/vercel/vercel/pull/16532,verifyVercelOidcToken).jose@6.2.3stays because@modelcontextprotocol/sdkneedsjose@^6, and two majors can't dedupe.Why
@vercel/oidcuses jose v5, the deepest root.jose v6 is ESM-only and dropped Node 18;
require()of it only works on Node >=20.19/22.12. But@vercel/oidccompiles to CJS (its dist literally doesrequire("jose")) withengines: node >= 20, which includes 20.0-20.18 where that would crash, and the siblingvercelCLI still supports Node 18 and pinsjose 5.9.6. v5 is the newest major their support matrix allows: a deliberate compatibility choice, not neglect.
There was a problem hiding this comment.
That I know, I didn't need Fable 5 :P
It was sarcasm from my part. I still have mixed feelings
There was a problem hiding this comment.
That I know, I didn't need Fable 5 :P
I also know why we have jose v5 added in the lock file (because Vercel requires it).
What Fable 5 tells me is why Vercel picked this out-of-date version.
(I can figure it out myself too, of course, but AI makes this workflow faster)
I still have mixed feelings
Well, Vercel wants their packages to continue supporting Node.js v18.0, hence the use of older dependencies. This makes perfect sense to me.
TypeScript v7, the latest major release just last month, still supports Node.js v16.20.
On the other hand, some of my own projects don't even support Node.js v22. Node.js v24 is required. :P
I personally think it's perfectly fine for different teams to have different dependency strategies.
ff6d107 to
c6280c9
Compare
c6280c9 to
dd5bd8c
Compare
Changes
@vercel/*dependencies to the latest versions.Testing
CI should pass.
Docs
Changesets file has added because we need to trigger a release to
@astrojs/vercel.