35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
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;
|