Skip to content

v0.16.1 — JS edge resolution precision + CI clippy fix

Choose a tag to compare

@sdsrss sdsrss released this 23 Apr 00:33
· 1134 commits to main since this release

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_relations no longer labels unnamed arrow functions <anonymous> (a name nothing resolves to). Arrows without a variable_declarator parent 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, readCargoVersion that are referenced only from inside test(() => {...}) callbacks are no longer reported as orphan dead code.
  • Cross-file same-language resolution — refine_ambiguous_targets now 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 like crate::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.yml explicitly requests components: clippy for 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