모노레포
규칙
- Turborepo를 사용한 작업 오케스트레이션 —
turbo.json이 파이프라인을 정의합니다. package.json의 워크스페이스:"workspaces": ["apps/*", "packages/*"]packages/의 공유 패키지 — UI 컴포넌트, 설정, 타입apps/의 앱 — 웹, API, 모바일 등- 내부 패키지는
"main": "./src/index.ts"사용 — 빌드 단계 불필요 turbo.json파이프라인:dependsOn,outputs,cache정의- 공유 tsconfig:
packages/config-typescript/를 모든 패키지가 확장 - 공유 ESLint 설정:
packages/config-eslint/
피해야 할 사항
- 앱 간 직접 임포트 — 공유 패키지를 사용하세요.
- 패키지 간 동일 의존성의 다른 버전 —
pnpm오버라이드를 사용하세요. - 터보 파이프라인에
dependsOn누락 — 오래된 빌드를 유발합니다. - 내부 패키지 빌드 — TypeScript 경로 별칭 또는
main: ./src/index.ts를 사용하세요.