[Pkg-javascript-devel] Help: nodejs 16 need node-acorn source to break bootstrapping loop
Jonas Smedegaard
jonas at jones.dk
Fri Dec 3 09:47:59 GMT 2021
Quoting Pirate Praveen (2021-12-03 07:17:12)
>
>
> 2021, ഡിസംബർ 3 8:38:53 AM IST, "Jérémy Lal" <kapouer at melix.org>ൽ എഴുതി
> >Le ven. 3 déc. 2021 à 04:05, Pirate Praveen <praveen at onenetbeyond.org> a
> >écrit :
> >
> >> 2021, ഡിസംബർ 2 7:22:02 AM IST, "Jérémy Lal" <kapouer at melix.org>ൽ
> >> എഴുതി
> >> >Le jeu. 2 déc. 2021 à 02:02, Pirate Praveen
> >> ><praveen at onenetbeyond.org> a écrit :
> >> >> 2021, ഡിസംബർ 1 9:52:45 PM IST, "Jérémy Lal" <kapouer at melix.org>ൽ
> >> >> എഴുതി
> >> >> >Le mer. 1 déc. 2021 à 16:41, Pirate Praveen
> >> >> ><praveen at onenetbeyond.org> écrit :
> >> >> >> 2021, ഡിസംബർ 1 5:18:25 PM IST, "Jérémy Lal"
> >> >> >> <kapouer at melix.org>ൽ എഴുതി
> >> >> >> >To work around the bootstrapping issue that is posed by the
> >> >> >> >huge loop of build-dependencies: nodejs -> node-acorn ->
> >> >> >> >rollup -> zillion things -> nodejs, it is possible to make a
> >> >> >> >stage 1 nodejs build that loads node-acorn *source* files,
> >> >> >> >instead of the compiled ones.
> >> >> >>
> >> >> >> If nodejs 16 can handle acorn source files (ES6) directly,
> >> >> >> can we just skip the build of acorn ? So we can drop nodejs
> >> >> >> build dependency.
> >> >> >>
> >> >> >yes, it can be skipped, for stage 1 build.
> >> >> >But the configuration options used for that build are not
> >> >> >supported by upstream for anything else than development, and
> >> >> >it has a non-negligible impact on nodejs initial load time.
> >> >> >So as soon as node-acorn can be built (by rollup), normal
> >> >> >nodejs build must be done.
> >> >>
> >> >> I'm suggesting we ship node-acorn as ES6 source only (remove
> >> >> build steps from current node-acorn itself) if our nodejs can
> >> >> handle it. Rollup might be needed only for compatibility with
> >> >> older nodejs versions which we don't need to support.
> >> >
> >> >Unfortunately, it's not that simple.
> >> >Short version: internal acorn *need* to be in commonjs format.
> >>
> >> OK, thanks for the explanation. We can, may be, file a wishlist
> >> issue to support ES modules for internal acorn as well.
> >>
> >
> >If upstream node switches to ES for internal modules, they'll do it
> >for all of them i think. But it would not simplify anything, so i
> >doubt they wil.
>
> Why would it not simplify? If nodejs can handle ES6 directly, then we
> don't need to build acorn (we can use the esm source directly). So if
> acorn don't build depend or depend on nodejs, we break the circular
> build dependency.
I guess Jérémy means that it would not simplify anything for _upstream_,
if (as usual in the NodeJS ecosystem) what they depend on is not sources
but products.
If that's the point then I think it might still be worth a try to make
the suggestion, pointing out benefits for downstrem users like Debian
wanting to simplify bootstrappability - even if that's not generally a
priority for NodeJS developers upstream.
- 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/20211203/ac06d80f/attachment.sig>
More information about the Pkg-javascript-devel
mailing list