@@ -33,30 +33,52 @@ module.exports = defineConfig({
3333 quotes : [ 'error' , 'single' , { avoidEscape : true } ] ,
3434 semi : [ 'error' , 'always' ] ,
3535
36- '@typescript-eslint/ban-ts-comment' : 'off' ,
37- '@typescript-eslint/explicit-function-return-type' : [
36+ '@typescript-eslint/array-type' : [
3837 'error' ,
39- { allowExpressions : true } ,
38+ { default : 'array-simple' , readonly : 'generic' } ,
4039 ] ,
41- '@typescript-eslint/interface-name-prefix' : 'off' ,
42- '@typescript-eslint/member-ordering' : 'off' ,
43- '@typescript-eslint/consistent-type-imports' : [
40+ '@typescript-eslint/ban-ts-comment' : 'error' ,
41+ '@typescript-eslint/consistent-type-imports' : 'error' ,
42+ '@typescript-eslint/explicit-module-boundary-types' : 'error' ,
43+ '@typescript-eslint/naming-convention' : [
4444 'error' ,
45- { prefer : 'type-imports' } ,
45+ {
46+ format : [ 'PascalCase' ] ,
47+ selector : [ 'class' , 'interface' , 'typeAlias' , 'typeParameter' ] ,
48+ leadingUnderscore : 'forbid' ,
49+ trailingUnderscore : 'forbid' ,
50+ } ,
4651 ] ,
47- '@typescript-eslint/no-explicit-any' : 'off' ,
4852 '@typescript-eslint/no-inferrable-types' : 'off' ,
49- '@typescript-eslint/no-non-null-assertion' : 'off' ,
50- '@typescript-eslint/no-parameter-properties' : 'off' ,
53+ '@typescript-eslint/no-unsafe-argument' : 'error' ,
5154 '@typescript-eslint/no-unsafe-assignment' : 'off' ,
52- '@typescript-eslint/no-unused-vars' : 'off' ,
55+ '@typescript-eslint/no-unsafe-call' : 'off' ,
56+ '@typescript-eslint/no-unsafe-member-access' : 'off' ,
57+ '@typescript-eslint/no-unsafe-return' : 'error' ,
58+ '@typescript-eslint/padding-line-between-statements' : [
59+ 'error' ,
60+ { blankLine : 'always' , prev : 'block-like' , next : '*' } ,
61+ ] ,
5362 '@typescript-eslint/prefer-nullish-coalescing' : 'warn' ,
5463 '@typescript-eslint/prefer-optional-chain' : 'warn' ,
55- '@typescript-eslint/prefer-readonly' : [ 'warn' ] ,
56- '@typescript-eslint/restrict-template-expressions' : 'off' ,
64+ '@typescript-eslint/prefer-readonly' : 'warn' ,
65+ '@typescript-eslint/restrict-template-expressions' : [
66+ 'error' ,
67+ { allowNumber : true , allowBoolean : true } ,
68+ ] ,
5769 '@typescript-eslint/typedef' : [
5870 'warn' ,
5971 { memberVariableDeclaration : true , variableDeclaration : true } ,
6072 ] ,
6173 } ,
74+ overrides : [
75+ {
76+ // Rule files are generated by `generate:rules` script
77+ files : [ 'src/rules/**/*.d.ts' ] ,
78+ rules : {
79+ '@typescript-eslint/array-type' : 'off' ,
80+ '@typescript-eslint/no-explicit-any' : 'off' ,
81+ } ,
82+ } ,
83+ ] ,
6284} ) ;
0 commit comments