Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: vuejs/eslint-plugin-vue
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v7.3.0
Choose a base ref
...
head repository: vuejs/eslint-plugin-vue
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v7.4.0
Choose a head ref
  • 12 commits
  • 192 files changed
  • 4 contributors

Commits on Dec 16, 2020

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    b617e71 View commit details

Commits on Dec 18, 2020

  1. Fix multiple reporting of same warnings in `vue/no-unregistered-compo…

    …nent` (#1382)
    
    * fix multiple reporting of unregistered components
    
    * add tests
    
    * fix linter error
    enzo360 authored Dec 18, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    2567f16 View commit details

Commits on Dec 24, 2020

  1. Fixes #1379 Add since attribute (#1384)

    * Fixes #1379 Add since attribute
    
    * reintroduced stripped trailing spaces
    
    * add stripped content line
    
    * Update docs/rules/README.md
    
    * Update docs/rules/html-comment-indent.md
    
    Co-authored-by: Yosuke Ota <otameshiyo23@gmail.com>
    ajmas and ota-meshi authored Dec 24, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    dfe445f View commit details
  2. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    30e89ec View commit details

Commits on Dec 25, 2020

  1. Add vue/no-restricted-call-after-await rule (#1381)

    * Add vue/no-restricted-call-after-await rule
    
    * Fix bug in eslint 6
    
    * update
    ota-meshi authored Dec 25, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    f0e13a4 View commit details
  2. update npm script

    ota-meshi committed Dec 25, 2020
    Copy the full SHA
    caab1c4 View commit details

Commits on Dec 27, 2020

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    543361b View commit details
  2. Add vue/v-on-event-hyphenation rule (#1388)

    * Add vue/v-on-event-hyphenation rule
    
    * update docs
    
    * Update doc
    ota-meshi authored Dec 27, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    01f7732 View commit details
  3. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    7c0cd3e View commit details
  4. Add deepData option to vue/no-unused-properties rule (#1387)

    * Add deepData option to `vue/no-unused-properties`
    
    * update
    
    * update
    
    * update
    ota-meshi authored Dec 27, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    e1cabbb View commit details
  5. update script

    ota-meshi committed Dec 27, 2020
    Copy the full SHA
    f934005 View commit details
  6. 7.4.0

    ota-meshi committed Dec 27, 2020
    Copy the full SHA
    c387fc3 View commit details
Showing with 3,930 additions and 436 deletions.
  1. +5 −0 .env-cmdrc
  2. +3 −0 docs/rules/README.md
  3. +6 −0 docs/rules/array-bracket-newline.md
  4. +6 −0 docs/rules/array-bracket-spacing.md
  5. +6 −0 docs/rules/arrow-spacing.md
  6. +14 −0 docs/rules/attribute-hyphenation.md
  7. +33 −1 docs/rules/attributes-order.md
  8. +6 −0 docs/rules/block-spacing.md
  9. +6 −0 docs/rules/block-tag-newline.md
  10. +6 −0 docs/rules/brace-style.md
  11. +6 −0 docs/rules/camelcase.md
  12. +6 −0 docs/rules/comma-dangle.md
  13. +6 −0 docs/rules/comma-spacing.md
  14. +6 −0 docs/rules/comma-style.md
  15. +6 −0 docs/rules/comment-directive.md
  16. +6 −0 docs/rules/component-definition-name-casing.md
  17. +6 −0 docs/rules/component-name-in-template-casing.md
  18. +6 −0 docs/rules/component-tags-order.md
  19. +13 −2 docs/rules/custom-event-name-casing.md
  20. +6 −0 docs/rules/dot-location.md
  21. +6 −0 docs/rules/dot-notation.md
  22. +6 −0 docs/rules/eqeqeq.md
  23. +6 −0 docs/rules/experimental-script-setup-vars.md
  24. +6 −0 docs/rules/func-call-spacing.md
  25. +6 −0 docs/rules/html-closing-bracket-newline.md
  26. +6 −0 docs/rules/html-closing-bracket-spacing.md
  27. +6 −0 docs/rules/html-comment-content-newline.md
  28. +6 −0 docs/rules/html-comment-content-spacing.md
  29. +6 −0 docs/rules/html-comment-indent.md
  30. +6 −0 docs/rules/html-end-tags.md
  31. +6 −0 docs/rules/html-indent.md
  32. +6 −0 docs/rules/html-quotes.md
  33. +6 −0 docs/rules/html-self-closing.md
  34. +6 −0 docs/rules/jsx-uses-vars.md
  35. +6 −0 docs/rules/key-spacing.md
  36. +6 −0 docs/rules/keyword-spacing.md
  37. +6 −0 docs/rules/match-component-file-name.md
  38. +6 −0 docs/rules/max-attributes-per-line.md
  39. +6 −0 docs/rules/max-len.md
  40. +6 −0 docs/rules/multiline-html-element-content-newline.md
  41. +6 −0 docs/rules/mustache-interpolation-spacing.md
  42. +6 −0 docs/rules/name-property-casing.md
  43. +7 −1 docs/rules/new-line-between-multi-line-property.md
  44. +6 −0 docs/rules/no-arrow-functions-in-watch.md
  45. +6 −0 docs/rules/no-async-in-computed-properties.md
  46. +6 −0 docs/rules/no-bare-strings-in-template.md
  47. +6 −0 docs/rules/no-boolean-default.md
  48. +6 −0 docs/rules/no-confusing-v-for-v-if.md
  49. +6 −0 docs/rules/no-custom-modifiers-on-v-model.md
  50. +6 −0 docs/rules/no-deprecated-data-object-declaration.md
  51. +6 −0 docs/rules/no-deprecated-destroyed-lifecycle.md
  52. +6 −0 docs/rules/no-deprecated-dollar-listeners-api.md
  53. +6 −0 docs/rules/no-deprecated-dollar-scopedslots-api.md
  54. +6 −0 docs/rules/no-deprecated-events-api.md
  55. +6 −0 docs/rules/no-deprecated-filter.md
  56. +6 −0 docs/rules/no-deprecated-functional-template.md
  57. +6 −0 docs/rules/no-deprecated-html-element-is.md
  58. +6 −0 docs/rules/no-deprecated-inline-template.md
  59. +6 −0 docs/rules/no-deprecated-props-default-this.md
  60. +6 −0 docs/rules/no-deprecated-scope-attribute.md
  61. +6 −0 docs/rules/no-deprecated-slot-attribute.md
  62. +6 −0 docs/rules/no-deprecated-slot-scope-attribute.md
  63. +6 −0 docs/rules/no-deprecated-v-bind-sync.md
  64. +6 −0 docs/rules/no-deprecated-v-on-native-modifier.md
  65. +6 −0 docs/rules/no-deprecated-v-on-number-modifiers.md
  66. +6 −0 docs/rules/no-deprecated-vue-config-keycodes.md
  67. +6 −0 docs/rules/no-dupe-keys.md
  68. +6 −0 docs/rules/no-dupe-v-else-if.md
  69. +6 −0 docs/rules/no-duplicate-attr-inheritance.md
  70. +6 −0 docs/rules/no-duplicate-attributes.md
  71. +6 −0 docs/rules/no-empty-component-block.md
  72. +6 −0 docs/rules/no-empty-pattern.md
  73. +6 −0 docs/rules/no-extra-parens.md
  74. +6 −0 docs/rules/no-irregular-whitespace.md
  75. +6 −0 docs/rules/no-lifecycle-after-await.md
  76. +6 −0 docs/rules/no-lone-template.md
  77. +6 −0 docs/rules/no-multi-spaces.md
  78. +6 −0 docs/rules/no-multiple-objects-in-class.md
  79. +6 −0 docs/rules/no-multiple-slot-args.md
  80. +6 −0 docs/rules/no-multiple-template-root.md
  81. +6 −0 docs/rules/no-mutating-props.md
  82. +6 −0 docs/rules/no-parsing-error.md
  83. +6 −0 docs/rules/no-potential-component-option-typo.md
  84. +6 −0 docs/rules/no-ref-as-operand.md
  85. +6 −0 docs/rules/no-reserved-component-names.md
  86. +6 −0 docs/rules/no-reserved-keys.md
  87. +91 −0 docs/rules/no-restricted-block.md
  88. +101 −0 docs/rules/no-restricted-call-after-await.md
  89. +6 −0 docs/rules/no-restricted-component-options.md
  90. +6 −0 docs/rules/no-restricted-custom-event.md
  91. +6 −0 docs/rules/no-restricted-props.md
  92. +6 −0 docs/rules/no-restricted-static-attribute.md
  93. +6 −0 docs/rules/no-restricted-syntax.md
  94. +6 −0 docs/rules/no-restricted-v-bind.md
  95. +6 −0 docs/rules/no-setup-props-destructure.md
  96. +6 −0 docs/rules/no-shared-component-data.md
  97. +6 −0 docs/rules/no-side-effects-in-computed-properties.md
  98. +6 −0 docs/rules/no-spaces-around-equal-signs-in-attribute.md
  99. +6 −0 docs/rules/no-sparse-arrays.md
  100. +6 −0 docs/rules/no-static-inline-styles.md
  101. +6 −0 docs/rules/no-template-key.md
  102. +6 −0 docs/rules/no-template-shadow.md
  103. +6 −0 docs/rules/no-template-target-blank.md
  104. +6 −0 docs/rules/no-textarea-mustache.md
  105. +6 −0 docs/rules/no-unregistered-components.md
  106. +6 −0 docs/rules/no-unsupported-features.md
  107. +6 −0 docs/rules/no-unused-components.md
  108. +35 −1 docs/rules/no-unused-properties.md
  109. +6 −0 docs/rules/no-unused-vars.md
  110. +6 −0 docs/rules/no-use-v-if-with-v-for.md
  111. +6 −0 docs/rules/no-useless-concat.md
  112. +6 −0 docs/rules/no-useless-mustaches.md
  113. +6 −0 docs/rules/no-useless-v-bind.md
  114. +6 −0 docs/rules/no-v-for-template-key-on-child.md
  115. +6 −0 docs/rules/no-v-for-template-key.md
  116. +6 −0 docs/rules/no-v-html.md
  117. +6 −0 docs/rules/no-v-model-argument.md
  118. +6 −0 docs/rules/no-watch-after-await.md
  119. +6 −0 docs/rules/object-curly-newline.md
  120. +6 −0 docs/rules/object-curly-spacing.md
  121. +6 −0 docs/rules/object-property-newline.md
  122. +6 −0 docs/rules/one-component-per-file.md
  123. +6 −0 docs/rules/operator-linebreak.md
  124. +6 −0 docs/rules/order-in-components.md
  125. +6 −0 docs/rules/padding-line-between-blocks.md
  126. +6 −0 docs/rules/prefer-template.md
  127. +11 −0 docs/rules/prop-name-casing.md
  128. +6 −0 docs/rules/require-component-is.md
  129. +6 −0 docs/rules/require-default-prop.md
  130. +6 −0 docs/rules/require-direct-export.md
  131. +6 −0 docs/rules/require-explicit-emits.md
  132. +6 −0 docs/rules/require-name-property.md
  133. +6 −0 docs/rules/require-prop-type-constructor.md
  134. +6 −0 docs/rules/require-prop-types.md
  135. +6 −0 docs/rules/require-render-return.md
  136. +6 −0 docs/rules/require-slots-as-functions.md
  137. +6 −0 docs/rules/require-toggle-inside-transition.md
  138. +6 −0 docs/rules/require-v-for-key.md
  139. +6 −0 docs/rules/require-valid-default-prop.md
  140. +6 −0 docs/rules/return-in-computed-property.md
  141. +6 −0 docs/rules/return-in-emits-validator.md
  142. +6 −0 docs/rules/script-indent.md
  143. +6 −0 docs/rules/singleline-html-element-content-newline.md
  144. +6 −0 docs/rules/sort-keys.md
  145. +6 −0 docs/rules/space-in-parens.md
  146. +6 −0 docs/rules/space-infix-ops.md
  147. +6 −0 docs/rules/space-unary-ops.md
  148. +6 −0 docs/rules/static-class-names-order.md
  149. +6 −0 docs/rules/template-curly-spacing.md
  150. +6 −0 docs/rules/this-in-template.md
  151. +6 −0 docs/rules/use-v-on-exact.md
  152. +6 −0 docs/rules/v-bind-style.md
  153. +6 −0 docs/rules/v-for-delimiter-style.md
  154. +123 −0 docs/rules/v-on-event-hyphenation.md
  155. +6 −0 docs/rules/v-on-function-call.md
  156. +6 −0 docs/rules/v-on-style.md
  157. +6 −0 docs/rules/v-slot-style.md
  158. +6 −0 docs/rules/valid-template-root.md
  159. +6 −0 docs/rules/valid-v-bind-sync.md
  160. +6 −0 docs/rules/valid-v-bind.md
  161. +6 −0 docs/rules/valid-v-cloak.md
  162. +6 −0 docs/rules/valid-v-else-if.md
  163. +6 −0 docs/rules/valid-v-else.md
  164. +6 −0 docs/rules/valid-v-for.md
  165. +6 −0 docs/rules/valid-v-html.md
  166. +6 −0 docs/rules/valid-v-if.md
  167. +6 −0 docs/rules/valid-v-is.md
  168. +6 −0 docs/rules/valid-v-model.md
  169. +6 −0 docs/rules/valid-v-on.md
  170. +6 −0 docs/rules/valid-v-once.md
  171. +6 −0 docs/rules/valid-v-pre.md
  172. +6 −0 docs/rules/valid-v-show.md
  173. +6 −0 docs/rules/valid-v-slot.md
  174. +6 −0 docs/rules/valid-v-text.md
  175. +3 −0 lib/index.js
  176. +1 −1 lib/rules/attribute-hyphenation.js
  177. +143 −55 lib/rules/attributes-order.js
  178. +126 −0 lib/rules/no-restricted-block.js
  179. +227 −0 lib/rules/no-restricted-call-after-await.js
  180. +1 −1 lib/rules/no-unregistered-components.js
  181. +470 −364 lib/rules/no-unused-properties.js
  182. +113 −0 lib/rules/v-on-event-hyphenation.js
  183. +5 −2 lib/utils/index.js
  184. +5 −3 package.json
  185. +270 −0 tests/lib/rules/attributes-order.js
  186. +96 −0 tests/lib/rules/no-restricted-block.js
  187. +382 −0 tests/lib/rules/no-restricted-call-after-await.js
  188. +38 −0 tests/lib/rules/no-unregistered-components.js
  189. +491 −0 tests/lib/rules/no-unused-properties.js
  190. +107 −0 tests/lib/rules/v-on-event-hyphenation.js
  191. +35 −5 tools/update-docs.js
  192. +3 −0 typings/eslint/index.d.ts
5 changes: 5 additions & 0 deletions .env-cmdrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"version": {
"IN_VERSION_SCRIPT": "true"
}
}
3 changes: 3 additions & 0 deletions docs/rules/README.md
Original file line number Diff line number Diff line change
@@ -301,6 +301,8 @@ For example:
| [vue/no-multiple-objects-in-class](./no-multiple-objects-in-class.md) | disallow to pass multiple objects into array to class | |
| [vue/no-potential-component-option-typo](./no-potential-component-option-typo.md) | disallow a potential typo in your component property | |
| [vue/no-reserved-component-names](./no-reserved-component-names.md) | disallow the use of reserved names in component definitions | |
| [vue/no-restricted-block](./no-restricted-block.md) | disallow specific block | |
| [vue/no-restricted-call-after-await](./no-restricted-call-after-await.md) | disallow asynchronously called restricted methods | |
| [vue/no-restricted-component-options](./no-restricted-component-options.md) | disallow specific component option | |
| [vue/no-restricted-custom-event](./no-restricted-custom-event.md) | disallow specific custom event | |
| [vue/no-restricted-props](./no-restricted-props.md) | disallow specific props | |
@@ -320,6 +322,7 @@ For example:
| [vue/sort-keys](./sort-keys.md) | enforce sort-keys in a manner that is compatible with order-in-components | |
| [vue/static-class-names-order](./static-class-names-order.md) | enforce static class names order | :wrench: |
| [vue/v-for-delimiter-style](./v-for-delimiter-style.md) | enforce `v-for` directive's delimiter style | :wrench: |
| [vue/v-on-event-hyphenation](./v-on-event-hyphenation.md) | enforce v-on event naming style on custom components in template | :wrench: |
| [vue/v-on-function-call](./v-on-function-call.md) | enforce or forbid parentheses after method calls without arguments in `v-on` directives | :wrench: |

### Extension Rules
6 changes: 6 additions & 0 deletions docs/rules/array-bracket-newline.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/array-bracket-newline
description: enforce linebreaks after opening and before closing array brackets
since: v7.1.0
---
# vue/array-bracket-newline

> enforce linebreaks after opening and before closing array brackets
- :wrench: The `--fix` option on the [command line](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some of the problems reported by this rule.
@@ -17,6 +19,10 @@ This rule is the same rule as core [array-bracket-newline] rule but it applies t

[array-bracket-newline]: https://eslint.org/docs/rules/array-bracket-newline

## :rocket: Version

This rule was introduced in eslint-plugin-vue v7.1.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/array-bracket-newline.js)
6 changes: 6 additions & 0 deletions docs/rules/array-bracket-spacing.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/array-bracket-spacing
description: enforce consistent spacing inside array brackets
since: v5.2.0
---
# vue/array-bracket-spacing

> enforce consistent spacing inside array brackets
- :wrench: The `--fix` option on the [command line](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some of the problems reported by this rule.
@@ -17,6 +19,10 @@ This rule is the same rule as core [array-bracket-spacing] rule but it applies t

[array-bracket-spacing]: https://eslint.org/docs/rules/array-bracket-spacing

## :rocket: Version

This rule was introduced in eslint-plugin-vue v5.2.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/array-bracket-spacing.js)
6 changes: 6 additions & 0 deletions docs/rules/arrow-spacing.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/arrow-spacing
description: enforce consistent spacing before and after the arrow in arrow functions
since: v5.2.0
---
# vue/arrow-spacing

> enforce consistent spacing before and after the arrow in arrow functions
- :wrench: The `--fix` option on the [command line](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some of the problems reported by this rule.
@@ -17,6 +19,10 @@ This rule is the same rule as core [arrow-spacing] rule but it applies to the ex

[arrow-spacing]: https://eslint.org/docs/rules/arrow-spacing

## :rocket: Version

This rule was introduced in eslint-plugin-vue v5.2.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/arrow-spacing.js)
14 changes: 14 additions & 0 deletions docs/rules/attribute-hyphenation.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/attribute-hyphenation
description: enforce attribute naming style on custom components in template
since: v3.9.0
---
# vue/attribute-hyphenation

> enforce attribute naming style on custom components in template
- :gear: This rule is included in all of `"plugin:vue/vue3-strongly-recommended"`, `"plugin:vue/strongly-recommended"`, `"plugin:vue/vue3-recommended"` and `"plugin:vue/recommended"`.
@@ -45,6 +47,7 @@ Default casing is set to `always` with `['data-', 'aria-', 'slot-scope']` set to
- `"ignore"` ... Array of ignored names

### `"always"`

It errors on upper case letters.

<eslint-code-block fix :rules="{'vue/attribute-hyphenation': ['error', 'always']}">
@@ -62,6 +65,7 @@ It errors on upper case letters.
</eslint-code-block>

### `"never"`

It errors on hyphens except `data-`, `aria-` and `slot-scope`.

<eslint-code-block fix :rules="{'vue/attribute-hyphenation': ['error', 'never']}">
@@ -82,6 +86,7 @@ It errors on hyphens except `data-`, `aria-` and `slot-scope`.
</eslint-code-block>

### `"never", { "ignore": ["custom-prop"] }`

Don't use hyphenated name but allow custom attributes

<eslint-code-block fix :rules="{'vue/attribute-hyphenation': ['error', 'never', { ignore: ['custom-prop']}]}">
@@ -102,6 +107,15 @@ Don't use hyphenated name but allow custom attributes

</eslint-code-block>

## :couple: Related Rules

- [vue/v-on-event-hyphenation](./v-on-event-hyphenation.md)
- [vue/prop-name-casing](./prop-name-casing.md)

## :rocket: Version

This rule was introduced in eslint-plugin-vue v3.9.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/attribute-hyphenation.js)
34 changes: 33 additions & 1 deletion docs/rules/attributes-order.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/attributes-order
description: enforce order of attributes
since: v4.3.0
---
# vue/attributes-order

> enforce order of attributes
- :gear: This rule is included in `"plugin:vue/vue3-recommended"` and `"plugin:vue/recommended"`.
@@ -89,7 +91,33 @@ This rule aims to enforce ordering of component attributes. The default order is

</eslint-code-block>

Note that `v-bind="object"` syntax is considered to be the same as the next or previous attribute categories.

<eslint-code-block fix :rules="{'vue/attributes-order': ['error']}">

```vue
<template>
<!-- ✓ GOOD (`v-bind="object"` is considered GLOBAL category) -->
<MyComponent
v-bind="object"
id="x"
v-model="x"
v-bind:foo="x">
</MyComponent>
<!-- ✗ BAD (`v-bind="object"` is considered UNIQUE category) -->
<MyComponent
key="x"
v-model="x"
v-bind="object">
</MyComponent>
</template>
```

</eslint-code-block>

## :wrench: Options

```json
{
"vue/attributes-order": ["error", {
@@ -111,7 +139,7 @@ This rule aims to enforce ordering of component attributes. The default order is
}
```

### `"alphabetical": true`
### `"alphabetical": true`

<eslint-code-block fix :rules="{'vue/attributes-order': ['error', {alphabetical: true}]}">

@@ -220,6 +248,10 @@ This rule aims to enforce ordering of component attributes. The default order is
- [Style guide - Element attribute order](https://v3.vuejs.org/style-guide/#element-attribute-order-recommended)
- [Style guide (for v2) - Element attribute order](https://vuejs.org/v2/style-guide/#Element-attribute-order-recommended)

## :rocket: Version

This rule was introduced in eslint-plugin-vue v4.3.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/attributes-order.js)
6 changes: 6 additions & 0 deletions docs/rules/block-spacing.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/block-spacing
description: disallow or enforce spaces inside of blocks after opening block and before closing block
since: v5.2.0
---
# vue/block-spacing

> disallow or enforce spaces inside of blocks after opening block and before closing block
- :wrench: The `--fix` option on the [command line](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some of the problems reported by this rule.
@@ -17,6 +19,10 @@ This rule is the same rule as core [block-spacing] rule but it applies to the ex

[block-spacing]: https://eslint.org/docs/rules/block-spacing

## :rocket: Version

This rule was introduced in eslint-plugin-vue v5.2.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/block-spacing.js)
6 changes: 6 additions & 0 deletions docs/rules/block-tag-newline.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/block-tag-newline
description: enforce line breaks after opening and before closing block-level tags
since: v7.1.0
---
# vue/block-tag-newline

> enforce line breaks after opening and before closing block-level tags
- :wrench: The `--fix` option on the [command line](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some of the problems reported by this rule.
@@ -155,6 +157,10 @@ export default {

</eslint-code-block>

## :rocket: Version

This rule was introduced in eslint-plugin-vue v7.1.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/block-tag-newline.js)
6 changes: 6 additions & 0 deletions docs/rules/brace-style.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/brace-style
description: enforce consistent brace style for blocks
since: v5.2.0
---
# vue/brace-style

> enforce consistent brace style for blocks
- :wrench: The `--fix` option on the [command line](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some of the problems reported by this rule.
@@ -17,6 +19,10 @@ This rule is the same rule as core [brace-style] rule but it applies to the expr

[brace-style]: https://eslint.org/docs/rules/brace-style

## :rocket: Version

This rule was introduced in eslint-plugin-vue v5.2.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/brace-style.js)
6 changes: 6 additions & 0 deletions docs/rules/camelcase.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/camelcase
description: enforce camelcase naming convention
since: v5.2.0
---
# vue/camelcase

> enforce camelcase naming convention
This rule is the same rule as core [camelcase] rule but it applies to the expressions in `<template>`.
@@ -15,6 +17,10 @@ This rule is the same rule as core [camelcase] rule but it applies to the expres

[camelcase]: https://eslint.org/docs/rules/camelcase

## :rocket: Version

This rule was introduced in eslint-plugin-vue v5.2.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/camelcase.js)
6 changes: 6 additions & 0 deletions docs/rules/comma-dangle.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/comma-dangle
description: require or disallow trailing commas
since: v5.2.0
---
# vue/comma-dangle

> require or disallow trailing commas
- :wrench: The `--fix` option on the [command line](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some of the problems reported by this rule.
@@ -17,6 +19,10 @@ This rule is the same rule as core [comma-dangle] rule but it applies to the exp

[comma-dangle]: https://eslint.org/docs/rules/comma-dangle

## :rocket: Version

This rule was introduced in eslint-plugin-vue v5.2.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/comma-dangle.js)
6 changes: 6 additions & 0 deletions docs/rules/comma-spacing.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/comma-spacing
description: enforce consistent spacing before and after commas
since: v7.0.0
---
# vue/comma-spacing

> enforce consistent spacing before and after commas
- :wrench: The `--fix` option on the [command line](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some of the problems reported by this rule.
@@ -17,6 +19,10 @@ This rule is the same rule as core [comma-spacing] rule but it applies to the ex

[comma-spacing]: https://eslint.org/docs/rules/comma-spacing

## :rocket: Version

This rule was introduced in eslint-plugin-vue v7.0.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/comma-spacing.js)
6 changes: 6 additions & 0 deletions docs/rules/comma-style.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/comma-style
description: enforce consistent comma style
since: v7.0.0
---
# vue/comma-style

> enforce consistent comma style
- :wrench: The `--fix` option on the [command line](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some of the problems reported by this rule.
@@ -17,6 +19,10 @@ This rule is the same rule as core [comma-style] rule but it applies to the expr

[comma-style]: https://eslint.org/docs/rules/comma-style

## :rocket: Version

This rule was introduced in eslint-plugin-vue v7.0.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/comma-style.js)
6 changes: 6 additions & 0 deletions docs/rules/comment-directive.md
Original file line number Diff line number Diff line change
@@ -3,8 +3,10 @@ pageClass: rule-details
sidebarDepth: 0
title: vue/comment-directive
description: support comment-directives in `<template>`
since: v4.1.0
---
# vue/comment-directive

> support comment-directives in `<template>`
- :gear: This rule is included in all of `"plugin:vue/base"`, `"plugin:vue/essential"`, `"plugin:vue/vue3-essential"`, `"plugin:vue/strongly-recommended"`, `"plugin:vue/vue3-strongly-recommended"`, `"plugin:vue/recommended"` and `"plugin:vue/vue3-recommended"`.
@@ -127,6 +129,10 @@ Unused reports cannot be suppressed with `eslint-disable` HTML comments.

[Disabling rules with inline comments]: https://eslint.org/docs/user-guide/configuring#disabling-rules-with-inline-comments

## :rocket: Version

This rule was introduced in eslint-plugin-vue v4.1.0

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/comment-directive.js)
Loading