d.ts変換プログラム

2019-07-23 14:26:38

 WebPackで作ったTypeScriptのフレームワークはそのままだと、モジュール形式を扱える環境でしか使えません。これを非モジュール環境に持って行くためには、少々細工が必要になります。


 単純なプログラムの部分はちょっとした修正でなんとかなるのですが、最後の壁になっていたのがTypeScriptの定義ファイル「d.ts」です。これをモジュールを前提とした宣言から、非モジュールの形に変換しなければなりません。

 最初は字句解析で何とかしようと思っていましたが、TypeScriptにはCompilerAPIというのがあって、公式で解析機能が付いています。ということでこちらを使い、モジュール定義やインポートの削除、名前領域の追加などの機能を付けました。

 ということでこれをJWF(JavaWindowFramework)のWebPack上に組み込んで、非モジュール版のd.tsを自動変換させるようにしました。変換コードはこれです。