패키지 증가 문제 → Turborepo 선택 이유 + 캐시 효과 + Nx 비교
사이드 프로젝트에서 패키지가 늘어나면서 빌드 의존성 관리가 복잡해지는 문제를 경험하고, Turborepo를 처음 써봤습니다. Turborepo를 선택한 이유는 기존 npm 워크스페이스 위에 캐시와 태스크 그래프만 추가하는 구조여서 도입 비용이 낮았기 때문입니다. 가장 큰 장점은 태스크 결과를 캐시해서 변경된 패키지만 다시 빌드하는 방식으로 CI 시간을 줄인 점이었습니다.
pipeline 설정으로 패키지 빌드 순서를 명시하니 의존 관계가 문서화되는 효과도 생겼습니다. Nx와 비교했을 때, Nx는 더 세밀한 작업 그래프와 플러그인 생태계를 제공하지만 학습 곡선이 높다는 걸 문서를 공부하면서 배웠습니다. 소규모 프로젝트에서는 설정이 간단한 도구가 오히려 빠른 시작을 가능하게 한다는 경험을 했습니다.
모노레포 도구는 저장소 규모와 팀 구성에 맞게 선택하는 것이 중요하다고 생각합니다.