我在大约 20 个 TypeScript 项目的 monorepo 中遇到了 typescript-eslint 的内存不足错误。这是一个已知问题,缓解措施之一是使用
parserOptions.allowAutomaticSingleRunInference = true
选项启用单次运行检测。不过,这似乎不会在纱线管理的存储库中触发。查看来源,这会起作用吗?似乎因为纱线在 /tmp
目录中运行,所以它永远不会匹配文件路径来检测单次运行模式:
$ yarn exec which eslint
/tmp/xfs-3826b2c0/eslint
答案是您链接的文件中的前 8 行:
if (process.env.TSESTREE_SINGLE_RUN === 'true') {
extra.singleRun = true;
return;
}
将
TSESTREE_SINGLE_RUN=true
设置为环境变量将强制 typescript-eslint 以单次运行模式运行。