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

ESLint v7.0.0 发布

我们刚刚发布了 ESLint v7.0.0,这是一个 ESLint 的主要版本升级。此版本添加了一些新功能并修复了先前版本中发现的一些错误。此版本也有一些重大更改,因此请仔细阅读以下内容。

亮点

7.0.0 中有几个重大更改。我们创建了一个 迁移指南 来解释重大更改并描述如何升级。

放弃对 Node.js v8 的支持

Node.js 8 于 2019 年 12 月结束生命周期,我们在此版本中正式放弃对它的支持。

核心规则更改

  • 核心中的十个 Node.js/CommonJS 规则已被弃用并移动到 eslint-plugin-node 插件。
  • 一些规则已更新以识别 BigInt 字面量,并默认警告更多情况。
  • eslint:recommended 已更新了一些新规则:no-dupe-else-ifno-import-assignno-setter-return

改进的开发者体验

  • 默认忽略模式已更新。ESLint 默认不再忽略 .eslintrc.jsbower_components/*。此外,它现在默认会忽略嵌套的 node_modules 目录。
  • 如果在 overrides[].files 中显式定义了扩展名不为 .js 的文件,ESLint 现在会检查这些文件 - 无需使用 --ext 标志!
  • ESLint 现在支持指令注释中的描述,因此诸如禁用注释之类的内容现在可以清楚地记录下来!
  • 已向 RuleTester 类添加了其他验证,以改进在插件中测试自定义规则。
  • ESLint 现在会相对于入口配置文件解析插件。这意味着位于项目外部的共享配置文件现在可以与它们所需的插件放在一起。
  • 从 ESLint v7 开始,分别使用 --config path/to/a-config--ignore-path path/to/a-ignore CLI 标志传递给 ESLint 的配置文件和忽略文件将从当前工作目录解析,而不是从文件位置解析。这允许用户利用共享插件,而无需将其直接安装到他们的项目中。

新的 ESLint

  • CLIEngine 类提供了一个同步 API,它阻塞了诸如并行检查、支持共享配置/解析器/插件/格式化程序中的 ES 模块以及添加可视化显示检查运行进度等功能的实现。新的 ESLint 类提供了一个异步 API,ESLint 核心现在将使用它。CLIEngine 在可预见的未来将保留在核心,但可能会在未来的主要版本中删除。

重大更改

功能

增强功能

错误修复

文档

依赖项升级

  • 8d1b4db 构建:7.0.0-rc.0 的更新日志 (ESLint Jenkins)
  • 2531b80 构建:7.0.0-alpha.3 的更新日志 (ESLint Jenkins)
  • 2e8f193 构建:7.0.0-alpha.2 的更新日志 (ESLint Jenkins)
  • e9f1073 构建:7.0.0-alpha.1 的更新日志 (ESLint Jenkins)
  • c8c1b2b 构建:7.0.0-alpha.0 的更新日志 (ESLint Jenkins)
  • 4e16957 构建:更新浏览器构建 (#12693) (Toru Nagashima)
  • 827259e 构建:eslint-config-eslint 发布的 package.json 更新 (ESLint Jenkins)

杂项

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

ESLint v9.14.0 released
阅读时间 2 分钟

ESLint v9.14.0 发布

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

ESLint v9.13.0 released
阅读 1 分钟

ESLint v9.13.0 发布

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