| Crates.io | workspacer-pin |
| lib.rs | workspacer-pin |
| version | 0.1.2 |
| created_at | 2025-04-01 16:05:06.927204+00 |
| updated_at | 2025-07-13 03:36:16.581171+00 |
| description | A Rust crate for pinning wildcard dependencies within workspaces using local versions or lockfile fallbacks, ensuring reliable and reproducible builds. Supports async operations and complex nested structures in `Cargo.toml`. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1615034 |
| size | 226,216 |
workspacer-pin is a Rust crate designed for resolving wildcard dependencies within a workspace, focusing on enhancing package management via precise dependency pinning. It is crafted to pinpoint all dependencies denoted with wildcard characters ("*") and replace them with specific versions derived from local or lockfile sources.
Cargo.toml files.Cargo.toml to ensure all wildcard instances are addressed.Integrate workspacer-pin into your workspace as follows:
PinAllWildcardDependencies and PinWildcardDependencies for your structures, ensuring error handling congruence.pin_wildcard_dependencies_in_table and fix_nested_tables to walk through dependency structures and pin versions appropriately.use workspacer_pin::{PinAllWildcardDependencies, PinWildcardDependencies};
async fn manage_dependencies(workspace: &mut Workspace) -> Result<(), WorkspaceError> {
workspace.pin_all_wildcard_dependencies().await
}
The crate utilizes advanced Rust features including async/await patterns and trait implementations. The LockVersionMap is a primary data structure, offering efficient lookup of available versions with its combination of BTreeMap and BTreeSet.
This crate is aimed at developers managing Rust workspaces who require robust methods to reconcile dependencies, especially for large or complex projects featuring a myriad of localized and external dependencies.