INDIE INDEX

リリース

wasm-pack とは|Rust のコードをブラウザ向けのパッケージにするツール

公開 2026-09-18更新 2026-09-18wasm-pack

wasm-pack は、Rust で書いたコードをブラウザの中で動く形式に変換し、JavaScript から呼べるパッケージにまとめるコマンドのツールです。まとめたものは npm の登録簿へ公開できます。

分類
ビルド・配信・ストア提出の補助
制作の流れ
リリース
日本語対応
日本語非対応
費用
無料(Apache-2.0 と MIT の2つ)
公式サイト
https://wasm-bindgen.github.io/wasm-pack/確認日 2026-09-18
このページの目次
  1. wasm-pack の概要
  2. wasm-pack の特徴
  3. wasm-pack の費用とライセンス
  4. 情報源

wasm-pack の概要

wasm-pack(ワズムパック)は、Rust で書いたコードをブラウザの中で動く形式に変換し、JavaScript から呼べるパッケージにまとめるコマンドのツールです。公式サイトは、掲げる一文を「your favorite rust -> wasm workflow tool!(お気に入りの、Rust から wasm への作業のツール)」としています。

このツールが目指すのは、Rust から作った WebAssembly を、ブラウザや Node.js で JavaScript と行き来させながら扱うための1か所になることです。作ったパッケージは npm の登録簿へ公開でき、webpack のように、すでに使っている作業の流れの中で、ほかの JavaScript のパッケージと並べて使えます。

WebAssembly とは

WebAssembly は、ブラウザの中で機械に近い形のプログラムを動かすための形式です。ブラウザでそのままは動かない言語で書いたものを、この形に変換して動かします。

公式のリポジトリは、この企画を ashleygwilliams が始め、いまは drager が保守していると書いています。

【公式】https://wasm-bindgen.github.io/wasm-pack/

wasm-pack の特徴

wasm-pack はゲームを描く機能を持ちません

wasm-pack が受け持つのは、Rust のコードをブラウザ向けの形にまとめて配れるようにする部分です。ゲームの中身は、Rust 側と JavaScript 側で作り手が組みます。

wasm-pack の4つの命令

公式のリポジトリは、命令を4つ挙げています。

命令 何をするか
new 雛形から新しい Rust と wasm の企画を作ります
build Rust のクレートから、npm 向けの wasm のパッケージを作ります
test ブラウザでの試験を走らせます
packpublish パッケージを1つの書庫にまとめ、登録簿へ公開します

記録の出し方も決まっていて、RUST_LOG という環境変数で細かさを変えます。

wasm-pack が作るもの

wasm-pack buildpkg というフォルダを作ります。中に入るのは、wasm の実行ファイル、JavaScript の包み、README、そして package.json です。このフォルダは組み立ての結果なので、既定で版の管理の対象から外されます(--no-gitignore で戻せます)。

書き出し先の名前は --out-dir、ファイル名の頭は --out-name で変えられます。

wasm-pack の書き出しの当て先

--target を変えると、書き出される JavaScript と、wasm の読み込み方が変わります。

当て先 書き出されるもの
指定なし/bundler webpack のようなまとめ上げのツールと組み合わせる形。package.jsonmodule の鍵を使います
nodejs require で読み込む形(CommonJS のモジュール)。package.jsonmain の鍵を使います
web ブラウザで ES のモジュールとしてそのまま読み込める形。wasm の読み込みは自分で書きます
no-modules web と同じくブラウザ向けですが、ページに直に置いて全体の状態を変える形です。web ほど多くの機能には対応していません
deno Deno で ES のモジュールとしてそのまま読み込める形

wasm-pack の組み立ての構え

build には3つの構えがあります。何も指定しなければ --release になります。

構え 不具合の検出 不具合を追う情報 最適化 公式ドキュメントが挙げる使いどころ
--dev あり あり なし 開発と不具合の追跡
--profiling なし あり あり 処理の速さを測って調べるとき
--release なし なし あり 本番へ出すとき

このほか、--scope でパッケージ名に所属の印を付けられます。--mode では、wasm-bindgen を入れずに組み立てるかどうかを選べます。cargo build にそのまま渡したい指定は、命令の末尾に足します。

wasm-pack を使う前に要るもの

公式ドキュメントは、先に wasm-pack 本体を入れて wasm-pack -V で版が出ることを確かめ、次に Rust を入れて rustc -V が 1.30.0 以上を返すことを確かめるよう書いています。npm へ公開するなら、npm も入れて設定します。

公式サイトの配布の入口は、2026年5月14日に出た 0.15.0 を案内しています。

wasm-pack の費用とライセンス

wasm-pack は無料です。公式のリポジトリは、ライセンスを Apache-2.0 と MIT の2つとしています。

MIT ライセンスとは

MIT ライセンス(MIT License)は、著作権の表示とライセンス文を残せば、商用も含めて自由に使ってよいとする短い決まりです。

項目 内容
費用 無料
ライセンス Apache-2.0 と MIT の2つ
0.15.0(2026年5月14日)
前提 Rust 1.30.0 以上
保守しているところ drager(企画を始めたのは ashleygwilliams)

公式の資料の置き場は動いています。rustwasm.github.io/docs/wasm-pack/ の頁には、その場所ではもう保守していないという断りが入り、いまの置き場として wasm-bindgen.github.io/wasm-pack/ が案内されています。公式のリポジトリの所在も wasm-bindgen/wasm-pack に変わっています。

情報源

wasm-pack のページに出た言葉

wasm-pack と同じ分類のほかのツールビルド・配信・ストア提出の補助 全23件

ビルド・配信・ストア提出の補助の一覧を見る