chore(deps): 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.11.0 |
Release Notes
vuejs/eslint-plugin-vue
v9.11.0
✨ Enhancements
-
#2101 Added
unreferencedOptionsoption tovue/no-unused-propertiesrule.
🐛 Bug Fixes
-
#2131 Fixed false negatives in
vue/camelcaserule 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-blankrule.
⚙ ️ Updates
-
#2112 Changed to use
@eslint-community/eslint-utilspackage.
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-newlinerule that applies the corearray-element-newlinerule to expressions in<template>. -
#2042 Improved
vue/script-indentrule to support more TypeScript syntax. -
#2052 Added
vue/padding-lines-in-component-definitionrule that requires or disallows padding lines in component definition. -
#2068 Added new
ATTR_DYNAMIC,ATTR_STATIC, andATTR_SHORTHAND_BOOLoptions tovue/attributes-orderrule.
🐛 Bug Fixes
-
#2069 Fixed false positive for type-only imports in
vue/component-name-in-template-casingrule. -
#2070 Fixed spaces around comma in
vue/component-api-stylerule report messages. -
#2071 Fixed
vue/define-macros-orderrule to hoist secondary expressions correctly. -
#2073 Fixed false positives for circular references in
<script setup>invue/no-undef-componentsrule.
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-commentrule that requires props to have a comment. -
#2034 Added suggestion for
vue/require-name-propertyrule.
🐛 Bug Fixes
-
#2024 Fixed false positives for
<Textarea>components invue/no-textarea-mustacherule. -
#2040 Fixed false positives for exported interfaces/type declarations in
vue/define-macros-orderrule. -
#2031 Fixed false positives for HTML tags when using HTML-like components in
vue/component-name-in-template-casingrule. -
#2045 Fixed
vue/attribute-hyphenationrule 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-ternaryrule that applies the coremultiline-ternaryrule to expressions in<template>and<style>. -
#2009 Added
vue/v-on-handler-stylerule that enforces writing style for handlers inv-ondirectives. -
#1989 Added
globalsoption tovue/component-name-in-template-casingrule. -
#2013 Added support for regexp options to
vue/no-restricted-classrule.
⚙ ️ Updates
-
#2009 Deprecated
vue/v-on-function-callrule. Use the newvue/v-on-handler-stylerule 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-defaultrule that enforces props with default values to be optional. -
#1982 Added
consistentoption tovue/padding-line-between-tagsrule.
🐛 Bug Fixes
-
#1988 Fixed false positives for uninitialized vars in
vue/no-ref-as-operandrule.
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-componentsrule.
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-destructurerule that reports the destructuring of ref objects causing the value to lose reactivity. -
#1967 Changed
vue/no-undef-componentsrule to report when type-only imports are used. -
#1966 Added
vue/padding-line-between-tagsrule that requires or disallows newlines between sibling tags in template. -
#1968 Added
vue/define-emits-declarationrule that enforces the declaration style ofdefineEmits. -
#1968 Added
vue/define-props-declarationrule that enforces the declaration style ofdefineProps.
⚙ ️ Updates
-
#1955 Changed
vue/order-in-componentsrule 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-propsrule
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-casingrule.
🐛 Bug Fixes
-
#1937 Fixed false negatives for template literals in
vue/custom-event-name-casing,vue/no-restricted-custom-event, andvue/require-explicit-emitsrules.
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-featuresrule.
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-componentsrule
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-vuerule to skip side-effect imports in.d.tsfiles.
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-awaitrule
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-casingrule tocamelCase. -
#1883 Potentially breaking bug fix: Enable
vue/html-closing-bracket-spacingandvue/html-closing-bracket-newlinerules 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-essentialconfig:- Add
vue/no-child-contentrule - Add
vue/no-expose-after-awaitrule - Add
vue/no-reserved-component-namesrule - Add
vue/no-use-computed-property-like-methodrule - Add
vue/no-v-text-v-html-on-componentrule - Add
vue/prefer-import-from-vuerule - Add
vue/valid-attribute-namerule
- Add
- Change
plugin:vue/vue3-strongly-recommendedconfig:- Same changes as above
- Change
plugin:vue/vue3-recommendedconfig:- Same changes as above
Change Vue 2 preset configs
- Change
plugin:vue/essentialconfig:- Add
vue/no-child-contentrule - Add
vue/no-reserved-component-namesrule - Add
vue/no-use-computed-property-like-methodrule - Add
vue/no-v-text-v-html-on-componentrule - Add
vue/valid-attribute-namerule - Add
vue/valid-model-definitionrule - Add
vue/no-export-in-script-setuprule * - Add
vue/no-ref-as-operandrule * - Add
vue/no-setup-props-destructurerule * - Add
vue/return-in-emits-validatorrule * - Add
vue/valid-define-emitsrule * - Add
vue/valid-define-propsrule *
- Add
- Change
plugin:vue/strongly-recommendedconfig:- Same changes as above
- Change
plugin:vue/recommendedconfig:- 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-keysrule is now deprecated, as it's renamed tovue/valid-model-definition -
vue/script-setup-uses-varsrule is now deprecated, as it's no longer needed with the upgrade to vue-eslint-parser to v9 -
vue/setup-compiler-macrosenvironment 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-varsrule (deprecated in v7.13.0): not needed anymore -
vue/name-property-casingrule (deprecated in v7.0.0): usevue/component-definition-name-casinginstead -
vue/no-confusing-v-for-v-ifrule (deprecated in v5.0.0): usevue/no-use-v-if-with-v-forinstead -
vue/no-unregistered-componentsrule (deprecated in v8.4.0): usevue/no-undef-componentsinstead
Previously deprecated internal util methods are removed completely:
-
getComponentProps: usegetComponentPropsFromOptionsinstead -
getComponentEmits: usegetComponentEmitsFromOptionsinstead
✨ Enhancements
-
#1874 Make
vue/match-component-file-namerule fixable via editor suggestions. -
#1885 Support
<script setup>invue/no-expose-after-awaitrule. -
#1851, #1892 Add
vue/valid-attribute-namerule.
🐛 Bug Fixes
-
#1861 Fix wrong behavior of
vue/define-macros-orderrule when there are multiple<script>tags. -
#1883 Potentially breaking bug fix: Enable
vue/html-closing-bracket-spacingandvue/html-closing-bracket-newlinerules 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-orderrule.
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-orderrule. -
#1831 Added
vue/match-component-import-namerule that requires the registered component name to match the imported component name. -
#1856 Added
vue/define-macros-orderrule that enforces the order ofdefineEmitsanddefinePropscompiler macros.
🐛 Bug Fixes
-
#1844 Fixed false negatives for
<script setup>invue/multi-word-component-namesrule. -
#1854 Fixed false positives for
<script setup>with TS literal type invue/require-valid-default-proprule.
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-orderrule auto-fixable. -
#1822 Added
vue/prefer-prop-type-boolean-firstrule that enforces thatBooleancomes first in component prop types -
#1820 Added
vue/no-restricted-html-elementsrule that disallows specific HTML elements.
🐛 Bug Fixes
-
#1826 Fixed false negatives for
<slot>invue/attribute-hyphenationrule.
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-shorthandrule that forces thev-bindattribute withtruevalue to use the shorthand. -
#1804 Added
vue/prefer-import-from-vuerule 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-componentsrule. -
#1790 Fixed false positives due to conflicts with other rules in
vue/no-unused-propertiesrule.
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-componentrule that disallows the use ofv-text/v-htmlon component. -
#1762 Added
vue/object-shorthandrule that appliesobject-shorthandrule to expressions in<template>. -
#1763 Added
vue/no-undef-componentsrule that warns reports component that are used in the<template>, but that are not defined in the<script setup>or the Options API'scomponentssection. -
#1769 Added
vue/quote-propsrule that appliesquote-propsrule to expressions in<template>. -
#1761 Added support for Vue2 functional component to
vue/no-unused-propertiesrule. -
#1761 Added support for Vue2 functional component to
vue/no-undef-propertiesrule.
🐛 Bug Fixes
-
#1770 Fixed false positives for import brace in
vue/script-indentrule. -
#1771 Fixed false positives for
v-bind="obj"withv-modelinvue/attributes-orderrule. -
#1775 Fixed false positives for CSS
v-bind()invue/no-extra-parensrule. -
#1777 Skip conditional expressions in
vue/valid-next-tickrule.
⚙ ️ Updates
-
#1763 Deprecated
vue/no-unregistered-componentsrule.
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.