Accuracy Release in v1.6.0

  • vx deps and vx impact now follow TypeScript barrel files by name. vx records which names every import and re-export uses, so when a barrel index.ts re-exports your file, vx lists the barrel and the files that import your exports through it — not every file that imports the barrel.
  • Re-exports that were silently dropped are now parsed: export { … } from split across multiple lines, export type { … } from, and aliased re-exports like export { foo as bar } from.
  • Barrel files now appear in vx deps and vx impact results. Previously a file re-exported through a barrel didn't list the barrel itself.
  • When vx can't tell which names a file uses (import * as ns, require(), dynamic import()), it lists that file to be safe, so results lean toward a few extra files rather than missing ones.
  • Measured on 20 Excalidraw files against the TypeScript compiler: vx now finds 100% of real dependents (up from 93.6%), and 87.7% of listed files are real dependents (up from 12.6%). vx impact packages/common/src/binary-heap.ts went from 347 files to 8.
  • Run vx init after upgrading. The snapshot format changed. If your snapshot was built by an older version, vx deps and vx impact warn you: warning: snapshot was built by an older vx and may be inaccurate — run 'vx init' to rebuild.
  • npm packages are now published from GitHub Actions with trusted publishing, so no long-lived npm token exists. Each release carries a provenance attestation you can check on npm, showing the package was built from the vexal repository.

Was this page helpful?