What's actually pretty hilarious is that this probably isn't too far off the number of dependencies an average Javascript project has.
`npm install vue-cli` installs 306 packages weighing in at 245MB. :)
What's actually pretty hilarious is that this probably isn't too far off the number of dependencies an average Javascript project has.
`npm install vue-cli` installs 306 packages weighing in at 245MB. :)
So it's safe to say that this package has the most transitive dependencies in npm.
Actually, this can become a fun optimization problem. Which 1000 packages do you depend on to cover as much of NPM as possible?
A new package that depends on this and anything not already downstream would have more dependencies.
Until you have 1000
Find the package not included that adds the most deps
If it adds less than everything you have
Add it
Else
Kick out anything that adds less than that
And then make that a package and repeat as desired.This problem is almost certainly NP-complete (it's basically the the "set cover" problem from Karp's 21 NP-complete problems), so for something the size of NPM it's almost certainly infeasible. Your greedy version would probably get you a pretty nice result, though.
Also, working with gradle now... I'd take the npm + webpack any day.
The size, OTOH, is usually in the same ballpark of a node project. If I import chrome from npm (for testing) in some way (directly or transitional), then node leaps ahead, when not, usually composer takes the lead.