monorepo

모노레포 의존 방향은 client와 server가 shared 계약만 참조하게 둔다

client와 server가 shared 타입을 함께 쓰면 요청·응답 계약은 한곳에서 관리하되, shared가 양쪽 구현을 알아서는 안 된다.

clientUI와 API 호출

화면, 라우팅, fetch contract를 담당한다.

serverAPI와 검증

요청 처리, 데이터 접근, 런타임 검증을 담당한다.

shared공통 타입 계약

DTO, enum, ApiResult 같은 합의된 타입만 둔다.

구분의미판단
의존 방향client/server → sharedshared는 양쪽을 모른다.
빌드 순서shared 먼저참조 타입이 먼저 만들어져야 한다.
경계 위험도메인 로직 공유결합도가 커지므로 구현은 각 패키지에 둔다.

핵심 공유 타입은 편하지만 shared는 양쪽이 함께 알아야 하는 계약만 담아야 결합이 커지지 않는다.