Expand description
Build a crate-level dependency graph from a Cargo workspace.
build_crate_graph walks crates/*/Cargo.toml, parses each manifest, and
produces two Arrow RecordBatch tables:
- CrateNode — one row per workspace member crate
- CrateEdge — one row per dependency relationship
topo_sort_crates runs Kahn’s algorithm over the workspace-internal edges and
returns crate names in dependency-first (build) order.
§Example
use nusy_codegraph::crate_graph::build_crate_graph;
use std::path::Path;
let graph = build_crate_graph(Path::new(".")).unwrap();
println!("{} crates, {} edges",
graph.crate_nodes.num_rows(),
graph.crate_edges.num_rows());Structs§
- Crate
Graph - The two Arrow tables that describe a workspace’s crate dependency graph.
Functions§
- build_
crate_ graph - Build a
CrateGraphby scanning allCargo.tomlfiles underworkspace_root. - topo_
sort_ crates - Topologically sort workspace crate names using Kahn’s algorithm.