#graph #module #architecture #dependencies #command-line-tool

bin+lib cargo-graphmod

一个命令行工具,用于以 dot/graphviz 格式绘制包中模块之间的依赖关系图

3 个稳定版本

1.1.0 2023年12月23日
1.0.6 2023年9月5日
1.0.4 2023年7月8日

#64可视化

每月下载量30

GPL-3.0-only

45KB
1K SLoC

Cargo Graphmod

Cargo 的子命令,用于生成包中模块之间依赖图的 Graphviz DOT 文件。

先决条件

安装

cargo-graphmod 可以使用 cargo install 安装

cargo install cargo-graphmod

用法

cd my_rust_package
cargo graphmod | tred | dot -Tsvg > modules.svg
  • 假设
    • 您应该从您项目的根目录(在 src 之上)运行此命令。
    • 默认情况下,包名(在 Cargo.toml 中定义)应该是目录名。否则,请将其作为参数传递:cargo graphmod a_different_name
  • 如果您想得到图的传递约简,请使用 tred
  • 您可以将数据导出为许多不同的格式。

已知限制

  • 仅检测由 use 关键字引入的依赖项。
  • 仅检测到第一个 #[cfg(test)](为了消除单元测试中的依赖项)之前的依赖项。
  • 当模块与文件/目录之间有一一对应关系时,效果最佳。

许可

cargo-graphmod 根据 GPLv3 许可证发布。

Cargo Graphmod 的图形

cargo-graphmod

其他示例

web_app

依赖项

~2–3MB
~53K SLoC