ESLint v10.11.0 已发布

我们刚刚发布了 ESLint v10.11.0,这是 ESLint 的一次小版本升级。这个版本增加了一些新功能,并修复了上一版本中发现的几个错误。

亮点

🌐 Highlights

更快的启动和代码检查

🌐 Faster startup and linting

这个版本包含了一系列针对 ESLint 核心检查流程和 stylish 格式化工具的性能提升。检查结果和公共 API 没有变化:相同的文件会产生和以前一样的提示,只是速度更快了。

🌐 This release includes a set of performance improvements across ESLint’s core linting pipeline and the stylish formatter. Linting results and the public API are unchanged: the same files produce the same messages as before, just faster.

主要改进有:

🌐 The main improvements are:

  • 启动。 加载 eslint 包时,不再急切地初始化用于规则选项的 JSON Schema 验证器。它现在会在第一次真正需要验证规则选项时才创建,这样可以从初始依赖图中去掉大约 45 个模块,并将包加载时间减少 20–25%。
  • 规则执行。 当 ESLint 遍历文件结构时,它需要为每段代码决定哪些规则会关注它,然后调用这些规则。这是整个 linting 过程中执行最频繁的部分,现在在最常见的情况下它会走更短的路径。常见的节点选择器类型会通过快速通道处理,并且规则访问器会尽可能直接调用,而不是在每个节点上通过封装函数调用。
  • 每个被报告问题的开销。 当一个规则报告问题时,ESLint 在显示信息之前需要执行几个处理步骤。其中一些步骤已经变得更高效:消息模板中的占位符仅在必要时填充,自动修复会在不将每个修复序列化为 JSON 的情况下检查其有效性,且同一个修复器对象会被该文件中所有报告的问题共享,而不是为每个修复创建一个。此外,没有任何 eslint-enable 或 eslint-disable 注释的文件现在会完全跳过指令处理步骤。
  • 默认格式化器。 默认的 stylish 格式化器会避免从不包含终端控制字符的字符串中去掉这些字符,而且不再对每条消息运行正则表达式,这样可以加快打印大量问题的速度。

实际效果会根据你的配置和硬件有所不同,但使用许多核心规则的项目应该会在启动时间和整体 linting 时间上都有明显的提升。

🌐 Actual results will vary depending on your configuration and hardware, but projects using many core rules should see a noticeable improvement in both startup time and overall linting time.

特性

🌐 Features

错误修复

🌐 Bug Fixes

文档

🌐 Documentation

杂项

🌐 Chores

  • 520dd77 性能:在关键区域实现快速路径 (#21210) (Nicholas C. Zakas)
  • 92086c8 测试:更新 EMFILE 错误生成以兼容 Node.js 26.9.0 (#21330) (Francesco Trotta)
  • 9ac7eb6 事务: 将 github/codeql-action 操作更新到 v4.38.0 (#21331) (renovate[bot])
  • 24310e3 杂务:更新生态系统插件 (#21324) (ESLint 机器人)
  • 45ad79e ci: 将 pnpm/action-setup 从 6.0.10 升级到 6.1.0 (#21318) (dependabot[bot])
  • ac74e37 杂事:添加带有 AI 披露要求的 AGENTS.md (#21221) (Nicholas C. Zakas)
  • c832660 杂项:将文档中的 Stylelint 升级到最新版本 (#21245) (Jung Hyeon Jun)
  • f9f88fc 杂务:更新生态系统插件 (#21308) (ESLint 机器人)
  • [fc81076](https://github.com/eslint/eslint/commit/fc81076a5b8145360654d81cbc130cf7d25dca77) ci:添加更多类型的集成测试 (#20395) (Nitin Kumar)

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

ESLint v10.12.0 已发布
2 min read

ESLint v10.12.0 已发布

我们刚刚发布了 ESLint v10.12.0,这是 ESLint 的一个小版本升级。这个版本增加了一些新功能,并修复了上一版本中发现的几个错误。

ESLint v10.10.0 已发布
1 min read

ESLint v10.10.0 已发布

我们刚刚发布了 ESLint v10.10.0,这是 ESLint 的一次小版本升级。这个版本增加了一些新功能,并修复了上一版本中发现的几个错误。

ESLint v10.9.1 已发布
1 min read

ESLint v10.9.1 已发布

我们刚刚发布了 ESLint v10.9.1,这是 ESLint 的一个补丁版本升级。这个版本修复了前一个版本中发现的几个错误。