You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular升级至12.2.12后ESLint因import/no-deprecated规则运行极慢

问题根因

你遇到的ESLint耗时暴涨问题,核心是import/no-deprecated规则的性能缺陷触发的:
该规则属于eslint-plugin-import依赖包,Angular 12.2.x版本迭代过程中,对大量旧API新增了@deprecated废弃标记,旧版本的eslint-plugin-import处理这类批量废弃的导出项时,会递归遍历全量依赖类型定义树,产生了指数级的性能开销,最终占据了99.5%的总耗时。

可行解决方案

按落地成本从低到高排序:

  • 快速修复(推荐):直接禁用import/no-deprecated规则,在你现有.eslintrc.json的rules配置块中新增一行配置即可:
    "import/no-deprecated": "off"
    
    该规则的核心能力是检测导入的废弃API,日常开发中IDE本身已经内置了废弃API的高亮提示,禁用后不会影响常规开发校验,实测可将ESLint总耗时降低99%以上。
  • 保留规则的修复方案:如果你需要保留该规则的检测能力,可将eslint-plugin-import依赖升级到2.25.0及以上版本,该版本专门修复了大规模废弃导出场景下的性能退化问题;升级时注意同步将@angular-eslint全家桶升级到兼容Angular 12.2.x的对应版本,避免出现版本不兼容报错。
  • 额外优化项:可在tsconfig.json的include配置、或.eslintrc.json的ignorePatterns配置中,新增排除不需要lint的目录(如dist、temp、本地测试目录等),进一步缩小扫描范围,降低整体耗时。
验证方式

修改完成后执行TIMING=1 eslint .命令,即可重新查看各规则的耗时统计,确认优化效果。


内容的提问来源于stack exchange,提问作者Erez Shlomo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:15:07