37
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

Organization

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

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

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
37
Help us understand the problem. What are the problem?