Minimize duplicate dependencies
- Langage dominant
- Rust
- Étoiles
- 104
- Forks
- 138
- Merge moyen
- 1 j 13 h
- PR mergées (30 j)
- 56
Description
Our lockfile contains duplicates of fairly large dependencies e.g. `thiserror`, `protobuf` and `http`.
We should try minimize these insofar as possible.
Such packages can be identified using `cargo tree -d`, though be aware this will include duplicate packages that are feature orthogonal e.g. it shows our miden deps multiple times - at least I think the `async` feature is the cause of this.
As an example for `clap` we find
```
$ cargo tree -d
....
clap v3.2.25 (*)
clap v4.5.40
├── miden-faucet v0.10.0 (/home/mirko/Projects/node/bin/faucet)
├── miden-node v0.10.0 (/home/mirko/Projects/node/bin/node)
├── miden-node-stress-test v0.10.0 (/home/mirko/Projects/node/bin/stress-test)
└── miden-proving-service v0.10.0 (/home/mirko/Projects/node/bin/proving-service)
...
```
And investigating further:
```
$ cargo tree -i clap@3
clap v3.2.25
├── pingora-core v0.5.0
│ ├── miden-proving-service v0.10.0 (/home/mirko/Projects/node/bin/proving-service)
│ ├── pingora v0.5.0
│ │ └── miden-proving-service v0.10.0 (/home/mirko/Projects/node/bin/proving-service)
│ ├── pingora-cache v0.5.0
│ │ └── pingora-proxy v0.5.0
│ │ ├── miden-proving-service v0.10.0 (/home/mirko/Projects/node/bin/proving-service)
│ │ └── pingora v0.5.0 (*)
│ ├── pingora-load-balancing v0.5.0
│ │ └── pingora v0.5.0 (*)
│ └── pingora-proxy v0.5.0 (*)
└── pingora-proxy v0.5.0 (*)
```
and
```
$ cargo tree -i clap@4
clap v4.5.40
├── miden-faucet v0.10.0 (/home/mirko/Projects/node/bin/faucet)
├── miden-node v0.10.0 (/home/mirko/Projects/node/bin/node)
├── miden-node-stress-test v0.10.0 (/home/mirko/Projects/node/bin/stress-test)
└── miden-proving-service v0.10.0 (/home/mirko/Projects/node/bin/proving-service)
```
aka `pingora` uses an older version of `clap` than we do. In this case its unlikely that there is much we can do about it since its upstream lagging a bit.
It would be good to comb through these instances and try collapse our lockfile insofar as possible.
Guide de contribution
Ouvrir le guide de contribution
Évaluation
Cette issue n'a pas encore été évaluée.