Skip to content

Commit e1cabbb

Browse files
authored
Add deepData option to vue/no-unused-properties rule (#1387)
* Add deepData option to `vue/no-unused-properties` * update * update * update
1 parent 7c0cd3e commit e1cabbb

File tree

4 files changed

+995
-367
lines changed

4 files changed

+995
-367
lines changed

docs/rules/no-unused-properties.md

+29-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ This rule cannot be checked for use in other components (e.g. `mixins`, Property
5454
```json
5555
{
5656
"vue/no-unused-properties": ["error", {
57-
"groups": ["props"]
57+
"groups": ["props"],
58+
"deepData": false
5859
}]
5960
}
6061
```
@@ -65,6 +66,7 @@ This rule cannot be checked for use in other components (e.g. `mixins`, Property
6566
- `"computed"`
6667
- `"methods"`
6768
- `"setup"`
69+
- `"deepData"` (`boolean`) If `true`, the object of the property defined in `data` will be searched deeply. Default is `false`. Include `"data"` in `groups` to use this option.
6870

6971
### `"groups": ["props", "data"]`
7072

@@ -108,6 +110,32 @@ This rule cannot be checked for use in other components (e.g. `mixins`, Property
108110

109111
</eslint-code-block>
110112

113+
### `{ "groups": ["props", "data"], "deepData": true }`
114+
115+
<eslint-code-block :rules="{'vue/no-unused-properties': ['error', {groups: ['props', 'data'], deepData: true}]}">
116+
117+
```vue
118+
<template>
119+
<Foo :param="state.used">
120+
</template>
121+
<script>
122+
export default {
123+
data() {
124+
return {
125+
state: {
126+
/* ✓ GOOD */
127+
used: null,
128+
/* ✗ BAD (`state.unused` data not used) */
129+
unused: null
130+
}
131+
}
132+
}
133+
}
134+
</script>
135+
```
136+
137+
</eslint-code-block>
138+
111139
### `"groups": ["props", "computed"]`
112140

113141
<eslint-code-block :rules="{'vue/no-unused-properties': ['error', {groups: ['props', 'computed']}]}">

0 commit comments

Comments
 (0)