Remix.run Logo
staminade 5 hours ago

Don't they?

I just went to crates.io and picked a random newly updated crate, which happened to be pixelfix, which fixes transparent pixels in pngs.

It has six dependencies and hundreds of transient dependencies, may of which appear to be small and highly specific a la left-pad.

https://crates.io/crates/pixelfix/0.1.1/dependencies

Maybe this package isn't representative, but it feels pretty identical to the JS ecosystem.

koakuma-chan 5 hours ago | parent [-]

It depends on `image` which in turn depends on a number of crates to handle different file types. If you disable all `image` features, it only has like 5 dependencies left.

staminade 5 hours ago | parent [-]

And all those 5 remaining dependencies have lots of dependencies of their own. What's your point?

koakuma-chan 5 hours ago | parent [-]

> What's your point?

Just defending Rust.

> 5 remaining dependencies have lots of dependencies of their own.

Mostly well-known crates like rayon, crossbeam, tracing, etc.

johnisgood 4 hours ago | parent [-]

You cannot defend Rust if this is reality.

Any Rust project I have ever compiled pulled in over 1000 dependencies. Recently it was Zed with its >2000 dependencies.

koakuma-chan 3 hours ago | parent [-]

I think it's justified for Zed. It does a lot of things.

rudedogg an hour ago | parent [-]

Zed isn’t special, I doubt Sublime Text has thousands of dependencies. It’s a language/culture problem.

Edit: Ghostty is a good counter-example that is open source. https://github.com/ghostty-org/ghostty/tree/main/pkg