import { defineConfig, globalIgnores } from "eslint/config"; import nextVitals from "eslint-config-next/core-web-vitals"; import nextTs from "eslint-config-next/typescript"; const eslintConfig = defineConfig([ ...nextVitals, ...nextTs, { // Preserve the existing lint baseline while moving off the removed `next lint` command. rules: { "@typescript-eslint/no-empty-object-type": "off", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-namespace": "off", "@typescript-eslint/no-non-null-asserted-optional-chain": "off", "@typescript-eslint/no-require-imports": "off", "@next/next/no-assign-module-variable": "off", "prefer-const": "off", "react-hooks/immutability": "off", "react-hooks/preserve-manual-memoization": "off", "react-hooks/purity": "off", "react-hooks/rules-of-hooks": "off", "react-hooks/set-state-in-effect": "off", "react-hooks/static-components": "off", "react-hooks/use-memo": "off", "react/jsx-key": "off", "react/no-unescaped-entities": "off", }, }, globalIgnores([ ".next/**", ".next-build/**", "out/**", "build/**", "cypress/**", "next-env.d.ts", "**/*.cy.ts", "**/*.cy.tsx", ]), ]); export default eslintConfig;