module.exports = { extends: ["airbnb-typescript", "prettier"], parser: "@typescript-eslint/parser", parserOptions: { project: "tsconfig.json", }, plugins: [ "eslint-plugin-import", "eslint-plugin-jsdoc", "eslint-plugin-prefer-arrow", "eslint-plugin-react", "@typescript-eslint", ], rules: { "import/prefer-default-export": "off", "class-methods-use-this": "off", "@typescript-eslint/lines-between-class-members": [ "error", "always", { exceptAfterSingleLine: true }, ], "@typescript-eslint/return-await": "off", "import/no-cycle": "off", "no-restricted-syntax": [ "error", { selector: "ForInStatement", message: "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.", }, { selector: "LabeledStatement", message: "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.", }, { selector: "WithStatement", message: "`with` is disallowed in strict mode because it makes code impossible to predict and optimize.", }, ], }, };