chore: bump tree-sitter runtime to 0.25 (python/go grammars to match) - #40
chore: bump tree-sitter runtime to 0.25 (python/go grammars to match)#40qoole wants to merge 4 commits into
Conversation
|
Thanks, this is valuable and we’d like to move it forward. Recent changes to main introduced conflicts. Could you rebase onto the latest main, resolve them, and rerun the test suite? We’ll review it promptly afterward. |
Newer grammar releases in the tree-sitter ecosystem require the 0.25 runtime, so bump tree-sitter ^0.21.1→^0.25.0 and the Python/Go grammars to ^0.25.0 to unlock languages whose grammars need it. tree-sitter-typescript stays pinned at ^0.23.2 (still the latest release) — it declares peerOptional tree-sitter@^0.21.0, so an npm `overrides` entry pins its nested tree-sitter to the root one so the repo-root install resolves cleanly; verified the grammar's native binding still loads and parses correctly under tree-sitter 0.25.1. Also updates the stale-parse-limit comment in extract.ts: the chunked callback parse predates 0.25 (which lifted the 32KB string-parse limit) and is kept because it's behavior-identical and exercised by existing tests. No behavior change; full suite green (493/493).
fa7f604 to
20e9357
Compare
|
Rebased onto latest main (c2cc532) and re-ran the suite — 538/538 green. The only conflict was CHANGELOG placement; the bump itself applied cleanly over the new walker and posix-path work. |
Use stable syntax-node IDs to avoid duplicate reference edges and align the supported Node version with native Windows prebuilds.
anirudhkumar-nanonets
left a comment
There was a problem hiding this comment.
Reviewed after the rebase and follow-up compatibility fix. Ubuntu, Windows, and CodeQL checks are green.
|
Merged main (0.9.0) into the branch — the only conflict was CHANGELOG placement, and the bump entry (including the stable-node-ID and Node 22.12 notes from 8899d26) now sits under a fresh Unreleased heading above the 0.9.0 section. Suite is 583/583 green on the merged tree, and the lockfile version header is synced. Should be conflict-free to merge — thanks for the compatibility fix. |
…and Rust behaviour Records the verified starting point before any Rust work: PR NanoNets#40/NanoNets#58/NanoNets#59 heads double-checked via the GitHub API and git ls-remote, strict-containment proof of the stack, and the finding that the stack carries no upstream CI signal at all. Suite on the pinned head is 638/645 with 3 failures. All three are an upstream locale defect (bare toLocaleString() resolving to ar-SA digits), reproduced verbatim on main and untouched by any Rust commit, so they are attributed upstream rather than counted as a Rust regression. Fix is deliberately deferred to its own commit. Also records measured behaviour on a Cargo workspace fixture: what already resolves, and the six gaps that Batches B-J exist to close — chiefly that cross-crate symbol imports never resolve because module-path resolution maps paths to files only. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Why
Newer tree-sitter grammars are published against the 0.25 node runtime — every published PowerShell grammar (which we'd like to propose as a new language in a follow-up PR) and the current python/go grammar lines peer-depend on
tree-sitter@^0.25. The bump also picks up two years of runtime fixes; among them, the string-parse()size limit thatextract.ts's chunked callback works around no longer exists in 0.25 (comment updated; behavior kept).What
tree-sitter^0.21.1 → ^0.25.0;tree-sitter-python,tree-sitter-go→ ^0.25.0.tree-sitter-typescriptstays at ^0.23.2 (its latest release).overridesentry for tree-sitter-typescript: its latest release still declarespeerOptional tree-sitter@^0.21, which hard-fails a root-projectnpm installunder npm's peer resolution. The override resolves the repo's own install (andnpm ciin CI) cleanly. Empirically verified: the 0.23.2 grammar binding loads and parses correctly under runtime 0.25.1.Evidence
npm i -gboth resolve. npm nests a vestigialtree-sitter@0.21under tree-sitter-typescript (overrides don't propagate to consumers); the CLI was verified to build and query TS/Python/Go correctly in exactly that layout. The nesting disappears once tree-sitter-typescript ships a 0.25-peer release.