File size: 2,367 Bytes
246d201
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
{
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "project": "./tsconfig.json"
  },
  "extends": [
    "airbnb",
    "airbnb-typescript",
    "prettier",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:react/recommended",
    "plugin:react-hooks/recommended",
    "plugin:@tanstack/query/recommended"
  ],
  "plugins": [
    "prettier"
  ],
  "rules": {
    "prettier/prettier": [
      "error"
    ],
    // Resolves https://stackoverflow.com/questions/59265981/typescript-eslint-missing-file-extension-ts-import-extensions/59268871#59268871
    "import/extensions": [
      "error",
      "ignorePackages",
      {
        "": "never",
        "ts": "never",
        "tsx": "never"
      }
    ]
  },
  "settings": {
    "react": {
      "version": "detect"
    }
  },
  "overrides": [
    {
      "files": [
        "*.ts",
        "*.tsx"
      ],
      "rules": {
        // Allow state modification in reduce and Redux reducers
        "no-param-reassign": [
          "error",
          {
            "props": true,
            "ignorePropertyModificationsFor": [
              "acc",
              "state"
            ]
          }
        ],
        // For https://stackoverflow.com/questions/55844608/stuck-with-eslint-error-i-e-separately-loops-should-be-avoided-in-favor-of-arra
        "no-restricted-syntax": "off",
        "react/require-default-props": "off",
        "import/prefer-default-export": "off",
        "no-underscore-dangle": "off",
        "jsx-a11y/no-static-element-interactions": "off",
        "jsx-a11y/click-events-have-key-events": "off",
        // For https://github.com/airbnb/javascript/issues/1885
        "jsx-a11y/label-has-associated-control": [
          2,
          {
            "required": {
              "some": [
                "nesting",
                "id"
              ]
            }
          }
        ],
        "react/prop-types": "off",
        "react/no-array-index-key": "off",
        "react-hooks/exhaustive-deps": "off",
        "import/no-extraneous-dependencies": "off",
        "react/react-in-jsx-scope": "off"
      },
      "parserOptions": {
        "project": [
          "**/tsconfig.json"
        ]
      }
    }
  ]
}