1 | module.exports = {
|
2 | root: true,
|
3 | parser: '@typescript-eslint/parser',
|
4 | parserOptions: {
|
5 | jsx: true,
|
6 | useJSXTextNode: true,
|
7 | },
|
8 | plugins: ['@typescript-eslint'],
|
9 | extends: [
|
10 | 'plugin:@typescript-eslint/recommended',
|
11 | 'plugin:react/recommended',
|
12 | 'plugin:react-hooks/recommended',
|
13 | 'prettier',
|
14 | 'prettier/@typescript-eslint',
|
15 | ],
|
16 | settings: {
|
17 | react: {
|
18 | version: 'detect',
|
19 | },
|
20 | },
|
21 | rules: {
|
22 | 'no-console': 2,
|
23 | 'arrow-parens': ['error', 'always'],
|
24 | 'react/prop-types': 0,
|
25 | '@typescript-eslint/no-explicit-any': 'off',
|
26 | '@typescript-eslint/explicit-function-return-type': 'off',
|
27 | '@typescript-eslint/explicit-module-boundary-types': 'off',
|
28 | '@typescript-eslint/no-use-before-define': [
|
29 | 'error',
|
30 | { classes: false, functions: false, variables: false },
|
31 | ],
|
32 | '@typescript-eslint/no-unused-vars': [
|
33 | 'error',
|
34 | { vars: 'all', args: 'none', ignoreRestSiblings: true },
|
35 | ],
|
36 |
|
37 |
|
38 | 'react-hooks/rules-of-hooks': 'error',
|
39 | 'react-hooks/exhaustive-deps': 'warn',
|
40 | },
|
41 | };
|