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: fe755cf

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.

)
}
}

Copy link

Copilot AI Dec 14, 2025

Choose a reason for hiding this comment

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

The script creates new -error config files but doesn't update lib/configs/index.js to export them. This means the new configs won't be accessible to users via the documented syntax like plugin:vue/strongly-recommended-error. The script should also update the exports in lib/configs/index.js to include entries like 'vue2-strongly-recommended-error': require('./vue2-strongly-recommended-error'), 'vue2-recommended-error': require('./vue2-recommended-error'), 'strongly-recommended-error': require('./vue3-strongly-recommended-error'), and 'recommended-error': require('./vue3-recommended-error').

Suggested change
// Update lib/configs/index.js to export all config files.
const CONFIGS_INDEX_PATH = path.join(ROOT, 'index.js')
function updateConfigsIndex() {
const files = fs.readdirSync(ROOT)
.filter(f => f.endsWith('.js') && f !== 'index.js')
const entries = files
.map(f => {
const name = path.basename(f, '.js')
return ` '${name}': require('./${name}')`
})
.join(',\n')
const content = `/*
* IMPORTANT!
* This file has been automatically generated,
* in order to update its content execute "npm run update"
*/
module.exports = {
${entries}
}
`
fs.writeFileSync(CONFIGS_INDEX_PATH, content)
}
updateConfigsIndex()

