New Jul 10, 2026

ESLint v10.7.0 released

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

Highlights

New option checkConstructorCallCallbacks in max-nested-callbacks

The max-nested-callbacks rule now supports a checkConstructorCallCallbacks option. When enabled, the rule also counts callback functions passed to constructor calls with new, such as new Promise((resolve) => {}), when calculating nesting depth.

For example, with { "max": 1, "checkConstructorCallCallbacks": true }, the rule reports the following code as exceeding the allowed callback nesting depth:

run(() => {
    new Promise(resolve => resolve());
});

New option errorClassNames in preserve-caught-error

The preserve-caught-error rule now supports an errorClassNames option. This option lets you specify additional custom error class names that must preserve the original caught error by passing it as a cause.

For example, with { "errorClassNames": ["MyError"] }, the following code is reported because the thrown MyError does not include the original error as a cause, just like built-in error types must:

try {
    doSomething();
} catch (error) {
    throw new MyError("something went wrong");
}

Suggestions for no-compare-neg-zero

The no-compare-neg-zero rule now supports suggestions. Where appropriate, it suggests replacing -0 with 0 or using Object.is() instead of operators such as === or !==. For example, for an expression such as x === -0, the rule suggests x === 0 to preserve the existing comparison behavior, and Object.is(x, -0) to distinguish -0 from +0.

Features

Bug Fixes

Documentation

Chores

Scroll to top