Repository navigation
presets(vercel): support node.js 26 - #4968
Conversation
…(v2) The preset picked the runtime from a hard-coded list of Node.js versions, so a build on Node.js 26 silently produced `nodejs24.x` in `.vc-config.json`. Use `nodejs<major>.x` for any even major from 20, so new Vercel runtimes need no code change. Odd majors use the previous even one; majors below 20 use `nodejs20.x`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@ali-vercel is attempting to deploy a commit to the Nitro Team on Vercel. A member of the Team first needs to authorize it. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
…6 (v2) Vercel supports every Node.js major from 26 onwards, not only even ones, so a Node.js 27 build should deploy on `nodejs27.x`. Older majors keep using the next supported version, as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Matches Vercel's build-utils NODE_VERSIONS. Node.js 20 is discontinued on Vercel, and newer builds clamp to 26 instead of emitting a runtime Vercel does not offer yet.
|
Updated this to match #4969: a fixed list of Triaged with AI assistance. |
commit: |
🔗 Linked issue
None filed; context below.
❓ Type of change
📚 Description
Summary: Let the
vercelpreset resolve Node.js 26 as the function runtime, so Node.js 26 builds no longer deploy onnodejs24.x.Context: Vercel made Node.js 26 generally available on 2026-10-29. New projects default to
26.x, and projects with an openengines.noderange such as>=22now build on Node.js 26. The preset picks the runtime fromSUPPORTED_NODE_VERSIONS = [18, 20, 22, 24]and falls back to the last entry when nothing matches. So on a Node.js 26 build,.vc-config.jsonquietly getsnodejs24.x, with no warning. Nuxt 4 depends onnitropack@^2, so every Nuxt 4 app on Vercel hits this.The supported list is now
[22, 24, 26], matchingNODE_VERSIONSin Vercel'sbuild-utils. A build on 21, 23 or 25 uses the next supported version, and a build on a newer major usesnodejs26.xuntil Vercel adds it. Node.js 18 and 20 are discontinued on Vercel, so older builds map tonodejs22.x. An explicitvercel.functions.runtimestill takes precedence, andnodejs24.xandnodejs26.xare added to its type.Vercel only lists Node.js 22, 24 and 26 today (no public source says newer majors will be added automatically), so the list stays explicit and gets bumped when Vercel adds a version. For comparison, SvelteKit's Vercel adapter accepts any even major since sveltejs/kit#17570; the open-ended sveltejs/kit#17584 is not merged.
The same fix for v3 is #4969.
📝 Checklist
🤖 Generated with Claude Code