목록 보기
모노레포 적용부터 yarn berry까지
프론트엔드

모노레포 적용부터 yarn berry까지

화해
화해
2023년 3월 9일

두줄요약

멀티레포의 중복과 표준화 문제를 해결하기 위해 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·플러그인으로 기능화하는 표준 정착 방향

다음 읽기

#Yarn Berry 주제를 다룬 다른 회사 글

리멤버 웹 서비스 좌충우돌 Yarn Berry 도입기

리멤버 웹 서비스에 Yarn Berry를 점진적으로 도입한 과정과 문제 해결 경험을 정리했습니다.\nPnP와 Zero-Installs로 빌드 시간과 의존성 관리 안정성을 개선했고, 각종 호환 이슈도 함께 다뤘습니다.

리멤버
리멤버
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...