scales.画像はTypeScript最高っていう顔です。JavaScriptに触れ始めてから13年ほど経ちますが、TypeScriptに触れ始めたのは4年前──。TypeScriptコミッターでも初期のバージョンからずっと動向を追いかけていたわけでもありませんが、この4年間ほぼ毎日TypeScriptをWebアプリケーション開発で触れてきたので、個人的ベストプラクティスをまとめてみます。経験則ではありますが、公私ともに小規模中規模問わず様々なプロジェクトで通用してきたやり方であるため、多くのプロジェクトでも通用する開発手法であると思います。トランスパイラの特性を知る/正しく選択するTypeScriptはWebブラウザ上で動かないため、JavaScriptにトランスパイル1しなければいけません。トランスパイルは可能です。Re-exports問題をはらむ同じTypeScriptという言語を利用する場合においても、トランスパイラによってTypeScript自体の機能制限がかかったり、思わぬトラブルを招く場合があります。それぞれのトランスパイラの特徴を踏まえた上で、それにより生じる問題も見ていきましょう。tscTypeScriptの開発元であるMicrosoft純正のTypeScriptトランスパイラです。パッケージをインストールする必要がありますが、それに同梱されています。公式ツールなだけあって最も早く最新バージョンのTypeScriptに対応したり、言語すべての機能を利用することができる一方で、バンドラではないためminifyやchunkの設定はできません。Aliasesの未解決や旧ESへの互換性が不完全であることが欠点として挙げられます。オプションで、トランスパイル後のECMAScriptバージョンを指定することができます。Babelのように後方互換性のあるコードを生成できるわけです。プロダクト開発をすることは難しい印象があります。外部パッケージを取り込む場合を除き、インポート対象のパスを相対パスで記述しなければいけません。ディレクトリを巡るパスを記述するのは苦行でしかありません。