Skip to content

Remove Node engine upper bound#270

Merged
joesobo merged 8 commits into
mainfrom
codex/node-engine-upper-bound
Jun 12, 2026
Merged

Remove Node engine upper bound#270
joesobo merged 8 commits into
mainfrom
codex/node-engine-upper-bound

Conversation

@joesobo

@joesobo joesobo commented Jun 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • removed the Node <23 upper bound from package manifests while keeping the published minimum at >=20
  • updated docs to distinguish published Node 20+ support from the repo/CI pinned Node 22 runtime
  • added a changeset for the published packages whose engine metadata changes
  • patched tree-sitter@0.25.0 so its native binding builds with C++20 instead of C++17
  • documented the patch in patches/README.md as a temporary backport of the upstream fix

Why

Node 26 failed during dependency installation because tree-sitter@0.25.0 compiled its native binding as C++17, while Node 26's V8 headers require C++20. C++20 is just the newer C++ language standard the compiler must use for that native addon.

npm view tree-sitter version versions --json shows 0.25.0 is still the latest published tree-sitter runtime, so there is no newer runtime package to upgrade to for this failure. The practical fix is a small pnpm patch to binding.gyp.

The equivalent upstream fix was merged in tree-sitter/node-tree-sitter#258, but it has not reached npm because the 0.25.1 publish is still blocked by tree-sitter/node-tree-sitter#276. This local patch should be removed once tree-sitter publishes a release with the Node 23+ C++20 build fix. Follow-up Trello card: https://trello.com/c/Myxab48H

CI remains pinned to Node 22.22.0; this PR broadens the published package engine range and fixes the known newer-Node install blocker without redesigning CI.

Mac Mini Evidence

Remote worktree:
/Users/poleski/.codex/worktrees/270-node-engine-upper-bound/CodeGraphyV4

Before patch:

  • host: Poleskis-Mac-mini.local
  • node: v26.0.0
  • pnpm: 10.32.0
  • pnpm install --frozen-lockfile failed while building tree-sitter@0.25.0
/Users/poleski/Library/Caches/node-gyp/26.0.0/include/node/v8config.h:13:2:
error: "C++20 or later required."

After patch:

  • host: Poleskis-Mac-mini.local
  • node: v26.0.0
  • pnpm: 10.32.0
  • pnpm install --frozen-lockfile passed
  • pnpm --filter @codegraphy-dev/core typecheck passed
  • pnpm --filter @codegraphy-dev/mcp test passed: 1 file, 13 tests

Earlier supported baseline:

  • node: v22.22.2
  • pnpm install --frozen-lockfile passed
  • pnpm run typecheck passed
  • pnpm run lint passed, with 32 generated-acceptance spacing warnings
  • pnpm --filter @codegraphy-dev/mcp test passed
  • pnpm run mutate -- packages/mcp/src/mcp/server.ts passed: 5 mutants, 100% mutation score

Local Verification

  • pnpm install --frozen-lockfile passed on Node v22.22.0
  • pre-commit pnpm run typecheck passed for the engine/patch commit
  • pre-commit pnpm run typecheck passed for the final evidence commit
  • pre-commit pnpm run typecheck passed for the patch documentation commit

GitHub CI

GitHub CI passed on the previous latest commit before the final docs-only evidence correction. The final commit only updates this handoff note.

Trello: https://trello.com/c/qiauqiPA

@changeset-bot

changeset-bot Bot commented Jun 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: d9f019f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 11 packages
Name Type
@codegraphy-dev/core Patch
@codegraphy-dev/mcp Patch
@codegraphy-dev/plugin-api Patch
@codegraphy-dev/plugin-csharp Patch
@codegraphy-dev/plugin-godot Patch
@codegraphy-dev/plugin-markdown Patch
@codegraphy-dev/plugin-python Patch
@codegraphy-dev/plugin-svelte Patch
@codegraphy-dev/plugin-typescript Patch
@codegraphy-dev/plugin-vue Patch
@codegraphy-dev/extension Patch

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

@joesobo joesobo changed the title Support Node beyond 22 Evaluate Node engine upper bound Jun 12, 2026
@joesobo joesobo changed the title Evaluate Node engine upper bound Remove Node engine upper bound Jun 12, 2026
@joesobo joesobo marked this pull request as ready for review June 12, 2026 17:41
@joesobo joesobo merged commit e8ceee7 into main Jun 12, 2026
17 checks passed
@joesobo joesobo deleted the codex/node-engine-upper-bound branch June 12, 2026 17:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant