{
    "extends": ["eslint-config-airbnb", "prettier"],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "project": "./tsconfig.json",
        "createDefaultProgram": true
    },
    "env": {
        "browser": true,
        "node": true,
        "jest/globals": true
    },
    "plugins": ["@typescript-eslint", "react", "react-hooks", "jsx-a11y", "import", "jest"],
    "globals": {
        "importScripts": true,
        "workbox": true,
        "__TEST__": true
    },
    "settings": {
        "import/resolver": {
            "node": {
                "extensions": [".js", ".jsx", ".ts", ".tsx"]
            }
        }
    },
    "rules": {
        "@typescript-eslint/no-unused-vars": 2,
        "global-require": 0,
        "implicit-arrow-linebreak": 0,
        "import/extensions": [
            2,
            {
                "ts": "never",
                "tsx": "never",
                "js": "never",
                "jsx": "never"
            }
        ],
        "indent": [
            2,
            4,
            {
                "SwitchCase": 1
            }
        ],
        "jsx-a11y/click-events-have-key-events": 0,
        "jsx-a11y/interactive-supports-focus": 0,
        "jsx-a11y/no-noninteractive-element-interactions": 0,
        "jsx-a11y/no-noninteractive-element-to-interactive-role": 0,
        "no-param-reassign": 0,
        "no-plusplus": 0,
        "no-script-url": 0,
        "no-underscore-dangle": 0,
        "object-curly-newline": 0,
        "react/jsx-filename-extension": [
            2,
            {
                "extensions": [".js", ".jsx", ".tsx"]
            }
        ],
        "react/jsx-indent": [2, 4],
        "react/jsx-indent-props": [2, 4],
        "react/jsx-props-no-spreading": 0,
        "react/jsx-one-expression-per-line": 0,
        "react/static-property-placement": 0,
        "react-hooks/rules-of-hooks": 2,
        "react-hooks/exhaustive-deps": 0,
        "react/require-default-props": [2, { "ignoreFunctionalComponents": true }],
        "import/prefer-default-export": 0,
        "prefer-promise-reject-errors": "off"
    }
}
