127 ms·
This is absolutely not true, and I'm tired of seeing this. is-odd, alongside a bunch of other microdependencies are almost all the work of one person, who made
by zkldi 5y ago
This is absolutely not true, and I'm tired of seeing this.
is-odd, alongside a bunch of other microdependencies are almost all the work of one person, who made as many micropackages as possible and then PRd them into other more popular libraries. There are not 6 million people directly downloading `is-odd` a day. At all.
When this person could make one library to do something (like an ANSI-Colouring package), they would fractalise it into as many dependencies as possible, because that boosts their download count on NPM. I should note that this is just one person who has managed to nestle their way into some larger projects. I apologise for the spam, but this point really needs hammering home:
https://github.com/jonschlinkert/ansi-black https://github.com/jonschlinkert/ansi-black
https://github.com/jonschlinkert/ansi-reset https://github.com/jonschlinkert/ansi-reset
https://github.com/jonschlinkert/ansi-bold https://github.com/jonschlinkert/ansi-bold
https://github.com/jonschlinkert/ansi-dim https://github.com/jonschlinkert/ansi-dim
https://github.com/jonschlinkert/ansi-italic https://github.com/jonschlinkert/ansi-italic
https://github.com/jonschlinkert/ansi-underline https://github.com/jonschlinkert/ansi-underline
https://github.com/jonschlinkert/ansi-inverse https://github.com/jonschlinkert/ansi-inverse
https://github.com/jonschlinkert/ansi-hidden https://github.com/jonschlinkert/ansi-hidden
https://github.com/jonschlinkert/ansi-strikethrough https://github.com/jonschlinkert/ansi-strikethrough
https://github.com/jonschlinkert/ansi-black https://github.com/jonschlinkert/ansi-black
https://github.com/jonschlinkert/ansi-red https://github.com/jonschlinkert/ansi-red
https://github.com/jonschlinkert/ansi-green https://github.com/jonschlinkert/ansi-green
https://github.com/jonschlinkert/ansi-yellow https://github.com/jonschlinkert/ansi-yellow
https://github.com/jonschlinkert/ansi-blue https://github.com/jonschlinkert/ansi-blue
https://github.com/jonschlinkert/ansi-magenta https://github.com/jonschlinkert/ansi-magenta
https://github.com/jonschlinkert/ansi-cyan https://github.com/jonschlinkert/ansi-cyan
https://github.com/jonschlinkert/ansi-white https://github.com/jonschlinkert/ansi-white
https://github.com/jonschlinkert/ansi-gray https://github.com/jonschlinkert/ansi-gray
https://github.com/jonschlinkert/ansi-grey https://github.com/jonschlinkert/ansi-grey
https://github.com/jonschlinkert/ansi-bgblack https://github.com/jonschlinkert/ansi-bgblack
https://github.com/jonschlinkert/ansi-bgred https://github.com/jonschlinkert/ansi-bgred
https://github.com/jonschlinkert/ansi-bggreen https://github.com/jonschlinkert/ansi-bggreen
https://github.com/jonschlinkert/ansi-bgyellow https://github.com/jonschlinkert/ansi-bgyellow
https://github.com/jonschlinkert/ansi-bgblue https://github.com/jonschlinkert/ansi-bgblue
https://github.com/jonschlinkert/ansi-bgmagenta https://github.com/jonschlinkert/ansi-bgmagenta
https://github.com/jonschlinkert/ansi-bgcyan https://github.com/jonschlinkert/ansi-bgcyan
https://github.com/jonschlinkert/ansi-bgwhite https://github.com/jonschlinkert/ansi-bgwhite
- dahfizz 5y agoI think you're missing the point. These packages are stupid and too small, but they get millions of downloads a month. That's the problem with the JS community. Instead of rejecting a dependency for being silly, JS devs will happily import them to save two lines of code.
- lucideer 5y agoNo. The JS community won't happily import stupid packages to save two lines of code, any more than devs in any other community. A very small minority of devs will do this, and publish their larger packages. Those millions of downloads a month are transitive.
- infamouscow 5y agoThis is the same kind of defense C programmers make regarding their beloved footguns. That might be true in aggregate, but the exceptions are exceptionally bad, impact a lot of people, and then fools try to rationalize the footgun on HN.
- paulhodge 5y agoThe question is, are we seeing that bad behavior because there is something inherent about the platform that encourages it, or are we seeing more with Node just because that community is enormous. Because people love to bring up is-even as a reason why Node & NPM suck. What exactly did NPM do to create the is-even situation? (other than making it super easy to publish). What should they do differently?
- infamouscow 5y agoI'm old enough to remember the early days of Node and listening to a podcast (the name escapes me) with Isaac Schlueter explaining how node_modules isn't a hidden directory because you should vendor it. The problem is Node and NPM grew at a greater rate than the rate it took to introduce someone to vendoring node_modules. Fast-forward a decade and it seems like people have forgotten all about vendoring and instead optimized for blindly shipping code warrantied for no purpose from the Internet. The excuses why people don't vendor their packages are almost identical to the excuses people don't write tests for their code (i.e., time and velocity impact). This isn't a technical problem, but a social one.