Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 5d2ae05

Browse filesBrowse files
cjihrigtargos
authored andcommitted
wasi: require CLI flag to require() wasi module
This commit ensures that the WASI module cannot be require()'ed without a CLI flag while the module is still experimental. This fixes a regression from #30778. PR-URL: #30963 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com>
1 parent f6acf9a commit 5d2ae05
Copy full SHA for 5d2ae05

File tree

Expand file treeCollapse file tree

3 files changed

+14
-5
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

3 files changed

+14
-5
lines changed
Open diff view settings
Collapse file

‎lib/internal/bootstrap/pre_execution.js‎

Copy file name to clipboardExpand all lines: lib/internal/bootstrap/pre_execution.js
+4-5Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -402,11 +402,10 @@ function initializePolicy() {
402402
}
403403

404404
function initializeWASI() {
405-
if (getOptionValue('--experimental-wasi-unstable-preview0')) {
406-
const { NativeModule } = require('internal/bootstrap/loaders');
407-
const mod = NativeModule.map.get('wasi');
408-
mod.canBeRequiredByUsers = true;
409-
}
405+
const { NativeModule } = require('internal/bootstrap/loaders');
406+
const mod = NativeModule.map.get('wasi');
407+
mod.canBeRequiredByUsers =
408+
getOptionValue('--experimental-wasi-unstable-preview0');
410409
}
411410

412411
function initializeCJSLoader() {
Collapse file

‎src/node_native_module.cc‎

Copy file name to clipboardExpand all lines: src/node_native_module.cc
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ void NativeModuleLoader::InitializeModuleCategories() {
9898
#endif // !HAVE_OPENSSL
9999

100100
"sys", // Deprecated.
101+
"wasi", // Experimental.
101102
"internal/test/binding",
102103
"internal/v8_prof_polyfill",
103104
"internal/v8_prof_processor",
Collapse file
+9Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
'use strict';
2+
// This test verifies that the WASI module cannot be require()'ed without a
3+
// CLI flag while it is still experimental.
4+
require('../common');
5+
const assert = require('assert');
6+
7+
assert.throws(() => {
8+
require('wasi');
9+
}, /^Error: Cannot find module 'wasi'/);

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.