import { dirname } from "path"; import { fileURLToPath } from "url"; import { FlatCompat } from "@eslint/eslintrc"; import jsxA11y from "eslint-plugin-jsx-a11y"; import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended"; import reactPlugin from "eslint-plugin-react"; import reactHooks from "eslint-plugin-react-hooks"; import eslint from "@eslint/js"; import tseslint from "typescript-eslint"; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const compat = new FlatCompat({ baseDirectory: __dirname }); const eslintConfig = [ ...compat.extends("next/core-web-vitals", "next/typescript"), eslintPluginPrettierRecommended, reactPlugin.configs.flat.recommended, reactPlugin.configs.flat["jsx-runtime"], eslint.configs.recommended, { plugins: { jsxA11y: jsxA11y.configs.strict, "react-hooks": reactHooks, tseslint: tseslint.configs.recommended, "tseslint-styles": tseslint.configs.stylistic } } ]; export default eslintConfig;