New Apr 4, 2025

ESLint v9.24.0 released

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

Highlights

Bulk Suppressions

This release introduces the bulk suppressions feature. This feature allows for enabling new lint rules as "error" without fixing all violations upfront. While the rule will be enforced for new code, the existing violations will not be reported. This way, you can address the existing violations at your own pace.

# Fix all autofixable violations and suppress the remaining ones
eslint --suppress-all --fix

# Fix all autofixable violations, but suppress only violations for <rule-name>
eslint --suppress-rule <rule-name> --fix

This approach prioritizes preventing new violations while providing a clear path to incrementally improve existing code.

You can find all the details in the announcement blog post and the Bulk Supressions documentation page.

Patterns starting with ./

Prior to ESLint v9.24.0, files and ignores patterns that start with ./ were ignored.

As of ESLint v9.24.0, these patterns are treated as relative to the config base path (the location of the config file, or the current working directory if the --config command line option was used). A pattern that starts with ./ is equivalent to the same pattern without the ./ prefix.

// eslint.config.js
export default [

    {
        // Equivalent to `ignores: ["foo.js"]`
        ignores: ["./foo.js"]
    },

    {
        // Equivalent to `files: ["bar/*.js"]`
        files: ["./bar/*.js"],

        rules: {
            "no-undef": "error"
        }
    }

];

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.24.0 introduces full TypeScript syntax support for four 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.

Additionally, the class-methods-use-this rule has two new TypeScript-specific options: ignoreOverrideMethods and ignoreClassesWithImplements.

Node.js Native Loading of TypeScript Configuration Files (Experimental)

If you’re using Node.js >= 22.10.0, you can now use TypeScript configuration files (eslint.config.ts, eslint.config.mts, or eslint.config.cts) without installing jiti. This is possible thanks to the --experimental-strip-types Node.js flag.

Since this feature is still experimental, you must also enable the unstable_native_nodejs_ts_config ESLint flag.

npx --node-options='--experimental-strip-types' eslint --flag unstable_native_nodejs_ts_config

Features

Bug Fixes

Documentation

Chores

Scroll to top