Update dependency eslint-plugin-vue to v9
This MR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
eslint-plugin-vue (source) | 8.3.0 -> 9.15.1 |
Release Notes
vuejs/eslint-plugin-vue
v9.15.1
🐛 Bug Fixes
-
#2221 Fixed
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
v9.15.0
✨ Enhancements
-
#2194 Added
vue/no-console
rule that applies the coreno-console
rule to expressions in<template>
. -
#2198 Added
vue/require-macro-variable-name
rule that requires a certain macro variable name. -
#2204 Added
vue/require-typed-ref
rule that requiresref
andshallowRef
functions to be strongly typed. -
#2210 Added
vue/no-restricted-component-names
rule that disallows specific component names. -
#2213 Added
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
v9.14.1
🐛 Bug Fixes
-
#2189 Fixed false positives for
toRef
props invue/no-dupe-keys
rule.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.14.0...v9.14.1
v9.14.0
✨ Enhancements
-
#2178 Added support for
defineOptions
tovue/no-duplicate-attr-inheritance
rule. -
#2185 Added support for
<script setup>
tovue/no-dupe-keys
rule.
🐛 Bug Fixes
-
#2177 Added
additionalProperties
tovue/no-deprecated-router-link-tag-prop
schema. -
#2186 Fixed false positive for unknown prop in
vue/no-undef-properties
rule.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.13.0...v9.14.0
v9.13.0
Support for Vue 3.3 "Rurouni Kenshin"
see https://blog.vuejs.org/posts/vue-3-3
✨ Enhancements
New Rules
-
#2167 Added
vue/prefer-define-options
rule that enforces use ofdefineOptions
instead of default export. -
#2165 Added
vue/valid-define-options
rule that checks whetherdefineOptions
compiler macro is valid.
Other Changes
-
#2154 Added support for
defineOptions
anddefineSlots
tovue/define-macros-order
rule. -
#2163 Added support for
defineOptions
anddefineSlots
tovue/no-unsupported-features
rule. -
#2152 Added support for new
defineEmits
type syntax tovue/require-explicit-emits
rule. -
#2159 Added support for
defineOptions
tovue/component-definition-name-casing
rule. -
#2161 Added support for
defineOptions
tovue/match-component-file-name
rule. -
#2157 Added support for
defineOptions
tovue/multi-word-component-names
rule. -
#2158 Added support for
defineOptions
tovue/no-reserved-component-names
rule. -
#2162 Added support for
defineOptions
tovue/no-restricted-component-options
rule. -
#2160 Added support for
defineOptions
tovue/order-in-components
rule. -
#2164 Added support for
defineOptions
tovue/padding-lines-in-component-definition
rule. - #2134 Added support for imported types in SFC macros.
⚙ ️ Updates
- #2170 Upgraded to vue-eslint-parser v9.3 that supports Vue 3.3.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.12.0...v9.13.0
v9.12.0
✨ Enhancements
-
#2135 Added
shallowOnly
option tovue/no-mutating-props
rule. -
#2138 Added
vue/no-root-v-if
rule that disallows thev-if
directive on the root element.
⚙ ️ Updates
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.11.1...v9.12.0
v9.11.1
🐛 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.1
v9.11.0
✨ Enhancements
-
#2101 Added
unreferencedOptions
option tovue/no-unused-properties
rule.
🐛 Bug Fixes
-
#2131 Fixed false negatives in
vue/camelcase
rule when using ESLint >= v8.38.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.10.0...v9.11.0
v9.10.0
✨ Enhancements
-
#2111 Added suggestions for
vue/no-template-target-blank
rule.
⚙ ️ Updates
-
#2112 Changed to use
@eslint-community/eslint-utils
package.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.9.0...v9.10.0
v9.9.0
✨ Enhancements
-
#2066 Added
vue/array-element-newline
rule that applies the corearray-element-newline
rule to expressions in<template>
. -
#2042 Improved
vue/script-indent
rule to support more TypeScript syntax. -
#2052 Added
vue/padding-lines-in-component-definition
rule that requires or disallows padding lines in component definition. -
#2068 Added new
ATTR_DYNAMIC
,ATTR_STATIC
, andATTR_SHORTHAND_BOOL
options tovue/attributes-order
rule.
🐛 Bug Fixes
-
#2069 Fixed false positive for type-only imports in
vue/component-name-in-template-casing
rule. -
#2070 Fixed spaces around comma in
vue/component-api-style
rule report messages. -
#2071 Fixed
vue/define-macros-order
rule to hoist secondary expressions correctly. -
#2073 Fixed false positives for circular references in
<script setup>
invue/no-undef-components
rule.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.8.0...v9.9.0
v9.8.0
✨ Enhancements
-
#2019 Added
vue/require-prop-comment
rule that requires props to have a comment. -
#2034 Added suggestion for
vue/require-name-property
rule.
🐛 Bug Fixes
-
#2024 Fixed false positives for
<Textarea>
components invue/no-textarea-mustache
rule. -
#2040 Fixed false positives for exported interfaces/type declarations in
vue/define-macros-order
rule. -
#2031 Fixed false positives for HTML tags when using HTML-like components in
vue/component-name-in-template-casing
rule. -
#2045 Fixed
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
v9.7.0
✨ Enhancements
-
#1996 Added
vue/multiline-ternary
rule that applies the coremultiline-ternary
rule to expressions in<template>
and<style>
. -
#2009 Added
vue/v-on-handler-style
rule that enforces writing style for handlers inv-on
directives. -
#1989 Added
globals
option tovue/component-name-in-template-casing
rule. -
#2013 Added support for regexp options to
vue/no-restricted-class
rule.
⚙ ️ Updates
-
#2009 Deprecated
vue/v-on-function-call
rule. Use the newvue/v-on-handler-style
rule instead.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.6.0...v9.7.0
v9.6.0
✨ Enhancements
-
#1943 Added
vue/no-required-prop-with-default
rule that enforces props with default values to be optional. -
#1982 Added
consistent
option tovue/padding-line-between-tags
rule.
🐛 Bug Fixes
-
#1988 Fixed false positives for uninitialized vars in
vue/no-ref-as-operand
rule.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.5.1...v9.6.0
v9.5.1
🐛 Bug Fixes
-
#1976 Fixed false positives for
<script setup>
with TypeScript invue/no-undef-components
rule.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.5.0...v9.5.1
v9.5.0
✨ Enhancements
-
#1965 Added
vue/no-ref-object-destructure
rule that reports the destructuring of ref objects causing the value to lose reactivity. -
#1967 Changed
vue/no-undef-components
rule to report when type-only imports are used. -
#1966 Added
vue/padding-line-between-tags
rule that requires or disallows newlines between sibling tags in template. -
#1968 Added
vue/define-emits-declaration
rule that enforces the declaration style ofdefineEmits
. -
#1968 Added
vue/define-props-declaration
rule that enforces the declaration style ofdefineProps
.
⚙ ️ Updates
-
#1955 Changed
vue/order-in-components
rule to be auto-fixable even when usingPropType
.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.4.0...v9.5.0
Thanks @dev1437, @Amorites, @acupofspirt for your contributions!
v9.4.0
🐛 Bug Fixes
-
#1942 Fixed false negatives for delete operation in
vue/no-mutating-props
rule
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.3.0...v9.4.0
v9.3.0
⚙ ️ Updates
-
#1934 Added support for
<script setup>
tovue/component-name-in-template-casing
rule.
🐛 Bug Fixes
-
#1937 Fixed false negatives for template literals in
vue/custom-event-name-casing
,vue/no-restricted-custom-event
, andvue/require-explicit-emits
rules.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.2.0...v9.3.0
v9.2.0
⚙ ️ Updates
-
#1917 Added support for Vue 2.7 to
vue/no-unsupported-features
rule.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.1.1...v9.2.0
v9.1.1
🐛 Bug Fixes
-
#1909 Fixed false negatives in
vue/no-unused-components
rule
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.1.0...v9.1.1
v9.1.0
🐛 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/eslint-plugin-vue/compare/v9.0.1...v9.1.0
v9.0.1
🐛 Bug Fixes
-
#1896 Fixed false positive for script setup in
vue/no-expose-after-await
rule
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v9.0.0...v9.0.1
v9.0.0
💥 Breaking Changes
- #1847 Drop support for Node.js v12.
-
#1846 Change default casing of
vue/custom-event-name-casing
rule tocamelCase
. -
#1883 Potentially breaking bug fix: Enable
vue/html-closing-bracket-spacing
andvue/html-closing-bracket-newline
rules for top-level tags. - #1848, #1892 Change presets configs and remove unused internal methods. (see below)
- #1849 Upgrade vue-eslint-parser to v9. (see below)
- #1881 Remove deprecated rules. (see below)
Change Vue 3 presets configs
- Change
plugin:vue/vue3-essential
config:- Add
vue/no-child-content
rule - Add
vue/no-expose-after-await
rule - Add
vue/no-reserved-component-names
rule - Add
vue/no-use-computed-property-like-method
rule - Add
vue/no-v-text-v-html-on-component
rule - Add
vue/prefer-import-from-vue
rule - Add
vue/valid-attribute-name
rule
- Add
- Change
plugin:vue/vue3-strongly-recommended
config:- Same changes as above
- Change
plugin:vue/vue3-recommended
config:- Same changes as above
Change Vue 2 preset configs
- Change
plugin:vue/essential
config:- Add
vue/no-child-content
rule - Add
vue/no-reserved-component-names
rule - Add
vue/no-use-computed-property-like-method
rule - Add
vue/no-v-text-v-html-on-component
rule - Add
vue/valid-attribute-name
rule - Add
vue/valid-model-definition
rule - Add
vue/no-export-in-script-setup
rule * - Add
vue/no-ref-as-operand
rule * - Add
vue/no-setup-props-destructure
rule * - Add
vue/return-in-emits-validator
rule * - Add
vue/valid-define-emits
rule * - Add
vue/valid-define-props
rule *
- Add
- Change
plugin:vue/strongly-recommended
config:- Same changes as above
- Change
plugin:vue/recommended
config:- Same changes as above
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.
Deprecated features
-
vue/no-invalid-model-keys
rule is now deprecated, as it's renamed tovue/valid-model-definition
-
vue/script-setup-uses-vars
rule is now deprecated, as it's no longer needed with the upgrade to vue-eslint-parser to v9 -
vue/setup-compiler-macros
environment is now deprecated, as it's no longer needed with the upgrade to vue-eslint-parser to v9
Removed features
Previously deprecated rules are removed completely:
-
vue/experimental-script-setup-vars
rule (deprecated in v7.13.0): not needed anymore -
vue/name-property-casing
rule (deprecated in v7.0.0): usevue/component-definition-name-casing
instead -
vue/no-confusing-v-for-v-if
rule (deprecated in v5.0.0): usevue/no-use-v-if-with-v-for
instead -
vue/no-unregistered-components
rule (deprecated in v8.4.0): usevue/no-undef-components
instead
Previously deprecated internal util methods are removed completely:
-
getComponentProps
: usegetComponentPropsFromOptions
instead -
getComponentEmits
: usegetComponentEmitsFromOptions
instead
✨ Enhancements
-
#1874 Make
vue/match-component-file-name
rule fixable via editor suggestions. -
#1885 Support
<script setup>
invue/no-expose-after-await
rule. -
#1851, #1892 Add
vue/valid-attribute-name
rule.
🐛 Bug Fixes
-
#1861 Fix wrong behavior of
vue/define-macros-order
rule when there are multiple<script>
tags. -
#1883 Potentially breaking bug fix: Enable
vue/html-closing-bracket-spacing
andvue/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
v8.7.1
🐛 Bug Fixes
-
#1861 Fixed false positives for multiple scripts in
vue/define-macros-order
rule.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.7.0...v8.7.1
v8.7.0
✨ Enhancements
-
#1825, #1842 Added support for CSS selectors to order option for
vue/component-tags-order
rule. -
#1831 Added
vue/match-component-import-name
rule that requires the registered component name to match the imported component name. -
#1856 Added
vue/define-macros-order
rule that enforces the order ofdefineEmits
anddefineProps
compiler macros.
🐛 Bug Fixes
-
#1844 Fixed false negatives for
<script setup>
invue/multi-word-component-names
rule. -
#1854 Fixed false positives for
<script setup>
with TS literal type invue/require-valid-default-prop
rule.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.6.0...v8.7.0
v8.6.0
✨ Enhancements
-
#1811 Made
vue/component-tags-order
rule auto-fixable. -
#1822 Added
vue/prefer-prop-type-boolean-first
rule that enforces thatBoolean
comes first in component prop types -
#1820 Added
vue/no-restricted-html-elements
rule that disallows specific HTML elements.
🐛 Bug Fixes
-
#1826 Fixed false negatives for
<slot>
invue/attribute-hyphenation
rule.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.5.0...v8.6.0
v8.5.0
✨ Enhancements
-
#1796 Added
prefer-true-attribute-shorthand
rule that forces thev-bind
attribute withtrue
value to use the shorthand. -
#1804 Added
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
v8.4.1
🐛 Bug Fixes
-
#1782 Support template literal component names in
vue/no-undef-components
rule. -
#1790 Fixed false positives due to conflicts with other rules in
vue/no-unused-properties
rule.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.4.0...v8.4.1
v8.4.0
✨ Enhancements
-
#1760 Added
vue/no-v-text-v-html-on-component
rule that disallows the use ofv-text
/v-html
on component. -
#1762 Added
vue/object-shorthand
rule that appliesobject-shorthand
rule to expressions in<template>
. -
#1763 Added
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'scomponents
section. -
#1769 Added
vue/quote-props
rule that appliesquote-props
rule to expressions in<template>
. -
#1761 Added support for Vue2 functional component to
vue/no-unused-properties
rule. -
#1761 Added support for Vue2 functional component to
vue/no-undef-properties
rule.
🐛 Bug Fixes
-
#1770 Fixed false positives for import brace in
vue/script-indent
rule. -
#1771 Fixed false positives for
v-bind="obj"
withv-model
invue/attributes-order
rule. -
#1775 Fixed false positives for CSS
v-bind()
invue/no-extra-parens
rule. -
#1777 Skip conditional expressions in
vue/valid-next-tick
rule.
⚙ ️ Updates
-
#1763 Deprecated
vue/no-unregistered-components
rule.
Full Changelog: https://github.com/vuejs/eslint-plugin-vue/compare/v8.3.0...v8.4.0
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.