1
1
module . exports = {
2
2
root : true ,
3
- extends : "@react-native-community" ,
3
+ extends : [
4
+ "eslint:recommended" ,
5
+ "plugin:react/recommended" ,
6
+ "plugin:@typescript-eslint/recommended" ,
7
+ "@react-native-community" ,
8
+ "prettier" ,
9
+ ] ,
10
+ ignorePatterns : [
11
+ "**/*/*.js" ,
12
+ "*.js" ,
13
+ "*.svg" ,
14
+ "*.json" ,
15
+ "*.png" ,
16
+ "package.json" ,
17
+ "package-lock.json" ,
18
+ ] ,
4
19
parser : "@typescript-eslint/parser" ,
5
- plugins : [ "import" , "eslint-plugin-import" , "@typescript-eslint" ] ,
20
+ plugins : [
21
+ "import" ,
22
+ "react" ,
23
+ "react-native" ,
24
+ "prettier" ,
25
+ "react-hooks" ,
26
+ "@typescript-eslint" ,
27
+ "promise" ,
28
+ "jest" ,
29
+ "unused-imports" ,
30
+ ] ,
31
+ env : {
32
+ browser : true ,
33
+ es2021 : true ,
34
+ "jest/globals" : true ,
35
+ "react-native/react-native" : true ,
36
+ } ,
6
37
settings : {
7
38
"import/resolver" : {
8
39
node : {
@@ -36,9 +67,25 @@ module.exports = {
36
67
avoidEscape : true ,
37
68
} ,
38
69
] ,
70
+ "import/extensions" : [
71
+ "error" ,
72
+ "never" ,
73
+ {
74
+ svg : "always" ,
75
+ model : "always" ,
76
+ style : "always" ,
77
+ png : "always" ,
78
+ jpg : "always" ,
79
+ json : "always" ,
80
+ constant : "always" ,
81
+ } ,
82
+ ] ,
83
+ "no-useless-catch" : 0 ,
84
+ "react-hooks/exhaustive-deps" : 0 ,
39
85
"max-len" : [ "error" , 120 ] ,
40
- "@typescript-eslint/ban-ts-comment" : 2 ,
41
- "@typescript-eslint/no-explicit-any" : 2 ,
86
+ "@typescript-eslint/ban-ts-comment" : 1 ,
87
+ "@typescript-eslint/no-empty-function" : 0 ,
88
+ "@typescript-eslint/no-explicit-any" : 1 ,
42
89
"@typescript-eslint/explicit-module-boundary-types" : 0 ,
43
90
"react/jsx-filename-extension" : [ "error" , { extensions : [ ".tsx" ] } ] ,
44
91
"react-native/no-unused-styles" : 2 ,
@@ -47,9 +94,8 @@ module.exports = {
47
94
"react-native/no-color-literals" : 0 ,
48
95
"react-native/no-raw-text" : 0 ,
49
96
"import/no-extraneous-dependencies" : 2 ,
50
- "import/extensions" : [ "error" , "never" , { svg : "always" } ] ,
51
97
"import/no-named-as-default-member" : 2 ,
52
- "import/order" : [ "error" , { "newlines-between" : "always" } ] ,
98
+ "import/order" : 0 ,
53
99
"import/no-duplicates" : 2 ,
54
100
"import/no-useless-path-segments" : 2 ,
55
101
"import/no-cycle" : 2 ,
@@ -64,14 +110,14 @@ module.exports = {
64
110
"import/no-deprecated" : 0 ,
65
111
"@typescript-eslint/indent" : 0 ,
66
112
"react-hooks/rules-of-hooks" : 2 ,
67
- "react-hooks/exhaustive-deps" : [
68
- "error" ,
69
- { additionalHooks : "(useMemoOne)" } ,
70
- ] ,
71
- "jest/no-identical-title" : 2 ,
72
- "jest/valid-expect" : 2 ,
73
113
camelcase : 2 ,
74
114
"prefer-destructuring" : 2 ,
75
115
"no-nested-ternary" : 2 ,
116
+ "prettier/prettier" : [
117
+ "error" ,
118
+ {
119
+ endOfLine : "auto" ,
120
+ } ,
121
+ ] ,
76
122
} ,
77
123
} ;
0 commit comments