## Current Behavior - The persistent tsconfig files cache used by the `@nx/js/typescript` plugin does not get invalidated when the tsconfig files it extends from are updated. - Absolute paths are stored in the cache, which would be incorrect when distributing the cache. - The plugin throws a cryptic error when the lock file doesn't exist. ## Expected Behavior - The persistent tsconfig files cache used by the `@nx/js/typescript` plugin should get invalidated when the tsconfig files it extends from are updated. - Paths should be stored relative to the workspace root. - The plugin should handle when the lock file is missing. Additionally, a few other performance improvements were made to offset the overhead introduced by creating a stricter cache key: - cache and reuse file reads between tsconfig reads and file hashing (now each file is only read once, if read at all) - initialize a pre-populate tsconfig files cache in a first pass to skip checking cache entries' key in subsequent reads - reduce the tsconfig file cached content we store to disk - cache the check for external project references ## Related Issue(s) Fixes #29429
{{links}}
Nx: Smart Monorepos · Fast CI
Nx is a build system, optimized for monorepos, with plugins for popular frameworks and tools and advanced CI capabilities including caching and distribution.
This package is a JavaScript/TypeScript plugin for Nx.
{{content}}