eslint.config.mjs
Rama main · réplica de lectura del repositorio original.
import nextConfig from 'eslint-config-next'
import nextCoreWebVitals from 'eslint-config-next/core-web-vitals'
import nextTypescript from 'eslint-config-next/typescript'
import prettier from 'eslint-config-prettier'
const eslintConfig = [
...nextConfig,
...nextCoreWebVitals,
...nextTypescript,
prettier,
{
ignores: [
// React Compiler false positives in third-party patterns
'components/ui/file-upload.tsx',
'components/ui/origin/evervault-card.tsx',
'app/providers/*-store-providers.tsx',
'components/ui/sidebar.tsx',
],
},
{
rules: {
'react/no-unescaped-entities': 'off',
'@next/next/no-page-custom-font': 'off',
'quotes': ['error', 'single'],
'@typescript-eslint/no-explicit-any': 'warn',
'@typescript-eslint/no-non-null-asserted-optional-chain': 'warn',
'@typescript-eslint/ban-ts-comment': ['warn', {
'ts-expect-error': 'allow-with-description',
'ts-ignore': false,
'ts-nocheck': false,
minimumDescriptionLength: 0,
}],
'no-multiple-empty-lines': ['error', { 'max': 1 }],
'semi': ['error', 'never'],
'no-unused-vars': 'warn',
'react-hooks/rules-of-hooks': 'warn',
'react-hooks/immutability': 'warn',
'react-hooks/preserve-manual-memoization': 'warn',
'react-hooks/purity': 'warn',
'react-hooks/set-state-in-effect': 'warn',
},
},
]
export default eslintConfig