NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3989 most downloaded on npm
Official ESLint plugin for Vue.js
Last release 12 days ago
06 Sep 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
193 releases · first in 2016
## ⚙️ Updates * #1934 Added support for to `vue/component-name-in-template-casing` rule. ## 🐛 Bug Fixes * #1937 Fixed false negatives for template lit
<script setup> to vue/component-name-in-template-casing rule.vue/custom-event-name-casing, vue/no-restricted-custom-event, and vue/require-explicit-emits rules.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.2.0...v9.3.0
## ⚙️ Updates * #1917 Added support for Vue 2.7 to `vue/no-unsupported-features` rule. Full Changelog: https://github.com/vuejs/eslint-plugin-vue/comp
vue/no-unsupported-features rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.1.1...v9.2.0
One column per quarter.
## 🐛 Bug Fixes * #1909 Fixed false negatives in `vue/no-unused-components` rule Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.
vue/no-unused-components ruleFull Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.1.0...v9.1.1
## 🐛 Bug Fixes * #1907 Fixed `vue/prefer-import-from-vue` rule to skip side-effect imports in .d.ts files. Full Changelog: https://github.com/vuejs/es
vue/prefer-import-from-vue rule to skip side-effect imports in .d.ts files.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.0.1...v9.1.0
## 🐛 Bug Fixes - #1896 Fixed false positive for script setup in `vue/no-expose-after-await` rule Full Changelog: https://github.com/vuejs/eslint-plugi
vue/no-expose-after-await ruleFull Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.0.0...v9.0.1
`vue/no-invalid-model-keys` rule is now deprecated, as it's renamed to `vue/valid-model-definition`
vue/custom-event-name-casing rule to camelCase.vue/html-closing-bracket-spacing and vue/html-closing-bracket-newline rules for top-level tags.plugin:vue/vue3-essential config:
vue/no-child-content rulevue/no-expose-after-await rulevue/no-reserved-component-names rulevue/no-use-computed-property-like-method rulevue/no-v-text-v-html-on-component rulevue/prefer-import-from-vue rulevue/valid-attribute-name ruleplugin:vue/vue3-strongly-recommended config:
plugin:vue/vue3-recommended config:
plugin:vue/essential config:
vue/no-child-content rulevue/no-reserved-component-names rulevue/no-use-computed-property-like-method rulevue/no-v-text-v-html-on-component rulevue/valid-attribute-name rulevue/valid-model-definition rulevue/no-export-in-script-setup rule *vue/no-ref-as-operand rule *vue/no-setup-props-destructure rule *vue/return-in-emits-validator rule *vue/valid-define-emits rule *vue/valid-define-props rule *plugin:vue/strongly-recommended config:
plugin:vue/recommended config:
Note: The rules marked with * are now included in the plugin:vue/essential config because @vue/composition-api and unplugin-vue2-script-setup add (limited) support for these Vue 3 features in Vue 2. If you don't use those libraries, enabling these rules shouldn't affect you.
vue/no-invalid-model-keys rule is now deprecated, as it's renamed to vue/valid-model-definitionvue/script-setup-uses-vars rule is now deprecated, as it's no longer needed with the upgrade to vue-eslint-parser to v9vue/setup-compiler-macros environment is now deprecated, as it's no longer needed with the upgrade to vue-eslint-parser to v9Previously deprecated rules are removed completely:
vue/experimental-script-setup-vars rule (deprecated in v7.13.0): not needed anymorevue/name-property-casing rule (deprecated in v7.0.0): use vue/component-definition-name-casing insteadvue/no-confusing-v-for-v-if rule (deprecated in v5.0.0): use vue/no-use-v-if-with-v-for insteadvue/no-unregistered-components rule (deprecated in v8.4.0): use vue/no-undef-components insteadPreviously deprecated internal util methods are removed completely:
getComponentProps: use getComponentPropsFromOptions insteadgetComponentEmits: use getComponentEmitsFromOptions insteadvue/match-component-file-name rule fixable via editor suggestions.<script setup> in vue/no-expose-after-await rule.vue/valid-attribute-name rule.vue/define-macros-order rule when there are multiple <script> tags.vue/html-closing-bracket-spacing and vue/html-closing-bracket-newline rules for top-level tags.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.7.0...v9.0.0
## 🐛 Bug Fixes - #1861 Fixed false positives for multiple scripts in `vue/define-macros-order` rule. Full Changelog: https://github.com/vuejs/eslint-p
vue/define-macros-order rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.7.0...v8.7.1
## ✨ Enhancements - #1825, #1842 Added support for CSS selectors to order option for `vue/component-tags-order` rule. - #1831 Added `vue/match-compone
vue/component-tags-order rule.vue/match-component-import-name rule that requires the registered component name to match the imported component name.vue/define-macros-order rule that enforces the order of defineEmits and defineProps compiler macros.<script setup> in vue/multi-word-component-names rule.<script setup> with TS literal type in vue/require-valid-default-prop rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.6.0...v8.7.0
## ✨ Enhancements - #1811 Made `vue/component-tags-order` rule auto-fixable. - #1822 Added `vue/prefer-prop-type-boolean-first` rule that enforces tha
vue/component-tags-order rule auto-fixable.vue/prefer-prop-type-boolean-first rule that enforces that Boolean comes first in component prop typesvue/no-restricted-html-elements rule that disallows specific HTML elements.<slot> in vue/attribute-hyphenation rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.5.0...v8.6.0
## ✨ Enhancements * #1796 Added `prefer-true-attribute-shorthand` rule that forces the v-bind attribute with true value to use the shorthand. * #1804
prefer-true-attribute-shorthand rule that forces the v-bind attribute with true value to use the shorthand.vue/prefer-import-from-vue rule that aims to use imports from 'vue' instead of imports from '@vue/*'.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.4.1...v8.5.0
## 🐛 Bug Fixes * #1782 Support template literal component names in `vue/no-undef-components` rule. * #1790 Fixed false positives due to conflicts with
vue/no-undef-components rule.vue/no-unused-properties rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.4.0...v8.4.1
## ✨ Enhancements * #1760 Added `vue/no-v-text-v-html-on-component` rule that disallows the use of v-text / v-html on component. * #1762 Added `vue/ob
vue/no-v-text-v-html-on-component rule that disallows the use of v-text / v-html on component.vue/object-shorthand rule that applies object-shorthand rule to expressions in <template>.vue/no-undef-components rule that warns reports component that are used in the <template>, but that are not defined in the <script setup> or the Options API's components section.vue/quote-props rule that applies quote-props rule to expressions in <template>.vue/no-unused-properties rule.vue/no-undef-properties rule.vue/script-indent rule.v-bind="obj" with v-model in vue/attributes-order rule.v-bind() in vue/no-extra-parens rule.vue/valid-next-tick rule.vue/no-unregistered-components rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.3.0...v8.4.0
## 🐛 Bug Fixes * #1755 Fix crash on without end tag in `vue/html-indent` rule. * #1756 Fix false positive for unknown emits definition in `vue/require
<textarea> without end tag in vue/html-indent rule.vue/require-explicit-emits rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.2.0...v8.3.0
## ✨ Enhancements * #1725 Added `vue/component-options-name-casing` rule that enforces the casing of component name in components options. * #1729 Add
vue/component-options-name-casing rule that enforces the casing of component name in components options.vue/prefer-separate-static-class rule that requires static class names in template to be in a separate class attribute.vue/valid-define-emits and vue/valid-define-props rules.vue/script-indent rule.asyncData in vue/no-dupe-keys rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.1.1...v8.2.0
## 🐛 Bug Fixes * #1721 Fixed crash in `vue/component-api-style` rule. --- Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.1.0...
vue/component-api-style rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.1.0...v8.1.1
## ✨ Enhancements - #1707 Added `vue/no-child-content` rule that reports child content of elements that have a directive which overwrites that child c
vue/no-child-content rule that reports child content of elements that have a directive which overwrites that child content.vue/no-expose-after-await rule that reports the expose() after await expression.composition-vue2 style option in vue/component-api-style rule.vue/no-export-in-script-setup rule.v-bind.sync in vue/no-mutating-props rule.vue/no-mutating-props rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.0.3...v8.1.0
## 🐛 Bug Fixes - #1691 Upgrade vue-eslint-parser to use patch. It upgrade fixes the wrong location in multiple --- Full Changelog: https://github.com/
<script>Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.0.2...v8.0.3
## 🐛 Bug Fixes - #1689 Fixed false positive for filename in `vue/multi-word-component-names` rule --- Full Changelog: https://github.com/vuejs/eslint-
vue/multi-word-component-names ruleFull Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.0.1...v8.0.2
## 🐛 Bug Fixes * #1686 Fixed false positives for arrow return in `vue/valid-next-tick` rule. --- Full Changelog: https://github.com/vuejs/eslint-plugi
vue/valid-next-tick rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.0.0...v8.0.1
Changed plugin:vue/vue3-essential config.
plugin:vue/vue3-essential config.
vue/no-deprecated-v-is rule.vue/no-export-in-script-setup rule.vue/valid-define-emits rule.vue/valid-define-props rule.vue/valid-next-tick rule.vue/valid-v-memo rule.vue/no-useless-template-attributes rule.vue/no-computed-properties-in-data rule.vue/multi-word-component-names rule.vue/no-deprecated-router-link-tag-prop rule.vue/no-reserved-props rule.plugin:vue/vue3-strongly-recommended config.
vue/v-on-event-hyphenation rule.vue/first-attribute-linebreak rule.plugin:vue/vue3-recommended config.
plugin:vue/essential config.
vue/valid-next-tick rule.vue/no-useless-template-attributes rule.vue/no-computed-properties-in-data rule.vue/multi-word-component-names rule.vue/no-reserved-props rule.plugin:vue/strongly-recommended config.
vue/first-attribute-linebreak rule.plugin:vue/recommended config.
allowFirstLine option of the vue/max-attributes-per-line rule.Core:
setup-compiler-macros environment.Rules:
vue/first-attribute-linebreak rule aims to enforce a consistent location for the first attribute.vue/no-reserved-props rule that disallow reserved names to be used in props.vue/no-loss-of-precision rule that applies no-loss-of-precision rule to expressions in <template>.ignore option to vue/multi-word-component-names rule.asyncData in vue/no-dupe-keys, vue/no-reserved-keys, vue/no-template-shadow, vue/no-undef-properties, and vue/no-unused-properties rules.vue/multi-word-component-names rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v7.20.0...v8.0.0
## ✨ Enhancements - #1472 Added vue/no-undef-properties rule that warns of using undefined properties. - #1653 Added vue/no-computed-properties-in-dat
vue/no-undef-properties rule that warns of using undefined properties.vue/no-computed-properties-in-data rule that disallow accessing computed properties in data().vue/no-use-computed-property-like-method rule reports.vue/multi-word-component-names rule to enforce multiple words in component names.vue/no-deprecated-router-link-tag-prop rule that disallow using deprecated tag property on <RouterLink>.vue/no-use-computed-property-like-method rule.vue/valid-define-emits and vue/valid-define-props rules.^6.2.0 || ^7.0.0 || ^8.0.0-0 to ^6.2.0 || ^7.0.0 || ^8.0.0.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v7.19.1...v7.20.0
[83eab8d2] Fixed false positives for vars inside functions in vue/valid-define-emits and vue/valid-define-props rules. Picked from #1652
vue/valid-define-emits and vue/valid-define-props rules. Picked from #1652Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v7.19.0...v7.19.1
All commits: v7.18.0 -> v7.19.0
vue/no-restricted-class rule that reports the classes you don't want to allow in the template.vue/no-useless-template-attributes rule that disallow useless attribute on <template> tags.vue/no-unused-properties rule.update:.All commits: v7.18.0 -> v7.19.0
All commits: v7.17.0 -> v7.18.0
vue/component-api-style rule that aims to make the API style you use to define Vue components consistent in your project.vue/script-indent rule to support Class static block and typescript-eslint v5(rc)defineProps to follow vue v3.2.9.All commits: v7.17.0 -> v7.18.0
All commits: v7.16.0 -> v7.17.0
vue/no-v-text rule that disallow v-text directive.All commits: v7.16.0 -> v7.17.0
All commits: v7.15.2 -> v7.16.0
vue/valid-v-memo rule that enforce valid v-memo directives.vue/no-unsupported-features rule to support Vue 3.2 syntaxes.vue/script-setup-uses-vars rule.vue/no-restricted-v-bind and vue/valid-v-bind rules to support attr modifier.All commits: v7.15.2 -> v7.16.0
All commits: v7.15.1 -> v7.15.2
vue/no-use-computed-property-like-method rule.All commits: v7.15.1 -> v7.15.2
All commits: v7.15.0 -> v7.15.1
vue/no-reserved-keys rule.vue/require-default-prop rule.All commits: v7.15.0 -> v7.15.1
vue/template-curly-spacing rule.
vue/no-use-computed-property-like-method rule that disallows to use computed property like method.vue/block-lang rule rule that disallows the use of languages other than those available in the your application for the lang attribute of block elements.vue/comma-spacing rule.vue/dot-notation rule.vue/eqeqeq rule.vue/func-call-spacing rule.vue/no-extra-parens rule.vue/no-restricted-syntax rule.vue/no-useless-concat rule.vue/prefer-template rule.vue/space-in-parens rule.vue/space-infix-ops rule.vue/space-unary-ops rule.vue/template-curly-spacing rule.vue/no-mutating-props rule.All commits: v7.14.0 -> v7.15.0
vue/script-setup-uses-vars rule.
vue/require-expose rule that enforces the component to explicitly declare the exposed properties to the component using expose.vue/no-unused-properties rule to support exposevue/no-parsing-error rule.vue/no-unused-properties rule.vue/script-setup-uses-vars rule.vue/no-unsupported-features rule.vue/valid-v-xxx rules.<script setup> in vue/no-lifecycle-after-await rule.<script setup> in vue/no-watch-after-await rule.<script setup> in vue/no-restricted-call-after-await rule.semver compatible with Node v8.All commits: v7.13.0 -> v7.14.0
defineProps are referencing locally declared variables.
<script setup>
vue/script-setup-uses-vars rule that will find variables in <script setup> used in <template> and mark them as used.vue/no-export-in-script-setup rule that disallows ES export in <script setup>.vue/valid-define-props rule that reports defineProps compiler macros in the following cases:
defineProps are referencing locally declared variables.defineProps has both a literal type and an argument. e.g. defineProps<{/*props*/}>({/*props*/})defineProps has been called multiple times.defineProps and export default {}.defineProps or export default {}.vue/valid-define-emits rule that reports defineEmits compiler macros in the following cases:
defineEmits are referencing locally declared variables.defineEmits has both a literal type and an argument. e.g. defineEmits<(e: 'foo')=>void>(['bar'])defineEmits has been called multiple times.defineEmits and export default {}.defineEmits or export default {}.vue-eslint-parser.<script setup>.
vue/no-mutating-props rule.vue/no-reserved-keys rule.vue/no-async-in-computed-properties rule.vue/no-side-effects-in-computed-properties rule.vue/require-prop-type-constructor rule.vue/no-lifecycle-after-await rule.vue/require-valid-default-prop rule.vue/return-in-emits-validator rule.vue/require-default-prop rule.vue/no-setup-props-destructure rule.vue/no-watch-after-await rule.vue/no-template-shadow rule.vue/prop-name-casing rule.vue/require-prop-types rule.vue/require-explicit-emits rule.vue/custom-event-name-casing rule.vue/no-boolean-default rule.vue/no-restricted-call-after-await rule.vue/no-restricted-props rule.vue/no-unregistered-components rule.vue/no-unsupported-features rule.vue/no-unused-properties rule.vue/no-unused-refs rule.vue/require-emit-validator rule.vue/require-name-property rule.vue/no-template-shadow rule to support setup().vue/no-unused-refs rule to support setup().vue/experimental-script-setup-vars rule.All commits: v7.12.1 -> v7.13.0
All commits: v7.12.0 -> v7.12.1
vue/script-indent rule.All commits: v7.12.0 -> v7.12.1
All commits: v7.11.1 -> v7.12.0
vue/script-indent rule to support TypeScript syntax.vue/script-indent rule and vue/html-indent rule to support ES2022 Class Fields syntax. (When using espree v8+.)vue/no-deprecated-slot-attribute rule and vue/no-deprecated-slot-scope-attribute rule.vue/no-deprecated-props-default-this rule.All commits: v7.11.1 -> v7.12.0
## :bug: Bug Fixes - #1515 Fixed crash when using objectsInObjects option in vue/object-curly-spacing rule.
objectsInObjects option in vue/object-curly-spacing rule.All commits: v7.10.0 -> v7.11.0
vue/no-this-in-before-route-enter rule that disallow this usage in a beforeRouteEnter method.vue/no-deprecated-v-is rule that disallow deprecated v-is directive (in Vue.js 3.1.0+).vue/no-deprecated-destroyed-lifecycle rule to auto-fixable.is="vue:" (Vue 3.1.0+).All commits: v7.10.0 -> v7.11.0
## ✨ Enhancements ### New Rules: - #1487 Added vue/require-emit-validator rule that enforce the validator definition in emits. ### Other changes in Ru
vue/require-emit-validator rule that enforce the validator definition in emits.vue/this-in-template rule to support autofix.vue/attribute-hyphenation rule to ignore SVG attributes.All commits: v7.9.0 -> v7.10.0
## ✨ Enhancements ### New Rules: - #1466 Added vue/no-invalid-model-keys rule that disallow invalid model option keys. - #1474 Added vue/no-unused-ref
vue/no-invalid-model-keys rule that disallow invalid model option keys.vue/no-unused-refs rule that reports refs that are defined using the ref attribute in <template> but are not used via $refs.singleline.allowFirstLine option to vue/max-attributes-per-line rule.as expression for vue/require-valid-default-prop rule.All commits: v7.8.0 -> v7.9.0
## ✨ Enhancements - #1450 Changed vue/require-direct-export rule to allow more cases (e.g. export default defineComponent({})). - #1451 Changed vue/va
vue/require-direct-export rule to allow more cases (e.g. export default defineComponent({})).vue/valid-v-show rule to disallow v-show in <template> tag.## ✨ Enhancements ### Changes in Rules: - #1444 Added ignorePublicMembers option to vue/no-unused-properties rule. ## 🐛 Bug Fixes - #1446 Fixed false
ignorePublicMembers option to vue/no-unused-properties rule.$ in vue/this-in-template rule.vue-eslint-parser to v7.6.0.All commits: v7.6.0 -> v7.7.0
vue/max-attributes-per-line rule.
vue/html-button-has-type rule."SLOT" option to vue/attributes-order rule to specify v-slot order.vue/attributes-order rule.vue/component-tags-order rule.vue/max-attributes-per-line rule.vue/new-line-between-multi-line-property rule.vue/no-bare-strings-in-template rule.vue/no-duplicate-attributes rule.vue/no-potential-component-option-typo rule.vue/no-reserved-component-names rule.vue/no-use-v-if-with-v-for rule.vue/no-useless-mustaches rule.vue/no-useless-v-bind rule.vue/valid-v-slot rule.vue/no-deprecated-slot-attribute rule when slot name contains _.v-bind="object" in vue/attributes-order rule.vue-eslint-parser to v7.5.0.vue/no-restricted-syntax rule.All commits: v7.5.0 -> v7.6.0
## ✨ Enhancements ### New Rules: - #1401 Added vue/no-constant-condition rule applies no-constant-condition rule to expressions in , v-if, v-show and
vue/no-constant-condition rule applies no-constant-condition rule to expressions in <template>, v-if, v-show and v-else-if.vue/next-tick-style rule that enforces whether the callback version or Promise version should be used in Vue.nextTick and this.$nextTick.vue/valid-next-tick rule that enforce valid nextTick function calls.vue/no-ref-as-operand rule fixable.computed() support to vue/no-async-in-computed-properties rule.computed() support to vue/return-in-computed-property rule.computed() support to vue/no-side-effects-in-computed-properties rule.vue/one-component-per-file and vue/require-name-property rules.vue/no-unused-properties rule.vue/attributes-order rule.vue/no-async-in-computed-properties rule.All commits: v7.4.1 -> v7.5.0
https://github.com/vuejs/eslint-plugin-vue/commit/d176d6bce9953c1b20eff851208235ea7e7a5efa Fixed false positives for assignments in no-ref-as-operand
no-ref-as-operand ruleAll commits: v7.4.0 -> v7.4.1
## ✨ Enhancements ### New Rules: - #1381 Added vue/no-restricted-call-after-await rule that reports your restricted calls after the await expression.
vue/no-restricted-call-after-await rule that reports your restricted calls after the await expression.vue/v-on-event-hyphenation rule that enforces using hyphenated v-on event names on custom components in Vue templates.vue/no-restricted-block rule that allows you to specify block names that you don't want to use in your application.deepData option to vue/no-unused-properties rule.vue/no-unregistered-component rule.v-bind="object" syntax in vue/attributes-order rule.All commits: v7.3.0 -> v7.4.0
## ✨ Enhancements - #1080 Added vue/new-line-between-multiline-property rule that enforces new lines between multi-line properties. - #1376 Added vue/
vue/new-line-between-multiline-property rule that enforces new lines between multi-line properties.vue/no-restricted-props rule that disallows prop names that you don't want to use.vue/no-restricted-custom-event rule that disallows custom event names that you don't want to use.All commits: v7.2.0 -> v7.3.0
## ✨ Enhancements - #1364 Added casing option to vue/custom-event-name-casing rule. ## ⚙️ Updates - #1365 Upgraded vue-eslint-parser to 7.2.0 - #1364
vue/custom-event-name-casing rule.vue/custom-event-name-casing rule from "plugin:vue/essential" and "plugin:vue/vue3-essential" configurationsis attr in vue/valid-v-bind-sync rule.vue/valid-v-slot rulevue/valid-v-slot and vue/valid-v-model rulevue/no-arrow-functions-in-watch rulevue/v-on-function-call rule.All commits: v7.1.0 -> v7.2.0
## ✨ Enhancements ### New Rules: - #1328 Added vue/block-tag-newline rule that enforces a line break (or no line break) after opening and before closi
vue/block-tag-newline rule that enforces a line break (or no line break) after opening and before closing block tags.vue/array-bracket-newline rule applies array-bracket-newline rule to expressions in <template>.ignores option to vue/custom-event-name-casing rule.allowModifiers option to vue/valid-v-slot rule.vue/no-unregistered-components rule.vue/no-unused-propertiesAll commits: v7.0.1 -> v7.1.0
## 🐛 Bug Fixes - #1317 Avoid redundant global self-require of the plugin. ---- All commits: v7.0.0 -> v7.0.1
Support for Vue.js 3.0 "One Piece".
plugin:vue/base config.
jsx:true from shareable configs.parserOptions.ecmaVersion to 2020.vue/experimental-script-setup-vars rule.plugin:vue/essential config.
vue/valid-v-bind-sync rule.vue/valid-v-slot rule.vue/no-custom-modifiers-on-v-model rule.vue/no-multiple-template-root rule.vue/no-v-model-argument rule.vue/no-mutating-props rule.vue/no-arrow-functions-in-watch rule.vue/custom-event-name-casing rule.vue/no-dupe-v-else-if rule.vue/no-v-for-template-key rule.plugin:vue/strongly-recommended config.
vue/component-definition-name-casing rule.vue/v-slot-style rule.vue/name-property-casing rule.vue/one-component-per-file rule.plugin:vue/recommended config.
vue/component-tags-order rule.vue/no-multiple-slot-args rule.vue/no-lone-template rule.vue/name-property-casing rule to be deprecate.vue/order-in-components rule.
emits to after props.setup to after emits.beforeUnmount and unmounted to LIFECYCLE_HOOKS.renderTracked and renderTriggered to LIFECYCLE_HOOKS.provide and inject to after mixins.errorCaptured to LIFECYCLE_HOOKS.beforeRouteEnter, beforeRouteUpdate and beforeRouteLeave) to after provide / inject (provide / inject was added after mixins).key to after name.layout, middleware, validate, scrollToTop, transition, loading to after ROUTER_GUARDS (ROUTER_GUARDS was added after provide / inject).watchQuery to after watch.head move from after methods to after data.fetch move from after props / propsData to after data.plugin:vue/essential config.plugin:vue/strongly-recommended config.plugin:vue/recommended config.plugin:vue/vue3-essential config.plugin:vue/vue3-strongly-recommended config.plugin:vue/vue3-recommended config.vue/no-deprecated-v-bind-sync rule that reports when deprecated .sync modifier is used on v-bind directive. Related to RFC0005vue/no-deprecated-filter rule that reports usage of filters syntax removed in Vue.js 3.0.0+. Related to RFC0015vue/no-ref-as-operand rule that reports cases where a ref is used incorrectly as an operand. Related to RFC0013vue/no-setup-props-destructure rule that reports the destructuring of props passed to setup causing the value to lose reactivity. Related to RFC0013vue/no-lifecycle-after-await rule that reports the lifecycle hooks after await expression. Related to RFC0013vue/no-deprecated-v-on-number-modifiers rule that reports use of deprecated KeyboardEvent.keyCode modifier on v-on directive. Related to RFC0014vue/no-deprecated-data-object-declaration rule that reports use of deprecated object declaration on data property. Related to RFC0019vue/no-deprecated-events-api rule that reports use of deprecated $on, $off and $once api (removed in Vue.js v3.0.0+). Related to RFC0020vue/no-watch-after-await rule that reports the watch() after await expression. RFC0013vue/require-toggle-inside-transition rule that reports elements inside <transition> that do not control the display. Related to RFC0017vue/no-deprecated-inline-template rule that reports deprecated inline-template attributes (removed in Vue.js v3.0.0+) Related to RFC0016vue/no-deprecated-html-element-is rule that reports deprecated the is attribute on HTML elements (removed in Vue.js v3.0.0+). Related to RFC0027vue/no-deprecated-vue-config-keycodes rule that reports use of deprecated Vue.config.keyCodes (removed in Vue.js 3.0.0+). Related to RFC0014vue/no-deprecated-functional-template rule that reports deprecated the functional template (removed in Vue.js 3.0.0+). Related to RFC0007vue/require-explicit-emits rule that reports event triggers not declared with the emits option. Related to RFC0030vue/return-in-emits-validator rule enforces that a return statement is present in emits validators. Related to RFC0030vue/no-deprecated-v-on-native-modifier rule that reports use of deprecated .native modifier on v-on directive. Related to RFC0031vue/no-deprecated-dollar-listeners-api rule that reports use of deprecated $listeners. Related to RFC0031vue/no-deprecated-dollar-scopedslots-api rule that reports use of deprecated $scopedSlots. Related to RFC0006vue/require-slots-as-functions rule enforces the properties of $slots to be used as a function. Related to RFC0006vue/no-deprecated-destroyed-lifecycle rule reports use of deprecated destroyed and beforeDestroy lifecycle hooks.vue/valid-v-is rule that reports wrong usage of v-is directives.vue/no-v-for-template-key-on-child rule that reports the key of the <template v-for> placed on the child elements.vue/no-deprecated-props-default-this rule that reports the use of this within the props default value factory functions.vue/experimental-script-setup-vars rule that prevent variables defined in <script setup> to be marked as undefined.vue/no-multiple-template-root rule to template to check for a single root element. This rule has been separated from the previous vue/valid-template-root rule.vue/no-v-model-argument rule that does not allow argument to v-model.vue/no-custom-modifiers-on-v-model rule that reports when v-model is used with custom modifiers on Vue Component.vue/no-v-for-template-key rule that disallow the key placed on the <template v-for>. This rule has been separated from the previous vue/no-template-key rule.vue/no-template-no-target-blank rule that disallows using target="_blank" attribute without rel="noopener noreferrer" to avoid a security vulnerability.vue/no-unregistered-components rule that disallow using components that are not registered inside templates.vue/html-comment-indent rule that enforce consistent indentation in HTML comments.vue/html-comment-content-newline rule that enforce unified line brake in HTML comments.vue/html-comment-content-spacing rule that enforce unified spacing in HTML comments.vue/no-duplicate-attr-inheritance rule that warn to apply inheritAttrs: false when it detects v-bind="$attrs" being used.vue/no-unused-properties rule that report unused properties.vue/no-mutating-props rule that reports mutation of component props.vue/one-component-per-file rule that checks if there is only one component per file.vue/no-potential-property-typo rule that disallow a potential typo in your component options.vue/no-arrow-functions-in-watch rule that disallow use an arrow function to define a watcher.vue/custom-event-name-casing rule that enforces using kebab-case custom event names.vue/no-multiple-slot-args rule disallows to pass multiple arguments to scoped slots.vue/no-bare-strings-in-template rule that disallows the use of bare strings in <template>.vue/no-useless-v-bind rule that reports v-bind with a string literal value.vue/no-useless-mustaches rule that reports mustache interpolation with a string literal value.vue/no-restricted-v-bind rule that disallow specific argument in v-bind.vue/no-restricted-static-attribute rule that disallow specific attribute.vue/no-restricted-component-options rule that disallow specific component options.vue/no-multiple-objects-in-class rule disallows to pass multiple objects into array to class.vue/no-empty-component-block rule disallows the <template> <script> <style> block to be empty.vue/no-lone-template rule that disallow unnecessary <template> element.vue/no-dupe-v-else-if rule that disallow duplicate conditions in v-if / v-else-if chains.vue/v-for-delimiter-style rule that enforces which delimiter (in or of) should be used in v-for directives.vue/comma-spacing rule that applies comma-spacing rule to expressions in <template>.vue/prefer-template rule that applies prefer-template rule to expressions in <template>.vue/template-curly-spacing rule that applies template-curly-spacing rule to expressions in <template>.vue/space-in-parens rule that applies space-in-parens rule to expressions in <template>.vue/comma-style rule that applies comma-style rule to expressions in <template>.vue/no-extra-parens rule that applies no-extra-parens rule to expressions in <template>.vue/no-useless-concat rule that applies no-useless-concat rule to expressions in <template>.vue/dot-notation rule that applies dot-notation rule to expressions in <template>.vue/object-property-newline rule that applies object-property-newline rule to expressions in <template>.vue/object-curly-newline rule that applies object-curly-newline rule to expressions in <template>.vue/operator-linebreak rule that applies operator-linebreak rule to expressions in <template>.vue/func-call-spacing rule that applies func-call-spacing rule to expressions in <template>.vue/no-sparse-arrays rule that applies no-sparse-arrays rule to expressions in <template>.ignorePattern option to vue/no-unsed-vars rule to disables reporting of variable names that match the regular expression.disallowVueBuiltInComponents and disallowVue3BuiltInComponents option that reports Vue built-in component names to the vue/no-reserved-component-names rule.reportUnusedDisableDirectives option to vue/comment-directive.closeBracket.startTag, closeBracket.endTag and closeBracket.selfClosingTag options to vue/html-indent rule.
So that the closeBracket offset value can be set for each tag type.ignoreIncludesComment option to vue/v-on-function-call rule."v-model-argument" and "v-model-custom-modifiers" to the syntax checked by the vue/no-unsupported-features rule."v-is" to the syntax checked by the vue/no-unsupported-features rule.vue/valid-template-root rule.vue/valid-v-model rule to allow v-model argument. Related to RFC0011vue/valid-v-model rule to allow v-model custom modifiers. Related to RFC0011vue/no-dupe-key, vue/no-reserved-keys rules to handle setup.vue/require-direct-export rule to allow Vue 3 functional component.vue/order-in-components rule.vue/attributes-order rule to handle v-is as DEFINITION category.vue/no-unregistered-components rule to handle v-is like :is.vue/no-unused-components rule to handle v-is like :is.slot-scope when "^3.0.0" is set in vue/no-unsupported-features rule.vue/no-template-key rule to allow v-for key.vue/valid-v-for rule to not report when placing key on <template>.vue/require-v-for-key rule to not report when placing key on <template>.vue/name-property-casing rule to be deprecate.vue/no-side-effects-in-computed-properties rule to track the this variable.vue/require-valid-default-prop rule to track the return statement in the function defined in default.vue/require-valid-default-prop rule to check BigInt.vue/require-valid-default-prop rule.vue/html-indent rule to calculate the base point of the indent offset of the closing bracket of the end tag by the start tag.vue/order-in-components rule to understand "Nullish Coalescing".vue/valid-v-bind-sync, vue/valid-v-bind, vue/valid-v-else-if, vue/valid-v-for, vue/valid-v-html, vue/valid-v-if, vue/valid-v-model, vue/valid-v-on, vue/valid-v-show, vue/valid-v-slot and vue/valid-v-text rules.vue/component-tags-order rule to allow name array to be specified with one order option.vue/component-tags-order rule.vue/order-in-components rule.vue/html-indent and vue/script-indent rules.vue/v-on-function-call rule.v-for and v-slot mixed or use destructuring for vue/no-unused-var rule.vue/no-dupe-keys rule.vue/v-on-function-call rule.vue/prop-name-casing rule.is attribute with no value in vue/no-unused-components rule.vue/require-valid-default-prop and vue/require-default-prop rules crash on sparse arrays.vue/no-side-effects-in-computed rule.All commits: v6.2.2 -> v7.0.0
Changed plugin:vue/base config.
plugin:vue/base config.
vue/experimental-script-setup-vars rule.plugin:vue/vue3-* configs
vue/no-deprecated-props-default-this rule.vue/no-deprecated-props-default-this rule that reports the use of this within the props default value factory functions.vue/experimental-script-setup-vars rule that prevent variables defined in <script setup> to be marked as undefined.All commits: v7.0.0-beta.3 -> v7.0.0-beta.4
Changed plugin:vue/vue3-* configs
plugin:vue/vue3-* configs
vue/no-v-for-template-key-on-child rule.vue/no-v-for-template-key rule that disallow the key placed on the <template v-for>. (Separated from vue/no-template-key rule)vue/no-v-for-template-key-on-child rule that reports the key of the <template v-for> placed on the child elements.vue/no-template-key rule to allow v-for key.vue/no-v-for-template-key rule to plugin:vue/essential config.vue/valid-v-for rule to not report when placing key on <template>vue/require-v-for-key rule to not report when placing key on <template>All commits: v7.0.0-beta.2 -> v7.0.0-beta.3
fetch move from after setup to after data .
vue/order-in-components rule.
fetch move from after setup to after data .All commits: v7.0.0-beta.1 -> v7.0.0-beta.2
All commits: v7.0.0-beta.0 -> v7.0.0-beta.1
vue/v-for-delimiter-style rule that enforces which delimiter (in or of) should be used in v-for directives.allowProps option to vue/require-explicit-emits rule.vue/no-unsupported-features rule.All commits: v7.0.0-beta.0 -> v7.0.0-beta.1
Changed plugin:vue/vue3-essential config
parserOptions.ecmaVersion to 2020.plugin:vue/vue3-essential config
vue/valid-v-is rule.plugin:vue/vue3-strongly-recommended config
vue/require-explicit-emits rule.plugin:vue/vue3-recommended config
vue/valid-v-is rule that reports wrong usage of v-is directives.vue/attributes-order rule to handle v-is as DEFINITION category.vue/no-unregistered-components rule to handle v-is like :is.vue/no-unused-components rule to handle v-is like :is."v-is" to the syntax checked by the vue/no-unsupported-features rule.vue/no-unused-properties rule.All commits: v7.0.0-alpha.10 -> v7.0.0-beta.0
Changed plugin:vue/vue3-essential config
plugin:vue/vue3-essential config
vue/no-dupe-v-else-if rule.plugin:vue/vue3-strongly-recommended config
plugin:vue/vue3-recommended config
vue/no-lone-template rule.plugin:vue/essential config
vue/no-dupe-v-else-if rule.plugin:vue/strongly-recommended config
plugin:vue/recommended config
vue/no-lone-template rule.jsx:true from shareable configs.vue/no-lone-template rule that disallow unnecessary <template> element.vue/no-dupe-v-else-if rule that disallow duplicate conditions in v-if / v-else-if chains.vue/no-sparse-arrays rule that applies no-sparse-arrays rule to expressions in <template>.vue/no-ref-as-operand to also check ref of @vue/composition-api.vue/no-unused-properties, vue/require-valid-default-prop, vue/require-default-prop and vue/no-multiple-objects-in-class rules crash on sparse arrays.jsx:true from shareable configs.All commits: v7.0.0-alpha.9 -> v7.0.0-alpha.10
All commits: v7.0.0-alpha.8 -> v7.0.0-alpha.9
vue/no-empty-component-block and vue/padding-line-between-blocks rules in .js fileAll commits: v7.0.0-alpha.8 -> v7.0.0-alpha.9
All commits: v7.0.0-alpha.7 -> v7.0.0-alpha.8
vue/no-side-effects-in-computed-properties, vue/no-async-in-computed-properties, vue/no-setup-props-destructure and vue/no-watch-after-await rules.All commits: v7.0.0-alpha.7 -> v7.0.0-alpha.8
Changed plugin:vue/vue3-essential config
plugin:vue/vue3-essential config
vue/no-deprecated-destroyed-lifecycle rule.plugin:vue/vue3-strongly-recommended config
plugin:vue/vue3-recommended config
vue/order-in-components rule. Add Nuxt and Vue Router properties.
beforeRouteEnter, beforeRouteUpdate and beforeRouteLeave) to after ["provide", "inject"].key to after name.layout, middleware, validate, scrollToTop, transition, loading to after ROUTER_GUARDS (ROUTER_GUARDS was added after ["provide", "inject"]).watchQuery to after watch.head move from after methods to after data .vue/no-bare-strings-in-template rule.vue/no-deprecated-destroyed-lifecycle rule reports use of deprecated destroyed and beforeDestroy lifecycle hooks.vue/no-restricted-component-options rule that disallow specific component options.vue/no-multiple-objects-in-class rule disallows to pass multiple objects into array to class.vue/no-empty-component-block rule disallows the <template> <script> <style> block to be empty.ignoreIncludesComment option to vue/v-on-function-call rule.vue/html-indent and vue/script-indent rules."v-model-argument" and "v-model-custom-modifiers" to the syntax checked by the vue/no-unsupported-features rule.vue/v-on-function-call rule.vue/prop-name-casing rule.is attribute with no value in vue/no-unused-components rule.All commits: v7.0.0-alpha.6 -> v7.0.0-alpha.7
Changed plugin:vue/vue3-essential config
plugin:vue/vue3-essential config
vue/no-deprecated-dollar-scopedslots-api rule.vue/require-slots-as-functions rule.plugin:vue/vue3-strongly-recommended config
plugin:vue/vue3-recommended config
vue/no-multiple-slot-args rule.plugin:vue/recommended config
vue/no-multiple-slot-args rule.vue/component-tags-order rule.vue/order-in-components rule.
emits to after props.setup to after emits.beforeUnmount and unmounted to LIFECYCLE_HOOKS.renderTracked and renderTriggered to LIFECYCLE_HOOKS.provide and inject to after mixins.errorCaptured to LIFECYCLE_HOOKS.vue/no-deprecated-dollar-scopedslots-api rule that reports use of deprecated $scopedSlots. RFC0006vue/require-slots-as-functions rule enforces the properties of $slots to be used as a function. RFC0006vue/no-multiple-slot-args rule disallows to pass multiple arguments to scoped slots.vue/no-bare-strings-in-template rule that disallows the use of bare strings in <template>.vue/no-useless-v-bind rule that reports v-bind with a string literal value.vue/no-useless-mustaches rule that reports mustache interpolation with a string literal value.vue/no-restricted-v-bind rule that disallow specific argument in v-bind.vue/no-restricted-static-attribute rule that disallow specific attribute.vue/object-property-newline rule that applies object-property-newline rule to expressions in <template>.vue/object-curly-newline rule that applies object-curly-newline rule to expressions in <template>.vue/operator-linebreak rule that applies operator-linebreak rule to expressions in <template>.vue/func-call-spacing rule that applies func-call-spacing rule to expressions in <template>.vue/no-ref-as-operand rule to additionally track variables generated by computed, toRef, customRef and shallowRef.vue/no-ref-as-operand rule to report incorrect use of TemplateLiteral and MemberExpression.vue/order-in-components rule to understand "Nullish Coalescing".vue/valid-v-bind-sync, vue/valid-v-bind, vue/valid-v-else-if, vue/valid-v-for, vue/valid-v-html, vue/valid-v-if, vue/valid-v-model, vue/valid-v-on, vue/valid-v-show, vue/valid-v-slot and vue/valid-v-text rules.vue/component-tags-order rule to allow name array to be specified with one order option.vue/no-dupe-keys rule.vue/no-unused-properties rule.vue/require-direct-export rule.All commits: v7.0.0-alpha.5 -> v7.0.0-alpha.6
Changed plugin:vue/essential config and plugin:vue/vue3-essential config
plugin:vue/essential config and plugin:vue/vue3-essential config
vue/custom-event-name-casing ruleplugin:vue/strongly-recommended config and plugin:vue/vue3-strongly-recommended config
plugin:vue/recommended config and plugin:vue/vue3-recommended config
reportUnusedDisableDirectives option to vue/comment-directive.vue/custom-event-name-casing rule that enforces using kebab-case custom event names.vue/no-useless-concat rule that applies no-useless-concat rule to expressions in <template>.vue/dot-notation rule that applies dot-notation rule to expressions in <template>.closeBracket.startTag, closeBracket.endTag and closeBracket.selfClosingTag options to vue/html-indent rule.
So that the closeBracket offset value can be set for each tag type.vue/html-indent rule to calculate the base point of the indent offset of the closing bracket of the end tag by the start tag.vue/no-unused-var rule.v-for and v-slot mixed or use destructuring for vue/no-unused-var rule.vue/no-unused-properties rule.v-slot in vue/comma-style rule.All commits: v7.0.0-alpha.4 -> v7.0.0-alpha.5
Changed plugin:vue/essential config and plugin:vue/vue3-essential config
plugin:vue/essential config and plugin:vue/vue3-essential config
vue/no-mutating-props rulevue/no-arrow-functions-in-watch rule.plugin:vue/strongly-recommended config and plugin:vue/vue3-strongly-recommended config
vue/one-component-per-file ruleplugin:vue/recommended config and plugin:vue/vue3-recommended config
vue/no-duplicate-attr-inheritance rule that warn to apply inheritAttrs: false when it detects v-bind="$attrs" being used.vue/no-unused-properties rule that report unused properties.vue/no-mutating-props rule that reports mutation of component props.vue/comma-spacing rule that applies comma-spacing rule to expressions in <template>.vue/prefer-template rule that applies prefer-template rule to expressions in <template>.vue/template-curly-spacing rule that applies template-curly-spacing rule to expressions in <template>.vue/one-component-per-file rule that checks if there is only one component per file.vue/no-potential-property-typo rule that disallow a potential typo in your component options.vue/no-arrow-functions-in-watch rule that disallow use an arrow function to define a watcher.vue/space-in-parens rule that applies space-in-parens rule to expressions in <template>.vue/comma-style rule that applies comma-style rule to expressions in <template>.vue/no-extra-parens rule that applies no-extra-parens rule to expressions in <template>.vue/no-deprecated-dollar-listeners-api and vue/no-deprecated-events-api rules to track the this variable.vue/no-side-effects-in-computed-properties rule to track the this variable.vue/require-valid-default-prop rule to track the return statement in the function defined in default.vue/require-valid-default-prop rule to check BigInt.vue/require-valid-default-prop rule.vue/no-lifecycle-after-await rule.vue/return-in-emits-validatorrule.vue/v-on-function-call rule.vue/no-side-effects-in-computed rule.All commits: v7.0.0-alpha.3 -> v7.0.0-alpha.4
Your coding agent can read these notes before it upgrades. Set up the MCP server →