0xMiden / 0xMiden/node

Minimize duplicate dependencies

Open
#1,024 3 comments 0 reactions 1 assignee Assigned to @TomasArrachea View on GitHub
Dominant language
Rust
Stars
104
Forks
138
Avg merge
1d 13h
Merged PRs (30d)
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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.