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 插件。
  • 一些规则已更新以识别大整数字面量并在默认情况下警告更多情况。
  • eslint:recommended 已更新了一些新规则:no-dupe-else-ifno-import-assignno-setter-return

改进的开发人员体验

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

新的 ESLint

  • CLIEngine 类提供了一个同步 API,它阻塞了诸如并行 lint、支持共享配置/解析器/插件/格式化程序中的 ES 模块以及添加可视化显示 lint 运行进度等功能的实现。新的 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.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 的次要版本升级。此版本添加了一些新功能并修复了先前版本中发现的几个错误。