Repository navigation
Releases
Releases Β· vuejs/eslint-plugin-vue
v10.12.0
Immutable
release. Only release title and notes can be modified.
New rules
- Added new
vue/no-content-outside-blockrule (#3119) - Added new
vue/no-define-model-defaultrule (#3146) - Added new
vue/no-props-shadowrule (#3118)
New rule options
- Added
requiredoption tovue/block-langto report components that omit a required block entirely (#3125) - Added
ignoreMixinsoption tovue/require-explicit-emitsrule (#3141)
Fixed false negatives (may result in more lint issues)
- Added support for refs detected by type information, such as refs returned from composables, to
vue/no-ref-as-operandrule (#3144) - Fixed
vue/no-dupe-keysnot reportingdefineModel()names that collide with a prop, another model, or a<script setup>variable (#3163) - Fixed
vue/no-dupe-keysnot reporting<script setup>variables that shadow a prop while aliasing a different one, such asconst foo = toRef(props, 'bar')(#3124) - Fixed
vue/no-multi-spacesnot reporting multiple spaces in the tags of some top-level blocks, e.g.<script setup>(#3162) - Fixed
vue/no-ref-as-operandandvue/no-ref-object-reactivity-lossto also check refs created withuseTemplateRef()(#3154) - Fixed
vue/no-unused-propertiesnot reporting unused non-props properties in components that use$propsas a whole (e.g.v-bind="$props") (#3161) - Fixed
vue/padding-lines-in-component-definitionto check every pair of adjacent properties, not only the first, whenwithinOptionorwithinEachis not set (#3155) - Fixed
vue/require-default-prop,vue/no-boolean-default,vue/no-required-prop-with-defaultandvue/require-valid-default-propnot handling defaults that are passed towithDefaults()by reference or spread instead of an inline object literal (#3114)
Fixed false positives (may result in fewer lint issues)
- Changed
vue/singleline-html-element-content-newlineandvue/multiline-html-element-content-newlinerules to ignorerouter-linkandnuxt-linkelements by default (#3165) - Fixed
vue/no-undef-propertiesfalse positives for properties returned via...toRefs(reactive({ ... }))fromsetup()(#3134) - Fixed
vue/require-typed-reffalse positives when an explicit type annotation already applies to theref()call (#3123) - Fixed
vue/v-if-else-keyfalse positive for components with a bound:key(#3150)
Other changes
- Removed Reactivity Transform support from
vue/no-ref-object-reactivity-loss, since the Reactivity Transform proposal was dropped from Vue (#3126) - Changed
vue/html-self-closingto treat Vue's special<slot>and<template>elements as components (html.componentoption) instead of normal HTML elements (#3164) - Changed
vue/attributes-orderrule to provide a suggestion instead of an autofix when the fix would move a binding acrossv-bind="object"(#3145) - Improved performance of
vue/no-reserved-component-namesby no longer rebuilding its reserved name sets for every file (#3147)
v10.11.1
Immutable
release. Only release title and notes can be modified.
Patch Changes
- Fixed
vue/no-ref-object-reactivity-lossfalse negatives for values gotten in an immediately invoked function expression (IIFE) (#3115) - Fixed
vue/no-unused-propertiesfalse positive for props explicitly typed asnever(#3113) - Fixed
vue/require-default-propto no longer require a default value fordefineModel(#3138)
v10.11.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- Added
defineModelsupport tovue/require-default-propandvue/require-valid-default-proprules (#3032) - Added support for SFCs using
@nuxtjs/composition-api, which is now treated the same asvueor@vue/composition-api(#3100) - Added new
vue/no-shadow-native-eventsrule (#2558)
Patch Changes
- Fixed
vue/use-v-on-exactto avoid reporting@keydown.stopwhen paired with an exact key-specific listener (#3082) - Specified explicit
itemspolicies for array rule option schemas (#3112) - Updated resources (HTML elements) (#3132 and #3133)
v10.10.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- Added support for template literals to
vue/prefer-separate-static-class(#3097) - Added
allowLineSeparatedGroupsoption tovue/sort-keysrule (#3084)
Patch Changes
- Updated
@eslint-community/eslint-utils,semverandxml-name-validatordependencies (#3094)
v10.9.2
Immutable
release. Only release title and notes can be modified.
Patch Changes
- Fixed
vue/custom-event-name-casingto check segments of colon-separated event names likeupdate:foo-bar(#3079) - Fixed
vue/one-component-per-fileto not report functions not imported from Vue (#3063) - Fixed
vue/prefer-import-from-vueto not report imports/exports of names that are not re-exported byvue(#3081) - Fixed
vue/return-in-computed-propertyandvue/require-render-returnto not report exhaustive switch statements when TypeScript type information is available (#3067)
v10.9.1
Immutable
release. Only release title and notes can be modified.
Patch Changes
- Updated peer dependency version for
vue-eslint-parserto fix parsing errors in Vue SFCs (#3075)
v10.9.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- Added
"inject"togroupsoption invue/no-unused-propertiesrule (#3052) - Added new
ignoresoption tovue/no-literals-in-templaterule (#3072) - Added support for
:single-line/:multi-linepseudo-classes invue/padding-line-between-tags(#3025) - Added new
vue/prefer-v-modelrule (#3062) - Added new
vue/prefer-single-event-payloadrule (#3058)
Patch Changes
- Added error end positions for
vue/no-irregular-whitespace(#3065) - Improved error positions in
vue/max-len(#3066) - Improved performance in
vue/no-child-contentrule (#3068) - Migrated configs to TypeScript (#3002)
- Updated resources: add
AttrsandAllowedAttrstype definitions (#3059) - Updated resources:
geolocationHTML element andClassValueandInputAutoCompleteAttributeVue 3 export (#3040)
v10.8.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- Added ESLint v10 as an allowed peer dependency (needs
eslint-parser-vuev10.3.0) (#2962) - Added more
Promisefunctions tovue/no-async-in-computed-properties(#3020) - Added
ignoreVBindObjectoption tovue/attributes-order(#3012) - Added
allowEmptyAliasoption tovue/valid-v-for(#3011) - Added new
destructure: "only-when-assigned"option tovue/define-props-destructuringand changed default value fromdestructure: "always"todestructure: "only-when-assigned"(#3009)
Patch Changes
- Fixed
vue/no-unused-varsto detect components passed as slot props (#3008)
v10.7.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- Added new
-errorconfig variants, with all rules' severity set toerror:strongly-recommended-error,recommended-error,vue2-strongly-recommended-error,vue2-recommended-error(along with their flat config equivalents) (#2796) - Added new
vue/no-literals-in-templaterule (#3000) - Added new
vue/no-undef-directivesrule (#2990) - Added new
ignoreEOLCommentsoption tovue/no-multi-spacesrule (#2989) - Changed
vue/no-negated-v-if-conditionsuggestion to autofix (#2984) - Added TypeScript support for eslint-plugin-vue development (#2916)
Patch Changes
- Fixed false positives in
vue/define-props-destructuringrule when imported types are passed todefineProps(#2995) - Updated Vue 3 export names resources: added
DirectiveModifiers(#2996) - Updated Vue 3 export names resources: added
nodeOpsandpatchProp(#2986)
v10.6.2
Patch Changes
- Fixed false positives in non-intersecting conditions in
vue/no-duplicate-class-namesand correctly detect duplicates in combining expressions (#2980) - Fixed false positives for
TSImportTypeinvue/script-indentrule (#2969) - Improved performance and type safety in
vue/prefer-use-template-ref(#2982)