New May 30, 2025

ESLint v9.28.0 released

Libraries, Frameworks, etc. All from ESLint Blog View ESLint v9.28.0 released on eslint.org

Highlights

--pass-on-unpruned-suppressions CLI Option

ESLint v9.24.0 introduced bulk suppressions, a highly anticipated feature. When bulk suppressions are enabled, ESLint tracks previously suppressed violations in a file called eslint-suppressions.json, ensuring they remain ignored in subsequent runs. As the codebase is edited, some of these violations may be resolved but will still be listed in the suppressions file until explicitly removed. The original bulk suppressions draft proposed exiting with exit code 2 in cases where unused suppressions were found, but users requested the ability to ignore unpruned suppressions for greater flexibility.

With ESLint v9.28.0, this is now possible thanks to a new CLI option. The --pass-on-unpruned-suppressions flag allows ESLint to skip suppressions that no longer occur. When this flag is enabled, unused suppressions are not reported as errors and do not affect the exit code.

TypeScript Syntax Support in Core Rules

As announced in the ESLint v9.23.0 release blog post, we are actively working to add TypeScript syntax support to core rules.

ESLint v9.28.0 introduces full TypeScript syntax support for five more core rules. These rules are:

These rules can now be used to lint TypeScript files as well as regular JavaScript. To lint TypeScript code, be sure to use @typescript-eslint/parser, or another compatible parser.

Features

Bug Fixes

Documentation

Chores

Scroll to top