node
node copied to clipboard
WebAssembly source phase imports
TC39 proposal source phase imports reached to stage 3 and has been implemented in V8 (starting from M131).
import source FooModule from "./foo.wasm";
FooModule instanceof WebAssembly.Module; // true
The feature requires Node.js integration to support WebAssembly source phase imports. TLDR, if a SourceTextModule imports a source-phase WebAssembly module, create a module source object with v8::WasmModuleObject::Compile
and return the WebAssembly.Module
object from v8::Module::ResolveSourceCallback
, and v8::HostImportModuleWithPhaseDynamicallyCallback
.
See design doc for details.
WPT: https://github.com/web-platform-tests/wpt/blob/master/wasm/webapi/esm-integration/source-phase.tentative.html
/cc @guybedford