23 releases (7 breaking)
Uses new Rust 2024
| new 0.9.3 | Mar 28, 2026 |
|---|---|
| 0.9.0 | Feb 23, 2026 |
| 0.5.2 | Dec 27, 2025 |
#838 in Text editors
Used in deps-lsp
360KB
7.5K
SLoC
deps-cargo
Cargo.toml support for deps-lsp.
This crate is part of the deps-lsp workspace. It provides parsing and registry integration for the Rust/Cargo ecosystem and implements deps_core::Ecosystem.
Features
- TOML parsing — Parse
Cargo.tomlwith byte-accurate position tracking viatoml-span - Lock file parsing — Extract resolved versions from
Cargo.lock - crates.io registry — Sparse index client for version lookups and package metadata
- Semver resolution — Resolve
^,~,*, and range specifiers against available versions - Workspace support — Handle
workspace.dependenciesinheritance andversion.workspace = true
Installation
[dependencies]
deps-cargo = "0.9.3"
[!IMPORTANT] Requires Rust 1.89 or later.
Usage
use deps_cargo::{parse_cargo_toml, CratesIoRegistry};
let dependencies = parse_cargo_toml(content)?;
let registry = CratesIoRegistry::new(cache);
let versions = registry.get_versions("serde").await?;
Benchmarks
cargo bench -p deps-cargo
Parsing performance: ~4 us for small files, ~55 us for large files (100+ dependencies).
License
Dependencies
~13–22MB
~308K SLoC