@kazupon/eslint-config 0.8.0 → 0.9.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.
Files changed (64) hide show
  1. package/README.md +1 -0
  2. package/dist/config.d.cts +6 -1
  3. package/dist/config.d.ts +6 -1
  4. package/dist/configs/comments.d.cts +14 -3
  5. package/dist/configs/comments.d.ts +14 -3
  6. package/dist/configs/javascript.d.cts +14 -3
  7. package/dist/configs/javascript.d.ts +14 -3
  8. package/dist/configs/jsdoc.d.cts +24 -4
  9. package/dist/configs/jsdoc.d.ts +24 -4
  10. package/dist/configs/jsonc.d.cts +36 -6
  11. package/dist/configs/jsonc.d.ts +36 -6
  12. package/dist/configs/prettier.d.cts +14 -3
  13. package/dist/configs/prettier.d.ts +14 -3
  14. package/dist/configs/promise.d.cts +14 -3
  15. package/dist/configs/promise.d.ts +14 -3
  16. package/dist/configs/regexp.d.cts +14 -3
  17. package/dist/configs/regexp.d.ts +14 -3
  18. package/dist/configs/typescript.d.cts +33 -6
  19. package/dist/configs/typescript.d.ts +33 -6
  20. package/dist/configs/unicorn.d.cts +14 -3
  21. package/dist/configs/unicorn.d.ts +14 -3
  22. package/dist/configs/vue.d.cts +17 -3
  23. package/dist/configs/vue.d.ts +17 -3
  24. package/dist/configs/yml.d.cts +18 -3
  25. package/dist/configs/yml.d.ts +18 -3
  26. package/dist/globs.d.cts +9 -9
  27. package/dist/globs.d.ts +9 -9
  28. package/dist/index.cjs +24 -11
  29. package/dist/index.d.cts +1 -0
  30. package/dist/index.d.ts +1 -0
  31. package/dist/index.js +24 -11
  32. package/dist/types/gens/comments.d.cts +65 -0
  33. package/dist/types/gens/comments.d.ts +65 -0
  34. package/dist/types/gens/eslint.d.cts +17 -0
  35. package/dist/types/gens/eslint.d.ts +17 -0
  36. package/dist/types/gens/javascript.d.cts +3162 -0
  37. package/dist/types/gens/javascript.d.ts +3162 -0
  38. package/dist/types/gens/jsdoc.d.cts +744 -0
  39. package/dist/types/gens/jsdoc.d.ts +744 -0
  40. package/dist/types/gens/jsonc.d.cts +513 -0
  41. package/dist/types/gens/jsonc.d.ts +513 -0
  42. package/dist/types/gens/prettier.d.cts +2 -0
  43. package/dist/types/gens/prettier.d.ts +2 -0
  44. package/dist/types/gens/promise.d.cts +107 -0
  45. package/dist/types/gens/promise.d.ts +107 -0
  46. package/dist/types/gens/regexp.d.cts +553 -0
  47. package/dist/types/gens/regexp.d.ts +553 -0
  48. package/dist/types/gens/typescript.d.cts +2253 -0
  49. package/dist/types/gens/typescript.d.ts +2253 -0
  50. package/dist/types/gens/unicorn.d.cts +905 -0
  51. package/dist/types/gens/unicorn.d.ts +905 -0
  52. package/dist/types/gens/vue.d.cts +2465 -0
  53. package/dist/types/gens/vue.d.ts +2465 -0
  54. package/dist/types/gens/yml.d.cts +375 -0
  55. package/dist/types/gens/yml.d.ts +375 -0
  56. package/dist/types/index.d.cts +14 -0
  57. package/dist/types/index.d.ts +14 -0
  58. package/dist/types/overrides.d.cts +6 -0
  59. package/dist/types/overrides.d.ts +6 -0
  60. package/dist/types/utils.d.cts +4 -0
  61. package/dist/types/utils.d.ts +4 -0
  62. package/dist/utils.d.cts +22 -1
  63. package/dist/utils.d.ts +22 -1
  64. package/package.json +28 -22
