Investigate workspace-level dependencies
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
> Good stuff. I'd like to look into workspace-level dependencies at some point too.
_Originally posted by @alice-i-cecile in https://github.com/bevyengine/bevy/issues/12313#issuecomment-1979531886_
[Workspace-level dependencies](https://doc.rust-lang.org/cargo/reference/workspaces.html#the-dependencies-table) allow for consistent dependency versions across multiple crates. They can be handy for keeping popular libraries, such as `serde`, `syn`, `toml_edit` and more in sync and reduce dependency duplication.
They can be specified with:
```toml
# Root Cargo.toml
[workspace.dependencies]
serde = "1.0.99999"
```
And can be used by a crate with:
```toml
[dependencies]
serde = { workspace = true }
# or
serde.workspace = true
```
Contributor guide
Research direction
Read Cargo’s workspace dependencies reference, then inspect the root Cargo.toml and the crate manifests to identify dependencies that should be centralized. Done means the selected versions are declared in the workspace and crate dependencies use workspace references, with dependency resolution and the existing checks still passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100