@stardust-configs/tsconfig
Shareable TypeScript config
Install
$ npm install @stardust-configs/tsconfig --save-dev
Usage
Edit tsconfig.json.
<summary>Default</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig"
}
<summary>Recommended</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig/recommended.json"
}
<summary>Node.js v12</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig/node12.json"
}
<summary>Node.js v14</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig/node14.json"
}
<summary>Node.js v16</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig/node16.json"
}
<summary>Node.js v18</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig/node18.json"
}
<summary>Next.js</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig/next.json",
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
}
Override
Override tsconfig.json.
<summary>
baseUrl</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig",
"compilerOptions": {
"baseUrl": "./"
}
}
<summary>
paths</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig",
"compilerOptions": {
"paths": {
"@foo/*": ["./src/foo/*"],
"@bar/*": ["./src/bar/*"],
"@baz/*": ["./src/baz/*"]
}
}
}
<summary>
typeRoots</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig",
"compilerOptions": {
"typeRoots": ["./node_modules/@types", "./src/@types"]
}
}
<summary>
declaration</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig",
"compilerOptions": {
"declaration": true
}
}
<summary>
outDir</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig",
"compilerOptions": {
"outDir": "./dist"
}
}
<summary>
noEmit</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig",
"compilerOptions": {
"noEmit": true
}
}
<summary>
plugins</summary>
jsonc
{
"extends": "@stardust-configs/tsconfig",
"compilerOptions": {
"plugins": [{ "name": "foo" }, { "name": "bar" }, { "name": "baz" }]
}
}
FAQ
How decided target of nodexx.json?
Reference Node Target Mapping · microsoft/TypeScript Wiki.
Why compilerOptions contains uppercase letters?
I know that developers are generally written in lowercase only. However, JSON Schema contains uppercase letters.
Author
License
MIT
Inspired by sindresorhus/tsconfig