新しいJavaScript実行環境であるdenoでは、パッケージ管理を行いません。ネットワーク上からのファイルも読み込み可能で、実行時に取得します。これは便利な仕組みですが、場合によってはパッケージ管理したいでしょう(特にバージョンを固定化したい、キャッシュしたい場合など)。 そこで使えるのがTrexです。JSONファイルを使ってパッケージ管理を行います。

Trexの使い方

ファイルの内容は次のようになります。

$ cat import_map.json 
{
  "imports": {
    "fmt/": "https://deno.land/std/fmt/",
    "fs/": "https://deno.land/std/fs/",
    "http/": "https://deno.land/std/http/"
  }
}

これは一から作るのではなく、次のようなコマンドで生成されます。

Trex install --map fs http fmt

後は実行時にインポートファイルとして指定します。

$ deno run --allow-net --importmap=import_map.json --unstable server.ts

Trexを使うとimport時にオンライン上のファイルを指定しなくて済むようになります。ローカルのファイルを使う際にも利用できそうです。依存ファイル一覧なども出せるので、プロジェクトの全体像把握にも役立つでしょう。

TrexはTypeScript製のオープンソース・ソフトウェア(MIT)です。

crewdevio/Trex: Package Manager like npm for deno ?‍?