v0.7.0 — TS monorepo import resolution (ESM .js + workspace packages)
Veridge 0.7.0
Sharper JS/TS import resolution for real-world TypeScript monorepos. Deterministic and
regex/AST-based — works with or without the [treesitter] extra. Core stays zero-dependency.
New
- TS/ESM
.js→.tsspecifiers — NodeNext writes the runtime extension (import "./x.js"
for anx.tssource); these now resolve to the TypeScript source instead of dropping. - Monorepo workspace packages — bare imports of in-tree packages (
@scope/pkg,
@scope/pkg/subpath) resolve via eachpackage.jsonnameto the package's source entry
(src/index,index, …). npm / yarn / pnpm workspaces.
Impact
On a real TypeScript monorepo, file-import edges went 117 → 140 — the 23 new edges are
cross-package workspace imports that were previously invisible (0). impact on a shared core
package went from 2 to 53 dependents, so blast-radius queries now see across package boundaries.
Hardening
- A
package.jsonat the repo root resolves correctly (no more absolute/src/indexcandidates). - A malformed
package.jsonis skipped, never aborting the index build. - Regression tests for both; 121 tests, ruff clean, dependency audit green.