@w5s/eslint-config 2.4.4 → 3.0.0

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 (91) hide show
  1. package/dist/index.cjs +4199 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +8054 -0
  4. package/dist/index.d.ts +8054 -3
  5. package/dist/index.js +4171 -22
  6. package/dist/index.js.map +1 -0
  7. package/package.json +26 -17
  8. package/src/config/createRules.ts +5 -0
  9. package/src/config/es.ts +58 -0
  10. package/src/config/ignores.ts +84 -0
  11. package/src/config/imports.ts +32 -0
  12. package/src/config/jsdoc.ts +53 -0
  13. package/src/config/jsonc.ts +237 -0
  14. package/src/config/node.ts +42 -0
  15. package/src/config/stylistic.ts +50 -0
  16. package/src/config/test.ts +44 -0
  17. package/src/config/ts.ts +97 -0
  18. package/src/config/unicorn.ts +68 -0
  19. package/src/config/yml.ts +70 -0
  20. package/src/config.ts +11 -0
  21. package/src/defineConfig.ts +62 -0
  22. package/src/index.ts +3 -31
  23. package/src/type/Config.ts +5 -0
  24. package/src/type/PluginOptionsBase.ts +14 -0
  25. package/src/type/StylisticConfig.ts +39 -0
  26. package/src/type.ts +3 -0
  27. package/src/typegen/.keep +0 -0
  28. package/src/typegen/import.d.ts +501 -0
  29. package/src/typegen/jsdoc.d.ts +1155 -0
  30. package/src/typegen/jsonc.d.ts +500 -0
  31. package/src/typegen/node.d.ts +529 -0
  32. package/src/typegen/style.d.ts +1637 -0
  33. package/src/typegen/test.d.ts +430 -0
  34. package/src/typegen/ts.d.ts +1872 -0
  35. package/src/typegen/unicorn.d.ts +913 -0
  36. package/src/typegen/yml.d.ts +363 -0
  37. package/dist/es.d.ts +0 -3
  38. package/dist/es.js +0 -10
  39. package/dist/jest.d.ts +0 -3
  40. package/dist/jest.js +0 -20
  41. package/dist/json.d.ts +0 -3
  42. package/dist/json.js +0 -14
  43. package/dist/rules/es/base.d.ts +0 -4
  44. package/dist/rules/es/base.js +0 -71
  45. package/dist/rules/es/import.d.ts +0 -3
  46. package/dist/rules/es/import.js +0 -74
  47. package/dist/rules/es/jsdoc.d.ts +0 -3
  48. package/dist/rules/es/jsdoc.js +0 -21
  49. package/dist/rules/es/node.d.ts +0 -3
  50. package/dist/rules/es/node.js +0 -20
  51. package/dist/rules/es/promise.d.ts +0 -3
  52. package/dist/rules/es/promise.js +0 -11
  53. package/dist/rules/es/unicorn.d.ts +0 -3
  54. package/dist/rules/es/unicorn.js +0 -72
  55. package/dist/rules/es.d.ts +0 -3
  56. package/dist/rules/es.js +0 -14
  57. package/dist/rules/ignore.d.ts +0 -3
  58. package/dist/rules/ignore.js +0 -54
  59. package/dist/rules/jest.d.ts +0 -3
  60. package/dist/rules/jest.js +0 -64
  61. package/dist/rules/jsonc.d.ts +0 -3
  62. package/dist/rules/jsonc.js +0 -183
  63. package/dist/rules/prettier.d.ts +0 -3
  64. package/dist/rules/prettier.js +0 -13
  65. package/dist/rules/typescript.d.ts +0 -3
  66. package/dist/rules/typescript.js +0 -249
  67. package/dist/rules/yml.d.ts +0 -3
  68. package/dist/rules/yml.js +0 -21
  69. package/dist/tsconfig.build.tsbuildinfo +0 -1
  70. package/dist/typescript.d.ts +0 -3
  71. package/dist/typescript.js +0 -21
  72. package/dist/yml.d.ts +0 -3
  73. package/dist/yml.js +0 -19
  74. package/src/es.ts +0 -12
  75. package/src/jest.ts +0 -18
  76. package/src/json.ts +0 -12
  77. package/src/rules/es/base.ts +0 -83
  78. package/src/rules/es/import.ts +0 -81
  79. package/src/rules/es/jsdoc.ts +0 -23
  80. package/src/rules/es/node.ts +0 -21
  81. package/src/rules/es/promise.ts +0 -12
  82. package/src/rules/es/unicorn.ts +0 -74
  83. package/src/rules/es.ts +0 -21
  84. package/src/rules/ignore.ts +0 -54
  85. package/src/rules/jest.ts +0 -68
  86. package/src/rules/jsonc.ts +0 -187
  87. package/src/rules/prettier.ts +0 -11
  88. package/src/rules/typescript.ts +0 -255
  89. package/src/rules/yml.ts +0 -22
  90. package/src/typescript.ts +0 -24
  91. package/src/yml.ts +0 -18
