
모노레포 적용부터 yarn berry까지
두줄요약
멀티레포의 중복과 표준화 문제를 해결하기 위해 Yarn Berry 기반 모노레포를 설계했습니다.\nPnP 캐싱의 한계를 분석하고, 필요한 코드만 배포하는 yarn release 플러그인을 구현했습니다.
문제 상황
- 멀티레포 환경의 중복 기능 구현, 분산된 ESLint 설정, 프로젝트 생성 표준 부재
- 작업물 직접 재사용과 표준의 자동화 부족으로 인한 실행 비용 증가
구조와 흐름
- 패키지별 독립 환경·버전·배포를 유지하는 모노레포와 태그 기반 배포 전략
- Yarn Berry PnP 기반 의존성 관리, 공통 ESLint 설정의 계층적 확장
- Yarn Core API·플러그인 기반
yarn release로 대상 워크스페이스와 프로덕션 의존성만 추출
트레이드오프
- PnP의 zero install은 설치 제거 기술이 아닌 캐시 전략이라는 재정의
- PnP 설치 시간 증가와 전용 캐시 스토리지 필요성
- TypeScript·ESLint SDK 버전 통일 제약과 나머지 라이브러리의 프로젝트별 독립성 병행
성능/운영 포인트
- 전체 모노레포 대신 최소 코드·의존성만 포함한 Git ref 생성 후 빌드 머신 배포
yarn release적용 후 프로젝트별 clone 시간 약 73~80%, 용량 약 80% 감소- 문서 기반 권장 사항을 대화형 CLI·플러그인으로 기능화하는 표준 정착 방향




