tsdが非推奨になったので代わりに推奨されているtypingsに移行した。typingsについてはすでに詳細な記事がQiitaでも書かれているのでこちらを見ると良い。
本記事ではtsconfig.jsonの注意点についてだけ補足として書いておく。
tsconfig.jsonの注意点
tsconfig.jsonでexclude
を使ってビルドしている場合は、適切に設定しないとerror TS2300: Duplicate identifier
が大量に発生してしまうので注意。原因は、typingsで型定義をインストールすると、typings/browser/...
とtypings/main/...
にそれぞれ型定義がインストールされるため、二重に自動的に読み込まれてDuplicate identifier
となってしまうのである。
解決策としてはtypingsのREADMEに書かれているとおり、exclude
で使わない方の型定義を除外してやればOK。例えばフロントエンド向けの開発の場合は、typings/browser.d.ts
の使用を推奨とあるので、下記のようにexclude
設定にtypings/main.d.ts
、typings/main
を新たに追加してやれば良い。
{
"compilerOptions": {
...
},
"exclude": [
"typings/main.d.ts",
"typings/main",
"node_modules"
]
}
また、tsconfig.jsonでexclude
ではなくfiles
を使っている場合は、逆にfiles
に使う方の型定義を指定すれば良い。
{
"compilerOptions": {
...
},
"files": [
"typings/browser.d.ts",
...
]
}