@@ -53,6 +53,7 @@ const config = {
53
53
} ,
54
54
plugins : [
55
55
'@typescript-eslint' ,
56
+ 'import' ,
56
57
'jsdoc' ,
57
58
'node' ,
58
59
'prettier' ,
@@ -171,7 +172,6 @@ const config = {
171
172
}
172
173
] ,
173
174
'@typescript-eslint/no-dupe-class-members' : 2 ,
174
- '@typescript-eslint/no-duplicate-imports' : 2 ,
175
175
'@typescript-eslint/no-dynamic-delete' : 2 ,
176
176
'@typescript-eslint/no-empty-function' : [
177
177
2 ,
@@ -180,7 +180,13 @@ const config = {
180
180
}
181
181
] ,
182
182
'@typescript-eslint/no-empty-interface' : 0 ,
183
- '@typescript-eslint/no-explicit-any' : 0 ,
183
+ '@typescript-eslint/no-explicit-any' : [
184
+ 2 ,
185
+ {
186
+ fixToUnknown : true ,
187
+ ignoreRestArgs : true
188
+ }
189
+ ] ,
184
190
'@typescript-eslint/no-extra-non-null-assertion' : 2 ,
185
191
'@typescript-eslint/no-extra-parens' : 0 ,
186
192
'@typescript-eslint/no-extra-semi' : 0 ,
@@ -352,7 +358,11 @@ const config = {
352
358
2 ,
353
359
{
354
360
allowAny : false ,
355
- checkCompoundAssignments : false
361
+ allowBoolean : false ,
362
+ allowNullish : false ,
363
+ allowNumberAndString : true ,
364
+ allowRegExp : false ,
365
+ skipCompoundAssignments : true
356
366
}
357
367
] ,
358
368
'@typescript-eslint/restrict-template-expressions' : [
@@ -366,7 +376,7 @@ const config = {
366
376
}
367
377
] ,
368
378
'@typescript-eslint/return-await' : [ 2 , 'in-try-catch' ] ,
369
- '@typescript-eslint/sort-type-union-intersection-members ' : 2 ,
379
+ '@typescript-eslint/sort-type-constituents ' : 2 ,
370
380
'@typescript-eslint/strict-boolean-expressions' : [
371
381
2 ,
372
382
{
@@ -394,6 +404,13 @@ const config = {
394
404
'@typescript-eslint/unified-signatures' : 2 ,
395
405
'default-param-last' : 0 ,
396
406
eqeqeq : 1 ,
407
+ 'import/no-duplicates' : [
408
+ 2 ,
409
+ {
410
+ considerQueryString : true ,
411
+ 'prefer-inline' : true
412
+ }
413
+ ] ,
397
414
'init-declarations' : 0 ,
398
415
'jsdoc/check-access' : 1 ,
399
416
'jsdoc/check-alignment' : 1 ,
@@ -417,6 +434,7 @@ const config = {
417
434
1 ,
418
435
{
419
436
definedTags : [
437
+ 'decorator' ,
420
438
'experimental' ,
421
439
'maximum' ,
422
440
'minimum' ,
@@ -434,7 +452,6 @@ const config = {
434
452
'jsdoc/match-description' : 0 ,
435
453
'jsdoc/match-name' : 0 ,
436
454
'jsdoc/multiline-blocks' : 1 ,
437
- 'jsdoc/newline-after-description' : [ 1 , 'always' ] ,
438
455
'jsdoc/no-bad-blocks' : [ 1 , { preventAllMultiAsteriskBlocks : true } ] ,
439
456
'jsdoc/no-defaults' : 0 ,
440
457
'jsdoc/no-missing-syntax' : 0 ,
@@ -557,9 +574,10 @@ const config = {
557
574
1 ,
558
575
'any' ,
559
576
{
577
+ applyToEndTag : true ,
560
578
count : 1 ,
561
- dropEndLines : true ,
562
- noEndLines : false ,
579
+ endLines : 0 ,
580
+ startLines : 1 ,
563
581
tags : { }
564
582
}
565
583
] ,
@@ -572,6 +590,7 @@ const config = {
572
590
'no-empty-function' : 0 ,
573
591
'no-ex-assign' : 0 ,
574
592
'no-extra-parens' : 0 ,
593
+ 'no-extra-semi' : 0 ,
575
594
'no-implied-eval' : 0 ,
576
595
'no-invalid-this' : 0 ,
577
596
'no-loop-func' : 0 ,
@@ -652,15 +671,15 @@ const config = {
652
671
'unicorn/empty-brace-spaces' : 2 ,
653
672
'unicorn/error-message' : 2 ,
654
673
'unicorn/escape-case' : 2 ,
655
- 'unicorn/expiring-todo-comments' : [
656
- 2 ,
657
- {
658
- allowWarningComments : true ,
659
- ignore : [ ] ,
660
- ignoreDatesOnPullRequests : true ,
661
- terms : [ '@fixme' , '@todo' ]
662
- }
663
- ] ,
674
+ // 'unicorn/expiring-todo-comments': [
675
+ // 2,
676
+ // {
677
+ // allowWarningComments: true,
678
+ // ignore: [],
679
+ // ignoreDatesOnPullRequests: true,
680
+ // terms: ['@fixme', '@todo']
681
+ // }
682
+ // ],
664
683
'unicorn/explicit-length-check' : 0 ,
665
684
'unicorn/filename-case' : [
666
685
2 ,
@@ -774,15 +793,8 @@ const config = {
774
793
allowArgumentsExplicitlyTypedAsAny : true ,
775
794
allowDirectConstAssertionInArrowFunctions : true ,
776
795
allowHigherOrderFunctions : false ,
777
- allowTypedFunctionExpressions : true ,
778
- allowedNames : [ ] ,
779
- shouldTrackReferences : true
780
- }
781
- ] ,
782
- '@typescript-eslint/no-implicit-any-catch' : [
783
- 2 ,
784
- {
785
- allowExplicitAny : false
796
+ allowTypedFunctionExpressions : false ,
797
+ allowedNames : [ ]
786
798
}
787
799
] ,
788
800
'no-undef' : 0
@@ -878,6 +890,12 @@ const config = {
878
890
'@typescript-eslint/no-redundant-type-constituents' : 0
879
891
}
880
892
} ,
893
+ {
894
+ files : [ '**/decorators/*.constraint.ts' , '**/*.decorator.ts' ] ,
895
+ rules : {
896
+ '@typescript-eslint/ban-types' : 0
897
+ }
898
+ } ,
881
899
{
882
900
files : [ '**/enums/*.ts' , '**/interfaces/*.ts' , '**/types/*.ts' ] ,
883
901
rules : {
@@ -990,6 +1008,7 @@ const config = {
990
1008
'@typescript-eslint/naming-convention' : 0 ,
991
1009
'@typescript-eslint/no-base-to-string' : 0 ,
992
1010
'@typescript-eslint/no-confusing-void-expression' : 0 ,
1011
+ '@typescript-eslint/no-duplicate-type-constituents' : 0 ,
993
1012
'@typescript-eslint/no-floating-promises' : 0 ,
994
1013
'@typescript-eslint/no-for-in-array' : 0 ,
995
1014
'@typescript-eslint/no-implied-eval' : 0 ,
@@ -1006,12 +1025,14 @@ const config = {
1006
1025
'@typescript-eslint/no-unsafe-argument' : 0 ,
1007
1026
'@typescript-eslint/no-unsafe-assignment' : 0 ,
1008
1027
'@typescript-eslint/no-unsafe-call' : 0 ,
1028
+ '@typescript-eslint/no-unsafe-enum-comparison' : 0 ,
1009
1029
'@typescript-eslint/no-unsafe-member-access' : 0 ,
1010
1030
'@typescript-eslint/no-unsafe-return' : 0 ,
1011
1031
'@typescript-eslint/no-unused-expressions' : 0 ,
1012
1032
'@typescript-eslint/non-nullable-type-assertion-style' : 0 ,
1013
1033
'@typescript-eslint/prefer-includes' : 0 ,
1014
1034
'@typescript-eslint/prefer-nullish-coalescing' : 0 ,
1035
+ '@typescript-eslint/prefer-optional-chain' : 0 ,
1015
1036
'@typescript-eslint/prefer-readonly' : 0 ,
1016
1037
'@typescript-eslint/prefer-readonly-parameter-types' : 0 ,
1017
1038
'@typescript-eslint/prefer-reduce-type-parameter' : 0 ,
@@ -1032,7 +1053,7 @@ const config = {
1032
1053
}
1033
1054
} ,
1034
1055
{
1035
- files : '**/*.yml' ,
1056
+ files : '**/*.+(yaml| yml) ' ,
1036
1057
parser : 'yaml-eslint-parser' ,
1037
1058
plugins : [ 'yml' ] ,
1038
1059
rules : {
@@ -1151,20 +1172,35 @@ const config = {
1151
1172
'prettier/prettier' : [ 2 , { } , { usePrettierrc : true } ]
1152
1173
} ,
1153
1174
settings : {
1175
+ 'import/parsers' : {
1176
+ '@typescript-eslint/parser' : [ '.cts' , '.mts' , '.ts' , '.tsx' ]
1177
+ } ,
1178
+ 'import/resolver' : {
1179
+ node : true ,
1180
+ typescript : true
1181
+ } ,
1154
1182
jsdoc : {
1155
1183
augmentsExtendsReplacesDocs : true ,
1156
1184
ignoreInternal : false ,
1157
1185
ignorePrivate : false ,
1158
1186
implementsReplacesDocs : true ,
1159
1187
overrideReplacesDocs : true ,
1160
1188
preferredTypes : {
1161
- '*' : false
1189
+ '*' : false ,
1190
+ '.<>' : false ,
1191
+ 'Array<>' : { replacement : '[]' } ,
1192
+ Object : { replacement : 'object' } ,
1193
+ 'Object<>' : { replacement : 'Record<>' } ,
1194
+ object : 'object'
1162
1195
} ,
1163
1196
structuredTags : {
1164
1197
const : {
1165
1198
name : 'namepath-defining' ,
1166
1199
required : [ 'name' ]
1167
1200
} ,
1201
+ decorator : {
1202
+ name : 'none'
1203
+ } ,
1168
1204
enum : {
1169
1205
name : 'namepath-defining' ,
1170
1206
required : [ 'name' , 'type' ]
0 commit comments