Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request: Omitting experimental flags from new config file #57157

Open
jasnell opened this issue Feb 21, 2025 · 4 comments
Open

Request: Omitting experimental flags from new config file #57157

jasnell opened this issue Feb 21, 2025 · 4 comments

Comments

@jasnell
Copy link
Member

jasnell commented Feb 21, 2025

Opening this issue on behalf of several individuals with whom I spoke about the new configuration file landed in #57016 ...

The specific request from three separate people in separate conversations is to specifically omit --experimental-* flags from the configuration file format, even if hose flags are otherwise allowed in NODE_OPTIONS.

/cc @marco-ippolito @ljharb @ShogunPanda @anonrig @joyeecheung @mhdawson @bnb (as the folks who authored/reviewed that PR)

@marco-ippolito
Copy link
Member

I'm not against it but I would like the decision to be properly motivated.
Experimental options are already hardcoded in .env files and package.json

@jasnell
Copy link
Member Author

jasnell commented Feb 21, 2025

Absolutely fair... I opened the issue so that we can discuss the motivation. I can see it both ways so not sure I'm best to articulate the motivation. I'm sending this issue link to multiple people with the hope they will weigh in.

@pmarchini
Copy link
Member

A thought regarding a specific use case: the test runner has many experimental flags and is, in fact, largely experimental.
The configuration file potentially has a strong application in this specific area.

I wonder, for this reason, if it might make sense to consider handling exceptions when it comes to not allowing experimental flags to be managed via the file.

@joyeecheung
Copy link
Member

joyeecheung commented Feb 21, 2025

I wonder if we can solve the problem by:

  • Make sure experimental features that we don't want widespread usage always lead to a runtime warning
  • Make sure this warning cannot be disabled via the config file (if the --no-warnings or other warning flags specifically come from the config file, they are not effective for experimental warnings...or deprecation warnings, for that matter).
  • When we want experimental features to get wider usage, we either remove the warning, or allow it to be disabled by files

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants