{ "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" } }