Skip to content

Commit 52c43c4

Browse files
committed
Update
1 parent 325341a commit 52c43c4

File tree

6 files changed

+680
-143
lines changed

6 files changed

+680
-143
lines changed

docs/rules/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@ For example:
290290
| [vue/no-template-target-blank](./no-template-target-blank.md) | disallow target="_blank" attribute without rel="noopener noreferrer" | |
291291
| [vue/no-unregistered-components](./no-unregistered-components.md) | disallow using components that are not registered inside templates | |
292292
| [vue/no-unsupported-features](./no-unsupported-features.md) | disallow unsupported Vue.js syntax on the specified version | :wrench: |
293+
| [vue/no-unused-properties](./no-unused-properties.md) | disallow unused properties | |
293294
| [vue/object-curly-spacing](./object-curly-spacing.md) | enforce consistent spacing inside braces | :wrench: |
294295
| [vue/padding-line-between-blocks](./padding-line-between-blocks.md) | require or disallow padding lines between blocks | :wrench: |
295296
| [vue/require-direct-export](./require-direct-export.md) | require the component to be directly exported | |

docs/rules/no-unused-properties.md

+57-22
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,74 @@
22
pageClass: rule-details
33
sidebarDepth: 0
44
title: vue/no-unused-properties
5-
description: disallow unused properties, data and computed properties
5+
description: disallow unused properties
66
---
77
# vue/no-unused-properties
8-
> disallow unused properties, data and computed properties
8+
> disallow unused properties
99
1010
## :book: Rule Details
1111

12-
This rule disallows any unused properties, data and computed properties.
12+
This rule is aimed at eliminating unused properties.
1313

14-
```vue
15-
/* ✓ GOOD */
14+
::: warning Note
15+
This rule cannot be checked for use in other components (e.g. `mixins`, Property access via `$refs`) and use in places where the scope cannot be determined.
16+
:::
17+
18+
<eslint-code-block :rules="{'vue/no-unused-properties': ['error']}">
1619

20+
```vue
21+
<!-- ✓ GOOD -->
1722
<template>
1823
<div>{{ count }}</div>
1924
</template>
20-
2125
<script>
2226
export default {
2327
props: ['count']
2428
}
2529
</script>
2630
```
2731

28-
```vue
29-
/* ✗ BAD (`count` property not used) */
32+
</eslint-code-block>
33+
34+
<eslint-code-block :rules="{'vue/no-unused-properties': ['error']}">
3035

36+
```vue
37+
<!-- ✗ BAD (`count` property not used) -->
3138
<template>
3239
<div>{{ cnt }}</div>
3340
</template>
34-
3541
<script>
3642
export default {
3743
props: ['count']
3844
}
3945
</script>
4046
```
4147

42-
```vue
43-
/* ✓ GOOD */
48+
</eslint-code-block>
49+
50+
## :wrench: Options
51+
52+
```json
53+
{
54+
"vue/no-unused-properties": ["error", {
55+
"groups": ["props"]
56+
}]
57+
}
58+
```
59+
60+
- `"groups"` (`string[]`) Array of groups to search for properties. Default is `["props"]`. The value of the array is some of the following strings:
61+
- `"props"`
62+
- `"data"`
63+
- `"computed"`
64+
- `"methods"`
65+
- `"setup"`
66+
67+
### `"groups": ["props", "data"]`
68+
69+
<eslint-code-block :rules="{'vue/no-unused-properties': ['error', {groups: ['props', 'data']}]}">
4470

71+
```vue
72+
<!-- ✓ GOOD -->
4573
<script>
4674
export default {
4775
data() {
@@ -56,9 +84,12 @@ This rule disallows any unused properties, data and computed properties.
5684
</script>
5785
```
5886

59-
```vue
60-
/* ✓ BAD (`count` data not used) */
87+
</eslint-code-block>
6188

89+
<eslint-code-block :rules="{'vue/no-unused-properties': ['error', {groups: ['props', 'data']}]}">
90+
91+
```vue
92+
<!-- ✓ BAD (`count` data not used) -->
6293
<script>
6394
export default {
6495
data() {
@@ -73,13 +104,17 @@ This rule disallows any unused properties, data and computed properties.
73104
</script>
74105
```
75106

76-
```vue
77-
/* ✓ GOOD */
107+
</eslint-code-block>
108+
109+
### `"groups": ["props", "computed"]`
78110

111+
<eslint-code-block :rules="{'vue/no-unused-properties': ['error', {groups: ['props', 'computed']}]}">
112+
113+
```vue
114+
<!-- ✓ GOOD -->
79115
<template>
80116
<p>{{ reversedMessage }}</p>
81117
</template>
82-
83118
<script>
84119
export default {
85120
data() {
@@ -96,13 +131,15 @@ This rule disallows any unused properties, data and computed properties.
96131
</script>
97132
```
98133

99-
```vue
100-
/* ✓ BAD (`reversedMessage` computed property not used) */
134+
</eslint-code-block>
101135

136+
<eslint-code-block :rules="{'vue/no-unused-properties': ['error', {groups: ['props', 'computed']}]}">
137+
138+
```vue
139+
<!-- ✓ BAD (`reversedMessage` computed property not used) -->
102140
<template>
103141
<p>{{ message }}</p>
104142
</template>
105-
106143
<script>
107144
export default {
108145
data() {
@@ -119,9 +156,7 @@ This rule disallows any unused properties, data and computed properties.
119156
</script>
120157
```
121158

122-
## :wrench: Options
123-
124-
None.
159+
</eslint-code-block>
125160

126161
## :mag: Implementation
127162

lib/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ module.exports = {
8181
'no-unregistered-components': require('./rules/no-unregistered-components'),
8282
'no-unsupported-features': require('./rules/no-unsupported-features'),
8383
'no-unused-components': require('./rules/no-unused-components'),
84+
'no-unused-properties': require('./rules/no-unused-properties'),
8485
'no-unused-vars': require('./rules/no-unused-vars'),
8586
'no-use-v-if-with-v-for': require('./rules/no-use-v-if-with-v-for'),
8687
'no-v-html': require('./rules/no-v-html'),

0 commit comments

Comments
 (0)