LoginSignup
39
36

More than 5 years have passed since last update.

TypeScriptでtsdからtypingsへ移行した後のtsconfig.json

Posted at

tsdが非推奨になったので代わりに推奨されているtypingsに移行した。typingsについてはすでに詳細な記事がQiitaでも書かれているのでこちらを見ると良い。

本記事ではtsconfig.jsonの注意点についてだけ補足として書いておく。

tsconfig.jsonの注意点

tsconfig.jsonexcludeを使ってビルドしている場合は、適切に設定しないとerror TS2300: Duplicate identifierが大量に発生してしまうので注意。原因は、typingsで型定義をインストールすると、typings/browser/...typings/main/...にそれぞれ型定義がインストールされるため、二重に自動的に読み込まれてDuplicate identifierとなってしまうのである。

解決策としてはtypingsのREADMEに書かれているとおり、excludeで使わない方の型定義を除外してやればOK。例えばフロントエンド向けの開発の場合は、typings/browser.d.tsの使用を推奨とあるので、下記のようにexclude設定にtypings/main.d.tstypings/mainを新たに追加してやれば良い。

tsconfig.json
{
    "compilerOptions": {
        ...
    },
    "exclude": [
        "typings/main.d.ts",
        "typings/main",
        "node_modules"
    ]
}

また、tsconfig.jsonexcludeではなくfilesを使っている場合は、逆にfilesに使う方の型定義を指定すれば良い。

tsconfig.json
{
    "compilerOptions": {
        ...
    },
    "files": [
        "typings/browser.d.ts",
        ...
    ]
}
39
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
39
36