The presence of a tsconfig.json file in a directory indicates that the directory is the root of a TypeScript project. The tsconfig.json file specifies the root files and the compiler options required to compile the project.
The "compilerOptions"
property can be omitted, in which case the compiler’s defaults are used. See our full list of supported Compiler Options.
If no "files"
property is present in a tsconfig.json, the compiler defaults to including all TypeScript (*.ts or *.tsx) files in the containing directory and subdirectories. When a "files" property is present, only the specified files are included.
If the "exclude"
property is specified, the compiler includes all TypeScript (*.ts or *.tsx) files in the containing directory and subdirectories except for those files or folders that are excluded.
The "files"
property cannot be used in conjunction with the "exclude" property. If both are specified then the "files" property takes precedence.
Any files that are referenced by those specified in the "files"
property are also included. Similarly, if a file B.ts is referenced by another file A.ts, then B.ts cannot be excluded unless the referencing file A.ts is also specified in the "exclude" list.
A tsconfig.json
file is permitted to be completely empty, which compiles all files in the containing directory and subdirectories with the default compiler options.
Compiler options specified on the command line override those specified in the tsconfig.json file.
Schema can be found at: http://json.schemastore.org/tsconfig