#deps #cargo #graph #rules #cargo-lock #lint #enforcing

app cargo-deplint

用于强制执行关于 crate 依赖图的规则的实用工具

1 个不稳定版本

0.1.0 2023年9月8日

#553 in Cargo 插件

Apache-2.0

12KB
236

cargo-deplint

用于强制执行关于 crate 依赖图的规则的实用工具。

cargo deplint 可以使用 cargo install 安装。生成的二进制文件应在 $HOME/.cargo/bin 中。

$ cargo install cargo-deplint

通过提供 Cargo.lock 文件和 lints 文件的路径来使用它

$ cargo deplint Cargo.lock deplints.toml

lints 文件格式

定义 lints 的文件是一个如下所示的 toml。

[[deny]]
name = "foo"
dependencies = [
    "bar",
]

上面的例子禁止 crate foo 依赖于 crate bar,包括间接依赖。

待办事项

  • 在拒绝输出中返回所有间接依赖路径。
  • 添加替换 mz 的 lint-deps.sh(允许列表 + ???)所必需的功能。
  • 考虑使用 cargo metadata 而不是 Cargo.lock 文件,以便我们可以区分常规依赖和开发依赖。

依赖

~0.6–1.1MB
~26K SLoC