{ "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint", "prettier", "sort-class-members"], "extends": [ "airbnb-base", "airbnb-typescript", "plugin:prettier/recommended", "plugin:compat/recommended", "plugin:@typescript-eslint/recommended" ], "env": { "es6": true, "browser": true, "mocha": true, "cypress/globals": true }, "parserOptions": { "project": "./tsconfig.json", "ecmaVersion": 2020 }, "rules": { "import/prefer-default-export": "off", "import/no-extraneous-dependencies": [ "error", { "devDependencies": true } ], "no-console": [ "warn", { "allow": ["warn", "error"] } ], "no-plusplus": "off", "no-unused-expressions": "off", "no-underscore-dangle": "off", "consistent-return": "off", "import/no-useless-path-segments": "warn", "prefer-destructuring": [ "warn", { "array": false, "object": true } ], "curly": ["error", "all"], "newline-before-return": "error", "sort-class-members/sort-class-members": [ 2, { "order": [ "[static-properties]", "[static-methods]", "[properties]", "[conventional-private-properties]", "constructor", "[methods]", "[conventional-private-methods]" ], "accessorPairPositioning": "getThenSet" } ], "lines-between-class-members": "off", "@typescript-eslint/no-namespace": "off", "react/jsx-filename-extension": [0] }, "overrides": [ { "files": ["*.test.ts"], "env": { "mocha": true }, "rules": { "no-restricted-syntax": "off", "compat/compat": "off", "no-new": "off", "@typescript-eslint/no-empty-function": "off", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-non-null-assertion": "off", "@typescript-eslint/no-unused-expressions": "off", "@typescript-eslint/naming-convention": [ "error", { "selector": "default", "format": ["camelCase", "PascalCase", "UPPER_CASE"], "leadingUnderscore": "allow" } ] } }, { "files": ["cypress/**"], "plugins": ["cypress"], "rules": { "no-unused-vars": "warn" }, "env": { "cypress/globals": true } } ], "settings": { "polyfills": [ "Array.from", "Array.prototype.find", "Array.prototype.includes", "Symbol", "Symbol.iterator", "DOMTokenList", "Object.assign", "CustomEvent", "Element.prototype.classList", "Element.prototype.closest", "Element.prototype.dataset" ], "import/resolver": { "node": { "extensions": [".js", ".ts"] } } } }