5 releases

0.0.6 Apr 4, 2024
0.0.5 Apr 2, 2024
0.0.4 Mar 22, 2024
0.0.2 Jan 26, 2024

#943 in WebAssembly

Download history 31/week @ 2024-07-28 6/week @ 2024-09-22 3/week @ 2024-09-29

314 downloads per month

Apache-2.0

50KB
1.5K SLoC

Warg Loader

A minimal Warg Package Registry interface for read-only consumers.

CLI

warg-loader is intended to be used primarily as a library, but it also provides a simple CLI interface:

$ warg-loader wasi:preview1-command-adapter
Package: wasi:preview1-command-adapter
Versions:
  0.2.0
$ warg-loader wasi:preview-command-adapter fetch 0.2.0
Fetching release details for wasi:preview1-command-adapter@0.2.0...
Downloading content to "wasi-preview1-command-adapter-0.2.0.wasm"...

Running Tests

The e2e tests require:

  • The oras CLI tool to be available in your local PATH

  • An OCI Distribution Spec-compliant registry to be running at localhost:5000. An ephemeral registry can be run with:

    $ docker run --rm -p 5000:5000 distribution/distribution:edge
    

The e2e tests themselves are in the separate tests/e2e crate:

$ cd tests/e2e
$ cargo run

Publishing to OCI

Until publisher tooling is developed, the oras CLI tool can be used to publish packages:

Note: The details of this process (like MIME type) are still being worked on.

$ oras push \
    "${OCI_REGISTRY}/${WARG_NAMESPACE}/${PACKAGE_MAME}:${SEMVER}" \
    "${WASM_FILE}:application/wasm"

# e.g. to push `component.wasm` as "my-namespace:my-pkg@1.0.0" to `localhost:5000`:
$ oras push \
    localhost:5000/my-namespace/my-pkg:1.0.0 \
    component.wasm:application/wasm

Note: Some registry implementations may require --image-spec v1.0 for compatibility with this example.

Dependencies

~27–44MB
~745K SLoC