@@ -112,6 +112,12 @@ class DebugOptions : public Options {
112112 std::vector<std::string>* argv) override ;
113113};
114114
115+ #ifdef NODE_ENABLE_EXPERIMENTALS
116+ #define EXPERIMENTAL_OPTION (name, default_value ) bool name = true ;
117+ #else
118+ #define EXPERIMENTAL_OPTION (name, default_value ) bool name = default_value;
119+ #endif
120+
115121class EnvironmentOptions : public Options {
116122 public:
117123 bool abort_on_uncaught_exception = false ;
@@ -122,19 +128,19 @@ class EnvironmentOptions : public Options {
122128 bool require_module = true ;
123129 std::string dns_result_order;
124130 bool enable_source_maps = false ;
125- bool experimental_addon_modules = false ;
126- bool experimental_eventsource = false ;
127- bool experimental_fetch = true ;
128- bool experimental_ffi = false ;
129- bool experimental_websocket = true ;
130- bool experimental_sqlite = true ;
131- bool experimental_stream_iter = false ;
131+ EXPERIMENTAL_OPTION ( experimental_addon_modules, false )
132+ EXPERIMENTAL_OPTION ( experimental_eventsource, false )
133+ EXPERIMENTAL_OPTION ( experimental_fetch, true )
134+ EXPERIMENTAL_OPTION ( experimental_ffi, false )
135+ EXPERIMENTAL_OPTION ( experimental_websocket, true )
136+ EXPERIMENTAL_OPTION ( experimental_sqlite, true )
137+ EXPERIMENTAL_OPTION ( experimental_stream_iter, false )
132138 bool webstorage = HAVE_SQLITE;
133- bool experimental_quic = false ;
139+ EXPERIMENTAL_OPTION ( experimental_quic, false )
134140 std::string localstorage_file;
135- bool experimental_global_navigator = true ;
136- bool experimental_global_web_crypto = true ;
137- bool experimental_import_meta_resolve = false ;
141+ EXPERIMENTAL_OPTION ( experimental_global_navigator, true )
142+ EXPERIMENTAL_OPTION ( experimental_global_web_crypto, true )
143+ EXPERIMENTAL_OPTION ( experimental_import_meta_resolve, false )
138144 std::string input_type; // Value of --input-type
139145 bool entry_is_url = false ;
140146 bool permission = false ;
@@ -148,8 +154,8 @@ class EnvironmentOptions : public Options {
148154 bool allow_wasi = false ;
149155 bool allow_ffi = false ;
150156 bool allow_worker_threads = false ;
151- bool experimental_repl_await = true ;
152- bool experimental_vm_modules = false ;
157+ EXPERIMENTAL_OPTION ( experimental_repl_await, true )
158+ EXPERIMENTAL_OPTION ( experimental_vm_modules, false )
153159 bool async_context_frame = true ;
154160 bool expose_internals = false ;
155161 bool force_node_api_uncaught_exceptions_policy = false ;
@@ -176,10 +182,10 @@ class EnvironmentOptions : public Options {
176182 uint64_t cpu_prof_interval = kDefaultCpuProfInterval ;
177183 std::string cpu_prof_name;
178184 bool cpu_prof = false ;
179- bool experimental_network_inspection = false ;
180- bool experimental_worker_inspection = false ;
181- bool experimental_storage_inspection = false ;
182- bool experimental_inspector_network_resource = false ;
185+ EXPERIMENTAL_OPTION ( experimental_network_inspection, false )
186+ EXPERIMENTAL_OPTION( experimental_worker_inspection, false )
187+ EXPERIMENTAL_OPTION( experimental_storage_inspection, false )
188+ EXPERIMENTAL_OPTION( experimental_inspector_network_resource, false )
183189 std::string heap_prof_dir;
184190 std::string heap_prof_name;
185191 static const uint64_t kDefaultHeapProfInterval = 512 * 1024 ;
@@ -273,7 +279,7 @@ class EnvironmentOptions : public Options {
273279 bool report_exclude_env = false ;
274280 bool report_exclude_network = false ;
275281 std::string experimental_config_file_path;
276- bool experimental_default_config_file = false ;
282+ EXPERIMENTAL_OPTION ( experimental_default_config_file, false )
277283
278284 inline DebugOptions* get_debug_options () { return &debug_options_; }
279285 inline const DebugOptions& debug_options () const { return debug_options_; }
0 commit comments