[Pkg-javascript-devel] Bug#754551: ITP: node-ms -- milliseconds conversion utility

Andrew Kelley superjoe30 at gmail.com
Tue Aug 5 00:56:56 UTC 2014


On Sat, Jul 12, 2014 at 3:57 AM, Frederic Peters <fpeters at debian.org> wrote:

> Steve McIntyre wrote:
>
> > I've seen ITPs for a massive set of tiny-looking node libraries go
> > past on -devel in the last few months, so I thought it was about time
> > I looked at one. I'm a bit worried by what I've seen, considering
> > typical discussions in the past about really small packages.
>

I am largely responsible for this. However many of the ITPs I have filed I
managed to avoid as (indirect) dependencies by submitting patches upstream
and when appropriate, inlining the dependency. Most of the problematic ones
you saw are closed now, including the 2 at the end of this email.


> >
> > [...]
> >
> > tack:~/debian/ms.js$ wc -l index.js
> > 111 index.js
> >
> > Am I missing something, or is the working code in this package really
> > just 111 lines? Why isn't this bundled up into something more
> > reasonable in size for the packaging system?
>

Consider my perspective for a moment here. I am trying to package
groovebasin, which depends on various modules:

groovebasin (1.2.0) # waiting on dependencies
...many more dependencies...
├─ zip-stream (~0.3.0) # waiting for node-debug to update
│  └─ debug (~1.0.2) # l3on is waiting for node-ms in the NEW queue
│      └─ ms (~0.6.2) # waiting in the NEW queue...
...many more dependencies...

So now I'm waiting for node-ms in the NEW queue and people are complaining
that 111 lines is too small for a code module?

What do you expect me to do? It would be very easy to just bundle all
node_modules with the package but that is against Debian guidelines. Each
dependency must track upstream. So that's exactly what we're doing and
we're getting flak for it.

It seems that Debian wants 2 contradictory things from me at the same time.


> ITP: node-ansi-regex
>  $ git clone https://github.com/sindresorhus/ansi-regex
>  $ cat ansi-regex/index.js
> 'use strict';
> module.exports = function () {
>         return /\u001b\[(?:[0-9]{1,3}(?:;[0-9]{1,3})*)?[m|K]/g;
> };
>
> ITP: node-quotemeta
>  $ git clone https://github.com/substack/quotemeta.git
>  $ cat quotemeta/index.js
> module.exports = function (str) {
>     return String(str).replace(/(\W)/g, '\\$1');
> };
>

These 2 are indeed stupidly small. I have managed to work around packaging
these 2 modules up and closed the ITPs.

I have taken a lot of time to try to avoid packaging modules for Debian
which could be avoided. I have done this by painstakingly getting patches
merged in many upstream projects to change dependencies to better ones, or
fewer ones. When I started it looked like there were about 80 packages to
create, but I have brought that number down by a factor of 2.

I do not think that node-ms is stupidly small. 104 other packages depend on
it in the NPM registry: https://www.npmjs.org/package/ms

Please consider uploading node-ms and know that I am aware of the pain of
small packages and I am working hard to strike the balance between properly
tracking upstream and avoiding cruft.

Regards,
Andrew
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-javascript-devel/attachments/20140804/bf42dfe2/attachment.html>


More information about the Pkg-javascript-devel mailing list