NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1907 most downloaded on npm
Vite resolver for TypeScript compilerOptions.paths
Last release 1 months ago
28 Aug 2026
Release timing varies
gaps range from 2 weeks to 5 months
Some releases are documented
notes for 19 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
89 releases · first in 2020
One column per quarter.
perf: limit how many folders findAllProjects reads at once by @arturovt in #225
Full Changelog: v7.0.0-alpha.2...v7.0.0-alpha.3
v7.0.0-alpha.3 Pre-release
Pre-release
Compare
Add provenance-enabled npm releases by @aleclarson in #224
Full Changelog: v7.0.0-alpha.1...v7.0.0-alpha.2
v7.0.0-alpha.2 Pre-release
Pre-release
Compare
Breaking Changes & Compatibility
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!
oxc-resolver. This handles tsconfig paths natively in Rust, providing a high-performance resolution pipeline.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).tsup to Rolldown for bundling, reducing transitive dependencies by over 100..d.ts generation via isolatedDeclarations..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.This is an alpha release. You can install it using the next tag:
npm install vite-tsconfig-paths@nextv7.0.0-alpha.1 Pre-release
Pre-release
Compare
Nothing published for this version
New importerFilter option: Provides fine-grained control over which files should have their imports resolved by this plugin. (Closes #175 , #193 )
importerFilter option: Provides fine-grained control over which files should have their imports resolved by this plugin. (Closes #175, #193).d.ts overrides: The plugin now ignores resolutions that point to .d.ts files, avoiding issues when tsconfig is used for opt-in type overrides. (Closes #179, #180)resolvedToDeclarationFile event to the debug log file.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Note: No intentional breaking changes. Major version bump due to extensive internal refactoring; downgrade to v5 if needed.
Note: No intentional breaking changes. Major version bump due to extensive internal refactoring; downgrade to v5 if needed.
projectDiscovery: "lazy", while eager discovery remains the default.vite build --watch.logFile option for per-import resolution traces (pass true for vite-tsconfig-paths.log or provide a path)./* aliases and other absolute-style imports..astro files when allowJs/loose is enabled.pnpm add -D vite-tsconfig-paths.import tsconfigPaths from 'vite-tsconfig-paths'
export default {
plugins: [
tsconfigPaths({
projectDiscovery: 'lazy',
logFile: true,
}),
],
}"/*": ["src/*"] now resolve the same way tsserver does.fix(windows): ensure drive letter is uppercase
.astro to JS-like extension regex (fbbc8edb86606c612565a6672c8e0ae93f0001a0)Added support for /* path aliases.
/* path aliases. (#101)Added a new `logFile` option. Pass logFile: true and the plugin will create a vite-tsconfig-paths.log file in your working directory.
Added a new logFile option.
Pass logFile: true and the plugin will create a vite-tsconfig-paths.log file in your working directory.
Using DEBUG=vite-tsconfig-paths in the past has worked pretty well, but it isn't always the most readable. In v6 and above, this plugin will still have debug logs using this approach, but module resolution will only be logged through the new logFile option. The log file will be comprehensive (as in, every import that vite-tsconfig-paths receives will be logged). If an import goes unhandled by this plugin, the reason will be logged. If an import is resolved, the resolved path and the tsconfig path are both logged. In fact, every possible code path (in the context of module resolution) is logged to the log file.
Universal support for tsconfig reloading.
Whether you're using projectDiscovery: "lazy" or eager loading, this plugin should now be able to watch and reload tsconfig files when you make changes to them. This feature hasn't been rigorously tested yet. Please report issues you come across.
Support for vite build --watch.
The buildStart hook will reset the plugin whenever it's called.
Added a new `projectDiscovery` option.
Added a new projectDiscovery option.
When this option is set to "lazy", tsconfig files will be loaded on-demand. When an import is resolved, the parent directories of the importer are searched for tsconfig files matching the configNames array option (which defaults to ["tsconfig.json", "jsconfig.json"]).
If using TypeScript’s project references, you can ensure they are discovered by adding the main project to the projects array option of this plugin. Though, this is only necessary if you’re referencing tsconfig files with non-standard names (e.g. "tsconfig.src.json"). Setting the projects option will not interfere with lazy project discovery.
fix: correctly infer the paths root dir
paths root dir (eea1c17d0fe4ad6e3f8bc324216bc09173e3c778) (#150)fix: Once an importer is matched, end directory traversal
vite-tsconfig-paths:resolve debug logs (7160d6e52673367a7f4766ca9023ddc1da43e5dd)fix Windows regression introduced in v5.1.1
support ${configDir} syntax in include/exclude
${configDir} syntax in include/exclude (#156)Add skip option for adding additional directories to be skipped when searching for tsconfig.json files
skip option for adding additional directories to be skipped when searching for tsconfig.json files (#146)importer path before calling this.resolve in their resolveId hooks (#157)Nothing published for this version
This package is now ESM only in order to align with Vite: https://vitejs.dev/guide/migration#deprecate-cjs-node-api
This package is now ESM only in order to align with Vite: https://vitejs.dev/guide/migration#deprecate-cjs-node-api
If your project is using CommonJS, you can rename your Vite config to use the .mjs or .mts extension (depending on whether you use TypeScript or not). If you're not using Vite v5.0.0+, you may want to pin your dependency to v4 of this plugin.
Nothing published for this version
Nothing published for this version
353926a feat: use jsconfig.json if present (closes #22)
4cc78b4816eb7eea13cae878d8a4b6da8d691c27 fix: avoid breaking change from #128
d496ea9c90c2e1159c53fc54d5e435d4316d47ee fix: forward options when calling this.resolve (#128) (thanks to @pcattori)
this.resolve (#128) (thanks to @pcattori)8b4f6c8872bce9de5480fb7104418e77ee6fe889 feat(perf): leverage tsconfk caching to skip redundant work (#119) (thanks to @fwouts)
7a97869db40bf42924856bf586b615cb3003dbc7 If a tsconfig file is malformed and cannot be parsed (e.g. its extends property points to a non-existent file
extends property points to a non-existent file), an error is now logged instead of crashing the process. You can disable parsing error logs by setting ignoreConfigErrors: true in the plugin options.9766de8a0dc0889800005c5c6b3f8c3954171d08 If the projects option is used, any missing tsconfig files will be silently ignored (other than a debug log,
projects option is used, any missing tsconfig files will be silently ignored (other than a debug log, enabled with DEBUG="vite-tsconfig-paths" environment variable).Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Stop using the `tsconfig-paths` package It is better to let Vite handle all of the resolving, so that this plugin can be only responsible for the path
Stop using the tsconfig-paths package
It is better to let Vite handle all of the resolving, so that this plugin can be only responsible for the path mapping.
At the same time, I am also adding the tsconfck package, which handles the loading of tsconfig.json files for us. This package is also used in Vite core (we should have Vite expose it in the future, to avoid the duplication).
The tsconfig-paths package was previously responsible for config loading and much of the path resolving logic, but now we can ditch it! I'm also ditching the recrawl-sync package, which was used for crawling the filesystem in search of tsconfig.json files.
Remove the extensions option
Since the file resolution is delegated to Vite core, this option is no longer necessary.
Add the parseNative option
The tsconfck package has a parseNative function that's able to delegate config loading to the TypeScript compiler. If you encounter a bug in tsconfig.json file loading, you can try passing parseNative: true to see if that helps. But you should avoid enabling it otherwise, since it has a noticeable performance cost (up to 600ms roughly speaking).
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
support jsconfig.json files (thanks to @MichaelDeBoey)
jsconfig.json files (thanks to @MichaelDeBoey)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →