{
  "root": true,
  "extends": [
    "next",
    "next/core-web-vitals",
    "plugin:prettier/recommended",
    "plugin:@typescript-eslint/recommended"
  ],
  "plugins": ["unused-imports", "@typescript-eslint"],
  "parser": "@typescript-eslint/parser",
  "rules": {
    "linebreak-style": ["error", "unix"],
    "quotes": [
      "error",
      "single",
      {
        "avoidEscape": true
      }
    ],
    "semi": ["error", "always"],
    "comma-dangle": ["error", "always-multiline"],
    "jsx-quotes": ["error", "prefer-single"],
    "indent": "off",
    "react/prop-types": "off",
    "react-hooks/rules-of-hooks": "off",
    "react-hooks/exhaustive-deps": "off",
    "react/jsx-uses-react": "warn",
    "react/jsx-uses-vars": "warn",
    "react/no-danger-with-children": "warn",
    "react/no-deprecated": "warn",
    "react/no-direct-mutation-state": "warn",
    "react/no-is-mounted": "warn",
    "react/no-typos": "error",
    "react/react-in-jsx-scope": "off",
    "react/require-render-return": "error",
    "react/style-prop-object": "warn",
    "@next/next/no-img-element": "off",
    "jsx-a11y/alt-text": "off",
    "react/display-name": "off",
    "no-unused-vars": "off",
    "@typescript-eslint/no-unused-vars": "off",
    "unused-imports/no-unused-imports": "error",
    "unused-imports/no-unused-vars": [
      "error",
      { "vars": "all", "varsIgnorePattern": "^_", "args": "after-used", "argsIgnorePattern": "^_" }
    ],
    "@typescript-eslint/ban-ts-comment": "off"
  }
}
