{
    "env": {
        "browser": true,
        "es2021": true,
        "jest": true
    },
    "extends": [
        "plugin:react/recommended",
        "plugin:@typescript-eslint/recommended",
        "plugin:@typescript-eslint/eslint-recommended",
        "airbnb"
    ],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "ecmaFeatures": {
            "jsx": true
        },
        "ecmaVersion": "latest",
        "sourceType": "module"
    },
    "plugins": [
        "react",
        "@typescript-eslint"
    ],
    "rules": {
        "react/jsx-filename-extension": [ "warn", {"extensions": [".tsx"]} ],
        "no-use-before-define": "off",
        "@typescript-eslint/no-use-before-define": ["error"],
        "import/extensions": ["error", "ignorePackages", {"ts": "never", "tsx": "never"}],
        "no-param-reassign": ["error", { "props": false }],
        "no-unused-vars": "off",
        "@typescript-eslint/no-unused-vars": ["error"]
    },
    "settings": {
        "import/resolver": {
            "typescript": {}
        }
    }
}