Resole and parse `tsconfig.json`, replicating to TypeScript's behaviour

Usage no npm install needed!

<script type="module">
  import tsconfig from 'https://cdn.skypack.dev/tsconfig';



NPM version NPM downloads Build status Test coverage

Resolve and parse tsconfig.json, replicating TypeScript's behaviour.


See the TypeScript docs for information on setting up tsconfig.json.


  • resolve(cwd: string, path?: string): Promise<string | void> Resolve tsconfig.json, like TypeScript, allowing a path to be specified and falling back to recursively resolving tsconfig.json upward when no path is specified.
  • resolveSync(cwd: string, path?: string): string | void Synchronous resolve.
  • find(cwd: string): Promise<string | void> Standalone behaviour of recursively resolving tsconfig.json upward.
  • findSync(cwd: string): string | void Synchronous find.
  • load(cwd: string, path?: string): Promise<{ path?: string, config: any }> Resolve, load and parse tsconfig.json.
  • loadSync(cwd: string, path?: string): { path?: string, config: any } Synchronous load.
  • readFile(filename: string): Promise Read a JSON file as tsconfig.json (strip BOM, parse JSON and support empty contents).
  • readFileSync(filename: string): any Synchronous readFile.
  • parse(contents: string, filename: string): any Parse file contents as tsconfig.json (strip BOM, parse JSON and support empty contents).


Feel free to open issues for discussion.

# Install dependencies/typings.
npm install

# Run test suite.
npm test


MIT License