ESLint v9.32.0 发布

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

亮点

🌐 Highlights

规则已更新以进行显式资源管理

🌐 Rules updated for explicit resource management

以下核心规则已更新,以支持来自显式资源管理功能的新 usingawait using 声明:

🌐 The following core rules were updated to support the new using and await using declarations from the explicit resource management feature:

  • curly:现在允许将 usingawait using 作为代码块中的唯一语句,就像处理 letconst 一样,以避免解析器错误。
  • no-unused-vars:将用 using/await using 声明的变量视为已使用,因为它们的 Symbol.dispose 会在作用域结束时被隐式调用。还增加了一个选项来忽略未使用的 using 声明。
  • prefer-destructuring:对于 using/await using 声明不再需要解构,因为这将导致解析错误。
  • require-awaitno-await-in-loop:这两个规则现在都将 await using 识别为其检查和报告的 await 表达式。

这些更改确保 ESLint 核心规则与即将推出的 JavaScript 显式资源管理语法兼容,提供准确的代码检查,并避免误报或解析错误。

🌐 These changes ensure ESLint core rules are compatible with the upcoming JavaScript explicit resource management syntax, providing accurate linting and avoiding false positives or parse errors.

规则已更新以支持 TypeScript 访问器

🌐 Rules updated for TypeScript accessor support

以下规则已更新,以改进对访问器签名中 TypeScript 类型的支持:

🌐 The following rules were updated to improve support for TypeScript types in accessor signatures:

  • accessor-pairs:现在支持在启用新的 enforceForTSTypes 选项时,检查 TypeScript 接口和类型字面量中的 getter 和 setter 配对。这确保了 TypeScript 类型定义中的访问器也会被验证配对情况。
  • grouped-accessor-pairs:同样地,此规则现在通过 enforceForTSTypes 选项支持 TypeScript 接口和类型字面量,同样强制在这些类型构造中将访问器分组在一起。

这些增强功能使 ESLint 能够为在类型定义中使用访问器的 TypeScript 代码库提供更准确的代码检查,帮助捕捉以前未被发现的问题。

🌐 These enhancements allow ESLint to provide more accurate linting for TypeScript codebases that use accessors in type definitions, helping catch issues that were previously unchecked.

特性

🌐 Features

  • 1245000 功能:在核心规则中支持显式资源管理 (#19828) (fnx)
  • 0e957a7 功能:在访问器规则中支持 TypeScript 类型 (#19882) (fnx)

错误修复

🌐 Bug Fixes

文档

🌐 Documentation

  • 86e7426 文档:更新自述文件(GitHub Actions 机器人)

杂项

🌐 Chores

  • 50de1ce 事务:更新 package.json 以适配 @eslint/js 版本发布(Jenkins)
  • 74f01a3 ci:将 jiti 取消固定到版本 ^2.5.1 (#19970) (루밀LuMir)
  • 2ab1381 ci: 将 jiti 固定到版本 2.4.2 (#19964) (Francesco Trotta)
  • b7f7545 测试:在 SourceCode 测试中切换到平面配置模式 (#19953) (Milos Djermanovic)
  • f5a35e3 测试:在 eslint-fuzzer 中切换到平面配置模式 (#19960) (Milos Djermanovic)
  • e22af8c 重构:在 JSRuleDefinition 中使用 CustomRuleDefinitionType (#19949) (Francesco Trotta)
  • e855717 事务: 将性能测试切换到 hyperfine (#19919) (Francesco Trotta)
  • 2f73a23 测试:在 ast-utils 测试中切换到平面配置模式 (#19948) (Milos Djermanovic)
  • c565a53 杂务:从 Prettier 格式化中排除 further_reading_links.json (#19943) (Milos Djermanovic)

最新的 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 的一次小版本升级。此版本添加了一些新功能,并修复了上一版本中发现的几个错误。