v0.16.1 — JS edge resolution precision + CI clippy fix
Highlights
Two correctness bugs in the JS/TS edge pipeline were surfaced by driving the tool set against this project as a user:
Parser / indexer (JS/TS)
- Anonymous arrow scope fallback —
walk_for_relationsno longer labels unnamed arrow functions<anonymous>(a name nothing resolves to). Arrows without avariable_declaratorparent inherit the enclosing scope; JS/TS call_expressions at module top-level fall back to<module>so same-file edges resolve.- Test-file helpers like
writeJson,mkHome,readCargoVersionthat are referenced only from insidetest(() => {...})callbacks are no longer reported as orphan dead code.
- Test-file helpers like
- Cross-file same-language resolution —
refine_ambiguous_targetsnow disambiguates by (a) non-test-file preference when the caller is non-test code and (b) longest byte-common path prefix with the caller. Pool is preserved on true ties so Rust bare-name scoped calls likecrate::x::foo()don't get dropped and misreported as dead.
Measured on this project's own index
| Metric | v0.16.0 | v0.16.1 |
|---|---|---|
JS cross-file calls fan-out edges |
28 | 7 |
syncLifecycleConfig → readJson targets |
4 (3 wrong) | 1 |
refs writeJson callers found |
2 | 5 |
| Dead-code orphan false positives | 5 | 0 (JS)* |
* Remaining 3 orphans are bench_full_index / bench_call_graph / bench_fts5_search, registered via the criterion_group! macro — a separate follow-up.
CI
.github/workflows/ci.ymlexplicitly requestscomponents: clippyfor the 1.95 toolchain. v0.16.0 CI was red across every matrix cell with'cargo-clippy' is not installed for the toolchain '1.95.0'.
Upgrade
npm install -g code-graph-mcp@0.16.1
or via the plugin auto-updater.
Full Changelog: v0.16.0...v0.16.1