import nextPlugin from "@next/eslint-plugin-next"; import reactPlugin from "eslint-plugin-react"; import hooksPlugin from "eslint-plugin-react-hooks"; import tseslint from "typescript-eslint"; /** * Mintel Next.js ESLint Configuration (Flat Config) * * This configuration replaces the legacy 'eslint-config-next' which * relies on @rushstack/eslint-patch and causes issues in ESLint 9. */ export const nextConfig = tseslint.config({ plugins: { react: reactPlugin, "react-hooks": hooksPlugin, "@next/next": nextPlugin, }, languageOptions: { globals: { // Add common browser/node globals if needed, // though usually handled by base configs }, }, rules: { ...reactPlugin.configs.recommended.rules, ...hooksPlugin.configs.recommended.rules, ...nextPlugin.configs.recommended.rules, ...nextPlugin.configs["core-web-vitals"].rules, "react/react-in-jsx-scope": "off", "react/no-unescaped-entities": "off", "@next/next/no-img-element": "warn", }, settings: { react: { version: "detect", }, }, });