Package Exports
- tsconfig-resolver
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (tsconfig-resolver) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
tsconfig-resolver
A tool for loading the nearest tsconfig file in the same way the TypeScript compiler does. It walks up the directory tree until it finds the first matching tsconfig.json
file.
Table of Contents
Usage
tsconfig-resolver
is designed to be used inside your node project.
Setup
First, install the plugin and it's peer dependencies:
npm install --save tsconfig-resolver
or
yarn add tsconfig-resolver
Code Example
The following will load the first tsconfig.json
file working upwards from the process.cwd()
of the running node process.
import { tsconfigResolver } from 'tsconfig-resolver';
const result = tsconfigResolver();
// without type narrowing
console.log(result?.config);
// with type narrowing
if (result.exists) {
console.log(result.config);
}
Configuration options can also be passed into the export function.
import { tsconfigResolver, CacheStrategy } from 'tsconfig-resolver';
import { join } from 'path';
const result = tsconfig({
cwd: join(__dirname, 'src'),
fileName: 'tsconfig.prod.json',
cacheStrategy: CacheStrategy.Directory,
});
API
tsconfigResolver
import { tsconfigResolver } from 'tsconfig-resolver';
Options
Property | Type | Default | Description |
---|---|---|---|
cwd |
string | process.cwd() |
The directory to start searching from |
fileName |
string | 'tsconfig.json' |
Set the file name of the config file to search for. |
cacheStrategy |
string | CacheStrategy.Never |
Set the caching strategy that will be used when searching for a file that's already been found. See |
CacheStrategy
import { CacheStrategy } from 'tsconfig-resolver';
Provides the available caching strategies that can be used.
Sometimes you'll want to run this module several times during runtime but it can be slow and expensive walk up the file tree for the tsconfig value every time.
To help prevent unnecessary lookups there are custom caching strategies available.
CacheStrategy.Never
- Caching never happens and the returned value is always recalculatedCacheStrategy.Always
- The first time thetsconfigResolver
method is run it will save a cached value (byfileName
) which will be returned every time after that. This value will always be the same.CacheStrategy.Directory
- The cache will be used when the same directory (andfileName
) is being searched.
clearCache
Clears the cache.
import { tsconfigResolver, clearCache } from 'tsconfig-resolver';
const result = tsconfigResolver();
// Now clear the cache.
clearCache();
Contributing
Dive into the codebase with Gitpod.
Versioning
This project uses SemVer for versioning. For the versions available, see the tags on this repository.
License
This project is licensed under the MIT License - see the LICENSE file for details