SuperAPI AI 工具集

turborepo

通用与其它

查看项目

更新于 10-15 17:27

技能介绍

用途:Turborepo 是 JavaScript/TypeScript monorepo 的构建系统,会缓存任务输出,并依据依赖图并行运行任务。本技能用于指导 turbo.json 配置、任务管道、dependsOn、缓存与远程缓存、turbo CLI、--filter、--affected 以及 CI 集成。

主要能力与用法:任务应定义在各包的 package.json 中,并在根 turbo.json 注册;根 package.json 只通过 turbo run <task> 委派,不承载任务逻辑。写入代码或 CI 的命令应使用 turbo run,如 turbo run build --affected;简写 turbo <task> 仅用于人工在终端一次性执行。--affected 用于只运行变更包及其依赖方,可用 --affected-base 指定基线分支。缓存问题可借助 --summarize 或 --dry 调试,--force 或 cache: false 可跳过缓存。环境变量需在 env 中声明才会参与哈希,.env 文件需加入 inputs 才能触发重建。文件产出型任务应配置 outputs,例如 Next.js 用 [".next/", "!.next/cache/"],Vite/Rollup 与 tsc 常用 ["dist/**"]。

适用场景:monorepo 的任务编排、缓存、过滤、监听模式、CI 与远程缓存、包结构与架构边界检查(turbo boundaries)。

限制与注意:避免在根 package.json 写任务逻辑、用 && 串联 turbo 任务、用 prebuild 手动构建依赖、滥用 --parallel 绕过依赖图、在 inputs 中用 ../ 越出包目录(应使用 $TURBO_ROOT$)、在仓库根放置 .env。^build 只对已声明依赖的包生效。具体版本、收费与平台支持暂未提供。