# Available rules
Legend
π§ Indicates that the rule is fixable, and using --fix
option on the command line (opens new window) can automatically fix some of the reported problems.
π‘ Indicates that some problems reported by the rule are manually fixable by editor suggestions (opens new window).
Mark indicating rule type:
- β οΈ Possible Problems: These rules relate to possible logic errors in code.
- π¨ Suggestions: These rules suggest alternate ways of doing things.
- π Layout & Formatting: These rules care about how the code looks rather than how it executes.
# Base Rules (Enabling Correct ESLint Parsing)
Rules in this category are enabled for all presets provided by eslint-plugin-vue.
Rule ID | Description | ||
---|---|---|---|
vue/comment-directive | support comment-directives in <template> | β οΈ | |
vue/jsx-uses-vars | prevent variables used in JSX to be marked as unused | β οΈ |
# Priority A: Essential (Error Prevention)
- 3οΈβ£ Indicates that the rule is for Vue 3 and is included in all of
"plugin:vue/vue3-essential"
,"plugin:vue/vue3-strongly-recommended"
and"plugin:vue/vue3-recommended"
presets. - 2οΈβ£ Indicates that the rule is for Vue 2 and is included in all of
"plugin:vue/essential"
,"plugin:vue/strongly-recommended"
and"plugin:vue/recommended"
presets.
Rule ID | Description | ||
---|---|---|---|
vue/multi-word-component-names | require component names to be always multi-word | 3οΈβ£2οΈβ£π¨ | |
vue/no-arrow-functions-in-watch | disallow using arrow functions to define watcher | 3οΈβ£2οΈβ£β οΈ | |
vue/no-async-in-computed-properties | disallow asynchronous actions in computed properties | 3οΈβ£2οΈβ£β οΈ | |
vue/no-child-content | disallow element's child contents which would be overwritten by a directive like v-html or v-text | π‘ | 3οΈβ£2οΈβ£β οΈ |
vue/no-computed-properties-in-data | disallow accessing computed properties in data . | 3οΈβ£2οΈβ£β οΈ | |
vue/no-custom-modifiers-on-v-model | disallow custom modifiers on v-model used on the component | 2οΈβ£β οΈ | |
vue/no-deprecated-data-object-declaration | disallow using deprecated object declaration on data (in Vue.js 3.0.0+) | π§ | 3οΈβ£β οΈ |
vue/no-deprecated-destroyed-lifecycle | disallow using deprecated destroyed and beforeDestroy lifecycle hooks (in Vue.js 3.0.0+) | π§ | 3οΈβ£β οΈ |
vue/no-deprecated-dollar-listeners-api | disallow using deprecated $listeners (in Vue.js 3.0.0+) | 3οΈβ£β οΈ | |
vue/no-deprecated-dollar-scopedslots-api | disallow using deprecated $scopedSlots (in Vue.js 3.0.0+) | π§ | 3οΈβ£β οΈ |
vue/no-deprecated-events-api | disallow using deprecated events api (in Vue.js 3.0.0+) | 3οΈβ£β οΈ | |
vue/no-deprecated-filter | disallow using deprecated filters syntax (in Vue.js 3.0.0+) | 3οΈβ£β οΈ | |
vue/no-deprecated-functional-template | disallow using deprecated the functional template (in Vue.js 3.0.0+) | 3οΈβ£β οΈ | |
vue/no-deprecated-html-element-is | disallow using deprecated the is attribute on HTML elements (in Vue.js 3.0.0+) | 3οΈβ£β οΈ | |
vue/no-deprecated-inline-template | disallow using deprecated inline-template attribute (in Vue.js 3.0.0+) | 3οΈβ£β οΈ | |
vue/no-deprecated-props-default-this | disallow deprecated this access in props default function (in Vue.js 3.0.0+) | 3οΈβ£β οΈ | |
vue/no-deprecated-router-link-tag-prop | disallow using deprecated tag property on RouterLink (in Vue.js 3.0.0+) | 3οΈβ£β οΈ | |
vue/no-deprecated-scope-attribute | disallow deprecated scope attribute (in Vue.js 2.5.0+) | π§ | 3οΈβ£π¨ |
vue/no-deprecated-slot-attribute | disallow deprecated slot attribute (in Vue.js 2.6.0+) | π§ | 3οΈβ£π¨ |
vue/no-deprecated-slot-scope-attribute | disallow deprecated slot-scope attribute (in Vue.js 2.6.0+) | π§ | 3οΈβ£π¨ |
vue/no-deprecated-v-bind-sync | disallow use of deprecated .sync modifier on v-bind directive (in Vue.js 3.0.0+) | π§ | 3οΈβ£β οΈ |
vue/no-deprecated-v-is | disallow deprecated v-is directive (in Vue.js 3.1.0+) | π§ | 3οΈβ£π¨ |
vue/no-deprecated-v-on-native-modifier | disallow using deprecated .native modifiers (in Vue.js 3.0.0+) | 3οΈβ£β οΈ | |
vue/no-deprecated-v-on-number-modifiers | disallow using deprecated number (keycode) modifiers (in Vue.js 3.0.0+) | π§ | 3οΈβ£β οΈ |
vue/no-deprecated-vue-config-keycodes | disallow using deprecated Vue.config.keyCodes (in Vue.js 3.0.0+) | 3οΈβ£β οΈ | |
vue/no-dupe-keys | disallow duplication of field names | 3οΈβ£2οΈβ£β οΈ | |
vue/no-dupe-v-else-if | disallow duplicate conditions in v-if / v-else-if chains | 3οΈβ£2οΈβ£β οΈ | |
vue/no-duplicate-attributes | disallow duplication of attributes | 3οΈβ£2οΈβ£β οΈ | |
vue/no-export-in-script-setup | disallow export in <script setup> | 3οΈβ£2οΈβ£β οΈ | |
vue/no-expose-after-await | disallow asynchronously registered expose | 3οΈβ£β οΈ | |
vue/no-lifecycle-after-await | disallow asynchronously registered lifecycle hooks | 3οΈβ£π¨ | |
vue/no-multiple-template-root | disallow adding multiple root nodes to the template | 2οΈβ£β οΈ | |
vue/no-mutating-props | disallow mutation of component props | 3οΈβ£2οΈβ£π¨ | |
vue/no-parsing-error | disallow parsing errors in <template> | 3οΈβ£2οΈβ£β οΈ | |
vue/no-ref-as-operand | disallow use of value wrapped by ref() (Composition API) as an operand | π§ | 3οΈβ£2οΈβ£π¨ |
vue/no-reserved-component-names | disallow the use of reserved names in component definitions | 3οΈβ£2οΈβ£π¨ | |
vue/no-reserved-keys | disallow overwriting reserved keys | 3οΈβ£2οΈβ£π¨ | |
vue/no-reserved-props | disallow reserved names in props | 3οΈβ£2οΈβ£β οΈ | |
vue/no-setup-props-destructure | disallow destructuring of props passed to setup | 3οΈβ£2οΈβ£π¨ | |
vue/no-shared-component-data | enforce component's data property to be a function | π§ | 3οΈβ£2οΈβ£β οΈ |
vue/no-side-effects-in-computed-properties | disallow side effects in computed properties | 3οΈβ£2οΈβ£β οΈ | |
vue/no-template-key | disallow key attribute on <template> | 3οΈβ£2οΈβ£β οΈ | |
vue/no-textarea-mustache | disallow mustaches in <textarea> | 3οΈβ£2οΈβ£β οΈ | |
vue/no-unused-components | disallow registering components that are not used inside templates | 3οΈβ£2οΈβ£π¨ | |
vue/no-unused-vars | disallow unused variable definitions of v-for directives or scope attributes | π‘ | 3οΈβ£2οΈβ£π¨ |
vue/no-use-computed-property-like-method | disallow use computed property like method | 3οΈβ£2οΈβ£β οΈ | |
vue/no-use-v-if-with-v-for | disallow use v-if on the same element as v-for | 3οΈβ£2οΈβ£π¨ | |
vue/no-useless-template-attributes | disallow useless attribute on <template> | 3οΈβ£2οΈβ£β οΈ | |
vue/no-v-for-template-key-on-child | disallow key of <template v-for> placed on child elements | 3οΈβ£β οΈ | |
vue/no-v-for-template-key | disallow key attribute on <template v-for> | 2οΈβ£β οΈ | |
vue/no-v-model-argument | disallow adding an argument to v-model used in custom component | 2οΈβ£β οΈ | |
vue/no-v-text-v-html-on-component | disallow v-text / v-html on component | 3οΈβ£2οΈβ£β οΈ | |
vue/no-watch-after-await | disallow asynchronously registered watch | 3οΈβ£π¨ | |
vue/prefer-import-from-vue | enforce import from 'vue' instead of import from '@vue/*' | π§ | 3οΈβ£π¨ |
vue/require-component-is | require v-bind:is of <component> elements | 3οΈβ£2οΈβ£β οΈ | |
vue/require-prop-type-constructor | require prop type to be a constructor | π§ | 3οΈβ£2οΈβ£π¨ |
vue/require-render-return | enforce render function to always return value | 3οΈβ£2οΈβ£β οΈ | |
vue/require-slots-as-functions | enforce properties of $slots to be used as a function | 3οΈβ£β οΈ | |
vue/require-toggle-inside-transition | require control the display of the content inside <transition> | 3οΈβ£β οΈ | |
vue/require-v-for-key | require v-bind:key with v-for directives | 3οΈβ£2οΈβ£β οΈ | |
vue/require-valid-default-prop | enforce props default values to be valid | 3οΈβ£2οΈβ£π¨ | |
vue/return-in-computed-property | enforce that a return statement is present in computed property | 3οΈβ£2οΈβ£β οΈ | |
vue/return-in-emits-validator | enforce that a return statement is present in emits validator | 3οΈβ£2οΈβ£β οΈ | |
vue/use-v-on-exact | enforce usage of exact modifier on v-on | 3οΈβ£2οΈβ£π¨ | |
vue/valid-attribute-name | require valid attribute names | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-define-emits | enforce valid defineEmits compiler macro | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-define-props | enforce valid defineProps compiler macro | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-model-definition | require valid keys in model option | 2οΈβ£β οΈ | |
vue/valid-next-tick | enforce valid nextTick function calls | π§π‘ | 3οΈβ£2οΈβ£β οΈ |
vue/valid-template-root | enforce valid template root | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-bind-sync | enforce valid .sync modifier on v-bind directives | 2οΈβ£β οΈ | |
vue/valid-v-bind | enforce valid v-bind directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-cloak | enforce valid v-cloak directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-else-if | enforce valid v-else-if directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-else | enforce valid v-else directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-for | enforce valid v-for directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-html | enforce valid v-html directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-if | enforce valid v-if directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-is | enforce valid v-is directives | 3οΈβ£β οΈ | |
vue/valid-v-memo | enforce valid v-memo directives | 3οΈβ£β οΈ | |
vue/valid-v-model | enforce valid v-model directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-on | enforce valid v-on directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-once | enforce valid v-once directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-pre | enforce valid v-pre directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-show | enforce valid v-show directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-slot | enforce valid v-slot directives | 3οΈβ£2οΈβ£β οΈ | |
vue/valid-v-text | enforce valid v-text directives | 3οΈβ£2οΈβ£β οΈ |
# Priority B: Strongly Recommended (Improving Readability)
- 3οΈβ£ Indicates that the rule is for Vue 3 and is included in
"plugin:vue/vue3-strongly-recommended"
and"plugin:vue/vue3-recommended"
presets. - 2οΈβ£ Indicates that the rule is for Vue 2 and is included in
"plugin:vue/strongly-recommended"
and"plugin:vue/recommended"
presets.
Rule ID | Description | ||
---|---|---|---|
vue/attribute-hyphenation | enforce attribute naming style on custom components in template | π§ | 3οΈβ£2οΈβ£π¨ |
vue/component-definition-name-casing | enforce specific casing for component definition name | π§ | 3οΈβ£2οΈβ£π¨ |
vue/first-attribute-linebreak | enforce the location of first attribute | π§ | 3οΈβ£2οΈβ£π |
vue/html-closing-bracket-newline | require or disallow a line break before tag's closing brackets | π§ | 3οΈβ£2οΈβ£π |
vue/html-closing-bracket-spacing | require or disallow a space before tag's closing brackets | π§ | 3οΈβ£2οΈβ£π |
vue/html-end-tags | enforce end tag style | π§ | 3οΈβ£2οΈβ£π¨ |
vue/html-indent | enforce consistent indentation in <template> | π§ | 3οΈβ£2οΈβ£π |
vue/html-quotes | enforce quotes style of HTML attributes | π§ | 3οΈβ£2οΈβ£π |
vue/html-self-closing | enforce self-closing style | π§ | 3οΈβ£2οΈβ£π |
vue/max-attributes-per-line | enforce the maximum number of attributes per line | π§ | 3οΈβ£2οΈβ£π |
vue/multiline-html-element-content-newline | require a line break before and after the contents of a multiline element | π§ | 3οΈβ£2οΈβ£π |
vue/mustache-interpolation-spacing | enforce unified spacing in mustache interpolations | π§ | 3οΈβ£2οΈβ£π |
vue/no-multi-spaces | disallow multiple spaces | π§ | 3οΈβ£2οΈβ£π |
vue/no-spaces-around-equal-signs-in-attribute | disallow spaces around equal signs in attribute | π§ | 3οΈβ£2οΈβ£π |
vue/no-template-shadow | disallow variable declarations from shadowing variables declared in the outer scope | 3οΈβ£2οΈβ£π¨ | |
vue/one-component-per-file | enforce that each component should be in its own file | 3οΈβ£2οΈβ£π¨ | |
vue/prop-name-casing | enforce specific casing for the Prop name in Vue components | 3οΈβ£2οΈβ£π¨ | |
vue/require-default-prop | require default value for props | 3οΈβ£2οΈβ£π¨ | |
vue/require-explicit-emits | require emits option with name triggered by $emit() | π‘ | 3οΈβ£π¨ |
vue/require-prop-types | require type definitions in props | 3οΈβ£2οΈβ£π¨ | |
vue/singleline-html-element-content-newline | require a line break before and after the contents of a singleline element | π§ | 3οΈβ£2οΈβ£π |
vue/v-bind-style | enforce v-bind directive style | π§ | 3οΈβ£2οΈβ£π¨ |
vue/v-on-event-hyphenation | enforce v-on event naming style on custom components in template | π§ | 3οΈβ£π¨ |
vue/v-on-style | enforce v-on directive style | π§ | 3οΈβ£2οΈβ£π¨ |
vue/v-slot-style | enforce v-slot directive style | π§ | 3οΈβ£2οΈβ£π¨ |
# Priority C: Recommended (Potentially Dangerous Patterns)
- 3οΈβ£ Indicates that the rule is for Vue 3 and is included in
"plugin:vue/vue3-recommended"
preset. - 2οΈβ£ Indicates that the rule is for Vue 2 and is included in
"plugin:vue/recommended"
preset.
Rule ID | Description | ||
---|---|---|---|
vue/attributes-order | enforce order of attributes | π§ | 3οΈβ£2οΈβ£π¨ |
vue/component-tags-order | enforce order of component top-level elements | π§ | 3οΈβ£2οΈβ£π¨ |
vue/no-lone-template | disallow unnecessary <template> | 3οΈβ£2οΈβ£β οΈ | |
vue/no-multiple-slot-args | disallow to pass multiple arguments to scoped slots | 3οΈβ£2οΈβ£β οΈ | |
vue/no-v-html | disallow use of v-html to prevent XSS attack | 3οΈβ£2οΈβ£π¨ | |
vue/order-in-components | enforce order of properties in components | π§ | 3οΈβ£2οΈβ£π¨ |
vue/this-in-template | disallow usage of this in template | π§ | 3οΈβ£2οΈβ£π¨ |
# Uncategorized
No preset enables the rules in this category. Please enable each rule if you want.
For example:
{
"rules": {
"vue/block-lang": "error"
}
}
Rule ID | Description | ||
---|---|---|---|
vue/block-lang | disallow use other than available lang | π¨ | |
vue/block-tag-newline | enforce line breaks after opening and before closing block-level tags | π§ | π |
vue/component-api-style | enforce component API style | π¨ | |
vue/component-name-in-template-casing | enforce specific casing for the component naming style in template | π§ | π¨ |
vue/component-options-name-casing | enforce the casing of component name in components options | π§π‘ | π¨ |
vue/custom-event-name-casing | enforce specific casing for custom event name | π¨ | |
vue/define-emits-declaration | enforce declaration style of defineEmits | π¨ | |
vue/define-macros-order | enforce order of defineEmits and defineProps compiler macros | π§ | π |
vue/define-props-declaration | enforce declaration style of defineProps | π¨ | |
vue/html-button-has-type | disallow usage of button without an explicit type attribute | π¨ | |
vue/html-comment-content-newline | enforce unified line brake in HTML comments | π§ | π |
vue/html-comment-content-spacing | enforce unified spacing in HTML comments | π§ | π |
vue/html-comment-indent | enforce consistent indentation in HTML comments | π§ | π |
vue/match-component-file-name | require component name property to match its file name | π‘ | π¨ |
vue/match-component-import-name | require the registered component name to match the imported component name | β οΈ | |
vue/new-line-between-multi-line-property | enforce new lines between multi-line properties in Vue components | π§ | π |
vue/next-tick-style | enforce Promise or callback style in nextTick | π§ | π¨ |
vue/no-bare-strings-in-template | disallow the use of bare strings in <template> | π¨ | |
vue/no-boolean-default | disallow boolean defaults | π§ | π¨ |
vue/no-duplicate-attr-inheritance | enforce inheritAttrs to be set to false when using v-bind="$attrs" | π¨ | |
vue/no-empty-component-block | disallow the <template> <script> <style> block to be empty | π¨ | |
vue/no-multiple-objects-in-class | disallow to pass multiple objects into array to class | π¨ | |
vue/no-potential-component-option-typo | disallow a potential typo in your component property | π‘ | π¨ |
vue/no-ref-object-destructure | disallow destructuring of ref objects that can lead to loss of reactivity | β οΈ | |
vue/no-required-prop-with-default | enforce props with default values ββto be optional | π§π‘ | β οΈ |
vue/no-restricted-block | disallow specific block | π¨ | |
vue/no-restricted-call-after-await | disallow asynchronously called restricted methods | π¨ | |
vue/no-restricted-class | disallow specific classes in Vue components | β οΈ | |
vue/no-restricted-component-options | disallow specific component option | π¨ | |
vue/no-restricted-custom-event | disallow specific custom event | π‘ | π¨ |
vue/no-restricted-html-elements | disallow specific HTML elements | π¨ | |
vue/no-restricted-props | disallow specific props | π‘ | π¨ |
vue/no-restricted-static-attribute | disallow specific attribute | π¨ | |
vue/no-restricted-v-bind | disallow specific argument in v-bind | π¨ | |
vue/no-static-inline-styles | disallow static inline style attributes | π¨ | |
vue/no-template-target-blank | disallow target="_blank" attribute without rel="noopener noreferrer" | β οΈ | |
vue/no-this-in-before-route-enter | disallow this usage in a beforeRouteEnter method | β οΈ | |
vue/no-undef-components | disallow use of undefined components in <template> | π¨ | |
vue/no-undef-properties | disallow undefined properties | π¨ | |
vue/no-unsupported-features | disallow unsupported Vue.js syntax on the specified version | π§ | π¨ |
vue/no-unused-properties | disallow unused properties | π¨ | |
vue/no-unused-refs | disallow unused refs | π¨ | |
vue/no-useless-mustaches | disallow unnecessary mustache interpolations | π§ | π¨ |
vue/no-useless-v-bind | disallow unnecessary v-bind directives | π§ | π¨ |
vue/no-v-text | disallow use of v-text | π¨ | |
vue/padding-line-between-blocks | require or disallow padding lines between blocks | π§ | π |
vue/padding-line-between-tags | require or disallow newlines between sibling tags in template | π§ | π |
vue/prefer-prop-type-boolean-first | enforce Boolean comes first in component prop types | π‘ | β οΈ |
vue/prefer-separate-static-class | require static class names in template to be in a separate class attribute | π§ | π¨ |
vue/prefer-true-attribute-shorthand | require shorthand form attribute when v-bind value is true | π‘ | π¨ |
vue/require-direct-export | require the component to be directly exported | π¨ | |
vue/require-emit-validator | require type definitions in emits | π‘ | π¨ |
vue/require-expose | require declare public properties using expose | π‘ | π¨ |
vue/require-name-property | require a name property in Vue components | π¨ | |
vue/script-indent | enforce consistent indentation in <script> | π§ | π |
vue/sort-keys | enforce sort-keys in a manner that is compatible with order-in-components | π¨ | |
vue/static-class-names-order | enforce static class names order | π§ | π¨ |
vue/v-for-delimiter-style | enforce v-for directive's delimiter style | π§ | π |
vue/v-on-function-call | enforce or forbid parentheses after method calls without arguments in v-on directives | π§ | π¨ |
# Extension Rules
The following rules extend the rules provided by ESLint itself and apply them to the expressions in the <template>
.
Rule ID | Description | ||
---|---|---|---|
vue/array-bracket-newline | Enforce linebreaks after opening and before closing array brackets in <template> | π§ | π |
vue/array-bracket-spacing | Enforce consistent spacing inside array brackets in <template> | π§ | π |
vue/arrow-spacing | Enforce consistent spacing before and after the arrow in arrow functions in <template> | π§ | π |
vue/block-spacing | Disallow or enforce spaces inside of blocks after opening block and before closing block in <template> | π§ | π |
vue/brace-style | Enforce consistent brace style for blocks in <template> | π§ | π |
vue/camelcase | Enforce camelcase naming convention in <template> | π¨ | |
vue/comma-dangle | Require or disallow trailing commas in <template> | π§ | π |
vue/comma-spacing | Enforce consistent spacing before and after commas in <template> | π§ | π |
vue/comma-style | Enforce consistent comma style in <template> | π§ | π |
vue/dot-location | Enforce consistent newlines before and after dots in <template> | π§ | π |
vue/dot-notation | Enforce dot notation whenever possible in <template> | π§ | π¨ |
vue/eqeqeq | Require the use of === and !== in <template> | π§ | π¨ |
vue/func-call-spacing | Require or disallow spacing between function identifiers and their invocations in <template> | π§ | π |
vue/key-spacing | Enforce consistent spacing between keys and values in object literal properties in <template> | π§ | π |
vue/keyword-spacing | Enforce consistent spacing before and after keywords in <template> | π§ | π |
vue/max-len | enforce a maximum line length in .vue files | π | |
vue/no-constant-condition | Disallow constant expressions in conditions in <template> | β οΈ | |
vue/no-empty-pattern | Disallow empty destructuring patterns in <template> | β οΈ | |
vue/no-extra-parens | Disallow unnecessary parentheses in <template> | π§ | π |
vue/no-irregular-whitespace | disallow irregular whitespace in .vue files | β οΈ | |
vue/no-loss-of-precision | Disallow literal numbers that lose precision in <template> | β οΈ | |
vue/no-restricted-syntax | Disallow specified syntax in <template> | π¨ | |
vue/no-sparse-arrays | Disallow sparse arrays in <template> | β οΈ | |
vue/no-useless-concat | Disallow unnecessary concatenation of literals or template literals in <template> | π¨ | |
vue/object-curly-newline | Enforce consistent line breaks after opening and before closing braces in <template> | π§ | π |
vue/object-curly-spacing | Enforce consistent spacing inside braces in <template> | π§ | π |
vue/object-property-newline | Enforce placing object properties on separate lines in <template> | π§ | π |
vue/object-shorthand | Require or disallow method and property shorthand syntax for object literals in <template> | π§ | π¨ |
vue/operator-linebreak | Enforce consistent linebreak style for operators in <template> | π§ | π |
vue/prefer-template | Require template literals instead of string concatenation in <template> | π§ | π¨ |
vue/quote-props | Require quotes around object literal property names in <template> | π§ | π¨ |
vue/space-in-parens | Enforce consistent spacing inside parentheses in <template> | π§ | π |
vue/space-infix-ops | Require spacing around infix operators in <template> | π§ | π |
vue/space-unary-ops | Enforce consistent spacing before or after unary operators in <template> | π§ | π |
vue/template-curly-spacing | Require or disallow spacing around embedded expressions of template strings in <template> | π§ | π |
# Deprecated
- β οΈ We're going to remove deprecated rules in the next major release. Please migrate to successor/new rules.
- π We don't fix bugs which are in deprecated rules since we don't have enough resources.
Rule ID | Replaced by |
---|---|
vue/no-invalid-model-keys | vue/valid-model-definition |
vue/script-setup-uses-vars | (no replacement) |
# Removed
- π« These rules have been removed in a previous major release, after they have been deprecated for a while.