module.exports = { root: true, reportUnusedDisableDirectives: false, env: { browser: true, es2020: true }, extends: [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:react-hooks/recommended", ], ignorePatterns: ["dist", ".eslintrc.cjs"], parser: "@typescript-eslint/parser", plugins: ["react-refresh"], rules: { "react-refresh/only-export-components": [ "off", { allowConstantExport: true }, ], // loosen aggressive TypeScript plugin checks while keeping basic linting "@typescript-eslint/no-unused-vars": "off", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-var-requires": "off", "@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/no-array-constructor": "off", "@typescript-eslint/no-this-alias": "off", "@typescript-eslint/ban-types": "off", "no-empty": "off", "no-async-promise-executor": "off", "no-unsafe-finally": "off", "no-case-declarations": "off", "no-var": "off", "prefer-const": "off", "no-extra-boolean-cast": "off", "prefer-rest-params": "off", "no-unsafe-optional-chaining": "off", "react-hooks/rules-of-hooks": "off", "no-prototype-builtins": "off", "no-self-assign": "off", "no-useless-catch": "off", // keep hooks linting from harming workflow "react-hooks/exhaustive-deps": "off", }, };