おすすめのパッケージ・ツール

ぼちぼち追加。まだ実戦投入していないものも多数あります。

TypeScript Playground

ブラウザでTypeScriptが試せるPlaygroundにも何種類かありますが、現在は公式のPlaygroundが一番おすすめです。以前は本家よりも強力というのを売りにしていたオープンソースのサイトもありました1が、v2になり、処理系のバージョン設定、細かいビルドオプションの設定など、この別実装にあった機能はすべて本家にも実装されました。また、本書執筆時点ではV3となった最新のPlaygroundが利用できるようになりました。こちらはビルド結果の.d.tsファイルの結果も確認することができ、書いたコードがどのようにTypeScript処理系に解釈されたのかを確認するのも簡単になりました。

注釈

これらのサイトを使うということは、ソースコードを外部のサービスに送信することになります。実際にこれらのサービスがサーバーにデータを保存はしていないはずですが、普段からの心がけとして、業務で書いた外部公開できないコードを安易に貼り付けるようなことはしないようにしてください。

1

https://typescript-play.js.org

ビルド補助ツール

Rush

ひとつのGitリポジトリの中に、多数のTypeScriptベースのパッケージを入れて管理するための補助ツール。次のサンプルを見ると、このツールを使った結果がわかります。

https://github.com/microsoft/web-build-tools

  • appsフォルダ: ウェブアプリケーションが格納される

  • librariesフォルダ: npm installで使うライブラリが格納される

  • toolsフォルダ: npm installで使うコマンドラインツールが格納される

API extractor

ドキュメントジェネレータ。パッケージのリファレンスマニュアルが作れる。

cash

  • npmパッケージ: cash

  • TypeScript型定義:@types/cash

UnixシェルコマンドをNode.jsで再実装したもの。WindowsのPowerShellがrmなどのエイリアスを提供してしまっている(しかも rm -Force -Recurse のようにオプションが違う)が、cashを使うとクロスプラットフォームで動くファイル操作が行える。npm scriptsでも利用できるが、プログラム中からも使えるらしい。

課題

cashにexportがあるので、cross-envはいらないかも?

cross-env

  • npmパッケージ: cross-env

  • TypeScript型定義: CLIツールなので不要

WindowsとLinux/macOSで環境変数変更を統一的に扱えるパッケージ。

typesync

  • npmパッケージ: typesync

  • TypeScript型定義: CLIツールなので不要

インストールされているパッケージの型定義パッケージを自動取得してくるCLIツール。

コマンドラインツール用ライブラリ

convict

  • npmパッケージ: convict

  • TypeScript型定義: @types/convict

コマンドライン引数、設定ファイル、環境変数などを統合的に扱える設定情報管理ライブラリ。型情報付きで設定を管理できるし、設定内容のバリデーションもできる。TypeScriptで使うとさらに便利。

@microsoft/ts-command-line

TypeScript用のコマンドライン引数ライブラリです。Microsoft社純正。

アルゴリズム関連のライブラリ

p-map

  • npmパッケージ: p-map

  • TypeScript型定義: 同梱

並列数を制御しながら多数の仕事を平行で処理できる Promise.all().