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",
...
]
}