如何通过ESLint注释触发强制错误,防止提交临时调试代码?
实现临时调试代码的ESLint强制拦截方案
可以利用ESLint原生的注释规则或指令特性,实现临时修改处的强制错误触发,具体方法如下:
自定义
no-warning-comments规则触发错误
这个规则默认用于标记TODO、FIXME类注释为警告,可将其配置为错误级别,并添加专属关键词。在项目的ESLint配置文件(如.eslintrc.json)中添加:{ "rules": { "no-warning-comments": [ "error", { "terms": ["DON'T LET ME CHECK THIS IN", "DEBUG-TEMP"], "location": "start" } ] } }之后在临时修改处添加包含关键词的注释,ESLint就会抛出错误:
// DON'T LET ME CHECK THIS IN!!!! network.timeout = 1000000; // 1000;添加无效ESLint指令注释
ESLint会对无法识别的指令抛出错误,直接在临时代码上方添加未定义的ESLint注释即可:// eslint-error DON'T LET ME CHECK THIS IN!!!! network.timeout = 1000000; // 1000;推送前ESLint会提示“Unexpected comment '@eslint-error'”的错误,必须删除该注释或恢复代码才能正常推送。
借助现有规则临时触发错误
如果项目开启了no-console等错误级别的规则,可在临时代码旁添加对应的违规代码配合注释:// DEBUG-TEMP: 临时修改超时时间,禁止提交 console.log("DEBUG-TEMP: DON'T CHECK IN"); network.timeout = 1000000; // 1000;这样
no-console规则会抛出错误,拦截推送操作。
这些方法均无需额外插件,完全利用ESLint原生功能即可实现需求,确保临时调试代码不会意外流入正式分支。
内容的提问来源于stack exchange,提问作者Jim B.
相关产品推荐
相关产品推荐

