-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintrc.js
114 lines (114 loc) · 2.81 KB
/
.eslintrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
module.exports = {
root: true,
"env": {
"es2021": true,
"node": true,
"browser": true,
"jest": true,
"react-native/react-native": true
},
extends: [
"eslint:recommended",
'@react-native-community',
'plugin:react/recommended',
'plugin:react/jsx-runtime',
'plugin:prettier/recommended',
"plugin:react-hooks/recommended",
"plugin:@typescript-eslint/recommended",
"prettier"
],
plugins: ['prettier',
'@typescript-eslint',
"import",
"react",
"react-native",
"unused-imports"],
ignorePatterns: [
// Defines patterns for files and directories to be ignored by ESLint. Files and directories matching these patterns will not be checked by ESLint
'__tests__/',
'build/',
'node_modules',
'output',
'public',
'src/api/',
'src/assets/',
'metro.config.js',
'babel.config.js',
'commitlint.config.js',
'jest.config.tsx',
'.eslintrc.js'
],
parser: '@typescript-eslint/parser',
parserOptions: {
// Provides options for the parser. Here, it sets the ECMAScript version to 2021, enables the parsing of JSX syntax, and sets the source type to 'module' to support ES modules
"ecmaVersion": "latest",
sourceType: 'module',
ecmaFeatures: {
jsx: true
}
},
rules: {
'react/jsx-uses-react': 1,
'arrow-body-style': ['error'],
"arrow-body-style": 0,
"import/extensions": [
"error",
"ignorePackages",
{
"": "never",
"js": "never",
"jsx": "never",
"ts": "never",
"tsx": "never"
}
],
'@typescript-eslint/no-explicit-any': 'off',
'linebreak-style': 'off',
'no-tabs': 'off',
"no-unused-vars": 'off',
// "@typescript-eslint/no-unused-vars": "error",
'max-len': ['error', { code: 300 }],
'import/extensions': [
'error',
'always',
{
ts: 'never', // Disallow file extension for TypeScript files
tsx: 'never',
js: 'never',
jsz: 'never'
}
],
'react/jsx-filename-extension': [
'error',
{
extensions: ['.tsx'] // Allow JSX in TypeScript files with the '.tsx' extension
}
],
'@typescript-eslint/ban-types': [
'error',
{
extendDefaults: true,
types: {
'{}': false,
},
},
],
'react/function-component-definition': [
'error',
{
namedComponents: 'arrow-function' // Allow arrow function syntax for function components
}
]
},
"settings": {
"import/resolver": {
"node": {
"paths": ["src"],
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
},
"react": {
"version": "detect"
}
}
};