Releases · vuejs/eslint-plugin-vue (original) (raw)
v10.1.0
✨ Enhancements
- #2734 Improved
allowlist
option ofvue/no-bare-strings-in-template
rule to accept regex. - #2736 Added
vue/define-props-destructuring
rule that enforce consistent style for props destructuring. - #2685 Added
disallowComments
option tovue/no-multiple-template-root
rule.
Full Changelog: v10.0.1...v10.1.0
v10.0.1
🐛 Bug Fixes
- #2700 Fixed incorrect type for
.eslintrc
configs. - #2703 Fixed false negatives for multiple script blocks in
vue/prefer-use-template-ref
rule. - #2726 Fixed false positives for tagged template expressions in
vue/no-ref-as-operand
rule. - #2728 Fixed false negatives for props destructure in
vue/require-default-prop
rule. - #2731 Fixed false positives for renamed props in
vue/no-dupe-keys
rule.
⚙️ Updates
- #2701 Improved the report location for
vue/no-export-in-script-setup
rule. - #2724 Improved the report location for
vue/html-self-closing
rule.
Full Changelog: v10.0.0...v10.0.1
v10.0.0
💥 Breaking changes
- #2630 Changed Versioning Policy:
- Allow minor versions of this plugin to enhance the checks for new features in Vue and Nuxt.
- Allow updating deprecated/reserved HTML+SVG element tag names in minor versions, see #2171.
- #2645 Removed deprecated rules (see removed rules).
- #2669 Dropped support for old versions of ESLint and Node.js. New minimum requirements:
- Node.js:
^18.18.0 || ^20.9.0 || >=21.1.0
- ESLint:
^8.57.0 || ^9.0.0
- Node.js:
- Updated configs:
- #2627 Added vue/block-order rule to recommended configs (replaces the removed
vue/component-tags-order
rule). - #2628 Added vue/no-deprecated-delete-set rule to vue3-essential config.
- #2629 Added vue/no-deprecated-model-definition rule to vue3-essential config.
- #2640 Added vue/no-required-prop-with-default rule to recommended configs.
- #2653 Added vue/valid-define-options rule to vue3-essential config.
- #2674 Removed globals from configs. You may need to configure them manually now, see https://eslint.org/docs/latest/use/configure/language-options#predefined-global-variables.
- #2648 Renamed
.eslintrc
configs (to matcheslint.config.js
config names; see PR for comparison). - #2668 Changed
.eslintrc
base config so that vue-eslint-parser is only used for.vue
files.
- #2627 Added vue/block-order rule to recommended configs (replaces the removed
- #2670 Changed vue-eslint-parser to peer dependency.
- #2697 Upgraded vue-eslint-parser to v10.
- This includes vuejs/vue-eslint-parser#195, which should make the parser much faster for large TypeScript projects ⚡
- #2153 Added
slots
andexpose
to the default order of vue/order-in-components rule. - #2626 Removed legacy option from vue/custom-event-name-casing rule.
- #2655 Removed unused
runOutsideVue
option from vue/sort-keys rule. - #2652 Removed
setup-compiler-macros
environments.
✨ Enhancements
- #2693 Improved type resolution for generic types and improved the rules for checking type-only macros.
- #2684 Added vue/no-import-compiler-macros rule that disallows importing Vue compiler macros.
- #2694 Added
except
option to vue/prefer-true-attribute-shorthand rule. - #2311 Improved the plugin to check for objects declared with Nuxt3 defineNuxtComponent().
⚙️ Updates
- #2171 Updated resources.
- #2675 Deprecated Vue 2 only rules. They will be removed in eslint-plugin-vue v11.
Full Changelog: v9.33.0...v10.0.0
v9.33.0
v9.32.0
✨ Enhancements
- #2598 Added
checkMultiRootNodes
option to vue/no-duplicate-attr-inheritance rule and changed to ignore multi-root components by default. - #2610 Added
ignoreElementNamespaces
option to vue/no-v-text-v-html-on-component rule. - #2609 Added
ignoreTags
option to vue/attribute-hyphenation rule and vue/v-on-event-hyphenation rule. - #2611 Added vue/restricted-component-names rule that enforces using only specific component names.
- #2620 Added vue/slot-name-casing rule that enforces specific casing for slot names.
- #2617 Added support for type references in vue/require-explicit-slots rule.
- #2608 Added support for
shallowRef
in vue/prefer-use-template-ref rule.
🐛 Bug Fixes
- #2612 Changed vue/prefer-use-template-ref rule to only check root-level variables.
Full Changelog: v9.31.0...v9.32.0
v9.31.0
v9.30.0
v9.29.1
v9.29.0
✨ Enhancements
New Rules
- #2540 Added vue/no-deprecated-delete-set rule that disallows using deprecated
$delete
and$set
.
Others
- #2513 Added support for Vuex and Pinia to vue/no-undef-properties rule.
- #2541 Added support for Vue 3.5's useTemplateRef() to vue/no-unused-refs rule.
- Added support for Vue 3.5's props destructure to various rules:
- #2551 to vue/require-valid-default-prop rule.
- #2552 to vue/require-default-prop rule.
- #2553 to vue/no-boolean-default rule.
- #2560 to vue/no-required-prop-with-default rule.
- #2562 to vue/no-restricted-props rule.
- #2550 to vue/no-setup-props-reactivity-loss rule.
⚙️ Updates
- #2528, #2566 Added TypeScript declarations for configs.
- #2565 Added support for recognizing Vue components in
.tsx
files.
v9.28.0
✨ Enhancements
New Rules
- #2430 Added vue/max-props rule that enforces the maximum number of props in Vue components.
- #2494 Added vue/require-default-export rule that requires components to be the
default
export. - #2525 Added vue/max-template-depth rule that enforces the maximum depth of
<template>
.
New Features
- #2501 Allow specifying custom macros in vue/define-macros-order rule.
- #2537 Added
additionalDirectives
option to vue/require-toggle-inside-transition rule.
🐛 Bug Fixes
- #2348 Fixed false positives/negatives for siblings in vue/v-if-else-key rule.
- #2505 Fixed false positives for JavaScript components in vue/require-typed-object-prop rule.
- #2511 Fixed false negatives for
v-model
directive in vue/attribute-hyphenation rule. - #2533 Fixed auto-fix for vue/attribute-hyphenation rule to skip
v-bind.sync
. - #2529 Fixed auto-fix for vue/no-deprecated-slot-attribute rule to handle
v-for
with dynamicslot
. - #2530 Fixed auto-fix for vue/no-deprecated-slot-attribute rule to skip dynamic components.
⚙️ Updates
- #2498 Renamed flat config names for inspector.
Full Changelog: v9.27.0...v9.28.0