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

ESLint v7.4.0 发布

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

亮点

在 v7.3.0 版本发布后不久,我们收到了 一个问题,即 eslint-config-airbnb 出现了故障,因为它在规则配置中使用了 InfinityInfinity 应该被 规则选项模式 禁止,但 Ajv 中的一个错误(ESLint 使用的 JSON 模式验证器)在指定 integer 时错误地允许了 Infinity。之所以最终发现这个问题,是因为 v7.3.0 版本包含了 一个更改,该更改通过序列化规则配置来修复 一个不相关的问题。ESLint 期望规则配置可进行 JSON 序列化,以确保所有受支持的 JSON、YAML 和 JS .eslintrc 格式之间的一致性,并且它在 --cache--print-config 命令行选项中依赖此属性。

eslint-config-airbnb 更新为使用 Number.MAX_SAFE_INTEGER 而不是 Infinity理想的解决方案,但需要花费太长时间。由于这是唯一报告的问题,并且仅限于 eslint-config-airbnb 而不是最终用户配置,因此我们 实现了一个例外,将 Infinity 替换为 Number.MAX_SAFE_INTEGER,并在 v7.3.1 中发布,这使我们能够保留不相关的错误修复。

在 v7.3.1 版本发布后,我们收到了 另一个问题,即 eslint-plugin-unicorn 的一个规则 指导用户使用正则表达式实例,这些实例不可进行 JSON 序列化。与 eslint-config-airbnb 不同的是,在 eslint-config-airbnb 中,不可序列化的值仅限于单个依赖项,而 eslint-plugin-unicorn 的最终用户配置包含正则表达式,因此修复所有这些正则表达式并不实用。

因此,我们 撤回了原始更改,并在 v7.4.0 版本中发布。我们将寻找其他解决方案。这将为规则配置包含不可 JSON 序列化的值的用户的常规代码检查解除阻塞,尽管在这些情况下,--cache--print-config 命令行选项可能会出现未定义的行为。ESLint 的未来主要版本将强制执行规则配置仅包含 JSON 可序列化值,我们预计对 RuleTester 的增强将帮助规则作者为其模式做好准备。

增强功能

错误修复

文档

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

ESLint v9.16.0 released
阅读 2 分钟

ESLint v9.16.0 发布

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

ESLint v9.15.0 released
阅读 2 分钟

ESLint v9.15.0 发布

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

ESLint v9.14.0 released
阅读 2 分钟

ESLint v9.14.0 发布

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