The tsconfig.json File
TypeScript features are extremely useful: for one, it allows us to add types to regular JavaScript code. It also checks for syntax errors even before run time. It even provides tooltips that show you why some code might throw an error. There are so many great features that come by default. Even with all these great features, TypeScript recognizes the need for flexibility.
Sometimes, you don’t want all the default rules that TypeScript is trying to enforce — and that’s fine. That’s one reason why providing a tsconfig.json file is useful. Additionally, you get perks like telling the TypeScript compiler what files to run on and more! So, let’s explore what this file looks like and how it helps.
Sample tsconfig.json and Breakdown
The tsconfig.json file is always placed in the root of your project and you can customize what rules you want the TypeScript compiler to enforce. Here’s the tsconfig.json file we provide in every single exercise and project in our Learn TypeScript course:
{"compilerOptions": {"target": "es2017","module": "commonjs","strictNullChecks": true},"include": ["**/*.ts"]}
In the JSON, there are several properties:
"compilerOptions", which is a nested object that contains the rules for the TypeScript compiler to enforce."target", the value"es2017"means the project will be using the 2017 version of EcmaScript standards for JavaScript."module", this project will be using"commonjs"syntax to import and export modules."strictNullChecks", variables can only havenullorundefinedvalues if they are explicitly assigned those values.
"include"that determines what files the compiler applies the rules to. In this case["**/*.ts"]means the compiler should check every single file that has a .ts extension.
We chose these rules because we wanted to give you an idea of what rules to enforce and still allow your creativity to shine. For your own projects, you can set these rules to your own preferences! The tsconfig.json file is great for both individual work and team projects because it allows everyone to be on the same page about how to write their code.
Usage
Another neat addition is that by including a tsconfig.json file, you can now use the command tsc without any arguments in your terminal! The compiler will automatically recognize from your tsconfig.json file, what specific files to run on. You can still provide specific files like tsc fileName.ts if that’s the only file you want the compiler to check.
Wrap up
Check out TypeScript’s compiler option documentation for even more information.
Happy Coding! And remember, when in doubt, type it out!
'The Codecademy Team, composed of experienced educators and tech experts, is dedicated to making tech skills accessible to all. We empower learners worldwide with expert-reviewed content that develops and enhances the technical skills needed to advance and succeed in their careers.'
Meet the full teamRelated articles
- Article
Handling Text Files in Python: How to Read from a File
Learn how to read from text files in Python using built-in functions like `read()` and `readline()`. Explore file handling, file modes, and best practices for efficient file handling. - Article
How to Create a Website
In this article, you will learn how to create your own web page and the difference between local and remote URLs. - Article
Create and View a Web Page on Your Computer
If you've completed many Codecademy courses, but still find yourself asking, "Where can I write code on my own computer?", then start here!
Learn more on Codecademy
- Apply the JavaScript syntax to TypeScript’s type system to give your code more structure.
- Beginner Friendly.2 hours
- Learn how to set up TypeScript for use in VSCode on your local computer — including global and project-specific installations.
- With Certificate
- Intermediate.< 1 hour
- Dive into intermediate TypeScript concepts including class types, type narrowing, and generics.
- With Certificate
- Intermediate.3 hours