Subject: Re: bug#47282: [PATCH 00/13] node going forward
From: Jelle Licht <[email-masked]>
To: Timothy Sample <[email-masked]>
Cc: [email-masked]
Date: Fri, 02 Apr 2021 18:18:08 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Timothy,

Timothy Sample <[email-masked]> writes:

> Hi Jelle,
>
> Jelle Licht <[email-masked]> writes:
>
>> So, some people seem to be interested in this one; please review and test.
>
> Now that I’ve finally taken the time to dig into what you’ve done here –
> I must say it’s very impressive!

If you bang your head against a wall often enough, it will crack
eventually. Head or wall, either way works in this metaphor ;-).

> I’ve taken the presumptuous step of re-rolling the series.  The reason
> is that all the “(delete 'build)” bits were bothering me.  I decided to
> have the build system check the “package.json” file for a build script
> before trying to run it.  Since that change required changing all the
> other patches, I thought it would be easier to just post the updated
> patches.  Also, I’m hoping to spare you some trouble (since you’ve
> already gone to a lot!).

Makes sense, thanks! Please be presumptuous as often as you'd like.

>
>     • Change the “Fix incorrect import semantics” comments to “Fix
>       imports for esbuild”.  To me, if TypeScript’s tsc likes the
>       imports, they are correct TypeScript (despite the esbuild bug
>       report).

"Something a native speaker of English can make sense of" != "Proper
English", and in that same vein I don't think a commmon mistake with
workaround in place is not a mistake.

I really don't care about what ends up in the codebase though, as long
as it is clear why we do what we do, which works out just fine with your
comment.

> The final result is still a little messy, but I don’t think we should
> hold this back any longer.  It’s a significant step forward, and it puts
> us in better shape to improve things incrementally.
>
> WDYT?  Let me know if I made anything worse!  :)  If the altered patches
> look good to you, I suggest you go ahead and push them.

I still adressed some of Efraim's remarks, and pushed it to master just
now.

There are quite some ways to go from here:

* Get the 'binary' importer upstreamable (I will continue with this)

* Properly support cross-compilation of Node and Node-packages

  I had a super quick look at this, but it seems that in building node,
  you build intermediate tools that run on the host. Perhaps some our
  x-compilation gurus can weigh in.

* Make a Rome-based build system, once Rome does more than linting, to
  help untangle the knot that is JavaScript-packaging

But for today (and the upcoming release), modern Node on guix \o/

Thanks folks!
 - Jelle