開発・Git・設計の用語一覧へ
このページの目次

tsconfig.jsonとは?

読み方:tsconfig.json

最終更新:2026/08/18

3秒でわかる

TypeScriptコンパイル設定をまとめたファイル。チェックの厳しさ、対象ファイル、出力先をここ1か所で決めます。

もう少し詳しく

どういうものか

tsconfig.json は、TypeScriptプロジェクトの設定ファイルです。どのファイルを対象にするか、どのバージョンのJavaScriptへ変換するか、型チェックをどこまで厳しくするか、出力をどこへ置くかを記述します。このファイルが置かれたディレクトリがプロジェクトの起点になり、エディタの補完やエラー表示もこの設定を読んで動きます。

なぜ必要か

設定がファイルに書かれていないと、コンパイル時のオプション指定が人によって変わります。自分の環境では通るのに他の人の環境では大量にエラーが出る、という状態はここから生まれます。設定をリポジトリへ入れておけば、エディタもコマンドもCIも同じ判定になります。エディタが波線を出す根拠もこのファイルなので、実行しなくても全員が同じ結果を見られます。

具体例

{ "compilerOptions": { "target": "ES2022", "module": "ESNext", "moduleResolution": "bundler", "strict": true, "noUncheckedIndexedAccess": true, "outDir": "./dist", "baseUrl": ".", "paths": { "@/*": ["./src/*"] }, "skipLibCheck": true }, "include": ["src/**/*"], "exclude": ["node_modules", "dist"] }

strict を true にすると、暗黙のanyやnullの見落としをまとめて検出する複数のオプションが一括で有効になります。新規プロジェクトでは最初から有効にしておくのが結果的に楽です。

つまずきやすいところ

paths を設定してエディタの補完は効くのに、実行すると解決できないという詰まり方が非常に多く見られます。paths はあくまで型チェック時の解決規則で、実行時のモジュール解決は別の仕組みだからです。バンドラや実行環境の側にも同じ別名を設定する必要があります。もうひとつは strict を後から有効にして数百件のエラーが出る場合で、一度に直そうとすると手が止まります。個別のフラグを1つずつ入れて段階的に潰します。include を書き忘れると意図しないファイルまで対象になり、テストや設定ファイルの型エラーで止まることもあります。skipLibCheck は依存ライブラリの型定義の検査を省く指定で、ビルド時間の短縮に効きます。

似た用語との違い

ファイル役割
tsconfig.json型チェックと変換の設定
package.json依存関係とスクリプトの定義
.eslintrcコードの書き方の規約


大きなリポジトリでは、共通設定を1つ置き、各パッケージが extends で継承する形にすると重複が消えます。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地tsconfig.json開発・Git

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

TypeScript入門:型を付けて関数を書く

22レッスン
コース

TypeScript道場 fleama開発室の10問

10レッスン
コース

Next.js入門:App Routerとレイアウト

21レッスン
TypeScriptコースの全編を見る