Copilot uses AI. Check for mistakes.
Comment on lines +68 to +76
- `*.configs["flat/strongly-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `*.configs["flat/recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `*.configs["flat/vue2-essential"]` ... `base`, plus rules to prevent errors or unintended behavior.
- `*.configs["flat/vue2-strongly-recommended"]` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `*.configs["flat/vue2-strongly-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/vue2-recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency
- `*.configs["flat/vue2-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
Copy link

Copilot AI Dec 14, 2025

Choose a reason for hiding this comment

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

The description "Above, except with all rules configured to error instead of warn" is potentially misleading. This config doesn't modify the config mentioned directly above it (strongly-recommended); rather, it's an alternative to strongly-recommended where the category's rules are set to error severity instead of warn. Consider clarifying this to say something like "Same as strongly-recommended, except with all rules in this category configured to error instead of warn" to make it clearer that this is an alternative, not a modification of the previous config.

Suggested change
- `*.configs["flat/strongly-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `*.configs["flat/recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `*.configs["flat/vue2-essential"]` ... `base`, plus rules to prevent errors or unintended behavior.
- `*.configs["flat/vue2-strongly-recommended"]` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `*.configs["flat/vue2-strongly-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/vue2-recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency
- `*.configs["flat/vue2-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/strongly-recommended-error"]` ... Same as strongly-recommended, except with all rules in this category configured to error instead of warn.
- `*.configs["flat/recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `*.configs["flat/recommended-error"]` ... Same as recommended, except with all rules in this category configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `*.configs["flat/vue2-essential"]` ... `base`, plus rules to prevent errors or unintended behavior.
- `*.configs["flat/vue2-strongly-recommended"]` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `*.configs["flat/vue2-strongly-recommended-error"]` ... Same as vue2-strongly-recommended, except with all rules in this category configured to error instead of warn.
- `*.configs["flat/vue2-recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency
- `*.configs["flat/vue2-recommended-error"]` ... Same as vue2-recommended, except with all rules in this category configured to error instead of warn.

Copilot uses AI. Check for mistakes.
Comment on lines +196 to +204
- `"plugin:vue/strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/recommended-error"` ... Above, except with all rules configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `"plugin:vue/vue2-essential"` ... `base`, plus rules to prevent errors or unintended behavior.
- `"plugin:vue/vue2-strongly-recommended"` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `"plugin:vue/vue2-strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/vue2-recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/vue2-recommended-error"` ... Above, except with all rules configured to error instead of warn.
Copy link

Copilot AI Dec 14, 2025

Choose a reason for hiding this comment

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

The description "Above, except with all rules configured to error instead of warn" is potentially misleading. This config doesn't modify the config mentioned directly above it (strongly-recommended); rather, it's an alternative to strongly-recommended where the category's rules are set to error severity instead of warn. Consider clarifying this to say something like "Same as strongly-recommended, except with all rules in this category configured to error instead of warn" to make it clearer that this is an alternative, not a modification of the previous config.

Suggested change
- `"plugin:vue/strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/recommended-error"` ... Above, except with all rules configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `"plugin:vue/vue2-essential"` ... `base`, plus rules to prevent errors or unintended behavior.
- `"plugin:vue/vue2-strongly-recommended"` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `"plugin:vue/vue2-strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/vue2-recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/vue2-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/strongly-recommended-error"` ... Same as strongly-recommended, except with all rules in this category configured to error instead of warn.
- `"plugin:vue/recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/recommended-error"` ... Same as recommended, except with all rules in this category configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `"plugin:vue/vue2-essential"` ... `base`, plus rules to prevent errors or unintended behavior.
- `"plugin:vue/vue2-strongly-recommended"` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `"plugin:vue/vue2-strongly-recommended-error"` ... Same as vue2-strongly-recommended, except with all rules in this category configured to error instead of warn.
- `"plugin:vue/vue2-recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/vue2-recommended-error"` ... Same as vue2-recommended, except with all rules in this category configured to error instead of warn.

Copilot uses AI. Check for mistakes.
Comment on lines +196 to +204
- `"plugin:vue/strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/recommended-error"` ... Above, except with all rules configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `"plugin:vue/vue2-essential"` ... `base`, plus rules to prevent errors or unintended behavior.
- `"plugin:vue/vue2-strongly-recommended"` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `"plugin:vue/vue2-strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/vue2-recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/vue2-recommended-error"` ... Above, except with all rules configured to error instead of warn.
Copy link

Copilot AI Dec 14, 2025

Choose a reason for hiding this comment

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

The description "Above, except with all rules configured to error instead of warn" is potentially misleading. This config doesn't modify the config mentioned directly above it (recommended); rather, it's an alternative to recommended where the category's rules are set to error severity instead of warn. Consider clarifying this to say something like "Same as recommended, except with all rules in this category configured to error instead of warn" to make it clearer that this is an alternative, not a modification of the previous config.

Suggested change
- `"plugin:vue/strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/recommended-error"` ... Above, except with all rules configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `"plugin:vue/vue2-essential"` ... `base`, plus rules to prevent errors or unintended behavior.
- `"plugin:vue/vue2-strongly-recommended"` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `"plugin:vue/vue2-strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/vue2-recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/vue2-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/strongly-recommended-error"` ... Same as strongly-recommended, except with all rules in this category configured to error instead of warn.
- `"plugin:vue/recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/recommended-error"` ... Same as recommended, except with all rules in this category configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `"plugin:vue/vue2-essential"` ... `base`, plus rules to prevent errors or unintended behavior.
- `"plugin:vue/vue2-strongly-recommended"` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `"plugin:vue/vue2-strongly-recommended-error"` ... Same as vue2-strongly-recommended, except with all rules in this category configured to error instead of warn.
- `"plugin:vue/vue2-recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/vue2-recommended-error"` ... Same as vue2-recommended, except with all rules in this category configured to error instead of warn.

Copilot uses AI. Check for mistakes.
Comment on lines +196 to +204
- `"plugin:vue/strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/recommended-error"` ... Above, except with all rules configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `"plugin:vue/vue2-essential"` ... `base`, plus rules to prevent errors or unintended behavior.
- `"plugin:vue/vue2-strongly-recommended"` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `"plugin:vue/vue2-strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/vue2-recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/vue2-recommended-error"` ... Above, except with all rules configured to error instead of warn.
Copy link

Copilot AI Dec 14, 2025

Choose a reason for hiding this comment

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

The description "Above, except with all rules configured to error instead of warn" is potentially misleading. This config doesn't modify the config mentioned directly above it (vue2-recommended); rather, it's an alternative to vue2-recommended where the category's rules are set to error severity instead of warn. Consider clarifying this to say something like "Same as vue2-recommended, except with all rules in this category configured to error instead of warn" to make it clearer that this is an alternative, not a modification of the previous config.

Suggested change
- `"plugin:vue/strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/recommended-error"` ... Above, except with all rules configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `"plugin:vue/vue2-essential"` ... `base`, plus rules to prevent errors or unintended behavior.
- `"plugin:vue/vue2-strongly-recommended"` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `"plugin:vue/vue2-strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/vue2-recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/vue2-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/strongly-recommended-error"` ... Same as strongly-recommended, except with all rules in this category configured to error instead of warn.
- `"plugin:vue/recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/recommended-error"` ... Same as recommended, except with all rules in this category configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `"plugin:vue/vue2-essential"` ... `base`, plus rules to prevent errors or unintended behavior.
- `"plugin:vue/vue2-strongly-recommended"` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `"plugin:vue/vue2-strongly-recommended-error"` ... Same as vue2-strongly-recommended, except with all rules in this category configured to error instead of warn.
- `"plugin:vue/vue2-recommended"` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `"plugin:vue/vue2-recommended-error"` ... Same as vue2-recommended, except with all rules in this category configured to error instead of warn.

Copilot uses AI. Check for mistakes.
Comment on lines +68 to +76
- `*.configs["flat/strongly-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `*.configs["flat/recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `*.configs["flat/vue2-essential"]` ... `base`, plus rules to prevent errors or unintended behavior.
- `*.configs["flat/vue2-strongly-recommended"]` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `*.configs["flat/vue2-strongly-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/vue2-recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency
- `*.configs["flat/vue2-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
Copy link

Copilot AI Dec 14, 2025

Choose a reason for hiding this comment

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

The description "Above, except with all rules configured to error instead of warn" is potentially misleading. This config doesn't modify the config mentioned directly above it (recommended); rather, it's an alternative to recommended where the category's rules are set to error severity instead of warn. Consider clarifying this to say something like "Same as recommended, except with all rules in this category configured to error instead of warn" to make it clearer that this is an alternative, not a modification of the previous config.

Suggested change
- `*.configs["flat/strongly-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `*.configs["flat/recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `*.configs["flat/vue2-essential"]` ... `base`, plus rules to prevent errors or unintended behavior.
- `*.configs["flat/vue2-strongly-recommended"]` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `*.configs["flat/vue2-strongly-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/vue2-recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency
- `*.configs["flat/vue2-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/strongly-recommended-error"]` ... Same as strongly-recommended, except with all rules in this category configured to error instead of warn.
- `*.configs["flat/recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency.
- `*.configs["flat/recommended-error"]` ... Same as recommended, except with all rules in this category configured to error instead of warn.
- Configurations for using Vue.js 2.x:
- `*.configs["flat/vue2-essential"]` ... `base`, plus rules to prevent errors or unintended behavior.
- `*.configs["flat/vue2-strongly-recommended"]` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `*.configs["flat/vue2-strongly-recommended-error"]` ... Same as vue2-strongly-recommended, except with all rules in this category configured to error instead of warn.
- `*.configs["flat/vue2-recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency
- `*.configs["flat/vue2-recommended-error"]` ... Same as vue2-recommended, except with all rules in this category configured to error instead of warn.

Copilot uses AI. Check for mistakes.
- Configurations for using Vue.js 2.x:
- `*.configs["flat/vue2-essential"]` ... `base`, plus rules to prevent errors or unintended behavior.
- `*.configs["flat/vue2-strongly-recommended"]` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `*.configs["flat/vue2-strongly-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
Copy link

Copilot AI Dec 14, 2025

Choose a reason for hiding this comment

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

The description "Above, except with all rules configured to error instead of warn" is potentially misleading. This config doesn't modify the config mentioned directly above it (vue2-strongly-recommended); rather, it's an alternative to vue2-strongly-recommended where the category's rules are set to error severity instead of warn. Consider clarifying this to say something like "Same as vue2-strongly-recommended, except with all rules in this category configured to error instead of warn" to make it clearer that this is an alternative, not a modification of the previous config.

Suggested change
- `*.configs["flat/vue2-strongly-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/vue2-strongly-recommended-error"]` ... Same as vue2-strongly-recommended, except with all rules in this category configured to error instead of warn.

Copilot uses AI. Check for mistakes.
- `*.configs["flat/vue2-strongly-recommended"]` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `*.configs["flat/vue2-strongly-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/vue2-recommended"]` ... Above, plus rules to enforce subjective community defaults to ensure consistency
- `*.configs["flat/vue2-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
Copy link

Copilot AI Dec 14, 2025

Choose a reason for hiding this comment

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

The description "Above, except with all rules configured to error instead of warn" is potentially misleading. This config doesn't modify the config mentioned directly above it (vue2-recommended); rather, it's an alternative to vue2-recommended where the category's rules are set to error severity instead of warn. Consider clarifying this to say something like "Same as vue2-recommended, except with all rules in this category configured to error instead of warn" to make it clearer that this is an alternative, not a modification of the previous config.

Suggested change
- `*.configs["flat/vue2-recommended-error"]` ... Above, except with all rules configured to error instead of warn.
- `*.configs["flat/vue2-recommended-error"]` ... Same as vue2-recommended, except with all rules in this category configured to error instead of warn.

Copilot uses AI. Check for mistakes.
- Configurations for using Vue.js 2.x:
- `"plugin:vue/vue2-essential"` ... `base`, plus rules to prevent errors or unintended behavior.
- `"plugin:vue/vue2-strongly-recommended"` ... Above, plus rules to considerably improve code readability and/or dev experience.
- `"plugin:vue/vue2-strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
Copy link

Copilot AI Dec 14, 2025

Choose a reason for hiding this comment

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

The description "Above, except with all rules configured to error instead of warn" is potentially misleading. This config doesn't modify the config mentioned directly above it (vue2-strongly-recommended); rather, it's an alternative to vue2-strongly-recommended where the category's rules are set to error severity instead of warn. Consider clarifying this to say something like "Same as vue2-strongly-recommended, except with all rules in this category configured to error instead of warn" to make it clearer that this is an alternative, not a modification of the previous config.

Suggested change
- `"plugin:vue/vue2-strongly-recommended-error"` ... Above, except with all rules configured to error instead of warn.
- `"plugin:vue/vue2-strongly-recommended-error"` ... Same as vue2-strongly-recommended, except with all rules in this category configured to error instead of warn.

Copilot uses AI. Check for mistakes.
"eslint-plugin-vue": minor
---

Added [new configs](https://eslint.vuejs.org/user-guide/#bundle-configurations-eslint-config-js) `strongly-recommended-error` and `recommended-error` with all rules' severity set to `error`
Copy link

Copilot AI Dec 14, 2025

Choose a reason for hiding this comment

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

The changeset description only mentions strongly-recommended-error and recommended-error, but this PR also adds Vue 2 variants (vue2-strongly-recommended-error and vue2-recommended-error) and flat config versions of all these. Consider updating the description to be more comprehensive, for example: "Added new -error config variants (strongly-recommended-error, recommended-error, vue2-strongly-recommended-error, vue2-recommended-error, and their flat config equivalents) with all rules' severity set to error"

Suggested change
Added [new configs](https://eslint.vuejs.org/user-guide/#bundle-configurations-eslint-config-js) `strongly-recommended-error` and `recommended-error` with all rules' severity set to `error`
Added [new `-error` config variants](https://eslint.vuejs.org/user-guide/#bundle-configurations-eslint-config-js): `strongly-recommended-error`, `recommended-error`, `vue2-strongly-recommended-error`, `vue2-recommended-error`, and their flat config equivalents, with all rules' severity set to `error`.

Copilot uses AI. Check for mistakes.
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

Successfully merging this pull request may close these issues.

Allow having all rules error instead of warn

4 participants