diff --git a/doc/api/cli.md b/doc/api/cli.md index b1b0103cfddddb..16d1ddd1793b34 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -341,16 +341,6 @@ when `Error.stack` is accessed. If you access `Error.stack` frequently in your application, take into account the performance implications of `--enable-source-maps`. -### `--experimental-global-customevent` - - - -Expose the [CustomEvent Web API][] on the global scope. - ### `--experimental-import-meta-resolve` + +Disable exposition of [CustomEvent Web API][] on the global scope. + ### `--no-experimental-repl-await` -> Stability: 1 - Experimental. Enable this API with the -> [`--experimental-global-customevent`][] CLI flag. +> Stability: 1 - Experimental. Disable this API with the +> [`--no-experimental-global-customevent`][] CLI flag. @@ -885,8 +889,8 @@ added: v18.0.0 A browser-compatible implementation of [`WritableStreamDefaultWriter`][]. [Web Crypto API]: webcrypto.md -[`--experimental-global-customevent`]: cli.md#--experimental-global-customevent [`--no-experimental-fetch`]: cli.md#--no-experimental-fetch +[`--no-experimental-global-customevent`]: cli.md#--no-experimental-global-customevent [`--no-experimental-global-webcrypto`]: cli.md#--no-experimental-global-webcrypto [`AbortController`]: https://developer.mozilla.org/en-US/docs/Web/API/AbortController [`ByteLengthQueuingStrategy`]: webstreams.md#class-bytelengthqueuingstrategy diff --git a/doc/node.1 b/doc/node.1 index 3e2602673a83e4..0022dbd87c2b4e 100644 --- a/doc/node.1 +++ b/doc/node.1 @@ -139,9 +139,6 @@ Requires Node.js to be built with .It Fl -enable-source-maps Enable Source Map V3 support for stack traces. . -.It Fl -experimental-global-customevent -Expose the CustomEvent on the global scope. -. .It Fl -experimental-global-webcrypto Expose the Web Crypto API on the global scope. . @@ -165,6 +162,9 @@ Use this flag to enable ShadowRealm support. .It Fl -no-experimental-fetch Disable experimental support for the Fetch API. . +.It Fl -no-experimental-global-customevent +Disable exposition of the CustomEvent on the global scope. +. .It Fl -no-experimental-global-webcrypto Disable exposition of the Web Crypto API on the global scope. . diff --git a/lib/internal/process/pre_execution.js b/lib/internal/process/pre_execution.js index 6ad5502b61ded1..4c42110f3975b4 100644 --- a/lib/internal/process/pre_execution.js +++ b/lib/internal/process/pre_execution.js @@ -278,7 +278,7 @@ function setupWebCrypto() { // removed. function setupCustomEvent() { if (process.config.variables.node_no_browser_globals || - !getOptionValue('--experimental-global-customevent')) { + getOptionValue('--no-experimental-global-customevent')) { return; } const { CustomEvent } = require('internal/event_target'); diff --git a/src/node_options.cc b/src/node_options.cc index e5daab80196ae3..ff4bb3e9bc264f 100644 --- a/src/node_options.cc +++ b/src/node_options.cc @@ -366,7 +366,8 @@ EnvironmentOptionsParser::EnvironmentOptionsParser() { AddOption("--experimental-global-customevent", "expose experimental CustomEvent on the global scope", &EnvironmentOptions::experimental_global_customevent, - kAllowedInEnvironment); + kAllowedInEnvironment, + true); AddOption("--experimental-global-webcrypto", "expose experimental Web Crypto API on the global scope", &EnvironmentOptions::experimental_global_web_crypto, diff --git a/src/node_options.h b/src/node_options.h index bd0799829a9aa4..f696792e6a8ee3 100644 --- a/src/node_options.h +++ b/src/node_options.h @@ -109,7 +109,7 @@ class EnvironmentOptions : public Options { std::string dns_result_order; bool enable_source_maps = false; bool experimental_fetch = true; - bool experimental_global_customevent = false; + bool experimental_global_customevent = true; bool experimental_global_web_crypto = true; bool experimental_https_modules = false; std::string experimental_specifier_resolution; diff --git a/test/parallel/test-global-customevent-disabled.js b/test/parallel/test-global-customevent-disabled.js new file mode 100644 index 00000000000000..2e19a498a0c01d --- /dev/null +++ b/test/parallel/test-global-customevent-disabled.js @@ -0,0 +1,7 @@ +// Flags: --no-experimental-global-customevent +'use strict'; + +require('../common'); +const { strictEqual } = require('node:assert'); + +strictEqual(typeof CustomEvent, 'undefined'); diff --git a/test/parallel/test-global-customevent.js b/test/parallel/test-global-customevent.js index a113631a997bb9..cf21189b97643d 100644 --- a/test/parallel/test-global-customevent.js +++ b/test/parallel/test-global-customevent.js @@ -1,4 +1,4 @@ -// Flags: --experimental-global-customevent --expose-internals +// Flags: --expose-internals 'use strict'; require('../common'); diff --git a/test/parallel/test-repl-tab-complete.js b/test/parallel/test-repl-tab-complete.js index cc211d6da8aaef..06a55414d5beb5 100644 --- a/test/parallel/test-repl-tab-complete.js +++ b/test/parallel/test-repl-tab-complete.js @@ -405,7 +405,7 @@ putIn.run([ 'var custom = "test";', ]); testMe.complete('cus', common.mustCall(function(error, data) { - assert.deepStrictEqual(data, [['custom'], 'cus']); + assert.deepStrictEqual(data, [['CustomEvent', 'custom'], 'cus']); })); // Make sure tab completion doesn't crash REPL with half-baked proxy objects. diff --git a/test/wpt/test-events.js b/test/wpt/test-events.js index 6d4a4cff2d9fdc..5040d56d6a2c58 100644 --- a/test/wpt/test-events.js +++ b/test/wpt/test-events.js @@ -4,6 +4,4 @@ const { WPTRunner } = require('../common/wpt'); const runner = new WPTRunner('dom/events'); -runner.setFlags(['--experimental-global-customevent']); - runner.runJsTests();