時短しながら最適な tsconfig.json を使う

1 min read読了の目安(約1200字

@tsconfig/recommended を使いましょう。

tsconfig.json は他のファイルを元に、値を拡張 / 上書きして使うことができます。この機能を前提として @tsconfig/recommended パッケージは各処理系ごとに最適な tsconfig.json を用意してくれています。

基本的な使い方は次のようになっています。

  1. 処理系ごとの tsconfig をインストール
  2. 自分の tsconfig.json 内で extends オプションに 1 番を指定
  3. 他のオプションをお好みで記載する

どういった処理系をサポートしているかは GitHub repo にリストがありますので参考にしてください。

特に嬉しいのが target[1] / module[2] / lib[3] を処理系にあわせて最適な値に指定してくれていることです。 moduleCommonJS 固定で困らない方も多いと思いますが、 targetlib を適切に設定するのは最新の TypeScript の Release note を追ったり歴史的な知識を必要としたりします。この分の手間が省けるだけで生産性が上がるので、ぜひ使っていきましょう。

他にも次のオプションを有効化してくれています。

  • strict[4]
  • esModuleInterop[5]
  • skipLibCheck[6]
  • forceConsistentCasingInFileNames[7]

いずれも公式が推奨しているオプションです。いちいち "strict": true と書く手間が省けるのも良いですね。

エキスパートの知恵を借りて、どんどん開発を効率化しましょう。

脚注
  1. https://www.typescriptlang.org/tsconfig#target ↩︎
  2. https://www.typescriptlang.org/tsconfig#module ↩︎
  3. https://www.typescriptlang.org/tsconfig#lib ↩︎
  4. https://www.typescriptlang.org/tsconfig#strict ↩︎
  5. https://www.typescriptlang.org/tsconfig#esModuleInterop ↩︎
  6. https://www.typescriptlang.org/tsconfig#skipLibCheck ↩︎
  7. https://www.typescriptlang.org/tsconfig#forceConsistentCasingInFileNames ↩︎