Skip to content

perf!: regenerate the parsers for the WillBooster runtime 17.0.1 - #162

Merged
exKAZUu merged 1 commit into
mainfrom
chore/runtime-17
Nov 2, 2026
Merged

exKAZUu merged 1 commit into
mainfrom
chore/runtime-17

Conversation

@exKAZUu

@exKAZUu exKAZUu commented Nov 2, 2026

Copy link
Copy Markdown
Member

Why

WillBooster/tree-sitter 17.0.1 stores the action rows of unvisited parse states as differences from similar rows, which shrinks generated parsers. Its parsers carry ABI 0x5742000c, which only runtime 17 loads.

Requirements

  • required: move the pinned CLI and runtime to 17.0.1, regenerate all parsers with profiling as script/generate does, set the runtime peer range to ^17.0.1, update the README and Rust docs that name the runtime version, and release as a breaking change.
  • required: valid input keeps correct trees; invalid input still yields ERROR/MISSING without crashes, hangs, or superlinear time; existing unit and performance tests pass.

Customer Summary

Both parsers (Module and Script goals) need @willbooster/web-tree-sitter or willbooster-tree-sitter 17.0.1 or later within 17.x; earlier runtimes reject them. They are about 6% smaller as Wasm and 8% smaller as a native library. Trees are unchanged.

Technical Summary

  • Cargo.toml/Cargo.lock lock willbooster-tree-sitter 17.0.1, which script/runtime-version reads to pick the CLI that script/tree-sitter runs; package.json/bun.lock pin @willbooster/web-tree-sitter 17.0.1 and set the peer range to ^17.0.1.
  • src/parser.c and grammars/script/src/parser.c are regenerated by script/generate --build-wasm; grammar.json and node-types.json are unchanged.
main (runtime 16) this PR
src/parser.c / script 1.37 / 1.36 MB 1.32 / 1.29 MB
Wasm (module / script) 373 / 367 KB 352 / 338 KB
native dylib (module) 417 KB 384 KB

Testing

  • bun run verify; bun wb test for every node test file in test/unit (172 tests, including corpus, examples, performance, runtime-version, and Wasm tests).
  • Parsed 124 .js files from node_modules with the parser on main and on this branch, both through runtime 17.0.1: all trees are byte-identical and instruction counts are within 0.1%.

Notes

Renovate may open its own PR for the same runtime bump; close it as superseded by this one.

Co-authored-by: WillBooster (Claude Code) <agent@willbooster.com>
@exKAZUu
exKAZUu merged commit 098d668 into main Nov 2, 2026
10 checks passed
@exKAZUu
exKAZUu deleted the chore/runtime-17 branch November 2, 2026 09:51
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