2020-11-11
|~1 min read
|146 words
In writing about setting Typescript up for new projects, one of the features I discussed in passing is extending configurations. Extending a Typescript configuration is useful in a variety of situations. In the original post, I had a base tsconfig
that I would use in development and then extend it with a tsconfig.build.json
:
{
"extends": "./tsconfig.json",
"exclude": ["**/*.test.ts"]
}
In this case, our .build
config extends a standard tsconfig
in the same level of the application (for our purposes, it doesn’t matter what’s included in the config).
Now that we have a configuration that extends another, we can use it specifically in certain circumstances - for example, when we want to actually build the application. Looking at our package.json
:
{
"scripts": {
"build": "tsc -p tsconfig.json --emitDeclarationOnly",
"build:prod": "tsc -p tsconfig.build.json --emitDeclarationOnly"
}
}
Just like that, we can have multiple configs.
Hi there and thanks for reading! My name's Stephen. I live in Chicago with my wife, Kate, and dog, Finn. Want more? See about and get in touch!