#cargo-manifest #cargo #lean #cargo-toml #cargo-subcommand #crates #cli

bin+lib cargo-diet

通过计算 Cargo.toml 的最优包含指令,使 crate 变得轻量

15 个稳定版本

1.2.7 2023 年 7 月 24 日
1.2.5 2023 年 3 月 17 日
1.2.4 2022 年 4 月 14 日
1.2.3 2021 年 10 月 26 日
0.0.0 2020 年 3 月 18 日

#173Cargo 插件

每月 31 次下载

MIT 许可证

31KB
659

Rust Crates.io

cargo dietThe Lean Crate Initiative 的配套程序,帮助计算 Cargo.toml 文件中的 'optimal' include 指令。这里的 'optimal' 指的是在保留构建代码和填充 crates.io 以及 lib.rs 的着陆页面上的有用信息的同时,crate 可以达到的最小大小。

请注意,这种有偏见的做法不会阻止您根据喜好和需求调整初始的 include 指令,而不会在后续调用中干扰您。

asciicast

用法

  • 通过编辑 Cargo.toml 文件就地使 crate 变得轻量

    • cargodiet
  • 模拟如何编辑 Cargo.toml 文件以获得轻量级的 crate

    • cargo diet -ncargo diet --dry-run
  • 强制计算 include 指令,即使已经存在

    • cargo diet -rcargo diet --reset-manifest
    • 还可以与 --dry-run 一起使用,例如在 cargo diet --reset-manifest --dry-runcargo diet -rn
  • 防止软件包超过一定的包大小(最好在CI上使用)

    • cargodiet -n --包大小限制50KB
    • 请参阅CI的安装说明,以便快速下载预构建的二进制文件

安装

使用Cargo

使用最新版本的 cargo(可以使用 rustup 获取),以下命令应该可以正常工作

cargo install cargo-diet

使用GitHub发布

预构建的二进制文件可以在本仓库的 发布 部分找到。

您可以使用 安装脚本来自动化此过程

curl -LSfs https://raw.githubusercontent.com/the-lean-crate/cargo-diet/master/ci/install.sh | \
    sh -s -- --git the-lean-crate/cargo-diet

在CI上用于控制软件包的大小

假设测试正在Linux机器上运行,以下脚本将安装 cargo diet 的最新版本,并使用标志运行它以断言软件包的大小不超过 10KB,这个值可以自由选择。

这样,如果其中一个已经包含的目录中有新的和可能意外的文件,就会很容易得到警告。

curl -LSfs https://raw.githubusercontent.com/the-lean-crate/cargo-diet/master/ci/install.sh | \
    sh -s -- --git the-lean-crate/cargo-diet --target x86_64-unknown-linux-musl

cargo diet --dry-run --package-size-limit 10KB

还可以查看 如何在GitHub Actions中使用

开发

运行测试

make journey-tests

了解其他目标

make

依赖项

~9–20MB
~278K SLoC