esm: unflag --experimental-wasm-modules#57038
Conversation
|
Review requested:
|
|
//cc @nodejs/loaders |
|
So I assume its semver major? |
|
Strictly speaking, this isn't semver major since it has no breaking semantics. But, we only have fully V8 support on 24 unless there is a backport of the V8 update. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #57038 +/- ##
==========================================
+ Coverage 90.03% 90.05% +0.02%
==========================================
Files 648 648
Lines 190967 190978 +11
Branches 37425 37433 +8
==========================================
+ Hits 171931 171987 +56
+ Misses 11665 11607 -58
- Partials 7371 7384 +13
🚀 New features to boost your workflow:
|
|
The
notable-change
Please suggest a text for the release notes if you'd like to include a more detailed summary, then proceed to update the PR description with the text or a link to the notable change suggested text comment. Otherwise, the commit will be placed in the Other Notable Changes section. |
|
Thanks for all the approvals it is great to see the interest in this. After further discussion, since this is still a Phase 3 Wasm specification, that implies it is still in experimental implementation status until it reaches Phase 4. While strictly speaking we can land experimental features unflagged in Node.js, the ESM Integraiton has already taken long enough that there is no need to rush something out the door here - so I will hold off on landing this for Node.js 24 and instead seek to land it for (hopefully) 25 instead where ideally we would be able to land under Phase 4 later in the year, or to then at least reconsider unflagging under Phase 3 if we feel it is in the interests of the project at that point for our users. |
This unflags
--experimental-wasm-modulesfor Node.js 24, while keeping the implementation experimental under 2.1 active development.Source phase imports and string builtins as stable proposals are both promoted to 2.2 release candidate experimental status. The warning for importing Wasm modules is moved to only apply when importing module instances, rather than module sources as well.
With #56919 landed, Node.js supports both source phase imports and instance phase imports to WebAssembly modules and for Wasm imports to JS, in line with the current Phase 3 WebAssembly ESM Integration proposal (https://github.com/webassembly/esm-integration).
Recent additions to the source phase integration here also include:
By unflagging, this will enable build tools to target source phase imports for Node.js as an output format, providing immediate benefit to Wasm consumers in enabling more seamless interoperability between JS and Wasm modules.