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.system
is for SystemJS,commonjs
for CommonJS. -
moduleResolution
: the strategy used to resolve module declaration files (.d.ts
files). With the node approach, they are loaded from thenode_modules
folder like a module (require('module-name')) -
noImplicitAny
: if sets false, Raise error on expressions and declarations with an impliedany
type. -
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.