npm module に typescript の型定義がない時に、とりあえずビルドが通るようにする

ryutamaki
2 min readNov 15, 2017

--

Could not find declaration file for module

import した時に、typescript の型定義がない場合、取れる対策としては

  1. npm install --save-dev @types/package-name をためす
  2. 1がなければ、 declare module “package-name"; を含んだ .d.ts を自分で追加する

.d.ts をプロジェクトに追加するだけだと、 typescirpt が定義を読みこんでくれないので、 型定義を置く場所を決めて、 tsconfig.json の設定を修正する

  1. src/@types ディレクトリを作成(どこでも良い)
  2. .d.ts を1のフォルダ内に配置

tsconfig には typeRoots というプロパティがあり、これは型定義を探し始める root のディレクトリを決めるオプションです。デフォルトが @types になっているので、 自分の typescriptプロジェクト内に @types を追加することで自動的に .d.ts を探しにいってくれます

ここまでで、取り敢えず typescript のビルドが通るようになる。

ただし、 declare しただけなので、当然補完等は使えないのでそのあたりは徐々に自分で追加していく必要がある。

ある程度できてきたら、 pull request 送るといろんな人が幸せになるとおもう。

--

--