TypeScript を Go で動かす? microsoft/typescript-go プロジェクト徹底解説
TypeScript をネイティブに Go で動かすプロジェクト、microsoft/typescript-go について徹底解説します。どんなプロジェクトなのか?どうやってビルドするのか? どこまで動くのか?気になる情報をまとめました。
microsoft/typescript-go とは?
microsoft/typescript-go は、TypeScript コンパイラを Go でネイティブに実装するプロジェクトです。 TypeScript の開発元である Microsoft が公開しており、TypeScript のパフォーマンス向上や、新たなプラットフォームへの展開を目指しています。
なぜ TypeScript を Go で?
TypeScript は JavaScript にコンパイルされる言語です。 Go で実装することで、JavaScript ランタイムに依存せず、より高速で効率的なコンパイルが可能になります。
具体的には、このようなメリットが期待できます。
- 処理速度の向上: Go はコンパイル言語であり、一般的に JavaScript よりも高速に実行できます。
- プラットフォームの拡張: Go で実装することで、ブラウザだけでなく、サーバーサイドや組み込みシステムなど、様々な環境で TypeScript を利用できます。
ビルドと実行方法
プロジェクトをビルドして実行するには、以下の手順に従ってください。
- Go のインストール: Go 1.24 以降が必要です。 Go の公式サイトからダウンロードしてインストールしてください。
- Node.js と npm のインストール:
hereby
を実行するために必要です。 Node.js の公式サイトからダウンロードしてインストールしてください。 - リポジトリのクローン: 以下のコマンドでリポジトリをクローンします。 既にクローン済みの場合は、以下のコマンドで submodule を初期化します。
- 依存関係のインストール: 以下のコマンドで npm の依存関係をインストールします。
- ビルド: 以下のコマンドでプロジェクトをビルドします。
どこまで動く? 現在のステータス
プロジェクトは現在も開発中で、すべての TypeScript 機能を完全にサポートしているわけではありません。現状は以下のようになっています。
- 完了: プログラムの作成、Parsing/scanning、型解決、型チェック
- 開発中: Emit (JS output), Watch モード
- プロトタイプ: Language service (LSP)
- 未着手: Declaration emit, Build モード / プロジェクト参照, Incremental build, API, JavaScript-specific inference and JS Doc, JSX
今後の展望
このプロジェクトの最終目標は、typescript-go の内容を microsoft/TypeScript にマージすることです。そのため、typescript-go のリポジトリと issue tracker は最終的に閉鎖される予定です。
まとめ: TypeScript の未来に注目
microsoft/typescript-go は、TypeScript の未来を担う可能性を秘めたエキサイティングなプロジェクトです。現状はまだ開発段階ですが、今後の進展に期待しましょう。TypeScript エンジニアの方はぜひ一度触ってみることをオススメします。