Minimize duplicate dependencies
- 主要言語
- Rust
- スター
- 104
- フォーク
- 138
- 平均マージ
- 1日 13時間
- マージ済み PR(30日)
- 56
説明
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.
コントリビューションガイド
評価
この issue はまだ評価されていません。