Tooling

tooling/eslint-flat-config

ESLint is configured in eslint.config.* (flat config); .eslintrc files and .eslintignore are migrated, not kept beside it.

moderatemanualfe-tooling

Why

ESLint 10 reads only eslint.config.js (or .mjs, .cjs, .ts); an .eslintrc* file or an eslintConfig key in package.json is no longer used, and .eslintignore is not read. A project that upgraded without migrating lints with a config nobody wrote, or not at all, while the old file suggests otherwise. Next.js 16 also removed next lint.

Fix

Migrate with npx @eslint/migrate-config .eslintrc.json, move ignore patterns into an ignores entry (or globalIgnores()), delete the old files, and run eslint . from a package script. A TypeScript config file (eslint.config.ts) needs jiti as a dev dependency on Node.

Examples

// eslint.config.js
import js from '@eslint/js'
import { defineConfig, globalIgnores } from 'eslint/config'
export default defineConfig([globalIgnores(['dist/']), js.configs.recommended])

Sources

Facts

Id
tooling/eslint-flat-config
Severity
moderate
Check
manual a person reviews it; the report lists it as a checklist
Applies to
project
Only in projects with
eslint
Taught by the skill
fe-tooling Build, lint and format tooling
Since version
0.1.0

Rule file on GitHub

Read it in the terminal

npx github:dawidolko/frontend-skills explain tooling/eslint-flat-config