@stardust-configs/tsconfig

Shareable TypeScript config

Usage no npm install needed!

<script type="module">
  import stardustConfigsTsconfig from 'https://cdn.skypack.dev/@stardust-configs/tsconfig';
</script>

README

@stardust-configs/tsconfig

Shareable TypeScript config

Install

$ npm install @stardust-configs/tsconfig --save-dev

Usage

Edit tsconfig.json.

Default
{
  "extends": "@stardust-configs/tsconfig"
}
Recommended
{
  "extends": "@stardust-configs/tsconfig/recommended.json"
}
Node.js v12
{
  "extends": "@stardust-configs/tsconfig/node12.json"
}
Node.js v14
{
  "extends": "@stardust-configs/tsconfig/node14.json"
}
Next.js
{
  "extends": "@stardust-configs/tsconfig/next.json",
  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
  "exclude": ["node_modules"]
}

Override

Override tsconfig.json.

declaration
{
  "extends": "@stardust-configs/tsconfig",
  "compilerOptions": {
    "declaration": true
  }
}
outDir & baseUrl
{
  "extends": "@stardust-configs/tsconfig",
  "compilerOptions": {
    "outDir": "./dist",
    "baseUrl": "./"
  }
}
paths
{
  "extends": "@stardust-configs/tsconfig",
  "compilerOptions": {
    "paths": {
      "@foo/*": ["./src/foo/*"],
      "@bar/*": ["./src/bar/*"]
    }
  }
}
typeRoots
{
  "extends": "@stardust-configs/tsconfig",
  "compilerOptions": {
    "typeRoots": ["./node_modules/@types", "./src/@types"]
  }
}
experimentalDecorators & emitDecoratorMetadata
{
  "extends": "@stardust-configs/tsconfig",
  "compilerOptions": {
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true
  }
}

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

@p-chan

License

MIT


Inspired by sindresorhus/tsconfig