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,
  // Override default ignores of eslint-config-next.
  globalIgnores([
    // Default ignores of eslint-config-next:
    ".next/**",
    "out/**",
    "build/**",
    "next-env.d.ts",
    // Vendored third-party JS shipped to /public is not ours to lint.
    "public/**",
    // Ported 3D experience (incl. the ~11.6k-line gltfjsx-generated model) — kept
    // as faithful .jsx/.js from the standalone app; not linted to ours rules.
    "src/modules/how-it-works-3d/**",
  ]),
]);

export default eslintConfig;
