Skip to content

Bump tree-sitter to 0.25.1 so the extension loads under Bun - #33

Merged
yonilerner merged 1 commit into
yonilerner:mainfrom
mmarcuccio:fix/tree-sitter-bun-prebuilds
Aug 11, 2026
Merged

yonilerner merged 1 commit into
yonilerner:mainfrom
mmarcuccio:fix/tree-sitter-bun-prebuilds

Conversation

@mmarcuccio

Copy link
Copy Markdown
Contributor

pi runs on Bun, and tree-sitter's entry point takes a Bun-specific branch that requires prebuilds/<platform>-<arch>/tree-sitter.node. The lockfiles pinned 0.25.0, which publishes no prebuilds, so npm's install script built the binding at build/Release/tree_sitter_runtime_binding.node instead and the require failed:

  Failed to load extension .../extensions/pi-auto.ts:
  Cannot find module './prebuilds/darwin-arm64/tree-sitter.node'

pi-auto did not load at all on a fresh install. 0.25.1 publishes prebuilds for all six platform/arch pairs, and tree-sitter-bash already shipped its own, which is why only the core package was affected.

Both lockfiles are edited by hand rather than regenerated. A regen pulled in unrelated churn: npm added libc metadata fields and dropped entries, and pnpm bumped pi-ai and pi-coding-agent.

Note that pnpm install --frozen-lockfile already fails on main from devDependency drift, before and after this change.

Verified with npm ci followed by a clean load of the extension in pi 0.83.0 on darwin-arm64.

pi runs on Bun, and tree-sitter's entry point takes a Bun-specific branch
that requires prebuilds/<platform>-<arch>/tree-sitter.node. The lockfiles
pinned 0.25.0, which publishes no prebuilds, so npm's install script built
the binding at build/Release/tree_sitter_runtime_binding.node instead and
the require failed:

  Failed to load extension .../extensions/pi-auto.ts:
  Cannot find module './prebuilds/darwin-arm64/tree-sitter.node'

pi-auto did not load at all on a fresh install. 0.25.1 publishes prebuilds
for all six platform/arch pairs, and tree-sitter-bash already shipped its
own, which is why only the core package was affected.

Both lockfiles are edited by hand rather than regenerated. A regen pulled in
unrelated churn: npm added libc metadata fields and dropped entries, and
pnpm bumped pi-ai and pi-coding-agent. Note that pnpm install --frozen-lockfile
already fails on main from devDependency drift, before and after this change.

Verified with npm ci followed by a clean load of the extension in pi 0.83.0
on darwin-arm64.
@yonilerner
yonilerner enabled auto-merge (squash) August 6, 2026 19:51
@yonilerner
yonilerner disabled auto-merge August 6, 2026 20:25
@yonilerner
yonilerner enabled auto-merge (squash) August 6, 2026 20:25
@yonilerner
yonilerner disabled auto-merge August 11, 2026 19:31
@yonilerner
yonilerner merged commit e4ccd91 into yonilerner:main Aug 11, 2026
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.

2 participants