TL;DR
ライブラリとして作った WebAssembly Component などを配布するためのプロトコル。Bytecode Alliance が開発している。
仕組み
公式サイトによると、Warg は WebAssembly のパッケージのためのオープンソースのレジストリプロトコルで、まだ開発中である。インデックスを提供し、複数のレジストリにまたがる名前空間のパッケージを参照できるようにする。パッケージには、Component のようなコードと、WIT の world のようなインタフェースの定義の両方を含められる。
次の方針を掲げている。
- Component Model に合わせ、パッケージに標準的な名前とバージョンを付ける
- 独立したレジストリがそれぞれの名前空間を管理し、互いに参照できる
- パッケージの中身をどこにどう保存するかは決めない
- Certificate Transparency にならった「Package Transparency」で、サプライチェーンの安全性を高める
例
Warg を使えるレジストリには、wa.dev と、Bytecode Alliance が提供するリファレンス実装の WebAssembly Registry がある。