@@ -0,0 +1,1637 @@
1
+ /* eslint-disable unicorn/no-abusive-eslint-disable */
2
+ /* eslint-disable */
3
+ /* prettier-ignore */
4
+ import type { Linter } from 'eslint'
5
+
6
+ declare module 'eslint' {
7
+ namespace Linter {
8
+ interface RulesRecord extends RuleOptions {}
9
+ }
10
+ }
11
+
12
+ export interface RuleOptions {
13
+ /**
14
+ * Enforce linebreaks after opening and before closing array brackets
15
+ * @see https://eslint.style/rules/js/array-bracket-newline
16
+ */
17
+ 'style/array-bracket-newline'?: Linter.RuleEntry<StyleArrayBracketNewline>
18
+ /**
19
+ * Enforce consistent spacing inside array brackets
20
+ * @see https://eslint.style/rules/js/array-bracket-spacing
21
+ */
22
+ 'style/array-bracket-spacing'?: Linter.RuleEntry<StyleArrayBracketSpacing>
23
+ /**
24
+ * Enforce line breaks after each array element
25
+ * @see https://eslint.style/rules/js/array-element-newline
26
+ */
27
+ 'style/array-element-newline'?: Linter.RuleEntry<StyleArrayElementNewline>
28
+ /**
29
+ * Require parentheses around arrow function arguments
30
+ * @see https://eslint.style/rules/js/arrow-parens
31
+ */
32
+ 'style/arrow-parens'?: Linter.RuleEntry<StyleArrowParens>
33
+ /**
34
+ * Enforce consistent spacing before and after the arrow in arrow functions
35
+ * @see https://eslint.style/rules/js/arrow-spacing
36
+ */
37
+ 'style/arrow-spacing'?: Linter.RuleEntry<StyleArrowSpacing>
38
+ /**
39
+ * Disallow or enforce spaces inside of blocks after opening block and before closing block
40
+ * @see https://eslint.style/rules/ts/block-spacing
41
+ */
42
+ 'style/block-spacing'?: Linter.RuleEntry<StyleBlockSpacing>
43
+ /**
44
+ * Enforce consistent brace style for blocks
45
+ * @see https://eslint.style/rules/ts/brace-style
46
+ */
47
+ 'style/brace-style'?: Linter.RuleEntry<StyleBraceStyle>
48
+ /**
49
+ * Require or disallow trailing commas
50
+ * @see https://eslint.style/rules/ts/comma-dangle
51
+ */
52
+ 'style/comma-dangle'?: Linter.RuleEntry<StyleCommaDangle>
53
+ /**
54
+ * Enforce consistent spacing before and after commas
55
+ * @see https://eslint.style/rules/ts/comma-spacing
56
+ */
57
+ 'style/comma-spacing'?: Linter.RuleEntry<StyleCommaSpacing>
58
+ /**
59
+ * Enforce consistent comma style
60
+ * @see https://eslint.style/rules/js/comma-style
61
+ */
62
+ 'style/comma-style'?: Linter.RuleEntry<StyleCommaStyle>
63
+ /**
64
+ * Enforce consistent spacing inside computed property brackets
65
+ * @see https://eslint.style/rules/js/computed-property-spacing
66
+ */
67
+ 'style/computed-property-spacing'?: Linter.RuleEntry<StyleComputedPropertySpacing>
68
+ /**
69
+ * Enforce consistent line breaks after opening and before closing braces
70
+ * @see https://eslint.style/rules/plus/curly-newline
71
+ */
72
+ 'style/curly-newline'?: Linter.RuleEntry<StyleCurlyNewline>
73
+ /**
74
+ * Enforce consistent newlines before and after dots
75
+ * @see https://eslint.style/rules/js/dot-location
76
+ */
77
+ 'style/dot-location'?: Linter.RuleEntry<StyleDotLocation>
78
+ /**
79
+ * Require or disallow newline at the end of files
80
+ * @see https://eslint.style/rules/js/eol-last
81
+ */
82
+ 'style/eol-last'?: Linter.RuleEntry<StyleEolLast>
83
+ /**
84
+ * Require or disallow spacing between function identifiers and their invocations
85
+ * @see https://eslint.style/rules/ts/function-call-spacing
86
+ */
87
+ 'style/func-call-spacing'?: Linter.RuleEntry<StyleFuncCallSpacing>
88
+ /**
89
+ * Enforce line breaks between arguments of a function call
90
+ * @see https://eslint.style/rules/js/function-call-argument-newline
91
+ */
92
+ 'style/function-call-argument-newline'?: Linter.RuleEntry<StyleFunctionCallArgumentNewline>
93
+ /**
94
+ * Require or disallow spacing between function identifiers and their invocations
95
+ * @see https://eslint.style/rules/ts/function-call-spacing
96
+ */
97
+ 'style/function-call-spacing'?: Linter.RuleEntry<StyleFunctionCallSpacing>
98
+ /**
99
+ * Enforce consistent line breaks inside function parentheses
100
+ * @see https://eslint.style/rules/js/function-paren-newline
101
+ */
102
+ 'style/function-paren-newline'?: Linter.RuleEntry<StyleFunctionParenNewline>
103
+ /**
104
+ * Enforce consistent spacing around `*` operators in generator functions
105
+ * @see https://eslint.style/rules/js/generator-star-spacing
106
+ */
107
+ 'style/generator-star-spacing'?: Linter.RuleEntry<StyleGeneratorStarSpacing>
108
+ /**
109
+ * Enforce the location of arrow function bodies
110
+ * @see https://eslint.style/rules/js/implicit-arrow-linebreak
111
+ */
112
+ 'style/implicit-arrow-linebreak'?: Linter.RuleEntry<StyleImplicitArrowLinebreak>
113
+ /**
114
+ * Enforce consistent indentation
115
+ * @see https://eslint.style/rules/ts/indent
116
+ */
117
+ 'style/indent'?: Linter.RuleEntry<StyleIndent>
118
+ /**
119
+ * Indentation for binary operators
120
+ * @see https://eslint.style/rules/plus/indent-binary-ops
121
+ */
122
+ 'style/indent-binary-ops'?: Linter.RuleEntry<StyleIndentBinaryOps>
123
+ /**
124
+ * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
125
+ * @see https://eslint.style/rules/jsx/jsx-child-element-spacing
126
+ */
127
+ 'style/jsx-child-element-spacing'?: Linter.RuleEntry<[]>
128
+ /**
129
+ * Enforce closing bracket location in JSX
130
+ * @see https://eslint.style/rules/jsx/jsx-closing-bracket-location
131
+ */
132
+ 'style/jsx-closing-bracket-location'?: Linter.RuleEntry<StyleJsxClosingBracketLocation>
133
+ /**
134
+ * Enforce closing tag location for multiline JSX
135
+ * @see https://eslint.style/rules/jsx/jsx-closing-tag-location
136
+ */
137
+ 'style/jsx-closing-tag-location'?: Linter.RuleEntry<StyleJsxClosingTagLocation>
138
+ /**
139
+ * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
140
+ * @see https://eslint.style/rules/jsx/jsx-curly-brace-presence
141
+ */
142
+ 'style/jsx-curly-brace-presence'?: Linter.RuleEntry<StyleJsxCurlyBracePresence>
143
+ /**
144
+ * Enforce consistent linebreaks in curly braces in JSX attributes and expressions
145
+ * @see https://eslint.style/rules/jsx/jsx-curly-newline
146
+ */
147
+ 'style/jsx-curly-newline'?: Linter.RuleEntry<StyleJsxCurlyNewline>
148
+ /**
149
+ * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
150
+ * @see https://eslint.style/rules/jsx/jsx-curly-spacing
151
+ */
152
+ 'style/jsx-curly-spacing'?: Linter.RuleEntry<StyleJsxCurlySpacing>
153
+ /**
154
+ * Enforce or disallow spaces around equal signs in JSX attributes
155
+ * @see https://eslint.style/rules/jsx/jsx-equals-spacing
156
+ */
157
+ 'style/jsx-equals-spacing'?: Linter.RuleEntry<StyleJsxEqualsSpacing>
158
+ /**
159
+ * Enforce proper position of the first property in JSX
160
+ * @see https://eslint.style/rules/jsx/jsx-first-prop-new-line
161
+ */
162
+ 'style/jsx-first-prop-new-line'?: Linter.RuleEntry<StyleJsxFirstPropNewLine>
163
+ /**
164
+ * Enforce line breaks before and after JSX elements when they are used as arguments to a function.
165
+ * @see https://eslint.style/rules/jsx/jsx-function-call-newline
166
+ */
167
+ 'style/jsx-function-call-newline'?: Linter.RuleEntry<StyleJsxFunctionCallNewline>
168
+ /**
169
+ * Enforce JSX indentation. Deprecated, use `indent` rule instead.
170
+ * @see https://eslint.style/rules/jsx/jsx-indent
171
+ * @deprecated
172
+ */
173
+ 'style/jsx-indent'?: Linter.RuleEntry<StyleJsxIndent>
174
+ /**
175
+ * Enforce props indentation in JSX
176
+ * @see https://eslint.style/rules/jsx/jsx-indent-props
177
+ */
178
+ 'style/jsx-indent-props'?: Linter.RuleEntry<StyleJsxIndentProps>
179
+ /**
180
+ * Enforce maximum of props on a single line in JSX
181
+ * @see https://eslint.style/rules/jsx/jsx-max-props-per-line
182
+ */
183
+ 'style/jsx-max-props-per-line'?: Linter.RuleEntry<StyleJsxMaxPropsPerLine>
184
+ /**
185
+ * Require or prevent a new line after jsx elements and expressions.
186
+ * @see https://eslint.style/rules/jsx/jsx-newline
187
+ */
188
+ 'style/jsx-newline'?: Linter.RuleEntry<StyleJsxNewline>
189
+ /**
190
+ * Require one JSX element per line
191
+ * @see https://eslint.style/rules/jsx/jsx-one-expression-per-line
192
+ */
193
+ 'style/jsx-one-expression-per-line'?: Linter.RuleEntry<StyleJsxOneExpressionPerLine>
194
+ /**
195
+ * Enforce PascalCase for user-defined JSX components
196
+ * @see https://eslint.style/rules/jsx/jsx-pascal-case
197
+ */
198
+ 'style/jsx-pascal-case'?: Linter.RuleEntry<StyleJsxPascalCase>
199
+ /**
200
+ * Disallow multiple spaces between inline JSX props
201
+ * @see https://eslint.style/rules/jsx/jsx-props-no-multi-spaces
202
+ */
203
+ 'style/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>
204
+ /**
205
+ * Enforce the consistent use of either double or single quotes in JSX attributes
206
+ * @see https://eslint.style/rules/js/jsx-quotes
207
+ */
208
+ 'style/jsx-quotes'?: Linter.RuleEntry<StyleJsxQuotes>
209
+ /**
210
+ * Disallow extra closing tags for components without children
211
+ * @see https://eslint.style/rules/jsx/jsx-self-closing-comp
212
+ */
213
+ 'style/jsx-self-closing-comp'?: Linter.RuleEntry<StyleJsxSelfClosingComp>
214
+ /**
215
+ * Enforce props alphabetical sorting
216
+ * @see https://eslint.style/rules/jsx/jsx-sort-props
217
+ */
218
+ 'style/jsx-sort-props'?: Linter.RuleEntry<StyleJsxSortProps>
219
+ /**
220
+ * Enforce whitespace in and around the JSX opening and closing brackets
221
+ * @see https://eslint.style/rules/jsx/jsx-tag-spacing
222
+ */
223
+ 'style/jsx-tag-spacing'?: Linter.RuleEntry<StyleJsxTagSpacing>
224
+ /**
225
+ * Disallow missing parentheses around multiline JSX
226
+ * @see https://eslint.style/rules/jsx/jsx-wrap-multilines
227
+ */
228
+ 'style/jsx-wrap-multilines'?: Linter.RuleEntry<StyleJsxWrapMultilines>
229
+ /**
230
+ * Enforce consistent spacing between property names and type annotations in types and interfaces
231
+ * @see https://eslint.style/rules/ts/key-spacing
232
+ */
233
+ 'style/key-spacing'?: Linter.RuleEntry<StyleKeySpacing>
234
+ /**
235
+ * Enforce consistent spacing before and after keywords
236
+ * @see https://eslint.style/rules/ts/keyword-spacing
237
+ */
238
+ 'style/keyword-spacing'?: Linter.RuleEntry<StyleKeywordSpacing>
239
+ /**
240
+ * Enforce position of line comments
241
+ * @see https://eslint.style/rules/js/line-comment-position
242
+ */
243
+ 'style/line-comment-position'?: Linter.RuleEntry<StyleLineCommentPosition>
244
+ /**
245
+ * Enforce consistent linebreak style
246
+ * @see https://eslint.style/rules/js/linebreak-style
247
+ */
248
+ 'style/linebreak-style'?: Linter.RuleEntry<StyleLinebreakStyle>
249
+ /**
250
+ * Require empty lines around comments
251
+ * @see https://eslint.style/rules/ts/lines-around-comment
252
+ */
253
+ 'style/lines-around-comment'?: Linter.RuleEntry<StyleLinesAroundComment>
254
+ /**
255
+ * Require or disallow an empty line between class members
256
+ * @see https://eslint.style/rules/ts/lines-between-class-members
257
+ */
258
+ 'style/lines-between-class-members'?: Linter.RuleEntry<StyleLinesBetweenClassMembers>
259
+ /**
260
+ * Enforce a maximum line length
261
+ * @see https://eslint.style/rules/js/max-len
262
+ */
263
+ 'style/max-len'?: Linter.RuleEntry<StyleMaxLen>
264
+ /**
265
+ * Enforce a maximum number of statements allowed per line
266
+ * @see https://eslint.style/rules/js/max-statements-per-line
267
+ */
268
+ 'style/max-statements-per-line'?: Linter.RuleEntry<StyleMaxStatementsPerLine>
269
+ /**
270
+ * Require a specific member delimiter style for interfaces and type literals
271
+ * @see https://eslint.style/rules/ts/member-delimiter-style
272
+ */
273
+ 'style/member-delimiter-style'?: Linter.RuleEntry<StyleMemberDelimiterStyle>
274
+ /**
275
+ * Enforce a particular style for multiline comments
276
+ * @see https://eslint.style/rules/js/multiline-comment-style
277
+ */
278
+ 'style/multiline-comment-style'?: Linter.RuleEntry<StyleMultilineCommentStyle>
279
+ /**
280
+ * Enforce newlines between operands of ternary expressions
281
+ * @see https://eslint.style/rules/js/multiline-ternary
282
+ */
283
+ 'style/multiline-ternary'?: Linter.RuleEntry<StyleMultilineTernary>
284
+ /**
285
+ * Enforce or disallow parentheses when invoking a constructor with no arguments
286
+ * @see https://eslint.style/rules/js/new-parens
287
+ */
288
+ 'style/new-parens'?: Linter.RuleEntry<StyleNewParens>
289
+ /**
290
+ * Require a newline after each call in a method chain
291
+ * @see https://eslint.style/rules/js/newline-per-chained-call
292
+ */
293
+ 'style/newline-per-chained-call'?: Linter.RuleEntry<StyleNewlinePerChainedCall>
294
+ /**
295
+ * Disallow arrow functions where they could be confused with comparisons
296
+ * @see https://eslint.style/rules/js/no-confusing-arrow
297
+ */
298
+ 'style/no-confusing-arrow'?: Linter.RuleEntry<StyleNoConfusingArrow>
299
+ /**
300
+ * Disallow unnecessary parentheses
301
+ * @see https://eslint.style/rules/ts/no-extra-parens
302
+ */
303
+ 'style/no-extra-parens'?: Linter.RuleEntry<StyleNoExtraParens>
304
+ /**
305
+ * Disallow unnecessary semicolons
306
+ * @see https://eslint.style/rules/ts/no-extra-semi
307
+ */
308
+ 'style/no-extra-semi'?: Linter.RuleEntry<[]>
309
+ /**
310
+ * Disallow leading or trailing decimal points in numeric literals
311
+ * @see https://eslint.style/rules/js/no-floating-decimal
312
+ */
313
+ 'style/no-floating-decimal'?: Linter.RuleEntry<[]>
314
+ /**
315
+ * Disallow mixed binary operators
316
+ * @see https://eslint.style/rules/js/no-mixed-operators
317
+ */
318
+ 'style/no-mixed-operators'?: Linter.RuleEntry<StyleNoMixedOperators>
319
+ /**
320
+ * Disallow mixed spaces and tabs for indentation
321
+ * @see https://eslint.style/rules/js/no-mixed-spaces-and-tabs
322
+ */
323
+ 'style/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StyleNoMixedSpacesAndTabs>
324
+ /**
325
+ * Disallow multiple spaces
326
+ * @see https://eslint.style/rules/js/no-multi-spaces
327
+ */
328
+ 'style/no-multi-spaces'?: Linter.RuleEntry<StyleNoMultiSpaces>
329
+ /**
330
+ * Disallow multiple empty lines
331
+ * @see https://eslint.style/rules/js/no-multiple-empty-lines
332
+ */
333
+ 'style/no-multiple-empty-lines'?: Linter.RuleEntry<StyleNoMultipleEmptyLines>
334
+ /**
335
+ * Disallow all tabs
336
+ * @see https://eslint.style/rules/js/no-tabs
337
+ */
338
+ 'style/no-tabs'?: Linter.RuleEntry<StyleNoTabs>
339
+ /**
340
+ * Disallow trailing whitespace at the end of lines
341
+ * @see https://eslint.style/rules/js/no-trailing-spaces
342
+ */
343
+ 'style/no-trailing-spaces'?: Linter.RuleEntry<StyleNoTrailingSpaces>
344
+ /**
345
+ * Disallow whitespace before properties
346
+ * @see https://eslint.style/rules/js/no-whitespace-before-property
347
+ */
348
+ 'style/no-whitespace-before-property'?: Linter.RuleEntry<[]>
349
+ /**
350
+ * Enforce the location of single-line statements
351
+ * @see https://eslint.style/rules/js/nonblock-statement-body-position
352
+ */
353
+ 'style/nonblock-statement-body-position'?: Linter.RuleEntry<StyleNonblockStatementBodyPosition>
354
+ /**
355
+ * Enforce consistent line breaks after opening and before closing braces
356
+ * @see https://eslint.style/rules/ts/object-curly-newline
357
+ */
358
+ 'style/object-curly-newline'?: Linter.RuleEntry<StyleObjectCurlyNewline>
359
+ /**
360
+ * Enforce consistent spacing inside braces
361
+ * @see https://eslint.style/rules/ts/object-curly-spacing
362
+ */
363
+ 'style/object-curly-spacing'?: Linter.RuleEntry<StyleObjectCurlySpacing>
364
+ /**
365
+ * Enforce placing object properties on separate lines
366
+ * @see https://eslint.style/rules/ts/object-property-newline
367
+ */
368
+ 'style/object-property-newline'?: Linter.RuleEntry<StyleObjectPropertyNewline>
369
+ /**
370
+ * Require or disallow newlines around variable declarations
371
+ * @see https://eslint.style/rules/js/one-var-declaration-per-line
372
+ */
373
+ 'style/one-var-declaration-per-line'?: Linter.RuleEntry<StyleOneVarDeclarationPerLine>
374
+ /**
375
+ * Enforce consistent linebreak style for operators
376
+ * @see https://eslint.style/rules/js/operator-linebreak
377
+ */
378
+ 'style/operator-linebreak'?: Linter.RuleEntry<StyleOperatorLinebreak>
379
+ /**
380
+ * Require or disallow padding within blocks
381
+ * @see https://eslint.style/rules/js/padded-blocks
382
+ */
383
+ 'style/padded-blocks'?: Linter.RuleEntry<StylePaddedBlocks>
384
+ /**
385
+ * Require or disallow padding lines between statements
386
+ * @see https://eslint.style/rules/ts/padding-line-between-statements
387
+ */
388
+ 'style/padding-line-between-statements'?: Linter.RuleEntry<StylePaddingLineBetweenStatements>
389
+ /**
390
+ * Require quotes around object literal, type literal, interfaces and enums property names
391
+ * @see https://eslint.style/rules/ts/quote-props
392
+ */
393
+ 'style/quote-props'?: Linter.RuleEntry<StyleQuoteProps>
394
+ /**
395
+ * Enforce the consistent use of either backticks, double, or single quotes
396
+ * @see https://eslint.style/rules/ts/quotes
397
+ */
398
+ 'style/quotes'?: Linter.RuleEntry<StyleQuotes>
399
+ /**
400
+ * Enforce spacing between rest and spread operators and their expressions
401
+ * @see https://eslint.style/rules/js/rest-spread-spacing
402
+ */
403
+ 'style/rest-spread-spacing'?: Linter.RuleEntry<StyleRestSpreadSpacing>
404
+ /**
405
+ * Require or disallow semicolons instead of ASI
406
+ * @see https://eslint.style/rules/ts/semi
407
+ */
408
+ 'style/semi'?: Linter.RuleEntry<StyleSemi>
409
+ /**
410
+ * Enforce consistent spacing before and after semicolons
411
+ * @see https://eslint.style/rules/js/semi-spacing
412
+ */
413
+ 'style/semi-spacing'?: Linter.RuleEntry<StyleSemiSpacing>
414
+ /**
415
+ * Enforce location of semicolons
416
+ * @see https://eslint.style/rules/js/semi-style
417
+ */
418
+ 'style/semi-style'?: Linter.RuleEntry<StyleSemiStyle>
419
+ /**
420
+ * Enforce consistent spacing before blocks
421
+ * @see https://eslint.style/rules/ts/space-before-blocks
422
+ */
423
+ 'style/space-before-blocks'?: Linter.RuleEntry<StyleSpaceBeforeBlocks>
424
+ /**
425
+ * Enforce consistent spacing before function parenthesis
426
+ * @see https://eslint.style/rules/ts/space-before-function-paren
427
+ */
428
+ 'style/space-before-function-paren'?: Linter.RuleEntry<StyleSpaceBeforeFunctionParen>
429
+ /**
430
+ * Enforce consistent spacing inside parentheses
431
+ * @see https://eslint.style/rules/js/space-in-parens
432
+ */
433
+ 'style/space-in-parens'?: Linter.RuleEntry<StyleSpaceInParens>
434
+ /**
435
+ * Require spacing around infix operators
436
+ * @see https://eslint.style/rules/ts/space-infix-ops
437
+ */
438
+ 'style/space-infix-ops'?: Linter.RuleEntry<StyleSpaceInfixOps>
439
+ /**
440
+ * Enforce consistent spacing before or after unary operators
441
+ * @see https://eslint.style/rules/js/space-unary-ops
442
+ */
443
+ 'style/space-unary-ops'?: Linter.RuleEntry<StyleSpaceUnaryOps>
444
+ /**
445
+ * Enforce consistent spacing after the `//` or `/*` in a comment
446
+ * @see https://eslint.style/rules/js/spaced-comment
447
+ */
448
+ 'style/spaced-comment'?: Linter.RuleEntry<StyleSpacedComment>
449
+ /**
450
+ * Enforce spacing around colons of switch statements
451
+ * @see https://eslint.style/rules/js/switch-colon-spacing
452
+ */
453
+ 'style/switch-colon-spacing'?: Linter.RuleEntry<StyleSwitchColonSpacing>
454
+ /**
455
+ * Require or disallow spacing around embedded expressions of template strings
456
+ * @see https://eslint.style/rules/js/template-curly-spacing
457
+ */
458
+ 'style/template-curly-spacing'?: Linter.RuleEntry<StyleTemplateCurlySpacing>
459
+ /**
460
+ * Require or disallow spacing between template tags and their literals
461
+ * @see https://eslint.style/rules/js/template-tag-spacing
462
+ */
463
+ 'style/template-tag-spacing'?: Linter.RuleEntry<StyleTemplateTagSpacing>
464
+ /**
465
+ * Require consistent spacing around type annotations
466
+ * @see https://eslint.style/rules/ts/type-annotation-spacing
467
+ */
468
+ 'style/type-annotation-spacing'?: Linter.RuleEntry<StyleTypeAnnotationSpacing>
469
+ /**
470
+ * Enforces consistent spacing inside TypeScript type generics
471
+ * @see https://eslint.style/rules/plus/type-generic-spacing
472
+ */
473
+ 'style/type-generic-spacing'?: Linter.RuleEntry<[]>
474
+ /**
475
+ * Expect space before the type declaration in the named tuple
476
+ * @see https://eslint.style/rules/plus/type-named-tuple-spacing
477
+ */
478
+ 'style/type-named-tuple-spacing'?: Linter.RuleEntry<[]>
479
+ /**
480
+ * Require parentheses around immediate `function` invocations
481
+ * @see https://eslint.style/rules/js/wrap-iife
482
+ */
483
+ 'style/wrap-iife'?: Linter.RuleEntry<StyleWrapIife>
484
+ /**
485
+ * Require parenthesis around regex literals
486
+ * @see https://eslint.style/rules/js/wrap-regex
487
+ */
488
+ 'style/wrap-regex'?: Linter.RuleEntry<[]>
489
+ /**
490
+ * Require or disallow spacing around the `*` in `yield*` expressions
491
+ * @see https://eslint.style/rules/js/yield-star-spacing
492
+ */
493
+ 'style/yield-star-spacing'?: Linter.RuleEntry<StyleYieldStarSpacing>
494
+ }
495
+
496
+ /* ======= Declarations ======= */
497
+ // ----- style/array-bracket-newline -----
498
+ type StyleArrayBracketNewline = []|[(("always" | "never" | "consistent") | {
499
+ multiline?: boolean
500
+ minItems?: (number | null)
501
+ })]
502
+ // ----- style/array-bracket-spacing -----
503
+ type StyleArrayBracketSpacing = []|[("always" | "never")]|[("always" | "never"), {
504
+ singleValue?: boolean
505
+ objectsInArrays?: boolean
506
+ arraysInArrays?: boolean
507
+ }]
508
+ // ----- style/array-element-newline -----
509
+ type StyleArrayElementNewline = []|[(_StyleArrayElementNewlineBasicConfig | {
510
+ ArrayExpression?: _StyleArrayElementNewlineBasicConfig
511
+ ArrayPattern?: _StyleArrayElementNewlineBasicConfig
512
+ })]
513
+ type _StyleArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
514
+ consistent?: boolean
515
+ multiline?: boolean
516
+ minItems?: (number | null)
517
+ })
518
+ // ----- style/arrow-parens -----
519
+ type StyleArrowParens = []|[("always" | "as-needed")]|[("always" | "as-needed"), {
520
+ requireForBlockBody?: boolean
521
+ }]
522
+ // ----- style/arrow-spacing -----
523
+ type StyleArrowSpacing = []|[{
524
+ before?: boolean
525
+ after?: boolean
526
+ }]
527
+ // ----- style/block-spacing -----
528
+ type StyleBlockSpacing = []|[("always" | "never")]
529
+ // ----- style/brace-style -----
530
+ type StyleBraceStyle = []|[("1tbs" | "stroustrup" | "allman")]|[("1tbs" | "stroustrup" | "allman"), {
531
+ allowSingleLine?: boolean
532
+ }]
533
+ // ----- style/comma-dangle -----
534
+ type StyleCommaDangle = []|[(_StyleCommaDangleValue | {
535
+ arrays?: _StyleCommaDangleValueWithIgnore
536
+ objects?: _StyleCommaDangleValueWithIgnore
537
+ imports?: _StyleCommaDangleValueWithIgnore
538
+ exports?: _StyleCommaDangleValueWithIgnore
539
+ functions?: _StyleCommaDangleValueWithIgnore
540
+ importAttributes?: _StyleCommaDangleValueWithIgnore
541
+ dynamicImports?: _StyleCommaDangleValueWithIgnore
542
+ enums?: _StyleCommaDangleValueWithIgnore
543
+ generics?: _StyleCommaDangleValueWithIgnore
544
+ tuples?: _StyleCommaDangleValueWithIgnore
545
+ })]
546
+ type _StyleCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline")
547
+ type _StyleCommaDangleValueWithIgnore = ("always-multiline" | "always" | "never" | "only-multiline" | "ignore")
548
+ // ----- style/comma-spacing -----
549
+ type StyleCommaSpacing = []|[{
550
+ before?: boolean
551
+ after?: boolean
552
+ }]
553
+ // ----- style/comma-style -----
554
+ type StyleCommaStyle = []|[("first" | "last")]|[("first" | "last"), {
555
+ exceptions?: {
556
+ [k: string]: boolean | undefined
557
+ }
558
+ }]
559
+ // ----- style/computed-property-spacing -----
560
+ type StyleComputedPropertySpacing = []|[("always" | "never")]|[("always" | "never"), {
561
+ enforceForClassMembers?: boolean
562
+ }]
563
+ // ----- style/curly-newline -----
564
+ type StyleCurlyNewline = []|[(("always" | "never") | {
565
+ IfStatementConsequent?: (("always" | "never") | {
566
+ multiline?: boolean
567
+ minElements?: number
568
+ consistent?: boolean
569
+ })
570
+ IfStatementAlternative?: (("always" | "never") | {
571
+ multiline?: boolean
572
+ minElements?: number
573
+ consistent?: boolean
574
+ })
575
+ DoWhileStatement?: (("always" | "never") | {
576
+ multiline?: boolean
577
+ minElements?: number
578
+ consistent?: boolean
579
+ })
580
+ ForInStatement?: (("always" | "never") | {
581
+ multiline?: boolean
582
+ minElements?: number
583
+ consistent?: boolean
584
+ })
585
+ ForOfStatement?: (("always" | "never") | {
586
+ multiline?: boolean
587
+ minElements?: number
588
+ consistent?: boolean
589
+ })
590
+ ForStatement?: (("always" | "never") | {
591
+ multiline?: boolean
592
+ minElements?: number
593
+ consistent?: boolean
594
+ })
595
+ WhileStatement?: (("always" | "never") | {
596
+ multiline?: boolean
597
+ minElements?: number
598
+ consistent?: boolean
599
+ })
600
+ SwitchStatement?: (("always" | "never") | {
601
+ multiline?: boolean
602
+ minElements?: number
603
+ consistent?: boolean
604
+ })
605
+ SwitchCase?: (("always" | "never") | {
606
+ multiline?: boolean
607
+ minElements?: number
608
+ consistent?: boolean
609
+ })
610
+ TryStatementBlock?: (("always" | "never") | {
611
+ multiline?: boolean
612
+ minElements?: number
613
+ consistent?: boolean
614
+ })
615
+ TryStatementHandler?: (("always" | "never") | {
616
+ multiline?: boolean
617
+ minElements?: number
618
+ consistent?: boolean
619
+ })
620
+ TryStatementFinalizer?: (("always" | "never") | {
621
+ multiline?: boolean
622
+ minElements?: number
623
+ consistent?: boolean
624
+ })
625
+ BlockStatement?: (("always" | "never") | {
626
+ multiline?: boolean
627
+ minElements?: number
628
+ consistent?: boolean
629
+ })
630
+ ArrowFunctionExpression?: (("always" | "never") | {
631
+ multiline?: boolean
632
+ minElements?: number
633
+ consistent?: boolean
634
+ })
635
+ FunctionDeclaration?: (("always" | "never") | {
636
+ multiline?: boolean
637
+ minElements?: number
638
+ consistent?: boolean
639
+ })
640
+ FunctionExpression?: (("always" | "never") | {
641
+ multiline?: boolean
642
+ minElements?: number
643
+ consistent?: boolean
644
+ })
645
+ Property?: (("always" | "never") | {
646
+ multiline?: boolean
647
+ minElements?: number
648
+ consistent?: boolean
649
+ })
650
+ ClassBody?: (("always" | "never") | {
651
+ multiline?: boolean
652
+ minElements?: number
653
+ consistent?: boolean
654
+ })
655
+ StaticBlock?: (("always" | "never") | {
656
+ multiline?: boolean
657
+ minElements?: number
658
+ consistent?: boolean
659
+ })
660
+ WithStatement?: (("always" | "never") | {
661
+ multiline?: boolean
662
+ minElements?: number
663
+ consistent?: boolean
664
+ })
665
+ TSEnumBody?: (("always" | "never") | {
666
+ multiline?: boolean
667
+ minElements?: number
668
+ consistent?: boolean
669
+ })
670
+ TSInterfaceBody?: (("always" | "never") | {
671
+ multiline?: boolean
672
+ minElements?: number
673
+ consistent?: boolean
674
+ })
675
+ TSModuleBlock?: (("always" | "never") | {
676
+ multiline?: boolean
677
+ minElements?: number
678
+ consistent?: boolean
679
+ })
680
+ multiline?: boolean
681
+ minElements?: number
682
+ consistent?: boolean
683
+ })]
684
+ // ----- style/dot-location -----
685
+ type StyleDotLocation = []|[("object" | "property")]
686
+ // ----- style/eol-last -----
687
+ type StyleEolLast = []|[("always" | "never" | "unix" | "windows")]
688
+ // ----- style/func-call-spacing -----
689
+ type StyleFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
690
+ allowNewlines?: boolean
691
+ optionalChain?: {
692
+ before?: boolean
693
+ after?: boolean
694
+ }
695
+ }])
696
+ // ----- style/function-call-argument-newline -----
697
+ type StyleFunctionCallArgumentNewline = []|[("always" | "never" | "consistent")]
698
+ // ----- style/function-call-spacing -----
699
+ type StyleFunctionCallSpacing = ([]|["never"] | []|["always"]|["always", {
700
+ allowNewlines?: boolean
701
+ optionalChain?: {
702
+ before?: boolean
703
+ after?: boolean
704
+ }
705
+ }])
706
+ // ----- style/function-paren-newline -----
707
+ type StyleFunctionParenNewline = []|[(("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | {
708
+ minItems?: number
709
+ })]
710
+ // ----- style/generator-star-spacing -----
711
+ type StyleGeneratorStarSpacing = []|[(("before" | "after" | "both" | "neither") | {
712
+ before?: boolean
713
+ after?: boolean
714
+ named?: (("before" | "after" | "both" | "neither") | {
715
+ before?: boolean
716
+ after?: boolean
717
+ })
718
+ anonymous?: (("before" | "after" | "both" | "neither") | {
719
+ before?: boolean
720
+ after?: boolean
721
+ })
722
+ method?: (("before" | "after" | "both" | "neither") | {
723
+ before?: boolean
724
+ after?: boolean
725
+ })
726
+ })]
727
+ // ----- style/implicit-arrow-linebreak -----
728
+ type StyleImplicitArrowLinebreak = []|[("beside" | "below")]
729
+ // ----- style/indent -----
730
+ type StyleIndent = []|[("tab" | number)]|[("tab" | number), {
731
+ SwitchCase?: number
732
+ VariableDeclarator?: ((number | ("first" | "off")) | {
733
+ var?: (number | ("first" | "off"))
734
+ let?: (number | ("first" | "off"))
735
+ const?: (number | ("first" | "off"))
736
+ })
737
+ outerIIFEBody?: (number | "off")
738
+ MemberExpression?: (number | "off")
739
+ FunctionDeclaration?: {
740
+ parameters?: (number | ("first" | "off"))
741
+ body?: number
742
+ }
743
+ FunctionExpression?: {
744
+ parameters?: (number | ("first" | "off"))
745
+ body?: number
746
+ }
747
+ StaticBlock?: {
748
+ body?: number
749
+ }
750
+ CallExpression?: {
751
+ arguments?: (number | ("first" | "off"))
752
+ }
753
+ ArrayExpression?: (number | ("first" | "off"))
754
+ ObjectExpression?: (number | ("first" | "off"))
755
+ ImportDeclaration?: (number | ("first" | "off"))
756
+ flatTernaryExpressions?: boolean
757
+ offsetTernaryExpressions?: boolean
758
+ offsetTernaryExpressionsOffsetCallExpressions?: boolean
759
+ ignoredNodes?: string[]
760
+ ignoreComments?: boolean
761
+ tabLength?: number
762
+ }]
763
+ // ----- style/indent-binary-ops -----
764
+ type StyleIndentBinaryOps = []|[(number | "tab")]
765
+ // ----- style/jsx-closing-bracket-location -----
766
+ type StyleJsxClosingBracketLocation = []|[(("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | {
767
+ location?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned")
768
+ } | {
769
+ nonEmpty?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false)
770
+ selfClosing?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false)
771
+ })]
772
+ // ----- style/jsx-closing-tag-location -----
773
+ type StyleJsxClosingTagLocation = []|[("tag-aligned" | "line-aligned")]
774
+ // ----- style/jsx-curly-brace-presence -----
775
+ type StyleJsxCurlyBracePresence = []|[({
776
+ props?: ("always" | "never" | "ignore")
777
+ children?: ("always" | "never" | "ignore")
778
+ propElementValues?: ("always" | "never" | "ignore")
779
+ } | ("always" | "never" | "ignore"))]
780
+ // ----- style/jsx-curly-newline -----
781
+ type StyleJsxCurlyNewline = []|[(("consistent" | "never") | {
782
+ singleline?: ("consistent" | "require" | "forbid")
783
+ multiline?: ("consistent" | "require" | "forbid")
784
+ })]
785
+ // ----- style/jsx-curly-spacing -----
786
+ type StyleJsxCurlySpacing = []|[((_StyleJsxCurlySpacing_BasicConfig & {
787
+ attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean
788
+ children?: _StyleJsxCurlySpacingBasicConfigOrBoolean
789
+ [k: string]: unknown | undefined
790
+ }) | ("always" | "never"))]|[((_StyleJsxCurlySpacing_BasicConfig & {
791
+ attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean
792
+ children?: _StyleJsxCurlySpacingBasicConfigOrBoolean
793
+ [k: string]: unknown | undefined
794
+ }) | ("always" | "never")), {
795
+ allowMultiline?: boolean
796
+ spacing?: {
797
+ objectLiterals?: ("always" | "never")
798
+ [k: string]: unknown | undefined
799
+ }
800
+ }]
801
+ type _StyleJsxCurlySpacingBasicConfigOrBoolean = (_StyleJsxCurlySpacing_BasicConfig | boolean)
802
+ interface _StyleJsxCurlySpacing_BasicConfig {
803
+ when?: ("always" | "never")
804
+ allowMultiline?: boolean
805
+ spacing?: {
806
+ objectLiterals?: ("always" | "never")
807
+ [k: string]: unknown | undefined
808
+ }
809
+ [k: string]: unknown | undefined
810
+ }
811
+ // ----- style/jsx-equals-spacing -----
812
+ type StyleJsxEqualsSpacing = []|[("always" | "never")]
813
+ // ----- style/jsx-first-prop-new-line -----
814
+ type StyleJsxFirstPropNewLine = []|[("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")]
815
+ // ----- style/jsx-function-call-newline -----
816
+ type StyleJsxFunctionCallNewline = []|[("always" | "multiline")]
817
+ // ----- style/jsx-indent -----
818
+ type StyleJsxIndent = []|[("tab" | number)]|[("tab" | number), {
819
+ checkAttributes?: boolean
820
+ indentLogicalExpressions?: boolean
821
+ }]
822
+ // ----- style/jsx-indent-props -----
823
+ type StyleJsxIndentProps = []|[(("tab" | "first") | number | {
824
+ indentMode?: (("tab" | "first") | number)
825
+ ignoreTernaryOperator?: boolean
826
+ [k: string]: unknown | undefined
827
+ })]
828
+ // ----- style/jsx-max-props-per-line -----
829
+ type StyleJsxMaxPropsPerLine = []|[({
830
+ maximum?: {
831
+ single?: number
832
+ multi?: number
833
+ [k: string]: unknown | undefined
834
+ }
835
+ } | {
836
+ maximum?: number
837
+ when?: ("always" | "multiline")
838
+ })]
839
+ // ----- style/jsx-newline -----
840
+ type StyleJsxNewline = []|[{
841
+ prevent?: boolean
842
+ allowMultilines?: boolean
843
+ }]
844
+ // ----- style/jsx-one-expression-per-line -----
845
+ type StyleJsxOneExpressionPerLine = []|[{
846
+ allow?: ("none" | "literal" | "single-child" | "single-line" | "non-jsx")
847
+ }]
848
+ // ----- style/jsx-pascal-case -----
849
+ type StyleJsxPascalCase = []|[{
850
+ allowAllCaps?: boolean
851
+ allowLeadingUnderscore?: boolean
852
+ allowNamespace?: boolean
853
+ ignore?: string[]
854
+ }]
855
+ // ----- style/jsx-quotes -----
856
+ type StyleJsxQuotes = []|[("prefer-single" | "prefer-double")]
857
+ // ----- style/jsx-self-closing-comp -----
858
+ type StyleJsxSelfClosingComp = []|[{
859
+ component?: boolean
860
+ html?: boolean
861
+ }]
862
+ // ----- style/jsx-sort-props -----
863
+ type StyleJsxSortProps = []|[{
864
+ callbacksLast?: boolean
865
+ shorthandFirst?: boolean
866
+ shorthandLast?: boolean
867
+ multiline?: ("ignore" | "first" | "last")
868
+ ignoreCase?: boolean
869
+ noSortAlphabetically?: boolean
870
+ reservedFirst?: (unknown[] | boolean)
871
+ locale?: string
872
+ }]
873
+ // ----- style/jsx-tag-spacing -----
874
+ type StyleJsxTagSpacing = []|[{
875
+ closingSlash?: ("always" | "never" | "allow")
876
+ beforeSelfClosing?: ("always" | "proportional-always" | "never" | "allow")
877
+ afterOpening?: ("always" | "allow-multiline" | "never" | "allow")
878
+ beforeClosing?: ("always" | "proportional-always" | "never" | "allow")
879
+ }]
880
+ // ----- style/jsx-wrap-multilines -----
881
+ type StyleJsxWrapMultilines = []|[{
882
+ declaration?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
883
+ assignment?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
884
+ return?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
885
+ arrow?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
886
+ condition?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
887
+ logical?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
888
+ prop?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
889
+ propertyValue?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
890
+ }]
891
+ // ----- style/key-spacing -----
892
+ type StyleKeySpacing = []|[({
893
+ align?: (("colon" | "value") | {
894
+ mode?: ("strict" | "minimum")
895
+ on?: ("colon" | "value")
896
+ beforeColon?: boolean
897
+ afterColon?: boolean
898
+ })
899
+ mode?: ("strict" | "minimum")
900
+ beforeColon?: boolean
901
+ afterColon?: boolean
902
+ } | {
903
+ singleLine?: {
904
+ mode?: ("strict" | "minimum")
905
+ beforeColon?: boolean
906
+ afterColon?: boolean
907
+ }
908
+ multiLine?: {
909
+ align?: (("colon" | "value") | {
910
+ mode?: ("strict" | "minimum")
911
+ on?: ("colon" | "value")
912
+ beforeColon?: boolean
913
+ afterColon?: boolean
914
+ })
915
+ mode?: ("strict" | "minimum")
916
+ beforeColon?: boolean
917
+ afterColon?: boolean
918
+ }
919
+ } | {
920
+ singleLine?: {
921
+ mode?: ("strict" | "minimum")
922
+ beforeColon?: boolean
923
+ afterColon?: boolean
924
+ }
925
+ multiLine?: {
926
+ mode?: ("strict" | "minimum")
927
+ beforeColon?: boolean
928
+ afterColon?: boolean
929
+ }
930
+ align?: {
931
+ mode?: ("strict" | "minimum")
932
+ on?: ("colon" | "value")
933
+ beforeColon?: boolean
934
+ afterColon?: boolean
935
+ }
936
+ })]
937
+ // ----- style/keyword-spacing -----
938
+ type StyleKeywordSpacing = []|[{
939
+ before?: boolean
940
+ after?: boolean
941
+ overrides?: {
942
+ abstract?: {
943
+ before?: boolean
944
+ after?: boolean
945
+ }
946
+ as?: {
947
+ before?: boolean
948
+ after?: boolean
949
+ }
950
+ async?: {
951
+ before?: boolean
952
+ after?: boolean
953
+ }
954
+ await?: {
955
+ before?: boolean
956
+ after?: boolean
957
+ }
958
+ boolean?: {
959
+ before?: boolean
960
+ after?: boolean
961
+ }
962
+ break?: {
963
+ before?: boolean
964
+ after?: boolean
965
+ }
966
+ byte?: {
967
+ before?: boolean
968
+ after?: boolean
969
+ }
970
+ case?: {
971
+ before?: boolean
972
+ after?: boolean
973
+ }
974
+ catch?: {
975
+ before?: boolean
976
+ after?: boolean
977
+ }
978
+ char?: {
979
+ before?: boolean
980
+ after?: boolean
981
+ }
982
+ class?: {
983
+ before?: boolean
984
+ after?: boolean
985
+ }
986
+ const?: {
987
+ before?: boolean
988
+ after?: boolean
989
+ }
990
+ continue?: {
991
+ before?: boolean
992
+ after?: boolean
993
+ }
994
+ debugger?: {
995
+ before?: boolean
996
+ after?: boolean
997
+ }
998
+ default?: {
999
+ before?: boolean
1000
+ after?: boolean
1001
+ }
1002
+ delete?: {
1003
+ before?: boolean
1004
+ after?: boolean
1005
+ }
1006
+ do?: {
1007
+ before?: boolean
1008
+ after?: boolean
1009
+ }
1010
+ double?: {
1011
+ before?: boolean
1012
+ after?: boolean
1013
+ }
1014
+ else?: {
1015
+ before?: boolean
1016
+ after?: boolean
1017
+ }
1018
+ enum?: {
1019
+ before?: boolean
1020
+ after?: boolean
1021
+ }
1022
+ export?: {
1023
+ before?: boolean
1024
+ after?: boolean
1025
+ }
1026
+ extends?: {
1027
+ before?: boolean
1028
+ after?: boolean
1029
+ }
1030
+ false?: {
1031
+ before?: boolean
1032
+ after?: boolean
1033
+ }
1034
+ final?: {
1035
+ before?: boolean
1036
+ after?: boolean
1037
+ }
1038
+ finally?: {
1039
+ before?: boolean
1040
+ after?: boolean
1041
+ }
1042
+ float?: {
1043
+ before?: boolean
1044
+ after?: boolean
1045
+ }
1046
+ for?: {
1047
+ before?: boolean
1048
+ after?: boolean
1049
+ }
1050
+ from?: {
1051
+ before?: boolean
1052
+ after?: boolean
1053
+ }
1054
+ function?: {
1055
+ before?: boolean
1056
+ after?: boolean
1057
+ }
1058
+ get?: {
1059
+ before?: boolean
1060
+ after?: boolean
1061
+ }
1062
+ goto?: {
1063
+ before?: boolean
1064
+ after?: boolean
1065
+ }
1066
+ if?: {
1067
+ before?: boolean
1068
+ after?: boolean
1069
+ }
1070
+ implements?: {
1071
+ before?: boolean
1072
+ after?: boolean
1073
+ }
1074
+ import?: {
1075
+ before?: boolean
1076
+ after?: boolean
1077
+ }
1078
+ in?: {
1079
+ before?: boolean
1080
+ after?: boolean
1081
+ }
1082
+ instanceof?: {
1083
+ before?: boolean
1084
+ after?: boolean
1085
+ }
1086
+ int?: {
1087
+ before?: boolean
1088
+ after?: boolean
1089
+ }
1090
+ interface?: {
1091
+ before?: boolean
1092
+ after?: boolean
1093
+ }
1094
+ let?: {
1095
+ before?: boolean
1096
+ after?: boolean
1097
+ }
1098
+ long?: {
1099
+ before?: boolean
1100
+ after?: boolean
1101
+ }
1102
+ native?: {
1103
+ before?: boolean
1104
+ after?: boolean
1105
+ }
1106
+ new?: {
1107
+ before?: boolean
1108
+ after?: boolean
1109
+ }
1110
+ null?: {
1111
+ before?: boolean
1112
+ after?: boolean
1113
+ }
1114
+ of?: {
1115
+ before?: boolean
1116
+ after?: boolean
1117
+ }
1118
+ package?: {
1119
+ before?: boolean
1120
+ after?: boolean
1121
+ }
1122
+ private?: {
1123
+ before?: boolean
1124
+ after?: boolean
1125
+ }
1126
+ protected?: {
1127
+ before?: boolean
1128
+ after?: boolean
1129
+ }
1130
+ public?: {
1131
+ before?: boolean
1132
+ after?: boolean
1133
+ }
1134
+ return?: {
1135
+ before?: boolean
1136
+ after?: boolean
1137
+ }
1138
+ satisfies?: {
1139
+ before?: boolean
1140
+ after?: boolean
1141
+ }
1142
+ set?: {
1143
+ before?: boolean
1144
+ after?: boolean
1145
+ }
1146
+ short?: {
1147
+ before?: boolean
1148
+ after?: boolean
1149
+ }
1150
+ static?: {
1151
+ before?: boolean
1152
+ after?: boolean
1153
+ }
1154
+ super?: {
1155
+ before?: boolean
1156
+ after?: boolean
1157
+ }
1158
+ switch?: {
1159
+ before?: boolean
1160
+ after?: boolean
1161
+ }
1162
+ synchronized?: {
1163
+ before?: boolean
1164
+ after?: boolean
1165
+ }
1166
+ this?: {
1167
+ before?: boolean
1168
+ after?: boolean
1169
+ }
1170
+ throw?: {
1171
+ before?: boolean
1172
+ after?: boolean
1173
+ }
1174
+ throws?: {
1175
+ before?: boolean
1176
+ after?: boolean
1177
+ }
1178
+ transient?: {
1179
+ before?: boolean
1180
+ after?: boolean
1181
+ }
1182
+ true?: {
1183
+ before?: boolean
1184
+ after?: boolean
1185
+ }
1186
+ try?: {
1187
+ before?: boolean
1188
+ after?: boolean
1189
+ }
1190
+ typeof?: {
1191
+ before?: boolean
1192
+ after?: boolean
1193
+ }
1194
+ var?: {
1195
+ before?: boolean
1196
+ after?: boolean
1197
+ }
1198
+ void?: {
1199
+ before?: boolean
1200
+ after?: boolean
1201
+ }
1202
+ volatile?: {
1203
+ before?: boolean
1204
+ after?: boolean
1205
+ }
1206
+ while?: {
1207
+ before?: boolean
1208
+ after?: boolean
1209
+ }
1210
+ with?: {
1211
+ before?: boolean
1212
+ after?: boolean
1213
+ }
1214
+ yield?: {
1215
+ before?: boolean
1216
+ after?: boolean
1217
+ }
1218
+ type?: {
1219
+ before?: boolean
1220
+ after?: boolean
1221
+ }
1222
+ }
1223
+ }]
1224
+ // ----- style/line-comment-position -----
1225
+ type StyleLineCommentPosition = []|[(("above" | "beside") | {
1226
+ position?: ("above" | "beside")
1227
+ ignorePattern?: string
1228
+ applyDefaultPatterns?: boolean
1229
+ applyDefaultIgnorePatterns?: boolean
1230
+ })]
1231
+ // ----- style/linebreak-style -----
1232
+ type StyleLinebreakStyle = []|[("unix" | "windows")]
1233
+ // ----- style/lines-around-comment -----
1234
+ type StyleLinesAroundComment = []|[{
1235
+ beforeBlockComment?: boolean
1236
+ afterBlockComment?: boolean
1237
+ beforeLineComment?: boolean
1238
+ afterLineComment?: boolean
1239
+ allowBlockStart?: boolean
1240
+ allowBlockEnd?: boolean
1241
+ allowClassStart?: boolean
1242
+ allowClassEnd?: boolean
1243
+ allowObjectStart?: boolean
1244
+ allowObjectEnd?: boolean
1245
+ allowArrayStart?: boolean
1246
+ allowArrayEnd?: boolean
1247
+ allowInterfaceStart?: boolean
1248
+ allowInterfaceEnd?: boolean
1249
+ allowTypeStart?: boolean
1250
+ allowTypeEnd?: boolean
1251
+ allowEnumStart?: boolean
1252
+ allowEnumEnd?: boolean
1253
+ allowModuleStart?: boolean
1254
+ allowModuleEnd?: boolean
1255
+ ignorePattern?: string
1256
+ applyDefaultIgnorePatterns?: boolean
1257
+ afterHashbangComment?: boolean
1258
+ }]
1259
+ // ----- style/lines-between-class-members -----
1260
+ type StyleLinesBetweenClassMembers = []|[({
1261
+
1262
+ enforce: [{
1263
+ blankLine: ("always" | "never")
1264
+ prev: ("method" | "field" | "*")
1265
+ next: ("method" | "field" | "*")
1266
+ }, ...({
1267
+ blankLine: ("always" | "never")
1268
+ prev: ("method" | "field" | "*")
1269
+ next: ("method" | "field" | "*")
1270
+ })[]]
1271
+ } | ("always" | "never"))]|[({
1272
+
1273
+ enforce: [{
1274
+ blankLine: ("always" | "never")
1275
+ prev: ("method" | "field" | "*")
1276
+ next: ("method" | "field" | "*")
1277
+ }, ...({
1278
+ blankLine: ("always" | "never")
1279
+ prev: ("method" | "field" | "*")
1280
+ next: ("method" | "field" | "*")
1281
+ })[]]
1282
+ } | ("always" | "never")), {
1283
+ exceptAfterSingleLine?: boolean
1284
+ exceptAfterOverload?: boolean
1285
+ }]
1286
+ // ----- style/max-len -----
1287
+ type StyleMaxLen = []|[({
1288
+ code?: number
1289
+ comments?: number
1290
+ tabWidth?: number
1291
+ ignorePattern?: string
1292
+ ignoreComments?: boolean
1293
+ ignoreStrings?: boolean
1294
+ ignoreUrls?: boolean
1295
+ ignoreTemplateLiterals?: boolean
1296
+ ignoreRegExpLiterals?: boolean
1297
+ ignoreTrailingComments?: boolean
1298
+ } | number)]|[({
1299
+ code?: number
1300
+ comments?: number
1301
+ tabWidth?: number
1302
+ ignorePattern?: string
1303
+ ignoreComments?: boolean
1304
+ ignoreStrings?: boolean
1305
+ ignoreUrls?: boolean
1306
+ ignoreTemplateLiterals?: boolean
1307
+ ignoreRegExpLiterals?: boolean
1308
+ ignoreTrailingComments?: boolean
1309
+ } | number), ({
1310
+ code?: number
1311
+ comments?: number
1312
+ tabWidth?: number
1313
+ ignorePattern?: string
1314
+ ignoreComments?: boolean
1315
+ ignoreStrings?: boolean
1316
+ ignoreUrls?: boolean
1317
+ ignoreTemplateLiterals?: boolean
1318
+ ignoreRegExpLiterals?: boolean
1319
+ ignoreTrailingComments?: boolean
1320
+ } | number)]|[({
1321
+ code?: number
1322
+ comments?: number
1323
+ tabWidth?: number
1324
+ ignorePattern?: string
1325
+ ignoreComments?: boolean
1326
+ ignoreStrings?: boolean
1327
+ ignoreUrls?: boolean
1328
+ ignoreTemplateLiterals?: boolean
1329
+ ignoreRegExpLiterals?: boolean
1330
+ ignoreTrailingComments?: boolean
1331
+ } | number), ({
1332
+ code?: number
1333
+ comments?: number
1334
+ tabWidth?: number
1335
+ ignorePattern?: string
1336
+ ignoreComments?: boolean
1337
+ ignoreStrings?: boolean
1338
+ ignoreUrls?: boolean
1339
+ ignoreTemplateLiterals?: boolean
1340
+ ignoreRegExpLiterals?: boolean
1341
+ ignoreTrailingComments?: boolean
1342
+ } | number), {
1343
+ code?: number
1344
+ comments?: number
1345
+ tabWidth?: number
1346
+ ignorePattern?: string
1347
+ ignoreComments?: boolean
1348
+ ignoreStrings?: boolean
1349
+ ignoreUrls?: boolean
1350
+ ignoreTemplateLiterals?: boolean
1351
+ ignoreRegExpLiterals?: boolean
1352
+ ignoreTrailingComments?: boolean
1353
+ }]
1354
+ // ----- style/max-statements-per-line -----
1355
+ type StyleMaxStatementsPerLine = []|[{
1356
+ max?: number
1357
+ ignoredNodes?: ("BreakStatement" | "ClassDeclaration" | "ContinueStatement" | "DebuggerStatement" | "DoWhileStatement" | "ExpressionStatement" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "IfStatement" | "ImportDeclaration" | "LabeledStatement" | "ReturnStatement" | "SwitchStatement" | "ThrowStatement" | "TryStatement" | "VariableDeclaration" | "WhileStatement" | "WithStatement" | "ExportNamedDeclaration" | "ExportDefaultDeclaration" | "ExportAllDeclaration")[]
1358
+ }]
1359
+ // ----- style/member-delimiter-style -----
1360
+ type StyleMemberDelimiterStyle = []|[{
1361
+ multiline?: {
1362
+ delimiter?: ("none" | "semi" | "comma")
1363
+ requireLast?: boolean
1364
+ }
1365
+ singleline?: {
1366
+ delimiter?: ("semi" | "comma")
1367
+ requireLast?: boolean
1368
+ }
1369
+ overrides?: {
1370
+ interface?: _StyleMemberDelimiterStyle_DelimiterConfig
1371
+ typeLiteral?: _StyleMemberDelimiterStyle_DelimiterConfig
1372
+ }
1373
+ multilineDetection?: ("brackets" | "last-member")
1374
+ }]
1375
+ interface _StyleMemberDelimiterStyle_DelimiterConfig {
1376
+ multiline?: {
1377
+ delimiter?: ("none" | "semi" | "comma")
1378
+ requireLast?: boolean
1379
+ }
1380
+ singleline?: {
1381
+ delimiter?: ("semi" | "comma")
1382
+ requireLast?: boolean
1383
+ }
1384
+ }
1385
+ // ----- style/multiline-comment-style -----
1386
+ type StyleMultilineCommentStyle = ([]|[("starred-block" | "bare-block")] | []|["separate-lines"]|["separate-lines", {
1387
+ checkJSDoc?: boolean
1388
+ }])
1389
+ // ----- style/multiline-ternary -----
1390
+ type StyleMultilineTernary = []|[("always" | "always-multiline" | "never")]|[("always" | "always-multiline" | "never"), {
1391
+ ignoreJSX?: boolean
1392
+ [k: string]: unknown | undefined
1393
+ }]
1394
+ // ----- style/new-parens -----
1395
+ type StyleNewParens = []|[("always" | "never")]
1396
+ // ----- style/newline-per-chained-call -----
1397
+ type StyleNewlinePerChainedCall = []|[{
1398
+ ignoreChainWithDepth?: number
1399
+ }]
1400
+ // ----- style/no-confusing-arrow -----
1401
+ type StyleNoConfusingArrow = []|[{
1402
+ allowParens?: boolean
1403
+ onlyOneSimpleParam?: boolean
1404
+ }]
1405
+ // ----- style/no-extra-parens -----
1406
+ type StyleNoExtraParens = ([]|["functions"] | []|["all"]|["all", {
1407
+ conditionalAssign?: boolean
1408
+ ternaryOperandBinaryExpressions?: boolean
1409
+ nestedBinaryExpressions?: boolean
1410
+ returnAssign?: boolean
1411
+ ignoreJSX?: ("none" | "all" | "single-line" | "multi-line")
1412
+ enforceForArrowConditionals?: boolean
1413
+ enforceForSequenceExpressions?: boolean
1414
+ enforceForNewInMemberExpressions?: boolean
1415
+ enforceForFunctionPrototypeMethods?: boolean
1416
+ allowParensAfterCommentPattern?: string
1417
+ }])
1418
+ // ----- style/no-mixed-operators -----
1419
+ type StyleNoMixedOperators = []|[{
1420
+ groups?: [("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ...(("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"))[]][]
1421
+ allowSamePrecedence?: boolean
1422
+ }]
1423
+ // ----- style/no-mixed-spaces-and-tabs -----
1424
+ type StyleNoMixedSpacesAndTabs = []|[("smart-tabs" | boolean)]
1425
+ // ----- style/no-multi-spaces -----
1426
+ type StyleNoMultiSpaces = []|[{
1427
+ exceptions?: {
1428
+ [k: string]: boolean
1429
+ }
1430
+ ignoreEOLComments?: boolean
1431
+ includeTabs?: boolean
1432
+ }]
1433
+ // ----- style/no-multiple-empty-lines -----
1434
+ type StyleNoMultipleEmptyLines = []|[{
1435
+ max: number
1436
+ maxEOF?: number
1437
+ maxBOF?: number
1438
+ }]
1439
+ // ----- style/no-tabs -----
1440
+ type StyleNoTabs = []|[{
1441
+ allowIndentationTabs?: boolean
1442
+ }]
1443
+ // ----- style/no-trailing-spaces -----
1444
+ type StyleNoTrailingSpaces = []|[{
1445
+ skipBlankLines?: boolean
1446
+ ignoreComments?: boolean
1447
+ }]
1448
+ // ----- style/nonblock-statement-body-position -----
1449
+ type StyleNonblockStatementBodyPosition = []|[("beside" | "below" | "any")]|[("beside" | "below" | "any"), {
1450
+ overrides?: {
1451
+ if?: ("beside" | "below" | "any")
1452
+ else?: ("beside" | "below" | "any")
1453
+ while?: ("beside" | "below" | "any")
1454
+ do?: ("beside" | "below" | "any")
1455
+ for?: ("beside" | "below" | "any")
1456
+ }
1457
+ }]
1458
+ // ----- style/object-curly-newline -----
1459
+ type StyleObjectCurlyNewline = []|[((("always" | "never") | {
1460
+ multiline?: boolean
1461
+ minProperties?: number
1462
+ consistent?: boolean
1463
+ }) | {
1464
+ ObjectExpression?: (("always" | "never") | {
1465
+ multiline?: boolean
1466
+ minProperties?: number
1467
+ consistent?: boolean
1468
+ })
1469
+ ObjectPattern?: (("always" | "never") | {
1470
+ multiline?: boolean
1471
+ minProperties?: number
1472
+ consistent?: boolean
1473
+ })
1474
+ ImportDeclaration?: (("always" | "never") | {
1475
+ multiline?: boolean
1476
+ minProperties?: number
1477
+ consistent?: boolean
1478
+ })
1479
+ ExportDeclaration?: (("always" | "never") | {
1480
+ multiline?: boolean
1481
+ minProperties?: number
1482
+ consistent?: boolean
1483
+ })
1484
+ TSTypeLiteral?: (("always" | "never") | {
1485
+ multiline?: boolean
1486
+ minProperties?: number
1487
+ consistent?: boolean
1488
+ })
1489
+ TSInterfaceBody?: (("always" | "never") | {
1490
+ multiline?: boolean
1491
+ minProperties?: number
1492
+ consistent?: boolean
1493
+ })
1494
+ })]
1495
+ // ----- style/object-curly-spacing -----
1496
+ type StyleObjectCurlySpacing = []|[("always" | "never")]|[("always" | "never"), {
1497
+ arraysInObjects?: boolean
1498
+ objectsInObjects?: boolean
1499
+ }]
1500
+ // ----- style/object-property-newline -----
1501
+ type StyleObjectPropertyNewline = []|[{
1502
+ allowAllPropertiesOnSameLine?: boolean
1503
+ allowMultiplePropertiesPerLine?: boolean
1504
+ }]
1505
+ // ----- style/one-var-declaration-per-line -----
1506
+ type StyleOneVarDeclarationPerLine = []|[("always" | "initializations")]
1507
+ // ----- style/operator-linebreak -----
1508
+ type StyleOperatorLinebreak = []|[(("after" | "before" | "none") | null)]|[(("after" | "before" | "none") | null), {
1509
+ overrides?: {
1510
+ [k: string]: ("after" | "before" | "none" | "ignore") | undefined
1511
+ }
1512
+ }]
1513
+ // ----- style/padded-blocks -----
1514
+ type StylePaddedBlocks = []|[(("always" | "never") | {
1515
+ blocks?: ("always" | "never")
1516
+ switches?: ("always" | "never")
1517
+ classes?: ("always" | "never")
1518
+ })]|[(("always" | "never") | {
1519
+ blocks?: ("always" | "never")
1520
+ switches?: ("always" | "never")
1521
+ classes?: ("always" | "never")
1522
+ }), {
1523
+ allowSingleLineBlocks?: boolean
1524
+ }]
1525
+ // ----- style/padding-line-between-statements -----
1526
+ type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always")
1527
+ type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]])
1528
+ type StylePaddingLineBetweenStatements = {
1529
+ blankLine: _StylePaddingLineBetweenStatementsPaddingType
1530
+ prev: _StylePaddingLineBetweenStatementsStatementType
1531
+ next: _StylePaddingLineBetweenStatementsStatementType
1532
+ }[]
1533
+ // ----- style/quote-props -----
1534
+ type StyleQuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
1535
+ keywords?: boolean
1536
+ unnecessary?: boolean
1537
+ numbers?: boolean
1538
+ }])
1539
+ // ----- style/quotes -----
1540
+ type StyleQuotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
1541
+ avoidEscape?: boolean
1542
+ allowTemplateLiterals?: boolean
1543
+ ignoreStringLiterals?: boolean
1544
+ })]
1545
+ // ----- style/rest-spread-spacing -----
1546
+ type StyleRestSpreadSpacing = []|[("always" | "never")]
1547
+ // ----- style/semi -----
1548
+ type StyleSemi = ([]|["never"]|["never", {
1549
+ beforeStatementContinuationChars?: ("always" | "any" | "never")
1550
+ }] | []|["always"]|["always", {
1551
+ omitLastInOneLineBlock?: boolean
1552
+ omitLastInOneLineClassBody?: boolean
1553
+ }])
1554
+ // ----- style/semi-spacing -----
1555
+ type StyleSemiSpacing = []|[{
1556
+ before?: boolean
1557
+ after?: boolean
1558
+ }]
1559
+ // ----- style/semi-style -----
1560
+ type StyleSemiStyle = []|[("last" | "first")]
1561
+ // ----- style/space-before-blocks -----
1562
+ type StyleSpaceBeforeBlocks = []|[(("always" | "never") | {
1563
+ keywords?: ("always" | "never" | "off")
1564
+ functions?: ("always" | "never" | "off")
1565
+ classes?: ("always" | "never" | "off")
1566
+ })]
1567
+ // ----- style/space-before-function-paren -----
1568
+ type StyleSpaceBeforeFunctionParen = []|[(("always" | "never") | {
1569
+ anonymous?: ("always" | "never" | "ignore")
1570
+ named?: ("always" | "never" | "ignore")
1571
+ asyncArrow?: ("always" | "never" | "ignore")
1572
+ })]
1573
+ // ----- style/space-in-parens -----
1574
+ type StyleSpaceInParens = []|[("always" | "never")]|[("always" | "never"), {
1575
+ exceptions?: ("{}" | "[]" | "()" | "empty")[]
1576
+ }]
1577
+ // ----- style/space-infix-ops -----
1578
+ type StyleSpaceInfixOps = []|[{
1579
+ int32Hint?: boolean
1580
+ }]
1581
+ // ----- style/space-unary-ops -----
1582
+ type StyleSpaceUnaryOps = []|[{
1583
+ words?: boolean
1584
+ nonwords?: boolean
1585
+ overrides?: {
1586
+ [k: string]: boolean | undefined
1587
+ }
1588
+ }]
1589
+ // ----- style/spaced-comment -----
1590
+ type StyleSpacedComment = []|[("always" | "never")]|[("always" | "never"), {
1591
+ exceptions?: string[]
1592
+ markers?: string[]
1593
+ line?: {
1594
+ exceptions?: string[]
1595
+ markers?: string[]
1596
+ }
1597
+ block?: {
1598
+ exceptions?: string[]
1599
+ markers?: string[]
1600
+ balanced?: boolean
1601
+ }
1602
+ }]
1603
+ // ----- style/switch-colon-spacing -----
1604
+ type StyleSwitchColonSpacing = []|[{
1605
+ before?: boolean
1606
+ after?: boolean
1607
+ }]
1608
+ // ----- style/template-curly-spacing -----
1609
+ type StyleTemplateCurlySpacing = []|[("always" | "never")]
1610
+ // ----- style/template-tag-spacing -----
1611
+ type StyleTemplateTagSpacing = []|[("always" | "never")]
1612
+ // ----- style/type-annotation-spacing -----
1613
+ type StyleTypeAnnotationSpacing = []|[{
1614
+ before?: boolean
1615
+ after?: boolean
1616
+ overrides?: {
1617
+ colon?: _StyleTypeAnnotationSpacing_SpacingConfig
1618
+ arrow?: _StyleTypeAnnotationSpacing_SpacingConfig
1619
+ variable?: _StyleTypeAnnotationSpacing_SpacingConfig
1620
+ parameter?: _StyleTypeAnnotationSpacing_SpacingConfig
1621
+ property?: _StyleTypeAnnotationSpacing_SpacingConfig
1622
+ returnType?: _StyleTypeAnnotationSpacing_SpacingConfig
1623
+ }
1624
+ }]
1625
+ interface _StyleTypeAnnotationSpacing_SpacingConfig {
1626
+ before?: boolean
1627
+ after?: boolean
1628
+ }
1629
+ // ----- style/wrap-iife -----
1630
+ type StyleWrapIife = []|[("outside" | "inside" | "any")]|[("outside" | "inside" | "any"), {
1631
+ functionPrototypeMethods?: boolean
1632
+ }]
1633
+ // ----- style/yield-star-spacing -----
1634
+ type StyleYieldStarSpacing = []|[(("before" | "after" | "both" | "neither") | {
1635
+ before?: boolean
1636
+ after?: boolean
1637
+ })]