eslint-config-azuriru 3.3.2 → 3.3.4

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 (3) hide show
  1. package/index.js +591 -591
  2. package/package.json +1 -1
  3. package/svelte.js +218 -219
package/index.js CHANGED
@@ -1,592 +1,592 @@
1
- import globals from 'globals';
2
- import antfu from 'eslint-plugin-antfu';
3
- import imports from 'eslint-plugin-import';
4
- import stylistic from '@stylistic/eslint-plugin';
5
- import { plugin as tslint, parser } from 'typescript-eslint';
6
- import { defineConfig } from 'eslint/config';
7
-
8
- export { default as svelte } from './svelte.js';
9
-
10
- export default defineConfig(
11
- {
12
- languageOptions: {
13
- parser,
14
- globals: {
15
- ...globals.browser,
16
- ...globals.node
17
- }
18
- }
19
- },
20
- // Shared JS/TS config
21
- {
22
- plugins: {
23
- 'antfu': antfu,
24
- 'import': imports,
25
- '@stylistic': stylistic,
26
- '@typescript-eslint': tslint
27
- },
28
- rules: {
29
- 'antfu/consistent-chaining': ['warn', {
30
- allowLeadingPropertyAccess: true
31
- }],
32
- 'antfu/consistent-list-newline': 'warn',
33
- 'antfu/import-dedupe': 'warn',
34
-
35
- // Helpful warnings
36
- 'import/export': 'warn',
37
- 'import/no-deprecated': 'warn',
38
- 'import/no-empty-named-blocks': 'warn',
39
- 'import/no-extraneous-dependencies': ['warn', {
40
- devDependencies: true,
41
- optionalDependencies: true,
42
- peerDependencies: true,
43
- bundledDependencies: true,
44
- includeInternal: false,
45
- includeTypes: true
46
- }],
47
-
48
- // I know what I am doing
49
- 'import/no-mutable-exports': 'off',
50
- 'import/no-named-as-default': 'off',
51
-
52
- // Let's see if this gets annoying fast
53
- 'import/no-named-as-default-member': 'warn',
54
-
55
- // This shit is actually plagued with issues lol
56
- // https://github.com/import-js/eslint-plugin-import/issues?q=is%3Aissue%20state%3Aopen%20no-unused-modules.md
57
- 'import/no-unused-modules': ['off', {
58
- missingExports: true,
59
- unusedExports: false, // Hey, we'll find a use for them
60
- ignoreUnusedTypeExports: false,
61
- ignoreExports: ['src/utils']
62
- }],
63
-
64
- // Module systems
65
- 'import/no-amd': 'off', // I wasn't here for the war
66
- 'import/no-commonjs': 'off',
67
- 'import/no-import-module-exports': 'off',
68
- 'import/no-nodejs-modules': 'warn', // Sure?
69
- 'import/unambiguous': 'off',
70
-
71
- // Static analysis
72
- 'import/default': 'warn',
73
- 'import/enforce-node-protocol-usage': ['warn', 'never'],
74
- 'import/named': 'warn',
75
- 'import/namespace': 'warn',
76
- 'import/no-absolute-path': 'warn',
77
- 'import/no-cycle': 'warn', // me and my circular dependencies beg your finest pardon
78
- 'import/no-dynamic-require': 'off', // with great power [..]
79
- 'import/no-internal-modules': 'off', // nah it's probably fine
80
- 'import/no-relative-packages': 'off', // seems useful
81
- 'import/no-relative-parent-imports': 'off',
82
- 'import/no-restricted-paths': 'off',
83
- 'import/no-self-import': 'warn',
84
- 'import/no-unresolved': 'off', // I think ts already does this but sure // stupid shit doesn't even work with eslint/config
85
- 'import/no-useless-path-segments': 'warn',
86
- 'import/no-webpack-loader-syntax': 'warn',
87
-
88
- // Style guide
89
- 'import/consistent-type-specifier-style': 'off', // I should configure this later
90
- 'import/dynamic-import-chunkname': 'warn',
91
- 'import/exports-last': 'off',
92
- 'import/extensions': 'off', // Generally, you don't need to // .config.js exception but meh
93
- 'import/first': 'warn',
94
- 'import/group-exports': 'off', // No way
95
-
96
- // I am of sound mind.
97
- 'import/max-dependencies': ['warn', {
98
- max: 20, // ..who occasionally needs a slap in the face
99
- ignoreTypeImports: true
100
- }],
101
- 'import/newline-after-import': 'warn',
102
-
103
- // Wdym? It's sexy af
104
- 'import/no-anonymous-default-export': ['off', {
105
- allowArray: false,
106
- allowArrowFunction: false,
107
- allowAnonymousClass: false,
108
- allowAnonymousFunction: false,
109
- allowCallExpression: false,
110
- allowNew: false,
111
- allowLiteral: false,
112
- allowObject: false
113
- }],
114
- 'import/no-default-export': 'off', // What even?
115
- 'import/no-duplicates': ['warn', {
116
- 'prefer-inline': true
117
- }],
118
-
119
- 'import/no-named-default': 'off', // It's pretty subjective
120
- 'import/no-named-export': 'off',
121
- 'import/no-namespace': 'off', // It's useful come on
122
- 'import/no-unassigned-import': 'off',
123
- 'import/order': 'off', // My order is subjective af
124
- 'import/prefer-default-export': 'off',
125
-
126
- // Typescript exclusive
127
- '@typescript-eslint/no-unused-vars': [
128
- 'warn',
129
- {
130
- argsIgnorePattern: '^_',
131
- varsIgnorePattern: '^_',
132
- caughtErrorsIgnorePattern: '^_'
133
- }
134
- ],
135
-
136
- // Typing component return values is a chore
137
- '@typescript-eslint/explicit-module-boundary-types': 'off',
138
-
139
- // I have enough self control to know when `any` is a good choice
140
- '@typescript-eslint/no-explicit-any': 'off',
141
-
142
- // Same thing here.
143
- '@typescript-eslint/no-non-null-assertion': 'off',
144
-
145
- // Shared JS/TS config
146
- '@stylistic/array-bracket-newline': [
147
- 'warn',
148
- 'consistent'
149
- ],
150
- '@stylistic/array-bracket-spacing': [
151
- 'warn',
152
- 'never',
153
- {
154
- singleValue: false,
155
- objectsInArrays: false,
156
- arraysInArrays: false
157
- }
158
- ],
159
- '@stylistic/array-element-newline': [
160
- 'warn',
161
- 'consistent'
162
- ],
163
- '@stylistic/arrow-parens': [
164
- 'warn',
165
- 'always'
166
- ],
167
- '@stylistic/arrow-spacing': [
168
- 'warn',
169
- {
170
- before: true,
171
- after: true
172
- }
173
- ],
174
- '@stylistic/block-spacing': [
175
- 'warn',
176
- 'always'
177
- ],
178
- '@stylistic/brace-style': [
179
- 'warn',
180
- '1tbs',
181
- {
182
- allowSingleLine: true
183
- }
184
- ],
185
- '@stylistic/comma-dangle': [
186
- 'warn',
187
- {
188
- arrays: 'never',
189
- objects: 'never',
190
- imports: 'never',
191
- exports: 'never',
192
- functions: 'never'
193
- }
194
- ],
195
- '@stylistic/comma-spacing': [
196
- 'warn',
197
- {
198
- before: false,
199
- after: true
200
- }
201
- ],
202
- '@stylistic/comma-style': [
203
- 'warn',
204
- 'last'
205
- ],
206
- '@stylistic/computed-property-spacing': [
207
- 'warn',
208
- 'never',
209
- {
210
- enforceForClassMembers: true
211
- }
212
- ],
213
- '@stylistic/curly-newline': ['warn', {
214
- IfStatementConsequent: {
215
- consistent: true
216
- },
217
- IfStatementAlternative: {
218
- consistent: true
219
- },
220
- ForStatement: 'always',
221
- ForInStatement: 'always',
222
- ForOfStatement: 'always',
223
- WhileStatement: {
224
- consistent: true
225
- },
226
- DoWhileStatement: {
227
- consistent: true
228
- },
229
- SwitchStatement: 'always',
230
- SwitchCase: {
231
- consistent: true
232
- },
233
- TryStatementBlock: {
234
- consistent: true
235
- },
236
- TryStatementHandler: {
237
- consistent: true
238
- },
239
- TryStatementFinalizer: {
240
- consistent: true
241
- },
242
- BlockStatement: 'always',
243
- ArrowFunctionExpression: {
244
- consistent: true
245
- },
246
- FunctionDeclaration: {
247
- consistent: true
248
- },
249
- FunctionExpression: {
250
- consistent: true
251
- },
252
- Property: {
253
- consistent: true
254
- },
255
- ClassBody: 'always',
256
- StaticBlock: {
257
- consistent: true
258
- },
259
- WithStatement: {
260
- consistent: true
261
- },
262
- TSModuleBlock: {
263
- consistent: true
264
- }
265
- }],
266
- '@stylistic/dot-location': [
267
- 'warn',
268
- 'property'
269
- ],
270
- '@stylistic/eol-last': [
271
- 'warn',
272
- 'never'
273
- ],
274
- '@stylistic/function-call-argument-newline': [
275
- 'warn',
276
- 'consistent'
277
- ],
278
- '@stylistic/function-call-spacing': [
279
- 'warn',
280
- 'never'
281
- ],
282
- '@stylistic/function-paren-newline': [
283
- 'warn',
284
- 'consistent'
285
- ],
286
- '@stylistic/generator-star-spacing': [
287
- 'warn',
288
- {
289
- before: false,
290
- after: true,
291
- anonymous: 'both',
292
- method: 'both'
293
- }
294
- ],
295
- '@stylistic/implicit-arrow-linebreak': [
296
- 'warn',
297
- 'beside'
298
- ],
299
- '@stylistic/indent': [
300
- 'warn',
301
- 4,
302
- {
303
- SwitchCase: 1
304
- }
305
- ],
306
- '@stylistic/indent-binary-ops': [
307
- 'warn',
308
- 4
309
- ],
310
- '@stylistic/key-spacing': [
311
- 'warn',
312
- {
313
- beforeColon: false,
314
- afterColon: true,
315
- mode: 'strict'
316
- }
317
- ],
318
- '@stylistic/keyword-spacing': [
319
- 'warn',
320
- {
321
- before: true,
322
- after: true,
323
- overrides: {
324
- 'switch': {
325
- after: false
326
- }
327
- }
328
- }
329
- ],
330
- '@stylistic/line-comment-position': 'off', // Subjective.
331
- '@stylistic/linebreak-style': [
332
- 'warn',
333
- 'unix'
334
- ],
335
- '@stylistic/lines-around-comment': 'off',
336
- '@stylistic/lines-between-class-members': [
337
- 'warn',
338
- 'always',
339
- {
340
- exceptAfterOverload: false,
341
- exceptAfterSingleLine: true
342
- }
343
- ],
344
- '@stylistic/max-len': [
345
- 'off'
346
- ],
347
- '@stylistic/max-statements-per-line': [
348
- 'warn',
349
- {
350
- max: 1
351
- }
352
- ],
353
- '@stylistic/member-delimiter-style': [
354
- 'warn',
355
- {
356
- multiline: {
357
- delimiter: 'semi',
358
- requireLast: true
359
- },
360
- singleline: {
361
- delimiter: 'semi',
362
- requireLast: false
363
- },
364
- multilineDetection: 'brackets'
365
- }
366
- ],
367
- '@stylistic/multiline-comment-style': 'off',
368
- '@stylistic/multiline-ternary': [
369
- 'warn',
370
- 'always-multiline'
371
- ],
372
- '@stylistic/new-parens': [
373
- 'warn',
374
- 'always'
375
- ],
376
- '@stylistic/newline-per-chained-call': [
377
- 'warn',
378
- {
379
- ignoreChainWithDepth: 4
380
- }
381
- ],
382
- '@stylistic/no-confusing-arrow': [
383
- 'warn',
384
- {
385
- onlyOneSimpleParam: true
386
- }
387
- ],
388
- '@stylistic/no-extra-parens': [
389
- 'warn',
390
- 'all'
391
- ],
392
- '@stylistic/no-extra-semi': [
393
- 'warn'
394
- ],
395
- '@stylistic/no-floating-decimal': [
396
- 'off'
397
- ],
398
- '@stylistic/no-mixed-operators': 'off',
399
- '@stylistic/no-mixed-spaces-and-tabs': [
400
- 'warn',
401
- 'smart-tabs'
402
- ],
403
- '@stylistic/no-multi-spaces': [
404
- 'warn',
405
- {
406
- includeTabs: true
407
- }
408
- ],
409
- '@stylistic/no-multiple-empty-lines': [
410
- 'warn',
411
- {
412
- max: 2
413
- }
414
- ],
415
- '@stylistic/no-tabs': [
416
- 'warn',
417
- {
418
- allowIndentationTabs: true
419
- }
420
- ],
421
- '@stylistic/no-trailing-spaces': [
422
- 'warn',
423
- {
424
- skipBlankLines: false,
425
- ignoreComments: false
426
- }
427
- ],
428
- '@stylistic/no-whitespace-before-property': [
429
- 'warn'
430
- ],
431
- '@stylistic/nonblock-statement-body-position': [
432
- 'warn',
433
- 'beside'
434
- ],
435
- '@stylistic/object-curly-newline': [
436
- 'warn',
437
- {
438
- ObjectExpression: {
439
- multiline: true,
440
- consistent: true
441
- },
442
- ObjectPattern: {
443
- consistent: true
444
- },
445
- ImportDeclaration: {
446
- multiline: true
447
- },
448
- ExportDeclaration: {
449
- multiline: true,
450
- consistent: true
451
- }
452
- }
453
- ],
454
- '@stylistic/object-curly-spacing': [
455
- 'warn',
456
- 'always',
457
- {
458
- objectsInObjects: true,
459
- arraysInObjects: true
460
- }
461
- ],
462
- '@stylistic/object-property-newline': [
463
- 'warn',
464
- {
465
- allowAllPropertiesOnSameLine: true
466
- }
467
- ],
468
- '@stylistic/one-var-declaration-per-line': [
469
- 'warn',
470
- 'always'
471
- ],
472
- '@stylistic/operator-linebreak': [
473
- 'warn',
474
- 'before'
475
- ],
476
- '@stylistic/padded-blocks': [
477
- 'warn',
478
- 'never'
479
- ],
480
- '@stylistic/padding-line-between-statements': [
481
- 'warn',
482
- {
483
- blankLine: 'always',
484
- prev: '*',
485
- next: 'return'
486
- }
487
- ],
488
- '@stylistic/quote-props': [
489
- 'warn',
490
- 'as-needed',
491
- {
492
- keywords: true,
493
- unnecessary: true,
494
- numbers: true
495
- }
496
- ],
497
- '@stylistic/quotes': [
498
- 'warn',
499
- 'single'
500
- ],
501
- '@stylistic/rest-spread-spacing': [
502
- 'warn',
503
- 'never'
504
- ],
505
- '@stylistic/semi': [
506
- 'warn',
507
- 'always',
508
- {
509
- omitLastInOneLineBlock: true,
510
- omitLastInOneLineClassBody: false
511
- }
512
- ],
513
- '@stylistic/semi-spacing': [
514
- 'warn',
515
- {
516
- before: false,
517
- after: true
518
- }
519
- ],
520
- '@stylistic/semi-style': [
521
- 'off'
522
- ],
523
- '@stylistic/space-before-blocks': [
524
- 'warn',
525
- 'always'
526
- ],
527
- '@stylistic/space-before-function-paren': [
528
- 'warn',
529
- {
530
- anonymous: 'never',
531
- named: 'never',
532
- asyncArrow: 'always'
533
- }
534
- ],
535
- '@stylistic/space-in-parens': [
536
- 'warn',
537
- 'never'
538
- ],
539
- '@stylistic/space-infix-ops': [
540
- 'warn',
541
- {
542
- int32Hint: false
543
- }
544
- ],
545
- '@stylistic/spaced-comment': [
546
- 'warn',
547
- 'always'
548
- ],
549
- '@stylistic/switch-colon-spacing': [
550
- 'warn',
551
- {
552
- before: false,
553
- after: true
554
- }
555
- ],
556
- '@stylistic/template-curly-spacing': [
557
- 'warn',
558
- 'never'
559
- ],
560
- '@stylistic/template-tag-spacing': [
561
- 'warn',
562
- 'always'
563
- ],
564
- '@stylistic/type-annotation-spacing': [
565
- 'warn',
566
- {
567
- before: false,
568
- after: true
569
- }
570
- ],
571
- '@stylistic/type-generic-spacing': [
572
- 'warn'
573
- ],
574
- '@stylistic/type-named-tuple-spacing': [
575
- 'warn'
576
- ],
577
- '@stylistic/wrap-iife': ['warn', 'inside', {
578
- functionPrototypeMethods: true
579
- }],
580
- '@stylistic/wrap-regex': [
581
- 'warn'
582
- ],
583
- '@stylistic/yield-star-spacing': [
584
- 'warn',
585
- {
586
- before: true,
587
- after: true
588
- }
589
- ]
590
- }
591
- }
1
+ import globals from 'globals';
2
+ import antfu from 'eslint-plugin-antfu';
3
+ import imports from 'eslint-plugin-import';
4
+ import stylistic from '@stylistic/eslint-plugin';
5
+ import { plugin as tslint, parser } from 'typescript-eslint';
6
+ import { defineConfig } from 'eslint/config';
7
+
8
+ export { default as svelte } from './svelte.js';
9
+
10
+ export default defineConfig(
11
+ // Shared JS/TS config
12
+ {
13
+ // files: ['**/*.ts', '**/*.js', '**/*.cjs'],
14
+ ignores: [],
15
+ languageOptions: {
16
+ parser,
17
+ globals: {
18
+ ...globals.browser,
19
+ ...globals.node
20
+ }
21
+ },
22
+ plugins: {
23
+ antfu: antfu,
24
+ 'import': imports,
25
+ '@stylistic': stylistic,
26
+ '@typescript-eslint': tslint
27
+ },
28
+ rules: {
29
+ 'antfu/consistent-chaining': ['warn', {
30
+ allowLeadingPropertyAccess: true
31
+ }],
32
+ 'antfu/consistent-list-newline': 'warn',
33
+ 'antfu/import-dedupe': 'warn',
34
+
35
+ // Helpful warnings
36
+ 'import/export': 'warn',
37
+ 'import/no-deprecated': 'warn',
38
+ 'import/no-empty-named-blocks': 'warn',
39
+ 'import/no-extraneous-dependencies': ['warn', {
40
+ devDependencies: true,
41
+ optionalDependencies: true,
42
+ peerDependencies: true,
43
+ bundledDependencies: true,
44
+ includeInternal: false,
45
+ includeTypes: true
46
+ }],
47
+
48
+ // I know what I am doing
49
+ 'import/no-mutable-exports': 'off',
50
+ 'import/no-named-as-default': 'off',
51
+
52
+ // Let's see if this gets annoying fast
53
+ 'import/no-named-as-default-member': 'warn',
54
+
55
+ // This shit is actually plagued with issues lol
56
+ // https://github.com/import-js/eslint-plugin-import/issues?q=is%3Aissue%20state%3Aopen%20no-unused-modules.md
57
+ 'import/no-unused-modules': ['off', {
58
+ missingExports: true,
59
+ unusedExports: false, // Hey, we'll find a use for them
60
+ ignoreUnusedTypeExports: false,
61
+ ignoreExports: ['src/utils']
62
+ }],
63
+
64
+ // Module systems
65
+ 'import/no-amd': 'off', // I wasn't here for the war
66
+ 'import/no-commonjs': 'off',
67
+ 'import/no-import-module-exports': 'off',
68
+ 'import/no-nodejs-modules': 'warn', // Sure?
69
+ 'import/unambiguous': 'off',
70
+
71
+ // Static analysis
72
+ 'import/default': 'warn',
73
+ 'import/enforce-node-protocol-usage': ['warn', 'never'],
74
+ 'import/named': 'warn',
75
+ 'import/namespace': 'warn',
76
+ 'import/no-absolute-path': 'warn',
77
+ 'import/no-cycle': 'warn', // me and my circular dependencies beg your finest pardon
78
+ 'import/no-dynamic-require': 'off', // with great power [..]
79
+ 'import/no-internal-modules': 'off', // nah it's probably fine
80
+ 'import/no-relative-packages': 'off', // seems useful
81
+ 'import/no-relative-parent-imports': 'off',
82
+ 'import/no-restricted-paths': 'off',
83
+ 'import/no-self-import': 'warn',
84
+ 'import/no-unresolved': 'off', // I think ts already does this but sure // stupid shit doesn't even work with eslint/config
85
+ 'import/no-useless-path-segments': 'warn',
86
+ 'import/no-webpack-loader-syntax': 'warn',
87
+
88
+ // Style guide
89
+ 'import/consistent-type-specifier-style': 'off', // I should configure this later
90
+ 'import/dynamic-import-chunkname': 'warn',
91
+ 'import/exports-last': 'off',
92
+ 'import/extensions': 'off', // Generally, you don't need to // .config.js exception but meh
93
+ 'import/first': 'warn',
94
+ 'import/group-exports': 'off', // No way
95
+
96
+ // I am of sound mind.
97
+ 'import/max-dependencies': ['warn', {
98
+ max: 20, // ..who occasionally needs a slap in the face
99
+ ignoreTypeImports: true
100
+ }],
101
+ 'import/newline-after-import': 'warn',
102
+
103
+ // Wdym? It's sexy af
104
+ 'import/no-anonymous-default-export': ['off', {
105
+ allowArray: false,
106
+ allowArrowFunction: false,
107
+ allowAnonymousClass: false,
108
+ allowAnonymousFunction: false,
109
+ allowCallExpression: false,
110
+ allowNew: false,
111
+ allowLiteral: false,
112
+ allowObject: false
113
+ }],
114
+ 'import/no-default-export': 'off', // What even?
115
+ 'import/no-duplicates': ['warn', {
116
+ 'prefer-inline': true
117
+ }],
118
+
119
+ 'import/no-named-default': 'off', // It's pretty subjective
120
+ 'import/no-named-export': 'off',
121
+ 'import/no-namespace': 'off', // It's useful come on
122
+ 'import/no-unassigned-import': 'off',
123
+ 'import/order': 'off', // My order is subjective af
124
+ 'import/prefer-default-export': 'off',
125
+
126
+ // Typescript exclusive
127
+ '@typescript-eslint/no-unused-vars': [
128
+ 'warn',
129
+ {
130
+ argsIgnorePattern: '^_',
131
+ varsIgnorePattern: '^_',
132
+ caughtErrorsIgnorePattern: '^_'
133
+ }
134
+ ],
135
+
136
+ // Typing component return values is a chore
137
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
138
+
139
+ // I have enough self control to know when `any` is a good choice
140
+ '@typescript-eslint/no-explicit-any': 'off',
141
+
142
+ // Same thing here.
143
+ '@typescript-eslint/no-non-null-assertion': 'off',
144
+
145
+ // Shared JS/TS config
146
+ '@stylistic/array-bracket-newline': [
147
+ 'warn',
148
+ 'consistent'
149
+ ],
150
+ '@stylistic/array-bracket-spacing': [
151
+ 'warn',
152
+ 'never',
153
+ {
154
+ singleValue: false,
155
+ objectsInArrays: false,
156
+ arraysInArrays: false
157
+ }
158
+ ],
159
+ '@stylistic/array-element-newline': [
160
+ 'warn',
161
+ 'consistent'
162
+ ],
163
+ '@stylistic/arrow-parens': [
164
+ 'warn',
165
+ 'always'
166
+ ],
167
+ '@stylistic/arrow-spacing': [
168
+ 'warn',
169
+ {
170
+ before: true,
171
+ after: true
172
+ }
173
+ ],
174
+ '@stylistic/block-spacing': [
175
+ 'warn',
176
+ 'always'
177
+ ],
178
+ '@stylistic/brace-style': [
179
+ 'warn',
180
+ '1tbs',
181
+ {
182
+ allowSingleLine: true
183
+ }
184
+ ],
185
+ '@stylistic/comma-dangle': [
186
+ 'warn',
187
+ {
188
+ arrays: 'never',
189
+ objects: 'never',
190
+ imports: 'never',
191
+ exports: 'never',
192
+ functions: 'never'
193
+ }
194
+ ],
195
+ '@stylistic/comma-spacing': [
196
+ 'warn',
197
+ {
198
+ before: false,
199
+ after: true
200
+ }
201
+ ],
202
+ '@stylistic/comma-style': [
203
+ 'warn',
204
+ 'last'
205
+ ],
206
+ '@stylistic/computed-property-spacing': [
207
+ 'warn',
208
+ 'never',
209
+ {
210
+ enforceForClassMembers: true
211
+ }
212
+ ],
213
+ '@stylistic/curly-newline': ['warn', {
214
+ IfStatementConsequent: {
215
+ consistent: true
216
+ },
217
+ IfStatementAlternative: {
218
+ consistent: true
219
+ },
220
+ ForStatement: 'always',
221
+ ForInStatement: 'always',
222
+ ForOfStatement: 'always',
223
+ WhileStatement: {
224
+ consistent: true
225
+ },
226
+ DoWhileStatement: {
227
+ consistent: true
228
+ },
229
+ SwitchStatement: 'always',
230
+ SwitchCase: {
231
+ consistent: true
232
+ },
233
+ TryStatementBlock: {
234
+ consistent: true
235
+ },
236
+ TryStatementHandler: {
237
+ consistent: true
238
+ },
239
+ TryStatementFinalizer: {
240
+ consistent: true
241
+ },
242
+ BlockStatement: 'always',
243
+ ArrowFunctionExpression: {
244
+ consistent: true
245
+ },
246
+ FunctionDeclaration: {
247
+ consistent: true
248
+ },
249
+ FunctionExpression: {
250
+ consistent: true
251
+ },
252
+ Property: {
253
+ consistent: true
254
+ },
255
+ ClassBody: 'always',
256
+ StaticBlock: {
257
+ consistent: true
258
+ },
259
+ WithStatement: {
260
+ consistent: true
261
+ },
262
+ TSModuleBlock: {
263
+ consistent: true
264
+ }
265
+ }],
266
+ '@stylistic/dot-location': [
267
+ 'warn',
268
+ 'property'
269
+ ],
270
+ '@stylistic/eol-last': [
271
+ 'warn',
272
+ 'never'
273
+ ],
274
+ '@stylistic/function-call-argument-newline': [
275
+ 'warn',
276
+ 'consistent'
277
+ ],
278
+ '@stylistic/function-call-spacing': [
279
+ 'warn',
280
+ 'never'
281
+ ],
282
+ '@stylistic/function-paren-newline': [
283
+ 'warn',
284
+ 'consistent'
285
+ ],
286
+ '@stylistic/generator-star-spacing': [
287
+ 'warn',
288
+ {
289
+ before: false,
290
+ after: true,
291
+ anonymous: 'both',
292
+ method: 'both'
293
+ }
294
+ ],
295
+ '@stylistic/implicit-arrow-linebreak': [
296
+ 'warn',
297
+ 'beside'
298
+ ],
299
+ '@stylistic/indent': [
300
+ 'warn',
301
+ 4,
302
+ {
303
+ SwitchCase: 1
304
+ }
305
+ ],
306
+ '@stylistic/indent-binary-ops': [
307
+ 'warn',
308
+ 4
309
+ ],
310
+ '@stylistic/key-spacing': [
311
+ 'warn',
312
+ {
313
+ beforeColon: false,
314
+ afterColon: true,
315
+ mode: 'strict'
316
+ }
317
+ ],
318
+ '@stylistic/keyword-spacing': [
319
+ 'warn',
320
+ {
321
+ before: true,
322
+ after: true,
323
+ overrides: {
324
+ 'switch': {
325
+ after: false
326
+ }
327
+ }
328
+ }
329
+ ],
330
+ '@stylistic/line-comment-position': 'off', // Subjective.
331
+ '@stylistic/linebreak-style': [
332
+ 'warn',
333
+ 'unix'
334
+ ],
335
+ '@stylistic/lines-around-comment': 'off',
336
+ '@stylistic/lines-between-class-members': [
337
+ 'warn',
338
+ 'always',
339
+ {
340
+ exceptAfterOverload: false,
341
+ exceptAfterSingleLine: true
342
+ }
343
+ ],
344
+ '@stylistic/max-len': [
345
+ 'off'
346
+ ],
347
+ '@stylistic/max-statements-per-line': [
348
+ 'warn',
349
+ {
350
+ max: 1
351
+ }
352
+ ],
353
+ '@stylistic/member-delimiter-style': [
354
+ 'warn',
355
+ {
356
+ multiline: {
357
+ delimiter: 'semi',
358
+ requireLast: true
359
+ },
360
+ singleline: {
361
+ delimiter: 'semi',
362
+ requireLast: false
363
+ },
364
+ multilineDetection: 'brackets'
365
+ }
366
+ ],
367
+ '@stylistic/multiline-comment-style': 'off',
368
+ '@stylistic/multiline-ternary': [
369
+ 'warn',
370
+ 'always-multiline'
371
+ ],
372
+ '@stylistic/new-parens': [
373
+ 'warn',
374
+ 'always'
375
+ ],
376
+ '@stylistic/newline-per-chained-call': [
377
+ 'warn',
378
+ {
379
+ ignoreChainWithDepth: 4
380
+ }
381
+ ],
382
+ '@stylistic/no-confusing-arrow': [
383
+ 'warn',
384
+ {
385
+ onlyOneSimpleParam: true
386
+ }
387
+ ],
388
+ '@stylistic/no-extra-parens': [
389
+ 'warn',
390
+ 'all'
391
+ ],
392
+ '@stylistic/no-extra-semi': [
393
+ 'warn'
394
+ ],
395
+ '@stylistic/no-floating-decimal': [
396
+ 'off'
397
+ ],
398
+ '@stylistic/no-mixed-operators': 'off',
399
+ '@stylistic/no-mixed-spaces-and-tabs': [
400
+ 'warn',
401
+ 'smart-tabs'
402
+ ],
403
+ '@stylistic/no-multi-spaces': [
404
+ 'warn',
405
+ {
406
+ includeTabs: true
407
+ }
408
+ ],
409
+ '@stylistic/no-multiple-empty-lines': [
410
+ 'warn',
411
+ {
412
+ max: 2
413
+ }
414
+ ],
415
+ '@stylistic/no-tabs': [
416
+ 'warn',
417
+ {
418
+ allowIndentationTabs: true
419
+ }
420
+ ],
421
+ '@stylistic/no-trailing-spaces': [
422
+ 'warn',
423
+ {
424
+ skipBlankLines: false,
425
+ ignoreComments: false
426
+ }
427
+ ],
428
+ '@stylistic/no-whitespace-before-property': [
429
+ 'warn'
430
+ ],
431
+ '@stylistic/nonblock-statement-body-position': [
432
+ 'warn',
433
+ 'beside'
434
+ ],
435
+ '@stylistic/object-curly-newline': [
436
+ 'warn',
437
+ {
438
+ ObjectExpression: {
439
+ multiline: true,
440
+ consistent: true
441
+ },
442
+ ObjectPattern: {
443
+ consistent: true
444
+ },
445
+ ImportDeclaration: {
446
+ multiline: true
447
+ },
448
+ ExportDeclaration: {
449
+ multiline: true,
450
+ consistent: true
451
+ }
452
+ }
453
+ ],
454
+ '@stylistic/object-curly-spacing': [
455
+ 'warn',
456
+ 'always',
457
+ {
458
+ objectsInObjects: true,
459
+ arraysInObjects: true
460
+ }
461
+ ],
462
+ '@stylistic/object-property-newline': [
463
+ 'warn',
464
+ {
465
+ allowAllPropertiesOnSameLine: true
466
+ }
467
+ ],
468
+ '@stylistic/one-var-declaration-per-line': [
469
+ 'warn',
470
+ 'always'
471
+ ],
472
+ '@stylistic/operator-linebreak': [
473
+ 'warn',
474
+ 'before'
475
+ ],
476
+ '@stylistic/padded-blocks': [
477
+ 'warn',
478
+ 'never'
479
+ ],
480
+ '@stylistic/padding-line-between-statements': [
481
+ 'warn',
482
+ {
483
+ blankLine: 'always',
484
+ prev: '*',
485
+ next: 'return'
486
+ }
487
+ ],
488
+ '@stylistic/quote-props': [
489
+ 'warn',
490
+ 'as-needed',
491
+ {
492
+ keywords: true,
493
+ unnecessary: true,
494
+ numbers: true
495
+ }
496
+ ],
497
+ '@stylistic/quotes': [
498
+ 'warn',
499
+ 'single'
500
+ ],
501
+ '@stylistic/rest-spread-spacing': [
502
+ 'warn',
503
+ 'never'
504
+ ],
505
+ '@stylistic/semi': [
506
+ 'warn',
507
+ 'always',
508
+ {
509
+ omitLastInOneLineBlock: true,
510
+ omitLastInOneLineClassBody: false
511
+ }
512
+ ],
513
+ '@stylistic/semi-spacing': [
514
+ 'warn',
515
+ {
516
+ before: false,
517
+ after: true
518
+ }
519
+ ],
520
+ '@stylistic/semi-style': [
521
+ 'off'
522
+ ],
523
+ '@stylistic/space-before-blocks': [
524
+ 'warn',
525
+ 'always'
526
+ ],
527
+ '@stylistic/space-before-function-paren': [
528
+ 'warn',
529
+ {
530
+ anonymous: 'never',
531
+ named: 'never',
532
+ asyncArrow: 'always'
533
+ }
534
+ ],
535
+ '@stylistic/space-in-parens': [
536
+ 'warn',
537
+ 'never'
538
+ ],
539
+ '@stylistic/space-infix-ops': [
540
+ 'warn',
541
+ {
542
+ int32Hint: false
543
+ }
544
+ ],
545
+ '@stylistic/spaced-comment': [
546
+ 'warn',
547
+ 'always'
548
+ ],
549
+ '@stylistic/switch-colon-spacing': [
550
+ 'warn',
551
+ {
552
+ before: false,
553
+ after: true
554
+ }
555
+ ],
556
+ '@stylistic/template-curly-spacing': [
557
+ 'warn',
558
+ 'never'
559
+ ],
560
+ '@stylistic/template-tag-spacing': [
561
+ 'warn',
562
+ 'always'
563
+ ],
564
+ '@stylistic/type-annotation-spacing': [
565
+ 'warn',
566
+ {
567
+ before: false,
568
+ after: true
569
+ }
570
+ ],
571
+ '@stylistic/type-generic-spacing': [
572
+ 'warn'
573
+ ],
574
+ '@stylistic/type-named-tuple-spacing': [
575
+ 'warn'
576
+ ],
577
+ '@stylistic/wrap-iife': ['warn', 'inside', {
578
+ functionPrototypeMethods: true
579
+ }],
580
+ '@stylistic/wrap-regex': [
581
+ 'warn'
582
+ ],
583
+ '@stylistic/yield-star-spacing': [
584
+ 'warn',
585
+ {
586
+ before: true,
587
+ after: true
588
+ }
589
+ ]
590
+ }
591
+ }
592
592
  );