🧚

ベストプラクティスをまとめてくれてる tsconfig/bases

に公開

tsconfig でよくあるやつや、ベストプラクティス的なのをまとめてくれているプロジェクト。

公式ドキュメントでも紹介されているので信頼感がある。

使えるもの

stricteststrict 以外の設定でも型チェックをカッチリしておきたい場合に便利。
tsc の新バージョンでカッチリするルールがリリースされても追随するのがラクになる。

next とか、フレームワークに特有の設定も用意されている。これを使っておくと tsconfig.json が「自分の都合で上書きしている設定」だけになって見通しがよい。

nodelibtarget をきちんとやってくれるのも便利そう。

使い方

tsconfig.json の extends に並べると設定が適用される。

{
  "extends": [
    "@tsconfig/node20/tsconfig.json",
    "@tsconfig/strictest/tsconfig.json"
  ],

  "compilerOptions": {
  ...

なお、extends に配列で設定ができるのは tsc の v5 系から。

設定どうしがコンフリクトすると、うしろに書いたルールで上書きになる。

Writing this is kind of like extending c directly, where c extends b, and b extends a. If any fields "conflict", the latter entry wins.

設定を確認

extends を加味した結果、最終的にどんな設定で tsc が動いているかを確認するオプションがある。

npx tsc --project tsconfig.json --showConfig

Discussion