Node 10->12 update has landed on autoland and will soon merge to m-c

20 views
Skip to first unread message

Daniel Mosedale

unread,
Jun 15, 2021, 7:34:22 PM6/15/21
to dev-pl...@mozilla.org
The upgrade from NodeJS 10 to NodeJS 12 has landed on autoland, and is likely to merge into mozilla-central on Weds, June 16 during the European day time and US early morning hours.  

Once it has merged to mozilla-central, the following will be true:

Default builds will build with NodeJS 12, with the exception of “base-toolchain” builds, which will continue to build with NodeJS 10 for now.   

Things should continue to Just Work for most developers, as configure will still be allowing NodeJS 10 for a little while.

Developers are encouraged to run `mach bootstrap` after updating their source to install NodeJS 12.

Building with NodeJS 12 should Just Work for most developers. If you do have a problem, read on…

If you have any questions, concerns or issues, feel free to ask here, in #NodeJS on Slack, or in #build on Element.  

https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20Build%20System&component=Toolchains is where bugs can be filed, and that’s also a fine choice.


More Details For Those Who Are Interested:

configure will still be allowing builds with Node 10 for a bit, ideally through the 91 nightly cycle.  That said, since major npm packages that we need to keep relatively current on (eg eslint) are already starting to drop support for Node 10, it’s hard to imagine Node 10 support remaining feasible for too long.

Maintainers of Firefox for OS distributions (e.g. Linux) are encouraged to migrate to Node 12 as soon as is reasonably possible, given that it’s unclear how long Node 10 support can really last.

https://bugzilla.mozilla.org/show_bug.cgi?id=1690377 is where the work happened.


What if I _do_ run into build breakage when I switch to Node 12?

One possible cause is this: a small number of developers (you probably already all know who you are) both:

  • Develop/maintain code that has its own node_modules sub-directory

    • (ie not the top-level node_modules in mozilla-central)

  • Have platform-native-binaries in that local node_modules

    • (like browser/components/newtab/node_modules does)

In that case, you may need to remove that local `node_modules`, and re-execute `mach npm install` to force the binaries to be recompiled for Node 12, like so:

    rm -fr browser/components/newtab/node_modules

    mach npm install --prefix=browser/components/newtab

If you have any questions, concerns or issues, feel free to ask here, in #NodeJS on Slack, or in #build on Element. 

https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20Build%20System&component=Toolchains is where bugs can be filed, and that’s also a fine choice.

Dan

Reply all
Reply to author
Forward
0 new messages