npm vite-tsconfig-paths 7.0.0-alpha.1

5 hours ago

This release marks a major modernization of vite-tsconfig-paths, moving to the OXC and Rolldown ecosystem for significantly improved performance and a leaner dependency tree.

Special thanks to Ben Snyder (@benpsnyder) for this massive overhaul!

High-Level Changes

  • OXC Resolver Integration: Replaced custom path-matching logic with oxc-resolver. This handles tsconfig paths natively in Rust, providing a high-performance resolution pipeline.
  • Rolldown Ready: Added support for Rolldown-compatible resolveId hook filters. This allows skipping unnecessary JS-to-Rust boundary calls for relative imports and virtual modules on supported engines (Vite 6.3+, Rollup 4.38+, and Rolldown).
  • Toolchain Modernization:
    • Switched from tsup to Rolldown for bundling, reducing transitive dependencies by over 100.
    • Migrated from Prettier to oxfmt (OXC's formatter).
    • Introduced oxlint for fast, type-aware linting.
    • Uses oxc-transform for native .d.ts generation via isolatedDeclarations.
  • TypeScript 6.0: Upgraded to TypeScript 6.0 RC, including fixes for new strictness requirements and deprecations.
  • Performance Wins: Benchmarks show the new implementation is approximately 1.22x faster on the plugin's own test suite and provides measurable wins in real-world AnalogJS targets.

Breaking Changes & Compatibility

  • Node.js >= 18 is now required.
  • Vite >= 5.0.0 is now the minimum supported version.
  • .json Import Guard: The guard now applies to all resolutions (including those from paths), requiring explicit extensions for JSON files if they aren't matched by a specific pattern.
  • Drop-in Replacement: Despite the internal rewrite, all existing test fixtures pass, and the plugin remains a drop-in replacement for most users.

How to try it

This is an alpha release. You can install it using the next tag:

npm install vite-tsconfig-paths@next

Don't miss a new vite-tsconfig-paths release

NewReleases is sending notifications on new releases.