New Apr 3, 2026

ESLint v10.2.0 released

Libraries, Frameworks, etc. All from ESLint Blog View ESLint v10.2.0 released on eslint.org

Highlights

Language-aware rules

ESLint v10.2.0 adds support for language-aware rules through the new meta.languages property. Rule authors can now explicitly declare which languages a rule supports, and ESLint will throw a runtime error if that rule is enabled for an unsupported language, as specified by the language configuration option.

Here is an example of a rule that only supports the JavaScript language:

const rule = {
    meta: {
        type: "problem",
        docs: {
            description: "Example JavaScript rule",
        },
        languages: ["js/js"],
    },
    create(context) {
        return {};
    },
};

Currently, none of the ESLint built-in rules restrict the languages they are designed to work with, but this may change in the future.

More information about the meta.languages property can be found in the custom rules documentation.

Temporal support

With the Temporal proposal now at TC39 stage 4, ESLint v10.2.0 recognizes Temporal as a built-in global. As a result, the no-undef rule no longer flags Temporal under the default configuration:

/* eslint no-undef: "error" */

const now = Temporal.Now.instant(); // OK

In addition, the no-obj-calls rule now reports direct calls to the global Temporal object:

/* eslint no-obj-calls: "error" */

Temporal(); // Error: 'Temporal' is not a function.

Features

Bug Fixes

Documentation

Chores

Scroll to top