11module . exports = {
22 root : true ,
3+ parser : "@typescript-eslint/parser" ,
4+ parserOptions : {
5+ ecmaVersion : 2021 ,
6+ sourceType : "module" ,
7+ ecmaFeatures : {
8+ jsx : true ,
9+ } ,
10+ } ,
11+ env : {
12+ browser : true ,
13+ es2021 : true ,
14+ "jest/globals" : true ,
15+ "react-native/react-native" : true ,
16+ } ,
317 extends : [
418 "eslint:recommended" ,
519 "plugin:react/recommended" ,
620 "plugin:@typescript-eslint/recommended" ,
7- "prettier" ,
8- ] ,
9- ignorePatterns : [
10- "**/*/*.js" ,
11- "*.js" ,
12- "*.svg" ,
13- "*.json" ,
14- "*.png" ,
15- "package.json" ,
16- "package-lock.json" ,
21+ "plugin:prettier/recommended" ,
1722 ] ,
18- parser : "@typescript-eslint/parser" ,
1923 plugins : [
2024 "react" ,
2125 "react-native" ,
@@ -24,15 +28,13 @@ module.exports = {
2428 "jest" ,
2529 "@typescript-eslint" ,
2630 "promise" ,
27- "unused-imports"
31+ "unused-imports" ,
32+ "import" ,
2833 ] ,
29- env : {
30- browser : true ,
31- es2021 : true ,
32- "jest/globals" : true ,
33- "react-native/react-native" : true ,
34- } ,
3534 settings : {
35+ react : {
36+ version : "detect" ,
37+ } ,
3638 "import/resolver" : {
3739 node : {
3840 extensions : [
@@ -57,14 +59,43 @@ module.exports = {
5759 } ,
5860 } ,
5961 } ,
62+ ignorePatterns : [
63+ "**/*/*.js" ,
64+ "*.js" ,
65+ "*.svg" ,
66+ "*.json" ,
67+ "*.png" ,
68+ "package.json" ,
69+ "package-lock.json" ,
70+ ] ,
6071 rules : {
72+ "prettier/prettier" : [
73+ "error" ,
74+ {
75+ endOfLine : "auto" ,
76+ } ,
77+ ] ,
6178 quotes : [
6279 "error" ,
6380 "double" ,
6481 {
6582 avoidEscape : true ,
6683 } ,
6784 ] ,
85+ "max-len" : [ "error" , 120 ] ,
86+ "no-useless-catch" : "off" ,
87+ "react-hooks/exhaustive-deps" : "off" ,
88+ "@typescript-eslint/ban-ts-comment" : "warn" ,
89+ "@typescript-eslint/no-empty-function" : "off" ,
90+ "@typescript-eslint/no-explicit-any" : "warn" ,
91+ "@typescript-eslint/explicit-module-boundary-types" : "off" ,
92+ "@typescript-eslint/no-empty-interface" : "off" ,
93+ "react/jsx-filename-extension" : [ "error" , { extensions : [ ".tsx" ] } ] ,
94+ "react-native/no-unused-styles" : "error" ,
95+ "react-native/split-platform-components" : "error" ,
96+ "react-native/no-inline-styles" : "off" ,
97+ "react-native/no-color-literals" : "off" ,
98+ "react-native/no-raw-text" : "off" ,
6899 "import/extensions" : [
69100 "error" ,
70101 "never" ,
@@ -78,44 +109,23 @@ module.exports = {
78109 constant : "always" ,
79110 } ,
80111 ] ,
81- "no-useless-catch" : 0 ,
82- "react-hooks/exhaustive-deps" : 0 ,
83- "max-len" : [ "error" , 120 ] ,
84- "@typescript-eslint/ban-ts-comment" : 1 ,
85- "@typescript-eslint/no-empty-function" : 0 ,
86- "@typescript-eslint/no-explicit-any" : 1 ,
87- "@typescript-eslint/explicit-module-boundary-types" : 0 ,
88- "react/jsx-filename-extension" : [ "error" , { extensions : [ ".tsx" ] } ] ,
89- "react-native/no-unused-styles" : 2 ,
90- "react-native/split-platform-components" : 2 ,
91- "react-native/no-inline-styles" : 0 ,
92- "react-native/no-color-literals" : 0 ,
93- "react-native/no-raw-text" : 0 ,
94- "import/no-extraneous-dependencies" : 2 ,
95- "import/no-named-as-default-member" : 2 ,
96- "import/order" : 0 ,
97- "import/no-duplicates" : 2 ,
98- "import/no-useless-path-segments" : 2 ,
99- "import/no-cycle" : 2 ,
100- "import/prefer-default-export" : 0 ,
101- "import/no-anonymous-default-export" : 0 ,
102- "import/named" : 0 ,
103- "@typescript-eslint/no-empty-interface" : 0 ,
104- "import/namespace" : 0 ,
105- "import/default" : 0 ,
106- "import/no-named-as-default" : 0 ,
107- "import/no-unused-modules" : 0 ,
108- "import/no-deprecated" : 0 ,
109- "@typescript-eslint/indent" : 0 ,
110- "react-hooks/rules-of-hooks" : 2 ,
111- camelcase : 2 ,
112- "prefer-destructuring" : 2 ,
113- "no-nested-ternary" : 2 ,
114- "prettier/prettier" : [
115- "error" ,
116- {
117- endOfLine : "auto" ,
118- } ,
119- ] ,
112+ "import/no-extraneous-dependencies" : "error" ,
113+ "import/no-named-as-default-member" : "error" ,
114+ "import/no-duplicates" : "error" ,
115+ "import/no-useless-path-segments" : "error" ,
116+ "import/no-cycle" : "error" ,
117+ "import/prefer-default-export" : "off" ,
118+ "import/no-anonymous-default-export" : "off" ,
119+ "import/named" : "off" ,
120+ "import/namespace" : "off" ,
121+ "import/default" : "off" ,
122+ "import/no-named-as-default" : "off" ,
123+ "import/no-unused-modules" : "off" ,
124+ "import/no-deprecated" : "off" ,
125+ "@typescript-eslint/indent" : "off" ,
126+ "react-hooks/rules-of-hooks" : "error" ,
127+ camelcase : "error" ,
128+ "prefer-destructuring" : "error" ,
129+ "no-nested-ternary" : "error" ,
120130 } ,
121131} ;
0 commit comments