TypeScript の .d.ts
ファイルを管理する tsd
コマンドが非推奨になったみたいです。 typings
というツールが十分使えるようになったから、だそうです。
簡単に試してみました。
インストール
$ npm install -g typings
npm install
で普通にインストールできます。
普通に使ってみる
まずは適当なライブラリの型定義ファイルを検索してインストールしてみます。
$ typings search bluebird
レジストリは github.com/typings/registry にあります。デフォルトではここの npm
ディレクトリを見るらしいです。
レジストリにあるのは JSON ファイルで、実際の定義ファイルは他のレポジトリのものが指定されています。
見つかった定義をインストールするには typings install
を使います。
$ typings install -S sinon
--save
-S
オプションと --save-dev
-D
オプションを指定すると typings.json
の dependencies
t devDependencies
に保存してくれます。 npm
などと同じように $ typings install
とだけすると依存する定義ファイルをすべてインストールしてくれます。
既存の定義ファイルを管理する
レジストリにある定義は数が少ないです。既存の定義ファイルを使いたい場合は場所を指定します。
// a.d.ts
declare function f(x: number): number;
$ typings install -S file:a.d.ts --name a
file:
で始まる場合はローカルにあるファイルを typings
ディレクトリ以下に変換して配置します。 dtsm
にはない機能です。
変換された結果はこんな感じになります。
// Compiled using typings@0.6.6
// Source: a.d.ts
declare module 'a' {
function f(x: number): number;
}
declare module 'a' { ... }
でくくってくれます。これが嫌だったり declare module 'aaa' { ... }
の形式で定義ファイルが書かれている場合は --ambient
オプションをつけます。
$ typings install -S --ambient file:a.d.ts
この場合変換はされず、 dependencies
と devDependencies
ではなく ambientDependencies
と ambientDevDependencies
として他と区別されて typings.json
に記録されます。
DefinitelyTyped の定義ファイルをインストールする
DefinitelyTyped にある定義ファイルも検索とインストールができます。 --source dt
オプションか --ambient
オプションで DefinitelyTyped が検索ソースになります。
$ typings search --ambient react
DefinitelyTyped にある定義ファイルは declare module 'aaa' { ... }
の形式なのでインストール時に --ambient
を指定する必要があります。
$ typing install --source dt --ambient react
--ambient
を指定するとデフォルトで DefinitelyTyped から探してしてくれます。
インストールした定義ファイルが他の定義ファイルを読み込んでいる場合、画面にそのことが表示されるだけで実際にはインストールしてくれません。その場合自分でインストールする必要があるみたいなので、注意が必要です。
定義ファイルをつかう
インストールした定義ファイルをまとめたものが typings/main.d.ta
にできています。/// <reference path="..." />
か tsconfig.json
の files
に main.d.ts
を書き加えれば使えます。
main.d.ts
の隣に browser.d.ts
もあります。 こっちはブラウザ向けです。 使わない場合 tsconfig.json
の exlude
に加えておく必要があるかもしれません。
まとめ
typings
は.d.ts
ファイルを管理するツールtypings search
で検索typings install
でインストール--ambient
オプションで DefinitelyTyped の定義ファイルもインストールできる