New Nov 1, 2024

ESLint v9.14.0 released

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

Highlights

Support for Import Attributes

We have updated ESLint to fully support the ECMAScript 2025 Import Attributes syntax. This syntax allows module import statements and dynamic imports to pass on more information alongside the module specifier. Host environments can use this information to modify import behavior and support additional types of modules. For example, when type: "json" is specified, modules are treated as JSON Modules.

import json from "./foo.json" with { type: "json" };

import("foo.json", { with: { type: "json" } });

The updates in ESLint include parsing and ensuring that naming convention rules do not apply to import attribute keys as they are defined by the ECMAScript Specification or by the host environment and thus users have no control over their naming.

Please note that deprecated formatting rules will not be updated to support this syntax. If you are still using core formatting rules, we recommend switching to a source code formatter. Alternatively, you can replace core formatting rules with corresponding rules from @stylistic/eslint-plugin-js.

Support for RegExp Modifiers

We have updated ESLint to fully support the ECMAScript 2025 Regular Expression Pattern Modifiers. This feature allows you to change the currently active RegExp flags within a subexpression.

const regex1 = /^(?i:[a-z])[a-z]$/;

const regex2 = /^[a-z](?-i:[a-z])$/i;

The updates in ESLint include parsing and ensuring that rules related to regular expressions are behaving as expected.

Improved configuration file lookup performance

In v9.13.0, we introduced changes to how configuration files were looked up. Some of these changes negatively impact ESLint’s runtime performance due to incorrect caching of configuration file data. This was visible primarily using the default configuration lookup algorithm, where a 20-30% performance degradation was reported (the new algorithm, accessed via --flag unstable_config_lookup_from_file, has different performance characteristics and didn’t show the same negative performance impact in our tests).

We’ve now fixed the configuration file lookup caching behavior both in the default algorithm and the experimental algorithm so you should improved performance when you upgrade from v9.13.0.

Features

Bug Fixes

Documentation

Chores

Scroll to top