[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:

 https://lists.debian.org/debian-devel/2015/11/msg00008.html

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).




[1]:

About the first point, see also:
https://github.com/sindresorhus/ama/issues/10#issuecomment-117766328.

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
yourself:

 https://github.com/chalk/supports-color/blob/master/index.js

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:

 https://github.com/chalk/supports-color/pull/35

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: