Closed
Description
dotnet.wasm
module does not load cleanly in the node.js environment. It complains about a missing package 'a'
.
Repro:
$ node -v
v14.9.0
$ cat > test.mjs << EOF
import * as dotnet from '/Users/am11/.nuget/packages//microsoft.netcore.app.runtime.browser-wasm/5.0.0-rc.1.20425.18/runtimes/browser-wasm/native/dotnet.wasm';
const listMethods = subject => Object.getOwnPropertyNames(subject).filter(item => typeof subject[item] === 'function');
console.log(listMethods(dotnet));
EOF
$ node --experimental-modules --experimental-wasm-modules test.mjs
internal/process/esm_loader.js:74
internalBinding('errors').triggerUncaughtException(
^
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'a' imported from /Users/am11/.nuget/packages/microsoft.netcore.app.runtime.browser-wasm/5.0.0-rc.1.20425.18/runtimes/browser-wasm/native/dotnet.wasm
at packageResolve (internal/modules/esm/resolve.js:623:9)
at moduleResolve (internal/modules/esm/resolve.js:664:18)
at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:778:11)
at Loader.resolve (internal/modules/esm/loader.js:85:40)
at Loader.getModuleJob (internal/modules/esm/loader.js:229:28)
at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:51:40)
at link (internal/modules/esm/module_job.js:50:36) {
code: 'ERR_MODULE_NOT_FOUND'
}
Similar error about module 'a'
occurs if we try WebAssembly.instantiate
API:
$ cat > test2.mjs << EOF
import * as fs from 'fs';
const name = '/Users/am11/.nuget/packages//microsoft.netcore.app.runtime.browser-wasm/5.0.0-rc.1.20425.18/runtimes/browser-wasm/native/dotnet.wasm'
const bytes = fs.readFileSync(name);
const result = WebAssembly.instantiate(bytes, {
imports: { imported_func: arg => console.log(arg) }
}).catch(err => console.error(err));
EOF
$ node --experimental-modules --experimental-wasm-modules test2.mjs
[TypeError: WebAssembly.instantiate(): Import #0 module="a" error: module is not an object or function]