Structuring a Monorepo
Hướng dẫn cấu trúc monorepo với Turborepo — workspace setup, package types, internal packages, exports, và common pitfalls.
1. Minimum Requirements
Cấu trúc thư mục chuẩn:
my-monorepo/
├── apps/
│ ├── web/ # Next.js app
│ ├── docs/ # Documentation site
│ └── api/ # Express/Fastify API
├── packages/
│ ├── ui/ # Shared UI components
│ ├── utils/ # Shared utilities
│ ├── types/ # Shared TypeScript types
│ ├── config-eslint/ # Shared ESLint config
│ └── config-ts/ # Shared tsconfig
├── turbo.json
├── package.json
├── pnpm-workspace.yaml
└── .gitignore2. Workspace Setup
pnpm
npm / yarn / bun
Root package.json
3. Anatomy of a Package
package.json
Source code
4. Package Types
Application Packages
Library Packages
Tooling Packages
5. Just-in-Time vs Compiled Packages
Just-in-Time (JIT)
Compiled
6. Internal Package Dependencies
7. Dùng exports thay vì barrel files
8. Common Pitfalls
9. Tạo monorepo mới nhanh
Tài liệu tham khảo
Cập nhật lần cuối