tsconfig.json
別名: TSConfig / ティーエスコンフィグ / TypeScript 設定ファイル
tsconfig.json は、そのディレクトリが TypeScript プロジェクトのルートであることを示し、対象ファイルとコンパイラオプションをまとめて指定する設定ファイル。
tsc は引数なしで実行するとこれを探して読む。
公開:
定義
tsconfig.json は、置かれたディレクトリが TypeScript プロジェクトのルートであることを示す設定ファイルである。
コンパイル対象のファイル(files / include / exclude)と、compilerOptions に並ぶコンパイラオプションを 1 か所にまとめる。tsc を入力ファイル無しで実行すると、カレントディレクトリから親へ遡って tsconfig.json を探し、最初に見つけたものを読む。
詳細
トップレベルには compilerOptions のほか、設定を継承する extends、対象を絞る include / exclude、複合ビルド用の references が置ける。
読むのは tsc だけではない。
エディタの型チェック、ESLint の型情報つきルール、Vite や Jest のパス解決も同じファイルを参照するため、ここが実態とずれると「エディタでは通るのにビルドで落ちる」といった食い違いが起きる。
なお tsc にファイル名を直接渡したときは tsconfig.json は無視される。
よくある誤解
compilerOptions.paths を書けば実行時のモジュール解決まで変わる、と誤解されやすい。paths は型検査時にどう名前を解決するかの宣言であり、出力される JavaScript の import 文は書き換わらない。
実行時にも効かせるにはバンドラや実行環境側に同じ別名を設定する必要がある。
関連
パス別名の詳細は tsconfig paths、コンパイラ本体は tsc を参照。
設定漏れで起きる具体例は TypeScript で「Parameter implicitly has an 'any' type」(TS7006) が解決できない が近い。