SuperAPI AI 工具集

turborepo

部署与运维

查看项目

更新于 10-16 03:03

技能介绍

用途:Turborepo 是用于 JavaScript/TypeScript monorepo 的构建系统,通过缓存任务输出并依据依赖图并行运行任务来加速构建。该技能提供配置与使用指导。

主要能力与规则:任务应定义在各包的 package.json 中,并在根 turbo.json 的 tasks 内注册;根 package.json 只通过 turbo run <task> 委派,不应放置任务逻辑,否则会破坏并行化。写入代码的场景(package.json、CI)应使用 turbo run,turbo <task> 简写仅用于人工或智能体在终端一次性执行。可通过 dependsOn 声明依赖,如 build 用 "^build"(先构建依赖包),test 用 "build"(同包内先构建),特定包任务写作 web#build。

缓存与过滤:为产出文件的任务在 outputs 中声明产物(如 Next.js 用 [".next/", "!.next/cache/"],Vite/Rollup 与 tsc 用 ["dist/**"]);仅改动的包可用 turbo run build --affected,自定义基线用 --affected-base=origin/develop,也可用 --filter=...[origin/main];调试哈希输入可用 --summarize 或 --dry,跳过缓存可用 --force 或 cache: false。环境变量需在 env 中声明才会参与哈希,.env 文件变化需放入 inputs。

限制与注意:不要用 --parallel 绕过依赖图;不要在根 turbo.json 堆叠大量包级覆盖,优先使用各包 turbo.json 配置;不要用 ../ 遍历包外路径,应使用 $TURBO_ROOT$;^build 只在依赖关系已声明时才生效,未声明依赖时应先补充 workspace 依赖再移除手工 prebuild。资料未提供具体收费、价格与平台信息。