升级ESLint到8版本后提示jest/valid-describe规则未找到如何解决?
问题原因
这个错误是因为eslint-plugin-jest v25及以上版本移除了原本的jest/valid-describe规则,该规则已被重命名为jest/valid-describe-callback,但你的配置链路中还存在对旧规则的引用。
排查&解决步骤
- 第一步:检查你是否在eslint配置的
rules字段中手动开启了jest/valid-describe规则。如果有,直接把规则名替换为jest/valid-describe-callback即可,不需要这条规则也可以直接删除对应配置。 - 第二步:如果没有手动配置该规则,说明是你引用的共享配置包含了旧规则引用,你依赖的
eslint-config-react-app@6.0.0属于旧版本,内置的jest规则配置还在使用已经废弃的jest/valid-describe,可以二选其一解决:- 方案1:升级
eslint-config-react-app到适配ESLint 8的v7及以上版本,执行命令npm install eslint-config-react-app@latest --save-dev(yarn/pnpm用户对应调整包管理命令即可) - 方案2:不想升级共享配置的话,直接在你自己的eslint配置的
rules字段中将旧规则禁用即可,添加如下配置:
"rules": { "jest/valid-describe": "off" } - 方案1:升级
- 第三步:操作完成后删除node_modules和对应lock文件(package-lock.json/yarn.lock/pnpm-lock.yaml),重新安装依赖,重启编辑器的ESLint服务即可生效。
验证
修改完成后手动执行一次eslint全量检查,确认没有再报规则找不到的错误即可。
内容的提问来源于stack exchange,提问作者Smartkid
相关产品推荐
相关产品推荐

