Releases: vuejs/eslint-plugin-vue
Releases · vuejs/eslint-plugin-vue
v7.6.0
✨ Enhancements
New Rules:
Other changes in Rules:
- #1429 Added
"SLOT"
option tovue/attributes-order
rule to specifyv-slot
order. - #1430 Changed the option schema for the following rules to be stricter. Incorrect options are reported as errors.
vue/attributes-order
rule.vue/component-tags-order
rule.vue/max-attributes-per-line
rule.vue/new-line-between-multi-line-property
rule.vue/no-bare-strings-in-template
rule.vue/no-duplicate-attributes
rule.vue/no-potential-component-option-typo
rule.vue/no-reserved-component-names
rule.vue/no-use-v-if-with-v-for
rule.vue/no-useless-mustaches
rule.vue/no-useless-v-bind
rule.vue/valid-v-slot
rule.
- #1436 Improved autofix of
vue/no-deprecated-slot-attribute
rule when slot name contains_
.
🐛 Bug Fixes
- #1434 Fixed false negatives for
v-bind="object"
invue/attributes-order
rule.
⚙️ Updates
- #1440 Upgrade
vue-eslint-parser
to v7.5.0.
This change fixes an issue that caused a crash when using some queries withvue/no-restricted-syntax
rule.
All commits: v7.5.0 -> v7.6.0
v7.5.0
✨ Enhancements
New Rules:
- #1401 Added
vue/no-constant-condition
rule appliesno-constant-condition
rule to expressions in<template>
,v-if
,v-show
andv-else-if
. - #1400 Added
vue/next-tick-style
rule that enforces whether the callback version or Promise version should be used inVue.nextTick
andthis.$nextTick
. - #1404 Added
vue/valid-next-tick
rule that enforce validnextTick
function calls.
Other changes in Rules:
- #1396 Make
vue/no-ref-as-operand
rule fixable.
🐛 Bug Fixes
- #1398 Added
computed()
support tovue/no-async-in-computed-properties
rule. - #1406 Added
computed()
support tovue/return-in-computed-property
rule. - #1407 Added
computed()
support tovue/no-side-effects-in-computed-properties
rule. - #1419 Fixed false positives for mixin() in
vue/one-component-per-file
andvue/require-name-property
rules. - #1421 Fixed crash for toLocaleString() in
vue/no-unused-properties
rule. - #1420 Fixed false positives for quoted 'emits' in vue/require-explicit-emits rule.
⚙️ Updates
- #1422 Upgrade vue-eslint-parser to 7.4.1
⚙️ Chores
All commits: v7.4.1 -> v7.5.0
v7.4.1
v7.4.0
✨ Enhancements
New Rules:
- #1381 Added
vue/no-restricted-call-after-await
rule that reports your restricted calls after theawait
expression. - #1388 Added
vue/v-on-event-hyphenation
rule that enforces using hyphenated v-on event names on custom components in Vue templates. - #1389 Added
vue/no-restricted-block
rule that allows you to specify block names that you don't want to use in your application.
Other changes in Rules:
- #1387 Added
deepData
option tovue/no-unused-properties
rule.
🐛 Bug Fixes
- #1382 Fixed multiple reporting of same warnings in
vue/no-unregistered-component
rule. - #1391 Fixed false positives for
v-bind="object"
syntax invue/attributes-order
rule.
All commits: v7.3.0 -> v7.4.0
v7.3.0
✨ Enhancements
- #1080 Added
vue/new-line-between-multiline-property
rule that enforces new lines between multi-line properties. - #1376 Added
vue/no-restricted-props
rule that disallows prop names that you don't want to use. - #1377 Added
vue/no-restricted-custom-event
rule that disallows custom event names that you don't want to use.
⚙️ Updates
- #1375 Upgraded vue-eslint-parser to 7.3.0
All commits: v7.2.0 -> v7.3.0
v7.2.0
✨ Enhancements
- #1364 Added casing option to
vue/custom-event-name-casing
rule.
⚙️ Updates
- #1365 Upgraded vue-eslint-parser to 7.2.0
- #1364 Removed
vue/custom-event-name-casing
rule from"plugin:vue/essential"
and"plugin:vue/vue3-essential"
configurations
🐛 Bug Fixes
- #1335 Fixed false positives when using
is
attr invue/valid-v-bind-sync
rule. - #1366 Fixed false positives when using v-for variable for v-slot in
vue/valid-v-slot
rule - #1367 Fixed false positives when using in
vue/valid-v-slot
andvue/valid-v-model
rule - #1368 Fixed false negatives when using handler property in
vue/no-arrow-functions-in-watch
rule - #1369 Fixed false positives for methods whose arguments should not be changed in
vue/v-on-function-call
rule.
All commits: v7.1.0 -> v7.2.0
v7.1.0
✨ Enhancements
New Rules:
- #1328 Added
vue/block-tag-newline
rule that enforces a line break (or no line break) after opening and before closing block tags. - #1326 Added
vue/array-bracket-newline
rule appliesarray-bracket-newline
rule to expressions in<template>
.
Other changes in Rules:
- #1321 Added
ignores
option tovue/custom-event-name-casing
rule. - #1330 Added
allowModifiers
option tovue/valid-v-slot
rule.
🐛 Bug Fixes
- #1332 Fixed CRLF issues.
- #1305 Fixed false positives for recursive components in
vue/no-unregistered-components
rule. - #1324 Fixed false positives when used via argument in
vue/no-unused-properties
⚙️ Updates
- #1322 Changed not to use ESLint internal modules.
⚙️ Chores
All commits: v7.0.1 -> v7.1.0
v7.0.1
v7.0.0
🚀 Highlight
- Support for Vue.js 3.0 "One Piece".
- Support for ESLint 7.x.
- Support for ECMAScript 2020.
- Added 66 new rules.
💥 Breaking Changes
- #1209 Change support version of ESLint from 6.0.0 to 6.2.0.
- Updated presets configs.
- Changed
plugin:vue/base
config. - Changed
plugin:vue/essential
config.- Same changes as above.
- #1036 Added
vue/valid-v-bind-sync
rule. - #1036 Added
vue/valid-v-slot
rule. - #1036 Added
vue/no-custom-modifiers-on-v-model
rule. - #1036 Added
vue/no-multiple-template-root
rule. - #1036 Added
vue/no-v-model-argument
rule. - #1148 Added
vue/no-mutating-props
rule. - #1156 Added
vue/no-arrow-functions-in-watch
rule. - #1166 Added
vue/custom-event-name-casing
rule. - #1239 Added
vue/no-dupe-v-else-if
rule. - #1281 Added
vue/no-v-for-template-key
rule.
- Changed
plugin:vue/strongly-recommended
config. - Changed
plugin:vue/recommended
config.
- Changed
- #1036 Changed
vue/name-property-casing
rule to be deprecate. - #1120 Added the support of descriptions in directive comments.
- #1120 Added the support for block-level directive comments.
- Changed the default order option for
vue/order-in-components
rule.- Add options for Vue.js 3.x.
- Add options for Vue.js 2.x.
- Add options for Vue Router.
- #1107 ROUTER_GUARDS (
beforeRouteEnter
,beforeRouteUpdate
andbeforeRouteLeave
) to afterprovide / inject
(provide / inject
was added aftermixins
).
- #1107 ROUTER_GUARDS (
- Add options for Nuxt.
- Change options for Nuxt.
✨ Enhancements
Core:
- #1120 Added the support of descriptions in directive comments.
- #1120 Added the support for block-level directive comments.
- #1073, #1088 Updated the rules of this plugin to detect Vue.js 3.x components.
- #1064 Updated the rules of this plugin to be able to analyze the arrow function component options.
- #1152 Changed casing conversion logic to behave like Vue core logic.
- Changed
plugin:vue/essential
config. - Changed
plugin:vue/strongly-recommended
config. - Changed
plugin:vue/recommended
config.
New Rulesets:
- Added
plugin:vue/vue3-essential
config. - Added
plugin:vue/vue3-strongly-recommended
config. - Added
plugin:vue/vue3-recommended
config.
New Rules:
for Vue.js 3.x:
- #1039 Added
vue/no-deprecated-v-bind-sync
rule that reports when deprecated.sync
modifier is used onv-bind
directive. Related to [RFC0005] - #1043 Added
vue/no-deprecated-filter
rule that reports usage of filters syntax removed in Vue.js 3.0.0+. Related to [RFC0015] - #1065 Added
vue/no-ref-as-operand
rule that reports cases where a ref is used incorrectly as an operand. Related to [RFC0013] - #1066 Added
vue/no-setup-props-destructure
rule that reports the destructuring of props passed to setup causing the value to lose reactivity. Related to [RFC0013] - #1067 Added
vue/no-lifecycle-after-await
rule that reports the lifecycle hooks after await expression. Related to [RFC0013] - #1079 Added
vue/no-deprecated-v-on-number-modifiers
rule that reports use of deprecatedKeyboardEvent.keyCode
modifier onv-on
directive. Related to [RFC0014] - #1083 Added
vue/no-deprecated-data-object-declaration
rule that reports use of deprecated object declaration ondata
property. Related to [RFC0019] - #1097 Added
vue/no-deprecated-events-api
rule that reports use of deprecated$on
,$off
and$once
api (removed in Vue.js v3.0.0+). Related to [RFC0020] - #1068 Added
vue/no-watch-after-await
rule that reports thewatch()
afterawait
expression. [RFC0013] - #1099, #1105 Added
vue/require-toggle-inside-transition
rule that reports elements inside<transition>
that do not control the display. Related to [RFC0017] - #1100 Added
vue/no-deprecated-inline-template
rule that reports deprecatedinline-template
attributes (removed in Vue.js v3.0.0+) Related to [RFC0016] - #1117 Added
vue/no-deprecated-html-element-is
rule that reports deprecated the is attribute on HTML elements (removed in Vue.js v3.0.0+). Related to [RFC0027] - #1118 Added
vue/no-deprecated-vue-config-keycodes
rule that reports use of deprecated Vue.config.keyCodes (removed in Vue.js 3.0.0+). Related to [RFC0014] - #1119 Added
vue/no-deprecated-functional-template
rule that reports deprecated the functional template (removed in Vue.js 3.0.0+). Related to [RFC0007] - #1124 Added
vue/require-explicit-emits
rule that reports event triggers not declared with the emits option. Related to [RFC0030] - #1129 Added
vue/return-in-emits-validator
rule enforces that a return statement is present in emits validators. Related to [RFC0030] - #1130 Added
vue/no-deprecated-v-on-native-modifier
rule that reports use of deprecated.native
modifier onv-on
directive. Related to [RFC0031] - #1133 Added
vue/no-deprecated-dollar-listeners-api
rule that reports use of deprecated$listeners
. Related to [RFC0031] - #1177 Added
vue/no-deprecated-dollar-scopedslots-api
rule that reports use of deprecated$scopedSlots
. Related to [RFC0006] - #1178 Added
vue/require-slots-as-functions
rule enforces the properties of $slots to be used as a function. Related to [RFC0006] - #1211 Added
vue/no-deprecated-destroyed-lifecycle
rule reports use of deprecateddestroyed
andbeforeDestroy
lifecycle hooks. - #1253 Added
vue/valid-v-is
rule that reports wrong usage ofv-is
directives. - #1289 Added
vue/no-v-for-template-key-on-child
rule that reports the key of the<template v-for>
placed on the child elements. - #1302 Added
vue/no-deprecated-props-default-this
rule that reports the use ofthis
within the props default value factory functions. - #1303 Added
vue/experimental-script-setup-vars
rule that prevent variables defined in<script setup>
to be marked as undefined.
for Vue.js 2.x:
- #1038 Added
vue/no-multiple-template-root
rule to template to check for a single root element. This rule has been separated from the previousvue/valid-template-root
rule. - #1039 Added
vue/no-v-model-argument
rule that does not allow argument to v-model. - #1039 Added
vue/no-custom-modifiers-on-v-model
rule that reports whenv-model
is used with custom modifiers on Vue Component. - #1281 Added
vue/no-v-for-template-key
rule that disallow the key placed on the<template v-for>
. This rule has been separated from the previousvue/no-template-key
rule.
Commons:
- #1086 Added
vue/no-template-no-target-blank
rule that disallows usingtarget="_blank"
attribute withoutrel="noopener noreferrer"
to avoid a security vulnerability. - #1114 Added
vue/no-unregistered-components
rule that disallow using components that are not registered inside templates. - #755 Added
vue/html-comment-indent
rule that enforce consistent indentation in HTML comments. - #755 Added
vue/html-comment-content-newline
rule that enforce unified line brake in HTML comments. - #755 Added
vue/html-comment-content-spacing
rule that enforce unified spacing in HTML comments. - #627 #1144 Added
vue/no-duplicate-attr-inheritance
rule that warn to applyinheritAttrs: false
when it detectsv-bind="$attrs"
being used. - #871 #1145 Added
vue/no-unused-properties
rule that report unused properties. - #633 #1148 Added
vue/no-mutating-props
rule that reports mutation of component props. - #671 Added
vue/one-component-per-file
rule that checks if there is only one component per file. - #1072 Added
vue/no-potential-property-typo
rule that disallow a potential typo in your component options. - #1155 Added
vue/no-arrow-functions-in-watch
rule that disallow use an arrow function to define a watcher. - #1166 Added
vue/custom-event-name-casing
rule that enforces using kebab-case custom event names. - #1179 Added
vue/no-multiple-slot-args
rule disallows to pass multiple arguments to scoped slots. - #1185 Added
vue/no-bare-strings-in-template
rule that disallows the use of bare strings in<template>
. - #1186 Added
vue/no-useless-v-bind
rule that reportsv-bind
with a string literal value. - #1187 Added
vue/no-useless-mustaches
rule that reports mustache interpolation with a string literal value. - #1191 Added
vue/no-restricted-v-bind
rule that disallow specific argument inv-bind
. - #1192 Added
vue/no-restricted-static-attribute
rule that disallow specific attribute. - #1213 Added
vue/no-restricted-component-options
rule that disallow specific component options. - #1218 Added
vue/no-multiple-objects-in-class
rule disallows to pass multiple objects into...
v7.0.0-beta.4
💥 Breaking Changes
- Changed
plugin:vue/base
config.- #1303 Added
vue/experimental-script-setup-vars
rule.
- #1303 Added
- Changed
plugin:vue/vue3-*
configs- #1302 Added
vue/no-deprecated-props-default-this
rule.
- #1302 Added
✨ Enhancements
New Rules:
- #1302 Added
vue/no-deprecated-props-default-this
rule that reports the use ofthis
within the props default value factory functions. - #1303 Added
vue/experimental-script-setup-vars
rule that prevent variables defined in<script setup>
to be marked as undefined.
All commits: v7.0.0-beta.3 -> v7.0.0-beta.4