{ "extends": [ "next/core-web-vitals", "plugin:import/recommended", "plugin:import/typescript" ], "ignorePatterns": [ "lib/types/generated/**", "**/*.test.ts", "**/*.test.tsx" ], "overrides": [ { "files": [ "app/**/page.*", "app/**/layout.*", "app/**/loading.*", "app/**/error.*", "app/**/not-found.*", "app/**/global-error.*", "app/**/template.*", "app/**/default.*" ], "rules": { "import/no-default-export": "off", "no-restricted-syntax": "off" } } ], "plugins": [ "boundaries", "import", "@typescript-eslint", "unused-imports" ], "root": true, "rules": { "@next/next/no-img-element": "error", "@typescript-eslint/no-explicit-any": "error", "@typescript-eslint/no-unused-vars": "error", "boundaries/element-types": [ 2, { "default": "disallow", "rules": [ { "allow": [ "website" ], "from": [ "website" ] } ] } ], "import/no-default-export": "error", "import/no-named-as-default-member": "error", "no-restricted-syntax": "error", "react-hooks/exhaustive-deps": "error", "react-hooks/rules-of-hooks": "error", "react/no-unescaped-entities": "error", "unused-imports/no-unused-imports": "off", "unused-imports/no-unused-vars": "off" }, "settings": { "boundaries/elements": [ { "pattern": [ "**/*" ], "type": "website" } ], "import/resolver": { "typescript": {} } } }