#package #loader #registry #oci #version #content

wasm-pkg-loader

Wasm 包加载器

5 个版本 (3 个重大更改)

0.4.1 2024年6月20日
0.4.0 2024年6月20日
0.3.0 2024年5月17日
0.2.0 2024年5月15日
0.1.0 2024年5月8日

#116 in WebAssembly

Download history 64/week @ 2024-05-03 144/week @ 2024-05-10 170/week @ 2024-05-17 9/week @ 2024-05-24 2/week @ 2024-05-31 2/week @ 2024-06-07 152/week @ 2024-06-14 520/week @ 2024-06-21 239/week @ 2024-06-28 175/week @ 2024-07-05 160/week @ 2024-07-12 819/week @ 2024-07-19 806/week @ 2024-07-26 124/week @ 2024-08-02

1,969 每月下载量
用于 wkg

Apache-2.0 WITH LLVM-exception

70KB
1.5K SLoC

Wasm 包加载器

为只读消费者提供的最小包注册表接口。

命令行界面

wasm-pkg-loader 主要用作库,但也提供了一个简单的 CLI 接口

$ wasm-pkg-loader wasi:preview1-command-adapter
Package: wasi:preview1-command-adapter
Versions:
  0.2.0
$ wasm-pkg-loader wasi:preview-command-adapter fetch 0.2.0
Fetching release details for wasi:[email protected]...
Downloading content to "wasi-preview1-command-adapter-0.2.0.wasm"...

运行测试

端到端测试需要

  • 在您的本地 PATH 中可用的 oras CLI 工具

  • 运行在 localhost:5000 的符合 OCI Distribution Spec 的注册表。可以使用以下命令运行临时注册表:

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

端到端测试本身位于单独的 tests/e2e

$ cd tests/e2e
$ cargo run

发布到 OCI

在开发发布者工具之前,可以使用 oras CLI 工具发布包

注意:此过程的详细信息(如 MIME 类型)仍在开发中。

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

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

注意:某些注册表实现可能需要 --image-spec v1.0 才能与此示例兼容。

依赖项

~28–46MB
~708K SLoC