Vercel、TypeScript→ネイティブコンパイラ「scriptc」公開
原題: Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary
なぜ重要か
JavaScriptエンジン不要のネイティブバイナリ生成は、CLIツールやサーバーレス環境での起動速度・配布コスト削減において業界の注目を集める技術的アプローチである。
Vercelの研究開発部門「vercel-labs」は、TypeScriptを直接ネイティブバイナリにコンパイルするツール「scriptc」をGitHubで公開した。生成されるバイナリにはNode.jsもV8もJavaScriptエンジンも含まれず、単体で動作する自己完結型の実行ファイルを生成する。公開からまもなくGitHub上で1,200以上のStarを獲得している。
Vercelの実験的プロジェクト「vercel-labs」は、TypeScriptをネイティブバイナリへ直接コンパイルするツール「scriptc」をオープンソース(Apache-2.0ライセンス)で公開した。
scriptcの最大の特徴は、出力バイナリにNode.jsやV8などのJavaScriptエンジンを一切含まない点にある。従来のPkg(Node.jsランタイムを丸ごと同梱)やDeno compileなどのアプローチとは異なり、TypeScriptコードを直接ネイティブコードへ変換することで、軽量かつ高速な実行ファイルを生成する。
リポジトリに掲載されたデモによれば、フィボナッチ数列を計算するTypeScriptコード(`fib.ts`)をコンパイルした結果、サイズわずか178KBの自己完結型ネイティブバイナリが生成され、実行時間は約2ミリ秒とされている。
利用方法はシンプルで、`scriptc run fib.ts`で直接実行、`scriptc build fib.ts`でバイナリをビルドできる。通常のTypeScriptコードをそのまま入力として使えるため、既存のコードベースとの親和性も高い。
リポジトリはGitHub上の「vercel-labs」組織配下で管理されており、公開直後から注目を集め、1,200超のStarを獲得している。現時点ではIssueが3件登録されているものの、Pull Requestはなく、初期段階のプロジェクトと位置づけられる。コードベースはTypeScriptで記述され、pnpmによるモノレポ構成を採用している。