TSConfig
extends
The value of extends
is a string which contains a path to another configuration file to inherit from.
The path may use Node.js style resolution.
The configuration from the base file are loaded first, then overridden by those in the inheriting config file. All relative paths found in the configuration file will be resolved relative to the configuration file they originated in.
It’s worth noting that files
, include
, and exclude
from the inheriting config file overwrite those from the
base config file, and that circularity between configuration files is not allowed.
Currently, the only top-level property that is excluded from inheritance is references
.
Example
configs/base.json
:
{" ": {" ": true," ": true}}
tsconfig.json
:
{" ": "./configs/base"," ": ["main.ts", "supplemental.ts"]}
tsconfig.nostrictnull.json
:
{" ": "./tsconfig"," ": {" ": false}}
Properties with relative paths found in the configuration file, which aren’t excluded from inheritance, will be resolved relative to the configuration file they originated in.