32 lines
782 B
JavaScript
32 lines
782 B
JavaScript
import { dirname } from "path";
|
|
import { fileURLToPath } from "url";
|
|
import { FlatCompat } from "@eslint/eslintrc";
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = dirname(__filename);
|
|
const isProd = process.env.NODE_ENV === "production";
|
|
|
|
const compat = new FlatCompat({
|
|
baseDirectory: __dirname,
|
|
});
|
|
|
|
const eslintConfig = [
|
|
...compat.extends("next/core-web-vitals", "next/typescript"),
|
|
{
|
|
files: ["**/*.{ts,tsx,mts,cts}"],
|
|
languageOptions: {
|
|
parserOptions: {
|
|
tsconfigRootDir: __dirname,
|
|
project: ["./tsconfig.json"],
|
|
},
|
|
},
|
|
},
|
|
{rules:{
|
|
// other rules..
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
...(isProd ? { "react-hooks/exhaustive-deps": "off" } : {}),
|
|
}},
|
|
];
|
|
|
|
export default eslintConfig;
|