Repolode
vercel-labs

vercel-labs/scriptc

Node.jsなしで動作するネイティブ実行ファイルやWebAssemblyを生成する実験的なTypeScript/JavaScriptコンパイラ。

スター
6,238
フォーク
191
未解決の Issue
56
最終コミット
昨日

これは何?

scriptcはTypeScriptとJavaScriptをネイティブ実行ファイルやWebAssemblyにコンパイルします。TypeScriptコンパイラがチェックした型情報を使ってマシンコードを生成するため、生成物はNode.jsをインストールせずに実行できます。プログラムがインポートするnpmパッケージも、プログラムとともに実行ファイルへコンパイルされます。

このプロジェクトは実験段階で、JavaScript、TypeScript、Node.js APIの一部をサポートしています。コンパイルできないコードはビルド時に診断情報として報告され、可能な場合は書き換えのヒントも表示されます。`scriptc coverage`コマンドを使うと、ビルド前に既存のプログラムがどの程度コンパイル可能かを確認できます。

コンパイラはnpm経由でインストールでき、macOS、Linux、Windowsで動作します。実行ファイルのビルドにはリンカーと、プラットフォームのSDKまたはsysrootが必要です。`node:http`など、サポート対象のNode APIはネイティブランタイム向けにコンパイルされます。

主な機能

  • 01TypeScriptとJavaScriptをネイティブ実行ファイルにコンパイルします。
  • 02WebAssembly(WASIモジュール)にコンパイルします。
  • 03TypeScriptの型情報を使ってマシンコードを生成します。
  • 04インポートしたnpmパッケージを出力バイナリにバンドルします。
  • 05サポートされていないコードをビルド時に診断情報とともに報告します。
  • 06ビルド前に互換性を確認できるcoverageコマンドを備えています。

ユースケース

  • Node.jsをインストールせずに実行できる単一バイナリとして、CLIツールを配布する。
  • 既存のTypeScriptプログラムのうち、どの程度をネイティブコードにコンパイルできるか確認する。
  • 埋め込み用のWASIモジュールをTypeScriptからビルドする。
  • Node.js風の小規模なHTTPサーバーをスタンドアロン実行ファイルとして動かす。

クイックスタート

  1. 1

    npmでコンパイラーをグローバルにインストールする(Node.js 24以降)

    npm install -g scriptc
  2. 2

    短いプログラムを記述したhello.tsを作成する(ファイルの内容はREADMEを参照)

  3. 3

    プログラムを直接コンパイルして実行する

    scriptc run hello.ts
  4. 4

    スタンドアロン実行ファイルをビルドする

    scriptc build hello.ts -o hello >/dev/null

使う前に知っておきたいこと

  • 実験的な機能です。サポートされるのはJavaScript、TypeScript、Node.js APIの一部に限られます。
  • 実行ファイルのビルドには、リンカーとプラットフォームSDKまたはsysrootが必要です。
  • npmパッケージのサポートは一部に限られます。

トピック

よくある質問

scriptc とは?
Node.jsなしで動作するネイティブ実行ファイルやWebAssemblyを生成する実験的なTypeScript/JavaScriptコンパイラ。 scriptcはTypeScriptとJavaScriptをネイティブ実行ファイルやWebAssemblyにコンパイルします。TypeScriptコンパイラがチェックした型情報を使ってマシンコードを生成するため、生成物はNode.jsをインストールせずに実行できます。プログラムがインポートするnpmパッケージも、プログラムとともに実行ファイルへコンパイルされます。
scriptc は無料で使えますか?ライセンスは?
scriptc は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
scriptc は今もメンテナンスされていますか?
活発にメンテナンス中。scriptc の最終コミットは 2026年10月19日 です。
scriptc は何に使えますか?
Node.jsをインストールせずに実行できる単一バイナリとして、CLIツールを配布する。 既存のTypeScriptプログラムのうち、どの程度をネイティブコードにコンパイルできるか確認する。 埋め込み用のWASIモジュールをTypeScriptからビルドする。 Node.js風の小規模なHTTPサーバーをスタンドアロン実行ファイルとして動かす。
scriptc のインストール方法は?
npmでコンパイラーをグローバルにインストールする(Node.js 24以降): npm install -g scriptc 短いプログラムを記述したhello.tsを作成する(ファイルの内容はREADMEを参照) プログラムを直接コンパイルして実行する: scriptc run hello.ts スタンドアロン実行ファイルをビルドする: scriptc build hello.ts -o hello >/dev/null
scriptc はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/vercel-labs/scriptc

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト