| declare namespace TsConfigJson { |
| namespace CompilerOptions { |
| export type JSX = |
| | 'preserve' |
| | 'react' |
| | 'react-native'; |
| |
| export type Module = |
| | 'CommonJS' |
| | 'AMD' |
| | 'System' |
| | 'UMD' |
| | 'ES6' |
| | 'ES2015' |
| | 'ESNext' |
| | 'None' |
| // Lowercase alternatives |
| | 'commonjs' |
| | 'amd' |
| | 'system' |
| | 'umd' |
| | 'es6' |
| | 'es2015' |
| | 'esnext' |
| | 'none'; |
| |
| export type NewLine = |
| | 'CRLF' |
| | 'LF' |
| // Lowercase alternatives |
| | 'crlf' |
| | 'lf'; |
| |
| export type Target = |
| | 'ES3' |
| | 'ES5' |
| | 'ES6' |
| | 'ES2015' |
| | 'ES2016' |
| | 'ES2017' |
| | 'ES2018' |
| | 'ES2019' |
| | 'ES2020' |
| | 'ESNext' |
| // Lowercase alternatives |
| | 'es3' |
| | 'es5' |
| | 'es6' |
| | 'es2015' |
| | 'es2016' |
| | 'es2017' |
| | 'es2018' |
| | 'es2019' |
| | 'es2020' |
| | 'esnext'; |
| |
| export type Lib = |
| | 'ES5' |
| | 'ES6' |
| | 'ES7' |
| | 'ES2015' |
| | 'ES2015.Collection' |
| | 'ES2015.Core' |
| | 'ES2015.Generator' |
| | 'ES2015.Iterable' |
| | 'ES2015.Promise' |
| | 'ES2015.Proxy' |
| | 'ES2015.Reflect' |
| | 'ES2015.Symbol.WellKnown' |
| | 'ES2015.Symbol' |
| | 'ES2016' |
| | 'ES2016.Array.Include' |
| | 'ES2017' |
| | 'ES2017.Intl' |
| | 'ES2017.Object' |
| | 'ES2017.SharedMemory' |
| | 'ES2017.String' |
| | 'ES2017.TypedArrays' |
| | 'ES2018' |
| | 'ES2018.AsyncIterable' |
| | 'ES2018.Intl' |
| | 'ES2018.Promise' |
| | 'ES2018.Regexp' |
| | 'ES2019' |
| | 'ES2019.Array' |
| | 'ES2019.Object' |
| | 'ES2019.String' |
| | 'ES2019.Symbol' |
| | 'ES2020' |
| | 'ES2020.String' |
| | 'ES2020.Symbol.WellKnown' |
| | 'ESNext' |
| | 'ESNext.Array' |
| | 'ESNext.AsyncIterable' |
| | 'ESNext.BigInt' |
| | 'ESNext.Intl' |
| | 'ESNext.Symbol' |
| | 'DOM' |
| | 'DOM.Iterable' |
| | 'ScriptHost' |
| | 'WebWorker' |
| | 'WebWorker.ImportScripts' |
| // Lowercase alternatives |
| | 'es5' |
| | 'es6' |
| | 'es7' |
| | 'es2015' |
| | 'es2015.collection' |
| | 'es2015.core' |
| | 'es2015.generator' |
| | 'es2015.iterable' |
| | 'es2015.promise' |
| | 'es2015.proxy' |
| | 'es2015.reflect' |
| | 'es2015.symbol.wellknown' |
| | 'es2015.symbol' |
| | 'es2016' |
| | 'es2016.array.include' |
| | 'es2017' |
| | 'es2017.intl' |
| | 'es2017.object' |
| | 'es2017.sharedmemory' |
| | 'es2017.string' |
| | 'es2017.typedarrays' |
| | 'es2018' |
| | 'es2018.asynciterable' |
| | 'es2018.intl' |
| | 'es2018.promise' |
| | 'es2018.regexp' |
| | 'es2019' |
| | 'es2019.array' |
| | 'es2019.object' |
| | 'es2019.string' |
| | 'es2019.symbol' |
| | 'es2020' |
| | 'es2020.string' |
| | 'es2020.symbol.wellknown' |
| | 'esnext' |
| | 'esnext.array' |
| | 'esnext.asynciterable' |
| | 'esnext.bigint' |
| | 'esnext.intl' |
| | 'esnext.symbol' |
| | 'dom' |
| | 'dom.iterable' |
| | 'scripthost' |
| | 'webworker' |
| | 'webworker.importscripts'; |
| |
| export interface Plugin { |
| [key: string]: unknown; |
| /** |
| Plugin name. |
| */ |
| name?: string; |
| } |
| } |
| |
| export interface CompilerOptions { |
| /** |
| The character set of the input files. |
| |
| @default 'utf8' |
| */ |
| charset?: string; |
| |
| /** |
| Enables building for project references. |
| |
| @default true |
| */ |
| composite?: boolean; |
| |
| /** |
| Generates corresponding d.ts files. |
| |
| @default false |
| */ |
| declaration?: boolean; |
| |
| /** |
| Specify output directory for generated declaration files. |
| |
| Requires TypeScript version 2.0 or later. |
| */ |
| declarationDir?: string; |
| |
| /** |
| Show diagnostic information. |
| |
| @default false |
| */ |
| diagnostics?: boolean; |
| |
| /** |
| Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. |
| |
| @default false |
| */ |
| emitBOM?: boolean; |
| |
| /** |
| Only emit `.d.ts` declaration files. |
| |
| @default false |
| */ |
| emitDeclarationOnly?: boolean; |
| |
| /** |
| Enable incremental compilation. |
| |
| @default `composite` |
| */ |
| incremental?: boolean; |
| |
| /** |
| Specify file to store incremental compilation information. |
| |
| @default '.tsbuildinfo' |
| */ |
| tsBuildInfoFile?: string; |
| |
| /** |
| Emit a single file with source maps instead of having a separate file. |
| |
| @default false |
| */ |
| inlineSourceMap?: boolean; |
| |
| /** |
| Emit the source alongside the sourcemaps within a single file. |
| |
| Requires `--inlineSourceMap` to be set. |
| |
| @default false |
| */ |
| inlineSources?: boolean; |
| |
| /** |
| Specify JSX code generation: `'preserve'`, `'react'`, or `'react-native'`. |
| |
| @default 'preserve' |
| */ |
| jsx?: CompilerOptions.JSX; |
| |
| /** |
| Specifies the object invoked for `createElement` and `__spread` when targeting `'react'` JSX emit. |
| |
| @default 'React' |
| */ |
| reactNamespace?: string; |
| |
| /** |
| Print names of files part of the compilation. |
| |
| @default false |
| */ |
| listFiles?: boolean; |
| |
| /** |
| Specifies the location where debugger should locate map files instead of generated locations. |
| */ |
| mapRoot?: string; |
| |
| /** |
| Specify module code generation: 'None', 'CommonJS', 'AMD', 'System', 'UMD', 'ES6', 'ES2015' or 'ESNext'. Only 'AMD' and 'System' can be used in conjunction with `--outFile`. 'ES6' and 'ES2015' values may be used when targeting 'ES5' or lower. |
| |
| @default ['ES3', 'ES5'].includes(target) ? 'CommonJS' : 'ES6' |
| */ |
| module?: CompilerOptions.Module; |
| |
| /** |
| Specifies the end of line sequence to be used when emitting files: 'crlf' (Windows) or 'lf' (Unix). |
| |
| Default: Platform specific |
| */ |
| newLine?: CompilerOptions.NewLine; |
| |
| /** |
| Do not emit output. |
| |
| @default false |
| */ |
| noEmit?: boolean; |
| |
| /** |
| Do not generate custom helper functions like `__extends` in compiled output. |
| |
| @default false |
| */ |
| noEmitHelpers?: boolean; |
| |
| /** |
| Do not emit outputs if any type checking errors were reported. |
| |
| @default false |
| */ |
| noEmitOnError?: boolean; |
| |
| /** |
| Warn on expressions and declarations with an implied 'any' type. |
| |
| @default false |
| */ |
| noImplicitAny?: boolean; |
| |
| /** |
| Raise error on 'this' expressions with an implied any type. |
| |
| @default false |
| */ |
| noImplicitThis?: boolean; |
| |
| /** |
| Report errors on unused locals. |
| |
| Requires TypeScript version 2.0 or later. |
| |
| @default false |
| */ |
| noUnusedLocals?: boolean; |
| |
| /** |
| Report errors on unused parameters. |
| |
| Requires TypeScript version 2.0 or later. |
| |
| @default false |
| */ |
| noUnusedParameters?: boolean; |
| |
| /** |
| Do not include the default library file (lib.d.ts). |
| |
| @default false |
| */ |
| noLib?: boolean; |
| |
| /** |
| Do not add triple-slash references or module import targets to the list of compiled files. |
| |
| @default false |
| */ |
| noResolve?: boolean; |
| |
| /** |
| Disable strict checking of generic signatures in function types. |
| |
| @default false |
| */ |
| noStrictGenericChecks?: boolean; |
| |
| /** |
| @deprecated use `skipLibCheck` instead. |
| */ |
| skipDefaultLibCheck?: boolean; |
| |
| /** |
| Skip type checking of declaration files. |
| |
| Requires TypeScript version 2.0 or later. |
| |
| @default false |
| */ |
| skipLibCheck?: boolean; |
| |
| /** |
| Concatenate and emit output to single file. |
| */ |
| outFile?: string; |
| |
| /** |
| Redirect output structure to the directory. |
| */ |
| outDir?: string; |
| |
| /** |
| Do not erase const enum declarations in generated code. |
| |
| @default false |
| */ |
| preserveConstEnums?: boolean; |
| |
| /** |
| Do not resolve symlinks to their real path; treat a symlinked file like a real one. |
| |
| @default false |
| */ |
| preserveSymlinks?: boolean; |
| |
| /** |
| Keep outdated console output in watch mode instead of clearing the screen. |
| |
| @default false |
| */ |
| preserveWatchOutput?: boolean; |
| |
| /** |
| Stylize errors and messages using color and context (experimental). |
| |
| @default true // Unless piping to another program or redirecting output to a file. |
| */ |
| pretty?: boolean; |
| |
| /** |
| Do not emit comments to output. |
| |
| @default false |
| */ |
| removeComments?: boolean; |
| |
| /** |
| Specifies the root directory of input files. |
| |
| Use to control the output directory structure with `--outDir`. |
| */ |
| rootDir?: string; |
| |
| /** |
| Unconditionally emit imports for unresolved files. |
| |
| @default false |
| */ |
| isolatedModules?: boolean; |
| |
| /** |
| Generates corresponding '.map' file. |
| |
| @default false |
| */ |
| sourceMap?: boolean; |
| |
| /** |
| Specifies the location where debugger should locate TypeScript files instead of source locations. |
| */ |
| sourceRoot?: string; |
| |
| /** |
| Suppress excess property checks for object literals. |
| |
| @default false |
| */ |
| suppressExcessPropertyErrors?: boolean; |
| |
| /** |
| Suppress noImplicitAny errors for indexing objects lacking index signatures. |
| |
| @default false |
| */ |
| suppressImplicitAnyIndexErrors?: boolean; |
| |
| /** |
| Do not emit declarations for code that has an `@internal` annotation. |
| */ |
| stripInternal?: boolean; |
| |
| /** |
| Specify ECMAScript target version. |
| |
| @default 'es3' |
| */ |
| target?: CompilerOptions.Target; |
| |
| /** |
| Watch input files. |
| |
| @default false |
| */ |
| watch?: boolean; |
| |
| /** |
| Enables experimental support for ES7 decorators. |
| |
| @default false |
| */ |
| experimentalDecorators?: boolean; |
| |
| /** |
| Emit design-type metadata for decorated declarations in source. |
| |
| @default false |
| */ |
| emitDecoratorMetadata?: boolean; |
| |
| /** |
| Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6). |
| |
| @default ['AMD', 'System', 'ES6'].includes(module) ? 'classic' : 'node' |
| */ |
| moduleResolution?: 'classic' | 'node'; |
| |
| /** |
| Do not report errors on unused labels. |
| |
| @default false |
| */ |
| allowUnusedLabels?: boolean; |
| |
| /** |
| Report error when not all code paths in function return a value. |
| |
| @default false |
| */ |
| noImplicitReturns?: boolean; |
| |
| /** |
| Report errors for fallthrough cases in switch statement. |
| |
| @default false |
| */ |
| noFallthroughCasesInSwitch?: boolean; |
| |
| /** |
| Do not report errors on unreachable code. |
| |
| @default false |
| */ |
| allowUnreachableCode?: boolean; |
| |
| /** |
| Disallow inconsistently-cased references to the same file. |
| |
| @default false |
| */ |
| forceConsistentCasingInFileNames?: boolean; |
| |
| /** |
| Base directory to resolve non-relative module names. |
| */ |
| baseUrl?: string; |
| |
| /** |
| Specify path mapping to be computed relative to baseUrl option. |
| */ |
| paths?: { |
| [key: string]: string[]; |
| }; |
| |
| /** |
| List of TypeScript language server plugins to load. |
| |
| Requires TypeScript version 2.3 or later. |
| */ |
| plugins?: CompilerOptions.Plugin[]; |
| |
| /** |
| Specify list of root directories to be used when resolving modules. |
| */ |
| rootDirs?: string[]; |
| |
| /** |
| Specify list of directories for type definition files to be included. |
| |
| Requires TypeScript version 2.0 or later. |
| */ |
| typeRoots?: string[]; |
| |
| /** |
| Type declaration files to be included in compilation. |
| |
| Requires TypeScript version 2.0 or later. |
| */ |
| types?: string[]; |
| |
| /** |
| Enable tracing of the name resolution process. |
| |
| @default false |
| */ |
| traceResolution?: boolean; |
| |
| /** |
| Allow javascript files to be compiled. |
| |
| @default false |
| */ |
| allowJs?: boolean; |
| |
| /** |
| Do not truncate error messages. |
| |
| @default false |
| */ |
| noErrorTruncation?: boolean; |
| |
| /** |
| Allow default imports from modules with no default export. This does not affect code emit, just typechecking. |
| |
| @default module === 'system' || esModuleInterop |
| */ |
| allowSyntheticDefaultImports?: boolean; |
| |
| /** |
| Do not emit `'use strict'` directives in module output. |
| |
| @default false |
| */ |
| noImplicitUseStrict?: boolean; |
| |
| /** |
| Enable to list all emitted files. |
| |
| Requires TypeScript version 2.0 or later. |
| |
| @default false |
| */ |
| listEmittedFiles?: boolean; |
| |
| /** |
| Disable size limit for JavaScript project. |
| |
| Requires TypeScript version 2.0 or later. |
| |
| @default false |
| */ |
| disableSizeLimit?: boolean; |
| |
| /** |
| List of library files to be included in the compilation. |
| |
| Requires TypeScript version 2.0 or later. |
| */ |
| lib?: CompilerOptions.Lib[]; |
| |
| /** |
| Enable strict null checks. |
| |
| Requires TypeScript version 2.0 or later. |
| |
| @default false |
| */ |
| strictNullChecks?: boolean; |
| |
| /** |
| The maximum dependency depth to search under `node_modules` and load JavaScript files. Only applicable with `--allowJs`. |
| |
| @default 0 |
| */ |
| maxNodeModuleJsDepth?: number; |
| |
| /** |
| Import emit helpers (e.g. `__extends`, `__rest`, etc..) from tslib. |
| |
| Requires TypeScript version 2.1 or later. |
| |
| @default false |
| */ |
| importHelpers?: boolean; |
| |
| /** |
| Specify the JSX factory function to use when targeting React JSX emit, e.g. `React.createElement` or `h`. |
| |
| Requires TypeScript version 2.1 or later. |
| |
| @default 'React.createElement' |
| */ |
| jsxFactory?: string; |
| |
| /** |
| Parse in strict mode and emit `'use strict'` for each source file. |
| |
| Requires TypeScript version 2.1 or later. |
| |
| @default false |
| */ |
| alwaysStrict?: boolean; |
| |
| /** |
| Enable all strict type checking options. |
| |
| Requires TypeScript version 2.3 or later. |
| |
| @default false |
| */ |
| strict?: boolean; |
| |
| /** |
| Enable stricter checking of of the `bind`, `call`, and `apply` methods on functions. |
| |
| @default false |
| */ |
| strictBindCallApply?: boolean; |
| |
| /** |
| Provide full support for iterables in `for-of`, spread, and destructuring when targeting `ES5` or `ES3`. |
| |
| Requires TypeScript version 2.3 or later. |
| |
| @default false |
| */ |
| downlevelIteration?: boolean; |
| |
| /** |
| Report errors in `.js` files. |
| |
| Requires TypeScript version 2.3 or later. |
| |
| @default false |
| */ |
| checkJs?: boolean; |
| |
| /** |
| Disable bivariant parameter checking for function types. |
| |
| Requires TypeScript version 2.6 or later. |
| |
| @default false |
| */ |
| strictFunctionTypes?: boolean; |
| |
| /** |
| Ensure non-undefined class properties are initialized in the constructor. |
| |
| Requires TypeScript version 2.7 or later. |
| |
| @default false |
| */ |
| strictPropertyInitialization?: boolean; |
| |
| /** |
| Emit `__importStar` and `__importDefault` helpers for runtime Babel ecosystem compatibility and enable `--allowSyntheticDefaultImports` for typesystem compatibility. |
| |
| Requires TypeScript version 2.7 or later. |
| |
| @default false |
| */ |
| esModuleInterop?: boolean; |
| |
| /** |
| Allow accessing UMD globals from modules. |
| |
| @default false |
| */ |
| allowUmdGlobalAccess?: boolean; |
| |
| /** |
| Resolve `keyof` to string valued property names only (no numbers or symbols). |
| |
| Requires TypeScript version 2.9 or later. |
| |
| @default false |
| */ |
| keyofStringsOnly?: boolean; |
| |
| /** |
| Emit ECMAScript standard class fields. |
| |
| Requires TypeScript version 3.7 or later. |
| |
| @default false |
| */ |
| useDefineForClassFields?: boolean; |
| |
| /** |
| Generates a sourcemap for each corresponding `.d.ts` file. |
| |
| Requires TypeScript version 2.9 or later. |
| |
| @default false |
| */ |
| declarationMap?: boolean; |
| |
| /** |
| Include modules imported with `.json` extension. |
| |
| Requires TypeScript version 2.9 or later. |
| |
| @default false |
| */ |
| resolveJsonModule?: boolean; |
| } |
| |
| /** |
| Auto type (.d.ts) acquisition options for this project. |
| |
| Requires TypeScript version 2.1 or later. |
| */ |
| export interface TypeAcquisition { |
| /** |
| Enable auto type acquisition. |
| */ |
| enable?: boolean; |
| |
| /** |
| Specifies a list of type declarations to be included in auto type acquisition. For example, `['jquery', 'lodash']`. |
| */ |
| include?: string[]; |
| |
| /** |
| Specifies a list of type declarations to be excluded from auto type acquisition. For example, `['jquery', 'lodash']`. |
| */ |
| exclude?: string[]; |
| } |
| |
| export interface References { |
| /** |
| A normalized path on disk. |
| */ |
| path: string; |
| |
| /** |
| The path as the user originally wrote it. |
| */ |
| originalPath?: string; |
| |
| /** |
| True if the output of this reference should be prepended to the output of this project. |
| |
| Only valid for `--outFile` compilations. |
| */ |
| prepend?: boolean; |
| |
| /** |
| True if it is intended that this reference form a circularity. |
| */ |
| circular?: boolean; |
| } |
| } |
| |
| export interface TsConfigJson { |
| /** |
| Instructs the TypeScript compiler how to compile `.ts` files. |
| */ |
| compilerOptions?: TsConfigJson.CompilerOptions; |
| |
| /** |
| Auto type (.d.ts) acquisition options for this project. |
| |
| Requires TypeScript version 2.1 or later. |
| */ |
| typeAcquisition?: TsConfigJson.TypeAcquisition; |
| |
| /** |
| Enable Compile-on-Save for this project. |
| */ |
| compileOnSave?: boolean; |
| |
| /** |
| Path to base configuration file to inherit from. |
| |
| Requires TypeScript version 2.1 or later. |
| */ |
| extends?: 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. |
| */ |
| files?: 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. |
| */ |
| exclude?: 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`. |
| |
| Requires TypeScript version 2.0 or later. |
| */ |
| include?: string[]; |
| |
| /** |
| Referenced projects. |
| |
| Requires TypeScript version 3.0 or later. |
| */ |
| references?: TsConfigJson.References[]; |
| } |