发布在: 发行说明 阅读时间 2 分钟
亮点
实验性配置文件解析
ESLint v9.0.0 中的一项重大更改是新的配置系统,该系统从查找相对于正在检查的文件的配置文件切换到从当前工作目录开始搜索。虽然这大大降低了配置文件查找的复杂性,但也带来了一个意外的副作用:单仓库项目不再可以在每个项目目录中包含一个单独的 eslint.config.js
文件,然后从根目录运行一个 ESLint 命令。为了解决这个问题,我们正在开发一种新的配置文件解析算法,该算法更类似于 eslintrc 配置系统的工作方式。
此新算法也从正在检查的文件开始搜索,恢复了单仓库项目的用例,并且可以从任何位置运行任何文件的 ESLint 并每次获得相同的结果。由于此功能是实验性的,因此您需要使用 unstable_config_lookup_from_file
功能标志,如下所示
npx eslint --flag unstable_config_lookup_from_file
有关此功能的更多信息,请参阅 实验性配置文件解析。有关使用功能标志的更多信息,请参阅 功能标志。
其他值得注意的更改
RuleTester
现在支持测试用例的自定义before
和after
钩子。complexity
规则有一个新的选项variant
来支持修改后的圈复杂度。
功能
5a6a053
feat: 将jiti
升级到 v2 (#18954) (Arya Emami)17a07fb
feat: 测试用例的钩子 (RuleTester) (#18771) (Anna Bocharova)2ff0e51
feat: 实现备用配置查找 (#18742) (Nicholas C. Zakas)2d17453
feat: 实现修改后的圈复杂度 complexity (#18896) (Dmitry Pashkevich)
错误修复
ea380ca
fix: 升级 retry 以避免 EMFILE 错误 (#18986) (Nicholas C. Zakas)fdd6319
fix: 类型定义问题 (#18940) (Arya Emami)
文档
ecbd522
docs: 提到代码浏览器 (#18978) (Nicholas C. Zakas)7ea4ecc
docs: 澄清元对象的使用 (#18697) (Amaresh S M)d3e4b2e
docs: 阐明如何排除.js
文件 (#18976) (Milos Djermanovic)57232ff
docs: 在语言文档中提到 plugin-kit (#18973) (Nicholas C. Zakas)b80ed00
docs: 更新 README (GitHub Actions Bot)cb69ab3
docs: 更新 README (GitHub Actions Bot)7fb0d95
docs: 更新 README (GitHub Actions Bot)493348a
docs: 更新 README (GitHub Actions Bot)87a582c
docs: 修复id-match
规则中的错别字 (#18944) (Jay)
杂项
555aafd
chore: 升级到@eslint/[email protected]
(#18987) (Francesco Trotta)873ae60
chore: @eslint/js 发布后的 package.json 更新 (Jenkins)d0a5414
refactor: 使用原生模块替换 strip-ansi (#18982) (Cristopher)b827029
chore: 启用 JSON5 代码检查 (#18979) (Milos Djermanovic)8f55ca2
chore: 升级 espree、eslint-visitor-keys、eslint-scope (#18962) (Nicholas C. Zakas)c1a2725
chore: 将 mocha 依赖项更新到 ^10.7.3 (#18945) (Milos Djermanovic)