diff --git a/keyserver/addons/rust-node-addon/index.js b/keyserver/addons/rust-node-addon/index.js --- a/keyserver/addons/rust-node-addon/index.js +++ b/keyserver/addons/rust-node-addon/index.js @@ -1,6 +1,9 @@ // @flow +import { createRequire } from 'module'; + const { platform, arch } = process; +const require = createRequire(import.meta.url); type RustAPI = { +registerUser: ( @@ -16,16 +19,16 @@ let nativeBinding = null; if (platform === 'darwin' && arch === 'x64') { // $FlowFixMe - nativeBinding = await import('./napi/rust-node-addon.darwin-x64.node'); + nativeBinding = require('./napi/rust-node-addon.darwin-x64.node'); } else if (platform === 'darwin' && arch === 'arm64') { // $FlowFixMe - nativeBinding = await import('./napi/rust-node-addon.darwin-arm64.node'); + nativeBinding = require('./napi/rust-node-addon.darwin-arm64.node'); } else if (platform === 'linux' && arch === 'x64') { // $FlowFixMe - nativeBinding = await import('./napi/rust-node-addon.linux-x64-gnu.node'); + nativeBinding = require('./napi/rust-node-addon.linux-x64-gnu.node'); } else if (platform === 'linux' && arch === 'arm64') { // $FlowFixMe - nativeBinding = await import('./napi/rust-node-addon.linux-arm64-gnu.node'); + nativeBinding = require('./napi/rust-node-addon.linux-arm64-gnu.node'); } else { throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`); } @@ -34,7 +37,7 @@ throw new Error('Failed to load native binding'); } - const { registerUser } = nativeBinding.default; + const { registerUser } = nativeBinding; return { registerUser }; }