ESLint v9.23.0 版本发布:TypeScript 支持增强与规则优化
ESLint 作为 JavaScript 和 TypeScript 代码质量检查工具的最新版本 v9.23.0 已经发布。这个版本带来了多项重要改进,特别是在 TypeScript 语法支持方面有了显著增强,同时修复了一些关键问题并优化了文档体验。
TypeScript 语法支持增强
本次更新中,多个核心规则新增了对 TypeScript 语法的支持:
-
no-useless-constructor 规则 现在能够正确处理 TypeScript 中的构造函数重载和参数属性等特性。这使得 TypeScript 项目能够更准确地检测不必要的构造函数定义。
-
default-param-last 规则 新增了对 TypeScript 默认参数的支持。该规则要求带有默认值的参数必须放在参数列表的最后,现在能够正确识别 TypeScript 中的默认参数位置。
-
class-methods-use-this 规则 现在能够正确处理 TypeScript 类方法中的 this 类型注解。这对于 TypeScript 项目中识别未使用 this 的类方法非常有帮助。
配置系统改进
新版本引入了对 defineConfig() 函数的增强支持,现在可以直接使用 "flat/" 前缀来定义扁平化配置。这是对 ESLint 新配置系统的重要补充,使得迁移到扁平化配置更加方便。
自动修复与规则冲突检测
v9.23.0 版本新增了循环自动修复和规则冲突检测功能。这一改进能够帮助开发者识别规则之间的潜在冲突,并防止无限循环的自动修复情况发生,提高了工具的稳定性和可靠性。
重要问题修复
本次更新修复了几个关键问题:
-
no-useless-assignment 规则 现在能够正确识别 catch 块中使用的变量,避免了误报情况。
-
no-dupe-keys 规则 修复了与原型设置器相关的误报问题,提高了规则的准确性。
-
改进了搜索结果的导航体验,现在按下 Enter 键能够正确导航到搜索结果。
文档与用户体验改进
文档方面进行了多项优化:
-
为 TypeScript 示例添加了红色下划线标记,使示例更加清晰易读。
-
大量示例代码从 var 更新为 const 或 let,符合现代 JavaScript 最佳实践。
-
新增了代码复制按钮,提升了文档的易用性。
-
迁移到 Sass 模块系统,改进了样式管理。
构建与工具链更新
构建系统方面也有多项改进:
-
排除了自动生成的文件不受 Prettier 格式化影响。
-
更新了多个依赖项版本。
-
引入了 Prettier 格式化工具,统一了代码风格。
-
测试框架从 WebdriverIO 迁移到 Cypress,提升了测试效率和可靠性。
总结
ESLint v9.23.0 版本在 TypeScript 支持、规则准确性、配置系统和文档体验等方面都有显著提升。这些改进使得 ESLint 在现代 JavaScript 和 TypeScript 项目中的表现更加出色,为开发者提供了更强大的代码质量保障工具。对于正在使用或考虑使用 ESLint 的团队来说,升级到这个版本将获得更好的开发体验和更准确的代码检查结果。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0214
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03