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-operand rule (#3144)
Fixed vue/no-dupe-keys not reporting defineModel() names that collide with a prop, another model, or a <script setup> variable (#3163)
Fixed vue/no-dupe-keys not reporting <script setup> variables that shadow a prop while aliasing a different one, such as const foo = toRef(props, 'bar') (#3124)
Fixed vue/no-multi-spaces not reporting multiple spaces in the tags of some top-level blocks, e.g. <script setup> (#3162)
Changed vue/html-self-closing to treat Vue's special <slot> and <template> elements as components (html.component option) instead of normal HTML elements (#3164)
Changed vue/attributes-order rule to provide a suggestion instead of an autofix when the fix would move a binding across v-bind="object" (#3145)
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [eslint-plugin-vue](https://eslint.vuejs.org) ([source](https://github.com/vuejs/eslint-plugin-vue)) | [`10.11.1` → `10.12.0`](https://renovatebot.com/diffs/npm/eslint-plugin-vue/10.11.1/10.12.0) |  |  |
---
### Release Notes
<details>
<summary>vuejs/eslint-plugin-vue (eslint-plugin-vue)</summary>
### [`v10.12.0`](https://github.com/vuejs/eslint-plugin-vue/blob/HEAD/CHANGELOG.md#10120)
[Compare Source](https://github.com/vuejs/eslint-plugin-vue/compare/v10.11.1...v10.12.0)
##### New rules
- Added new [`vue/no-content-outside-block`](https://eslint.vuejs.org/rules/no-content-outside-block.html) rule ([#​3119](https://github.com/vuejs/eslint-plugin-vue/pull/3119))
- Added new [`vue/no-define-model-default`](https://eslint.vuejs.org/rules/no-define-model-default.html) rule ([#​3146](https://github.com/vuejs/eslint-plugin-vue/pull/3146))
- Added new [`vue/no-props-shadow`](https://eslint.vuejs.org/rules/no-props-shadow.html) rule ([#​3118](https://github.com/vuejs/eslint-plugin-vue/pull/3118))
##### New rule options
- Added `required` option to [`vue/block-lang`](https://eslint.vuejs.org/rules/block-lang.html) to report components that omit a required block entirely ([#​3125](https://github.com/vuejs/eslint-plugin-vue/pull/3125))
- Added `ignoreMixins` option to [`vue/require-explicit-emits`](https://eslint.vuejs.org/rules/require-explicit-emits.html) rule ([#​3141](https://github.com/vuejs/eslint-plugin-vue/pull/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-operand`](https://eslint.vuejs.org/rules/no-ref-as-operand.html) rule ([#​3144](https://github.com/vuejs/eslint-plugin-vue/pull/3144))
- Fixed [`vue/no-dupe-keys`](https://eslint.vuejs.org/rules/no-dupe-keys.html) not reporting `defineModel()` names that collide with a prop, another model, or a `<script setup>` variable ([#​3163](https://github.com/vuejs/eslint-plugin-vue/pull/3163))
- Fixed [`vue/no-dupe-keys`](https://eslint.vuejs.org/rules/no-dupe-keys.html) not reporting `<script setup>` variables that shadow a prop while aliasing a different one, such as `const foo = toRef(props, 'bar')` ([#​3124](https://github.com/vuejs/eslint-plugin-vue/pull/3124))
- Fixed [`vue/no-multi-spaces`](https://eslint.vuejs.org/rules/no-multi-spaces.html) not reporting multiple spaces in the tags of some top-level blocks, e.g. `<script setup>` ([#​3162](https://github.com/vuejs/eslint-plugin-vue/pull/3162))
- Fixed [`vue/no-ref-as-operand`](https://eslint.vuejs.org/rules/no-ref-as-operand.html) and [`vue/no-ref-object-reactivity-loss`](https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html) to also check refs created with `useTemplateRef()` ([#​3154](https://github.com/vuejs/eslint-plugin-vue/pull/3154))
- Fixed [`vue/no-unused-properties`](https://eslint.vuejs.org/rules/no-unused-properties.html) not reporting unused non-props properties in components that use `$props` as a whole (e.g. `v-bind="$props"`) ([#​3161](https://github.com/vuejs/eslint-plugin-vue/pull/3161))
- Fixed [`vue/padding-lines-in-component-definition`](https://eslint.vuejs.org/rules/padding-lines-in-component-definition.html) to check every pair of adjacent properties, not only the first, when `withinOption` or `withinEach` is not set ([#​3155](https://github.com/vuejs/eslint-plugin-vue/pull/3155))
- Fixed [`vue/require-default-prop`](https://eslint.vuejs.org/rules/require-default-prop.html), [`vue/no-boolean-default`](https://eslint.vuejs.org/rules/no-boolean-default.html), [`vue/no-required-prop-with-default`](https://eslint.vuejs.org/rules/no-required-prop-with-default.html) and [`vue/require-valid-default-prop`](https://eslint.vuejs.org/rules/require-valid-default-prop.html) not handling defaults that are passed to `withDefaults()` by reference or spread instead of an inline object literal ([#​3114](https://github.com/vuejs/eslint-plugin-vue/pull/3114))
##### Fixed false positives (may result in fewer lint issues)
- Changed [`vue/singleline-html-element-content-newline`](https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html) and [`vue/multiline-html-element-content-newline`](https://eslint.vuejs.org/rules/multiline-html-element-content-newline.html) rules to ignore `router-link` and `nuxt-link` elements by default ([#​3165](https://github.com/vuejs/eslint-plugin-vue/pull/3165))
- Fixed [`vue/no-undef-properties`](https://eslint.vuejs.org/rules/no-undef-properties.html) false positives for properties returned via `...toRefs(reactive({ ... }))` from `setup()` ([#​3134](https://github.com/vuejs/eslint-plugin-vue/pull/3134))
- Fixed [`vue/require-typed-ref`](https://eslint.vuejs.org/rules/require-typed-ref.html) false positives when an explicit type annotation already applies to the `ref()` call ([#​3123](https://github.com/vuejs/eslint-plugin-vue/pull/3123))
- Fixed [`vue/v-if-else-key`](https://eslint.vuejs.org/rules/v-if-else-key.html) false positive for components with a bound `:key` ([#​3150](https://github.com/vuejs/eslint-plugin-vue/pull/3150))
##### Other changes
- Removed Reactivity Transform support from [`vue/no-ref-object-reactivity-loss`](https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html), since the Reactivity Transform proposal was dropped from Vue ([#​3126](https://github.com/vuejs/eslint-plugin-vue/pull/3126))
- Changed [`vue/html-self-closing`](https://eslint.vuejs.org/rules/html-self-closing.html) to treat Vue's special `<slot>` and `<template>` elements as components (`html.component` option) instead of normal HTML elements ([#​3164](https://github.com/vuejs/eslint-plugin-vue/pull/3164))
- Changed [`vue/attributes-order`](https://eslint.vuejs.org/rules/attributes-order.html) rule to provide a suggestion instead of an autofix when the fix would move a binding across `v-bind="object"` ([#​3145](https://github.com/vuejs/eslint-plugin-vue/pull/3145))
- Improved performance of [`vue/no-reserved-component-names`](https://eslint.vuejs.org/rules/no-reserved-component-names.html) by no longer rebuilding its reserved name sets for every file ([#​3147](https://github.com/vuejs/eslint-plugin-vue/pull/3147))
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODEuOSIsInVwZGF0ZWRJblZlciI6IjQ0LjE4MS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
10.11.1→10.12.0Release Notes
vuejs/eslint-plugin-vue (eslint-plugin-vue)
v10.12.0Compare Source
New rules
vue/no-content-outside-blockrule (#3119)vue/no-define-model-defaultrule (#3146)vue/no-props-shadowrule (#3118)New rule options
requiredoption tovue/block-langto report components that omit a required block entirely (#3125)ignoreMixinsoption tovue/require-explicit-emitsrule (#3141)Fixed false negatives (may result in more lint issues)
vue/no-ref-as-operandrule (#3144)vue/no-dupe-keysnot reportingdefineModel()names that collide with a prop, another model, or a<script setup>variable (#3163)vue/no-dupe-keysnot reporting<script setup>variables that shadow a prop while aliasing a different one, such asconst foo = toRef(props, 'bar')(#3124)vue/no-multi-spacesnot reporting multiple spaces in the tags of some top-level blocks, e.g.<script setup>(#3162)vue/no-ref-as-operandandvue/no-ref-object-reactivity-lossto also check refs created withuseTemplateRef()(#3154)vue/no-unused-propertiesnot reporting unused non-props properties in components that use$propsas a whole (e.g.v-bind="$props") (#3161)vue/padding-lines-in-component-definitionto check every pair of adjacent properties, not only the first, whenwithinOptionorwithinEachis not set (#3155)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)
vue/singleline-html-element-content-newlineandvue/multiline-html-element-content-newlinerules to ignorerouter-linkandnuxt-linkelements by default (#3165)vue/no-undef-propertiesfalse positives for properties returned via...toRefs(reactive({ ... }))fromsetup()(#3134)vue/require-typed-reffalse positives when an explicit type annotation already applies to theref()call (#3123)vue/v-if-else-keyfalse positive for components with a bound:key(#3150)Other changes
vue/no-ref-object-reactivity-loss, since the Reactivity Transform proposal was dropped from Vue (#3126)vue/html-self-closingto treat Vue's special<slot>and<template>elements as components (html.componentoption) instead of normal HTML elements (#3164)vue/attributes-orderrule to provide a suggestion instead of an autofix when the fix would move a binding acrossv-bind="object"(#3145)vue/no-reserved-component-namesby no longer rebuilding its reserved name sets for every file (#3147)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.