@eslinted/defaults 12.11.1 → 12.12.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 (89) hide show
  1. package/.github/workflows/RELEASE.yml +36 -36
  2. package/.github/workflows/rc.yml +36 -36
  3. package/.markdownlint.jsonc +97 -97
  4. package/.mocharc.yml +15 -15
  5. package/LICENSE +20 -20
  6. package/README.md +4 -4
  7. package/eslint.config.js +3 -3
  8. package/package.json +56 -56
  9. package/src/files/_factory/index.ts +76 -76
  10. package/src/files/_factory/project/index.ts +2 -2
  11. package/src/files/_factory/project/roots.ts +4 -4
  12. package/src/files/_factory/project/subroots.ts +8 -8
  13. package/src/files/index.ts +23 -23
  14. package/src/files/scopes/css.ts +5 -5
  15. package/src/files/scopes/html.ts +5 -5
  16. package/src/files/scopes/js.ts +5 -5
  17. package/src/files/scopes/json.ts +5 -5
  18. package/src/files/scopes/jsonc.ts +5 -5
  19. package/src/files/scopes/jsoncc.ts +9 -9
  20. package/src/files/scopes/mocha.ts +5 -5
  21. package/src/files/scopes/svelte.ts +5 -5
  22. package/src/files/scopes/ts.ts +5 -5
  23. package/src/files/scopes/yml.ts +8 -8
  24. package/src/ignores/global.ts +5 -5
  25. package/src/ignores/index.ts +25 -25
  26. package/src/ignores/scopes/css.ts +1 -1
  27. package/src/ignores/scopes/html.ts +1 -1
  28. package/src/ignores/scopes/js.ts +1 -1
  29. package/src/ignores/scopes/json.ts +1 -1
  30. package/src/ignores/scopes/jsonc.ts +1 -1
  31. package/src/ignores/scopes/jsoncc.ts +1 -1
  32. package/src/ignores/scopes/mocha.ts +1 -1
  33. package/src/ignores/scopes/svelte.ts +1 -1
  34. package/src/ignores/scopes/ts.ts +1 -1
  35. package/src/ignores/scopes/yml.ts +1 -1
  36. package/src/index.ts +10 -10
  37. package/src/rules/_strings/id.ts +21 -21
  38. package/src/rules/_strings/index.ts +3 -3
  39. package/src/rules/_strings/option.ts +30 -30
  40. package/src/rules/_strings/state.spec.ts +64 -64
  41. package/src/rules/_strings/state.ts +4 -4
  42. package/src/rules/index.ts +23 -23
  43. package/src/rules/scopes/css/enable.ts +31 -31
  44. package/src/rules/scopes/css/index.ts +3 -3
  45. package/src/rules/scopes/enable.style.ts +507 -507
  46. package/src/rules/scopes/enable.ts +390 -390
  47. package/src/rules/scopes/html/index.ts +3 -3
  48. package/src/rules/scopes/html/plugin/index.ts +113 -113
  49. package/src/rules/scopes/index.ts +7 -7
  50. package/src/rules/scopes/json/enable.ts +18 -18
  51. package/src/rules/scopes/json/index.ts +9 -9
  52. package/src/rules/scopes/json/plugin/extension.ts +60 -60
  53. package/src/rules/scopes/json/plugin/index.ts +35 -35
  54. package/src/rules/scopes/jsonc/index.ts +3 -3
  55. package/src/rules/scopes/jsonc/plugin/index.ts +12 -12
  56. package/src/rules/scopes/jsoncc/index.ts +3 -3
  57. package/src/rules/scopes/jsoncc/plugin/index.ts +16 -16
  58. package/src/rules/scopes/mocha/chai/expect.ts +16 -16
  59. package/src/rules/scopes/mocha/chai/index.ts +18 -18
  60. package/src/rules/scopes/mocha/disable.ts +13 -13
  61. package/src/rules/scopes/mocha/enable.ts +36 -36
  62. package/src/rules/scopes/mocha/index.ts +11 -11
  63. package/src/rules/scopes/svelte/disable.ts +19 -19
  64. package/src/rules/scopes/svelte/enable.ts +157 -157
  65. package/src/rules/scopes/svelte/extension/disable.ts +14 -14
  66. package/src/rules/scopes/svelte/extension/index.ts +17 -17
  67. package/src/rules/scopes/svelte/index.ts +11 -11
  68. package/src/rules/scopes/ts/disable.ts +30 -30
  69. package/src/rules/scopes/ts/enable.ts +188 -188
  70. package/src/rules/scopes/ts/extension/disable.ts +35 -35
  71. package/src/rules/scopes/ts/extension/index.ts +62 -62
  72. package/src/rules/scopes/ts/index.ts +11 -11
  73. package/src/rules/scopes/yml/index.ts +7 -7
  74. package/src/rules/scopes/yml/plugin/extension.ts +55 -55
  75. package/src/rules/scopes/yml/plugin/index.ts +38 -38
  76. package/src/settings/global/index.ts +6 -6
  77. package/src/settings/index.ts +7 -7
  78. package/src/settings/registry/index.ts +23 -23
  79. package/src/settings/registry/manifests/css.ts +9 -9
  80. package/src/settings/registry/manifests/html.ts +10 -10
  81. package/src/settings/registry/manifests/js.ts +8 -8
  82. package/src/settings/registry/manifests/json.ts +7 -7
  83. package/src/settings/registry/manifests/jsonc.ts +9 -9
  84. package/src/settings/registry/manifests/jsoncc.ts +9 -9
  85. package/src/settings/registry/manifests/mocha.ts +8 -8
  86. package/src/settings/registry/manifests/svelte.ts +10 -10
  87. package/src/settings/registry/manifests/ts.ts +30 -30
  88. package/src/settings/registry/manifests/yml.ts +9 -9
  89. package/tsconfig.json +75 -75
@@ -1,507 +1,507 @@
1
- import {
2
- ID,
3
- // OFF,
4
- WARN,
5
- ON,
6
- always_multiline,
7
- always,
8
- as_needed,
9
- before,
10
- below,
11
- consistent,
12
- double,
13
- inside,
14
- never,
15
- wildcard,
16
- } from "../_strings";
17
-
18
- export const EnableStyle = {
19
- id: ID.Enable.Style,
20
- rules: {
21
- // DOC: https://eslint.style/rules
22
- "@stylistic/array-bracket-newline": ON,
23
- "@stylistic/array-bracket-spacing": ON,
24
- "@stylistic/array-element-newline": [
25
- ON,
26
- {
27
- consistent: true,
28
- multiline: true,
29
- minItems: 3,
30
- } /* never | consistent | @default always | { ... } */,
31
- ],
32
- "@stylistic/arrow-parens": [
33
- ON,
34
- as_needed /* as-needed | @default always */,
35
- ],
36
- "@stylistic/arrow-spacing": ON,
37
- "@stylistic/block-spacing": ON,
38
- "@stylistic/brace-style": [
39
- ON,
40
- "stroustrup" /* stroustrup | allman | @default 1tbs */,
41
- {
42
- allowSingleLine: true /* @default false */,
43
- },
44
- ],
45
- "@stylistic/comma-dangle": [
46
- ON,
47
- always_multiline,
48
- ],
49
- "@stylistic/comma-spacing": ON,
50
- "@stylistic/comma-style": ON,
51
- "@stylistic/computed-property-spacing": ON,
52
- "@stylistic/curly-newline": ON,
53
- "@stylistic/dot-location": [
54
- ON,
55
- "property" /* property | @default object */,
56
- ],
57
- "@stylistic/eol-last": ON,
58
- "@stylistic/function-call-argument-newline": [
59
- ON,
60
- consistent /* consistent | never | @default always */,
61
- ],
62
- "@stylistic/function-call-spacing": ON,
63
- "@stylistic/function-paren-newline": [
64
- ON,
65
- "multiline-arguments",
66
- ] /* BUG: https://github.com/eslint-stylistic/eslint-stylistic/issues/290 */,
67
- "@stylistic/generator-star-spacing": ON,
68
- "@stylistic/implicit-arrow-linebreak": ON,
69
- "@stylistic/indent": [
70
- ON,
71
- 2 /* tab | number | @default 4 */,
72
- {
73
- VariableDeclarator: {
74
- "var": 0,
75
- let: 0,
76
- "const": 0,
77
- },
78
- outerIIFEBody: 0,
79
- offsetTernaryExpressions: true,
80
- },
81
- ],
82
- "@stylistic/indent-binary-ops": [
83
- ON,
84
- 2 /* MUST be same as `@stylistic/indent`[1] */,
85
- ],
86
- "@stylistic/key-spacing": ON,
87
- "@stylistic/keyword-spacing": ON,
88
- // "@stylistic/line-comment-position": OFF,
89
- // "@stylistic/lines-around-comment": OFF,
90
- "@stylistic/lines-between-class-members": [
91
- ON,
92
- {
93
- enforce: [
94
- {
95
- prev: "field",
96
- next: "field",
97
- blankLine: never,
98
- },
99
- {
100
- prev: "field",
101
- next: "method",
102
- blankLine: always,
103
- },
104
- {
105
- prev: "method",
106
- next: wildcard,
107
- blankLine: always,
108
- },
109
- ],
110
- },
111
- ],
112
- "@stylistic/max-len": [
113
- ON,
114
- {
115
- code: 300 /* @default 80 */,
116
- // tabWidth: 4,
117
- ignoreComments: true,
118
- ignoreTrailingComments: true,
119
- ignoreUrls: true,
120
- ignoreStrings: true,
121
- ignoreTemplateLiterals: true,
122
- ignoreRegExpLiterals: true,
123
- },
124
- ],
125
- "@stylistic/max-statements-per-line": ON,
126
- "@stylistic/member-delimiter-style": ON,
127
- // "@stylistic/multiline-comment-style": OFF,
128
- "@stylistic/multiline-ternary": [
129
- ON,
130
- always_multiline /* never | always-multiline | @default always */,
131
- ],
132
- // "@stylistic/new-parens": OFF,
133
- "@stylistic/newline-per-chained-call": ON,
134
- // "@stylistic/no-confusing-arrow": OFF,
135
- "@stylistic/no-extra-parens": ON,
136
- "@stylistic/no-extra-semi": ON,
137
- "@stylistic/no-floating-decimal": ON,
138
- // "@stylistic/no-mixed-operators": OFF,
139
- "@stylistic/no-mixed-spaces-and-tabs": ON,
140
- "@stylistic/no-multi-spaces": [
141
- ON,
142
- {
143
- exceptions: {
144
- Property: false,
145
- ImportAttributes: false,
146
- },
147
- },
148
- ],
149
- "@stylistic/no-multiple-empty-lines": [
150
- ON,
151
- {
152
- max: 1 /* @default 2 */,
153
- maxBOF: 0,
154
- maxEOF: 0 /* combine with `eol-last` to ensure file still ends with a single line-break (eol character) */,
155
- },
156
- ],
157
- "@stylistic/no-tabs": ON,
158
- "@stylistic/no-trailing-spaces": ON,
159
- "@stylistic/no-whitespace-before-property": ON,
160
- "@stylistic/nonblock-statement-body-position": [
161
- ON,
162
- below /* any | below | @default beside */,
163
- ],
164
- "@stylistic/object-curly-newline": [
165
- ON,
166
- {
167
- consistent: true,
168
- multiline: true,
169
- minProperties: 3,
170
- },
171
- ],
172
- "@stylistic/object-curly-spacing": [
173
- ON,
174
- always /* always | @default never */,
175
- ],
176
- "@stylistic/object-property-newline": ON,
177
- "@stylistic/one-var-declaration-per-line": [
178
- ON,
179
- always /* always | @default initializations */,
180
- ],
181
- "@stylistic/operator-linebreak": [
182
- ON,
183
- before /* ignore | none | before | @default after */,
184
- ],
185
- "@stylistic/padded-blocks": [
186
- ON,
187
- never /* never | start | end | @default always */,
188
- {
189
- allowSingleLineBlocks: true,
190
- },
191
- ],
192
- "@stylistic/padding-line-between-statements": [
193
- WARN,
194
- // #region *<
195
- {
196
- blankLine: never,
197
- prev: [
198
- "block-like",
199
- "block",
200
- "break",
201
- "case",
202
- "cjs-export",
203
- "cjs-import",
204
- "class",
205
- "const",
206
- "continue",
207
- "debugger",
208
- "default",
209
- "directive",
210
- "do",
211
- "empty",
212
- "enum",
213
- "export",
214
- // "expression" /* aren't most of these expressions? */,
215
- "for",
216
- "function-overload",
217
- "function",
218
- "if",
219
- "iife",
220
- "import",
221
- "interface",
222
- "let",
223
- "multiline-block-like",
224
- "multiline-const",
225
- "multiline-export",
226
- // "multiline-expression" /* aren't most of these expressions? */,
227
- "multiline-let",
228
- "multiline-var",
229
- "return",
230
- "singleline-const",
231
- "singleline-export",
232
- "singleline-let",
233
- "singleline-var",
234
- "switch",
235
- "throw",
236
- "try",
237
- "type",
238
- "using",
239
- "var",
240
- "while",
241
- "with",
242
- ],
243
- next: wildcard,
244
- },
245
- // #endregion
246
- // #region <Block>
247
- {
248
- blankLine: always,
249
- prev: [
250
- "block-like",
251
- "block",
252
- "class",
253
- "debugger",
254
- "directive",
255
- "do",
256
- "empty",
257
- "for",
258
- "function-overload",
259
- "function",
260
- "if",
261
- "interface",
262
- "multiline-block-like",
263
- "switch",
264
- "try",
265
- "using",
266
- "while",
267
- "with",
268
- ],
269
- next: wildcard,
270
- },
271
- {
272
- blankLine: always,
273
- prev: wildcard,
274
- next: [
275
- "block-like",
276
- "block",
277
- "class",
278
- "debugger",
279
- "directive",
280
- "do",
281
- "empty",
282
- "for",
283
- "function-overload",
284
- "function",
285
- "if",
286
- "interface",
287
- "multiline-block-like",
288
- "switch",
289
- "try",
290
- "using",
291
- "while",
292
- "with",
293
- ],
294
- },
295
- // #endregion
296
- // #region Declaration>
297
- {
298
- blankLine: never,
299
- prev: "interface",
300
- next: [
301
- "class",
302
- "function-overload",
303
- "function",
304
- ],
305
- },
306
- {
307
- blankLine: never,
308
- prev: "function-overload",
309
- next: [
310
- "function-overload",
311
- "function",
312
- ],
313
- },
314
- // #endregion
315
- // #region <=[]
316
- {
317
- blankLine: always,
318
- prev: [
319
- "const",
320
- "enum",
321
- "let",
322
- "multiline-const",
323
- "multiline-let",
324
- "multiline-var",
325
- "singleline-const",
326
- "singleline-let",
327
- "singleline-var",
328
- "type",
329
- "var",
330
- ],
331
- next: [
332
- "expression",
333
- "multiline-expression",
334
- "iife",
335
- ],
336
- },
337
- // #endregion
338
- // #region Import[]>
339
- {
340
- blankLine: always,
341
- prev: [
342
- "cjs-import",
343
- "import",
344
- ],
345
- next: wildcard,
346
- },
347
- {
348
- blankLine: never,
349
- prev: [
350
- "cjs-import",
351
- "import",
352
- ],
353
- next: [
354
- "cjs-import",
355
- "import",
356
- ],
357
- },
358
- // #endregion
359
- // #region <Export[]>
360
- {
361
- blankLine: always,
362
- prev: [
363
- "cjs-export",
364
- "export",
365
- "multiline-export",
366
- "singleline-export",
367
- ],
368
- next: wildcard,
369
- },
370
- {
371
- blankLine: always,
372
- prev: wildcard,
373
- next: [
374
- "cjs-export",
375
- "export",
376
- "multiline-export",
377
- "singleline-export",
378
- ],
379
- },
380
- {
381
- blankLine: never,
382
- prev: [
383
- "cjs-export",
384
- "export",
385
- "multiline-export",
386
- "singleline-export",
387
- ],
388
- next: [
389
- "cjs-export",
390
- "export",
391
- "multiline-export",
392
- "singleline-export",
393
- ],
394
- },
395
- // #endregion
396
- // #region <Return>
397
- {
398
- blankLine: always,
399
- prev: [
400
- "break",
401
- "continue",
402
- "return",
403
- "throw",
404
- ],
405
- next: wildcard,
406
- },
407
- {
408
- blankLine: always,
409
- prev: wildcard,
410
- next: [
411
- "break",
412
- "continue",
413
- "return",
414
- "throw",
415
- ],
416
- },
417
- // #endregion
418
- ],
419
- "@stylistic/quote-props": [
420
- ON,
421
- as_needed,
422
- {
423
- keywords: true,
424
- },
425
- ],
426
- "@stylistic/quotes": [
427
- ON,
428
- double /* @default double */,
429
- {
430
- avoidEscape: true,
431
- allowTemplateLiterals: always /* always | avoidEscape | @default never */,
432
- },
433
- ],
434
- "@stylistic/rest-spread-spacing": ON,
435
- "@stylistic/semi": ON,
436
- "@stylistic/semi-spacing": ON,
437
- "@stylistic/semi-style": ON,
438
- "@stylistic/space-before-blocks": ON,
439
- "@stylistic/space-before-function-paren": [
440
- ON,
441
- {
442
- named: never,
443
- },
444
- ],
445
- "@stylistic/space-in-parens": ON,
446
- "@stylistic/space-infix-ops": ON,
447
- "@stylistic/space-unary-ops": ON,
448
- "@stylistic/spaced-comment": [
449
- ON,
450
- always,
451
- {
452
- line: {
453
- exceptions: [
454
- "/",
455
- "-",
456
- "+",
457
- "=",
458
- ],
459
- markers: [
460
- "!",
461
- "@",
462
- "#",
463
- "/",
464
- "#region",
465
- "#endregion",
466
- "#part",
467
- "/#region",
468
- "/#endregion",
469
- "/#part",
470
- ],
471
- },
472
- block: {
473
- exceptions: ["*"],
474
- markers: ["*"],
475
- balanced: true,
476
- },
477
- },
478
- ],
479
- "@stylistic/switch-colon-spacing": ON,
480
- "@stylistic/template-curly-spacing": ON,
481
- "@stylistic/template-tag-spacing": ON,
482
- "@stylistic/type-annotation-spacing": [
483
- ON,
484
- {
485
- before: true,
486
- after: true,
487
- overrides: {
488
- colon: {
489
- before: false,
490
- after: true,
491
- },
492
- },
493
- } /* non-overriden rule affects all type annotations (arrows, "as" keyword, "satisfies" keyword) except colons */,
494
- ],
495
- "@stylistic/type-generic-spacing": ON,
496
- "@stylistic/type-named-tuple-spacing": ON,
497
- "@stylistic/wrap-iife": [
498
- ON,
499
- inside,
500
- {
501
- functionPrototypeMethods: true,
502
- },
503
- ],
504
- "@stylistic/wrap-regex": ON,
505
- "@stylistic/yield-star-spacing": ON,
506
- } as const,
507
- };
1
+ import {
2
+ ID,
3
+ // OFF,
4
+ WARN,
5
+ ON,
6
+ always_multiline,
7
+ always,
8
+ as_needed,
9
+ before,
10
+ below,
11
+ consistent,
12
+ double,
13
+ inside,
14
+ never,
15
+ wildcard,
16
+ } from "../_strings";
17
+
18
+ export const EnableStyle = {
19
+ id: ID.Enable.Style,
20
+ rules: {
21
+ // DOC: https://eslint.style/rules
22
+ "@stylistic/array-bracket-newline": ON,
23
+ "@stylistic/array-bracket-spacing": ON,
24
+ "@stylistic/array-element-newline": [
25
+ ON,
26
+ {
27
+ consistent: true,
28
+ multiline: true,
29
+ minItems: 3,
30
+ } /* never | consistent | @default always | { ... } */,
31
+ ],
32
+ "@stylistic/arrow-parens": [
33
+ ON,
34
+ as_needed /* as-needed | @default always */,
35
+ ],
36
+ "@stylistic/arrow-spacing": ON,
37
+ "@stylistic/block-spacing": ON,
38
+ "@stylistic/brace-style": [
39
+ ON,
40
+ "stroustrup" /* stroustrup | allman | @default 1tbs */,
41
+ {
42
+ allowSingleLine: true /* @default false */,
43
+ },
44
+ ],
45
+ "@stylistic/comma-dangle": [
46
+ ON,
47
+ always_multiline,
48
+ ],
49
+ "@stylistic/comma-spacing": ON,
50
+ "@stylistic/comma-style": ON,
51
+ "@stylistic/computed-property-spacing": ON,
52
+ "@stylistic/curly-newline": ON,
53
+ "@stylistic/dot-location": [
54
+ ON,
55
+ "property" /* property | @default object */,
56
+ ],
57
+ "@stylistic/eol-last": ON,
58
+ "@stylistic/function-call-argument-newline": [
59
+ ON,
60
+ consistent /* consistent | never | @default always */,
61
+ ],
62
+ "@stylistic/function-call-spacing": ON,
63
+ "@stylistic/function-paren-newline": [
64
+ ON,
65
+ "multiline-arguments",
66
+ ] /* BUG: https://github.com/eslint-stylistic/eslint-stylistic/issues/290 */,
67
+ "@stylistic/generator-star-spacing": ON,
68
+ "@stylistic/implicit-arrow-linebreak": ON,
69
+ "@stylistic/indent": [
70
+ ON,
71
+ 2 /* tab | number | @default 4 */,
72
+ {
73
+ VariableDeclarator: {
74
+ "var": 0,
75
+ let: 0,
76
+ "const": 0,
77
+ },
78
+ outerIIFEBody: 0,
79
+ offsetTernaryExpressions: true,
80
+ },
81
+ ],
82
+ "@stylistic/indent-binary-ops": [
83
+ ON,
84
+ 2 /* MUST be same as `@stylistic/indent`[1] */,
85
+ ],
86
+ "@stylistic/key-spacing": ON,
87
+ "@stylistic/keyword-spacing": ON,
88
+ // "@stylistic/line-comment-position": OFF,
89
+ // "@stylistic/lines-around-comment": OFF,
90
+ "@stylistic/lines-between-class-members": [
91
+ ON,
92
+ {
93
+ enforce: [
94
+ {
95
+ prev: "field",
96
+ next: "field",
97
+ blankLine: never,
98
+ },
99
+ {
100
+ prev: "field",
101
+ next: "method",
102
+ blankLine: always,
103
+ },
104
+ {
105
+ prev: "method",
106
+ next: wildcard,
107
+ blankLine: always,
108
+ },
109
+ ],
110
+ },
111
+ ],
112
+ "@stylistic/max-len": [
113
+ ON,
114
+ {
115
+ code: 300 /* @default 80 */,
116
+ // tabWidth: 4,
117
+ ignoreComments: true,
118
+ ignoreTrailingComments: true,
119
+ ignoreUrls: true,
120
+ ignoreStrings: true,
121
+ ignoreTemplateLiterals: true,
122
+ ignoreRegExpLiterals: true,
123
+ },
124
+ ],
125
+ "@stylistic/max-statements-per-line": ON,
126
+ "@stylistic/member-delimiter-style": ON,
127
+ // "@stylistic/multiline-comment-style": OFF,
128
+ "@stylistic/multiline-ternary": [
129
+ ON,
130
+ always_multiline /* never | always-multiline | @default always */,
131
+ ],
132
+ // "@stylistic/new-parens": OFF,
133
+ "@stylistic/newline-per-chained-call": ON,
134
+ // "@stylistic/no-confusing-arrow": OFF,
135
+ "@stylistic/no-extra-parens": ON,
136
+ "@stylistic/no-extra-semi": ON,
137
+ "@stylistic/no-floating-decimal": ON,
138
+ // "@stylistic/no-mixed-operators": OFF,
139
+ "@stylistic/no-mixed-spaces-and-tabs": ON,
140
+ "@stylistic/no-multi-spaces": [
141
+ ON,
142
+ {
143
+ exceptions: {
144
+ Property: false,
145
+ ImportAttributes: false,
146
+ },
147
+ },
148
+ ],
149
+ "@stylistic/no-multiple-empty-lines": [
150
+ ON,
151
+ {
152
+ max: 1 /* @default 2 */,
153
+ maxBOF: 0,
154
+ maxEOF: 0 /* combine with `eol-last` to ensure file still ends with a single line-break (eol character) */,
155
+ },
156
+ ],
157
+ "@stylistic/no-tabs": ON,
158
+ "@stylistic/no-trailing-spaces": ON,
159
+ "@stylistic/no-whitespace-before-property": ON,
160
+ "@stylistic/nonblock-statement-body-position": [
161
+ ON,
162
+ below /* any | below | @default beside */,
163
+ ],
164
+ "@stylistic/object-curly-newline": [
165
+ ON,
166
+ {
167
+ consistent: true,
168
+ multiline: true,
169
+ minProperties: 3,
170
+ },
171
+ ],
172
+ "@stylistic/object-curly-spacing": [
173
+ ON,
174
+ always /* always | @default never */,
175
+ ],
176
+ "@stylistic/object-property-newline": ON,
177
+ "@stylistic/one-var-declaration-per-line": [
178
+ ON,
179
+ always /* always | @default initializations */,
180
+ ],
181
+ "@stylistic/operator-linebreak": [
182
+ ON,
183
+ before /* ignore | none | before | @default after */,
184
+ ],
185
+ "@stylistic/padded-blocks": [
186
+ ON,
187
+ never /* never | start | end | @default always */,
188
+ {
189
+ allowSingleLineBlocks: true,
190
+ },
191
+ ],
192
+ "@stylistic/padding-line-between-statements": [
193
+ WARN,
194
+ // #region *<
195
+ {
196
+ blankLine: never,
197
+ prev: [
198
+ "block-like",
199
+ "block",
200
+ "break",
201
+ "case",
202
+ "cjs-export",
203
+ "cjs-import",
204
+ "class",
205
+ "const",
206
+ "continue",
207
+ "debugger",
208
+ "default",
209
+ "directive",
210
+ "do",
211
+ "empty",
212
+ "enum",
213
+ "export",
214
+ // "expression" /* aren't most of these expressions? */,
215
+ "for",
216
+ "function-overload",
217
+ "function",
218
+ "if",
219
+ "iife",
220
+ "import",
221
+ "interface",
222
+ "let",
223
+ "multiline-block-like",
224
+ "multiline-const",
225
+ "multiline-export",
226
+ // "multiline-expression" /* aren't most of these expressions? */,
227
+ "multiline-let",
228
+ "multiline-var",
229
+ "return",
230
+ "singleline-const",
231
+ "singleline-export",
232
+ "singleline-let",
233
+ "singleline-var",
234
+ "switch",
235
+ "throw",
236
+ "try",
237
+ "type",
238
+ "using",
239
+ "var",
240
+ "while",
241
+ "with",
242
+ ],
243
+ next: wildcard,
244
+ },
245
+ // #endregion
246
+ // #region <Block>
247
+ {
248
+ blankLine: always,
249
+ prev: [
250
+ "block-like",
251
+ "block",
252
+ "class",
253
+ "debugger",
254
+ "directive",
255
+ "do",
256
+ "empty",
257
+ "for",
258
+ "function-overload",
259
+ "function",
260
+ "if",
261
+ "interface",
262
+ "multiline-block-like",
263
+ "switch",
264
+ "try",
265
+ "using",
266
+ "while",
267
+ "with",
268
+ ],
269
+ next: wildcard,
270
+ },
271
+ {
272
+ blankLine: always,
273
+ prev: wildcard,
274
+ next: [
275
+ "block-like",
276
+ "block",
277
+ "class",
278
+ "debugger",
279
+ "directive",
280
+ "do",
281
+ "empty",
282
+ "for",
283
+ "function-overload",
284
+ "function",
285
+ "if",
286
+ "interface",
287
+ "multiline-block-like",
288
+ "switch",
289
+ "try",
290
+ "using",
291
+ "while",
292
+ "with",
293
+ ],
294
+ },
295
+ // #endregion
296
+ // #region Declaration>
297
+ {
298
+ blankLine: never,
299
+ prev: "interface",
300
+ next: [
301
+ "class",
302
+ "function-overload",
303
+ "function",
304
+ ],
305
+ },
306
+ {
307
+ blankLine: never,
308
+ prev: "function-overload",
309
+ next: [
310
+ "function-overload",
311
+ "function",
312
+ ],
313
+ },
314
+ // #endregion
315
+ // #region <=[]
316
+ {
317
+ blankLine: always,
318
+ prev: [
319
+ "const",
320
+ "enum",
321
+ "let",
322
+ "multiline-const",
323
+ "multiline-let",
324
+ "multiline-var",
325
+ "singleline-const",
326
+ "singleline-let",
327
+ "singleline-var",
328
+ "type",
329
+ "var",
330
+ ],
331
+ next: [
332
+ "expression",
333
+ "multiline-expression",
334
+ "iife",
335
+ ],
336
+ },
337
+ // #endregion
338
+ // #region Import[]>
339
+ {
340
+ blankLine: always,
341
+ prev: [
342
+ "cjs-import",
343
+ "import",
344
+ ],
345
+ next: wildcard,
346
+ },
347
+ {
348
+ blankLine: never,
349
+ prev: [
350
+ "cjs-import",
351
+ "import",
352
+ ],
353
+ next: [
354
+ "cjs-import",
355
+ "import",
356
+ ],
357
+ },
358
+ // #endregion
359
+ // #region <Export[]>
360
+ {
361
+ blankLine: always,
362
+ prev: [
363
+ "cjs-export",
364
+ "export",
365
+ "multiline-export",
366
+ "singleline-export",
367
+ ],
368
+ next: wildcard,
369
+ },
370
+ {
371
+ blankLine: always,
372
+ prev: wildcard,
373
+ next: [
374
+ "cjs-export",
375
+ "export",
376
+ "multiline-export",
377
+ "singleline-export",
378
+ ],
379
+ },
380
+ {
381
+ blankLine: never,
382
+ prev: [
383
+ "cjs-export",
384
+ "export",
385
+ "multiline-export",
386
+ "singleline-export",
387
+ ],
388
+ next: [
389
+ "cjs-export",
390
+ "export",
391
+ "multiline-export",
392
+ "singleline-export",
393
+ ],
394
+ },
395
+ // #endregion
396
+ // #region <Return>
397
+ {
398
+ blankLine: always,
399
+ prev: [
400
+ "break",
401
+ "continue",
402
+ "return",
403
+ "throw",
404
+ ],
405
+ next: wildcard,
406
+ },
407
+ {
408
+ blankLine: always,
409
+ prev: wildcard,
410
+ next: [
411
+ "break",
412
+ "continue",
413
+ "return",
414
+ "throw",
415
+ ],
416
+ },
417
+ // #endregion
418
+ ],
419
+ "@stylistic/quote-props": [
420
+ ON,
421
+ as_needed,
422
+ {
423
+ keywords: true,
424
+ },
425
+ ],
426
+ "@stylistic/quotes": [
427
+ ON,
428
+ double /* @default double */,
429
+ {
430
+ avoidEscape: true,
431
+ allowTemplateLiterals: always /* always | avoidEscape | @default never */,
432
+ },
433
+ ],
434
+ "@stylistic/rest-spread-spacing": ON,
435
+ "@stylistic/semi": ON,
436
+ "@stylistic/semi-spacing": ON,
437
+ "@stylistic/semi-style": ON,
438
+ "@stylistic/space-before-blocks": ON,
439
+ "@stylistic/space-before-function-paren": [
440
+ ON,
441
+ {
442
+ named: never,
443
+ },
444
+ ],
445
+ "@stylistic/space-in-parens": ON,
446
+ "@stylistic/space-infix-ops": ON,
447
+ "@stylistic/space-unary-ops": ON,
448
+ "@stylistic/spaced-comment": [
449
+ ON,
450
+ always,
451
+ {
452
+ line: {
453
+ exceptions: [
454
+ "/",
455
+ "-",
456
+ "+",
457
+ "=",
458
+ ],
459
+ markers: [
460
+ "!",
461
+ "@",
462
+ "#",
463
+ "/",
464
+ "#region",
465
+ "#endregion",
466
+ "#part",
467
+ "/#region",
468
+ "/#endregion",
469
+ "/#part",
470
+ ],
471
+ },
472
+ block: {
473
+ exceptions: ["*"],
474
+ markers: ["*"],
475
+ balanced: true,
476
+ },
477
+ },
478
+ ],
479
+ "@stylistic/switch-colon-spacing": ON,
480
+ "@stylistic/template-curly-spacing": ON,
481
+ "@stylistic/template-tag-spacing": ON,
482
+ "@stylistic/type-annotation-spacing": [
483
+ ON,
484
+ {
485
+ before: true,
486
+ after: true,
487
+ overrides: {
488
+ colon: {
489
+ before: false,
490
+ after: true,
491
+ },
492
+ },
493
+ } /* non-overriden rule affects all type annotations (arrows, "as" keyword, "satisfies" keyword) except colons */,
494
+ ],
495
+ "@stylistic/type-generic-spacing": ON,
496
+ "@stylistic/type-named-tuple-spacing": ON,
497
+ "@stylistic/wrap-iife": [
498
+ ON,
499
+ inside,
500
+ {
501
+ functionPrototypeMethods: true,
502
+ },
503
+ ],
504
+ "@stylistic/wrap-regex": ON,
505
+ "@stylistic/yield-star-spacing": ON,
506
+ } as const,
507
+ };