vx-dependency
Advanced dependency resolution and management system for vx tools.
This crate provides intelligent dependency resolution with support for:
- Multi-layer dependency chains
- Circular dependency detection
- Version constraint resolution
- Parallel dependency installation
- Caching and performance optimization
Example
use vx_dependency::{DependencyResolver, ToolSpec, DependencySpec};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut resolver = DependencyResolver::new();
resolver.register_tool(ToolSpec {
name: "yarn".to_string(),
dependencies: vec![
DependencySpec::required("node", ">=16.0.0")
],
..Default::default()
});
let resolution = resolver.resolve("yarn").await?;
println!("Install order: {:?}", resolution.install_order);
Ok(())
}