Definitely Typed の活用
広大な JavaScript エコシステムにある NPM パッケージのすべてに、あらかじめ型定義(Types)が用意されているわけではありません。
プロジェクトがすでにメンテナンスされていなかったり、作者が TypeScript に関心を持っていなかったり、あるいは型定義を作成する時間がなかったりといった様々な理由が存在します。
1. TypeScript で型定義のない NPM パッケージを使用する
型定義のない NPM パッケージを TypeScript で使用しようとすると、型情報が欠落しているため型安全(Type-safe)を維持することができません。
このようなパッケージを TypeScript 開発者が円滑に使用できるようにするために、コミュニティによって維持されている Definitely Typed というプロジェクトが存在します。
Definitely Typed は、型定義を持たない NPM パッケージのための TypeScript 定義ファイルを一元管理する巨大なレポジトリ(Repository)を提供するプロジェクトです。
2. 型定義パッケージのインストール方法
Definitely Typed が提供する型定義を使用するには、@types/ というプレフィックス(接頭辞)が付いたパッケージをインストールします。
例:jQuery の型定義を導入する
# @types/パッケージ名 という形式でインストールします
npm install --save-dev @types/jquery通常、この型定義パッケージ(Declaration package)をインストールした後は、特別な追加設定を行う必要はありません。
TypeScript は、該当するパッケージをコード内で使用(import)する際に、インストールされた型定義を自動的に検出(Auto-detect)して適用してくれます。これにより、古いライブラリや JavaScript 専用のライブラリであっても、強力な補完機能や型チェックの恩恵を受けることが可能になります。