{ "extends": [ "eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", "plugin:import/recommended", "plugin:import/typescript", "next", "next/core-web-vitals", "plugin:prettier/recommended" ], "env": { "node": true }, "parser": "@typescript-eslint/parser", "plugins": [ "@typescript-eslint", "import", "simple-import-sort", "unused-imports", "prettier", "@typescript-eslint/eslint-plugin" ], "settings": { "import/parsers": { "@typescript-eslint/parser": [".ts", ".tsx"] }, "import/resolver": { "typescript": { "project": "./tsconfig.json", "alwaysTryTypes": true } } }, "parserOptions": { "tsconfigRootDir": "./", "sourceType": "module", "ecmaVersion": 2019 }, "rules": { "prettier/prettier": "error", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/interface-name-prefix": "off", "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/explicit-module-boundary-types": "off", "@typescript-eslint/no-empty-function": "warn", "@typescript-eslint/no-unused-vars": [ "warn", { "argsIgnorePattern": "^_" } ], "import/no-unresolved": "error", "no-shadow": 0, "spaced-comment": ["error", "always"], "arrow-body-style": "error", "padding-line-between-statements": [ "error", { "blankLine": "always", "prev": "*", "next": ["return", "while", "switch", "block", "for"] }, { "blankLine": "always", "prev": ["block", "while", "switch", "if", "for"], "next": "*" } ], "no-console": [ "error", { "allow": ["warn", "error", "info"] } ], "no-duplicate-imports": "error", "curly": "error", "lines-between-class-members": ["error", "always"], "@typescript-eslint/no-extra-semi": "off", "@typescript-eslint/no-non-null-assertion": "off", "@next/next/no-img-element": "off", "no-case-declarations": "off", "react-hooks/exhaustive-deps": "off" }, "ignorePatterns": ["node_modules", "out", ".next", "next.config.js"] }