공유는 추출보다 소비 계약이 먼저
DB·UI·types·config 패키지와 turbo task·hash·env
DB·UI·types·config는 빌드와 exports 전략이 다릅니다. UI는 컴포넌트별 subpath, DB는 연결 수명을 통제한 함수 API, types/config는 얇은 기반 패키지가 적합합니다. Turborepo는 소스·의존성·task·env를 hash해 실행을 재사용합니다.
| 패키지 | Export 전략 | 운영 주의 |
|---|---|---|
| DB | getDb()·schema subpath | lazy init·global cache·migration 분리 |
| UI | component subpath | tree-shaking·CSS sideEffects |
| Types | source export | runtime dependency 금지 |
| Config | preset subpath | extends 방향·버전 영향 |
- 소비자 확인중복보다 실제 app별 소비 계약을 먼저 봅니다.
- Public API 제한subpath export와 내부 구현 경계를 정합니다.
- Task graph^dependsOn과 package-local dependency를 구분합니다.
- Hash 입력env·lockfile·config·generated schema를 선언합니다.