Has there ever been any discussion whether it woul...
# pact-rust
m
Has there ever been any discussion whether it would be desirable/feasible to slim down the transitive dependencies of the Pact crates for simpler use cases? I find myself reluctant to add Pact right now to the main project workspace as the deps added to the Cargo.lock dwarf the (admittedly simple) set that are currently used in my Axum / JSON Rest service. I wonder if I’m missing the intended usage pattern? See the attached graph from the pact_consumer crate
cargo depgraph --build-deps --filter-platform x86_64-unknown-linux-gnu --dedup-transitive-deps | dot -Tpng > pact_consumer_graph.svg
things this service doesn’t have: • any need for a plugin -
tonic
• Date times -
chrono
/ tz data plus
<http://build.rs|build.rs>
• XML -
sxd-document
• Compression -
zip
,
flate
,
zstd
etc. • TLS -
hyper-rustls
• not sure why it depends on a CLI tool? -
clap
I’m investing time in our build cacheing (via
cargo-chef
) which would mitigate the (essentially pointless) recompilation of all these crate sub trees on each commit, but it would be lovely to drop the need via a hypothetical
default-features = false
u
Adding features makes sense. Please raise a issue with this request
m