理解你的仓库
Turborepo 包含了一些工具,可以帮助你理解仓库结构,从而更好地使用和优化你的代码库。
turbo ls
要列出你的包,你可以运行 turbo ls
。这将显示仓库中的包及其所在位置。
你可以对 ls
使用过滤器,就像 run
一样:
turbo run
要确定你的单仓库中可以运行哪些任务,只需不带任何任务参数调用 turbo run
。你将获得任务列表以及定义这些任务的包:
turbo query
如果你想深入了解你的仓库结构,从 2.2.0
版本开始,Turborepo 通过 turbo query
提供了一个 GraphQL 接口。你可以执行查询,比如查找所有具有 test
任务的包:
这对于诊断包或任务依赖图中的潜在问题很有帮助。例如,假设你的构建中出现了大量的缓存未命中。这可能是因为有一个包经常被更改,并且在整个代码库中都被导入。
为此,我们可以运行一个查询,找出在你的单仓库中被直接导入超过 10 次的包:
现在我们找到了这个包,我们可以尝试将它拆分成更小的包,这样一个小的更改就不会使整个依赖图失效。
或者假设你正在使用我们新的 --affected
标志,但你仍然运行了比预期更多的任务。
使用 turbo query
,你可以找到所有包以及它们失效的原因: