3
3
/** @type {import('eslint').Linter.Config } */
4
4
const config = {
5
5
root : true ,
6
+ reportUnusedDisableDirectives : true ,
7
+ ignorePatterns : [ '**/build' , '**/coverage' , '**/dist' ] ,
6
8
parser : '@typescript-eslint/parser' ,
7
- plugins : [ '@typescript-eslint' , 'compat' , ' import'] ,
9
+ plugins : [ '@typescript-eslint' , 'import' ] ,
8
10
extends : [
9
- 'plugin:@typescript- eslint/eslint- recommended' ,
11
+ 'eslint: recommended' ,
10
12
'plugin:@typescript-eslint/recommended' ,
11
- 'plugin:compat/recommended ' ,
13
+ 'plugin:@typescript-eslint/stylistic ' ,
12
14
'plugin:import/recommended' ,
13
15
'plugin:import/typescript' ,
14
16
'prettier' ,
@@ -19,7 +21,7 @@ const config = {
19
21
} ,
20
22
parserOptions : {
21
23
tsconfigRootDir : __dirname ,
22
- project : './tsconfig.json' ,
24
+ project : true ,
23
25
sourceType : 'module' ,
24
26
ecmaVersion : 2020 ,
25
27
} ,
@@ -35,26 +37,56 @@ const config = {
35
37
} ,
36
38
} ,
37
39
rules : {
40
+ '@typescript-eslint/array-type' : 'off' ,
38
41
'@typescript-eslint/ban-types' : 'off' ,
39
42
'@typescript-eslint/ban-ts-comment' : 'off' ,
40
- '@typescript-eslint/consistent-type-imports' : 'error' ,
43
+ '@typescript-eslint/consistent-type-definitions' : 'off' ,
44
+ '@typescript-eslint/consistent-type-imports' : [
45
+ 'error' ,
46
+ { prefer : 'type-imports' } ,
47
+ ] ,
41
48
'@typescript-eslint/explicit-module-boundary-types' : 'off' ,
49
+ '@typescript-eslint/method-signature-style' : 'error' ,
42
50
'@typescript-eslint/no-empty-interface' : 'off' ,
43
51
'@typescript-eslint/no-explicit-any' : 'off' ,
44
52
'@typescript-eslint/no-non-null-assertion' : 'off' ,
45
53
'@typescript-eslint/no-unnecessary-condition' : 'error' ,
54
+ '@typescript-eslint/no-unused-vars' : 'off' ,
46
55
'@typescript-eslint/no-inferrable-types' : [
47
56
'error' ,
48
- {
49
- ignoreParameters : true ,
50
- } ,
57
+ { ignoreParameters : true } ,
51
58
] ,
52
- 'no-shadow' : 'error' ,
59
+ '@typescript-eslint/prefer-for-of' : 'off' ,
60
+ 'import/default' : 'off' ,
61
+ 'import/export' : 'off' ,
62
+ 'import/namespace' : 'off' ,
63
+ 'import/newline-after-import' : 'error' ,
53
64
'import/no-cycle' : 'error' ,
65
+ 'import/no-duplicates' : 'off' ,
66
+ 'import/no-named-as-default-member' : 'off' ,
54
67
'import/no-unresolved' : [ 'error' , { ignore : [ '^@tanstack/' ] } ] ,
55
68
'import/no-unused-modules' : [ 'off' , { unusedExports : true } ] ,
69
+ 'import/order' : [
70
+ 'error' ,
71
+ {
72
+ groups : [
73
+ 'builtin' ,
74
+ 'external' ,
75
+ 'internal' ,
76
+ 'parent' ,
77
+ 'sibling' ,
78
+ 'index' ,
79
+ 'object' ,
80
+ 'type' ,
81
+ ] ,
82
+ } ,
83
+ ] ,
84
+ 'no-async-promise-executor' : 'off' ,
85
+ 'no-empty' : 'off' ,
56
86
'no-redeclare' : 'off' ,
57
- '@typescript-eslint/no-unused-vars' : 'off' ,
87
+ 'no-shadow' : 'error' ,
88
+ 'no-undef' : 'off' ,
89
+ 'sort-imports' : [ 'error' , { ignoreDeclarationSort : true } ] ,
58
90
} ,
59
91
overrides : [
60
92
{
0 commit comments