@rotki/eslint-plugin 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -4,7 +4,7 @@ interface PluginRuleModule<TOptions extends readonly unknown[] = []> extends Rul
4
4
  defaultOptions: TOptions;
5
5
  }
6
6
 
7
- type Options$3 = [
7
+ type Options$6 = [
8
8
  {
9
9
  extensions: string[];
10
10
  ignoreKeys: string[];
@@ -12,40 +12,52 @@ type Options$3 = [
12
12
  }
13
13
  ];
14
14
 
15
- type Options$2 = [{
15
+ type Options$5 = [{
16
16
  legacy: boolean;
17
17
  }];
18
18
 
19
- interface Options$1 {
19
+ interface Options$4 {
20
20
  max: number;
21
21
  ignoreTypeImports: boolean;
22
22
  }
23
23
 
24
- type Options = [{
24
+ type Options$3 = [{
25
25
  allowInference: boolean;
26
26
  }];
27
27
 
28
+ type Options$2 = [{
29
+ autofix?: boolean;
30
+ }];
31
+
32
+ type Options$1 = [{
33
+ autofix?: boolean;
34
+ }];
35
+
36
+ type Options = [{
37
+ autofix?: boolean;
38
+ }];
39
+
28
40
  declare const plugin: {
29
41
  meta: {
30
42
  name: string;
31
43
  version: string;
32
44
  };
33
45
  rules: {
34
- 'composable-input-flexibility': PluginRuleModule<[]>;
46
+ 'composable-input-flexibility': PluginRuleModule<Options>;
35
47
  'composable-naming-convention': PluginRuleModule<[]>;
36
48
  'composable-no-default-export': PluginRuleModule<[]>;
37
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
49
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
38
50
  'composable-require-cleanup': PluginRuleModule<[]>;
39
- 'composable-return-readonly': PluginRuleModule<[]>;
51
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
40
52
  'composable-ssr-safety': PluginRuleModule<[]>;
41
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
42
- 'max-dependencies': PluginRuleModule<[Options$1]>;
53
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
54
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
43
55
  'no-deprecated-classes': PluginRuleModule<[]>;
44
- 'no-deprecated-components': PluginRuleModule<Options$2>;
56
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
45
57
  'no-deprecated-props': PluginRuleModule<[]>;
46
58
  'no-dot-ts-imports': PluginRuleModule<[]>;
47
59
  'no-legacy-library-import': PluginRuleModule<[]>;
48
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
60
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
49
61
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
50
62
  };
51
63
  };
@@ -56,21 +68,21 @@ declare const _default: {
56
68
  version: string;
57
69
  };
58
70
  rules: {
59
- 'composable-input-flexibility': PluginRuleModule<[]>;
71
+ 'composable-input-flexibility': PluginRuleModule<Options>;
60
72
  'composable-naming-convention': PluginRuleModule<[]>;
61
73
  'composable-no-default-export': PluginRuleModule<[]>;
62
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
74
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
63
75
  'composable-require-cleanup': PluginRuleModule<[]>;
64
- 'composable-return-readonly': PluginRuleModule<[]>;
76
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
65
77
  'composable-ssr-safety': PluginRuleModule<[]>;
66
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
67
- 'max-dependencies': PluginRuleModule<[Options$1]>;
78
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
79
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
68
80
  'no-deprecated-classes': PluginRuleModule<[]>;
69
- 'no-deprecated-components': PluginRuleModule<Options$2>;
81
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
70
82
  'no-deprecated-props': PluginRuleModule<[]>;
71
83
  'no-dot-ts-imports': PluginRuleModule<[]>;
72
84
  'no-legacy-library-import': PluginRuleModule<[]>;
73
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
85
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
74
86
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
75
87
  };
76
88
  } & {
@@ -83,21 +95,21 @@ declare const _default: {
83
95
  version: string;
84
96
  };
85
97
  rules: {
86
- 'composable-input-flexibility': PluginRuleModule<[]>;
98
+ 'composable-input-flexibility': PluginRuleModule<Options>;
87
99
  'composable-naming-convention': PluginRuleModule<[]>;
88
100
  'composable-no-default-export': PluginRuleModule<[]>;
89
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
101
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
90
102
  'composable-require-cleanup': PluginRuleModule<[]>;
91
- 'composable-return-readonly': PluginRuleModule<[]>;
103
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
92
104
  'composable-ssr-safety': PluginRuleModule<[]>;
93
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
94
- 'max-dependencies': PluginRuleModule<[Options$1]>;
105
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
106
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
95
107
  'no-deprecated-classes': PluginRuleModule<[]>;
96
- 'no-deprecated-components': PluginRuleModule<Options$2>;
108
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
97
109
  'no-deprecated-props': PluginRuleModule<[]>;
98
110
  'no-dot-ts-imports': PluginRuleModule<[]>;
99
111
  'no-legacy-library-import': PluginRuleModule<[]>;
100
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
112
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
101
113
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
102
114
  };
103
115
  };
@@ -119,21 +131,21 @@ declare const _default: {
119
131
  version: string;
120
132
  };
121
133
  rules: {
122
- 'composable-input-flexibility': PluginRuleModule<[]>;
134
+ 'composable-input-flexibility': PluginRuleModule<Options>;
123
135
  'composable-naming-convention': PluginRuleModule<[]>;
124
136
  'composable-no-default-export': PluginRuleModule<[]>;
125
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
137
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
126
138
  'composable-require-cleanup': PluginRuleModule<[]>;
127
- 'composable-return-readonly': PluginRuleModule<[]>;
139
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
128
140
  'composable-ssr-safety': PluginRuleModule<[]>;
129
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
130
- 'max-dependencies': PluginRuleModule<[Options$1]>;
141
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
142
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
131
143
  'no-deprecated-classes': PluginRuleModule<[]>;
132
- 'no-deprecated-components': PluginRuleModule<Options$2>;
144
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
133
145
  'no-deprecated-props': PluginRuleModule<[]>;
134
146
  'no-dot-ts-imports': PluginRuleModule<[]>;
135
147
  'no-legacy-library-import': PluginRuleModule<[]>;
136
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
148
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
137
149
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
138
150
  };
139
151
  };
@@ -155,21 +167,21 @@ declare const _default: {
155
167
  version: string;
156
168
  };
157
169
  rules: {
158
- 'composable-input-flexibility': PluginRuleModule<[]>;
170
+ 'composable-input-flexibility': PluginRuleModule<Options>;
159
171
  'composable-naming-convention': PluginRuleModule<[]>;
160
172
  'composable-no-default-export': PluginRuleModule<[]>;
161
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
173
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
162
174
  'composable-require-cleanup': PluginRuleModule<[]>;
163
- 'composable-return-readonly': PluginRuleModule<[]>;
175
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
164
176
  'composable-ssr-safety': PluginRuleModule<[]>;
165
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
166
- 'max-dependencies': PluginRuleModule<[Options$1]>;
177
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
178
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
167
179
  'no-deprecated-classes': PluginRuleModule<[]>;
168
- 'no-deprecated-components': PluginRuleModule<Options$2>;
180
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
169
181
  'no-deprecated-props': PluginRuleModule<[]>;
170
182
  'no-dot-ts-imports': PluginRuleModule<[]>;
171
183
  'no-legacy-library-import': PluginRuleModule<[]>;
172
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
184
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
173
185
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
174
186
  };
175
187
  };
@@ -191,21 +203,21 @@ declare const _default: {
191
203
  version: string;
192
204
  };
193
205
  rules: {
194
- 'composable-input-flexibility': PluginRuleModule<[]>;
206
+ 'composable-input-flexibility': PluginRuleModule<Options>;
195
207
  'composable-naming-convention': PluginRuleModule<[]>;
196
208
  'composable-no-default-export': PluginRuleModule<[]>;
197
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
209
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
198
210
  'composable-require-cleanup': PluginRuleModule<[]>;
199
- 'composable-return-readonly': PluginRuleModule<[]>;
211
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
200
212
  'composable-ssr-safety': PluginRuleModule<[]>;
201
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
202
- 'max-dependencies': PluginRuleModule<[Options$1]>;
213
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
214
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
203
215
  'no-deprecated-classes': PluginRuleModule<[]>;
204
- 'no-deprecated-components': PluginRuleModule<Options$2>;
216
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
205
217
  'no-deprecated-props': PluginRuleModule<[]>;
206
218
  'no-dot-ts-imports': PluginRuleModule<[]>;
207
219
  'no-legacy-library-import': PluginRuleModule<[]>;
208
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
220
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
209
221
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
210
222
  };
211
223
  };
@@ -227,21 +239,21 @@ declare const _default: {
227
239
  version: string;
228
240
  };
229
241
  rules: {
230
- 'composable-input-flexibility': PluginRuleModule<[]>;
242
+ 'composable-input-flexibility': PluginRuleModule<Options>;
231
243
  'composable-naming-convention': PluginRuleModule<[]>;
232
244
  'composable-no-default-export': PluginRuleModule<[]>;
233
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
245
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
234
246
  'composable-require-cleanup': PluginRuleModule<[]>;
235
- 'composable-return-readonly': PluginRuleModule<[]>;
247
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
236
248
  'composable-ssr-safety': PluginRuleModule<[]>;
237
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
238
- 'max-dependencies': PluginRuleModule<[Options$1]>;
249
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
250
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
239
251
  'no-deprecated-classes': PluginRuleModule<[]>;
240
- 'no-deprecated-components': PluginRuleModule<Options$2>;
252
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
241
253
  'no-deprecated-props': PluginRuleModule<[]>;
242
254
  'no-dot-ts-imports': PluginRuleModule<[]>;
243
255
  'no-legacy-library-import': PluginRuleModule<[]>;
244
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
256
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
245
257
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
246
258
  };
247
259
  };
@@ -263,21 +275,21 @@ declare const _default: {
263
275
  version: string;
264
276
  };
265
277
  rules: {
266
- 'composable-input-flexibility': PluginRuleModule<[]>;
278
+ 'composable-input-flexibility': PluginRuleModule<Options>;
267
279
  'composable-naming-convention': PluginRuleModule<[]>;
268
280
  'composable-no-default-export': PluginRuleModule<[]>;
269
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
281
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
270
282
  'composable-require-cleanup': PluginRuleModule<[]>;
271
- 'composable-return-readonly': PluginRuleModule<[]>;
283
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
272
284
  'composable-ssr-safety': PluginRuleModule<[]>;
273
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
274
- 'max-dependencies': PluginRuleModule<[Options$1]>;
285
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
286
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
275
287
  'no-deprecated-classes': PluginRuleModule<[]>;
276
- 'no-deprecated-components': PluginRuleModule<Options$2>;
288
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
277
289
  'no-deprecated-props': PluginRuleModule<[]>;
278
290
  'no-dot-ts-imports': PluginRuleModule<[]>;
279
291
  'no-legacy-library-import': PluginRuleModule<[]>;
280
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
292
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
281
293
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
282
294
  };
283
295
  };
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ interface PluginRuleModule<TOptions extends readonly unknown[] = []> extends Rul
4
4
  defaultOptions: TOptions;
5
5
  }
