Repository navigation
chore: run CI, types and both Vercel projects on Node 26 - #143
Conversation
Vercel now offers Node 26.x as its default. `engines.node` was ">=24", which Vercel resolves to the newest major it offers, so the site's production builds already ran on 26 while CI tested on 24 and the types matched 24. bench, which deploys prebuilt output, followed its project setting and ran on 24. Align everything on 26: - .nvmrc 26, so CI tests on the production runtime. - engines.node "26.x", so a later major arrives as a deliberate change rather than silently ahead of CI. - @types/node ^26.6.5 in both apps, and Renovate's cap raised to <27. - Both Vercel projects set to 26.x (done in the dashboard API). A local `vercel build` of bench confirms its functions follow that setting: 24.x gives nodejs24.x, 26.x gives nodejs26.x. - CLAUDE.md's Node section now describes 26 and why the range is pinned to one major. On Node 26.11.1: Biome, both builds, the site typecheck and bench's tests (662 passed; the Postgres suite skips without Docker) pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Will Manning <will@willmanning.io>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
🔦 Lighthouse audit
Run |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a8d7e4ef5d
ℹ️ 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".
|
Bench preview for |
Vercel requires CLI 65.8.0 or later to deploy Node 26 functions from prebuilt output, and bench deploys prebuilt output with 65.2.0. 65.8.0 was published on 2026-10-29, inside the 7-day cooldown, so the benchmarks-website project goes back to 24.x (done in the API) until Renovate's CLI bump lands after 2026-11-05. The site builds through Vercel's git integration, not our CLI, so it stays on 26.x. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Will Manning <will@willmanning.io>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8f6789af88
ℹ️ 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".
Resolve the conflicts with #145 by keeping both sides: main's two new Renovate rules beside this branch's @types/node description, and this branch's Node paragraph beside main's longer auto-merge item. bench's functions still run on Node 24 until its project moves to 26.x, so its @types/node goes back to ^24.19.2, and a Renovate rule holds it below 25 until then, so bench code can't type-check against a Node 26 API its runtime lacks. The site stays on ^26. CLAUDE.md lists both steps for the switch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Will Manning <will@willmanning.io>
|
@codex review |
Take main's refreshed bun.lock from #79 and reapply this branch's root @types/node ^26.6.5 with bun install. bench still resolves 24.19.2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Will Manning <will@willmanning.io>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b60f748cd8
ℹ️ 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".
bench's functions run on Node 24 until its Vercel project moves to 26.x, but its checks and its prebuilt `vercel build` read the shared .nvmrc, now 26. Code or a dependency that relies on Node 26 behavior could pass both and then fail on the deployed Node 24 runtime. Pin both setups to 24 until the switch; CLAUDE.md lists the step to point them back at .nvmrc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Will Manning <will@willmanning.io>
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep it up! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Vercel requires CLI 65.8.0 or later to deploy Node 26 functions from prebuilt output. Adopt it now, a week inside the 7-day cooldown, with maintainer approval, instead of holding bench on Node 24 until 2026-11-05. That removes the temporary bench exceptions: - .github/vercel-cli pins vercel 65.8.0. Every package younger than 7 days comes from that Vercel release (vercel, the @vercel/* builders, the vc-native binaries and Vercel's sandbox). Two third-party ones are held to older releases by exact overrides, @napi-rs/wasm-runtime 1.2.5 and @types/estree 1.0.9. npm audit reports none. - bench's checks and prebuilt build read .nvmrc again, its @types/node is ^26, and the Renovate hold on bench's types is gone. - The benchmarks-website project is set to 26.x (done in the API). A local `vercel build` of bench with CLI 65.8.0 on Node 26 emits nodejs26.x functions. On Node 26, Biome, the bench build and its 662 tests pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Will Manning <will@willmanning.io>
|
@codex review |
|
Codex Review: Didn't find any major issues. Chef's kiss. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
main moves CI, the types, and both Vercel projects to Node 26 (#143). package.json and renovate.json take main's Node 26 lines. CLAUDE.md takes main's note on @types/node and keeps this branch's record that postcss-selector-parser went with @tailwindcss/typography, so main's override rule for it is not needed here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Will Manning <will@willmanning.io>
Vercel now offers Node 26 as its default. Our
engines.nodewas">=24", so the site's production builds already ran on Node 26, while CI tested on 24 and the types matched 24. bench followed its project setting and ran on 24.This PR puts CI, the types and both apps on Node 26:
.nvmrcis26,engines.nodeis"26.x", and@types/nodeis^26in both apps. Pinning one major means the next major arrives as a deliberate change. Both Vercel projects are now set to 26.x.bench deploys prebuilt output, and Vercel needs CLI 65.8.0 or later for Node 26 there. So bench's CLI moves to 65.8.0, a week inside the 7-day cooldown, with maintainer approval. Only packages from that Vercel release are newer than 7 days. Two third-party packages are pinned to older releases, and
npm auditis clean. A local bench build with CLI 65.8.0 produces Node 26 functions.🤖 Generated with Claude Code