67 个版本 (22 个重大更改)

0.216.0 2024 年 8 月 22 日
0.215.0 2024 年 7 月 31 日
0.214.0 2024 年 7 月 16 日
0.202.0 2024 年 3 月 26 日
0.0.0 2022 年 6 月 28 日

#1465WebAssembly

Download history 1604/week @ 2024-05-04 1587/week @ 2024-05-11 1512/week @ 2024-05-18 1730/week @ 2024-05-25 1306/week @ 2024-06-01 1527/week @ 2024-06-08 2577/week @ 2024-06-15 3123/week @ 2024-06-22 3266/week @ 2024-06-29 2265/week @ 2024-07-06 2243/week @ 2024-07-13 2699/week @ 2024-07-20 3317/week @ 2024-07-27 1820/week @ 2024-08-03 2699/week @ 2024-08-10 2719/week @ 2024-08-17

每月 11,135 次下载
用于 16 个 Crates5 个直接使用)

Apache-2.0…

2MB
38K SLoC

wasm-compose

一个 Bytecode Alliance 项目

一个 WebAssembly 组件组合库。

Crates.io version Download docs.rs docs

概述

重要:由于 wac 的推出,wasm-compose 已被弃用。

wasm-compose 是一个库,用于从其他 WebAssembly 组件中组合 WebAssembly 组件

它作为 wasm-toolscompose 子命令提供。

用法

要组合一个组件,运行 compose 命令

wasm-tools compose -o composed.wasm component.wasm

这将自动在输入组件相同的目录中搜索依赖项,即 component.wasm,并创建一个名为 composed.wasm 的组合组件。

任何未解决的依赖项将作为组合组件中的导入项保留。

配置

有关配置文件的更多信息,请参阅 配置 wasm-compose

工作原理

wasm-compose 从输入组件开始,然后处理组件中的每个实例导入项。

对于每个实例导入项,wasm-compose 将查阅其配置以确定如何定位具有与导入项相同名称的依赖项。

如果在配置中没有指定依赖项,wasm-compose 将在配置的搜索路径中查找匹配的组件文件。

如果找不到满足依赖项的组件,它将保留为组成组件中的实例导入;组成组件至少必须满足一个依赖项。

wasm-compose 然后对已找到的所有依赖组件的传递导入重复此过程。

默认情况下,组成组件将在组成组件中直接定义传递组件依赖项;然后以拓扑顺序实例化依赖项。

最后,实例化输入组件,并将所有导出项从组成组件中导出。

示例

有关将 WebAssembly 组件一起组成的完整示例,请参阅 示例 目录。

许可

此项目根据 Apache 2.0 许可证和 LLVM 异常许可。有关详细信息,请参阅 LICENSE

贡献

除非您明确声明,否则您提交给此项目的任何贡献,根据 Apache-2.0 许可证定义,将按上述方式许可,没有其他条款或条件。

依赖项

~8MB
~140K SLoC