-
Notifications
You must be signed in to change notification settings - Fork 175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Change node-gyp to @electron/node-gyp #1157
Conversation
8c0285a
to
36c248b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking this on @felixrieseberg! I just ran into this last week 🙇
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1157 +/- ##
==========================================
- Coverage 76.80% 67.09% -9.71%
==========================================
Files 21 21
Lines 776 775 -1
Branches 150 150
==========================================
- Hits 596 520 -76
- Misses 124 212 +88
+ Partials 56 43 -13 ☔ View full report in Codecov by Sentry. |
04d87eb
to
63ac94e
Compare
d5e7f92
to
1aa62c0
Compare
🎉 This PR is included in version 3.7.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This PR switches
@electron/rebuild
to a fork of the original and excellentnode-gyp
with only one feature added: Support for Node v12. We're doing so to fixModuleNotFoundError: No module named 'distutils'
errors on macOS Sequoia, which ships with Python 3.12 by default. Here is what happened:distutils
, whichnode-gyp
below v10 depended on.ModuleNotFoundError: No module named 'distutils'
error messages that are cryptic for anyone who doesn't have a full understanding of the dependency chain involvedThis left us with the following choices:
setuptools
. While this fixes the issue, it requires manual user intervention and requires our users to first search for the error message.node-gyp
v10. That would have required a bump in minimum Node.js version for@electron/rebuild
and in turn all other packages that depend on it, resulting in major version bumps across the entire ecosystem. This too doesn't fix the issue for our users without them performing manual major version upgrades.Electron has a major version bump in required Node.js version on its roadmap. Once that is the case, we will sunset this fork and go back to the original
node-gyp
.closes #1116