[Pkg-javascript-devel] Export both ESM and CommonJS modules

Jonas Smedegaard jonas at jones.dk
Mon Sep 13 10:18:09 BST 2021


Quoting Julien Puydt (2021-09-13 10:05:57)
> Le dimanche 12 septembre 2021 à 20:30 +0200, Yadd a écrit :
> > You'll notice that I didn't fault anyone, I just tried not to let
> > other groups get stuck with our updates. I think I did something
> > clean that avoids breaking other packages until nodejs is updated 
> > and keeps the upstream format.
> 
> Well, I still felt blamed, and it's only partly justified.
> 
> In that particular case, I saw the problem, produced a -1 with a patch 
> to avoid breaking deps, but asked around because it was somehow not 
> satisfying, with mostly two questions:
> 1. if what I did was a good idea?
> 2. how to do something clean?
> 
> The summary of the answers is that it was a bad idea (don't diverge
> from upstream unless you're ready to take matters on your shoulders),
> but there was no clean solution.
> 
> I hence broke things with -2: that's just the first occurrence of an
> emerging matter, so waiting won't make it go away. Bite the bullet
> rather sooner than later, one may say.

Debian - unlike upstream - most often provide only a single version of a 
Node.js libraries so - unlike upstream - breaking changes has instant 
effect on all reverse dependencies.

So while is it preferred to not deviate from upstream, it is also 
preferred to coordinate with dependent packages when a new version 
introduces backwards-incompatible changes.


> Let's imagine a simple situation where we have three packages A, B and 
> C with B and C depending on A using 'require', then upstream A decides 
> it's now import and not require, B follows suit and C trails behind ; 
> there are mostly two solutions:
> 
> (1) do dirty things with A's packaging, so it allows both require and
> import, with the three defects that:
>    (i) the require part is on our shoulders;
>   (ii) someone using A packaged by Debian might not realize their code
> is subtly wrong ;
>  (iii) the C package looks like its nice and clean... even though it's
> the reason why A's is dirty and we have problems (i) and (ii)!
> 
> (2) let A and B go forward, and make C's package dirty -- as it
> deserves.

 (3) upload conservatively only to experimental until A and B and C are 
 aligned, possible through our nudging upstream to make the needed 
 changes, and possible through applying dirty patches (preferrably at 
 the edges rather than the center).

 (4) postpone upload of A until no other Node.js experiment is ongoing.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-javascript-devel/attachments/20210913/e7e11735/attachment.sig>


More information about the Pkg-javascript-devel mailing list