{ "env": { "es6": true, "browser": true, "mocha": true, "node": true, "jest": true }, "parser": "babel-eslint", "root": true, "extends": [ "eslint:recommended", "plugin:react/recommended", "plugin:react-hooks/recommended", "plugin:import/recommended", "plugin:import/typescript", "plugin:jsx-a11y/recommended", "prettier" ], "globals": { "Promise": true, "window": true, "$": true, "ga": true, "jQuery": true, "router": true }, "settings": { "react": { "version": "16.4.2" } }, "rules": { "import/named": 2, "import/no-named-as-default": 0, "import/no-named-as-default-member": 0 }, "overrides": [ { "files": ["**/*.ts?(x)"], "parser": "@typescript-eslint/parser", "parserOptions": { "project": [ "./tsconfig.json", "./tools/ui-components/tsconfig.json", "./tools/tsconfig.json" ] }, "extends": [ "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking" ], "plugins": ["@typescript-eslint"], "rules": { "import/named": 0, "@typescript-eslint/naming-convention": [ "error", { "selector": "default", "format": ["camelCase"], "leadingUnderscore": "allow", "trailingUnderscore": "allow" }, { "selector": "variable", "format": ["camelCase", "UPPER_CASE", "PascalCase"], "leadingUnderscore": "allowSingleOrDouble", "trailingUnderscore": "allow" }, { "selector": "typeLike", "format": ["PascalCase"], "custom": { "regex": "^I[A-Z]|[a-zA-Z]Type$", "match": false } }, { "selector": "typeProperty", "format": ["camelCase", "PascalCase"] }, { "selector": "objectLiteralProperty", "format": ["camelCase", "PascalCase"], "leadingUnderscore": "allowSingleOrDouble" }, { "selector": "function", "format": ["camelCase", "PascalCase"] }, { "selector": "enumMember", "format": ["PascalCase"] } ] } }, { "files": [ "./tools/ui-components/**/*.test.[jt]s?(x)", "./client/**/*.test.[jt]s?(x)" ], "extends": [ "plugin:testing-library/react", "plugin:jest-dom/recommended" ], "rules": { "import/named": 2 } }, { "files": ["cypress/**/*.js"], "globals": { "cy": true, "Cypress": true } } ] }