42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
import { defineConfig, globalIgnores } from "eslint/config";
|
|
import nextVitals from "eslint-config-next/core-web-vitals";
|
|
import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended";
|
|
import reactPlugin from "eslint-plugin-react";
|
|
import eslint from "@eslint/js";
|
|
import tseslint from "typescript-eslint";
|
|
import jsxA11y from "eslint-plugin-jsx-a11y";
|
|
import reactHooks from "eslint-plugin-react-hooks";
|
|
|
|
const eslintConfig = defineConfig([
|
|
...nextVitals,
|
|
eslintPluginPrettierRecommended,
|
|
reactPlugin.configs.flat.recommended,
|
|
reactPlugin.configs.flat["jsx-runtime"],
|
|
eslint.configs.recommended,
|
|
// tseslint.configs.recommended,
|
|
// tseslint.configs.stylistic,
|
|
// reactHooks.configs.flat.recommended,
|
|
// Override default ignores of eslint-config-next.
|
|
globalIgnores([
|
|
// Default ignores of eslint-config-next:
|
|
".next/**",
|
|
"out/**",
|
|
"build/**",
|
|
"next-env.d.ts",
|
|
"types/**"
|
|
]),
|
|
{
|
|
rules: {
|
|
"@typescript-eslint/no-empty-object-type": "off"
|
|
},
|
|
plugins: {
|
|
jsxA11y: jsxA11y.configs.strict,
|
|
reactHooks: reactHooks.configs.recommended,
|
|
tseslint: tseslint.configs.recommended,
|
|
tseslintStyle: tseslint.configs.stylisticTypeChecked
|
|
}
|
|
}
|
|
]);
|
|
|
|
export default eslintConfig;
|