Conversation
|
Review requested:
|
|
That seems like a bad idea; if you want to avoid long commands, use a config file, no? |
|
why would you want to enable ALL experimental flags? It might have side effects the user is not aware of |
|
I can document this to be very bad or dangerous. |
Just to enable a bunch of experimental flags you have to create a JSON file with schema and so forth. Seems to be a little overkill. |
There was a problem hiding this comment.
Making my objection explicit. The node.config.json exists for this specific reason: improve the dx of having a lot of cli flags. I cannot think a use case where you want to enable all experimental flags. This might cause unexpected effects because the interaction between multiple experimental flag is untested. I'd rather have user write a json file than a dangerous "free for all flag"
|
@marco-ippolito I understand your concerns. I disagree, which is totally fine. |
|
An alternative would be a build/configure flag, would that work for you? |
I'm fine with a build flag |
Do you mean a configure flag that enables the CLI flag on C++ side so that only people with custom build will see it? If that's the idea, I'm up for it. Good idea. @marco-ippolito Would it solve your objection? |
|
Amazing. Updating this soon. |
yes, I'm fine with it, would be nice to actually have them enabled without a runtime flag (just the build flag) so you can run the test suite and test the interaction among all the experimental features. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #62755 +/- ##
==========================================
- Coverage 91.55% 89.69% -1.86%
==========================================
Files 356 706 +350
Lines 149601 218127 +68526
Branches 23395 41734 +18339
==========================================
+ Hits 136967 195651 +58684
- Misses 12371 14399 +2028
- Partials 263 8077 +7814
🚀 New features to boost your workflow:
|
Signed-off-by: Paolo Insogna <paolo@cowtech.it>
b7fc072 to
31ba820
Compare
|
@marco-ippolito @aduh95 Updated now. WDYT? |
| EXPERIMENTAL_OPTION(experimental_addon_modules, false) | ||
| EXPERIMENTAL_OPTION(experimental_eventsource, false) | ||
| EXPERIMENTAL_OPTION(experimental_fetch, true) | ||
| EXPERIMENTAL_OPTION(experimental_ffi, false) | ||
| EXPERIMENTAL_OPTION(experimental_websocket, true) | ||
| EXPERIMENTAL_OPTION(experimental_sqlite, true) | ||
| EXPERIMENTAL_OPTION(experimental_stream_iter, false) |
There was a problem hiding this comment.
Wouldn't it make more sense to have a EXPERIMENTAL_DISABLED_BY_DEFAULT be set to true or false? Seems more intent reveling to me
| EXPERIMENTAL_OPTION(experimental_addon_modules, false) | |
| EXPERIMENTAL_OPTION(experimental_eventsource, false) | |
| EXPERIMENTAL_OPTION(experimental_fetch, true) | |
| EXPERIMENTAL_OPTION(experimental_ffi, false) | |
| EXPERIMENTAL_OPTION(experimental_websocket, true) | |
| EXPERIMENTAL_OPTION(experimental_sqlite, true) | |
| EXPERIMENTAL_OPTION(experimental_stream_iter, false) | |
| bool experimental_addon_modules = EXPERIMENTAL_DISABLED_BY_DEFAULT; | |
| bool experimental_eventsource = EXPERIMENTAL_DISABLED_BY_DEFAULT; | |
| bool experimental_fetch = true; | |
| bool experimental_ffi = EXPERIMENTAL_DISABLED_BY_DEFAULT; | |
| bool experimental_websocket = EXPERIMENTAL_DISABLED_BY_DEFAULT; | |
| bool experimental_sqlite = HAVE_SQLITE; | |
| bool experimental_stream_iter = EXPERIMENTAL_DISABLED_BY_DEFAULT; |
| default=None, | ||
| help='Enable the --trace-maps flag in V8 (use at your own risk)') | ||
|
|
||
| parser.add_argument('--experimental', |
There was a problem hiding this comment.
--experimental is not a great name. wdyt of the following:
| parser.add_argument('--experimental', | |
| parser.add_argument('--disable-experimental-flags-gating', |
There was a problem hiding this comment.
or --enable-all-experimental rather than disable
This PR adds a new
--experimentalBUILD flag which can be used to turn ALL experimental features on by default.