ESLint v8.x 已于 2024年10月5日结束生命周期,不再维护。 升级 或考虑 长期支持选项

ESLint v9.14.0 发布

我们刚刚发布了 ESLint v9.14.0,这是一个 ESLint 的次要版本升级。此版本添加了一些新功能并修复了先前版本中发现的一些错误。

亮点

支持导入属性

我们已更新 ESLint 以完全支持 ECMAScript 2025 的 导入属性 语法。此语法允许模块导入语句和动态导入在模块说明符旁边传递更多信息。主机环境可以使用此信息修改导入行为并支持其他类型的模块。例如,当指定 type: "json" 时,模块将被视为 JSON 模块

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

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

ESLint 中的更新包括解析并确保命名约定规则不适用于导入属性键,因为它们由 ECMAScript 规范或主机环境定义,因此用户无法控制其命名。

请注意,已弃用的格式化规则 将不会更新以支持此语法。如果您仍在使用核心格式化规则,我们建议您切换到源代码格式化程序。或者,您可以使用 @stylistic/eslint-plugin-js 中的相应规则替换核心格式化规则。

支持正则表达式修饰符

我们已更新 ESLint 以完全支持 ECMAScript 2025 的 正则表达式模式修饰符。此功能允许您在子表达式中更改当前活动的 RegExp 标志。

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

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

ESLint 中的更新包括解析并确保与正则表达式相关的规则按预期工作。

改进配置文件查找性能

在 v9.13.0 中,我们对配置文件的查找方式进行了更改。其中一些更改由于配置文件数据缓存不正确而对 ESLint 的运行时性能产生负面影响。这主要在使用默认配置查找算法时可见,其中 报告了 20-30% 的性能下降(通过 --flag unstable_config_lookup_from_file 访问的新算法具有不同的性能特征,并且在我们的测试中没有显示相同的负面性能影响)。

我们现在已修复了默认算法和实验算法中配置文件查找缓存的行为,因此在您从 v9.13.0 升级后,您应该会看到性能有所提升。

功能

  • 3fa009f feat: 添加对导入属性和正则表达式修饰符的支持 (#19076) (Milos Djermanovic)
  • b0faee3 feat: 为 @eslint/js 包添加类型 (#19010) (Nitin Kumar)

错误修复

  • 24d0172 fix: 为 readFile() 启用重试并发限制 (#19077) (Nicholas C. Zakas)
  • b442067 fix: 在遍历期间目录被删除时不要崩溃。(#19067) (Nicholas C. Zakas)
  • d474443 fix: 处理 glob 时避免调用堆栈溢出 (#19035) (Livia Medeiros)

文档

  • 151c965 docs: 更新 context.languageOptions.parser 描述 (#19084) (Nitin Kumar)
  • dc34f94 docs: 更新 README (GitHub Actions Bot)
  • f16e846 docs: 更新 README (GitHub Actions Bot)
  • ee0a77e docs: 将链接从 @types/eslint 更改为 lib/types (#19049) (Karl Horky)
  • 50f03a1 docs: 在配置迁移指南中阐明全局忽略 (#19032) (Milos Djermanovic)
  • 37c9177 build: 更新 @wdio/* 依赖项 (#19068) (Francesco Trotta)
  • 35a8858 build: 排除有缺陷的依赖项版本 (#19065) (Francesco Trotta)

杂项

最新的 ESLint 新闻、案例研究、教程和资源。

ESLint v9.13.0 released
阅读 1 分钟

ESLint v9.13.0 发布

我们刚刚发布了 ESLint v9.13.0,这是一个 ESLint 的次要版本升级。此版本添加了一些新功能并修复了先前版本中发现的一些错误。

ESLint v9.12.0 released
阅读 2 分钟

ESLint v9.12.0 发布

我们刚刚发布了 ESLint v9.12.0,这是一个 ESLint 的次要版本升级。此版本添加了一些新功能并修复了先前版本中发现的一些错误。