T-CREATOR

【早見表】tsconfig.jsonのオプションのまとめ

【早見表】tsconfig.jsonのオプションのまとめ

TypeScriptの構成ファイル tsconfig.json は、プロジェクトのビルドや型チェックを細かく制御する重要な役割を果たします。
設定可能なオプションは多岐にわたり、最適に使いこなすことで開発効率や安全性を大きく向上させることができます。

プロジェクト設定の中核を担うtsconfig.json

TypeScriptでは tsconfig.json によって、トランスパイル対象の範囲、JavaScriptへの出力形式、型の解釈方法などを柔軟に調整できます。

しかしその分、オプションが非常に多く「最低限どれを設定すればよいか」「使い分けはどうするか」と悩む場面も多くあります。

本記事では、TypeScript公式仕様をもとに、使用頻度が高いオプションを中心に網羅的な「早見表」として整理しています。
初学者から中〜上級者までが参照できるようカテゴリごとにまとめました。

よく使うtsconfigオプション早見表(分類別)

コンパイル出力と構文設定

オプション説明と用途よく使う値例
target出力されるJavaScriptのバージョン。es5, es2015, es2020, esnext
moduleモジュールシステムの形式を指定。commonjs, esnext, nodenext
lib利用可能な型定義ライブラリのセット。["dom", "esnext"]
jsxJSXの変換方式。Reactを使う際は必須。react-jsx, react, preserve
outDirコンパイル後の出力先ディレクトリ。./dist, ./build
rootDirコンパイル対象のルートディレクトリ。./src
removeCommentsコメントを出力JSから削除。true
sourceMapソースマップを生成(デバッグ用途)。true
declaration.d.ts 型定義ファイルを出力。true
declarationMap.d.ts に対するソースマップも出力。true

型チェック・安全性強化

オプション説明と用途よく使う値
strict以下のすべてのチェックを有効化する総合スイッチ。true
noImplicitAny型注釈なしでanyになる変数を禁止。true
strictNullChecksnullundefined を厳密に扱う。true
strictFunctionTypes関数型の互換性チェックを厳密に。true
strictBindCallApplybind/call/apply メソッドの型チェックを強化。true
alwaysStrict全ファイルに 'use strict' を追加し、厳格モードで実行。true
noImplicitReturns関数内で戻り値がないパスが存在することを警告。true
noFallthroughCasesInSwitchswitch文でのfallthrough(break漏れ)を禁止。true
useUnknownInCatchVariablescatch節の変数を any ではなく unknown 扱いにする。true

モジュール解決と構成制御

オプション説明と用途よく使う値例
moduleResolutionモジュールの解決アルゴリズム。node, bundler, nodenext
baseUrlモジュール解決の基準パス。./src
pathsモジュールエイリアスを設定。{ "@utils/*": ["utils/*"] }
rootDirs複数のルートディレクトリを1つの仮想ディレクトリとして扱う。["src", "generated"]
typeRoots型定義ファイルの検索ディレクトリを指定。["./node_modules/@types"]
types明示的に使いたい型定義パッケージを指定。["node", "jest"]
resolveJsonModule.json ファイルのimportを可能にする。true
esModuleInteropESModulesとCommonJSのinteropを有効に。true
allowSyntheticDefaultImportsdefault importを許容(interopの補助)。true
preserveSymlinksシンボリックリンクの解決を行わずに維持。false

コンパイル挙動制御とビルド最適化

オプション説明と用途よく使う値
incremental増分ビルドを有効化し、高速化。true
tsBuildInfoFile増分ビルド用のキャッシュファイルパス。./.tsbuildinfo
compositeプロジェクト参照(Project References)向けの設定。true
isolatedModules各ファイルを独立したモジュールとしてトランスパイル可能に。true
noEmit出力ファイルを生成しない(型チェックのみ)。true
emitDeclarationOnly.d.ts のみ出力し、JSは生成しない。true

その他・ユーティリティ的な設定

オプション説明と用途よく使う値
watchファイル変更を監視して自動再コンパイル(tsc CLI用)。true
prettyコンパイル時のログ出力を見やすく整形。true
skipLibCheck外部ライブラリの型チェックを省略してビルドを高速化。true
forceConsistentCasingInFileNamesファイル名の大文字小文字の一貫性を強制。true

公式リファレンスと便利リンク集

以下の公式リソースを使えば、各オプションの最新仕様や適用方法を確認できます。

また、IDE(VSCodeなど)では tsconfig.json を編集中に自動補完が効くため、公式型定義の辞書としても活用できます。

自分のプロジェクトに最適な構成を選ぼう

tsconfig.json の設定は「正解が一つ」というものではなく、プロジェクトの性質、目的、規模、使用するフレームワークなどにより最適な構成が変わります。

本記事の早見表は、以下のようなシーンで活用いただけます:

  • 新規プロジェクトのtsconfig設計時
  • 既存プロジェクトの型精度やビルド速度の改善時
  • 他人のtsconfigを読むときのリファレンス

設定を理解し試行錯誤する中で、TypeScriptの力を最大限に引き出せるようになります。
ぜひ今後の開発でも、本記事をリファレンスとしてお役立てください。

TypeScriptの記事Typescript