この記事の概要
見よう見まねでtsconfig.jsonの設定をしていたので今まで何回か無駄なコードを書いてしまっていました。
これから新しくtsconfig.jsonを作成する人が少しでも少ないコード量で設定を終えられる助けになれば良いな、と思って書いた記事です。
include編
無駄に書いていたコード
だいたいいつもこんな感じで書いていました。
{
"include": ["src/**/*.ts", "src/**/*.tsx"]
}
これで良かった
拡張子を指定しないで、ひとまとめ。
{
"include": ["src/**/*"]
}
説明
デフォルトでは.tsと.tsxと.d.tsのみをサポートしています。
allowJSを指定すると.jsと.jsxもincludeされますが、いつもfalseにしていたにも関わらず.tsや.tsxを記載していました。
明示的になるので悪いことも無いと思いますが、知っててやるのと知らないでやるのには大きな隔たりがあるよな……と感じています。
exclude編
無駄に書いていたコード
プロジェクトによって多少違いますが、だいたいこんな感じでした。
{
"compilerOptions": {
"outDir": "dist",
// その他色々な設定
},
"exclude": ["dist", "node_modules"]
}
これで良かった
記載そのものが不要。
{
"compilerOptions": {
"outDir": "./dist",
// その他色々な設定
},
}
説明
デフォルトでexcludeされるのはnode_modules, bower_components, jspm_packages, そしてoutDirです。
そのため例に挙げたような設定であればまさにデフォルトそのまま。
記載する必要がありません。
こちらも明示的になるので悪いとは思いませんが、デフォルトを知っていればあえて指定することもないのかな?と思います。