@visulima/tsconfig
v1.1.1
Published
Find and/or parse the tsconfig.json file from a directory path.
Downloads
3,182
Maintainers
Readme
@visulima/fs, @visulima/path, jsonc-parser and resolve-pkg-maps
Features
- Tested against TypeScript for correctness
- Supports comments & dangling commas in tsconfig.json
- Resolves extends
- Fully typed tsconfig.json
- Validates and throws parsing errors
Install
npm install @visulima/tsconfig
yarn add @visulima/tsconfig
pnpm add @visulima/tsconfig
Usage
findTsConfig
Retrieves the TsConfig by searching for the "tsconfig.json" file from a given current working directory.
import { findTsConfig } from "@visulima/tsconfig";
const tsconfig = await findTsConfig(); // => { path: "/Users/../Projects/visulima/packages/tsconfig/tsconfig.json", config: { compilerOptions: { ... } } }
writeTsConfig
Writes the provided TypeScript configuration object to a tsconfig.json file.
import { writeTsConfig } from '@visulima/package';
writeTsConfig({ compilerOptions: { ... } }/* ,{ cwd: "./" }*/);
readTsConfig
Reads the TypeScript configuration from a tsconfig.json file.
import { readTsConfig } from "@visulima/package";
const tsconfig = await readTsConfig("/Users/../Projects/visulima/packages/tsconfig.json" /* { tscCompatible: false } */);
tscCompatible: If true, the configuration will be parsed in a way that is compatible with the TypeScript compiler.
Api Docs
@visulima/tsconfig
File
TsConfigJson
type TsConfigJson: object;
Type for TypeScript's tsconfig.json
file (TypeScript 3.7).
Type declaration
compileOnSave?
optional compileOnSave: boolean;
Enable Compile-on-Save for this project.
compilerOptions?
optional compilerOptions: CompilerOptions;
Instructs the TypeScript compiler how to compile .ts
files.
exclude?
optional exclude: string[];
Specifies a list of files to be excluded from compilation. The exclude
property only affects the files included via the include
property and not the files
property.
Glob patterns require TypeScript version 2.0 or later.
extends?
optional extends: string | string[];
Path to base configuration file to inherit from.
files?
optional files: string[];
If no files
or include
property is present in a tsconfig.json
, the compiler defaults to including all files in the containing directory and subdirectories except those specified by exclude
. When a files
property is specified, only those files and those specified by include
are included.
include?
optional include: string[];
Specifies a list of glob patterns that match files to be included in compilation.
If no files
or include
property is present in a tsconfig.json
, the compiler defaults to including all files in the containing directory and subdirectories except those specified by exclude
.
references?
optional references: References[];
Referenced projects.
typeAcquisition?
optional typeAcquisition: TypeAcquisition;
Auto type (.d.ts) acquisition options for this project.
watchOptions?
optional watchOptions: WatchOptions;
Instructs the TypeScript compiler how to watch files.
Defined in
node_modules/.pnpm/[email protected]/node_modules/type-fest/source/tsconfig-json.d.ts:1
Other
findTsConfig()
function findTsConfig(cwd?, options?): Promise<TsConfigResult>
An asynchronous function that retrieves the TSConfig by searching for the "tsconfig.json" first, second attempt is to look for the "jsconfig.json" file from a given current working directory.
Parameters
• cwd?: string
| URL
Optional. The current working directory from which to search for the "tsconfig.json" file.
The type of cwd
is string
.
• options?: Options
= {}
Returns
Promise
<TsConfigResult
>
A Promise
that resolves to the TSConfig result object.
The return type of the function is Promise<TsConfigResult>
.
Throws
An Error
when the "tsconfig.json" file is not found.
Defined in
packages/tsconfig/src/find-tsconfig.ts:29
findTsConfigSync()
function findTsConfigSync(cwd?, options?): TsConfigResult
Parameters
• cwd?: string
| URL
• options?: Options
= {}
Returns
Defined in
packages/tsconfig/src/find-tsconfig.ts:66
readTsConfig()
function readTsConfig(tsconfigPath, options?): object
Parameters
• tsconfigPath: string
• options?: Options
Returns
object
compileOnSave?
optional compileOnSave: boolean;
Enable Compile-on-Save for this project.
compilerOptions?
optional compilerOptions: CompilerOptions;
Instructs the TypeScript compiler how to compile .ts
files.
exclude?
optional exclude: string[];
Specifies a list of files to be excluded from compilation. The exclude
property only affects the files included via the include
property and not the files
property.
Glob patterns require TypeScript version 2.0 or later.
files?
optional files: string[];
If no files
or include
property is present in a tsconfig.json
, the compiler defaults to including all files in the containing directory and subdirectories except those specified by exclude
. When a files
property is specified, only those files and those specified by include
are included.
include?
optional include: string[];
Specifies a list of glob patterns that match files to be included in compilation.
If no files
or include
property is present in a tsconfig.json
, the compiler defaults to including all files in the containing directory and subdirectories except those specified by exclude
.
references?
optional references: References[];
Referenced projects.
typeAcquisition?
optional typeAcquisition: TypeAcquisition;
Auto type (.d.ts) acquisition options for this project.
watchOptions?
optional watchOptions: WatchOptions;
Instructs the TypeScript compiler how to watch files.
Defined in
packages/tsconfig/src/read-tsconfig.ts:308
writeTsConfig()
function writeTsConfig(tsConfig, options): Promise<void>
An asynchronous function that writes the provided TypeScript configuration object to a tsconfig.json file.
Parameters
• tsConfig: TsConfigJson
The TypeScript configuration object to write. The type of tsConfig
is TsConfigJson
.
• options: WriteFileOptions
& object
& object
= {}
Optional. The write options and the current working directory. The type of options
is an
intersection type of WriteOptions
and a Record type with an optional cwd
key of type string
.
Returns
Promise
<void
>
A Promise
that resolves when the tsconfig.json file has been written.
The return type of function is Promise<void>
.
Defined in
packages/tsconfig/src/write-tsconfig.ts:17
writeTsConfigSync()
function writeTsConfigSync(tsConfig, options): void
A function that writes the provided TypeScript configuration object to a tsconfig.json file.
Parameters
• tsConfig: TsConfigJson
The TypeScript configuration object to write. The type of tsConfig
is TsConfigJson
.
• options: WriteFileOptions
& object
& object
= {}
Optional. The write options and the current working directory. The type of options
is an
intersection type of WriteOptions
and a Record type with an optional cwd
key of type string
.
Returns
void
A Promise
that resolves when the tsconfig.json file has been written.
The return type of function is Promise<void>
.
Defined in
packages/tsconfig/src/write-tsconfig.ts:35
implicitBaseUrlSymbol
const implicitBaseUrlSymbol: typeof implicitBaseUrlSymbol;
Defined in
packages/tsconfig/src/read-tsconfig.ts:305
TsConfigJsonResolved
type TsConfigJsonResolved: Except<TsConfigJson, "extends">;
Defined in
packages/tsconfig/src/types.ts:3
TsConfigResult
type TsConfigResult: object;
Type declaration
config
config: TsConfigJsonResolved;
path
path: string;
Defined in
packages/tsconfig/src/find-tsconfig.ts:14
File
Other
- findTsConfig
- findTsConfigSync
- readTsConfig
- writeTsConfig
- writeTsConfigSync
- TsConfigJson
- implicitBaseUrlSymbol
- TsConfigJsonResolved
- TsConfigResult
Related
- get-tsconfig - Get the TypeScript configuration from a project.
Supported Node.js Versions
Libraries in this ecosystem make the best effort to track Node.js’ release schedule. Here’s a post on why we think this is important.
Contributing
If you would like to help take a look at the list of issues and check our Contributing guidelines.
Note: please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Credits
License
The visulima tsconfig is open-sourced software licensed under the MIT