[Pkg-javascript-devel] Help: nodejs 16 need node-acorn source to break bootstrapping loop

Pirate Praveen praveen at onenetbeyond.org
Fri Dec 3 06:17:12 GMT 2021



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>
>> a
>> >> >écrit :
>> >> >
>> >> >>
>> >> >>
>> >> >> 2021, ഡിസംബർ 1 5:18:25 PM IST, "Jérémy Lal" <kapouer at melix.org>ൽ
>> എഴുതി
>> >> >> >Hi,
>> >> >> >
>> >> >> >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.
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



More information about the Pkg-javascript-devel mailing list