6
6
 
7
- type Options$3 = [
7
+ type Options$6 = [
8
8
  {
9
9
  extensions: string[];
10
10
  ignoreKeys: string[];
@@ -12,40 +12,52 @@ type Options$3 = [
12
12
  }
13
13
  ];
14
14
 
15
- type Options$2 = [{
15
+ type Options$5 = [{
16
16
  legacy: boolean;
17
17
  }];
18
18
 
19
- interface Options$1 {
19
+ interface Options$4 {
20
20
  max: number;
21
21
  ignoreTypeImports: boolean;
22
22
  }
23
23
 
24
- type Options = [{
24
+ type Options$3 = [{
25
25
  allowInference: boolean;
26
26
  }];
27
27
 
28
+ type Options$2 = [{
29
+ autofix?: boolean;
30
+ }];
31
+
32
+ type Options$1 = [{
33
+ autofix?: boolean;
34
+ }];
35
+
36
+ type Options = [{
37
+ autofix?: boolean;
38
+ }];
39
+
28
40
  declare const plugin: {
29
41
  meta: {
30
42
  name: string;
31
43
  version: string;
32
44
  };
33
45
  rules: {
34
- 'composable-input-flexibility': PluginRuleModule<[]>;
46
+ 'composable-input-flexibility': PluginRuleModule<Options>;
35
47
  'composable-naming-convention': PluginRuleModule<[]>;
36
48
  'composable-no-default-export': PluginRuleModule<[]>;
37
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
49
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
38
50
  'composable-require-cleanup': PluginRuleModule<[]>;
39
- 'composable-return-readonly': PluginRuleModule<[]>;
51
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
40
52
  'composable-ssr-safety': PluginRuleModule<[]>;
41
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
42
- 'max-dependencies': PluginRuleModule<[Options$1]>;
53
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
54
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
43
55
  'no-deprecated-classes': PluginRuleModule<[]>;
44
- 'no-deprecated-components': PluginRuleModule<Options$2>;
56
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
45
57
  'no-deprecated-props': PluginRuleModule<[]>;
46
58
  'no-dot-ts-imports': PluginRuleModule<[]>;
47
59
  'no-legacy-library-import': PluginRuleModule<[]>;
48
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
60
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
49
61
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
50
62
  };
51
63
  };
@@ -56,21 +68,21 @@ declare const _default: {
56
68
  version: string;
57
69
  };
58
70
  rules: {
59
- 'composable-input-flexibility': PluginRuleModule<[]>;
71
+ 'composable-input-flexibility': PluginRuleModule<Options>;
60
72
  'composable-naming-convention': PluginRuleModule<[]>;
61
73
  'composable-no-default-export': PluginRuleModule<[]>;
62
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
74
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
63
75
  'composable-require-cleanup': PluginRuleModule<[]>;
64
- 'composable-return-readonly': PluginRuleModule<[]>;
76
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
65
77
  'composable-ssr-safety': PluginRuleModule<[]>;
66
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
67
- 'max-dependencies': PluginRuleModule<[Options$1]>;
78
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
79
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
68
80
  'no-deprecated-classes': PluginRuleModule<[]>;
69
- 'no-deprecated-components': PluginRuleModule<Options$2>;
81
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
70
82
  'no-deprecated-props': PluginRuleModule<[]>;
71
83
  'no-dot-ts-imports': PluginRuleModule<[]>;
72
84
  'no-legacy-library-import': PluginRuleModule<[]>;
73
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
85
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
74
86
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
75
87
  };
76
88
  } & {
@@ -83,21 +95,21 @@ declare const _default: {
83
95
  version: string;
84
96
  };
85
97
  rules: {
86
- 'composable-input-flexibility': PluginRuleModule<[]>;
98
+ 'composable-input-flexibility': PluginRuleModule<Options>;
87
99
  'composable-naming-convention': PluginRuleModule<[]>;
88
100
  'composable-no-default-export': PluginRuleModule<[]>;
89
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
101
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
90
102
  'composable-require-cleanup': PluginRuleModule<[]>;
91
- 'composable-return-readonly': PluginRuleModule<[]>;
103
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
92
104
  'composable-ssr-safety': PluginRuleModule<[]>;
93
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
94
- 'max-dependencies': PluginRuleModule<[Options$1]>;
105
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
106
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
95
107
  'no-deprecated-classes': PluginRuleModule<[]>;
96
- 'no-deprecated-components': PluginRuleModule<Options$2>;
108
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
97
109
  'no-deprecated-props': PluginRuleModule<[]>;
98
110
  'no-dot-ts-imports': PluginRuleModule<[]>;
99
111
  'no-legacy-library-import': PluginRuleModule<[]>;
100
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
112
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
101
113
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
102
114
  };
103
115
  };
@@ -119,21 +131,21 @@ declare const _default: {
119
131
  version: string;
120
132
  };
121
133
  rules: {
122
- 'composable-input-flexibility': PluginRuleModule<[]>;
134
+ 'composable-input-flexibility': PluginRuleModule<Options>;
123
135
  'composable-naming-convention': PluginRuleModule<[]>;
124
136
  'composable-no-default-export': PluginRuleModule<[]>;
125
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
137
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
126
138
  'composable-require-cleanup': PluginRuleModule<[]>;
127
- 'composable-return-readonly': PluginRuleModule<[]>;
139
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
128
140
  'composable-ssr-safety': PluginRuleModule<[]>;
129
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
130
- 'max-dependencies': PluginRuleModule<[Options$1]>;
141
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
142
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
131
143
  'no-deprecated-classes': PluginRuleModule<[]>;
132
- 'no-deprecated-components': PluginRuleModule<Options$2>;
144
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
133
145
  'no-deprecated-props': PluginRuleModule<[]>;
134
146
  'no-dot-ts-imports': PluginRuleModule<[]>;
135
147
  'no-legacy-library-import': PluginRuleModule<[]>;
136
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
148
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
137
149
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
138
150
  };
139
151
  };
@@ -155,21 +167,21 @@ declare const _default: {
155
167
  version: string;
156
168
  };
157
169
  rules: {
158
- 'composable-input-flexibility': PluginRuleModule<[]>;
170
+ 'composable-input-flexibility': PluginRuleModule<Options>;
159
171
  'composable-naming-convention': PluginRuleModule<[]>;
160
172
  'composable-no-default-export': PluginRuleModule<[]>;
161
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
173
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
162
174
  'composable-require-cleanup': PluginRuleModule<[]>;
163
- 'composable-return-readonly': PluginRuleModule<[]>;
175
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
164
176
  'composable-ssr-safety': PluginRuleModule<[]>;
165
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
166
- 'max-dependencies': PluginRuleModule<[Options$1]>;
177
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
178
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
167
179
  'no-deprecated-classes': PluginRuleModule<[]>;
168
- 'no-deprecated-components': PluginRuleModule<Options$2>;
180
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
169
181
  'no-deprecated-props': PluginRuleModule<[]>;
170
182
  'no-dot-ts-imports': PluginRuleModule<[]>;
171
183
  'no-legacy-library-import': PluginRuleModule<[]>;
172
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
184
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
173
185
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
174
186
  };
175
187
  };
@@ -191,21 +203,21 @@ declare const _default: {
191
203
  version: string;
192
204
  };
193
205
  rules: {
194
- 'composable-input-flexibility': PluginRuleModule<[]>;
206
+ 'composable-input-flexibility': PluginRuleModule<Options>;
195
207
  'composable-naming-convention': PluginRuleModule<[]>;
196
208
  'composable-no-default-export': PluginRuleModule<[]>;
197
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
209
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
198
210
  'composable-require-cleanup': PluginRuleModule<[]>;
199
- 'composable-return-readonly': PluginRuleModule<[]>;
211
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
200
212
  'composable-ssr-safety': PluginRuleModule<[]>;
201
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
202
- 'max-dependencies': PluginRuleModule<[Options$1]>;
213
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
214
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
203
215
  'no-deprecated-classes': PluginRuleModule<[]>;
204
- 'no-deprecated-components': PluginRuleModule<Options$2>;
216
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
205
217
  'no-deprecated-props': PluginRuleModule<[]>;
206
218
  'no-dot-ts-imports': PluginRuleModule<[]>;
207
219
  'no-legacy-library-import': PluginRuleModule<[]>;
208
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
220
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
209
221
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
210
222
  };
211
223
  };
@@ -227,21 +239,21 @@ declare const _default: {
227
239
  version: string;
228
240
  };
229
241
  rules: {
230
- 'composable-input-flexibility': PluginRuleModule<[]>;
242
+ 'composable-input-flexibility': PluginRuleModule<Options>;
231
243
  'composable-naming-convention': PluginRuleModule<[]>;
232
244
  'composable-no-default-export': PluginRuleModule<[]>;
233
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
245
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
234
246
  'composable-require-cleanup': PluginRuleModule<[]>;
235
- 'composable-return-readonly': PluginRuleModule<[]>;
247
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
236
248
  'composable-ssr-safety': PluginRuleModule<[]>;
237
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
238
- 'max-dependencies': PluginRuleModule<[Options$1]>;
249
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
250
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
239
251
  'no-deprecated-classes': PluginRuleModule<[]>;
240
- 'no-deprecated-components': PluginRuleModule<Options$2>;
252
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
241
253
  'no-deprecated-props': PluginRuleModule<[]>;
242
254
  'no-dot-ts-imports': PluginRuleModule<[]>;
243
255
  'no-legacy-library-import': PluginRuleModule<[]>;
244
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
256
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
245
257
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
246
258
  };
247
259
  };
@@ -263,21 +275,21 @@ declare const _default: {
263
275
  version: string;
264
276
  };
265
277
  rules: {
266
- 'composable-input-flexibility': PluginRuleModule<[]>;
278
+ 'composable-input-flexibility': PluginRuleModule<Options>;
267
279
  'composable-naming-convention': PluginRuleModule<[]>;
268
280
  'composable-no-default-export': PluginRuleModule<[]>;
269
- 'composable-prefer-shallowref': PluginRuleModule<[]>;
281
+ 'composable-prefer-shallowref': PluginRuleModule<Options$1>;
270
282
  'composable-require-cleanup': PluginRuleModule<[]>;
271
- 'composable-return-readonly': PluginRuleModule<[]>;
283
+ 'composable-return-readonly': PluginRuleModule<Options$2>;
272
284
  'composable-ssr-safety': PluginRuleModule<[]>;
273
- 'consistent-ref-type-annotation': PluginRuleModule<Options>;
274
- 'max-dependencies': PluginRuleModule<[Options$1]>;
285
+ 'consistent-ref-type-annotation': PluginRuleModule<Options$3>;
286
+ 'max-dependencies': PluginRuleModule<[Options$4]>;
275
287
  'no-deprecated-classes': PluginRuleModule<[]>;
276
- 'no-deprecated-components': PluginRuleModule<Options$2>;
288
+ 'no-deprecated-components': PluginRuleModule<Options$5>;
277
289
  'no-deprecated-props': PluginRuleModule<[]>;
278
290
  'no-dot-ts-imports': PluginRuleModule<[]>;
279
291
  'no-legacy-library-import': PluginRuleModule<[]>;
280
- 'no-unused-i18n-keys': PluginRuleModule<Options$3>;
292
+ 'no-unused-i18n-keys': PluginRuleModule<Options$6>;
281
293
  'require-jsdoc-on-composable-options': PluginRuleModule<[]>;
282
294
  };
283
295
  };
package/dist/index.mjs CHANGED
@@ -7,7 +7,7 @@ import { statSync, readFileSync } from 'node:fs';
7
7
  import { globSync } from 'tinyglobby';
8
8
  import { parse } from 'vue-eslint-parser';
9
9
 
10
- const version = "1.3.0";
10
+ const version = "1.3.1";
11
11
  const pkg = {
12
12
  version: version};
13
13
 
@@ -181,6 +181,7 @@ function checkParamForRef(param) {
181
181
  }
182
182
  const composableInputFlexibility = createEslintRule({
183
183
  create(context) {
184
+ const autofix = context.options[0]?.autofix ?? false;
184
185
  return {
185
186
  FunctionDeclaration: (node) => {
186
187
  if (!node.id || !isComposableName(node.id.name))
@@ -200,8 +201,17 @@ const composableInputFlexibility = createEslintRule({
200
201
  const refType = checkParamForRef(param);
201
202
  if (refType) {
202
203
  context.report({
203
- fix(fixer) {
204
- return fixer.replaceText(refType.typeName, "MaybeRefOrGetter");
204
+ ...autofix ? {
205
+ fix(fixer) {
206
+ return fixer.replaceText(refType.typeName, "MaybeRefOrGetter");
207
+ }
208
+ } : {
209
+ suggest: [{
210
+ fix(fixer) {
211
+ return fixer.replaceText(refType.typeName, "MaybeRefOrGetter");
212
+ },
213
+ messageId: "suggestMaybeRefOrGetter"
214
+ }]
205
215
  },
206
216
  messageId: "preferMaybeRefOrGetter",
207
217
  node: refType
@@ -210,17 +220,31 @@ const composableInputFlexibility = createEslintRule({
210
220
  }
211
221
  }
212
222
  },
213
- defaultOptions: [],
223
+ defaultOptions: [{ autofix: false }],
214
224
  meta: {
215
225
  docs: {
216
226
  description: "Prefer MaybeRefOrGetter over Ref for composable parameters",
217
227
  recommendation: "stylistic"
218
228
  },
219
229
  fixable: "code",
230
+ hasSuggestions: true,
220
231
  messages: {
221
- preferMaybeRefOrGetter: "Use MaybeRefOrGetter<T> instead of Ref<T> for composable parameters to increase input flexibility."
232
+ preferMaybeRefOrGetter: "Use MaybeRefOrGetter<T> instead of Ref<T> for composable parameters to increase input flexibility.",
233
+ suggestMaybeRefOrGetter: "Replace Ref<T> with MaybeRefOrGetter<T>."
222
234
  },
223
- schema: [],
235
+ schema: [
236
+ {
237
+ additionalProperties: false,
238
+ properties: {
239
+ autofix: {
240
+ default: false,
241
+ description: "Enable auto-fix. When disabled, the fix is available as a suggestion.",
242
+ type: "boolean"
243
+ }
244
+ },
245
+ type: "object"
246
+ }
247
+ ],
224
248
  type: "suggestion"
225
249
  },
226
250
  name: RULE_NAME$f
@@ -357,6 +381,7 @@ const composableNoDefaultExport = createEslintRule({
357
381
  const RULE_NAME$c = "composable-prefer-shallowref";
358
382
  const composablePreferShallowref = createEslintRule({
359
383
  create(context) {
384
+ const autofix = context.options[0]?.autofix ?? false;
360
385
  return {
361
386
  CallExpression(node) {
362
387
  if (node.callee.type !== AST_NODE_TYPES.Identifier || node.callee.name !== "ref")
@@ -367,8 +392,17 @@ const composablePreferShallowref = createEslintRule({
367
392
  if (!arg || arg.type !== AST_NODE_TYPES.Literal)
368
393
  return;
369
394
  context.report({
370
- fix(fixer) {
371
- return fixer.replaceText(node.callee, "shallowRef");
395
+ ...autofix ? {
396
+ fix(fixer) {
397
+ return fixer.replaceText(node.callee, "shallowRef");
398
+ }
399
+ } : {
400
+ suggest: [{
401
+ fix(fixer) {
402
+ return fixer.replaceText(node.callee, "shallowRef");
403
+ },
404
+ messageId: "suggestShallowRef"
405
+ }]
372
406
  },
373
407
  messageId: "preferShallowRef",
374
408
  node
@@ -376,17 +410,31 @@ const composablePreferShallowref = createEslintRule({
376
410
  }
377
411
  };
378
412
  },
379
- defaultOptions: [],
413
+ defaultOptions: [{ autofix: false }],
380
414
  meta: {
381
415
  docs: {
382
416
  description: "Prefer shallowRef() over ref() for primitive values in composables",
383
417
  recommendation: "strict"
384
418
  },
385
419
  fixable: "code",
420
+ hasSuggestions: true,
386
421
  messages: {
387
- preferShallowRef: "Use shallowRef() instead of ref() for primitive values in composables."
422
+ preferShallowRef: "Use shallowRef() instead of ref() for primitive values in composables.",
423
+ suggestShallowRef: "Replace ref() with shallowRef()."
388
424
  },
389
- schema: [],
425
+ schema: [
426
+ {
427
+ additionalProperties: false,
428
+ properties: {
429
+ autofix: {
430
+ default: false,
431
+ description: "Enable auto-fix. When disabled, the fix is available as a suggestion.",
432
+ type: "boolean"
433
+ }
434
+ },
435
+ type: "object"
436
+ }
437
+ ],
390
438
  type: "suggestion"
391
439
  },
392
440
  name: RULE_NAME$c
@@ -493,6 +541,7 @@ const RULE_NAME$a = "composable-return-readonly";
493
541
  const REACTIVE_CREATORS = /* @__PURE__ */ new Set(["ref", "shallowRef", "computed"]);
494
542
  const composableReturnReadonly = createEslintRule({
495
543
  create(context) {
544
+ const autofix = context.options[0]?.autofix ?? false;
496
545
  const source = getSourceCode(context);
497
546
  const reactiveVars = /* @__PURE__ */ new Set();
498
547
  return {
@@ -506,20 +555,19 @@ const composableReturnReadonly = createEslintRule({
506
555
  continue;
507
556
  if (prop.shorthand && prop.key.type === AST_NODE_TYPES.Identifier && reactiveVars.has(prop.key.name)) {
508
557
  const keyName = prop.key.name;
558
+ const fixFn = (fixer) => fixer.replaceText(prop, `${keyName}: readonly(${keyName})`);
509
559
  context.report({
510
560
  data: { name: keyName },
511
- fix(fixer) {
512
- return fixer.replaceText(prop, `${keyName}: readonly(${keyName})`);
513
- },
561
+ ...autofix ? { fix: fixFn } : { suggest: [{ data: { name: keyName }, fix: fixFn, messageId: "suggestWrapReadonly" }] },
514
562
  messageId: "wrapReadonly",
515
563
  node: prop
516
564
  });
517
565
  } else if (!prop.shorthand && prop.value.type === AST_NODE_TYPES.Identifier && reactiveVars.has(prop.value.name)) {
566
+ const valueName = prop.value.name;
567
+ const fixFn = (fixer) => fixer.replaceText(prop.value, `readonly(${prop.value.type === AST_NODE_TYPES.Identifier ? prop.value.name : source.getText(prop.value)})`);
518
568
  context.report({
519
- data: { name: prop.value.name },
520
- fix(fixer) {
521
- return fixer.replaceText(prop.value, `readonly(${prop.value.type === AST_NODE_TYPES.Identifier ? prop.value.name : source.getText(prop.value)})`);
522
- },
569
+ data: { name: valueName },
570
+ ...autofix ? { fix: fixFn } : { suggest: [{ data: { name: valueName }, fix: fixFn, messageId: "suggestWrapReadonly" }] },
523
571
  messageId: "wrapReadonly",
524
572
  node: prop
525
573
  });
@@ -537,17 +585,31 @@ const composableReturnReadonly = createEslintRule({
537
585
  }
538
586
  };
539
587
  },
540
- defaultOptions: [],
588
+ defaultOptions: [{ autofix: false }],
541
589
  meta: {
542
590
  docs: {
543
591
  description: "Require returned refs from composables to be wrapped with readonly()",
544
592
  recommendation: "strict"
545
593
  },
546
594
  fixable: "code",
595
+ hasSuggestions: true,
547
596
  messages: {
597
+ suggestWrapReadonly: "Wrap '{{ name }}' with readonly().",
548
598
  wrapReadonly: "Returned ref '{{ name }}' should be wrapped with readonly()."
549
599
  },
550
- schema: [],
600
+ schema: [
601
+ {
602
+ additionalProperties: false,
603
+ properties: {
604
+ autofix: {
605
+ default: false,
606
+ description: "Enable auto-fix. When disabled, the fix is available as a suggestion.",
607
+ type: "boolean"
608
+ }
609
+ },
610
+ type: "object"
611
+ }
612
+ ],
551
613
  type: "suggestion"
552
614
  },
553
615
  name: RULE_NAME$a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rotki/eslint-plugin",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "type": "module",
5
5
  "license": "AGPL-3.0",
6
6
  "bugs": {