{
    "parser": "@typescript-eslint/parser",
    "plugins": [
        "@typescript-eslint",
        "react",
        "react-hooks",
        "eslint-plugin-import",
        "prettier"
    ],
    "env": {
        "browser": true
    },
    "extends": [
        "plugin:@typescript-eslint/recommended",
        "plugin:react/recommended",
        "plugin:prettier/recommended"
    ],
    "parserOptions": {
        "project": [
            "tsconfig.json",
            "examples/tsconfig.json",
            "test/tsconfig.json"
        ],
        "ecmaVersion": 2020,
        "sourceType": "module",
        "ecmaFeatures": {
            "jsx": true
        }
    },
    "rules": {
        "@typescript-eslint/explicit-function-return-type": "off",
        "@typescript-eslint/no-unused-vars": "off",
        "react/jsx-filename-extension": [
            "warn",
            {
                "extensions": [
                    ".jsx",
                    ".tsx"
                ]
            }
        ],
        "react/prop-types": "off",
        "react-hooks/rules-of-hooks": "error",
        "react-hooks/exhaustive-deps": "warn",
        "react/no-deprecated": "off",
        "quotes": [
            2,
            "single",
            {
                "avoidEscape": true
            }
        ],
        "react/jsx-key": "off",
        "no-console": "warn"
    },
    "settings": {
        "react": {
            "version": "detect"
        }
    },
    "overrides": [
        {
            "files": [
                "test/*.tsx"
            ],
            "rules": {
                "@typescript-eslint/no-non-null-assertion": "off"
            }
        }
    ]
}
