用途:这是一份面向 projectx 项目的 Turborepo 单体仓库(monorepo)管理指南,适用于处理工作区、构建流水线、缓存以及跨仓库统一操作。
项目结构:仓库包含 apps(auth、order、product 等 NestJS 服务,storybook 组件文档,web 前端)与 packages(core、db、email、models、payment、ui、workflows 等共享包),根目录有 turbo.json、pnpm-workspace.yaml 和 package.json。
主要能力与配置:turbo.json 用 tasks 定义 build(dependsOn ^build,outputs 为 dist/.next/build)、dev(cache false,persistent true)、test、lint 等任务,并支持 globalDependencies、globalEnv、任务级 env。缓存分本地缓存(node_modules/.cache/turbo)与可选远程缓存(turbo login、turbo link)。
使用方式:常用命令包括 pnpm dev 及具体应用脚本、pnpm build、pnpm test;turbo 筛选如 turbo run build --filter=web、--filter=@projectx/ui、--filter=web...(含依赖)、--filter=...@projectx/ui(依赖方)、--filter=!storybook、--filter=[main](自 main 起变更)。查看任务图用 turbo run build --graph,排查用 --dry-run 和 --force,清理安装用 npx rimraf node_modules pnpm-lock.yaml 后 pnpm install。
内部依赖与新建包/应用:package.json 中使用 workspace:* 引用内部包;创建新包需建目录、初始化 package.json(name、private、type、exports、build/dev 脚本)并在消费方声明依赖;新建应用建目录后套用 NestJS 或 React Router 模板,必要时在 turbo.json 添加流水线。
适用场景与限制:适合多包统一构建、测试、缓存与筛选执行。文档未提供具体版本、性能数据或收费信息;远程缓存依赖 Vercel 登录。以上内容为指南摘要。