cms.c2sgmbh/eslint.config.mjs
Martin Porwoll d94db78aec fix: resolve all ESLint errors for clean CI pipeline
- Extend admin component overrides to cover all Payload admin views
  (no-html-link-for-pages, no-img-element off for admin panel)
- Rename useGeneratedReply to applyGeneratedReply (not a hook)
- Fix useRealtimeUpdates: resolve circular dependency with connectRef,
  wrap ref assignments in useEffect for React 19 compiler compliance
- Fix MetaBaseClient: let -> const for single-assignment variable

ESLint now passes with 0 errors (68 warnings only).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 22:24:12 +00:00

49 lines
1.4 KiB
JavaScript

import coreWebVitals from 'eslint-config-next/core-web-vitals'
import typescript from 'eslint-config-next/typescript'
const eslintConfig = [
...coreWebVitals,
...typescript,
{
rules: {
'@typescript-eslint/ban-ts-comment': 'warn',
'@typescript-eslint/no-empty-object-type': 'warn',
'@typescript-eslint/no-explicit-any': 'warn',
'@typescript-eslint/no-unsafe-function-type': 'warn', // Some legacy patterns use Function type
'@typescript-eslint/no-unused-vars': [
'warn',
{
vars: 'all',
args: 'after-used',
ignoreRestSiblings: false,
argsIgnorePattern: '^_',
varsIgnorePattern: '^_',
destructuredArrayIgnorePattern: '^_',
caughtErrorsIgnorePattern: '^(_|ignore)',
},
],
},
},
{
// Payload Admin components can use <a> and <img> elements (they're not in Next.js page router)
files: ['src/components/admin/**/*.tsx', 'src/app/(payload)/admin/**/*.tsx'],
rules: {
'@next/next/no-html-link-for-pages': 'off',
'@next/next/no-img-element': 'off',
},
},
{
ignores: [
'.next/',
'coverage/',
'node_modules/',
'playwright-report/',
'test-results/',
'next-env.d.ts',
'src/migrations/', // Payload migrations have required but unused params
'src/migrations_backup/',
],
},
]
export default eslintConfig