Repository navigation
fix(local): Cap engines.node at 24 so Vercel stops building on Node 26 - #1933
Merged
Merged
Conversation
Vercel ignores the project's Node 24.x setting when engines.node is an open-ended range, and now resolves '>=22.12.0' to Node 26. better-sqlite3 11.10.0 has no Node 26 prebuild and fails to compile against its headers, so every sentry-local preview fails during pnpm install. Co-Authored-By: Miguel Betegon <miguel.betegon@sentry.io>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
BYK
added a commit
that referenced
this pull request
Nov 4, 2026
## Summary Removes `better-sqlite3`, which is what breaks `pnpm install` on Node 26: v11.10.0 has no Node 26 prebuild and fails to compile from source. Then reverts the `apps/local` `engines.node` cap from #1933, since that cap only worked around this dependency. ### Why it's safe to drop - It was declared only in `packages/mcp-cloudflare` (left over from the early eval scaffolding). No source, config, script, or workflow in the repo imports or references it. - mcp-cloudflare runs on Workers. The CLI uses built-in `node:sqlite` (or `node-sqlite3-wasm` on older Node), not better-sqlite3. - I searched every installed package for references. Nothing in the Workers toolchain mcp-cloudflare uses (wrangler, miniflare, workerd, `@cloudflare/*` plugins, `agents`, `workers-mcp`, vite, vitest) mentions it. The only hit was `unstorage`, which lists `better-sqlite3@^12` as a devDependency, reached through cli-docs/astro. - The lockfile diff is removals only: better-sqlite3 and the transitive deps only it used (`prebuild-install`, `bindings`, `tar-fs`, …). ### #1933 revert `apps/local/package.json` is back to `^20.19.0 || >=22.12.0`. With better-sqlite3 gone, Node 26 installs cleanly. Locally on Node 26.13.0, Vercel's install command (`pnpm install --force --frozen-lockfile`) and the `apps/local` build both succeed. This PR's `sentry-local` Vercel preview should confirm the same. <!-- junior-request-attribution:start --> via @BYK. <!-- junior-request-attribution:end --> <!-- junior-session-footer:start --> <!-- junior-conversation-id:agent%3A83888ac5c03ff2a0c30fb6a303f1b836 --> -- [View Session in Sentry](https://sentry.sentry.io/explore/conversations/agent%3A83888ac5c03ff2a0c30fb6a303f1b836/?project=4510944073809921) <!-- junior-session-footer:end --> Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com> Co-authored-by: BYK <126780+BYK@users.noreply.github.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The
sentry-localVercel deploy (rootapps/local) fails duringpnpm installonmainand on PRs. The last greenmaindeploy was47cc01a3(2026-11-03 23:26 UTC). The first red one isc969e135, and no repo change between them touches engines, the lockfile, or Vercel config.Cause.
apps/local/package.jsondeclares"node": "^20.19.0 || >=22.12.0". Whenengines.nodeis set, Vercel ignores the project's Node setting (24.x). Its newer builder (CLI 65.11.0, compared with 65.4.0 on the last green build) now resolves>=22.12.0to Node 26:On Node 26.13.0,
better-sqlite3@11.10.0(from@sentry/mcp-cloudflare) has no prebuild. The fallback compile from source then fails against the Node 26 V8 headers:Fix. Cap the range at
^24.0.0. Vercel then keeps the project's24.xsetting, and Node 20, 22, and 24 still satisfy the range. A semver check gives 20.19.0, 22.12.0, and 24.11.0 as satisfying it, and 26.13.0 as not.Not in this PR. The root
package.jsonstill has>=22.13. Vercel readsapps/local/package.jsonbecause of the project's root directory, so the root range doesn't affect this deploy. The longer-term fix is to bumpbetter-sqlite3to a release with Node 26 prebuilds, and then lift the cap.Verification. The Vercel preview on this PR is the real check. I did not run the full local quality gate for this one-line
engineschange.via bete.
--
View Session [Sentry]