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 11 days ago
24 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
11 years old
194 releases · first in 2016
Fixed vue/no-ref-object-reactivity-loss false negatives for values gotten in an immediately invoked function expression (IIFE)
vue/no-ref-object-reactivity-loss false negatives for values gotten in an immediately invoked function expression (IIFE) (#3115)vue/no-unused-properties false positive for props explicitly typed as never (#3113)vue/require-default-prop to no longer require a default value for defineModel (#3138)Added defineModel support to vue/require-default-prop and vue/require-valid-default-prop rules
One column per quarter.
defineModel support to vue/require-default-prop and vue/require-valid-default-prop rules (#3032)@nuxtjs/composition-api, which is now treated the same as vue or @vue/composition-api (#3100)vue/no-shadow-native-events rule (#2558)vue/use-v-on-exact to avoid reporting @keydown.stop when paired with an exact key-specific listener (#3082)items policies for array rule option schemas (#3112)Added support for template literals to vue/prefer-separate-static-class
vue/prefer-separate-static-class (#3097)allowLineSeparatedGroups option to vue/sort-keys rule (#3084)@eslint-community/eslint-utils, semver and xml-name-validator dependencies (#3094)Fixed vue/custom-event-name-casing to check segments of colon-separated event names like update:foo-bar
vue/custom-event-name-casing to check segments of colon-separated event names like update:foo-bar (#3079)vue/one-component-per-file to not report functions not imported from Vue (#3063)vue/prefer-import-from-vue to not report imports/exports of names that are not re-exported by vue (#3081)vue/return-in-computed-property and vue/require-render-return to not report exhaustive switch statements when TypeScript type information is available (#3067)Updated peer dependency version for vue-eslint-parser to fix parsing errors in Vue SFCs
vue-eslint-parser to fix parsing errors in Vue SFCs (#3075)Added "inject" to groups option in vue/no-unused-properties rule
"inject" to groups option in vue/no-unused-properties rule (#3052)ignores option to vue/no-literals-in-template rule (#3072):single-line/:multi-line pseudo-classes in vue/padding-line-between-tags (#3025)vue/prefer-v-model rule (#3062)vue/prefer-single-event-payload rule (#3058)vue/no-irregular-whitespace (#3065)vue/max-len (#3066)vue/no-child-content rule (#3068)Attrs and AllowedAttrs type definitions (#3059)geolocation HTML element and ClassValue and InputAutoCompleteAttribute Vue 3 export (#3040)Added ESLint v10 as an allowed peer dependency (needs eslint-parser-vue v10.3.0 )
eslint-parser-vue v10.3.0) (#2962)Promise functions to vue/no-async-in-computed-properties (#3020)ignoreVBindObject option to vue/attributes-order (#3012)allowEmptyAlias option to vue/valid-v-for (#3011)destructure: "only-when-assigned" option to vue/define-props-destructuring and changed default value from destructure: "always" to destructure: "only-when-assigned" (#3009)vue/no-unused-vars to detect components passed as slot props (#3008)Added new -error config variants , with all rules' severity set to error : strongly-recommended-error , recommended-error , vue2-strongly-recommended-
-error config variants, with all rules' severity set to error: strongly-recommended-error, recommended-error, vue2-strongly-recommended-error, vue2-recommended-error (along with their flat config equivalents) (#2796)vue/no-literals-in-template rule (#3000)vue/no-undef-directives rule (#2990)ignoreEOLComments option to vue/no-multi-spaces rule (#2989)vue/no-negated-v-if-condition suggestion to autofix (#2984)vue/define-props-destructuring rule when imported types are passed to defineProps (#2995)DirectiveModifiers (#2996)nodeOps and patchProp (#2986)Fixed false positives in non-intersecting conditions in vue/no-duplicate-class-names and correctly detect duplicates in combining expressions
vue/no-duplicate-class-names and correctly detect duplicates in combining expressions (#2980)TSImportType in vue/script-indent rule (#2969)vue/prefer-use-template-ref (#2982)Fixed false positives for comments outside <template> in vue/no-multiple-template-root rule
<template> in vue/no-multiple-template-root rule (#2964)<template> in vue/no-multiple-template-root rule (#2964)Updated vue/no-import-compiler-macros to clarify that macros are not allowed outside <script setup>
vue/no-import-compiler-macros to clarify that macros are not allowed outside <script setup> (#2938)vue/no-duplicate-class-names rule (#2934)vue/no-v-html rule to allow ignoring call expressions (#2950)vue/define-macros-order error messages to distinguish between macro placement and ordering issues (#2953)Fixed `vue/no-negated-v-if-condition` rule to swap entire elements
vue/no-negated-v-if-condition rule to swap entire elements (#2941)Added ignoredObjectNames option to `vue/no-async-in-computed-properties`
ignoredObjectNames option to vue/no-async-in-computed-properties (#2927)ignorePattern option to vue/no-v-html (#2857)sortLineLength option to vue/attributes-order (#2759)vue/component-name-in-template-casing globals option to support regex patterns (#2928)vue/valid-define-options to allow local literal constant references (#2920)vue/no-mutating-props and vue/no-side-effects-in-computed-properties rules to detect Object.assign mutations (#2929)@stylistic/eslint-plugin as optional peer dependency (#2884)vue/define-macros-order to ignore enum declarations and declare statements (#2918)Added ignoreParents option to `vue/no-deprecated-slot-attribute`
ignoreParents option to vue/no-deprecated-slot-attribute (#2784)vue/no-negated-v-if-condition rule (#2794)vue/no-negated-condition rule (#2795)vue/block-lang error messages (#2805)`vue/no-deprecated-slot-attribute` ignore option now supports regex patterns
@typescript-eslint/parser as an optional peer dependency (#2775)vue/no-deprecated-slot-attribute ignore option now supports regex patterns (#2773)vue/script-indent rule (#2775)vue/no-restricted-html-elements now also checks SVG and MathML elements (#2755)@typescript-eslint/parser as an optional peer dependency (#2775)vue/no-deprecated-slot-attribute ignore option now supports regex patterns (#2773)vue/script-indent rule (#2775)vue/no-restricted-html-elements now also checks SVG and MathML elements (#2755)`vue/no-restricted-html-elements` now accepts multiple elements in each entry
vue/no-restricted-html-elements now accepts multiple elements in each entry (#2750)## ✨ Enhancements - #2734 Improved allowlist option of `vue/no-bare-strings-in-template` rule to accept regex. - #2736 Added `vue/define-props-destruc
allowlist option of vue/no-bare-strings-in-template rule to accept regex.vue/define-props-destructuring rule that enforce consistent style for props destructuring.disallowComments option to vue/no-multiple-template-root rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v10.0.1...v10.1.0
## 🐛 Bug Fixes - #2700 Fixed incorrect type for .eslintrc configs. - #2703 Fixed false negatives for multiple script blocks in `vue/prefer-use-templat
.eslintrc configs.vue/prefer-use-template-ref rule.vue/no-ref-as-operand rule.vue/require-default-prop rule.vue/no-dupe-keys rule.vue/no-export-in-script-setup rule.vue/html-self-closing rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v10.0.0...v10.0.1
Allow updating deprecated/reserved HTML+SVG element tag names in minor versions, see #2171.
^18.18.0 || ^20.9.0 || >=21.1.0^8.57.0 || ^9.0.0vue/block-order rule to recommended configs (replaces the removed vue/component-tags-order rule).vue/no-deprecated-delete-set rule to vue3-essential config.vue/no-deprecated-model-definition rule to vue3-essential config.vue/no-required-prop-with-default rule to recommended configs.vue/valid-define-options rule to vue3-essential config..eslintrc configs (to match eslint.config.js config names; see PR for comparison)..eslintrc base config so that vue-eslint-parser is only used for .vue files.slots and expose to the default order of vue/order-in-components rule.vue/custom-event-name-casing rule.runOutsideVue option from vue/sort-keys rule.setup-compiler-macros environments.vue/no-import-compiler-macros rule that disallows importing Vue compiler macros.except option to vue/prefer-true-attribute-shorthand rule.defineNuxtComponent().Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.33.0...v10.0.0
## ✨ Enhancements - #2639 Added `vue/no-implicit-coercion` rule to disallow shorthand type conversions in . - #2680 Improved `vue/no-ref-as-operand` r
vue/no-implicit-coercion rule to disallow shorthand type conversions in <template>.vue/no-ref-as-operand rule to check emit payloads.ignoreProps option to vue/prop-name-casing rule.vue/prefer-use-template-ref rule when setup is an arrow function.vue/no-bare-strings-in-template rule.vue/max-props rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.32.0...v9.33.0
## ✨ Enhancements * #2598 Added checkMultiRootNodes option to `vue/no-duplicate-attr-inheritance` rule and changed to ignore multi-root components by
checkMultiRootNodes option to vue/no-duplicate-attr-inheritance rule and changed to ignore multi-root components by default.ignoreElementNamespaces option to vue/no-v-text-v-html-on-component rule.ignoreTags option to vue/attribute-hyphenation rule and vue/v-on-event-hyphenation rule.vue/restricted-component-names rule that enforces using only specific component names.vue/slot-name-casing rule that enforces specific casing for slot names.vue/require-explicit-slots rule.shallowRef in vue/prefer-use-template-ref rule.vue/prefer-use-template-ref rule to only check root-level variables.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.31.0...v9.32.0
## ✨ Enhancements * #2594 Added caseSensitive option to `vue/no-reserved-component-names` rule. * #2554 Added `vue/prefer-use-template-ref` rule that
caseSensitive option to vue/no-reserved-component-names rule.vue/prefer-use-template-ref rule that requires using useTemplateRef() instead of ref() for template refs.vue/no-empty-component-block rule auto-fixable.v-bind:name in vue/require-explicit-slots rule.vue/define-macros-order rule to skip TypeScript declare statements.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.30.0...v9.31.0
## 🐛 Bug Fixes - #2585 Fixed `vue/custom-event-name-casing` rule to check defineEmits() variable and $emit() in . - #2586 Fixed false negatives and fa
vue/custom-event-name-casing rule to check defineEmits() variable and $emit() in <template>.vue/require-valid-default-prop rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.29.1...v9.30.0
## 🐛 Bug Fixes * #2572 Fixed index.d.ts Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.29.0...v9.29.1
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.29.0...v9.29.1
Added support for Vue 3.5's props destructure to various rules:
vue/no-deprecated-delete-set rule that disallows using deprecated $delete and $set.vue/no-undef-properties rule.useTemplateRef() to vue/no-unused-refs rule.vue/require-valid-default-prop rule.vue/require-default-prop rule.vue/no-boolean-default rule.vue/no-required-prop-with-default rule.vue/no-restricted-props rule.vue/no-setup-props-reactivity-loss rule..tsx files.## ✨ Enhancements ### New Rules - #2430 Added `vue/max-props` rule that enforces the maximum number of props in Vue components. - #2494 Added `vue/req
vue/max-props rule that enforces the maximum number of props in Vue components.vue/require-default-export rule that requires components to be the default export.vue/max-template-depth rule that enforces the maximum depth of <template>.vue/define-macros-order rule.additionalDirectives option to vue/require-toggle-inside-transition rule.vue/v-if-else-key rule.vue/require-typed-object-prop rule.v-model directive in vue/attribute-hyphenation rule.vue/attribute-hyphenation rule to skip v-bind.sync.vue/no-deprecated-slot-attribute rule to handle v-for with dynamic slot.vue/no-deprecated-slot-attribute rule to skip dynamic components.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.27.0...v9.28.0
## ✨ Enhancements * #2487 Improved `vue/require-toggle-inside-transition` rule to understand v-bind:appear. ## 🐛 Bug Fixes * #2489 Fixed false negativ
vue/require-toggle-inside-transition rule to understand v-bind:appear.vue/no-setup-props-reactivity-loss rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.26.0...v9.27.0
`vue/no-deprecated-html-element-is`
vue/component-name-in-template-casingvue/no-deprecated-html-element-isvue/no-undef-componentsvue/no-unused-componentsvue/script-setup-uses-vars (note that this rule is deprecated!)vue/require-default-prop rule to ignore the spread and continue checking.vue/require-typed-ref rule to ignore <script> blocks without lang="ts" in .vue files.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.25.0...v9.26.0
## ✨ Enhancements * #2441 Added support for Pinia methods to `vue/no-unused-properties` rule. ## 🐛 Bug Fixes * #2438 Improved `vue/no-use-computed-pro
vue/no-unused-properties rule.vue/no-use-computed-property-like-method rule to understand logical expressions.vue/no-unused-properties rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.24.1...v9.25.0
## ⚙️ Updates * #2444 Allowed ESLint v9 as peer dependency. Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.24.0...v9.24.1
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.24.0...v9.24.1
## ✨ Enhancements * #2407, #2436 Added support for the flat config format. ## 🐛 Bug Fixes * #2425 Fixed error for empty value in `vue/no-restricted-cl
vue/no-restricted-class ruleFull Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.23.0...v9.24.0
## ✨ Enhancements * #2422 Added support for auto-imported Vue APIs (e.g. in `vue/no-ref-as-operand`). * #2423 Added suggestions for reordering to `vue
vue/no-ref-as-operand).vue/order-in-components when there may be side effects.vue/v-bind-style rule.vue/v-for-delimiter-style rule.filter.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.22.0...v9.23.0
## ✨ Enhancements * #2390 Improved autofix for `vue/no-deprecated-slot-attribute` to wrap . * #2393 Added support for type assertions and non-null exp
vue/no-deprecated-slot-attribute to wrap <template v-slot>.vue/valid-v-model rule.{{'<'}} in vue/no-useless-mustaches rule.vue/no-setup-props-reactivity-loss rule.vue/require-explicit-slots rule to recognize slot names enclosed in quotes.v-bind with spaces in vue/no-useless-v-bind rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.21.1...v9.22.0
## 🐛 Bug Fixes * #2388 Fixed error in render functions in `vue/no-unused-emit-declarations` rule. * #2386 Fixed false positives/negatives for multiple
vue/no-unused-emit-declarations rule.defineModel calls in vue/define-macros-order rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.21.0...v9.21.1
Fixed false positive with camelCase v-bind same-name shorthand in `vue/no-unused-property`.
vue/require-explicit-slots rule that requires slots to be explicitly defined with defineSlots or slots component option.vue/no-restricted-v-on rule that disallows specific arguments in v-on.sameNameShorthand option to vue/v-bind-style rule.vue-eslint-parser to v9.4.2.
v-bind same-name shorthand in vue/no-unused-property.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.20.1...v9.21.0
## 🐛 Bug Fixes * #2364 Fixed false positives for defineModel in `vue/no-undef-properties` rule. Full Changelog: https://github.com/vuejs/eslint-plugin
defineModel in vue/no-undef-properties rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.20.0...v9.20.1
## ✨ Enhancements ### Added Support for Vue 3.4 🏀 * #2357 Added support for `v-bind` same-name shorthand. * #2360 Added support for `defineModel` macr
v-bind same-name shorthand.defineModel macro.vue/enforce-style-attribute rule that enforces or forbids the use of the scoped and module attributes in SFC top level <style> tags.allow list option to vue/no-template-shadow rule.allow list option to vue/no-v-text-v-html-on-component rule.selfClosingTag option to vue/html-closing-bracket-newline rule.defineExposeLast option to vue/define-macros-order rule.$props.<prop> to vue/no-unused-properties rule.vue/no-unused-properties rule.vue/no-unused-emit-declarations rule to detect emits in template with <script setup>.vue/require-explicit-emits rule to detect emits in template with <script setup>.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.19.2...v9.20.0
## 🐛 Bug Fixes * #2336 Fixed crash for TSFunctionType with type-literal option in `vue/define-emits-declaration` rule Full Changelog: https://github.c
type-literal option in vue/define-emits-declaration ruleFull Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.19.1...v9.19.2
## 🐛 Bug Fixes * #2334 Fixed broken config of plugin:vue/vue3-strongly-recommended Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/
plugin:vue/vue3-strongly-recommendedFull Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.19.0...v9.19.1
## ✨ Enhancements ### New Rules * #2312 Added `vue/no-unused-emit-declarations` rule that disallows unused emit declarations. * #2280 Added `vue/v-if-
vue/no-unused-emit-declarations rule that disallows unused emit declarations.vue/v-if-else-key rule that requires key attribute for conditionally rendered repeated components.type-literal option in vue/define-emits-declaration rule.externalIgnores option in vue/singleline-html-element-content-newline rule.ignore option in vue/no-deprecated-slot-attribute rule.vue/v-on-event-hyphenation rule to be auto-fixable by default in Vue 3.<template> to extend from ESLint Stylistic.typeParameters getter.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.18.1...v9.19.0
## 🐛 Bug Fixes * #2303 Fixed false positives for , :key, and appear attribute in `vue/require-toggle-inside-transition` rule. Full Changelog: https://
<slot>, :key, and appear attribute in vue/require-toggle-inside-transition rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.18.0...v9.18.1
## 🐛 Bug Fixes * #2275 Fixed auto-fix of `vue/prefer-define-options` rule to insert defineOptions after import declaration. * #2293 Fixed false negati
vue/prefer-define-options rule to insert defineOptions after import declaration.vue/require-toggle-inside-transition rule.vue/component-name-in-template-casing to ignore elements in vue template syntax.typeParameters with typeArguments.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.17.0...v9.18.0
## ✨ Enhancements * #2258 Added support for template literals in `vue/no-deprecated-model-definition`. ## ⚙️ Updates * #2260 Improved error message fo
vue/no-deprecated-model-definition.vue/no-dupe-keys.vue/no-setup-props-destructure (now deprecated) to vue/no-setup-props-reactivity-loss, and removed both rules from any preset configs.vue/no-ref-object-destructure (now deprecated) to vue/no-ref-object-reactivity-loss.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.16.1...v9.17.0
## 🐛 Bug Fixes * #2256 Fixed incompatibility with `@typescript-eslint` v6 in `vue/script-indent` rule Full Changelog: https://github.com/vuejs/eslint-
@typescript-eslint v6 in vue/script-indent ruleFull Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.16.0...v9.16.1
## ✨ Enhancements - #2224 Added `vue/no-use-v-else-with-v-for` rule that disallows using v-else-if/v-else on the same element as v-for. - #1983 Added
vue/no-use-v-else-with-v-for rule that disallows using v-else-if/v-else on the same element as v-for.vue/require-typed-object-prop rule that enforces adding type declarations to object props.vue/no-deprecated-model-definition rule that disallows the model definition, which is deprecated in Vue 3.vue/attribute-hyphenation rule when it would break props.vue/html-self-closing rule.vue/no-setup-props-destructure rule (expect more lint issues!).vue/component-tags-order to vue/block-order (the old rule is still included in the preset configs, but it is now deprecated).Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.15.1...v9.16.0
## 🐛 Bug Fixes * #2221 Fixed `vue/no-console` rule false positives outside the block. Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compa
vue/no-console rule false positives outside the <template> block.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.15.0...v9.15.1
## ✨ Enhancements * #2194 Added `vue/no-console` rule that applies the core `no-console` rule to expressions in . * #2198 Added `vue/require-macro-var
vue/no-console rule that applies the core no-console rule to expressions in <template>.vue/require-macro-variable-name rule that requires a certain macro variable name.vue/require-typed-ref rule that requires ref and shallowRef functions to be strongly typed.vue/no-restricted-component-names rule that disallows specific component names.vue/max-lines-per-block rule that enforces a maximum number of lines in Vue SFC blocks.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.14.1...v9.15.0
## 🐛 Bug Fixes * #2189 Fixed false positives for toRef props in `vue/no-dupe-keys` rule. Full Changelog: https://github.com/vuejs/eslint-plugin-vue/co
toRef props in vue/no-dupe-keys rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.14.0...v9.14.1
## ✨ Enhancements * #2178 Added support for defineOptions to `vue/no-duplicate-attr-inheritance` rule. * #2185 Added support for to `vue/no-dupe-keys`
defineOptions to vue/no-duplicate-attr-inheritance rule.<script setup> to vue/no-dupe-keys rule.additionalProperties to vue/no-deprecated-router-link-tag-prop schema.vue/no-undef-properties rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.13.0...v9.14.0
Support for Vue 3.3 "Rurouni Kenshin" :tada: see https://blog.vuejs.org/posts/vue-3-3
Support for Vue 3.3 "Rurouni Kenshin" :tada:
see https://blog.vuejs.org/posts/vue-3-3
vue/prefer-define-options rule that enforces use of defineOptions instead of default export.vue/valid-define-options rule that checks whether defineOptions compiler macro is valid.defineOptions and defineSlots to vue/define-macros-order rule.defineOptions and defineSlots to vue/no-unsupported-features rule.defineEmits type syntax to vue/require-explicit-emits rule.defineOptions to vue/component-definition-name-casing rule.defineOptions to vue/match-component-file-name rule.defineOptions to vue/multi-word-component-names rule.defineOptions to vue/no-reserved-component-names rule.defineOptions to vue/no-restricted-component-options rule.defineOptions to vue/order-in-components rule.defineOptions to vue/padding-lines-in-component-definition rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.12.0...v9.13.0
## ✨ Enhancements * #2135 Added shallowOnly option to `vue/no-mutating-props` rule. * #2138 Added `vue/no-root-v-if` rule that disallows the v-if dire
shallowOnly option to vue/no-mutating-props rule.vue/no-root-v-if rule that disallows the v-if directive on the root element.meta object to the processor.meta object to the plugin.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.11.1...v9.12.0
## 🐛 Bug Fixes * #2147 Fixed rules incompatible with ESLint v8.40. Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.11.0...v9.11.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.11.0...v9.11.1
## ✨ Enhancements * #2101 Added unreferencedOptions option to `vue/no-unused-properties` rule. ## 🐛 Bug Fixes * #2131 Fixed false negatives in `vue/ca
unreferencedOptions option to vue/no-unused-properties rule.vue/camelcase rule when using ESLint >= v8.38.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.10.0...v9.11.0
## ✨ Enhancements * #2111 Added suggestions for `vue/no-template-target-blank` rule. ## ⚙️ Updates * #2112 Changed to use `@eslint-community/eslint-ut
vue/no-template-target-blank rule.@eslint-community/eslint-utils package.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.9.0...v9.10.0
## ✨ Enhancements * #2066 Added `vue/array-element-newline` rule that applies the core `array-element-newline` rule to expressions in . * #2042 Improv
vue/array-element-newline rule that applies the core array-element-newline rule to expressions in <template>.vue/script-indent rule to support more TypeScript syntax.vue/padding-lines-in-component-definition rule that requires or disallows padding lines in component definition.ATTR_DYNAMIC, ATTR_STATIC, and ATTR_SHORTHAND_BOOL options to vue/attributes-order rule.vue/component-name-in-template-casing rule.vue/component-api-style rule report messages.vue/define-macros-order rule to hoist secondary expressions correctly.<script setup> in vue/no-undef-components rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.8.0...v9.9.0
## ✨ Enhancements - #2019 Added `vue/require-prop-comment` rule that requires props to have a comment. - #2034 Added suggestion for `vue/require-name-
vue/require-prop-comment rule that requires props to have a comment.vue/require-name-property rule.<Textarea> components in vue/no-textarea-mustache rule.vue/define-macros-order rule.vue/component-name-in-template-casing rule.vue/attribute-hyphenation rule to disable autofix for attributes containing underscores (_).Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.7.0...v9.8.0
## ✨ Enhancements * #1996 Added `vue/multiline-ternary` rule that applies the core `multiline-ternary` rule to expressions in and . * #2009 Added `vue
vue/multiline-ternary rule that applies the core multiline-ternary rule to expressions in <template> and <style>.vue/v-on-handler-style rule that enforces writing style for handlers in v-on directives.globals option to vue/component-name-in-template-casing rule.vue/no-restricted-class rule.vue/v-on-function-call rule. Use the new vue/v-on-handler-style rule instead.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.6.0...v9.7.0
## ✨ Enhancements * #1943 Added `vue/no-required-prop-with-default` rule that enforces props with default values to be optional. * #1982 Added consi
vue/no-required-prop-with-default rule that enforces props with default values to be optional.consistent option to vue/padding-line-between-tags rule.vue/no-ref-as-operand rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.5.1...v9.6.0
## 🐛 Bug Fixes * #1976 Fixed false positives for with TypeScript in `vue/no-undef-components` rule. Full Changelog: https://github.com/vuejs/eslint-pl
<script setup> with TypeScript in vue/no-undef-components rule.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.5.0...v9.5.1
Thanks @dev1437, @Amorites, @acupofspirt for your contributions!
vue/no-ref-object-destructure rule that reports the destructuring of ref objects causing the value to lose reactivity.vue/no-undef-components rule to report when type-only imports are used.vue/padding-line-between-tags rule that requires or disallows newlines between sibling tags in template.vue/define-emits-declaration rule that enforces the declaration style of defineEmits.vue/define-props-declaration rule that enforces the declaration style of defineProps.vue/order-in-components rule to be auto-fixable even when using PropType.Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.4.0...v9.5.0
Thanks @dev1437, @Amorites, @acupofspirt for your contributions!
Your coding agent can read these notes before it upgrades. Set up the MCP server →