[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: many tiny tiny node.js packages

 ❦  5 juin 2016 10:13 CEST, Holger Levsen <holger@layer-acht.org> :

> this is not about these two specific packages, I'm rather wondering
> how to deal with an ecosystem where it seems to be normal to release
> tiny tiny packages…  (*)
> On Sun, Jun 05, 2016 at 03:25:48AM +0200, Jonathan Ulrich Horn wrote
> "Bug#826371: ITP: node-camelcase-keys -- Convert object keys to
> camelCase":

We already had this conversation 6 months ago:


My summary is:

 - many npm packages are small because people in the Node.JS ecosystem
   consider this is a good practice to do small packages that do one
   thing well [1].

 - many npm packages are small because code size is important for
   client-side stuff and npm packages can easily be used client-side
   (with browserify and the like)

 - stuffing unrelated packages into a big package (like
   emacs-goodies-el) is considered a bad solution as it usually leads to
   outdated packages and additional burden on maintainers due to our
   tooling not handling that well

So, no solution but I think that the consensus was we shouldn't get in
the way.

> FTR: "apt-cache search node|grep ^node|wc -l" returns 382 today.

http://www.modulecounts.com/ (near 300k packages in npm).


About the first point, see also:

It's a "funny" answer since some of the provided examples are modules
that don't do their job correctly. For example, it advertises the
"supports-color" module which is so wrong in how it does things. See


This library checks command flags for overriding the result. If you have
a CI environment variable, no color for you. If you have a COLORTERM
variable, only 16 colors for you. If you have vt100 as TERM, you get
colors, but not if you have rxvt-unicode. And upstream thinks that this
is just fine:


I show this example, because I think this is representative of the "do
one thing well" opinion in the ecosystem while such a dogmatic position
could also lead to the reverse. IMO, such a module also prevents better
alternatives to be developed since people will stick with the small
module that works well with iTerm2 on OSX.

Sorry for the rant.
Follow each decision as closely as possible with its associated action.
            - The Elements of Programming Style (Kernighan & Plauger)

Attachment: signature.asc
Description: PGP signature

Reply to: