@paratco/eslint-config 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paratco/eslint-config",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "author": "Paratco",
@@ -11,7 +11,7 @@ export default [
11
11
  flat: true,
12
12
  blockSpacing: true,
13
13
  braceStyle: "stroustrup",
14
- commaDangle: "always-multiline",
14
+ commaDangle: "never",
15
15
  indent: 2,
16
16
  semi: true,
17
17
  quotes: "double",
@@ -1,508 +1,510 @@
1
- export default {
2
-
3
- // https://eslint.style/rules/default/array-bracket-newline
4
- // Enforce linebreaks after opening and before closing array brackets
5
- "@stylistic/array-bracket-newline": ["warn"],
6
-
7
- // https://eslint.style/rules/default/array-bracket-spacing
8
- // Enforce consistent spacing inside array brackets
9
- "@stylistic/array-bracket-spacing": ["warn"],
10
-
11
- // https://eslint.style/rules/default/array-element-newline
12
- // Enforce line breaks after each array element
13
- "@stylistic/array-element-newline": ["warn", "consistent"],
14
-
15
- // https://eslint.style/rules/default/arrow-parens
16
- // Require parentheses around arrow function arguments
17
- "@stylistic/arrow-parens": ["warn", "always"],
18
-
19
- // https://eslint.style/rules/default/arrow-spacing
20
- // Enforce consistent spacing before and after the arrow in arrow functions
21
- "@stylistic/arrow-spacing": ["warn"],
22
-
23
- // https://eslint.style/rules/default/block-spacing
24
- // Disallow or enforce spaces inside of blocks after opening block and before closing block
25
- "@stylistic/block-spacing": ["warn"],
26
-
27
- // https://eslint.style/rules/default/brace-style
28
- // Enforce consistent brace style for blocks
29
- "@stylistic/brace-style": ["warn", "1tbs"],
30
-
31
- // https://eslint.style/rules/default/comma-dangle
32
- // Require or disallow trailing commas
33
- "@stylistic/comma-dangle": ["warn"],
34
-
35
- // https://eslint.style/rules/default/comma-spacing
36
- // Enforce consistent spacing before and after commas
37
- "@stylistic/comma-spacing": ["warn"],
38
-
39
- // https://eslint.style/rules/default/comma-style
40
- // Enforce consistent comma style
41
- "@stylistic/comma-style": ["warn"],
42
-
43
- // https://eslint.style/rules/default/computed-property-spacing
44
- // Enforce consistent spacing inside computed property brackets
45
- "@stylistic/computed-property-spacing": ["warn"],
46
-
47
- // https://eslint.style/rules/default/dot-location
48
- // Enforce consistent newlines before and after dots
49
- "@stylistic/dot-location": ["warn", "property"],
50
-
51
- // https://eslint.style/rules/default/eol-last
52
- // Require or disallow newline at the end of files
53
- "@stylistic/eol-last": ["warn"],
54
-
55
- // https://eslint.style/rules/default/function-call-spacing
56
- // Require or disallow spacing between function identifiers and their invocations. Alias of `function-call-spacing`.
57
- "@stylistic/function-call-spacing": ["warn"],
58
-
59
- // https://eslint.style/rules/default/function-call-argument-newline
60
- // Enforce line breaks between arguments of a function call
61
- "@stylistic/function-call-argument-newline": ["warn", "consistent"],
62
-
63
- // https://eslint.style/rules/default/function-paren-newline
64
- // Enforce consistent line breaks inside function parentheses
65
- "@stylistic/function-paren-newline": ["warn", "consistent"],
66
-
67
- // https://eslint.style/rules/default/generator-star-spacing
68
- // Enforce consistent spacing around `*` operators in generator functions
69
- "@stylistic/generator-star-spacing": ["warn"],
70
-
71
- // https://eslint.style/rules/default/implicit-arrow-linebreak
72
- // Enforce the location of arrow function bodies
73
- "@stylistic/implicit-arrow-linebreak": ["warn"],
74
-
75
- // https://eslint.style/rules/default/indent
76
- // Enforce consistent indentation
77
- "@stylistic/indent": ["warn", 2],
78
-
79
- // https://eslint.style/rules/default/indent-binary-ops
80
- // Indentation for binary operators
81
- "@stylistic/indent-binary-ops": ["warn", 2],
82
-
83
- // https://eslint.style/rules/default/jsx-child-element-spacing
84
- // Enforce or disallow spaces inside curly braces in JSX attributes and expressions
85
- "@stylistic/jsx-child-element-spacing": ["error"],
86
-
87
- // https://eslint.style/rules/default/jsx-closing-bracket-location
88
- // Enforce closing bracket location in JSX
89
- "@stylistic/jsx-closing-bracket-location": ["warn"],
90
-
91
- // https://eslint.style/rules/default/jsx-closing-tag-location
92
- // Enforce closing tag location for multiline JSX
93
- "@stylistic/jsx-closing-tag-location": ["warn"],
94
-
95
- // https://eslint.style/rules/default/jsx-curly-brace-presence
96
- // Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
97
- "@stylistic/jsx-curly-brace-presence": ["warn"],
98
-
99
- // https://eslint.style/rules/default/jsx-curly-newline
100
- // Enforce consistent linebreaks in curly braces in JSX attributes and expressions
101
- "@stylistic/jsx-curly-newline": ["warn"],
102
-
103
- // https://eslint.style/rules/default/jsx-curly-spacing
104
- // Enforce or disallow spaces inside curly braces in JSX attributes and expressions
105
- "@stylistic/jsx-curly-spacing": ["warn"],
106
-
107
- // https://eslint.style/rules/default/jsx-equals-spacing
108
- // Enforce or disallow spaces around equal signs in JSX attributes
109
- "@stylistic/jsx-equals-spacing": ["warn"],
110
-
111
- // https://eslint.style/rules/default/jsx-first-prop-new-line
112
- // Enforce proper position of the first property in JSX
113
- "@stylistic/jsx-first-prop-new-line": ["warn"],
114
-
115
- // https://eslint.style/rules/default/jsx-function-call-newline
116
- // Enforce line breaks before and after JSX elements when they are used as arguments to a function.
117
- "@stylistic/jsx-function-call-newline": ["warn"],
118
-
119
- // https://eslint.style/rules/default/jsx-indent
120
- // Enforce JSX indentation
121
- "@stylistic/jsx-indent": ["warn", {checkAttributes: true, indentLogicalExpressions: true}],
122
-
123
- // https://eslint.style/rules/default/jsx-indent-props
124
- // Enforce props indentation in JSX
125
- "@stylistic/jsx-indent-props": ["warn", 2],
126
-
127
- // https://eslint.style/rules/default/jsx-max-props-per-line
128
- // Enforce maximum of props on a single line in JSX
129
- "@stylistic/jsx/jsx-max-props-per-line": ["off"],
130
-
131
- // https://eslint.style/rules/default/jsx-newline
132
- // Require or prevent a new line after jsx elements and expressions.
133
- "@stylistic/jsx-newline": ["off"],
134
-
135
- // https://eslint.style/rules/default/jsx-one-expression-per-line
136
- // Require one JSX element per line
137
- "@stylistic/jsx-one-expression-per-line": ["warn", { allow: "single-child" }],
138
-
139
- // https://eslint.style/rules/default/jsx-pascal-case
140
- // Enforce PascalCase for user-defined JSX components
141
- "@stylistic/jsx-pascal-case": ["error"],
142
-
143
- // https://eslint.style/rules/default/jsx-props-no-multi-spaces
144
- // Disallow multiple spaces between inline JSX props
145
- "@stylistic/jsx-props-no-multi-spaces": ["warn"],
146
-
147
- // https://eslint.style/rules/default/jsx-quotes
148
- // Enforce the consistent use of either double or single quotes in JSX attributes
149
- "@stylistic/jsx-quotes": ["warn"],
150
-
151
- // https://eslint.style/rules/default/jsx-self-closing-comp
152
- // Disallow extra closing tags for components without children
153
- "@stylistic/jsx-self-closing-comp": ["warn"],
154
-
155
- // https://eslint.style/rules/default/jsx-sort-props
156
- // Enforce props alphabetical sorting
157
- "@stylistic/jsx-sort-props": ["warn", {
158
- callbacksLast: true,
159
- shorthandFirst: true,
160
- // shorthandLast: false,
161
- multiline: "last",
162
- // ignoreCase: false,
163
- noSortAlphabetically: true,
164
- // reservedFirst: true
165
- // locale: "auto"
166
- }],
167
-
168
- // https://eslint.style/rules/default/jsx-tag-spacing
169
- // Enforce whitespace in and around the JSX opening and closing brackets
170
- "@stylistic/jsx-tag-spacing": [
171
- "warn",
172
- {
173
- closingSlash: "never",
174
- beforeSelfClosing: "always",
175
- afterOpening: "never",
176
- beforeClosing: "never"
177
- }
178
- ],
179
-
180
- // https://eslint.style/rules/default/jsx-wrap-multilines
181
- // Disallow missing parentheses around multiline JSX
182
- "@stylistic/jsx-wrap-multilines": [
183
- "warn",
184
- {
185
- declaration: "parens-new-line",
186
- assignment: "parens-new-line",
187
- return: "parens-new-line",
188
- arrow: "parens-new-line",
189
- condition: "parens-new-line",
190
- logical: "parens-new-line",
191
- prop: "parens-new-line"
192
- }
193
- ],
194
-
195
- // https://eslint.style/rules/default/key-spacing
196
- // Enforce consistent spacing between keys and values in object literal properties
197
- "@stylistic/key-spacing": "warn",
198
-
199
- // https://eslint.style/rules/default/keyword-spacing
200
- // Enforce consistent spacing before and after keywords
201
- "@stylistic/keyword-spacing": "warn",
202
-
203
- // https://eslint.style/rules/default/line-comment-position
204
- // Enforce position of line comments
205
- "@stylistic/line-comment-position": "warn",
206
-
207
- // https://eslint.style/rules/default/linebreak-style
208
- // Enforce consistent linebreak style
209
- "@stylistic/linebreak-style": "warn",
210
-
211
- // https://eslint.style/rules/default/lines-around-comment
212
- // Require empty lines around comments
213
- "@stylistic/lines-around-comment": [
214
- "warn",
215
- {
216
- beforeBlockComment: true,
217
- afterBlockComment: false,
218
- beforeLineComment: true,
219
- afterLineComment: false,
220
- allowBlockStart: true,
221
- allowBlockEnd: true,
222
- allowObjectStart: true,
223
- allowObjectEnd: true,
224
- allowArrayStart: true,
225
- allowArrayEnd: true,
226
- allowClassStart: true,
227
- allowClassEnd: true,
228
- afterHashbangComment: true
229
- }
230
- ],
231
-
232
- // https://eslint.style/rules/default/lines-between-class-members
233
- // Require or disallow an empty line between class members
234
- "@stylistic/lines-between-class-members": [
235
- "warn",
236
- {
237
- enforce: [
238
- {
239
- blankLine: "never",
240
- prev: "field",
241
- next: "field"
242
- },
243
- {
244
- blankLine: "always",
245
- prev: "*",
246
- next: "method"
247
- },
248
- {
249
- blankLine: "always",
250
- prev: "method",
251
- next: "*"
252
- }
253
- ]
254
- }
255
- ],
256
-
257
- // https://eslint.style/rules/default/max-len
258
- // Enforce a maximum line length
259
- "@stylistic/max-len": ["error", { code: 120 }],
260
-
261
- // https://eslint.style/rules/default/max-statements-per-line
262
- // Enforce a maximum number of statements allowed per line
263
- "@stylistic/max-statements-per-line": ["error"],
264
-
265
- // https://eslint.style/rules/default/member-delimiter-style
266
- // Require a specific member delimiter style for interfaces and type literals
267
- "@stylistic/member-delimiter-style": ["warn"],
268
-
269
- // https://eslint.style/rules/default/multiline-comment-style
270
- // Enforce a particular style for multiline comments
271
- "@stylistic/multiline-comment-style": ["warn"],
272
-
273
- // https://eslint.style/rules/default/multiline-ternary
274
- // Enforce newlines between operands of ternary expressions
275
- "@stylistic/multiline-ternary": ["warn", "always-multiline"],
276
-
277
- // https://eslint.style/rules/default/new-parens
278
- // Enforce or disallow parentheses when invoking a constructor with no arguments
279
- "@stylistic/new-parens": ["warn"],
280
-
281
- // https://eslint.style/rules/default/newline-per-chained-call
282
- // Require a newline after each call in a method chain
283
- "@stylistic/newline-per-chained-call": ["warn"],
284
-
285
- // https://eslint.style/rules/default/no-confusing-arrow
286
- // Disallow arrow functions where they could be confused with comparisons
287
- "@stylistic/no-confusing-arrow": ["warn"],
288
-
289
- // https://eslint.style/rules/default/no-extra-parens
290
- // Disallow unnecessary parentheses
291
- "@stylistic/no-extra-parens": ["warn"],
292
-
293
- // https://eslint.style/rules/default/no-extra-semi
294
- // Disallow unnecessary semicolons
295
- "@stylistic/no-extra-semi": ["warn"],
296
-
297
- // https://eslint.style/rules/default/no-floating-decimal
298
- // Disallow leading or trailing decimal points in numeric literals
299
- "@stylistic/no-floating-decimal": ["warn"],
300
-
301
- // https://eslint.style/rules/default/no-mixed-operators
302
- // Disallow mixed binary operators
303
- "@stylistic/no-mixed-operators": ["error"],
304
-
305
- // https://eslint.style/rules/default/no-mixed-spaces-and-tabs
306
- // Disallow mixed spaces and tabs for indentation
307
- "@stylistic/no-mixed-spaces-and-tabs": ["error"],
308
-
309
- // https://eslint.style/rules/default/no-multi-spaces
310
- // Disallow multiple spaces
311
- "@stylistic/no-multi-spaces": ["warn"],
312
-
313
- // https://eslint.style/rules/default/no-multiple-empty-lines
314
- // Disallow multiple empty lines
315
- "@stylistic/no-multiple-empty-lines": ["warn"],
316
-
317
- // https://eslint.style/rules/default/no-tabs
318
- // Disallow all tabs
319
- "@stylistic/no-tabs": ["error"],
320
-
321
- // https://eslint.style/rules/default/no-trailing-spaces
322
- // Disallow trailing whitespace at the end of lines
323
- "@stylistic/no-trailing-spaces": ["warn"],
324
-
325
- // https://eslint.style/rules/default/no-whitespace-before-property
326
- // Disallow whitespace before properties
327
- "@stylistic/no-whitespace-before-property": ["warn"],
328
-
329
- // https://eslint.style/rules/default/nonblock-statement-body-position
330
- // Enforce the location of single-line statements
331
- "@stylistic/nonblock-statement-body-position": ["warn"],
332
-
333
- // https://eslint.style/rules/default/object-curly-newline
334
- // Enforce consistent line breaks after opening and before closing braces
335
- "@stylistic/object-curly-newline": [
336
- "warn",
337
- {
338
- multiline: true
339
- }
340
- ],
341
-
342
- // https://eslint.style/rules/default/object-curly-spacing
343
- // Enforce consistent spacing inside braces
344
- "@stylistic/object-curly-spacing": ["warn"],
345
-
346
- // https://eslint.style/rules/default/object-property-newline
347
- // Enforce placing object properties on separate lines
348
- "@stylistic/object-property-newline": ["warn"],
349
-
350
- // https://eslint.style/rules/default/one-var-declaration-per-line
351
- // Require or disallow newlines around variable declarations
352
- "@stylistic/one-var-declaration-per-line": ["warn"],
353
-
354
- // https://eslint.style/rules/default/operator-linebreak
355
- // Enforce consistent linebreak style for operators
356
- "@stylistic/operator-linebreak": ["warn"],
357
-
358
- // https://eslint.style/rules/default/padded-blocks
359
- // Require or disallow padding within blocks
360
- "@stylistic/padded-blocks": ["warn", "never"],
361
-
362
- // https://eslint.style/rules/default/padding-line-between-statements
363
- // Require or disallow padding lines between statements
364
- "@stylistic/padding-line-between-statements": [
365
- "warn",
366
- {
367
- blankLine: "always",
368
- prev: "*",
369
- next: "return"
370
- },
371
- {
372
- blankLine: "always",
373
- prev: "*",
374
- next: "block-like"
375
- },
376
- {
377
- blankLine: "always",
378
- prev: "block-like",
379
- next: "*"
380
- },
381
- {
382
- blankLine: "always",
383
- prev: "case",
384
- next: "case"
385
- },
386
- {
387
- blankLine: "never",
388
- prev: "*",
389
- next: "break"
390
- },
391
- {
392
- blankLine: "always",
393
- prev: "*",
394
- next: "export"
395
- },
396
- {
397
- blankLine: "always",
398
- prev: "*",
399
- next: "interface"
400
- },
401
- {
402
- blankLine: "always",
403
- prev: "interface",
404
- next: "*"
405
- },
406
- {
407
- blankLine: "always",
408
- prev: "*",
409
- next: "class"
410
- },
411
- {
412
- blankLine: "always",
413
- prev: "class",
414
- next: "*"
415
- }
416
- ],
417
-
418
- // https://eslint.style/rules/default/quote-props
419
- // Require quotes around object literal property names
420
- "@stylistic/quote-props": ["warn", "as-needed"],
421
-
422
- // https://eslint.style/rules/default/quotes
423
- // Enforce the consistent use of either backticks, double, or single quotes
424
- "@stylistic/quotes": ["warn"],
425
-
426
- // https://eslint.style/rules/default/rest-spread-spacing
427
- // Enforce spacing between rest and spread operators and their expressions
428
- "@stylistic/rest-spread-spacing": ["warn"],
429
-
430
- // https://eslint.style/rules/default/semi
431
- // Require or disallow semicolons instead of ASI
432
- "@stylistic/semi": ["warn"],
433
-
434
- // https://eslint.style/rules/default/semi-spacing
435
- // Enforce consistent spacing before and after semicolons
436
- "@stylistic/semi-spacing": ["warn"],
437
-
438
- // https://eslint.style/rules/default/semi-style
439
- // Enforce location of semicolons
440
- "@stylistic/semi-style": ["warn"],
441
-
442
- // https://eslint.style/rules/default/space-before-blocks
443
- // Enforce consistent spacing before blocks
444
- "@stylistic/space-before-blocks": ["warn"],
445
-
446
- // https://eslint.style/rules/default/space-before-function-paren
447
- // Enforce consistent spacing before `function` definition opening parenthesis
448
- "@stylistic/space-before-function-paren": [
449
- "warn",
450
- {
451
- anonymous: "always",
452
- named: "never",
453
- asyncArrow: "always"
454
- }
455
- ],
456
-
457
- // https://eslint.style/rules/default/space-in-parens
458
- // Enforce consistent spacing inside parentheses
459
- "@stylistic/space-in-parens": ["warn"],
460
-
461
- // https://eslint.style/rules/default/space-infix-ops
462
- // Require spacing around infix operators
463
- "@stylistic/space-infix-ops": ["warn"],
464
-
465
- // https://eslint.style/rules/default/space-unary-ops
466
- // Enforce consistent spacing before or after unary operators
467
- "@stylistic/space-unary-ops": ["warn"],
468
-
469
- // https://eslint.style/rules/default/spaced-comment
470
- // Enforce consistent spacing after the `//` or `/*` in a comment
471
- "@stylistic/spaced-comment": ["warn"],
472
-
473
- // https://eslint.style/rules/default/switch-colon-spacing
474
- // Enforce spacing around colons of switch statements
475
- "@stylistic/switch-colon-spacing": ["warn"],
476
-
477
- // https://eslint.style/rules/default/template-curly-spacing
478
- // Require or disallow spacing around embedded expressions of template strings
479
- "@stylistic/template-curly-spacing": ["warn"],
480
-
481
- // https://eslint.style/rules/default/template-tag-spacing
482
- // Require or disallow spacing between template tags and their literals
483
- "@stylistic/template-tag-spacing": ["warn"],
484
-
485
- // https://eslint.style/rules/default/type-annotation-spacing
486
- // Require consistent spacing around type annotations
487
- "@stylistic/type-annotation-spacing": ["warn"],
488
-
489
- // https://eslint.style/rules/default/type-generic-spacing
490
- // Enforces consistent spacing inside TypeScript type generics
491
- "@stylistic/type-generic-spacing": ["warn"],
492
-
493
- // https://eslint.style/rules/default/type-named-tuple-spacing
494
- // Expect space before the type declaration in the named tuple
495
- "@stylistic/type-named-tuple-spacing": ["warn"],
496
-
497
- // https://eslint.style/rules/default/wrap-iife
498
- // Require parentheses around immediate `function` invocations
499
- "@stylistic/wrap-iife": ["warn", "inside"],
500
-
501
- // https://eslint.style/rules/default/wrap-regex
502
- // Require parenthesis around regex literals
503
- "@stylistic/wrap-regex": ["warn"],
504
-
505
- // https://eslint.style/rules/default/yield-star-spacing
506
- // Require or disallow spacing around the `*` in `yield*` expressions
507
- "@stylistic/yield-star-spacing": ["warn", "after"]
508
- };
1
+ export default {
2
+ // https://eslint.style/rules/default/array-bracket-newline
3
+ // Enforce linebreaks after opening and before closing array brackets
4
+ "@stylistic/array-bracket-newline": ["warn"],
5
+
6
+ // https://eslint.style/rules/default/array-bracket-spacing
7
+ // Enforce consistent spacing inside array brackets
8
+ "@stylistic/array-bracket-spacing": ["warn"],
9
+
10
+ // https://eslint.style/rules/default/array-element-newline
11
+ // Enforce line breaks after each array element
12
+ "@stylistic/array-element-newline": ["warn", "consistent"],
13
+
14
+ // https://eslint.style/rules/default/arrow-parens
15
+ // Require parentheses around arrow function arguments
16
+ "@stylistic/arrow-parens": ["warn", "always"],
17
+
18
+ // https://eslint.style/rules/default/arrow-spacing
19
+ // Enforce consistent spacing before and after the arrow in arrow functions
20
+ "@stylistic/arrow-spacing": ["warn"],
21
+
22
+ // https://eslint.style/rules/default/block-spacing
23
+ // Disallow or enforce spaces inside of blocks after opening block and before closing block
24
+ "@stylistic/block-spacing": ["warn"],
25
+
26
+ // https://eslint.style/rules/default/brace-style
27
+ // Enforce consistent brace style for blocks
28
+ "@stylistic/brace-style": ["warn", "1tbs"],
29
+
30
+ // https://eslint.style/rules/default/comma-dangle
31
+ // Require or disallow trailing commas
32
+ "@stylistic/comma-dangle": ["warn"],
33
+
34
+ // https://eslint.style/rules/default/comma-spacing
35
+ // Enforce consistent spacing before and after commas
36
+ "@stylistic/comma-spacing": ["warn"],
37
+
38
+ // https://eslint.style/rules/default/comma-style
39
+ // Enforce consistent comma style
40
+ "@stylistic/comma-style": ["warn"],
41
+
42
+ // https://eslint.style/rules/default/computed-property-spacing
43
+ // Enforce consistent spacing inside computed property brackets
44
+ "@stylistic/computed-property-spacing": ["warn"],
45
+
46
+ // https://eslint.style/rules/default/dot-location
47
+ // Enforce consistent newlines before and after dots
48
+ "@stylistic/dot-location": ["warn", "property"],
49
+
50
+ // https://eslint.style/rules/default/eol-last
51
+ // Require or disallow newline at the end of files
52
+ "@stylistic/eol-last": ["warn"],
53
+
54
+ // https://eslint.style/rules/default/function-call-spacing
55
+ // Require or disallow spacing between function identifiers and their invocations. Alias of `function-call-spacing`.
56
+ "@stylistic/function-call-spacing": ["warn"],
57
+
58
+ // https://eslint.style/rules/default/function-call-argument-newline
59
+ // Enforce line breaks between arguments of a function call
60
+ "@stylistic/function-call-argument-newline": ["warn", "consistent"],
61
+
62
+ // https://eslint.style/rules/default/function-paren-newline
63
+ // Enforce consistent line breaks inside function parentheses
64
+ "@stylistic/function-paren-newline": ["warn", "consistent"],
65
+
66
+ // https://eslint.style/rules/default/generator-star-spacing
67
+ // Enforce consistent spacing around `*` operators in generator functions
68
+ "@stylistic/generator-star-spacing": ["warn"],
69
+
70
+ // https://eslint.style/rules/default/implicit-arrow-linebreak
71
+ // Enforce the location of arrow function bodies
72
+ "@stylistic/implicit-arrow-linebreak": ["warn"],
73
+
74
+ // https://eslint.style/rules/default/indent
75
+ // Enforce consistent indentation
76
+ "@stylistic/indent": ["warn", 2],
77
+
78
+ // https://eslint.style/rules/default/indent-binary-ops
79
+ // Indentation for binary operators
80
+ "@stylistic/indent-binary-ops": ["warn", 2],
81
+
82
+ // https://eslint.style/rules/default/jsx-child-element-spacing
83
+ // Enforce or disallow spaces inside curly braces in JSX attributes and expressions
84
+ "@stylistic/jsx-child-element-spacing": ["error"],
85
+
86
+ // https://eslint.style/rules/default/jsx-closing-bracket-location
87
+ // Enforce closing bracket location in JSX
88
+ "@stylistic/jsx-closing-bracket-location": ["warn"],
89
+
90
+ // https://eslint.style/rules/default/jsx-closing-tag-location
91
+ // Enforce closing tag location for multiline JSX
92
+ "@stylistic/jsx-closing-tag-location": ["warn"],
93
+
94
+ // https://eslint.style/rules/default/jsx-curly-brace-presence
95
+ // Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
96
+ "@stylistic/jsx-curly-brace-presence": ["warn"],
97
+
98
+ // https://eslint.style/rules/default/jsx-curly-newline
99
+ // Enforce consistent linebreaks in curly braces in JSX attributes and expressions
100
+ "@stylistic/jsx-curly-newline": ["warn"],
101
+
102
+ // https://eslint.style/rules/default/jsx-curly-spacing
103
+ // Enforce or disallow spaces inside curly braces in JSX attributes and expressions
104
+ "@stylistic/jsx-curly-spacing": ["warn"],
105
+
106
+ // https://eslint.style/rules/default/jsx-equals-spacing
107
+ // Enforce or disallow spaces around equal signs in JSX attributes
108
+ "@stylistic/jsx-equals-spacing": ["warn"],
109
+
110
+ // https://eslint.style/rules/default/jsx-first-prop-new-line
111
+ // Enforce proper position of the first property in JSX
112
+ "@stylistic/jsx-first-prop-new-line": ["warn"],
113
+
114
+ // https://eslint.style/rules/default/jsx-function-call-newline
115
+ // Enforce line breaks before and after JSX elements when they are used as arguments to a function.
116
+ "@stylistic/jsx-function-call-newline": ["warn"],
117
+
118
+ // https://eslint.style/rules/default/jsx-indent
119
+ // Enforce JSX indentation
120
+ "@stylistic/jsx-indent": ["warn", 2, { checkAttributes: true, indentLogicalExpressions: true }],
121
+
122
+ // https://eslint.style/rules/default/jsx-indent-props
123
+ // Enforce props indentation in JSX
124
+ "@stylistic/jsx-indent-props": ["warn", 2],
125
+
126
+ // https://eslint.style/rules/default/jsx-max-props-per-line
127
+ // Enforce maximum of props on a single line in JSX
128
+ "@stylistic/jsx/jsx-max-props-per-line": ["off"],
129
+
130
+ // https://eslint.style/rules/default/jsx-newline
131
+ // Require or prevent a new line after jsx elements and expressions.
132
+ "@stylistic/jsx-newline": ["off"],
133
+
134
+ // https://eslint.style/rules/default/jsx-one-expression-per-line
135
+ // Require one JSX element per line
136
+ "@stylistic/jsx-one-expression-per-line": ["warn", { allow: "single-child" }],
137
+
138
+ // https://eslint.style/rules/default/jsx-pascal-case
139
+ // Enforce PascalCase for user-defined JSX components
140
+ "@stylistic/jsx-pascal-case": ["error"],
141
+
142
+ // https://eslint.style/rules/default/jsx-props-no-multi-spaces
143
+ // Disallow multiple spaces between inline JSX props
144
+ "@stylistic/jsx-props-no-multi-spaces": ["warn"],
145
+
146
+ // https://eslint.style/rules/default/jsx-quotes
147
+ // Enforce the consistent use of either double or single quotes in JSX attributes
148
+ "@stylistic/jsx-quotes": ["warn"],
149
+
150
+ // https://eslint.style/rules/default/jsx-self-closing-comp
151
+ // Disallow extra closing tags for components without children
152
+ "@stylistic/jsx-self-closing-comp": ["warn"],
153
+
154
+ // https://eslint.style/rules/default/jsx-sort-props
155
+ // Enforce props alphabetical sorting
156
+ "@stylistic/jsx-sort-props": [
157
+ "warn",
158
+ {
159
+ callbacksLast: true,
160
+ shorthandFirst: true,
161
+ // shorthandLast: false,
162
+ multiline: "last",
163
+ // ignoreCase: false,
164
+ noSortAlphabetically: true
165
+ // reservedFirst: true
166
+ // locale: "auto"
167
+ }
168
+ ],
169
+
170
+ // https://eslint.style/rules/default/jsx-tag-spacing
171
+ // Enforce whitespace in and around the JSX opening and closing brackets
172
+ "@stylistic/jsx-tag-spacing": [
173
+ "warn",
174
+ {
175
+ closingSlash: "never",
176
+ beforeSelfClosing: "always",
177
+ afterOpening: "never",
178
+ beforeClosing: "never"
179
+ }
180
+ ],
181
+
182
+ // https://eslint.style/rules/default/jsx-wrap-multilines
183
+ // Disallow missing parentheses around multiline JSX
184
+ "@stylistic/jsx-wrap-multilines": [
185
+ "warn",
186
+ {
187
+ declaration: "parens-new-line",
188
+ assignment: "parens-new-line",
189
+ return: "parens-new-line",
190
+ arrow: "parens-new-line",
191
+ condition: "parens-new-line",
192
+ logical: "parens-new-line",
193
+ prop: "parens-new-line"
194
+ }
195
+ ],
196
+
197
+ // https://eslint.style/rules/default/key-spacing
198
+ // Enforce consistent spacing between keys and values in object literal properties
199
+ "@stylistic/key-spacing": "warn",
200
+
201
+ // https://eslint.style/rules/default/keyword-spacing
202
+ // Enforce consistent spacing before and after keywords
203
+ "@stylistic/keyword-spacing": "warn",
204
+
205
+ // https://eslint.style/rules/default/line-comment-position
206
+ // Enforce position of line comments
207
+ "@stylistic/line-comment-position": "warn",
208
+
209
+ // https://eslint.style/rules/default/linebreak-style
210
+ // Enforce consistent linebreak style
211
+ "@stylistic/linebreak-style": "warn",
212
+
213
+ // https://eslint.style/rules/default/lines-around-comment
214
+ // Require empty lines around comments
215
+ "@stylistic/lines-around-comment": [
216
+ "warn",
217
+ {
218
+ beforeBlockComment: true,
219
+ afterBlockComment: false,
220
+ beforeLineComment: true,
221
+ afterLineComment: false,
222
+ allowBlockStart: true,
223
+ allowBlockEnd: true,
224
+ allowObjectStart: true,
225
+ allowObjectEnd: true,
226
+ allowArrayStart: true,
227
+ allowArrayEnd: true,
228
+ allowClassStart: true,
229
+ allowClassEnd: true,
230
+ afterHashbangComment: true
231
+ }
232
+ ],
233
+
234
+ // https://eslint.style/rules/default/lines-between-class-members
235
+ // Require or disallow an empty line between class members
236
+ "@stylistic/lines-between-class-members": [
237
+ "warn",
238
+ {
239
+ enforce: [
240
+ {
241
+ blankLine: "never",
242
+ prev: "field",
243
+ next: "field"
244
+ },
245
+ {
246
+ blankLine: "always",
247
+ prev: "*",
248
+ next: "method"
249
+ },
250
+ {
251
+ blankLine: "always",
252
+ prev: "method",
253
+ next: "*"
254
+ }
255
+ ]
256
+ }
257
+ ],
258
+
259
+ // https://eslint.style/rules/default/max-len
260
+ // Enforce a maximum line length
261
+ "@stylistic/max-len": ["error", { code: 120 }],
262
+
263
+ // https://eslint.style/rules/default/max-statements-per-line
264
+ // Enforce a maximum number of statements allowed per line
265
+ "@stylistic/max-statements-per-line": ["error"],
266
+
267
+ // https://eslint.style/rules/default/member-delimiter-style
268
+ // Require a specific member delimiter style for interfaces and type literals
269
+ "@stylistic/member-delimiter-style": ["warn"],
270
+
271
+ // https://eslint.style/rules/default/multiline-comment-style
272
+ // Enforce a particular style for multiline comments
273
+ "@stylistic/multiline-comment-style": ["warn"],
274
+
275
+ // https://eslint.style/rules/default/multiline-ternary
276
+ // Enforce newlines between operands of ternary expressions
277
+ "@stylistic/multiline-ternary": ["warn", "always-multiline"],
278
+
279
+ // https://eslint.style/rules/default/new-parens
280
+ // Enforce or disallow parentheses when invoking a constructor with no arguments
281
+ "@stylistic/new-parens": ["warn"],
282
+
283
+ // https://eslint.style/rules/default/newline-per-chained-call
284
+ // Require a newline after each call in a method chain
285
+ "@stylistic/newline-per-chained-call": ["warn"],
286
+
287
+ // https://eslint.style/rules/default/no-confusing-arrow
288
+ // Disallow arrow functions where they could be confused with comparisons
289
+ "@stylistic/no-confusing-arrow": ["warn"],
290
+
291
+ // https://eslint.style/rules/default/no-extra-parens
292
+ // Disallow unnecessary parentheses
293
+ "@stylistic/no-extra-parens": ["warn"],
294
+
295
+ // https://eslint.style/rules/default/no-extra-semi
296
+ // Disallow unnecessary semicolons
297
+ "@stylistic/no-extra-semi": ["warn"],
298
+
299
+ // https://eslint.style/rules/default/no-floating-decimal
300
+ // Disallow leading or trailing decimal points in numeric literals
301
+ "@stylistic/no-floating-decimal": ["warn"],
302
+
303
+ // https://eslint.style/rules/default/no-mixed-operators
304
+ // Disallow mixed binary operators
305
+ "@stylistic/no-mixed-operators": ["error"],
306
+
307
+ // https://eslint.style/rules/default/no-mixed-spaces-and-tabs
308
+ // Disallow mixed spaces and tabs for indentation
309
+ "@stylistic/no-mixed-spaces-and-tabs": ["error"],
310
+
311
+ // https://eslint.style/rules/default/no-multi-spaces
312
+ // Disallow multiple spaces
313
+ "@stylistic/no-multi-spaces": ["warn"],
314
+
315
+ // https://eslint.style/rules/default/no-multiple-empty-lines
316
+ // Disallow multiple empty lines
317
+ "@stylistic/no-multiple-empty-lines": ["warn"],
318
+
319
+ // https://eslint.style/rules/default/no-tabs
320
+ // Disallow all tabs
321
+ "@stylistic/no-tabs": ["error"],
322
+
323
+ // https://eslint.style/rules/default/no-trailing-spaces
324
+ // Disallow trailing whitespace at the end of lines
325
+ "@stylistic/no-trailing-spaces": ["warn"],
326
+
327
+ // https://eslint.style/rules/default/no-whitespace-before-property
328
+ // Disallow whitespace before properties
329
+ "@stylistic/no-whitespace-before-property": ["warn"],
330
+
331
+ // https://eslint.style/rules/default/nonblock-statement-body-position
332
+ // Enforce the location of single-line statements
333
+ "@stylistic/nonblock-statement-body-position": ["warn"],
334
+
335
+ // https://eslint.style/rules/default/object-curly-newline
336
+ // Enforce consistent line breaks after opening and before closing braces
337
+ "@stylistic/object-curly-newline": [
338
+ "warn",
339
+ {
340
+ multiline: true
341
+ }
342
+ ],
343
+
344
+ // https://eslint.style/rules/default/object-curly-spacing
345
+ // Enforce consistent spacing inside braces
346
+ "@stylistic/object-curly-spacing": ["warn"],
347
+
348
+ // https://eslint.style/rules/default/object-property-newline
349
+ // Enforce placing object properties on separate lines
350
+ "@stylistic/object-property-newline": ["warn"],
351
+
352
+ // https://eslint.style/rules/default/one-var-declaration-per-line
353
+ // Require or disallow newlines around variable declarations
354
+ "@stylistic/one-var-declaration-per-line": ["warn"],
355
+
356
+ // https://eslint.style/rules/default/operator-linebreak
357
+ // Enforce consistent linebreak style for operators
358
+ "@stylistic/operator-linebreak": ["warn"],
359
+
360
+ // https://eslint.style/rules/default/padded-blocks
361
+ // Require or disallow padding within blocks
362
+ "@stylistic/padded-blocks": ["warn", "never"],
363
+
364
+ // https://eslint.style/rules/default/padding-line-between-statements
365
+ // Require or disallow padding lines between statements
366
+ "@stylistic/padding-line-between-statements": [
367
+ "warn",
368
+ {
369
+ blankLine: "always",
370
+ prev: "*",
371
+ next: "return"
372
+ },
373
+ {
374
+ blankLine: "always",
375
+ prev: "*",
376
+ next: "block-like"
377
+ },
378
+ {
379
+ blankLine: "always",
380
+ prev: "block-like",
381
+ next: "*"
382
+ },
383
+ {
384
+ blankLine: "always",
385
+ prev: "case",
386
+ next: "case"
387
+ },
388
+ {
389
+ blankLine: "never",
390
+ prev: "*",
391
+ next: "break"
392
+ },
393
+ {
394
+ blankLine: "always",
395
+ prev: "*",
396
+ next: "export"
397
+ },
398
+ {
399
+ blankLine: "always",
400
+ prev: "*",
401
+ next: "interface"
402
+ },
403
+ {
404
+ blankLine: "always",
405
+ prev: "interface",
406
+ next: "*"
407
+ },
408
+ {
409
+ blankLine: "always",
410
+ prev: "*",
411
+ next: "class"
412
+ },
413
+ {
414
+ blankLine: "always",
415
+ prev: "class",
416
+ next: "*"
417
+ }
418
+ ],
419
+
420
+ // https://eslint.style/rules/default/quote-props
421
+ // Require quotes around object literal property names
422
+ "@stylistic/quote-props": ["warn", "as-needed"],
423
+
424
+ // https://eslint.style/rules/default/quotes
425
+ // Enforce the consistent use of either backticks, double, or single quotes
426
+ "@stylistic/quotes": ["warn"],
427
+
428
+ // https://eslint.style/rules/default/rest-spread-spacing
429
+ // Enforce spacing between rest and spread operators and their expressions
430
+ "@stylistic/rest-spread-spacing": ["warn"],
431
+
432
+ // https://eslint.style/rules/default/semi
433
+ // Require or disallow semicolons instead of ASI
434
+ "@stylistic/semi": ["warn"],
435
+
436
+ // https://eslint.style/rules/default/semi-spacing
437
+ // Enforce consistent spacing before and after semicolons
438
+ "@stylistic/semi-spacing": ["warn"],
439
+
440
+ // https://eslint.style/rules/default/semi-style
441
+ // Enforce location of semicolons
442
+ "@stylistic/semi-style": ["warn"],
443
+
444
+ // https://eslint.style/rules/default/space-before-blocks
445
+ // Enforce consistent spacing before blocks
446
+ "@stylistic/space-before-blocks": ["warn"],
447
+
448
+ // https://eslint.style/rules/default/space-before-function-paren
449
+ // Enforce consistent spacing before `function` definition opening parenthesis
450
+ "@stylistic/space-before-function-paren": [
451
+ "warn",
452
+ {
453
+ anonymous: "always",
454
+ named: "never",
455
+ asyncArrow: "always"
456
+ }
457
+ ],
458
+
459
+ // https://eslint.style/rules/default/space-in-parens
460
+ // Enforce consistent spacing inside parentheses
461
+ "@stylistic/space-in-parens": ["warn"],
462
+
463
+ // https://eslint.style/rules/default/space-infix-ops
464
+ // Require spacing around infix operators
465
+ "@stylistic/space-infix-ops": ["warn"],
466
+
467
+ // https://eslint.style/rules/default/space-unary-ops
468
+ // Enforce consistent spacing before or after unary operators
469
+ "@stylistic/space-unary-ops": ["warn"],
470
+
471
+ // https://eslint.style/rules/default/spaced-comment
472
+ // Enforce consistent spacing after the `//` or `/*` in a comment
473
+ "@stylistic/spaced-comment": ["warn"],
474
+
475
+ // https://eslint.style/rules/default/switch-colon-spacing
476
+ // Enforce spacing around colons of switch statements
477
+ "@stylistic/switch-colon-spacing": ["warn"],
478
+
479
+ // https://eslint.style/rules/default/template-curly-spacing
480
+ // Require or disallow spacing around embedded expressions of template strings
481
+ "@stylistic/template-curly-spacing": ["warn"],
482
+
483
+ // https://eslint.style/rules/default/template-tag-spacing
484
+ // Require or disallow spacing between template tags and their literals
485
+ "@stylistic/template-tag-spacing": ["warn"],
486
+
487
+ // https://eslint.style/rules/default/type-annotation-spacing
488
+ // Require consistent spacing around type annotations
489
+ "@stylistic/type-annotation-spacing": ["warn"],
490
+
491
+ // https://eslint.style/rules/default/type-generic-spacing
492
+ // Enforces consistent spacing inside TypeScript type generics
493
+ "@stylistic/type-generic-spacing": ["warn"],
494
+
495
+ // https://eslint.style/rules/default/type-named-tuple-spacing
496
+ // Expect space before the type declaration in the named tuple
497
+ "@stylistic/type-named-tuple-spacing": ["warn"],
498
+
499
+ // https://eslint.style/rules/default/wrap-iife
500
+ // Require parentheses around immediate `function` invocations
501
+ "@stylistic/wrap-iife": ["warn", "inside"],
502
+
503
+ // https://eslint.style/rules/default/wrap-regex
504
+ // Require parenthesis around regex literals
505
+ "@stylistic/wrap-regex": ["warn"],
506
+
507
+ // https://eslint.style/rules/default/yield-star-spacing
508
+ // Require or disallow spacing around the `*` in `yield*` expressions
509
+ "@stylistic/yield-star-spacing": ["warn", "after"]
510
+ };