module.exports = { env: { browser: true, es2021: true, }, extends: [ "eslint:recommended", "plugin:react/recommended", "plugin:react-hooks/recommended", "plugin:react/jsx-runtime", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking", "plugin:prettier/recommended", ], overrides: [], parser: "@typescript-eslint/parser", parserOptions: { ecmaVersion: "latest", sourceType: "module", project: ["./tsconfig.json"], }, plugins: [ "react", "react-hooks", "@typescript-eslint", "prettier", "simple-import-sort", ], rules: { eqeqeq: "error", "no-else-return": "error", "no-implicit-coercion": ["error", { disallowTemplateShorthand: true }], "no-unneeded-ternary": "error", "no-useless-call": "error", "no-useless-computed-key": "error", "no-useless-concat": "error", "prefer-arrow-callback": "error", "prefer-const": "error", "prefer-rest-params": "error", "prefer-spread": "error", "prefer-template": "error", radix: ["error", "always"], "simple-import-sort/imports": "error", "simple-import-sort/exports": "error", "prettier/prettier": "error", "react-hooks/exhaustive-deps": "warn", "react/display-name": "off", "@typescript-eslint/restrict-template-expressions": "off", "@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/no-floating-promises": "off", "@typescript-eslint/no-unsafe-assignment": "warn", "@typescript-eslint/no-unsafe-member-access": "warn", "@typescript-eslint/no-unsafe-call": "warn", "react-hooks/exhaustive-deps": "warn", "react/no-danger-with-children": "warn", "@typescript-eslint/no-misused-promises": "warn", }, };