我的检查工具在 100 个文件上报了 0 个问题——它们全被忽略了
来源:dev.to — 2026-11-02
📋 概述
作者对 100 个文件跑了 14 条 lint 规则,全部安静,零发现。正确答案是 54 个文件里共 308 个问题,因为工具一个文件都没读,退出码 0,标准错误也是空的。文章给出三种静默失效的机制,它们分别发生在不同层次,修好一个另外两个照样存在,而且全都朝「好消息」的方向失败。
🔑 核心要点
- 路径不在 cwd 之下时,所有文件都算被忽略,返回的是一条 ruleId 为 null 的消息,形状和解析错误一样。
- ESLint 扁平配置默认不匹配 .ts,于是一个含 eval() 的 TypeScript 文件从未被打开,却是 exit 0。
- 单仓里 node_modules 通常是指向工作区的软链,量到的其实是未发布源码,而不是你要发布的包。
- 唯一可靠的办法是金丝雀:写一段必须被报错的代码,确认工具真的报了。
💡 金句
“A clean bill of health and a file nobody opened are the same output.”
译:一份「体检健康」的报告,和一个没人打开过的文件,输出完全一样。
👍 0
👎 0
← 返回 dev.to 首页