Skip to content

Commit

Permalink
Fix: bun runtime silently returns empty object for NAPI
Browse files Browse the repository at this point in the history
  • Loading branch information
junderw committed Sep 19, 2023
1 parent cacd3a5 commit 439221f
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion bindings.js
Original file line number Diff line number Diff line change
@@ -1 +1,11 @@
module.exports = require('./lib/api')(require('node-gyp-build')(__dirname))
const nativeAddon = require('node-gyp-build')(__dirname)
if (typeof nativeAddon !== 'function') {
// Some new runtimes (bun) don't support N-API
// but the build step incorrectly succeeds.
// The value should be a function, but in bun it returns
// an empty object {} so we use typeof to check that
// it is a function and throw otherwise.
// This throw will cause "keccak" import to fallback to JS.
throw new Error('Native add-on failed to load')
}
module.exports = require('./lib/api')(nativeAddon)

0 comments on commit 439221f

Please sign in to comment.