Skip to content

Conversation

@G-Rath
Copy link
Contributor

@G-Rath G-Rath commented Jul 15, 2025

I'm happy to take alternative names for the environment and local config variables

Resolves #2774

@changeset-bot
Copy link

changeset-bot bot commented Jul 15, 2025

🦋 Changeset detected

Latest commit: 215633d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
eslint-plugin-vue Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@G-Rath G-Rath force-pushed the support-erroring branch 4 times, most recently from 1d9181a to c26aeb9 Compare July 31, 2025 20:11
@G-Rath
Copy link
Contributor Author

G-Rath commented Jul 31, 2025

@waynzh would it be possible to get a review or even just a yay/nay on if you're open to this?

@FloEdelmann
Copy link
Member

I'm unsure whether an environment variable is the correct approach to this. Maybe it would be better to duplicate the configs with an -error variant for each one?

@G-Rath
Copy link
Contributor Author

G-Rath commented Aug 6, 2025

I'm personally not fussed so if you're happy having double the amount of configs I'm fine to do it that way too - I just figured the env variable was a nice way of leveraging the fact that going forward you have to use a JS file for the ESLint config (meaning its always possible to ensure that the property on process.env is always set when ESLint is running) without doing a breaking change

@FloEdelmann
Copy link
Member

@ota-meshi @waynzh What do you think?

@ota-meshi
Copy link
Member

I've been thinking about this for a few days, and my personal opinion is that I'm against adding new shareable configs or making major changes to them.
It's impossible to satisfy everyone's preferences, so I think it's better for users to create their own configs.
I think this is also related to #1951 (comment).
However, if @FloEdelmann and @waynzh both think this config change is a good idea, there's no problem with accepting it.

@ota-meshi @waynzh What do you think?

I'm not a fan of using environment variables.

@waynzh
Copy link
Member

waynzh commented Aug 8, 2025

For the IDE DX issue, you can address it by configuring the IDE-ESLint integration like this:

"eslint.rules.customizations": [ { "rule": "*", "severity": "error" } // { "rule": "vue/*", "severity": "error" } ]

I'm not a big fan of controlling this via environment variables either.
One thing worth noting is that there's already a (though not very active) discussion in the ESLint core (eslint/eslint#14679) about adding severity settings into ESLint config. If implemented, this would allow severity to be configured through a single field, removing the need for each plugin to provide separate sharable configs for different severity levels.

@G-Rath
Copy link
Contributor Author

G-Rath commented Aug 8, 2025

For the IDE DX issue, you can address it by configuring the IDE-ESLint integration like this:

That only works for VSCode

I'm not a big fan of controlling this via environment variables either.

Sounds like folks are against that, so I'll switch to generating new configs

@G-Rath G-Rath force-pushed the support-erroring branch 2 times, most recently from a2795d8 to 3825a40 Compare August 8, 2025 04:31
@G-Rath
Copy link
Contributor Author

G-Rath commented Aug 8, 2025

@FloEdelmann @waynzh @ota-meshi I've updated the implementation to generate dedicated configs instead of using an env variable

@G-Rath G-Rath changed the title feat: support having all rules in config report at error instead of warn using env variable feat: introduce -error versions of configs that have all rules configured to error Aug 8, 2025
G-Rath added 10 commits December 6, 2025 11:49
Revert "feat: support using `error` instead of `warn` for rules in config" This reverts commit efb2832. Revert "feat: regenerate configs" This reverts commit a379d77. Revert "feat: only define variable if it is needed" This reverts commit be3db8d. Revert "feat: regenerate rules" This reverts commit 98888a6. Revert "docs: add note to user guide" This reverts commit 3dd94e3. Revert "fix: avoid unneeded blank line" This reverts commit d7990e9.
Copy link
Member

@FloEdelmann FloEdelmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the late review. I still like the idea of more strict configs, so this mostly looks good to me 🙂

I have a few code and docs remarks though.

G-Rath and others added 2 commits December 12, 2025 17:11
Co-authored-by: Flo Edelmann <git@flo-edelmann.de>
@G-Rath G-Rath requested a review from FloEdelmann December 12, 2025 17:12
Copy link
Member

@FloEdelmann FloEdelmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks good to me now 🙂

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces -error variants of existing ESLint config presets to provide users with stricter configurations where all rules report as errors instead of warnings. This resolves issue #2774 by giving users an alternative to manually overriding warning severities.

Key Changes:

  • Modified config generator scripts to automatically create -error versions of warn-based configs
  • Generated 8 new config files (4 legacy + 4 flat) for strongly-recommended-error and recommended-error variants (Vue 2 & 3)
  • Updated documentation to describe the new config options

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
tools/update-lib-flat-configs.js Modified generator to create -error flat config variants with alwaysError parameter
tools/update-lib-configs.js Modified generator to create -error legacy config variants with alwaysError parameter
lib/configs/vue3-strongly-recommended-error.js Generated legacy config extending vue3-essential with strongly-recommended rules as errors
lib/configs/vue3-recommended-error.js Generated legacy config extending vue3-strongly-recommended-error with recommended rules as errors
lib/configs/vue2-strongly-recommended-error.js Generated legacy config extending vue2-essential with strongly-recommended rules as errors
lib/configs/vue2-recommended-error.js Generated legacy config extending vue2-strongly-recommended-error with recommended rules as errors
lib/configs/flat/vue3-strongly-recommended-error.js Generated flat config extending vue3-essential with strongly-recommended rules as errors
lib/configs/flat/vue3-recommended-error.js Generated flat config extending vue3-strongly-recommended-error with recommended rules as errors
lib/configs/flat/vue2-strongly-recommended-error.js Generated flat config extending vue2-essential with strongly-recommended rules as errors
lib/configs/flat/vue2-recommended-error.js Generated flat config extending vue2-strongly-recommended-error with recommended rules as errors
docs/user-guide/index.md Added documentation entries for all new -error config variants with usage descriptions
.changeset/brown-eels-care.md Added changeset describing the new feature as a minor version bump

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@FloEdelmann
Copy link
Member

@G-Rath can you please have a look at Copilot's suggestions? Some of them seem to make sense. Feel free to just comment on and resolve the invalid ones.

G-Rath and others added 4 commits December 18, 2025 06:55
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@G-Rath
Copy link
Contributor Author

G-Rath commented Dec 17, 2025

@FloEdelmann should be all good to go now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

4 participants