如何让typescript-eslint在Yarn仓库中正确识别单次运行模式
Yarn环境下typescript-eslint单次运行检测失效引发OOM问题
问题现象
- 包含约20个TypeScript项目的monorepo仓库接入typescript-eslint后,运行lint时频繁触发Out Of Memory内存溢出错误
- 该问题属于typescript-eslint已知问题,官方提供的缓解方案为配置
parserOptions.allowAutomaticSingleRunInference = true,启用单次运行自动检测能力以降低内存占用 - 实际在Yarn管理的仓库中开启该配置后,单次运行检测逻辑从未触发,OOM问题未得到任何改善
排查过程
核对typescript-eslint解析器的检测逻辑后发现,单次运行模式的触发需要匹配eslint命令的执行路径规则。实际验证Yarn环境的执行路径时确认,Yarn会在/tmp目录下生成临时脚本执行eslint相关命令,路径完全不符合检测规则,直接导致检测逻辑失效。
执行路径验证命令及返回结果如下:
$ yarn exec which eslint /tmp/xfs-3826b2c0/eslint
待确认问题
allowAutomaticSingleRunInference 对应的单次运行自动检测功能,在Yarn环境下是否存在兼容问题、能否正常生效?
内容的提问来源于stack exchange,提问作者Nick Johnson
相关产品推荐
相关产品推荐

