Uh oh!
There was an error while loading. Please reload this page.
feat: Handle disabled install scripts - #41
Conversation
d7aa878 to
3ba75a5CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
536820a to
7ad75d0CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
60e60b1 to
3f5c888CompareThere was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3f5c888. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
JPeer264
left a comment
There was a problem hiding this comment.
There is now quite some acrobatics needed 😅
| fail-fast: false | ||
| matrix: | ||
| os: [ubuntu-latest, macos-latest] | ||
| node: [18, 26] |
There was a problem hiding this comment.
q/l: Is it on purpose only testing for node 18 and 26?
There was a problem hiding this comment.
Yes, didn't want to add all of them and testing oldest and newest should be enough...
| export const platform = process.env['BUILD_PLATFORM'] || os.platform(); | ||
| export const arch = process.env['BUILD_ARCH'] || os.arch(); | ||
| export const abi = getAbi(versions.node, 'node'); | ||
| export const identifier = [platform, arch, stdlib, abi].filter(c => c !== undefined && c !== null).join('-'); |
There was a problem hiding this comment.
Unnecessary byte saving suggestion
| exportconstidentifier=[platform,arch,stdlib,abi].filter(c=>c!==undefined&&c!==null).join('-'); | |
| exportconstidentifier=[platform,arch,stdlib,abi].filter(c=>c!=null).join('-'); |
| "detect-libc": "^2.0.4", | ||
| "node-abi": "^3.89.0" | ||
| "node-abi": "^3.92.0", | ||
| "node-gyp": "^11.5.0" |
There was a problem hiding this comment.
m/h: The node engines are ^18.17.0 || >=20.5.0 based on this. Not sure if this is satisfying our supported engines I'm afraid. v10 would work though, not sure if this can be considered 🤔
timfish
commented
Jun 18, 2026
Closing in favour of doing something less complex! |

npm is changing the default to no longer run install script.
This PR moves the install script logic into the side-effects of loading the module. Things become a little more complex because this library is loaded from multiple threads so we have to lock the rebuilding so it only runs once. It's tricky to do if you want to be able to recover from all the possbible failures states!
I had to inlcude a dummy install script otherwise npm and yarn v1 automatically run
node-gyp rebuildat install time!