ESLint v7.0.0 发布

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

亮点

🌐 Highlights

7.0.0 中有若干重大更改。我们创建了一个 迁移指南 来解释这些重大更改并说明如何升级。

🌐 There are several breaking changes in 7.0.0. We’ve created a migration guide to explain the breaking changes and describe how to upgrade.

停止支持 Node.js v8

🌐 Dropping support for Node.js v8

Node.js 8 在 2019 年 12 月达到生命周期终止(EOL),我们在此版本中正式停止对其支持。

🌐 Node.js 8 reached EOL in December 2019, and we are officially dropping support for it in this release.

核心规则变更

🌐 Core rule changes

  • 核心中的十条 Node.js/CommonJS 规则已被弃用,并已移至 eslint-plugin-node 插件。
  • 已经更新了若干规则,以识别 bigint 字面量并默认在更多情况下发出警告。
  • eslint:recommended 已经更新了一些新规则:no-dupe-else-ifno-import-assignno-setter-return

改进的开发者体验

🌐 Improved developer experience

  • 默认的忽略模式已更新。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

🌐 New ESLint class

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

重大更改

🌐 Breaking Changes

特性

🌐 Features

增强功能

🌐 Enhancements

错误修复

🌐 Bug Fixes

文档

🌐 Documentation

依赖升级

🌐 Dependency Upgrades

  • b98d8bd 升级: eslint-release@2.0.0 (#13271) (Kai Cataldo)
  • 3eeae56 升级:一些(开发)依赖 (#13155) (薛定谔的猫)
  • [95e1c70](https://github.com/eslint/eslint/commit/95e1c70cebde210a990ee786ec7ab1c8e522edb8) 升级:levn@0.4.1(修复 #9366)(#13140)(Kai Cataldo)
  • 2111c52 升级:esquery@1.2.0 (#13076) (Milos Djermanovic)
  • 95613d4 升级:espree@6.2.1 (#13026) (Kai Cataldo)
  • e632c31 升级:多个依赖 (#12753) (Toru Nagashima)

构建相关

🌐 Build Related

  • 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)

杂项

🌐 Chores

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

ESLint v10.3.0 发布
1 min read

ESLint v10.3.0 发布

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

ESLint v10.2.1 发布
1 min read

ESLint v10.2.1 发布

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

ESLint v10.2.0 发布
2 min read

ESLint v10.2.0 发布

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