@@ -0,0 +1,2465 @@
1
+ import type { Linter } from 'eslint';
2
+ export interface VueRules {
3
+ /**
4
+ * Enforce linebreaks after opening and before closing array brackets in `<template>`
5
+ * @see https://eslint.vuejs.org/rules/array-bracket-newline.html
6
+ */
7
+ 'vue/array-bracket-newline'?: Linter.RuleEntry<VueArrayBracketNewline>;
8
+ /**
9
+ * Enforce consistent spacing inside array brackets in `<template>`
10
+ * @see https://eslint.vuejs.org/rules/array-bracket-spacing.html
11
+ */
12
+ 'vue/array-bracket-spacing'?: Linter.RuleEntry<VueArrayBracketSpacing>;
13
+ /**
14
+ * Enforce line breaks after each array element in `<template>`
15
+ * @see https://eslint.vuejs.org/rules/array-element-newline.html
16
+ */
17
+ 'vue/array-element-newline'?: Linter.RuleEntry<VueArrayElementNewline>;
18
+ /**
19
+ * Enforce consistent spacing before and after the arrow in arrow functions in `<template>`
20
+ * @see https://eslint.vuejs.org/rules/arrow-spacing.html
21
+ */
22
+ 'vue/arrow-spacing'?: Linter.RuleEntry<VueArrowSpacing>;
23
+ /**
24
+ * enforce attribute naming style on custom components in template
25
+ * @see https://eslint.vuejs.org/rules/attribute-hyphenation.html
26
+ */
27
+ 'vue/attribute-hyphenation'?: Linter.RuleEntry<VueAttributeHyphenation>;
28
+ /**
29
+ * enforce order of attributes
30
+ * @see https://eslint.vuejs.org/rules/attributes-order.html
31
+ */
32
+ 'vue/attributes-order'?: Linter.RuleEntry<VueAttributesOrder>;
33
+ /**
34
+ * disallow use other than available `lang`
35
+ * @see https://eslint.vuejs.org/rules/block-lang.html
36
+ */
37
+ 'vue/block-lang'?: Linter.RuleEntry<VueBlockLang>;
38
+ /**
39
+ * enforce order of component top-level elements
40
+ * @see https://eslint.vuejs.org/rules/block-order.html
41
+ */
42
+ 'vue/block-order'?: Linter.RuleEntry<VueBlockOrder>;
43
+ /**
44
+ * Disallow or enforce spaces inside of blocks after opening block and before closing block in `<template>`
45
+ * @see https://eslint.vuejs.org/rules/block-spacing.html
46
+ */
47
+ 'vue/block-spacing'?: Linter.RuleEntry<VueBlockSpacing>;
48
+ /**
49
+ * enforce line breaks after opening and before closing block-level tags
50
+ * @see https://eslint.vuejs.org/rules/block-tag-newline.html
51
+ */
52
+ 'vue/block-tag-newline'?: Linter.RuleEntry<VueBlockTagNewline>;
53
+ /**
54
+ * Enforce consistent brace style for blocks in `<template>`
55
+ * @see https://eslint.vuejs.org/rules/brace-style.html
56
+ */
57
+ 'vue/brace-style'?: Linter.RuleEntry<VueBraceStyle>;
58
+ /**
59
+ * Enforce camelcase naming convention in `<template>`
60
+ * @see https://eslint.vuejs.org/rules/camelcase.html
61
+ */
62
+ 'vue/camelcase'?: Linter.RuleEntry<VueCamelcase>;
63
+ /**
64
+ * Require or disallow trailing commas in `<template>`
65
+ * @see https://eslint.vuejs.org/rules/comma-dangle.html
66
+ */
67
+ 'vue/comma-dangle'?: Linter.RuleEntry<VueCommaDangle>;
68
+ /**
69
+ * Enforce consistent spacing before and after commas in `<template>`
70
+ * @see https://eslint.vuejs.org/rules/comma-spacing.html
71
+ */
72
+ 'vue/comma-spacing'?: Linter.RuleEntry<VueCommaSpacing>;
73
+ /**
74
+ * Enforce consistent comma style in `<template>`
75
+ * @see https://eslint.vuejs.org/rules/comma-style.html
76
+ */
77
+ 'vue/comma-style'?: Linter.RuleEntry<VueCommaStyle>;
78
+ /**
79
+ * support comment-directives in `<template>`
80
+ * @see https://eslint.vuejs.org/rules/comment-directive.html
81
+ */
82
+ 'vue/comment-directive'?: Linter.RuleEntry<VueCommentDirective>;
83
+ /**
84
+ * enforce component API style
85
+ * @see https://eslint.vuejs.org/rules/component-api-style.html
86
+ */
87
+ 'vue/component-api-style'?: Linter.RuleEntry<VueComponentApiStyle>;
88
+ /**
89
+ * enforce specific casing for component definition name
90
+ * @see https://eslint.vuejs.org/rules/component-definition-name-casing.html
91
+ */
92
+ 'vue/component-definition-name-casing'?: Linter.RuleEntry<VueComponentDefinitionNameCasing>;
93
+ /**
94
+ * enforce specific casing for the component naming style in template
95
+ * @see https://eslint.vuejs.org/rules/component-name-in-template-casing.html
96
+ */
97
+ 'vue/component-name-in-template-casing'?: Linter.RuleEntry<VueComponentNameInTemplateCasing>;
98
+ /**
99
+ * enforce the casing of component name in `components` options
100
+ * @see https://eslint.vuejs.org/rules/component-options-name-casing.html
101
+ */
102
+ 'vue/component-options-name-casing'?: Linter.RuleEntry<VueComponentOptionsNameCasing>;
103
+ /**
104
+ * enforce order of component top-level elements
105
+ * @see https://eslint.vuejs.org/rules/component-tags-order.html
106
+ * @deprecated
107
+ */
108
+ 'vue/component-tags-order'?: Linter.RuleEntry<VueComponentTagsOrder>;
109
+ /**
110
+ * enforce specific casing for custom event name
111
+ * @see https://eslint.vuejs.org/rules/custom-event-name-casing.html
112
+ */
113
+ 'vue/custom-event-name-casing'?: Linter.RuleEntry<VueCustomEventNameCasing>;
114
+ /**
115
+ * enforce declaration style of `defineEmits`
116
+ * @see https://eslint.vuejs.org/rules/define-emits-declaration.html
117
+ */
118
+ 'vue/define-emits-declaration'?: Linter.RuleEntry<VueDefineEmitsDeclaration>;
119
+ /**
120
+ * enforce order of `defineEmits` and `defineProps` compiler macros
121
+ * @see https://eslint.vuejs.org/rules/define-macros-order.html
122
+ */
123
+ 'vue/define-macros-order'?: Linter.RuleEntry<VueDefineMacrosOrder>;
124
+ /**
125
+ * enforce declaration style of `defineProps`
126
+ * @see https://eslint.vuejs.org/rules/define-props-declaration.html
127
+ */
128
+ 'vue/define-props-declaration'?: Linter.RuleEntry<VueDefinePropsDeclaration>;
129
+ /**
130
+ * Enforce consistent newlines before and after dots in `<template>`
131
+ * @see https://eslint.vuejs.org/rules/dot-location.html
132
+ */
133
+ 'vue/dot-location'?: Linter.RuleEntry<VueDotLocation>;
134
+ /**
135
+ * Enforce dot notation whenever possible in `<template>`
136
+ * @see https://eslint.vuejs.org/rules/dot-notation.html
137
+ */
138
+ 'vue/dot-notation'?: Linter.RuleEntry<VueDotNotation>;
139
+ /**
140
+ * enforce or forbid the use of the `scoped` and `module` attributes in SFC top level style tags
141
+ * @see https://eslint.vuejs.org/rules/enforce-style-attribute.html
142
+ */
143
+ 'vue/enforce-style-attribute'?: Linter.RuleEntry<VueEnforceStyleAttribute>;
144
+ /**
145
+ * Require the use of `===` and `!==` in `<template>`
146
+ * @see https://eslint.vuejs.org/rules/eqeqeq.html
147
+ */
148
+ 'vue/eqeqeq'?: Linter.RuleEntry<VueEqeqeq>;
149
+ /**
150
+ * enforce the location of first attribute
151
+ * @see https://eslint.vuejs.org/rules/first-attribute-linebreak.html
152
+ */
153
+ 'vue/first-attribute-linebreak'?: Linter.RuleEntry<VueFirstAttributeLinebreak>;
154
+ /**
155
+ * Require or disallow spacing between function identifiers and their invocations in `<template>`
156
+ * @see https://eslint.vuejs.org/rules/func-call-spacing.html
157
+ */
158
+ 'vue/func-call-spacing'?: Linter.RuleEntry<VueFuncCallSpacing>;
159
+ /**
160
+ * disallow usage of button without an explicit type attribute
161
+ * @see https://eslint.vuejs.org/rules/html-button-has-type.html
162
+ */
163
+ 'vue/html-button-has-type'?: Linter.RuleEntry<VueHtmlButtonHasType>;
164
+ /**
165
+ * require or disallow a line break before tag's closing brackets
166
+ * @see https://eslint.vuejs.org/rules/html-closing-bracket-newline.html
167
+ */
168
+ 'vue/html-closing-bracket-newline'?: Linter.RuleEntry<VueHtmlClosingBracketNewline>;
169
+ /**
170
+ * require or disallow a space before tag's closing brackets
171
+ * @see https://eslint.vuejs.org/rules/html-closing-bracket-spacing.html
172
+ */
173
+ 'vue/html-closing-bracket-spacing'?: Linter.RuleEntry<VueHtmlClosingBracketSpacing>;
174
+ /**
175
+ * enforce unified line brake in HTML comments
176
+ * @see https://eslint.vuejs.org/rules/html-comment-content-newline.html
177
+ */
178
+ 'vue/html-comment-content-newline'?: Linter.RuleEntry<VueHtmlCommentContentNewline>;
179
+ /**
180
+ * enforce unified spacing in HTML comments
181
+ * @see https://eslint.vuejs.org/rules/html-comment-content-spacing.html
182
+ */
183
+ 'vue/html-comment-content-spacing'?: Linter.RuleEntry<VueHtmlCommentContentSpacing>;
184
+ /**
185
+ * enforce consistent indentation in HTML comments
186
+ * @see https://eslint.vuejs.org/rules/html-comment-indent.html
187
+ */
188
+ 'vue/html-comment-indent'?: Linter.RuleEntry<VueHtmlCommentIndent>;
189
+ /**
190
+ * enforce end tag style
191
+ * @see https://eslint.vuejs.org/rules/html-end-tags.html
192
+ */
193
+ 'vue/html-end-tags'?: Linter.RuleEntry<[]>;
194
+ /**
195
+ * enforce consistent indentation in `<template>`
196
+ * @see https://eslint.vuejs.org/rules/html-indent.html
197
+ */
198
+ 'vue/html-indent'?: Linter.RuleEntry<VueHtmlIndent>;
199
+ /**
200
+ * enforce quotes style of HTML attributes
201
+ * @see https://eslint.vuejs.org/rules/html-quotes.html
202
+ */
203
+ 'vue/html-quotes'?: Linter.RuleEntry<VueHtmlQuotes>;
204
+ /**
205
+ * enforce self-closing style
206
+ * @see https://eslint.vuejs.org/rules/html-self-closing.html
207
+ */
208
+ 'vue/html-self-closing'?: Linter.RuleEntry<VueHtmlSelfClosing>;
209
+ /**
210
+ * prevent variables used in JSX to be marked as unused
211
+ * @see https://eslint.vuejs.org/rules/jsx-uses-vars.html
212
+ */
213
+ 'vue/jsx-uses-vars'?: Linter.RuleEntry<[]>;
214
+ /**
215
+ * Enforce consistent spacing between keys and values in object literal properties in `<template>`
216
+ * @see https://eslint.vuejs.org/rules/key-spacing.html
217
+ */
218
+ 'vue/key-spacing'?: Linter.RuleEntry<VueKeySpacing>;
219
+ /**
220
+ * Enforce consistent spacing before and after keywords in `<template>`
221
+ * @see https://eslint.vuejs.org/rules/keyword-spacing.html
222
+ */
223
+ 'vue/keyword-spacing'?: Linter.RuleEntry<VueKeywordSpacing>;
224
+ /**
225
+ * require component name property to match its file name
226
+ * @see https://eslint.vuejs.org/rules/match-component-file-name.html
227
+ */
228
+ 'vue/match-component-file-name'?: Linter.RuleEntry<VueMatchComponentFileName>;
229
+ /**
230
+ * require the registered component name to match the imported component name
231
+ * @see https://eslint.vuejs.org/rules/match-component-import-name.html
232
+ */
233
+ 'vue/match-component-import-name'?: Linter.RuleEntry<[]>;
234
+ /**
235
+ * enforce the maximum number of attributes per line
236
+ * @see https://eslint.vuejs.org/rules/max-attributes-per-line.html
237
+ */
238
+ 'vue/max-attributes-per-line'?: Linter.RuleEntry<VueMaxAttributesPerLine>;
239
+ /**
240
+ * enforce a maximum line length in `.vue` files
241
+ * @see https://eslint.vuejs.org/rules/max-len.html
242
+ */
243
+ 'vue/max-len'?: Linter.RuleEntry<VueMaxLen>;
244
+ /**
245
+ * enforce maximum number of lines in Vue SFC blocks
246
+ * @see https://eslint.vuejs.org/rules/max-lines-per-block.html
247
+ */
248
+ 'vue/max-lines-per-block'?: Linter.RuleEntry<VueMaxLinesPerBlock>;
249
+ /**
250
+ * require component names to be always multi-word
251
+ * @see https://eslint.vuejs.org/rules/multi-word-component-names.html
252
+ */
253
+ 'vue/multi-word-component-names'?: Linter.RuleEntry<VueMultiWordComponentNames>;
254
+ /**
255
+ * require a line break before and after the contents of a multiline element
256
+ * @see https://eslint.vuejs.org/rules/multiline-html-element-content-newline.html
257
+ */
258
+ 'vue/multiline-html-element-content-newline'?: Linter.RuleEntry<VueMultilineHtmlElementContentNewline>;
259
+ /**
260
+ * Enforce newlines between operands of ternary expressions in `<template>`
261
+ * @see https://eslint.vuejs.org/rules/multiline-ternary.html
262
+ */
263
+ 'vue/multiline-ternary'?: Linter.RuleEntry<VueMultilineTernary>;
264
+ /**
265
+ * enforce unified spacing in mustache interpolations
266
+ * @see https://eslint.vuejs.org/rules/mustache-interpolation-spacing.html
267
+ */
268
+ 'vue/mustache-interpolation-spacing'?: Linter.RuleEntry<VueMustacheInterpolationSpacing>;
269
+ /**
270
+ * enforce new lines between multi-line properties in Vue components
271
+ * @see https://eslint.vuejs.org/rules/new-line-between-multi-line-property.html
272
+ */
273
+ 'vue/new-line-between-multi-line-property'?: Linter.RuleEntry<VueNewLineBetweenMultiLineProperty>;
274
+ /**
275
+ * enforce Promise or callback style in `nextTick`
276
+ * @see https://eslint.vuejs.org/rules/next-tick-style.html
277
+ */
278
+ 'vue/next-tick-style'?: Linter.RuleEntry<VueNextTickStyle>;
279
+ /**
280
+ * disallow using arrow functions to define watcher
281
+ * @see https://eslint.vuejs.org/rules/no-arrow-functions-in-watch.html
282
+ */
283
+ 'vue/no-arrow-functions-in-watch'?: Linter.RuleEntry<[]>;
284
+ /**
285
+ * disallow asynchronous actions in computed properties
286
+ * @see https://eslint.vuejs.org/rules/no-async-in-computed-properties.html
287
+ */
288
+ 'vue/no-async-in-computed-properties'?: Linter.RuleEntry<[]>;
289
+ /**
290
+ * disallow the use of bare strings in `<template>`
291
+ * @see https://eslint.vuejs.org/rules/no-bare-strings-in-template.html
292
+ */
293
+ 'vue/no-bare-strings-in-template'?: Linter.RuleEntry<VueNoBareStringsInTemplate>;
294
+ /**
295
+ * disallow boolean defaults
296
+ * @see https://eslint.vuejs.org/rules/no-boolean-default.html
297
+ */
298
+ 'vue/no-boolean-default'?: Linter.RuleEntry<VueNoBooleanDefault>;
299
+ /**
300
+ * disallow element's child contents which would be overwritten by a directive like `v-html` or `v-text`
301
+ * @see https://eslint.vuejs.org/rules/no-child-content.html
302
+ */
303
+ 'vue/no-child-content'?: Linter.RuleEntry<VueNoChildContent>;
304
+ /**
305
+ * disallow accessing computed properties in `data`.
306
+ * @see https://eslint.vuejs.org/rules/no-computed-properties-in-data.html
307
+ */
308
+ 'vue/no-computed-properties-in-data'?: Linter.RuleEntry<[]>;
309
+ /**
310
+ * Disallow the use of `console` in `<template>`
311
+ * @see https://eslint.vuejs.org/rules/no-console.html
312
+ */
313
+ 'vue/no-console'?: Linter.RuleEntry<VueNoConsole>;
314
+ /**
315
+ * Disallow constant expressions in conditions in `<template>`
316
+ * @see https://eslint.vuejs.org/rules/no-constant-condition.html
317
+ */
318
+ 'vue/no-constant-condition'?: Linter.RuleEntry<VueNoConstantCondition>;
319
+ /**
320
+ * disallow custom modifiers on v-model used on the component
321
+ * @see https://eslint.vuejs.org/rules/no-custom-modifiers-on-v-model.html
322
+ */
323
+ 'vue/no-custom-modifiers-on-v-model'?: Linter.RuleEntry<[]>;
324
+ /**
325
+ * disallow using deprecated object declaration on data (in Vue.js 3.0.0+)
326
+ * @see https://eslint.vuejs.org/rules/no-deprecated-data-object-declaration.html
327
+ */
328
+ 'vue/no-deprecated-data-object-declaration'?: Linter.RuleEntry<[]>;
329
+ /**
330
+ * disallow using deprecated `destroyed` and `beforeDestroy` lifecycle hooks (in Vue.js 3.0.0+)
331
+ * @see https://eslint.vuejs.org/rules/no-deprecated-destroyed-lifecycle.html
332
+ */
333
+ 'vue/no-deprecated-destroyed-lifecycle'?: Linter.RuleEntry<[]>;
334
+ /**
335
+ * disallow using deprecated `$listeners` (in Vue.js 3.0.0+)
336
+ * @see https://eslint.vuejs.org/rules/no-deprecated-dollar-listeners-api.html
337
+ */
338
+ 'vue/no-deprecated-dollar-listeners-api'?: Linter.RuleEntry<[]>;
339
+ /**
340
+ * disallow using deprecated `$scopedSlots` (in Vue.js 3.0.0+)
341
+ * @see https://eslint.vuejs.org/rules/no-deprecated-dollar-scopedslots-api.html
342
+ */
343
+ 'vue/no-deprecated-dollar-scopedslots-api'?: Linter.RuleEntry<[]>;
344
+ /**
345
+ * disallow using deprecated events api (in Vue.js 3.0.0+)
346
+ * @see https://eslint.vuejs.org/rules/no-deprecated-events-api.html
347
+ */
348
+ 'vue/no-deprecated-events-api'?: Linter.RuleEntry<[]>;
349
+ /**
350
+ * disallow using deprecated filters syntax (in Vue.js 3.0.0+)
351
+ * @see https://eslint.vuejs.org/rules/no-deprecated-filter.html
352
+ */
353
+ 'vue/no-deprecated-filter'?: Linter.RuleEntry<[]>;
354
+ /**
355
+ * disallow using deprecated the `functional` template (in Vue.js 3.0.0+)
356
+ * @see https://eslint.vuejs.org/rules/no-deprecated-functional-template.html
357
+ */
358
+ 'vue/no-deprecated-functional-template'?: Linter.RuleEntry<[]>;
359
+ /**
360
+ * disallow using deprecated the `is` attribute on HTML elements (in Vue.js 3.0.0+)
361
+ * @see https://eslint.vuejs.org/rules/no-deprecated-html-element-is.html
362
+ */
363
+ 'vue/no-deprecated-html-element-is'?: Linter.RuleEntry<[]>;
364
+ /**
365
+ * disallow using deprecated `inline-template` attribute (in Vue.js 3.0.0+)
366
+ * @see https://eslint.vuejs.org/rules/no-deprecated-inline-template.html
367
+ */
368
+ 'vue/no-deprecated-inline-template'?: Linter.RuleEntry<[]>;
369
+ /**
370
+ * disallow deprecated `model` definition (in Vue.js 3.0.0+)
371
+ * @see https://eslint.vuejs.org/rules/no-deprecated-model-definition.html
372
+ */
373
+ 'vue/no-deprecated-model-definition'?: Linter.RuleEntry<VueNoDeprecatedModelDefinition>;
374
+ /**
375
+ * disallow deprecated `this` access in props default function (in Vue.js 3.0.0+)
376
+ * @see https://eslint.vuejs.org/rules/no-deprecated-props-default-this.html
377
+ */
378
+ 'vue/no-deprecated-props-default-this'?: Linter.RuleEntry<[]>;
379
+ /**
380
+ * disallow using deprecated `tag` property on `RouterLink` (in Vue.js 3.0.0+)
381
+ * @see https://eslint.vuejs.org/rules/no-deprecated-router-link-tag-prop.html
382
+ */
383
+ 'vue/no-deprecated-router-link-tag-prop'?: Linter.RuleEntry<VueNoDeprecatedRouterLinkTagProp>;
384
+ /**
385
+ * disallow deprecated `scope` attribute (in Vue.js 2.5.0+)
386
+ * @see https://eslint.vuejs.org/rules/no-deprecated-scope-attribute.html
387
+ */
388
+ 'vue/no-deprecated-scope-attribute'?: Linter.RuleEntry<[]>;
389
+ /**
390
+ * disallow deprecated `slot` attribute (in Vue.js 2.6.0+)
391
+ * @see https://eslint.vuejs.org/rules/no-deprecated-slot-attribute.html
392
+ */
393
+ 'vue/no-deprecated-slot-attribute'?: Linter.RuleEntry<VueNoDeprecatedSlotAttribute>;
394
+ /**
395
+ * disallow deprecated `slot-scope` attribute (in Vue.js 2.6.0+)
396
+ * @see https://eslint.vuejs.org/rules/no-deprecated-slot-scope-attribute.html
397
+ */
398
+ 'vue/no-deprecated-slot-scope-attribute'?: Linter.RuleEntry<[]>;
399
+ /**
400
+ * disallow use of deprecated `.sync` modifier on `v-bind` directive (in Vue.js 3.0.0+)
401
+ * @see https://eslint.vuejs.org/rules/no-deprecated-v-bind-sync.html
402
+ */
403
+ 'vue/no-deprecated-v-bind-sync'?: Linter.RuleEntry<[]>;
404
+ /**
405
+ * disallow deprecated `v-is` directive (in Vue.js 3.1.0+)
406
+ * @see https://eslint.vuejs.org/rules/no-deprecated-v-is.html
407
+ */
408
+ 'vue/no-deprecated-v-is'?: Linter.RuleEntry<[]>;
409
+ /**
410
+ * disallow using deprecated `.native` modifiers (in Vue.js 3.0.0+)
411
+ * @see https://eslint.vuejs.org/rules/no-deprecated-v-on-native-modifier.html
412
+ */
413
+ 'vue/no-deprecated-v-on-native-modifier'?: Linter.RuleEntry<[]>;
414
+ /**
415
+ * disallow using deprecated number (keycode) modifiers (in Vue.js 3.0.0+)
416
+ * @see https://eslint.vuejs.org/rules/no-deprecated-v-on-number-modifiers.html
417
+ */
418
+ 'vue/no-deprecated-v-on-number-modifiers'?: Linter.RuleEntry<[]>;
419
+ /**
420
+ * disallow using deprecated `Vue.config.keyCodes` (in Vue.js 3.0.0+)
421
+ * @see https://eslint.vuejs.org/rules/no-deprecated-vue-config-keycodes.html
422
+ */
423
+ 'vue/no-deprecated-vue-config-keycodes'?: Linter.RuleEntry<[]>;
424
+ /**
425
+ * disallow duplication of field names
426
+ * @see https://eslint.vuejs.org/rules/no-dupe-keys.html
427
+ */
428
+ 'vue/no-dupe-keys'?: Linter.RuleEntry<VueNoDupeKeys>;
429
+ /**
430
+ * disallow duplicate conditions in `v-if` / `v-else-if` chains
431
+ * @see https://eslint.vuejs.org/rules/no-dupe-v-else-if.html
432
+ */
433
+ 'vue/no-dupe-v-else-if'?: Linter.RuleEntry<[]>;
434
+ /**
435
+ * enforce `inheritAttrs` to be set to `false` when using `v-bind="$attrs"`
436
+ * @see https://eslint.vuejs.org/rules/no-duplicate-attr-inheritance.html
437
+ */
438
+ 'vue/no-duplicate-attr-inheritance'?: Linter.RuleEntry<[]>;
439
+ /**
440
+ * disallow duplication of attributes
441
+ * @see https://eslint.vuejs.org/rules/no-duplicate-attributes.html
442
+ */
443
+ 'vue/no-duplicate-attributes'?: Linter.RuleEntry<VueNoDuplicateAttributes>;
444
+ /**
445
+ * disallow the `<template>` `<script>` `<style>` block to be empty
446
+ * @see https://eslint.vuejs.org/rules/no-empty-component-block.html
447
+ */
448
+ 'vue/no-empty-component-block'?: Linter.RuleEntry<[]>;
449
+ /**
450
+ * Disallow empty destructuring patterns in `<template>`
451
+ * @see https://eslint.vuejs.org/rules/no-empty-pattern.html
452
+ */
453
+ 'vue/no-empty-pattern'?: Linter.RuleEntry<VueNoEmptyPattern>;
454
+ /**
455
+ * disallow `export` in `<script setup>`
456
+ * @see https://eslint.vuejs.org/rules/no-export-in-script-setup.html
457
+ */
458
+ 'vue/no-export-in-script-setup'?: Linter.RuleEntry<[]>;
459
+ /**
460
+ * disallow asynchronously registered `expose`
461
+ * @see https://eslint.vuejs.org/rules/no-expose-after-await.html
462
+ */
463
+ 'vue/no-expose-after-await'?: Linter.RuleEntry<[]>;
464
+ /**
465
+ * Disallow unnecessary parentheses in `<template>`
466
+ * @see https://eslint.vuejs.org/rules/no-extra-parens.html
467
+ */
468
+ 'vue/no-extra-parens'?: Linter.RuleEntry<VueNoExtraParens>;
469
+ /**
470
+ * require valid keys in model option
471
+ * @see https://eslint.vuejs.org/rules/no-invalid-model-keys.html
472
+ * @deprecated
473
+ */
474
+ 'vue/no-invalid-model-keys'?: Linter.RuleEntry<[]>;
475
+ /**
476
+ * disallow irregular whitespace in `.vue` files
477
+ * @see https://eslint.vuejs.org/rules/no-irregular-whitespace.html
478
+ */
479
+ 'vue/no-irregular-whitespace'?: Linter.RuleEntry<VueNoIrregularWhitespace>;
480
+ /**
481
+ * disallow asynchronously registered lifecycle hooks
482
+ * @see https://eslint.vuejs.org/rules/no-lifecycle-after-await.html
483
+ */
484
+ 'vue/no-lifecycle-after-await'?: Linter.RuleEntry<[]>;
485
+ /**
486
+ * disallow unnecessary `<template>`
487
+ * @see https://eslint.vuejs.org/rules/no-lone-template.html
488
+ */
489
+ 'vue/no-lone-template'?: Linter.RuleEntry<VueNoLoneTemplate>;
490
+ /**
491
+ * Disallow literal numbers that lose precision in `<template>`
492
+ * @see https://eslint.vuejs.org/rules/no-loss-of-precision.html
493
+ */
494
+ 'vue/no-loss-of-precision'?: Linter.RuleEntry<[]>;
495
+ /**
496
+ * disallow multiple spaces
497
+ * @see https://eslint.vuejs.org/rules/no-multi-spaces.html
498
+ */
499
+ 'vue/no-multi-spaces'?: Linter.RuleEntry<VueNoMultiSpaces>;
500
+ /**
501
+ * disallow to pass multiple objects into array to class
502
+ * @see https://eslint.vuejs.org/rules/no-multiple-objects-in-class.html
503
+ */
504
+ 'vue/no-multiple-objects-in-class'?: Linter.RuleEntry<[]>;
505
+ /**
506
+ * disallow to pass multiple arguments to scoped slots
507
+ * @see https://eslint.vuejs.org/rules/no-multiple-slot-args.html
508
+ */
509
+ 'vue/no-multiple-slot-args'?: Linter.RuleEntry<[]>;
510
+ /**
511
+ * disallow adding multiple root nodes to the template
512
+ * @see https://eslint.vuejs.org/rules/no-multiple-template-root.html
513
+ */
514
+ 'vue/no-multiple-template-root'?: Linter.RuleEntry<[]>;
515
+ /**
516
+ * disallow mutation of component props
517
+ * @see https://eslint.vuejs.org/rules/no-mutating-props.html
518
+ */
519
+ 'vue/no-mutating-props'?: Linter.RuleEntry<VueNoMutatingProps>;
520
+ /**
521
+ * disallow parsing errors in `<template>`
522
+ * @see https://eslint.vuejs.org/rules/no-parsing-error.html
523
+ */
524
+ 'vue/no-parsing-error'?: Linter.RuleEntry<VueNoParsingError>;
525
+ /**
526
+ * disallow a potential typo in your component property
527
+ * @see https://eslint.vuejs.org/rules/no-potential-component-option-typo.html
528
+ */
529
+ 'vue/no-potential-component-option-typo'?: Linter.RuleEntry<VueNoPotentialComponentOptionTypo>;
530
+ /**
531
+ * disallow use of value wrapped by `ref()` (Composition API) as an operand
532
+ * @see https://eslint.vuejs.org/rules/no-ref-as-operand.html
533
+ */
534
+ 'vue/no-ref-as-operand'?: Linter.RuleEntry<[]>;
535
+ /**
536
+ * disallow usages of ref objects that can lead to loss of reactivity
537
+ * @see https://eslint.vuejs.org/rules/no-ref-object-destructure.html
538
+ * @deprecated
539
+ */
540
+ 'vue/no-ref-object-destructure'?: Linter.RuleEntry<[]>;
541
+ /**
542
+ * disallow usages of ref objects that can lead to loss of reactivity
543
+ * @see https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html
544
+ */
545
+ 'vue/no-ref-object-reactivity-loss'?: Linter.RuleEntry<[]>;
546
+ /**
547
+ * enforce props with default values to be optional
548
+ * @see https://eslint.vuejs.org/rules/no-required-prop-with-default.html
549
+ */
550
+ 'vue/no-required-prop-with-default'?: Linter.RuleEntry<VueNoRequiredPropWithDefault>;
551
+ /**
552
+ * disallow the use of reserved names in component definitions
553
+ * @see https://eslint.vuejs.org/rules/no-reserved-component-names.html
554
+ */
555
+ 'vue/no-reserved-component-names'?: Linter.RuleEntry<VueNoReservedComponentNames>;
556
+ /**
557
+ * disallow overwriting reserved keys
558
+ * @see https://eslint.vuejs.org/rules/no-reserved-keys.html
559
+ */
560
+ 'vue/no-reserved-keys'?: Linter.RuleEntry<VueNoReservedKeys>;
561
+ /**
562
+ * disallow reserved names in props
563
+ * @see https://eslint.vuejs.org/rules/no-reserved-props.html
564
+ */
565
+ 'vue/no-reserved-props'?: Linter.RuleEntry<VueNoReservedProps>;
566
+ /**
567
+ * disallow specific block
568
+ * @see https://eslint.vuejs.org/rules/no-restricted-block.html
569
+ */
570
+ 'vue/no-restricted-block'?: Linter.RuleEntry<VueNoRestrictedBlock>;
571
+ /**
572
+ * disallow asynchronously called restricted methods
573
+ * @see https://eslint.vuejs.org/rules/no-restricted-call-after-await.html
574
+ */
575
+ 'vue/no-restricted-call-after-await'?: Linter.RuleEntry<VueNoRestrictedCallAfterAwait>;
576
+ /**
577
+ * disallow specific classes in Vue components
578
+ * @see https://eslint.vuejs.org/rules/no-restricted-class.html
579
+ */
580
+ 'vue/no-restricted-class'?: Linter.RuleEntry<VueNoRestrictedClass>;
581
+ /**
582
+ * disallow specific component names
583
+ * @see https://eslint.vuejs.org/rules/no-restricted-component-names.html
584
+ */
585
+ 'vue/no-restricted-component-names'?: Linter.RuleEntry<VueNoRestrictedComponentNames>;
586
+ /**
587
+ * disallow specific component option
588
+ * @see https://eslint.vuejs.org/rules/no-restricted-component-options.html
589
+ */
590
+ 'vue/no-restricted-component-options'?: Linter.RuleEntry<VueNoRestrictedComponentOptions>;
591
+ /**
592
+ * disallow specific custom event
593
+ * @see https://eslint.vuejs.org/rules/no-restricted-custom-event.html
594
+ */
595
+ 'vue/no-restricted-custom-event'?: Linter.RuleEntry<VueNoRestrictedCustomEvent>;
596
+ /**
597
+ * disallow specific HTML elements
598
+ * @see https://eslint.vuejs.org/rules/no-restricted-html-elements.html
599
+ */
600
+ 'vue/no-restricted-html-elements'?: Linter.RuleEntry<VueNoRestrictedHtmlElements>;
601
+ /**
602
+ * disallow specific props
603
+ * @see https://eslint.vuejs.org/rules/no-restricted-props.html
604
+ */
605
+ 'vue/no-restricted-props'?: Linter.RuleEntry<VueNoRestrictedProps>;
606
+ /**
607
+ * disallow specific attribute
608
+ * @see https://eslint.vuejs.org/rules/no-restricted-static-attribute.html
609
+ */
610
+ 'vue/no-restricted-static-attribute'?: Linter.RuleEntry<VueNoRestrictedStaticAttribute>;
611
+ /**
612
+ * Disallow specified syntax in `<template>`
613
+ * @see https://eslint.vuejs.org/rules/no-restricted-syntax.html
614
+ */
615
+ 'vue/no-restricted-syntax'?: Linter.RuleEntry<VueNoRestrictedSyntax>;
616
+ /**
617
+ * disallow specific argument in `v-bind`
618
+ * @see https://eslint.vuejs.org/rules/no-restricted-v-bind.html
619
+ */
620
+ 'vue/no-restricted-v-bind'?: Linter.RuleEntry<VueNoRestrictedVBind>;
621
+ /**
622
+ * disallow specific argument in `v-on`
623
+ * @see https://eslint.vuejs.org/rules/no-restricted-v-on.html
624
+ */
625
+ 'vue/no-restricted-v-on'?: Linter.RuleEntry<VueNoRestrictedVOn>;
626
+ /**
627
+ * disallow `v-if` directives on root element
628
+ * @see https://eslint.vuejs.org/rules/no-root-v-if.html
629
+ */
630
+ 'vue/no-root-v-if'?: Linter.RuleEntry<[]>;
631
+ /**
632
+ * disallow usages that lose the reactivity of `props` passed to `setup`
633
+ * @see https://eslint.vuejs.org/rules/no-setup-props-destructure.html
634
+ * @deprecated
635
+ */
636
+ 'vue/no-setup-props-destructure'?: Linter.RuleEntry<[]>;
637
+ /**
638
+ * disallow usages that lose the reactivity of `props` passed to `setup`
639
+ * @see https://eslint.vuejs.org/rules/no-setup-props-reactivity-loss.html
640
+ */
641
+ 'vue/no-setup-props-reactivity-loss'?: Linter.RuleEntry<[]>;
642
+ /**
643
+ * enforce component's data property to be a function
644
+ * @see https://eslint.vuejs.org/rules/no-shared-component-data.html
645
+ */
646
+ 'vue/no-shared-component-data'?: Linter.RuleEntry<[]>;
647
+ /**
648
+ * disallow side effects in computed properties
649
+ * @see https://eslint.vuejs.org/rules/no-side-effects-in-computed-properties.html
650
+ */
651
+ 'vue/no-side-effects-in-computed-properties'?: Linter.RuleEntry<[]>;
652
+ /**
653
+ * disallow spaces around equal signs in attribute
654
+ * @see https://eslint.vuejs.org/rules/no-spaces-around-equal-signs-in-attribute.html
655
+ */
656
+ 'vue/no-spaces-around-equal-signs-in-attribute'?: Linter.RuleEntry<[]>;
657
+ /**
658
+ * Disallow sparse arrays in `<template>`
659
+ * @see https://eslint.vuejs.org/rules/no-sparse-arrays.html
660
+ */
661
+ 'vue/no-sparse-arrays'?: Linter.RuleEntry<[]>;
662
+ /**
663
+ * disallow static inline `style` attributes
664
+ * @see https://eslint.vuejs.org/rules/no-static-inline-styles.html
665
+ */
666
+ 'vue/no-static-inline-styles'?: Linter.RuleEntry<VueNoStaticInlineStyles>;
667
+ /**
668
+ * disallow `key` attribute on `<template>`
669
+ * @see https://eslint.vuejs.org/rules/no-template-key.html
670
+ */
671
+ 'vue/no-template-key'?: Linter.RuleEntry<[]>;
672
+ /**
673
+ * disallow variable declarations from shadowing variables declared in the outer scope
674
+ * @see https://eslint.vuejs.org/rules/no-template-shadow.html
675
+ */
676
+ 'vue/no-template-shadow'?: Linter.RuleEntry<VueNoTemplateShadow>;
677
+ /**
678
+ * disallow target="_blank" attribute without rel="noopener noreferrer"
679
+ * @see https://eslint.vuejs.org/rules/no-template-target-blank.html
680
+ */
681
+ 'vue/no-template-target-blank'?: Linter.RuleEntry<VueNoTemplateTargetBlank>;
682
+ /**
683
+ * disallow mustaches in `<textarea>`
684
+ * @see https://eslint.vuejs.org/rules/no-textarea-mustache.html
685
+ */
686
+ 'vue/no-textarea-mustache'?: Linter.RuleEntry<[]>;
687
+ /**
688
+ * disallow `this` usage in a `beforeRouteEnter` method
689
+ * @see https://eslint.vuejs.org/rules/no-this-in-before-route-enter.html
690
+ */
691
+ 'vue/no-this-in-before-route-enter'?: Linter.RuleEntry<[]>;
692
+ /**
693
+ * disallow use of undefined components in `<template>`
694
+ * @see https://eslint.vuejs.org/rules/no-undef-components.html
695
+ */
696
+ 'vue/no-undef-components'?: Linter.RuleEntry<VueNoUndefComponents>;
697
+ /**
698
+ * disallow undefined properties
699
+ * @see https://eslint.vuejs.org/rules/no-undef-properties.html
700
+ */
701
+ 'vue/no-undef-properties'?: Linter.RuleEntry<VueNoUndefProperties>;
702
+ /**
703
+ * disallow unsupported Vue.js syntax on the specified version
704
+ * @see https://eslint.vuejs.org/rules/no-unsupported-features.html
705
+ */
706
+ 'vue/no-unsupported-features'?: Linter.RuleEntry<VueNoUnsupportedFeatures>;
707
+ /**
708
+ * disallow registering components that are not used inside templates
709
+ * @see https://eslint.vuejs.org/rules/no-unused-components.html
710
+ */
711
+ 'vue/no-unused-components'?: Linter.RuleEntry<VueNoUnusedComponents>;
712
+ /**
713
+ * disallow unused emit declarations
714
+ * @see https://eslint.vuejs.org/rules/no-unused-emit-declarations.html
715
+ */
716
+ 'vue/no-unused-emit-declarations'?: Linter.RuleEntry<[]>;
717
+ /**
718
+ * disallow unused properties
719
+ * @see https://eslint.vuejs.org/rules/no-unused-properties.html
720
+ */
721
+ 'vue/no-unused-properties'?: Linter.RuleEntry<VueNoUnusedProperties>;
722
+ /**
723
+ * disallow unused refs
724
+ * @see https://eslint.vuejs.org/rules/no-unused-refs.html
725
+ */
726
+ 'vue/no-unused-refs'?: Linter.RuleEntry<[]>;
727
+ /**
728
+ * disallow unused variable definitions of v-for directives or scope attributes
729
+ * @see https://eslint.vuejs.org/rules/no-unused-vars.html
730
+ */
731
+ 'vue/no-unused-vars'?: Linter.RuleEntry<VueNoUnusedVars>;
732
+ /**
733
+ * disallow use computed property like method
734
+ * @see https://eslint.vuejs.org/rules/no-use-computed-property-like-method.html
735
+ */
736
+ 'vue/no-use-computed-property-like-method'?: Linter.RuleEntry<[]>;
737
+ /**
738
+ * disallow using `v-else-if`/`v-else` on the same element as `v-for`
739
+ * @see https://eslint.vuejs.org/rules/no-use-v-else-with-v-for.html
740
+ */
741
+ 'vue/no-use-v-else-with-v-for'?: Linter.RuleEntry<[]>;
742
+ /**
743
+ * disallow using `v-if` on the same element as `v-for`
744
+ * @see https://eslint.vuejs.org/rules/no-use-v-if-with-v-for.html
745
+ */
746
+ 'vue/no-use-v-if-with-v-for'?: Linter.RuleEntry<VueNoUseVIfWithVFor>;
747
+ /**
748
+ * Disallow unnecessary concatenation of literals or template literals in `<template>`
749
+ * @see https://eslint.vuejs.org/rules/no-useless-concat.html
750
+ */
751
+ 'vue/no-useless-concat'?: Linter.RuleEntry<[]>;
752
+ /**
753
+ * disallow unnecessary mustache interpolations
754
+ * @see https://eslint.vuejs.org/rules/no-useless-mustaches.html
755
+ */
756
+ 'vue/no-useless-mustaches'?: Linter.RuleEntry<VueNoUselessMustaches>;
757
+ /**
758
+ * disallow useless attribute on `<template>`
759
+ * @see https://eslint.vuejs.org/rules/no-useless-template-attributes.html
760
+ */
761
+ 'vue/no-useless-template-attributes'?: Linter.RuleEntry<[]>;
762
+ /**
763
+ * disallow unnecessary `v-bind` directives
764
+ * @see https://eslint.vuejs.org/rules/no-useless-v-bind.html
765
+ */
766
+ 'vue/no-useless-v-bind'?: Linter.RuleEntry<VueNoUselessVBind>;
767
+ /**
768
+ * disallow `key` attribute on `<template v-for>`
769
+ * @see https://eslint.vuejs.org/rules/no-v-for-template-key.html
770
+ */
771
+ 'vue/no-v-for-template-key'?: Linter.RuleEntry<[]>;
772
+ /**
773
+ * disallow key of `<template v-for>` placed on child elements
774
+ * @see https://eslint.vuejs.org/rules/no-v-for-template-key-on-child.html
775
+ */
776
+ 'vue/no-v-for-template-key-on-child'?: Linter.RuleEntry<[]>;
777
+ /**
778
+ * disallow use of v-html to prevent XSS attack
779
+ * @see https://eslint.vuejs.org/rules/no-v-html.html
780
+ */
781
+ 'vue/no-v-html'?: Linter.RuleEntry<[]>;
782
+ /**
783
+ * disallow adding an argument to `v-model` used in custom component
784
+ * @see https://eslint.vuejs.org/rules/no-v-model-argument.html
785
+ */
786
+ 'vue/no-v-model-argument'?: Linter.RuleEntry<[]>;
787
+ /**
788
+ * disallow use of v-text
789
+ * @see https://eslint.vuejs.org/rules/no-v-text.html
790
+ */
791
+ 'vue/no-v-text'?: Linter.RuleEntry<[]>;
792
+ /**
793
+ * disallow v-text / v-html on component
794
+ * @see https://eslint.vuejs.org/rules/no-v-text-v-html-on-component.html
795
+ */
796
+ 'vue/no-v-text-v-html-on-component'?: Linter.RuleEntry<VueNoVTextVHtmlOnComponent>;
797
+ /**
798
+ * disallow asynchronously registered `watch`
799
+ * @see https://eslint.vuejs.org/rules/no-watch-after-await.html
800
+ */
801
+ 'vue/no-watch-after-await'?: Linter.RuleEntry<[]>;
802
+ /**
803
+ * Enforce consistent line breaks after opening and before closing braces in `<template>`
804
+ * @see https://eslint.vuejs.org/rules/object-curly-newline.html
805
+ */
806
+ 'vue/object-curly-newline'?: Linter.RuleEntry<VueObjectCurlyNewline>;
807
+ /**
808
+ * Enforce consistent spacing inside braces in `<template>`
809
+ * @see https://eslint.vuejs.org/rules/object-curly-spacing.html
810
+ */
811
+ 'vue/object-curly-spacing'?: Linter.RuleEntry<VueObjectCurlySpacing>;
812
+ /**
813
+ * Enforce placing object properties on separate lines in `<template>`
814
+ * @see https://eslint.vuejs.org/rules/object-property-newline.html
815
+ */
816
+ 'vue/object-property-newline'?: Linter.RuleEntry<VueObjectPropertyNewline>;
817
+ /**
818
+ * Require or disallow method and property shorthand syntax for object literals in `<template>`
819
+ * @see https://eslint.vuejs.org/rules/object-shorthand.html
820
+ */
821
+ 'vue/object-shorthand'?: Linter.RuleEntry<VueObjectShorthand>;
822
+ /**
823
+ * enforce that each component should be in its own file
824
+ * @see https://eslint.vuejs.org/rules/one-component-per-file.html
825
+ */
826
+ 'vue/one-component-per-file'?: Linter.RuleEntry<[]>;
827
+ /**
828
+ * Enforce consistent linebreak style for operators in `<template>`
829
+ * @see https://eslint.vuejs.org/rules/operator-linebreak.html
830
+ */
831
+ 'vue/operator-linebreak'?: Linter.RuleEntry<VueOperatorLinebreak>;
832
+ /**
833
+ * enforce order of properties in components
834
+ * @see https://eslint.vuejs.org/rules/order-in-components.html
835
+ */
836
+ 'vue/order-in-components'?: Linter.RuleEntry<VueOrderInComponents>;
837
+ /**
838
+ * require or disallow padding lines between blocks
839
+ * @see https://eslint.vuejs.org/rules/padding-line-between-blocks.html
840
+ */
841
+ 'vue/padding-line-between-blocks'?: Linter.RuleEntry<VuePaddingLineBetweenBlocks>;
842
+ /**
843
+ * require or disallow newlines between sibling tags in template
844
+ * @see https://eslint.vuejs.org/rules/padding-line-between-tags.html
845
+ */
846
+ 'vue/padding-line-between-tags'?: Linter.RuleEntry<VuePaddingLineBetweenTags>;
847
+ /**
848
+ * require or disallow padding lines in component definition
849
+ * @see https://eslint.vuejs.org/rules/padding-lines-in-component-definition.html
850
+ */
851
+ 'vue/padding-lines-in-component-definition'?: Linter.RuleEntry<VuePaddingLinesInComponentDefinition>;
852
+ /**
853
+ * enforce use of `defineOptions` instead of default export.
854
+ * @see https://eslint.vuejs.org/rules/prefer-define-options.html
855
+ */
856
+ 'vue/prefer-define-options'?: Linter.RuleEntry<[]>;
857
+ /**
858
+ * enforce import from 'vue' instead of import from '@vue/*'
859
+ * @see https://eslint.vuejs.org/rules/prefer-import-from-vue.html
860
+ */
861
+ 'vue/prefer-import-from-vue'?: Linter.RuleEntry<[]>;
862
+ /**
863
+ * enforce `Boolean` comes first in component prop types
864
+ * @see https://eslint.vuejs.org/rules/prefer-prop-type-boolean-first.html
865
+ */
866
+ 'vue/prefer-prop-type-boolean-first'?: Linter.RuleEntry<[]>;
867
+ /**
868
+ * require static class names in template to be in a separate `class` attribute
869
+ * @see https://eslint.vuejs.org/rules/prefer-separate-static-class.html
870
+ */
871
+ 'vue/prefer-separate-static-class'?: Linter.RuleEntry<[]>;
872
+ /**
873
+ * Require template literals instead of string concatenation in `<template>`
874
+ * @see https://eslint.vuejs.org/rules/prefer-template.html
875
+ */
876
+ 'vue/prefer-template'?: Linter.RuleEntry<[]>;
877
+ /**
878
+ * require shorthand form attribute when `v-bind` value is `true`
879
+ * @see https://eslint.vuejs.org/rules/prefer-true-attribute-shorthand.html
880
+ */
881
+ 'vue/prefer-true-attribute-shorthand'?: Linter.RuleEntry<VuePreferTrueAttributeShorthand>;
882
+ /**
883
+ * enforce specific casing for the Prop name in Vue components
884
+ * @see https://eslint.vuejs.org/rules/prop-name-casing.html
885
+ */
886
+ 'vue/prop-name-casing'?: Linter.RuleEntry<VuePropNameCasing>;
887
+ /**
888
+ * Require quotes around object literal property names in `<template>`
889
+ * @see https://eslint.vuejs.org/rules/quote-props.html
890
+ */
891
+ 'vue/quote-props'?: Linter.RuleEntry<VueQuoteProps>;
892
+ /**
893
+ * require `v-bind:is` of `<component>` elements
894
+ * @see https://eslint.vuejs.org/rules/require-component-is.html
895
+ */
896
+ 'vue/require-component-is'?: Linter.RuleEntry<[]>;
897
+ /**
898
+ * require default value for props
899
+ * @see https://eslint.vuejs.org/rules/require-default-prop.html
900
+ */
901
+ 'vue/require-default-prop'?: Linter.RuleEntry<[]>;
902
+ /**
903
+ * require the component to be directly exported
904
+ * @see https://eslint.vuejs.org/rules/require-direct-export.html
905
+ */
906
+ 'vue/require-direct-export'?: Linter.RuleEntry<VueRequireDirectExport>;
907
+ /**
908
+ * require type definitions in emits
909
+ * @see https://eslint.vuejs.org/rules/require-emit-validator.html
910
+ */
911
+ 'vue/require-emit-validator'?: Linter.RuleEntry<[]>;
912
+ /**
913
+ * require `emits` option with name triggered by `$emit()`
914
+ * @see https://eslint.vuejs.org/rules/require-explicit-emits.html
915
+ */
916
+ 'vue/require-explicit-emits'?: Linter.RuleEntry<VueRequireExplicitEmits>;
917
+ /**
918
+ * require slots to be explicitly defined
919
+ * @see https://eslint.vuejs.org/rules/require-explicit-slots.html
920
+ */
921
+ 'vue/require-explicit-slots'?: Linter.RuleEntry<[]>;
922
+ /**
923
+ * require declare public properties using `expose`
924
+ * @see https://eslint.vuejs.org/rules/require-expose.html
925
+ */
926
+ 'vue/require-expose'?: Linter.RuleEntry<[]>;
927
+ /**
928
+ * require a certain macro variable name
929
+ * @see https://eslint.vuejs.org/rules/require-macro-variable-name.html
930
+ */
931
+ 'vue/require-macro-variable-name'?: Linter.RuleEntry<VueRequireMacroVariableName>;
932
+ /**
933
+ * require a name property in Vue components
934
+ * @see https://eslint.vuejs.org/rules/require-name-property.html
935
+ */
936
+ 'vue/require-name-property'?: Linter.RuleEntry<[]>;
937
+ /**
938
+ * require props to have a comment
939
+ * @see https://eslint.vuejs.org/rules/require-prop-comment.html
940
+ */
941
+ 'vue/require-prop-comment'?: Linter.RuleEntry<VueRequirePropComment>;
942
+ /**
943
+ * require prop type to be a constructor
944
+ * @see https://eslint.vuejs.org/rules/require-prop-type-constructor.html
945
+ */
946
+ 'vue/require-prop-type-constructor'?: Linter.RuleEntry<[]>;
947
+ /**
948
+ * require type definitions in props
949
+ * @see https://eslint.vuejs.org/rules/require-prop-types.html
950
+ */
951
+ 'vue/require-prop-types'?: Linter.RuleEntry<[]>;
952
+ /**
953
+ * enforce render function to always return value
954
+ * @see https://eslint.vuejs.org/rules/require-render-return.html
955
+ */
956
+ 'vue/require-render-return'?: Linter.RuleEntry<[]>;
957
+ /**
958
+ * enforce properties of `$slots` to be used as a function
959
+ * @see https://eslint.vuejs.org/rules/require-slots-as-functions.html
960
+ */
961
+ 'vue/require-slots-as-functions'?: Linter.RuleEntry<[]>;
962
+ /**
963
+ * require control the display of the content inside `<transition>`
964
+ * @see https://eslint.vuejs.org/rules/require-toggle-inside-transition.html
965
+ */
966
+ 'vue/require-toggle-inside-transition'?: Linter.RuleEntry<[]>;
967
+ /**
968
+ * enforce adding type declarations to object props
969
+ * @see https://eslint.vuejs.org/rules/require-typed-object-prop.html
970
+ */
971
+ 'vue/require-typed-object-prop'?: Linter.RuleEntry<[]>;
972
+ /**
973
+ * require `ref` and `shallowRef` functions to be strongly typed
974
+ * @see https://eslint.vuejs.org/rules/require-typed-ref.html
975
+ */
976
+ 'vue/require-typed-ref'?: Linter.RuleEntry<[]>;
977
+ /**
978
+ * require `v-bind:key` with `v-for` directives
979
+ * @see https://eslint.vuejs.org/rules/require-v-for-key.html
980
+ */
981
+ 'vue/require-v-for-key'?: Linter.RuleEntry<[]>;
982
+ /**
983
+ * enforce props default values to be valid
984
+ * @see https://eslint.vuejs.org/rules/require-valid-default-prop.html
985
+ */
986
+ 'vue/require-valid-default-prop'?: Linter.RuleEntry<[]>;
987
+ /**
988
+ * enforce that a return statement is present in computed property
989
+ * @see https://eslint.vuejs.org/rules/return-in-computed-property.html
990
+ */
991
+ 'vue/return-in-computed-property'?: Linter.RuleEntry<VueReturnInComputedProperty>;
992
+ /**
993
+ * enforce that a return statement is present in emits validator
994
+ * @see https://eslint.vuejs.org/rules/return-in-emits-validator.html
995
+ */
996
+ 'vue/return-in-emits-validator'?: Linter.RuleEntry<[]>;
997
+ /**
998
+ * enforce consistent indentation in `<script>`
999
+ * @see https://eslint.vuejs.org/rules/script-indent.html
1000
+ */
1001
+ 'vue/script-indent'?: Linter.RuleEntry<VueScriptIndent>;
1002
+ /**
1003
+ * prevent `<script setup>` variables used in `<template>` to be marked as unused
1004
+ * @see https://eslint.vuejs.org/rules/script-setup-uses-vars.html
1005
+ * @deprecated
1006
+ */
1007
+ 'vue/script-setup-uses-vars'?: Linter.RuleEntry<[]>;
1008
+ /**
1009
+ * require a line break before and after the contents of a singleline element
1010
+ * @see https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html
1011
+ */
1012
+ 'vue/singleline-html-element-content-newline'?: Linter.RuleEntry<VueSinglelineHtmlElementContentNewline>;
1013
+ /**
1014
+ * enforce sort-keys in a manner that is compatible with order-in-components
1015
+ * @see https://eslint.vuejs.org/rules/sort-keys.html
1016
+ */
1017
+ 'vue/sort-keys'?: Linter.RuleEntry<VueSortKeys>;
1018
+ /**
1019
+ * Enforce consistent spacing inside parentheses in `<template>`
1020
+ * @see https://eslint.vuejs.org/rules/space-in-parens.html
1021
+ */
1022
+ 'vue/space-in-parens'?: Linter.RuleEntry<VueSpaceInParens>;
1023
+ /**
1024
+ * Require spacing around infix operators in `<template>`
1025
+ * @see https://eslint.vuejs.org/rules/space-infix-ops.html
1026
+ */
1027
+ 'vue/space-infix-ops'?: Linter.RuleEntry<VueSpaceInfixOps>;
1028
+ /**
1029
+ * Enforce consistent spacing before or after unary operators in `<template>`
1030
+ * @see https://eslint.vuejs.org/rules/space-unary-ops.html
1031
+ */
1032
+ 'vue/space-unary-ops'?: Linter.RuleEntry<VueSpaceUnaryOps>;
1033
+ /**
1034
+ * enforce static class names order
1035
+ * @see https://eslint.vuejs.org/rules/static-class-names-order.html
1036
+ */
1037
+ 'vue/static-class-names-order'?: Linter.RuleEntry<[]>;
1038
+ /**
1039
+ * Require or disallow spacing around embedded expressions of template strings in `<template>`
1040
+ * @see https://eslint.vuejs.org/rules/template-curly-spacing.html
1041
+ */
1042
+ 'vue/template-curly-spacing'?: Linter.RuleEntry<VueTemplateCurlySpacing>;
1043
+ /**
1044
+ * disallow usage of `this` in template
1045
+ * @see https://eslint.vuejs.org/rules/this-in-template.html
1046
+ */
1047
+ 'vue/this-in-template'?: Linter.RuleEntry<VueThisInTemplate>;
1048
+ /**
1049
+ * enforce usage of `exact` modifier on `v-on`
1050
+ * @see https://eslint.vuejs.org/rules/use-v-on-exact.html
1051
+ */
1052
+ 'vue/use-v-on-exact'?: Linter.RuleEntry<[]>;
1053
+ /**
1054
+ * enforce `v-bind` directive style
1055
+ * @see https://eslint.vuejs.org/rules/v-bind-style.html
1056
+ */
1057
+ 'vue/v-bind-style'?: Linter.RuleEntry<VueVBindStyle>;
1058
+ /**
1059
+ * enforce `v-for` directive's delimiter style
1060
+ * @see https://eslint.vuejs.org/rules/v-for-delimiter-style.html
1061
+ */
1062
+ 'vue/v-for-delimiter-style'?: Linter.RuleEntry<VueVForDelimiterStyle>;
1063
+ /**
1064
+ * require key attribute for conditionally rendered repeated components
1065
+ * @see https://eslint.vuejs.org/rules/v-if-else-key.html
1066
+ */
1067
+ 'vue/v-if-else-key'?: Linter.RuleEntry<[]>;
1068
+ /**
1069
+ * enforce v-on event naming style on custom components in template
1070
+ * @see https://eslint.vuejs.org/rules/v-on-event-hyphenation.html
1071
+ */
1072
+ 'vue/v-on-event-hyphenation'?: Linter.RuleEntry<VueVOnEventHyphenation>;
1073
+ /**
1074
+ * enforce or forbid parentheses after method calls without arguments in `v-on` directives
1075
+ * @see https://eslint.vuejs.org/rules/v-on-function-call.html
1076
+ * @deprecated
1077
+ */
1078
+ 'vue/v-on-function-call'?: Linter.RuleEntry<VueVOnFunctionCall>;
1079
+ /**
1080
+ * enforce writing style for handlers in `v-on` directives
1081
+ * @see https://eslint.vuejs.org/rules/v-on-handler-style.html
1082
+ */
1083
+ 'vue/v-on-handler-style'?: Linter.RuleEntry<VueVOnHandlerStyle>;
1084
+ /**
1085
+ * enforce `v-on` directive style
1086
+ * @see https://eslint.vuejs.org/rules/v-on-style.html
1087
+ */
1088
+ 'vue/v-on-style'?: Linter.RuleEntry<VueVOnStyle>;
1089
+ /**
1090
+ * enforce `v-slot` directive style
1091
+ * @see https://eslint.vuejs.org/rules/v-slot-style.html
1092
+ */
1093
+ 'vue/v-slot-style'?: Linter.RuleEntry<VueVSlotStyle>;
1094
+ /**
1095
+ * require valid attribute names
1096
+ * @see https://eslint.vuejs.org/rules/valid-attribute-name.html
1097
+ */
1098
+ 'vue/valid-attribute-name'?: Linter.RuleEntry<[]>;
1099
+ /**
1100
+ * enforce valid `defineEmits` compiler macro
1101
+ * @see https://eslint.vuejs.org/rules/valid-define-emits.html
1102
+ */
1103
+ 'vue/valid-define-emits'?: Linter.RuleEntry<[]>;
1104
+ /**
1105
+ * enforce valid `defineOptions` compiler macro
1106
+ * @see https://eslint.vuejs.org/rules/valid-define-options.html
1107
+ */
1108
+ 'vue/valid-define-options'?: Linter.RuleEntry<[]>;
1109
+ /**
1110
+ * enforce valid `defineProps` compiler macro
1111
+ * @see https://eslint.vuejs.org/rules/valid-define-props.html
1112
+ */
1113
+ 'vue/valid-define-props'?: Linter.RuleEntry<[]>;
1114
+ /**
1115
+ * require valid keys in model option
1116
+ * @see https://eslint.vuejs.org/rules/valid-model-definition.html
1117
+ */
1118
+ 'vue/valid-model-definition'?: Linter.RuleEntry<[]>;
1119
+ /**
1120
+ * enforce valid `nextTick` function calls
1121
+ * @see https://eslint.vuejs.org/rules/valid-next-tick.html
1122
+ */
1123
+ 'vue/valid-next-tick'?: Linter.RuleEntry<[]>;
1124
+ /**
1125
+ * enforce valid template root
1126
+ * @see https://eslint.vuejs.org/rules/valid-template-root.html
1127
+ */
1128
+ 'vue/valid-template-root'?: Linter.RuleEntry<[]>;
1129
+ /**
1130
+ * enforce valid `v-bind` directives
1131
+ * @see https://eslint.vuejs.org/rules/valid-v-bind.html
1132
+ */
1133
+ 'vue/valid-v-bind'?: Linter.RuleEntry<[]>;
1134
+ /**
1135
+ * enforce valid `.sync` modifier on `v-bind` directives
1136
+ * @see https://eslint.vuejs.org/rules/valid-v-bind-sync.html
1137
+ */
1138
+ 'vue/valid-v-bind-sync'?: Linter.RuleEntry<[]>;
1139
+ /**
1140
+ * enforce valid `v-cloak` directives
1141
+ * @see https://eslint.vuejs.org/rules/valid-v-cloak.html
1142
+ */
1143
+ 'vue/valid-v-cloak'?: Linter.RuleEntry<[]>;
1144
+ /**
1145
+ * enforce valid `v-else` directives
1146
+ * @see https://eslint.vuejs.org/rules/valid-v-else.html
1147
+ */
1148
+ 'vue/valid-v-else'?: Linter.RuleEntry<[]>;
1149
+ /**
1150
+ * enforce valid `v-else-if` directives
1151
+ * @see https://eslint.vuejs.org/rules/valid-v-else-if.html
1152
+ */
1153
+ 'vue/valid-v-else-if'?: Linter.RuleEntry<[]>;
1154
+ /**
1155
+ * enforce valid `v-for` directives
1156
+ * @see https://eslint.vuejs.org/rules/valid-v-for.html
1157
+ */
1158
+ 'vue/valid-v-for'?: Linter.RuleEntry<[]>;
1159
+ /**
1160
+ * enforce valid `v-html` directives
1161
+ * @see https://eslint.vuejs.org/rules/valid-v-html.html
1162
+ */
1163
+ 'vue/valid-v-html'?: Linter.RuleEntry<[]>;
1164
+ /**
1165
+ * enforce valid `v-if` directives
1166
+ * @see https://eslint.vuejs.org/rules/valid-v-if.html
1167
+ */
1168
+ 'vue/valid-v-if'?: Linter.RuleEntry<[]>;
1169
+ /**
1170
+ * enforce valid `v-is` directives
1171
+ * @see https://eslint.vuejs.org/rules/valid-v-is.html
1172
+ */
1173
+ 'vue/valid-v-is'?: Linter.RuleEntry<[]>;
1174
+ /**
1175
+ * enforce valid `v-memo` directives
1176
+ * @see https://eslint.vuejs.org/rules/valid-v-memo.html
1177
+ */
1178
+ 'vue/valid-v-memo'?: Linter.RuleEntry<[]>;
1179
+ /**
1180
+ * enforce valid `v-model` directives
1181
+ * @see https://eslint.vuejs.org/rules/valid-v-model.html
1182
+ */
1183
+ 'vue/valid-v-model'?: Linter.RuleEntry<[]>;
1184
+ /**
1185
+ * enforce valid `v-on` directives
1186
+ * @see https://eslint.vuejs.org/rules/valid-v-on.html
1187
+ */
1188
+ 'vue/valid-v-on'?: Linter.RuleEntry<VueValidVOn>;
1189
+ /**
1190
+ * enforce valid `v-once` directives
1191
+ * @see https://eslint.vuejs.org/rules/valid-v-once.html
1192
+ */
1193
+ 'vue/valid-v-once'?: Linter.RuleEntry<[]>;
1194
+ /**
1195
+ * enforce valid `v-pre` directives
1196
+ * @see https://eslint.vuejs.org/rules/valid-v-pre.html
1197
+ */
1198
+ 'vue/valid-v-pre'?: Linter.RuleEntry<[]>;
1199
+ /**
1200
+ * enforce valid `v-show` directives
1201
+ * @see https://eslint.vuejs.org/rules/valid-v-show.html
1202
+ */
1203
+ 'vue/valid-v-show'?: Linter.RuleEntry<[]>;
1204
+ /**
1205
+ * enforce valid `v-slot` directives
1206
+ * @see https://eslint.vuejs.org/rules/valid-v-slot.html
1207
+ */
1208
+ 'vue/valid-v-slot'?: Linter.RuleEntry<VueValidVSlot>;
1209
+ /**
1210
+ * enforce valid `v-text` directives
1211
+ * @see https://eslint.vuejs.org/rules/valid-v-text.html
1212
+ */
1213
+ 'vue/valid-v-text'?: Linter.RuleEntry<[]>;
1214
+ }
1215
+ type VueArrayBracketNewline = [] | [
1216
+ (("always" | "never" | "consistent") | {
1217
+ multiline?: boolean;
1218
+ minItems?: (number | null);
1219
+ })
1220
+ ];
1221
+ type VueArrayBracketSpacing = [] | [("always" | "never")] | [
1222
+ ("always" | "never"),
1223
+ {
1224
+ singleValue?: boolean;
1225
+ objectsInArrays?: boolean;
1226
+ arraysInArrays?: boolean;
1227
+ }
1228
+ ];
1229
+ type VueArrayElementNewline = [] | [
1230
+ (_VueArrayElementNewlineBasicConfig | {
1231
+ ArrayExpression?: _VueArrayElementNewlineBasicConfig;
1232
+ ArrayPattern?: _VueArrayElementNewlineBasicConfig;
1233
+ })
1234
+ ];
1235
+ type _VueArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
1236
+ multiline?: boolean;
1237
+ minItems?: (number | null);
1238
+ });
1239
+ type VueArrowSpacing = [] | [
1240
+ {
1241
+ before?: boolean;
1242
+ after?: boolean;
1243
+ }
1244
+ ];
1245
+ type VueAttributeHyphenation = [] | [("always" | "never")] | [
1246
+ ("always" | "never"),
1247
+ {
1248
+ ignore?: (string & {
1249
+ [k: string]: unknown | undefined;
1250
+ } & {
1251
+ [k: string]: unknown | undefined;
1252
+ })[];
1253
+ }
1254
+ ];
1255
+ type VueAttributesOrder = [] | [
1256
+ {
1257
+ order?: (("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT") | ("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT")[])[];
1258
+ alphabetical?: boolean;
1259
+ }
1260
+ ];
1261
+ type VueBlockLang = [] | [
1262
+ {
1263
+ [k: string]: {
1264
+ lang?: (string | string[]);
1265
+ allowNoLang?: boolean;
1266
+ };
1267
+ }
1268
+ ];
1269
+ type VueBlockOrder = [] | [
1270
+ {
1271
+ order?: (string | string[])[];
1272
+ }
1273
+ ];
1274
+ type VueBlockSpacing = [] | [("always" | "never")];
1275
+ type VueBlockTagNewline = [] | [
1276
+ {
1277
+ singleline?: ("always" | "never" | "consistent" | "ignore");
1278
+ multiline?: ("always" | "never" | "consistent" | "ignore");
1279
+ maxEmptyLines?: number;
1280
+ blocks?: {
1281
+ [k: string]: {
1282
+ singleline?: ("always" | "never" | "consistent" | "ignore");
1283
+ multiline?: ("always" | "never" | "consistent" | "ignore");
1284
+ maxEmptyLines?: number;
1285
+ };
1286
+ };
1287
+ }
1288
+ ];
1289
+ type VueBraceStyle = [] | [("1tbs" | "stroustrup" | "allman")] | [
1290
+ ("1tbs" | "stroustrup" | "allman"),
1291
+ {
1292
+ allowSingleLine?: boolean;
1293
+ }
1294
+ ];
1295
+ type VueCamelcase = [] | [
1296
+ {
1297
+ ignoreDestructuring?: boolean;
1298
+ ignoreImports?: boolean;
1299
+ ignoreGlobals?: boolean;
1300
+ properties?: ("always" | "never");
1301
+ allow?: string[];
1302
+ }
1303
+ ];
1304
+ type VueCommaDangle = [] | [
1305
+ (_VueCommaDangleValue | {
1306
+ arrays?: _VueCommaDangleValueWithIgnore;
1307
+ objects?: _VueCommaDangleValueWithIgnore;
1308
+ imports?: _VueCommaDangleValueWithIgnore;
1309
+ exports?: _VueCommaDangleValueWithIgnore;
1310
+ functions?: _VueCommaDangleValueWithIgnore;
1311
+ })
1312
+ ];
1313
+ type _VueCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
1314
+ type _VueCommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline");
1315
+ type VueCommaSpacing = [] | [
1316
+ {
1317
+ before?: boolean;
1318
+ after?: boolean;
1319
+ }
1320
+ ];
1321
+ type VueCommaStyle = [] | [("first" | "last")] | [
1322
+ ("first" | "last"),
1323
+ {
1324
+ exceptions?: {
1325
+ [k: string]: boolean | undefined;
1326
+ };
1327
+ }
1328
+ ];
1329
+ type VueCommentDirective = [] | [
1330
+ {
1331
+ reportUnusedDisableDirectives?: boolean;
1332
+ }
1333
+ ];
1334
+ type VueComponentApiStyle = [] | [[("script-setup" | "composition" | "composition-vue2" | "options"), ...(("script-setup" | "composition" | "composition-vue2" | "options"))[]]];
1335
+ type VueComponentDefinitionNameCasing = [] | [("PascalCase" | "kebab-case")];
1336
+ type VueComponentNameInTemplateCasing = [] | [("PascalCase" | "kebab-case")] | [
1337
+ ("PascalCase" | "kebab-case"),
1338
+ {
1339
+ globals?: string[];
1340
+ ignores?: string[];
1341
+ registeredComponentsOnly?: boolean;
1342
+ }
1343
+ ];
1344
+ type VueComponentOptionsNameCasing = [] | [("camelCase" | "kebab-case" | "PascalCase")];
1345
+ type VueComponentTagsOrder = [] | [
1346
+ {
1347
+ order?: (string | string[])[];
1348
+ }
1349
+ ];
1350
+ type VueCustomEventNameCasing = ([] | [("kebab-case" | "camelCase")] | [
1351
+ ("kebab-case" | "camelCase"),
1352
+ {
1353
+ ignores?: string[];
1354
+ }
1355
+ ] | [] | [
1356
+ {
1357
+ ignores?: string[];
1358
+ }
1359
+ ]);
1360
+ type VueDefineEmitsDeclaration = [] | [("type-based" | "type-literal" | "runtime")];
1361
+ type VueDefineMacrosOrder = [] | [
1362
+ {
1363
+ order?: ("defineEmits" | "defineProps" | "defineOptions" | "defineSlots" | "defineModel")[];
1364
+ defineExposeLast?: boolean;
1365
+ }
1366
+ ];
1367
+ type VueDefinePropsDeclaration = [] | [("type-based" | "runtime")];
1368
+ type VueDotLocation = [] | [("object" | "property")];
1369
+ type VueDotNotation = [] | [
1370
+ {
1371
+ allowKeywords?: boolean;
1372
+ allowPattern?: string;
1373
+ }
1374
+ ];
1375
+ type VueEnforceStyleAttribute = [] | [
1376
+ {
1377
+ allow?: [("plain" | "scoped" | "module"), ...(("plain" | "scoped" | "module"))[]];
1378
+ }
1379
+ ];
1380
+ type VueEqeqeq = ([] | ["always"] | [
1381
+ "always",
1382
+ {
1383
+ null?: ("always" | "never" | "ignore");
1384
+ }
1385
+ ] | [] | [("smart" | "allow-null")]);
1386
+ type VueFirstAttributeLinebreak = [] | [
1387
+ {
1388
+ multiline?: ("below" | "beside" | "ignore");
1389
+ singleline?: ("below" | "beside" | "ignore");
1390
+ }
1391
+ ];
1392
+ type VueFuncCallSpacing = ([] | ["never"] | [] | ["always"] | [
1393
+ "always",
1394
+ {
1395
+ allowNewlines?: boolean;
1396
+ }
1397
+ ]);
1398
+ type VueHtmlButtonHasType = [] | [
1399
+ {
1400
+ button?: boolean;
1401
+ submit?: boolean;
1402
+ reset?: boolean;
1403
+ }
1404
+ ];
1405
+ type VueHtmlClosingBracketNewline = [] | [
1406
+ {
1407
+ singleline?: ("always" | "never");
1408
+ multiline?: ("always" | "never");
1409
+ selfClosingTag?: {
1410
+ singleline?: ("always" | "never");
1411
+ multiline?: ("always" | "never");
1412
+ };
1413
+ }
1414
+ ];
1415
+ type VueHtmlClosingBracketSpacing = [] | [
1416
+ {
1417
+ startTag?: ("always" | "never");
1418
+ endTag?: ("always" | "never");
1419
+ selfClosingTag?: ("always" | "never");
1420
+ }
1421
+ ];
1422
+ type VueHtmlCommentContentNewline = [] | [
1423
+ (("always" | "never") | {
1424
+ singleline?: ("always" | "never" | "ignore");
1425
+ multiline?: ("always" | "never" | "ignore");
1426
+ })
1427
+ ] | [
1428
+ (("always" | "never") | {
1429
+ singleline?: ("always" | "never" | "ignore");
1430
+ multiline?: ("always" | "never" | "ignore");
1431
+ }),
1432
+ {
1433
+ exceptions?: string[];
1434
+ }
1435
+ ];
1436
+ type VueHtmlCommentContentSpacing = [] | [("always" | "never")] | [
1437
+ ("always" | "never"),
1438
+ {
1439
+ exceptions?: string[];
1440
+ }
1441
+ ];
1442
+ type VueHtmlCommentIndent = [] | [(number | "tab")];
1443
+ type VueHtmlIndent = [] | [(number | "tab")] | [
1444
+ (number | "tab"),
1445
+ {
1446
+ attribute?: number;
1447
+ baseIndent?: number;
1448
+ closeBracket?: (number | {
1449
+ startTag?: number;
1450
+ endTag?: number;
1451
+ selfClosingTag?: number;
1452
+ });
1453
+ switchCase?: number;
1454
+ alignAttributesVertically?: boolean;
1455
+ ignores?: (string & {
1456
+ [k: string]: unknown | undefined;
1457
+ } & {
1458
+ [k: string]: unknown | undefined;
1459
+ })[];
1460
+ }
1461
+ ];
1462
+ type VueHtmlQuotes = [] | [("double" | "single")] | [
1463
+ ("double" | "single"),
1464
+ {
1465
+ avoidEscape?: boolean;
1466
+ }
1467
+ ];
1468
+ type VueHtmlSelfClosing = [] | [
1469
+ {
1470
+ html?: {
1471
+ normal?: _VueHtmlSelfClosingOptionValue;
1472
+ void?: _VueHtmlSelfClosingOptionValue;
1473
+ component?: _VueHtmlSelfClosingOptionValue;
1474
+ };
1475
+ svg?: _VueHtmlSelfClosingOptionValue;
1476
+ math?: _VueHtmlSelfClosingOptionValue;
1477
+ }
1478
+ ];
1479
+ type _VueHtmlSelfClosingOptionValue = ("always" | "never" | "any");
1480
+ type VueKeySpacing = [] | [
1481
+ ({
1482
+ align?: (("colon" | "value") | {
1483
+ mode?: ("strict" | "minimum");
1484
+ on?: ("colon" | "value");
1485
+ beforeColon?: boolean;
1486
+ afterColon?: boolean;
1487
+ });
1488
+ mode?: ("strict" | "minimum");
1489
+ beforeColon?: boolean;
1490
+ afterColon?: boolean;
1491
+ } | {
1492
+ singleLine?: {
1493
+ mode?: ("strict" | "minimum");
1494
+ beforeColon?: boolean;
1495
+ afterColon?: boolean;
1496
+ };
1497
+ multiLine?: {
1498
+ align?: (("colon" | "value") | {
1499
+ mode?: ("strict" | "minimum");
1500
+ on?: ("colon" | "value");
1501
+ beforeColon?: boolean;
1502
+ afterColon?: boolean;
1503
+ });
1504
+ mode?: ("strict" | "minimum");
1505
+ beforeColon?: boolean;
1506
+ afterColon?: boolean;
1507
+ };
1508
+ } | {
1509
+ singleLine?: {
1510
+ mode?: ("strict" | "minimum");
1511
+ beforeColon?: boolean;
1512
+ afterColon?: boolean;
1513
+ };
1514
+ multiLine?: {
1515
+ mode?: ("strict" | "minimum");
1516
+ beforeColon?: boolean;
1517
+ afterColon?: boolean;
1518
+ };
1519
+ align?: {
1520
+ mode?: ("strict" | "minimum");
1521
+ on?: ("colon" | "value");
1522
+ beforeColon?: boolean;
1523
+ afterColon?: boolean;
1524
+ };
1525
+ })
1526
+ ];
1527
+ type VueKeywordSpacing = [] | [
1528
+ {
1529
+ before?: boolean;
1530
+ after?: boolean;
1531
+ overrides?: {
1532
+ abstract?: {
1533
+ before?: boolean;
1534
+ after?: boolean;
1535
+ };
1536
+ as?: {
1537
+ before?: boolean;
1538
+ after?: boolean;
1539
+ };
1540
+ async?: {
1541
+ before?: boolean;
1542
+ after?: boolean;
1543
+ };
1544
+ await?: {
1545
+ before?: boolean;
1546
+ after?: boolean;
1547
+ };
1548
+ boolean?: {
1549
+ before?: boolean;
1550
+ after?: boolean;
1551
+ };
1552
+ break?: {
1553
+ before?: boolean;
1554
+ after?: boolean;
1555
+ };
1556
+ byte?: {
1557
+ before?: boolean;
1558
+ after?: boolean;
1559
+ };
1560
+ case?: {
1561
+ before?: boolean;
1562
+ after?: boolean;
1563
+ };
1564
+ catch?: {
1565
+ before?: boolean;
1566
+ after?: boolean;
1567
+ };
1568
+ char?: {
1569
+ before?: boolean;
1570
+ after?: boolean;
1571
+ };
1572
+ class?: {
1573
+ before?: boolean;
1574
+ after?: boolean;
1575
+ };
1576
+ const?: {
1577
+ before?: boolean;
1578
+ after?: boolean;
1579
+ };
1580
+ continue?: {
1581
+ before?: boolean;
1582
+ after?: boolean;
1583
+ };
1584
+ debugger?: {
1585
+ before?: boolean;
1586
+ after?: boolean;
1587
+ };
1588
+ default?: {
1589
+ before?: boolean;
1590
+ after?: boolean;
1591
+ };
1592
+ delete?: {
1593
+ before?: boolean;
1594
+ after?: boolean;
1595
+ };
1596
+ do?: {
1597
+ before?: boolean;
1598
+ after?: boolean;
1599
+ };
1600
+ double?: {
1601
+ before?: boolean;
1602
+ after?: boolean;
1603
+ };
1604
+ else?: {
1605
+ before?: boolean;
1606
+ after?: boolean;
1607
+ };
1608
+ enum?: {
1609
+ before?: boolean;
1610
+ after?: boolean;
1611
+ };
1612
+ export?: {
1613
+ before?: boolean;
1614
+ after?: boolean;
1615
+ };
1616
+ extends?: {
1617
+ before?: boolean;
1618
+ after?: boolean;
1619
+ };
1620
+ false?: {
1621
+ before?: boolean;
1622
+ after?: boolean;
1623
+ };
1624
+ final?: {
1625
+ before?: boolean;
1626
+ after?: boolean;
1627
+ };
1628
+ finally?: {
1629
+ before?: boolean;
1630
+ after?: boolean;
1631
+ };
1632
+ float?: {
1633
+ before?: boolean;
1634
+ after?: boolean;
1635
+ };
1636
+ for?: {
1637
+ before?: boolean;
1638
+ after?: boolean;
1639
+ };
1640
+ from?: {
1641
+ before?: boolean;
1642
+ after?: boolean;
1643
+ };
1644
+ function?: {
1645
+ before?: boolean;
1646
+ after?: boolean;
1647
+ };
1648
+ get?: {
1649
+ before?: boolean;
1650
+ after?: boolean;
1651
+ };
1652
+ goto?: {
1653
+ before?: boolean;
1654
+ after?: boolean;
1655
+ };
1656
+ if?: {
1657
+ before?: boolean;
1658
+ after?: boolean;
1659
+ };
1660
+ implements?: {
1661
+ before?: boolean;
1662
+ after?: boolean;
1663
+ };
1664
+ import?: {
1665
+ before?: boolean;
1666
+ after?: boolean;
1667
+ };
1668
+ in?: {
1669
+ before?: boolean;
1670
+ after?: boolean;
1671
+ };
1672
+ instanceof?: {
1673
+ before?: boolean;
1674
+ after?: boolean;
1675
+ };
1676
+ int?: {
1677
+ before?: boolean;
1678
+ after?: boolean;
1679
+ };
1680
+ interface?: {
1681
+ before?: boolean;
1682
+ after?: boolean;
1683
+ };
1684
+ let?: {
1685
+ before?: boolean;
1686
+ after?: boolean;
1687
+ };
1688
+ long?: {
1689
+ before?: boolean;
1690
+ after?: boolean;
1691
+ };
1692
+ native?: {
1693
+ before?: boolean;
1694
+ after?: boolean;
1695
+ };
1696
+ new?: {
1697
+ before?: boolean;
1698
+ after?: boolean;
1699
+ };
1700
+ null?: {
1701
+ before?: boolean;
1702
+ after?: boolean;
1703
+ };
1704
+ of?: {
1705
+ before?: boolean;
1706
+ after?: boolean;
1707
+ };
1708
+ package?: {
1709
+ before?: boolean;
1710
+ after?: boolean;
1711
+ };
1712
+ private?: {
1713
+ before?: boolean;
1714
+ after?: boolean;
1715
+ };
1716
+ protected?: {
1717
+ before?: boolean;
1718
+ after?: boolean;
1719
+ };
1720
+ public?: {
1721
+ before?: boolean;
1722
+ after?: boolean;
1723
+ };
1724
+ return?: {
1725
+ before?: boolean;
1726
+ after?: boolean;
1727
+ };
1728
+ set?: {
1729
+ before?: boolean;
1730
+ after?: boolean;
1731
+ };
1732
+ short?: {
1733
+ before?: boolean;
1734
+ after?: boolean;
1735
+ };
1736
+ static?: {
1737
+ before?: boolean;
1738
+ after?: boolean;
1739
+ };
1740
+ super?: {
1741
+ before?: boolean;
1742
+ after?: boolean;
1743
+ };
1744
+ switch?: {
1745
+ before?: boolean;
1746
+ after?: boolean;
1747
+ };
1748
+ synchronized?: {
1749
+ before?: boolean;
1750
+ after?: boolean;
1751
+ };
1752
+ this?: {
1753
+ before?: boolean;
1754
+ after?: boolean;
1755
+ };
1756
+ throw?: {
1757
+ before?: boolean;
1758
+ after?: boolean;
1759
+ };
1760
+ throws?: {
1761
+ before?: boolean;
1762
+ after?: boolean;
1763
+ };
1764
+ transient?: {
1765
+ before?: boolean;
1766
+ after?: boolean;
1767
+ };
1768
+ true?: {
1769
+ before?: boolean;
1770
+ after?: boolean;
1771
+ };
1772
+ try?: {
1773
+ before?: boolean;
1774
+ after?: boolean;
1775
+ };
1776
+ typeof?: {
1777
+ before?: boolean;
1778
+ after?: boolean;
1779
+ };
1780
+ var?: {
1781
+ before?: boolean;
1782
+ after?: boolean;
1783
+ };
1784
+ void?: {
1785
+ before?: boolean;
1786
+ after?: boolean;
1787
+ };
1788
+ volatile?: {
1789
+ before?: boolean;
1790
+ after?: boolean;
1791
+ };
1792
+ while?: {
1793
+ before?: boolean;
1794
+ after?: boolean;
1795
+ };
1796
+ with?: {
1797
+ before?: boolean;
1798
+ after?: boolean;
1799
+ };
1800
+ yield?: {
1801
+ before?: boolean;
1802
+ after?: boolean;
1803
+ };
1804
+ };
1805
+ }
1806
+ ];
1807
+ type VueMatchComponentFileName = [] | [
1808
+ {
1809
+ extensions?: string[];
1810
+ shouldMatchCase?: boolean;
1811
+ }
1812
+ ];
1813
+ type VueMaxAttributesPerLine = [] | [
1814
+ {
1815
+ singleline?: (number | {
1816
+ max?: number;
1817
+ });
1818
+ multiline?: (number | {
1819
+ max?: number;
1820
+ });
1821
+ }
1822
+ ];
1823
+ type VueMaxLen = [] | [
1824
+ ({
1825
+ code?: number;
1826
+ template?: number;
1827
+ comments?: number;
1828
+ tabWidth?: number;
1829
+ ignorePattern?: string;
1830
+ ignoreComments?: boolean;
1831
+ ignoreTrailingComments?: boolean;
1832
+ ignoreUrls?: boolean;
1833
+ ignoreStrings?: boolean;
1834
+ ignoreTemplateLiterals?: boolean;
1835
+ ignoreRegExpLiterals?: boolean;
1836
+ ignoreHTMLAttributeValues?: boolean;
1837
+ ignoreHTMLTextContents?: boolean;
1838
+ } | number)
1839
+ ] | [
1840
+ ({
1841
+ code?: number;
1842
+ template?: number;
1843
+ comments?: number;
1844
+ tabWidth?: number;
1845
+ ignorePattern?: string;
1846
+ ignoreComments?: boolean;
1847
+ ignoreTrailingComments?: boolean;
1848
+ ignoreUrls?: boolean;
1849
+ ignoreStrings?: boolean;
1850
+ ignoreTemplateLiterals?: boolean;
1851
+ ignoreRegExpLiterals?: boolean;
1852
+ ignoreHTMLAttributeValues?: boolean;
1853
+ ignoreHTMLTextContents?: boolean;
1854
+ } | number),
1855
+ ({
1856
+ code?: number;
1857
+ template?: number;
1858
+ comments?: number;
1859
+ tabWidth?: number;
1860
+ ignorePattern?: string;
1861
+ ignoreComments?: boolean;
1862
+ ignoreTrailingComments?: boolean;
1863
+ ignoreUrls?: boolean;
1864
+ ignoreStrings?: boolean;
1865
+ ignoreTemplateLiterals?: boolean;
1866
+ ignoreRegExpLiterals?: boolean;
1867
+ ignoreHTMLAttributeValues?: boolean;
1868
+ ignoreHTMLTextContents?: boolean;
1869
+ } | number)
1870
+ ] | [
1871
+ ({
1872
+ code?: number;
1873
+ template?: number;
1874
+ comments?: number;
1875
+ tabWidth?: number;
1876
+ ignorePattern?: string;
1877
+ ignoreComments?: boolean;
1878
+ ignoreTrailingComments?: boolean;
1879
+ ignoreUrls?: boolean;
1880
+ ignoreStrings?: boolean;
1881
+ ignoreTemplateLiterals?: boolean;
1882
+ ignoreRegExpLiterals?: boolean;
1883
+ ignoreHTMLAttributeValues?: boolean;
1884
+ ignoreHTMLTextContents?: boolean;
1885
+ } | number),
1886
+ ({
1887
+ code?: number;
1888
+ template?: number;
1889
+ comments?: number;
1890
+ tabWidth?: number;
1891
+ ignorePattern?: string;
1892
+ ignoreComments?: boolean;
1893
+ ignoreTrailingComments?: boolean;
1894
+ ignoreUrls?: boolean;
1895
+ ignoreStrings?: boolean;
1896
+ ignoreTemplateLiterals?: boolean;
1897
+ ignoreRegExpLiterals?: boolean;
1898
+ ignoreHTMLAttributeValues?: boolean;
1899
+ ignoreHTMLTextContents?: boolean;
1900
+ } | number),
1901
+ {
1902
+ code?: number;
1903
+ template?: number;
1904
+ comments?: number;
1905
+ tabWidth?: number;
1906
+ ignorePattern?: string;
1907
+ ignoreComments?: boolean;
1908
+ ignoreTrailingComments?: boolean;
1909
+ ignoreUrls?: boolean;
1910
+ ignoreStrings?: boolean;
1911
+ ignoreTemplateLiterals?: boolean;
1912
+ ignoreRegExpLiterals?: boolean;
1913
+ ignoreHTMLAttributeValues?: boolean;
1914
+ ignoreHTMLTextContents?: boolean;
1915
+ }
1916
+ ];
1917
+ type VueMaxLinesPerBlock = [] | [
1918
+ {
1919
+ style?: number;
1920
+ template?: number;
1921
+ script?: number;
1922
+ skipBlankLines?: boolean;
1923
+ }
1924
+ ];
1925
+ type VueMultiWordComponentNames = [] | [
1926
+ {
1927
+ ignores?: string[];
1928
+ }
1929
+ ];
1930
+ type VueMultilineHtmlElementContentNewline = [] | [
1931
+ {
1932
+ ignoreWhenEmpty?: boolean;
1933
+ ignores?: string[];
1934
+ allowEmptyLines?: boolean;
1935
+ }
1936
+ ];
1937
+ type VueMultilineTernary = [] | [("always" | "always-multiline" | "never")];
1938
+ type VueMustacheInterpolationSpacing = [] | [("always" | "never")];
1939
+ type VueNewLineBetweenMultiLineProperty = [] | [
1940
+ {
1941
+ minLineOfMultilineProperty?: number;
1942
+ }
1943
+ ];
1944
+ type VueNextTickStyle = [] | [("promise" | "callback")];
1945
+ type VueNoBareStringsInTemplate = [] | [
1946
+ {
1947
+ allowlist?: string[];
1948
+ attributes?: {
1949
+ [k: string]: string[];
1950
+ };
1951
+ directives?: string[];
1952
+ }
1953
+ ];
1954
+ type VueNoBooleanDefault = [] | [("default-false" | "no-default")];
1955
+ type VueNoChildContent = [] | [
1956
+ {
1957
+ additionalDirectives: [string, ...(string)[]];
1958
+ }
1959
+ ];
1960
+ type VueNoConsole = [] | [
1961
+ {
1962
+ allow?: [string, ...(string)[]];
1963
+ }
1964
+ ];
1965
+ type VueNoConstantCondition = [] | [
1966
+ {
1967
+ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false);
1968
+ }
1969
+ ];
1970
+ type VueNoDeprecatedModelDefinition = [] | [
1971
+ {
1972
+ allowVue3Compat?: boolean;
1973
+ }
1974
+ ];
1975
+ type VueNoDeprecatedRouterLinkTagProp = [] | [
1976
+ {
1977
+ components?: [string, ...(string)[]];
1978
+ }
1979
+ ];
1980
+ type VueNoDeprecatedSlotAttribute = [] | [
1981
+ {
1982
+ ignore?: string[];
1983
+ }
1984
+ ];
1985
+ type VueNoDupeKeys = [] | [
1986
+ {
1987
+ groups?: unknown[];
1988
+ }
1989
+ ];
1990
+ type VueNoDuplicateAttributes = [] | [
1991
+ {
1992
+ allowCoexistClass?: boolean;
1993
+ allowCoexistStyle?: boolean;
1994
+ }
1995
+ ];
1996
+ type VueNoEmptyPattern = [] | [
1997
+ {
1998
+ allowObjectPatternsAsParameters?: boolean;
1999
+ }
2000
+ ];
2001
+ type VueNoExtraParens = ([] | ["functions"] | [] | ["all"] | [
2002
+ "all",
2003
+ {
2004
+ conditionalAssign?: boolean;
2005
+ ternaryOperandBinaryExpressions?: boolean;
2006
+ nestedBinaryExpressions?: boolean;
2007
+ returnAssign?: boolean;
2008
+ ignoreJSX?: ("none" | "all" | "single-line" | "multi-line");
2009
+ enforceForArrowConditionals?: boolean;
2010
+ enforceForSequenceExpressions?: boolean;
2011
+ enforceForNewInMemberExpressions?: boolean;
2012
+ enforceForFunctionPrototypeMethods?: boolean;
2013
+ allowParensAfterCommentPattern?: string;
2014
+ }
2015
+ ]);
2016
+ type VueNoIrregularWhitespace = [] | [
2017
+ {
2018
+ skipComments?: boolean;
2019
+ skipStrings?: boolean;
2020
+ skipTemplates?: boolean;
2021
+ skipRegExps?: boolean;
2022
+ skipHTMLAttributeValues?: boolean;
2023
+ skipHTMLTextContents?: boolean;
2024
+ }
2025
+ ];
2026
+ type VueNoLoneTemplate = [] | [
2027
+ {
2028
+ ignoreAccessible?: boolean;
2029
+ }
2030
+ ];
2031
+ type VueNoMultiSpaces = [] | [
2032
+ {
2033
+ ignoreProperties?: boolean;
2034
+ }
2035
+ ];
2036
+ type VueNoMutatingProps = [] | [
2037
+ {
2038
+ shallowOnly?: boolean;
2039
+ }
2040
+ ];
2041
+ type VueNoParsingError = [] | [
2042
+ {
2043
+ "abrupt-closing-of-empty-comment"?: boolean;
2044
+ "absence-of-digits-in-numeric-character-reference"?: boolean;
2045
+ "cdata-in-html-content"?: boolean;
2046
+ "character-reference-outside-unicode-range"?: boolean;
2047
+ "control-character-in-input-stream"?: boolean;
2048
+ "control-character-reference"?: boolean;
2049
+ "eof-before-tag-name"?: boolean;
2050
+ "eof-in-cdata"?: boolean;
2051
+ "eof-in-comment"?: boolean;
2052
+ "eof-in-tag"?: boolean;
2053
+ "incorrectly-closed-comment"?: boolean;
2054
+ "incorrectly-opened-comment"?: boolean;
2055
+ "invalid-first-character-of-tag-name"?: boolean;
2056
+ "missing-attribute-value"?: boolean;
2057
+ "missing-end-tag-name"?: boolean;
2058
+ "missing-semicolon-after-character-reference"?: boolean;
2059
+ "missing-whitespace-between-attributes"?: boolean;
2060
+ "nested-comment"?: boolean;
2061
+ "noncharacter-character-reference"?: boolean;
2062
+ "noncharacter-in-input-stream"?: boolean;
2063
+ "null-character-reference"?: boolean;
2064
+ "surrogate-character-reference"?: boolean;
2065
+ "surrogate-in-input-stream"?: boolean;
2066
+ "unexpected-character-in-attribute-name"?: boolean;
2067
+ "unexpected-character-in-unquoted-attribute-value"?: boolean;
2068
+ "unexpected-equals-sign-before-attribute-name"?: boolean;
2069
+ "unexpected-null-character"?: boolean;
2070
+ "unexpected-question-mark-instead-of-tag-name"?: boolean;
2071
+ "unexpected-solidus-in-tag"?: boolean;
2072
+ "unknown-named-character-reference"?: boolean;
2073
+ "end-tag-with-attributes"?: boolean;
2074
+ "duplicate-attribute"?: boolean;
2075
+ "end-tag-with-trailing-solidus"?: boolean;
2076
+ "non-void-html-element-start-tag-with-trailing-solidus"?: boolean;
2077
+ "x-invalid-end-tag"?: boolean;
2078
+ "x-invalid-namespace"?: boolean;
2079
+ }
2080
+ ];
2081
+ type VueNoPotentialComponentOptionTypo = [] | [
2082
+ {
2083
+ presets?: ("all" | "vue" | "vue-router" | "nuxt")[];
2084
+ custom?: string[];
2085
+ threshold?: number;
2086
+ }
2087
+ ];
2088
+ type VueNoRequiredPropWithDefault = [] | [
2089
+ {
2090
+ autofix?: boolean;
2091
+ }
2092
+ ];
2093
+ type VueNoReservedComponentNames = [] | [
2094
+ {
2095
+ disallowVueBuiltInComponents?: boolean;
2096
+ disallowVue3BuiltInComponents?: boolean;
2097
+ }
2098
+ ];
2099
+ type VueNoReservedKeys = [] | [
2100
+ {
2101
+ reserved?: unknown[];
2102
+ groups?: unknown[];
2103
+ }
2104
+ ];
2105
+ type VueNoReservedProps = [] | [
2106
+ {
2107
+ vueVersion?: (2 | 3);
2108
+ }
2109
+ ];
2110
+ type VueNoRestrictedBlock = (string | {
2111
+ element: string;
2112
+ message?: string;
2113
+ })[];
2114
+ type VueNoRestrictedCallAfterAwait = {
2115
+ module: string;
2116
+ path?: (string | string[]);
2117
+ message?: string;
2118
+ }[];
2119
+ type VueNoRestrictedClass = string[];
2120
+ type VueNoRestrictedComponentNames = (string | {
2121
+ name: string;
2122
+ message?: string;
2123
+ suggest?: string;
2124
+ })[];
2125
+ type VueNoRestrictedComponentOptions = (string | string[] | {
2126
+ name: (string | string[]);
2127
+ message?: string;
2128
+ })[];
2129
+ type VueNoRestrictedCustomEvent = (string | {
2130
+ event: string;
2131
+ message?: string;
2132
+ suggest?: string;
2133
+ })[];
2134
+ type VueNoRestrictedHtmlElements = (string | {
2135
+ element: string;
2136
+ message?: string;
2137
+ })[];
2138
+ type VueNoRestrictedProps = (string | {
2139
+ name: string;
2140
+ message?: string;
2141
+ suggest?: string;
2142
+ })[];
2143
+ type VueNoRestrictedStaticAttribute = (string | {
2144
+ key: string;
2145
+ value?: (string | true);
2146
+ element?: string;
2147
+ message?: string;
2148
+ })[];
2149
+ type VueNoRestrictedSyntax = (string | {
2150
+ selector: string;
2151
+ message?: string;
2152
+ })[];
2153
+ type VueNoRestrictedVBind = ((string | null) | {
2154
+ argument: (string | null);
2155
+ modifiers?: ("prop" | "camel" | "sync" | "attr")[];
2156
+ element?: string;
2157
+ message?: string;
2158
+ })[];
2159
+ type VueNoRestrictedVOn = ((string | null) | {
2160
+ argument: (string | null);
2161
+ element?: string;
2162
+ message?: string;
2163
+ modifiers?: [("prevent" | "stop" | "capture" | "self" | "once" | "passive"), ...(("prevent" | "stop" | "capture" | "self" | "once" | "passive"))[]];
2164
+ })[];
2165
+ type VueNoStaticInlineStyles = [] | [
2166
+ {
2167
+ allowBinding?: boolean;
2168
+ }
2169
+ ];
2170
+ type VueNoTemplateShadow = [] | [
2171
+ {
2172
+ allow?: string[];
2173
+ }
2174
+ ];
2175
+ type VueNoTemplateTargetBlank = [] | [
2176
+ {
2177
+ allowReferrer?: boolean;
2178
+ enforceDynamicLinks?: ("always" | "never");
2179
+ }
2180
+ ];
2181
+ type VueNoUndefComponents = [] | [
2182
+ {
2183
+ ignorePatterns?: unknown[];
2184
+ }
2185
+ ];
2186
+ type VueNoUndefProperties = [] | [
2187
+ {
2188
+ ignores?: string[];
2189
+ }
2190
+ ];
2191
+ type VueNoUnsupportedFeatures = [] | [
2192
+ {
2193
+ version?: string;
2194
+ ignores?: ("slot-scope-attribute" | "dynamic-directive-arguments" | "v-slot" | "script-setup" | "style-css-vars-injection" | "v-model-argument" | "v-model-custom-modifiers" | "v-is" | "is-attribute-with-vue-prefix" | "v-memo" | "v-bind-prop-modifier-shorthand" | "v-bind-attr-modifier" | "define-options" | "define-slots" | "define-model" | "v-bind-same-name-shorthand")[];
2195
+ }
2196
+ ];
2197
+ type VueNoUnusedComponents = [] | [
2198
+ {
2199
+ ignoreWhenBindingPresent?: boolean;
2200
+ }
2201
+ ];
2202
+ type VueNoUnusedProperties = [] | [
2203
+ {
2204
+ groups?: ("props" | "data" | "asyncData" | "computed" | "methods" | "setup")[];
2205
+ deepData?: boolean;
2206
+ ignorePublicMembers?: boolean;
2207
+ unreferencedOptions?: ("unknownMemberAsUnreferenced" | "returnAsUnreferenced")[];
2208
+ }
2209
+ ];
2210
+ type VueNoUnusedVars = [] | [
2211
+ {
2212
+ ignorePattern?: string;
2213
+ }
2214
+ ];
2215
+ type VueNoUseVIfWithVFor = [] | [
2216
+ {
2217
+ allowUsingIterationVar?: boolean;
2218
+ }
2219
+ ];
2220
+ type VueNoUselessMustaches = [] | [
2221
+ {
2222
+ ignoreIncludesComment?: boolean;
2223
+ ignoreStringEscape?: boolean;
2224
+ }
2225
+ ];
2226
+ type VueNoUselessVBind = [] | [
2227
+ {
2228
+ ignoreIncludesComment?: boolean;
2229
+ ignoreStringEscape?: boolean;
2230
+ }
2231
+ ];
2232
+ type VueNoVTextVHtmlOnComponent = [] | [
2233
+ {
2234
+ allow?: string[];
2235
+ }
2236
+ ];
2237
+ type VueObjectCurlyNewline = [] | [
2238
+ ((("always" | "never") | {
2239
+ multiline?: boolean;
2240
+ minProperties?: number;
2241
+ consistent?: boolean;
2242
+ }) | {
2243
+ ObjectExpression?: (("always" | "never") | {
2244
+ multiline?: boolean;
2245
+ minProperties?: number;
2246
+ consistent?: boolean;
2247
+ });
2248
+ ObjectPattern?: (("always" | "never") | {
2249
+ multiline?: boolean;
2250
+ minProperties?: number;
2251
+ consistent?: boolean;
2252
+ });
2253
+ ImportDeclaration?: (("always" | "never") | {
2254
+ multiline?: boolean;
2255
+ minProperties?: number;
2256
+ consistent?: boolean;
2257
+ });
2258
+ ExportDeclaration?: (("always" | "never") | {
2259
+ multiline?: boolean;
2260
+ minProperties?: number;
2261
+ consistent?: boolean;
2262
+ });
2263
+ })
2264
+ ];
2265
+ type VueObjectCurlySpacing = [] | [("always" | "never")] | [
2266
+ ("always" | "never"),
2267
+ {
2268
+ arraysInObjects?: boolean;
2269
+ objectsInObjects?: boolean;
2270
+ }
2271
+ ];
2272
+ type VueObjectPropertyNewline = [] | [
2273
+ {
2274
+ allowAllPropertiesOnSameLine?: boolean;
2275
+ allowMultiplePropertiesPerLine?: boolean;
2276
+ }
2277
+ ];
2278
+ type VueObjectShorthand = ([] | [("always" | "methods" | "properties" | "never" | "consistent" | "consistent-as-needed")] | [] | [("always" | "methods" | "properties")] | [
2279
+ ("always" | "methods" | "properties"),
2280
+ {
2281
+ avoidQuotes?: boolean;
2282
+ }
2283
+ ] | [] | [("always" | "methods")] | [
2284
+ ("always" | "methods"),
2285
+ {
2286
+ ignoreConstructors?: boolean;
2287
+ methodsIgnorePattern?: string;
2288
+ avoidQuotes?: boolean;
2289
+ avoidExplicitReturnArrows?: boolean;
2290
+ }
2291
+ ]);
2292
+ type VueOperatorLinebreak = [] | [("after" | "before" | "none" | null)] | [
2293
+ ("after" | "before" | "none" | null),
2294
+ {
2295
+ overrides?: {
2296
+ [k: string]: ("after" | "before" | "none" | "ignore") | undefined;
2297
+ };
2298
+ }
2299
+ ];
2300
+ type VueOrderInComponents = [] | [
2301
+ {
2302
+ order?: unknown[];
2303
+ }
2304
+ ];
2305
+ type VuePaddingLineBetweenBlocks = [] | [("never" | "always")];
2306
+ type VuePaddingLineBetweenTags = [] | [
2307
+ {
2308
+ blankLine: ("always" | "never" | "consistent");
2309
+ prev: string;
2310
+ next: string;
2311
+ }[]
2312
+ ];
2313
+ type VuePaddingLinesInComponentDefinition = [] | [
2314
+ (("always" | "never") | {
2315
+ betweenOptions?: ("never" | "always" | "ignore");
2316
+ withinOption?: (("never" | "always" | "ignore") | {
2317
+ [k: string]: (("never" | "always" | "ignore") | {
2318
+ betweenItems?: ("never" | "always" | "ignore");
2319
+ withinEach?: ("never" | "always" | "ignore");
2320
+ });
2321
+ });
2322
+ groupSingleLineProperties?: boolean;
2323
+ })
2324
+ ];
2325
+ type VuePreferTrueAttributeShorthand = [] | [("always" | "never")];
2326
+ type VuePropNameCasing = [] | [("camelCase" | "snake_case")];
2327
+ type VueQuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [
2328
+ ("always" | "as-needed" | "consistent" | "consistent-as-needed"),
2329
+ {
2330
+ keywords?: boolean;
2331
+ unnecessary?: boolean;
2332
+ numbers?: boolean;
2333
+ }
2334
+ ]);
2335
+ type VueRequireDirectExport = [] | [
2336
+ {
2337
+ disallowFunctionalComponentFunction?: boolean;
2338
+ }
2339
+ ];
2340
+ type VueRequireExplicitEmits = [] | [
2341
+ {
2342
+ allowProps?: boolean;
2343
+ }
2344
+ ];
2345
+ type VueRequireMacroVariableName = [] | [
2346
+ {
2347
+ defineProps?: string;
2348
+ defineEmits?: string;
2349
+ defineSlots?: string;
2350
+ useSlots?: string;
2351
+ useAttrs?: string;
2352
+ }
2353
+ ];
2354
+ type VueRequirePropComment = [] | [
2355
+ {
2356
+ type?: ("JSDoc" | "line" | "block" | "any");
2357
+ }
2358
+ ];
2359
+ type VueReturnInComputedProperty = [] | [
2360
+ {
2361
+ treatUndefinedAsUnspecified?: boolean;
2362
+ }
2363
+ ];
2364
+ type VueScriptIndent = [] | [(number | "tab")] | [
2365
+ (number | "tab"),
2366
+ {
2367
+ baseIndent?: number;
2368
+ switchCase?: number;
2369
+ ignores?: (string & {
2370
+ [k: string]: unknown | undefined;
2371
+ } & {
2372
+ [k: string]: unknown | undefined;
2373
+ })[];
2374
+ }
2375
+ ];
2376
+ type VueSinglelineHtmlElementContentNewline = [] | [
2377
+ {
2378
+ ignoreWhenNoAttributes?: boolean;
2379
+ ignoreWhenEmpty?: boolean;
2380
+ ignores?: string[];
2381
+ externalIgnores?: string[];
2382
+ }
2383
+ ];
2384
+ type VueSortKeys = [] | [("asc" | "desc")] | [
2385
+ ("asc" | "desc"),
2386
+ {
2387
+ caseSensitive?: boolean;
2388
+ ignoreChildrenOf?: unknown[];
2389
+ ignoreGrandchildrenOf?: unknown[];
2390
+ minKeys?: number;
2391
+ natural?: boolean;
2392
+ runOutsideVue?: boolean;
2393
+ }
2394
+ ];
2395
+ type VueSpaceInParens = [] | [("always" | "never")] | [
2396
+ ("always" | "never"),
2397
+ {
2398
+ exceptions?: ("{}" | "[]" | "()" | "empty")[];
2399
+ }
2400
+ ];
2401
+ type VueSpaceInfixOps = [] | [
2402
+ {
2403
+ int32Hint?: boolean;
2404
+ }
2405
+ ];
2406
+ type VueSpaceUnaryOps = [] | [
2407
+ {
2408
+ words?: boolean;
2409
+ nonwords?: boolean;
2410
+ overrides?: {
2411
+ [k: string]: boolean | undefined;
2412
+ };
2413
+ }
2414
+ ];
2415
+ type VueTemplateCurlySpacing = [] | [("always" | "never")];
2416
+ type VueThisInTemplate = [] | [("always" | "never")];
2417
+ type VueVBindStyle = [] | [("shorthand" | "longform")] | [
2418
+ ("shorthand" | "longform"),
2419
+ {
2420
+ sameNameShorthand?: ("always" | "never" | "ignore");
2421
+ }
2422
+ ];
2423
+ type VueVForDelimiterStyle = [] | [("in" | "of")];
2424
+ type VueVOnEventHyphenation = [] | [("always" | "never")] | [
2425
+ ("always" | "never"),
2426
+ {
2427
+ autofix?: boolean;
2428
+ ignore?: (string & {
2429
+ [k: string]: unknown | undefined;
2430
+ } & {
2431
+ [k: string]: unknown | undefined;
2432
+ })[];
2433
+ }
2434
+ ];
2435
+ type VueVOnFunctionCall = [] | [("always" | "never")] | [
2436
+ ("always" | "never"),
2437
+ {
2438
+ ignoreIncludesComment?: boolean;
2439
+ }
2440
+ ];
2441
+ type VueVOnHandlerStyle = [] | [(("inline" | "inline-function") | ["method", ("inline" | "inline-function")])] | [
2442
+ (("inline" | "inline-function") | ["method", ("inline" | "inline-function")]),
2443
+ {
2444
+ ignoreIncludesComment?: boolean;
2445
+ }
2446
+ ];
2447
+ type VueVOnStyle = [] | [("shorthand" | "longform")];
2448
+ type VueVSlotStyle = [] | [
2449
+ (("shorthand" | "longform") | {
2450
+ atComponent?: ("shorthand" | "longform" | "v-slot");
2451
+ default?: ("shorthand" | "longform" | "v-slot");
2452
+ named?: ("shorthand" | "longform");
2453
+ })
2454
+ ];
2455
+ type VueValidVOn = [] | [
2456
+ {
2457
+ modifiers?: unknown[];
2458
+ }
2459
+ ];
2460
+ type VueValidVSlot = [] | [
2461
+ {
2462
+ allowModifiers?: boolean;
2463
+ }
2464
+ ];
2465
+ export {};