{
  "env": {
    "browser": true,
    "es2021": true,
    "jest/globals": true,
    "node": true
  },
  "extends": [
    "eslint:recommended",
    "plugin:react/recommended",
    "plugin:react/jsx-runtime",
    "prettier"
  ],
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    },
    "ecmaVersion": 12,
    "sourceType": "module"
  },
  "plugins": ["react", "jest", "prettier"],
  "rules": {
    "max-len": [
      "warn",
      {
        "code": 100,
        "ignoreStrings": true,
        "ignoreComments": true,
        "ignoreTemplateLiterals": true,
        "ignorePattern": "^\\s*const \\S+ = /.*/;"
      }
    ],
    "quotes": ["warn", "single"],
    "semi": ["warn", "always"],
    "jsx-quotes": ["warn", "prefer-double"],
    "space-in-parens": ["warn", "never"],
    "react/jsx-filename-extension": 0,
    "react/jsx-indent": ["warn", 2],
    "react/jsx-uses-react": 0,
    "react/no-unescaped-entities": 0,
    "react/react-in-jsx-scope": 0,
    "react/jsx-props-no-spreading": 0,
    "import/prefer-default-export": 0,
    "arrow-parens": ["warn", "as-needed"],
    "array-bracket-spacing": ["warn", "never"],
    "comma-dangle": [
      "warn",
      {
        "arrays": "always-multiline",
        "objects": "always-multiline",
        "functions": "always-multiline",
        "imports": "always-multiline",
        "exports": "always-multiline"
      }
    ],
    "no-underscore-dangle": ["warn", { "allow": ["_id"] }],
    "eol-last": ["warn", "always"],
    "space-unary-ops": [
      1,
      {
        "words": true,
        "nonwords": true,
        "overrides": {
          "++": false,
          "--": false,
          "-": false,
          "!": false
        }
      }
    ],
    "space-infix-ops": ["warn", { "int32Hint": false }],
    "keyword-spacing": ["warn", { "before": true }],
    "react/prop-types": 0,
    "no-unused-vars": "off"
  }
}
