fix: resolve ESLint circular structure crash and tsc OOM

- Replace FlatCompat bridge with native flat config imports from
  eslint-config-next (16.x exports flat configs directly)
- Remove unused @eslint/eslintrc devDependency
- Increase tsc heap to 4096MB for typecheck (55+ collections exceed 2GB)
- Exclude migrations, test artifacts from tsconfig type-checking

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Martin Porwoll 2026-02-13 22:13:45 +00:00
parent b6dd7e354c
commit 55189aaa1a
4 changed files with 11 additions and 17 deletions

View file

@ -1,16 +1,9 @@
import { dirname } from 'path'
import { fileURLToPath } from 'url'
import { FlatCompat } from '@eslint/eslintrc'
const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)
const compat = new FlatCompat({
baseDirectory: __dirname,
})
import coreWebVitals from 'eslint-config-next/core-web-vitals'
import typescript from 'eslint-config-next/typescript'
const eslintConfig = [
...compat.extends('next/core-web-vitals', 'next/typescript'),
...coreWebVitals,
...typescript,
{
rules: {
'@typescript-eslint/ban-ts-comment': 'warn',

View file

@ -12,7 +12,7 @@
"generate:types": "cross-env NODE_OPTIONS=--no-deprecation payload generate:types",
"lint": "cross-env NODE_OPTIONS=--no-deprecation eslint src",
"check:frameworks": "bash ./scripts/check-framework-updates.sh",
"typecheck": "cross-env NODE_OPTIONS=--no-deprecation tsc --noEmit",
"typecheck": "cross-env NODE_OPTIONS=\"--no-deprecation --max-old-space-size=4096\" tsc --noEmit",
"format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx}\" --ignore-unknown",
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx}\" --ignore-unknown",
"payload": "cross-env NODE_OPTIONS=--no-deprecation payload",
@ -58,7 +58,6 @@
"sharp": "0.34.5"
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.3",
"@playwright/test": "1.57.0",
"@types/node": "^22.10.2",
"@types/node-cron": "^3.0.11",

View file

@ -96,9 +96,6 @@ importers:
specifier: 0.34.5
version: 0.34.5
devDependencies:
'@eslint/eslintrc':
specifier: ^3.3.3
version: 3.3.3
'@playwright/test':
specifier: 1.57.0
version: 1.57.0

View file

@ -40,6 +40,11 @@
".next/dev/types/**/*.ts"
],
"exclude": [
"node_modules"
"node_modules",
"src/migrations",
"src/migrations_backup",
"test-results",
"playwright-report",
"coverage"
]
}