TypeScript tsconfig.json の include オプション

tsconfig.json の include オプションを使うことで、コンパイル対象のディレクトリやファイルを指定することができます。

例えば以下を指定した場合は、src ディレクトリ配下のすべてのファイルがコンパイル対象になります。

"include": [
  "src/**/*"
]

通常はこの設定はした方が良いと思います。

というのも、jestなどのテストファイルを、実際のソースコードと同じディレクトリ配下に配置している場合に、それらのテストコードもコンパイルされるなど、予期しない無駄なコンパイルが実行されることがあるためです。

なお、指定してあるパターンに拡張子について書かれていない場合は以下のような動きになります。

  • デフォルトでは.ts, .tsx, .d.tsが対象
  • allowJsがtrueの場合は .js, .jsx も対象

If a glob pattern doesn’t include a file extension, then only files with supported extensions are included (e.g. .ts.tsx, and .d.ts by default, with .js and .jsx if allowJs is set to true).

https://www.typescriptlang.org/tsconfig#include