123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872 |
- 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[];
- }
|