@@ -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 ,
@@ -246,7 +246,7 @@ const config = {
246
246
allowedNames : [ 'self' ]
247
247
}
248
248
] ,
249
- '@typescript-eslint/no-throw-literal' : 2 ,
249
+ '@typescript-eslint/no-throw-literal' : 0 ,
250
250
'@typescript-eslint/no-type-alias' : 0 ,
251
251
'@typescript-eslint/no-unnecessary-boolean-literal-compare' : [
252
252
2 ,
@@ -352,7 +352,11 @@ const config = {
352
352
2 ,
353
353
{
354
354
allowAny : false ,
355
- checkCompoundAssignments : false
355
+ allowBoolean : false ,
356
+ allowNullish : false ,
357
+ allowNumberAndString : true ,
358
+ allowRegExp : false ,
359
+ skipCompoundAssignments : true
356
360
}
357
361
] ,
358
362
'@typescript-eslint/restrict-template-expressions' : [
@@ -366,7 +370,7 @@ const config = {
366
370
}
367
371
] ,
368
372
'@typescript-eslint/return-await' : [ 2 , 'in-try-catch' ] ,
369
- '@typescript-eslint/sort-type-union-intersection-members ' : 2 ,
373
+ '@typescript-eslint/sort-type-constituents ' : 2 ,
370
374
'@typescript-eslint/strict-boolean-expressions' : [
371
375
2 ,
372
376
{
@@ -394,6 +398,13 @@ const config = {
394
398
'@typescript-eslint/unified-signatures' : 2 ,
395
399
'default-param-last' : 0 ,
396
400
eqeqeq : 1 ,
401
+ 'import/no-duplicates' : [
402
+ 2 ,
403
+ {
404
+ considerQueryString : true ,
405
+ 'prefer-inline' : true
406
+ }
407
+ ] ,
397
408
'init-declarations' : 0 ,
398
409
'jsdoc/check-access' : 1 ,
399
410
'jsdoc/check-alignment' : 1 ,
@@ -417,6 +428,7 @@ const config = {
417
428
1 ,
418
429
{
419
430
definedTags : [
431
+ 'decorator' ,
420
432
'experimental' ,
421
433
'maximum' ,
422
434
'minimum' ,
@@ -434,7 +446,6 @@ const config = {
434
446
'jsdoc/match-description' : 0 ,
435
447
'jsdoc/match-name' : 0 ,
436
448
'jsdoc/multiline-blocks' : 1 ,
437
- 'jsdoc/newline-after-description' : [ 1 , 'always' ] ,
438
449
'jsdoc/no-bad-blocks' : [ 1 , { preventAllMultiAsteriskBlocks : true } ] ,
439
450
'jsdoc/no-defaults' : 0 ,
440
451
'jsdoc/no-missing-syntax' : 0 ,
@@ -557,9 +568,10 @@ const config = {
557
568
1 ,
558
569
'any' ,
559
570
{
571
+ applyToEndTag : true ,
560
572
count : 1 ,
561
- dropEndLines : true ,
562
- noEndLines : false ,
573
+ endLines : 0 ,
574
+ startLines : 1 ,
563
575
tags : { }
564
576
}
565
577
] ,
@@ -572,6 +584,7 @@ const config = {
572
584
'no-empty-function' : 0 ,
573
585
'no-ex-assign' : 0 ,
574
586
'no-extra-parens' : 0 ,
587
+ 'no-extra-semi' : 0 ,
575
588
'no-implied-eval' : 0 ,
576
589
'no-invalid-this' : 0 ,
577
590
'no-loop-func' : 0 ,
@@ -581,6 +594,7 @@ const config = {
581
594
'no-return-await' : 0 ,
582
595
'no-shadow' : 0 ,
583
596
'no-sparse-arrays' : 0 ,
597
+ 'no-throw-literal' : 0 ,
584
598
'no-unused-expressions' : 0 ,
585
599
'no-unused-vars' : 0 ,
586
600
'no-use-before-define' : 0 ,
@@ -661,7 +675,7 @@ const config = {
661
675
terms : [ '@fixme' , '@todo' ]
662
676
}
663
677
] ,
664
- 'unicorn/explicit-length-check' : 2 ,
678
+ 'unicorn/explicit-length-check' : 0 ,
665
679
'unicorn/filename-case' : [
666
680
2 ,
667
681
{
@@ -774,15 +788,8 @@ const config = {
774
788
allowArgumentsExplicitlyTypedAsAny : true ,
775
789
allowDirectConstAssertionInArrowFunctions : true ,
776
790
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
791
+ allowTypedFunctionExpressions : false ,
792
+ allowedNames : [ ]
786
793
}
787
794
] ,
788
795
'no-undef' : 0
@@ -835,6 +842,7 @@ const config = {
835
842
} ,
836
843
plugins : [ 'chai-expect' , 'jest-formatting' ] ,
837
844
rules : {
845
+ '@typescript-eslint/class-literal-property-style' : 0 ,
838
846
'@typescript-eslint/consistent-indexed-object-style' : 0 ,
839
847
'@typescript-eslint/no-base-to-string' : 0 ,
840
848
'@typescript-eslint/no-empty-function' : 0 ,
@@ -858,7 +866,6 @@ const config = {
858
866
'promise/valid-params' : 0 ,
859
867
'unicorn/consistent-destructuring' : 0 ,
860
868
'unicorn/error-message' : 0 ,
861
- 'unicorn/explicit-length-check' : 0 ,
862
869
'unicorn/no-array-for-each' : 0 ,
863
870
'unicorn/no-hex-escape' : 0 ,
864
871
'unicorn/no-useless-undefined' : 0 ,
@@ -878,6 +885,12 @@ const config = {
878
885
'@typescript-eslint/no-redundant-type-constituents' : 0
879
886
}
880
887
} ,
888
+ {
889
+ files : [ '**/decorators/*.constraint.ts' , '**/*.decorator.ts' ] ,
890
+ rules : {
891
+ '@typescript-eslint/ban-types' : 0
892
+ }
893
+ } ,
881
894
{
882
895
files : [ '**/enums/*.ts' , '**/interfaces/*.ts' , '**/types/*.ts' ] ,
883
896
rules : {
@@ -990,6 +1003,7 @@ const config = {
990
1003
'@typescript-eslint/naming-convention' : 0 ,
991
1004
'@typescript-eslint/no-base-to-string' : 0 ,
992
1005
'@typescript-eslint/no-confusing-void-expression' : 0 ,
1006
+ '@typescript-eslint/no-duplicate-type-constituents' : 0 ,
993
1007
'@typescript-eslint/no-floating-promises' : 0 ,
994
1008
'@typescript-eslint/no-for-in-array' : 0 ,
995
1009
'@typescript-eslint/no-implied-eval' : 0 ,
@@ -1006,12 +1020,14 @@ const config = {
1006
1020
'@typescript-eslint/no-unsafe-argument' : 0 ,
1007
1021
'@typescript-eslint/no-unsafe-assignment' : 0 ,
1008
1022
'@typescript-eslint/no-unsafe-call' : 0 ,
1023
+ '@typescript-eslint/no-unsafe-enum-comparison' : 0 ,
1009
1024
'@typescript-eslint/no-unsafe-member-access' : 0 ,
1010
1025
'@typescript-eslint/no-unsafe-return' : 0 ,
1011
1026
'@typescript-eslint/no-unused-expressions' : 0 ,
1012
1027
'@typescript-eslint/non-nullable-type-assertion-style' : 0 ,
1013
1028
'@typescript-eslint/prefer-includes' : 0 ,
1014
1029
'@typescript-eslint/prefer-nullish-coalescing' : 0 ,
1030
+ '@typescript-eslint/prefer-optional-chain' : 0 ,
1015
1031
'@typescript-eslint/prefer-readonly' : 0 ,
1016
1032
'@typescript-eslint/prefer-readonly-parameter-types' : 0 ,
1017
1033
'@typescript-eslint/prefer-reduce-type-parameter' : 0 ,
@@ -1032,7 +1048,7 @@ const config = {
1032
1048
}
1033
1049
} ,
1034
1050
{
1035
- files : '**/*.yml' ,
1051
+ files : '**/*.+(yaml| yml) ' ,
1036
1052
parser : 'yaml-eslint-parser' ,
1037
1053
plugins : [ 'yml' ] ,
1038
1054
rules : {
@@ -1151,20 +1167,35 @@ const config = {
1151
1167
'prettier/prettier' : [ 2 , { } , { usePrettierrc : true } ]
1152
1168
} ,
1153
1169
settings : {
1170
+ 'import/parsers' : {
1171
+ '@typescript-eslint/parser' : [ '.cts' , '.mts' , '.ts' , '.tsx' ]
1172
+ } ,
1173
+ 'import/resolver' : {
1174
+ node : true ,
1175
+ typescript : true
1176
+ } ,
1154
1177
jsdoc : {
1155
1178
augmentsExtendsReplacesDocs : true ,
1156
1179
ignoreInternal : false ,
1157
1180
ignorePrivate : false ,
1158
1181
implementsReplacesDocs : true ,
1159
1182
overrideReplacesDocs : true ,
1160
1183
preferredTypes : {
1161
- '*' : false
1184
+ '*' : false ,
1185
+ '.<>' : false ,
1186
+ 'Array<>' : { replacement : '[]' } ,
1187
+ Object : { replacement : 'object' } ,
1188
+ 'Object<>' : { replacement : 'Record<>' } ,
1189
+ object : 'object'
1162
1190
} ,
1163
1191
structuredTags : {
1164
1192
const : {
1165
1193
name : 'namepath-defining' ,
1166
1194
required : [ 'name' ]
1167
1195
} ,
1196
+ decorator : {
1197
+ name : 'none'
1198
+ } ,
1168
1199
enum : {
1169
1200
name : 'namepath-defining' ,
1170
1201
required : [ 'name' , 'type' ]
0 commit comments