<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">Le dim. 20 avr. 2025 à 09:09, Paul Gevers <<a href="mailto:elbrus@debian.org">elbrus@debian.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
On Sat, 19 Apr 2025 19:28:11 +0200 Paul Gevers <<a href="mailto:elbrus@debian.org" target="_blank">elbrus@debian.org</a>> wrote:<br>
> I was struggling to package the latest version of `liferea` because I <br>
> didn't want to use the upstream vendored purify (and handlebars). It <br>
> turns out that the Debian version of node-dompurify is too old. Is it <br>
> reasonable to upgrade?<br>
<br>
For the purpose of liferea, it might be relevant to say that apparently <br>
it's using an ESM version of dompurify (and handlebars). As I'm all new <br>
to this, upstream pointed me at [1] which explains a bit. I have no idea <br>
if it's reasonably feasible for the Debian node ecosystem to provide <br>
both flavors (by means of a ESM wrapper around the CJS flavor if I <br>
understand correctly).<br></blockquote><div><br></div><div>Good question ! The answer is that it's not needed:</div><div>nodejs 20.19.0 can "require(esm)" [1] so a CJS module is no longer locked out using ESM modules.</div><div>The other way around (import a CJS module form an ES module) has always been possible.</div><div>All nodejs modules will switch to ESM, and in a far future "require" will be a thing of the past.</div><div><br></div><div>For browsers, it's a little bit different:</div><div>"require" is not supported in browsers, but "import" is supported.</div><div>However, 99.99% if not 100% of modules for browsers are bundled, and the bundler is supposed to behave</div><div>like nodejs above, so we're back to the first situation. </div><div><br></div><div><br></div><div><br></div><div>[1]</div><div>file:///usr/share/doc/nodejs/api/modules.html#loading-ecmascript-modules-using-require</div><div><br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I guess for now I need to consider my options for liferea and I'm nearly <br>
convinced the best is to not try to ship the latest upstream version at <br>
this stage of trixie and leave that to forky.</blockquote><div><br></div><div>Yes, "soft freeze".</div></div></div>