ESLint v10: Flat Config Completion and JSX Tracking
Summary
ESLint v10, released on April 1, 2026, represents a major architectural shift by entirely removing the legacy `.eslintrc` configuration system, making flat config (`eslint.config.js`) the sole standard and necessitating migration for existing projects. This version significantly enhances developer experience through improved configuration file lookup for monorepos and native JSX reference tracking, which eliminates previous false positives with rules like `"no-unused-vars"`. Despite the availability of an official migration tool, the update has caused reported migration pains and compatibility issues with popular plugins such as `eslint-plugin-react` and `eslint-config-next`. Additionally, Node.js support has been tightened, and the `eslint:recommended` configuration updated with new rules. The release occurs amidst a competitive landscape where Rust-based alternatives like Biome and Oxlint are gaining traction due to their significantly faster linting performance.
Key takeaway
ESLint v10 fully removes legacy `.eslintrc` support, mandating migration to `eslint.config.js` for all projects and tightening Node.js support to `^20.19.0 || ^22.13.0 || >=24`. This release enhances monorepo configuration lookup and fixes JSX `no-unused-vars` false positives, improving developer experience for plugin authors. Teams must use `npx @eslint/migrate-config`, address potential install conflicts with `eslint-plugin-react` and `eslint-config-next`, and evaluate the growing performance lead of Rust-based linters like Biome and Oxlint.
Topics
- ESLint v10
- Flat Configuration
- JSX Tracking
- Monorepo Support
- Linter Migration
Code references
Best for: AI Engineer, Machine Learning Engineer, NLP Engineer, Software Engineer, Consultant
Related on AIssential
Editorial summary, takeaway, and curation by AIssential. Original article published by InfoQ.