I'm a newbie in Angular. I used angular-cli
to learn about angular and I found the files tsconfig.json
and tsconfig.app.json
. Both of these are typescript related and I found this link useful.
But why two such files has been used? Why can't the configurations in these two files be combined in one file? Please help me figure this out.
there is nothing that prevents you from getting rid of the tsconfig.app.json
. it's just an additional config file that allows you to adjust your configuration on an app basis. this is e.g. useful when you have multiple apps in the same angular-cli
workspace.
you could have the root folder with the tsconfig.json
and then a sub folder app-a
with a tsconfig.app.json
file and another app in the sub-folder app-b
with it's own tsconfig.app.json
, which contains a variation of the global configuration.
the difference in configuration could e.g. be the output directory outDir
or the includes
or excludes
used.
The difference is that tsconfig.app.json
is a file that is related to the Angular App in particular, while tsconfig.json
is a more general file that contains general typescript configuration. It's especially useful when you have a micro frontends system, where there are multiple Angular subprojects, each of them with its own tsconfig.app.json
configuration. But if you want you could perfectly merge these two files into one, actually you surely noticed that tsconfig.app.json
contains the line:
"extends": "./tsconfig.json"
which means that the whole App uses the configuration stated in tsconfig.app.json
plus the configuration in tsconfig.json
tsconfig.app.json is a configuration for the Angular application,
tsconfig.json is used for IDE integration
tsconfig.json can be removed
According to https://github.com/angular/angular-cli/wiki/stories-rc.0-update#one-tsconfig-per-app