Files
Momento/memento-note/eslint.config.mjs
Antigravity 65e722a184
Some checks failed
CI / Lint, Test & Build (push) Waiting to run
Deploy to Production / Build and Deploy (push) Has been cancelled
fix: disable noisy lint rules, exclude .venv-i18n, 0 errors 0 warnings
2026-05-16 23:38:11 +00:00

70 lines
1.9 KiB
JavaScript

import { defineConfig, globalIgnores } from "eslint/config";
import nextVitals from "eslint-config-next/core-web-vitals";
import nextTs from "eslint-config-next/typescript";
const reactCompilerRules = [
"react-hooks/hooks",
"react-hooks/capitalized-calls",
"react-hooks/static-components",
"react-hooks/use-memo",
"react-hooks/void-use-memo",
"react-hooks/preserve-manual-memoization",
"react-hooks/memo-dependencies",
"react-hooks/incompatible-library",
"react-hooks/immutability",
"react-hooks/globals",
"react-hooks/refs",
"react-hooks/memoized-effect-dependencies",
"react-hooks/exhaustive-effect-dependencies",
"react-hooks/set-state-in-effect",
"react-hooks/no-deriving-state-in-effects",
"react-hooks/error-boundaries",
"react-hooks/purity",
"react-hooks/set-state-in-render",
"react-hooks/invariant",
"react-hooks/todo",
"react-hooks/syntax",
"react-hooks/unsupported-syntax",
"react-hooks/config",
"react-hooks/gating",
"react-hooks/rule-suppression",
"react-hooks/fbt",
"react-hooks/component-hook-factories",
];
const disabledCompilerRules = Object.fromEntries(
reactCompilerRules.map((r) => [r, "off"])
);
const eslintConfig = defineConfig([
...nextVitals,
...nextTs,
globalIgnores([
".next/**",
".venv-i18n/**",
"out/**",
"build/**",
"next-env.d.ts",
"scripts/**",
"prisma/**",
"socket-server.ts",
"tests/**",
]),
{
rules: {
...disabledCompilerRules,
"react-hooks/exhaustive-deps": "off",
"react-hooks/rules-of-hooks": "error",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/no-explicit-any": "off",
"react/no-unescaped-entities": "off",
"@next/next/no-img-element": "off",
"jsx-a11y/role-has-required-aria-props": "off",
"@typescript-eslint/no-unused-expressions": "off",
"prefer-const": "error",
},
},
]);
export default eslintConfig;