import nextConfig from "eslint-config-next"
import tseslint from "typescript-eslint"

const eslintConfig = [
  ...nextConfig,
  {
    ignores: [
      "node_modules/**",
      ".next/**",
      "out/**",
      "build/**",
      "apps/desktop/dist/**",
      "apps/desktop/src-tauri/target/**",
      "nova-calendar-main/**",
      "referência/**",
      "next-env.d.ts",
      "convex/_generated/**",
      "apps/desktop/src/convex/_generated/**",
    ],
  },
  {
    files: ["**/*.ts", "**/*.tsx"],
    plugins: {
      "@typescript-eslint": tseslint.plugin,
    },
    rules: {
      "@typescript-eslint/no-explicit-any": "warn",
      "@typescript-eslint/ban-ts-comment": "warn",
      "react/no-unescaped-entities": "off",
      "react-hooks/set-state-in-effect": "off",
      "react-hooks/purity": "off",
      "react-hooks/refs": "off",
      "react-hooks/immutability": "off",
      "react-hooks/incompatible-library": "off",
    },
  },
]

export default eslintConfig
