tsconfig.json file allows you to point the root level files and different compiler options to setup that require to compile a TypeScript based projects.
The existence of this file in a project specifies that the given directory is the TypeScript project folder root.
Here is an example tsconfig.json file.
{
"compileOnSave": true,
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"noImplicitAny": true,
"sourceMap": true,
"removeComments": false
},
"files": [
"program.ts",
"sys.ts"
],
"include": [
"src/**/*"
],
"exclude": [
"node_modules",
"src/**/*.spec.ts"
]
}
Lets understand what each option specifies:
-
compileOnSave: If sets true, it instructs the IDE to automatically compile the given TypeScript files and generate the output. -
compilerOptions: It allows specifying additional options to the TypeScript compiler:-
target: the language used for the compiled output, e.g. es5, es6. -
module: the module manager used in the compiled output.systemis for SystemJS,commonjsfor CommonJS. -
moduleResolution: the strategy used to resolve module declaration files (.d.tsfiles). With the node approach, they are loaded from thenode_modulesfolder like a module (require('module-name')) -
noImplicitAny: if sets false, Raise error on expressions and declarations with an impliedanytype. -
sourceMap: if sets true, it will generate source map files to debug directly your application TypeScript files in the browser, -
removeComments: if set, Remove all comments except copy-right header comments beginning with /*!
-
-
files: Gives a list of TypeScript files that will be included by the compiler. The URL of the files can be both relative or absolute. -
include: Allows you to include a list of TypeScript files using the glob wildcards pattern. -
exclude: Allows you to exclude a list of TypeScript files using the glob wildcards pattern.