用途:该技能提供设计 monorepo 结构的系统化指导,涵盖工作区组织、依赖管理、版本策略,以及从小型项目到企业级应用的架构模式,并帮助判断何时选择 monorepo 或 polyrepo。
主要能力:对比 monorepo 与 polyrepo 的适用条件与权衡;给出基于包、基于领域和混合三种仓库结构模式;介绍 NPM、Yarn、PNPM 及 Cargo 工作区配置;说明内部包依赖、依赖提升、版本同步与 peer 依赖处理;提供共享代码、类型与配置的组织方式;讲解依赖图、构建顺序优化与循环依赖检测;并对比独立版本与固定版本策略及语义化版本实践。
使用方式:资料中给出多种配置示例,例如 NPM 的 workspaces 字段、PNPM 的 pnpm-workspace.yaml、Cargo 的 [workspace] 配置,以及 Turbo 的 pipeline 配置。依赖同步可使用 pnpm syncpack list-mismatches、pnpm syncpack fix-mismatches、pnpm syncpack update 等命令;依赖图可用 pnpm list --depth 10 --json 或 nx graph 生成。
适用场景:代码共享频繁、需要跨包原子变更、统一工具链、版本同步或大规模重构的团队与项目。
限制:资料未提供具体收费、价格、平台支持范围或实际效果数据;部分内容为示例性配置,实际采用需结合项目情况验证。