tsconfig.json
| Generate it | |
| Target and module | |
| Strict on | |
| Which files compile |
Generate it
tsconfig.json stores compiler options for the whole project. Generate a starter file once per project folder, then tune a few fields by hand instead of typing long flag lists on every compile:
tsc --init
Created a new tsconfig.json
After this step, a bare tsc call with no file names compiles the project using the settings below. The rest of this lesson explains the four fields that matter first.
Target and module
Target picks the JavaScript version of the emitted code, and module picks how files import each other. Older targets run in more places, while newer targets keep modern syntax intact:
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs"
}
}
The pair above suits plain Node scripts well. Browser projects built with a bundler often switch module to a newer style later, once imports span many files.
Strict on
Strict mode turns a family of careful checks on at once. It catches missing values and loose assignments that beginners hit most, so keep it enabled from day one:
{
"compilerOptions": {
"strict": true
}
}
Every snippet in this course assumes strict mode is on. Turning it off hides errors instead of fixing them, which trades a quiet compiler for broken programs.
Which files compile
Include lists the folders the compiler reads, and exclude lists the folders it must skip. With this pair, stray scripts and installed packages never pollute the build:
{
"include": ["src"],
"exclude": ["node_modules"]
}
Place source files under src and run bare tsc from the project root. The compiler finds the sources on its own and reports errors with file names and line numbers.
Next: Basic types
Article author: Arthur Isaev