monorepo

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Monorepo — Nx, Turborepo, pnpm Workspaces

Monorepo — Nx、Turborepo、pnpm Workspaces

Monorepo moderne avec caching distribué, task orchestration.
现代化Monorepo,支持分布式缓存与任务编排。

Tools

工具

Nx — Graph-based, plugins, enterprise
Turborepo — Simple, fast, Vercel
pnpm workspaces — Léger, fast
Lerna — Legacy (migrer)
Nx — 基于图结构、支持插件、企业级适用
Turborepo — 简洁、快速、适配Vercel
pnpm workspaces — 轻量、快速
Lerna — 旧版工具(建议迁移)

Turborepo

Turborepo

json
{ "pipeline": {
  "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] },
  "test": { "cache": true }
}}
bash
pnpm turbo build                 # Cache
pnpm turbo test --filter=...@main
json
{ "pipeline": {
  "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] },
  "test": { "cache": true }
}}
bash
pnpm turbo build                 # Cache
pnpm turbo test --filter=...@main

Nx

Nx

bash
nx affected --target=build
nx graph
bash
nx affected --target=build
nx graph

Code Sharing

代码共享

monorepo/
├── packages/ (ui, utils, config)
├── apps/ (web, api, mobile)
typescript
import { Button } from '@monorepo/ui';
monorepo/
├── packages/ (ui, utils, config)
├── apps/ (web, api, mobile)
typescript
import { Button } from '@monorepo/ui';

Caching

缓存

Local — Dev | Remote — Team (Vercel, Nx Cloud) | Distributed — CI
bash
npx turbo login && npx turbo link  # Turborepo
npx nx connect-to-nx-cloud         # Nx
本地缓存 — 开发环境 | 远程缓存 — 团队协作(Vercel、Nx Cloud) | 分布式缓存 — CI环境
bash
npx turbo login && npx turbo link  # Turborepo
npx nx connect-to-nx-cloud         # Nx

pnpm Workspaces

pnpm Workspaces

yaml
packages: ['packages/*', 'apps/*']
yaml
packages: ['packages/*', 'apps/*']

Best Practices

最佳实践

Atomic commits | Versioning (
changesets
) | CI (affected) | Shared configs (root)

Voir
@.claude/skills/tooling/SKILL.md
原子提交 | 版本管理
changesets
) | CI集成(仅构建受影响的项目) | 根目录共享配置

详见
@.claude/skills/tooling/SKILL.md