nodejs / help

:sparkles: Need help with Node.js? File an Issue here. :rocket:
1.44k stars 276 forks source link

MSVC Deprecation on windows builds? #4421

Open d3x0r opened 2 weeks ago

d3x0r commented 2 weeks ago

Node.js Version

Future

NPM Version

n/a

Operating System

Windows

Subsystem

Other

Description

I saw this notice about v8 deprecating MSVC

"V8 will follow Chromium's lead and will discontinue support for MSVC. To give projects time to adjust, we will stop support after V8 version 13.0 in September 2024. After that, we will remove the infrastructure bots and MSVC compatibility hacks in the code base."

From the link mentioned abouve

"a little under 3 years ago, we removed Chromium's MSVC bots and moved it to a community-supported toolchain [1].

Since nobody seemed to maintain that build configuration, we made building with MSVC a hard error about half a year ago and had several stable releases since then [2].

We haven't had any complaints about this lack of support. So we're hereby officially moving MSVC from "community supported" to "not supported".

If you own any chromium code that has MSVC compatibility hacks, feel free to delete them."


This is a concern as a developer of a native addon; I know node builds on windows with visual studio 1) windows-build-tools would need to install new compiler from somewhere 2) I will really miss being able to use Visual Studio IDE to debug Addon modules...

I know that the compiler runtime is really tightly coupled; and previously I did try to use cmake-js(npm package) and change the generator to MinGW, and my addon would really no longer just work... so whatever Node builds with native addons also need to be built with the same tool...

will node maintain MSVC compatible patches for v8?
What build tools will be used later? Can anything be done to avert this upcoming disaster?

Minimal Reproduction

No response

Output

No response

Before You Submit

richardlau commented 2 weeks ago

Most of the clang for Windows discussion is captured under https://github.com/nodejs/node/issues/52809. In particular, the checklist in https://github.com/nodejs/node/issues/52809#issuecomment-2107331677 includes:

  • [ ] Make sure that the Node.js ecosystem is not facing issues because of the migration - Make sure node-gyp, popular npm packages, etc. are all still working well