5个版本
0.2.2 | 2023年4月11日 |
---|---|
0.2.1 | 2023年4月10日 |
0.2.0 | 2023年4月10日 |
0.1.0 | 2023年4月7日 |
#1322 in WebAssembly
95 每月下载量
在 depit-cli 中使用
54KB
1K SLoC
描述
depit
是一个简单的 WIT 依赖管理二进制文件和 Rust 库,用于管理您的 wit/deps
。其主要目标是确保您的 wit/deps
中的内容与您的依赖清单(默认:wit/deps.toml
)和依赖锁(默认:wit/deps.lock
)保持一致。
清单
依赖清单是一个将依赖名称映射到其源规范的 TOML 编码的表。在其最简单形式中,源规范是包含一个 wit
子目录的目录树的 gzipped tarball 的 URL 字符串,该子目录包含 wit
文件。
示例
# wit/deps.toml
http = "https://github.com/WebAssembly/wasi-http/archive/6c6855a7329fb040a48ecdbad1765be8e694416c.tar.gz"
io = "https://github.com/rvolosatovs/wasi-io/archive/v0.1.0.tar.gz"
logging = "https://github.com/WebAssembly/wasi-logging/archive/d106e59b25297d0496e6a5d221ad090e19c3aaa3.tar.gz"
poll = "https://github.com/WebAssembly/wasi-poll/archive/3ff76670b0d43bc7c8a224c2e65880a963416835.tar.gz"
random = "https://github.com/WebAssembly/wasi-random/archive/28970c50c3797c0087fa75a15e88bfa39b91e0a0.tar.gz"
源规范还可以是一个具有以下字段的结构
url
- 与 URL 字符串相同的格式sha256
- (可选)URL 内容的 hex 编码 sha256 摘要sha512
(可选)URL 内容的 hex 编码 sha512 摘要
示例
# wit/deps.toml
[logging]
url = "https://github.com/WebAssembly/wasi-logging/archive/d106e59b25297d0496e6a5d221ad090e19c3aaa3.tar.gz"
sha256 = "4bb4aeab99e7323b30d107aab78e88b2265c1598cc438bc5fbc0d16bb63e798f"
sha512 = "13b52b59afd98dd4938e3a651fad631d41a2e84ce781df5d8957eded77a8e1ac4277e771a10225cd4a3a9eae369ed7e8fee6e26f9991a2caa7c97c4a758b1ae6"
用法
注意,depit
假定它对 wit/deps
拥有完全控制权,因此它可以在任何时候删除和修改 wit/deps
的内容!
交互式
使用 depit
或 depit lock
使用 wit/deps.toml
清单和 wit/deps.lock
(如果不存在则创建)来填充 wit/deps
。
Rust
使用项目 build.rs
中的 depit::lock!
宏来自动锁定您的 wit/deps
。
请参阅包文档以获取更多高级用法
设计决策
depit
默认是懒惰的,并且只有在绝对必要时才会抓取/写入depit
假定从 URL 抓取的结果是确定的,即 URLdomain.com
的 GET 返回的内容必须始终完全相同。注意,您可以在清单条目中使用sha256
或sha512
字段来在这种情况下使缓存无效
依赖
~14–30MB
~469K SLoC