ESLint 10 Streamlines Config and Sharpens JSX Tracking

ESLint v10 marks a significant evolution in JavaScript linting by fully transitioning to a flat configuration system, phasing out the legacy eslintrc setup.

3 min readInfoQ
ESLint 10 Streamlines Config and Sharpens JSX Tracking

ESLint 10 does exactly what a mature tool should do: it removes the old way of doing things and makes you live in the present. The removal of the legacy eslintrc configuration system is not a small cleanup. It is the final, deliberate step in a transition that began years ago, and it signals that the project is done carrying the past forward. For developers still holding onto the old config format, the message is clear: the future is flat config, and it is here to stay.

What this means for you is a simpler, more predictable setup, especially if you work in a monorepo or maintain plugins. The shift in configuration file location and the sharpened JSX reference tracking are not just technical footnotes. They address real friction points that have plagued teams for years. If you have ever chased down a misconfigured rule across multiple package directories, or wondered why a JSX component was being flagged in one file but not another, this update speaks directly to that pain. The improved tracking gives you more accurate linting out of the box, which means fewer false positives and less time spent debugging your own config. For plugin authors, the changes reduce the guesswork around how rules are scoped and applied, which makes your work more predictable for the people who depend on it.

The tightened Node.js support and the new assertion options in the RuleTester API are the quieter parts of this release, but they are just as important. Supporting fewer runtime versions is not a limitation; it is a decision to move faster and leaner. It lets the team focus on modern JavaScript features and better performance instead of patching edge cases for end-of-life environments. The RuleTester additions give you more precise control when writing tests for custom rules, which means your own quality checks can be more thorough and less brittle. These are the kinds of improvements that do not make headlines, but they make daily development feel less like a series of small compromises.

Our take is simple: if you have been delaying the move to flat config, this release is the push you needed. The old system is gone, and the new one is not just viable; it is better. Take the time to update your configuration, test your plugins, and verify your JSX handling. The migration might require some effort, but the payoff is a cleaner, more reliable linting setup that will serve you well beyond this version. The tool has drawn its line in the sand. It is time to cross it.

From InfoQ

ESLint version 10 has removed the legacy eslintrc configuration system, finalizing a long transition to flat config. The update enhances developer experience, especially for plugin authors and monorepo teams, by changing configuration file location and improving JSX reference tracking. Node.js support has been tightened, and new assertion options have been added to the RuleTester API.

Read the original at InfoQ