9P by hiddenest 2023-03-13 | favorite | 댓글 2개

Airbridge의 프론트엔드에서 사용하는 패키지 매니저를 Yarn Berry에서 pnpm으로 옮긴 후 1년 동안 사용하며 느낀 점들을 정리해본 글입니다.

Yarn Berry에서 느낀 불편한 점

  • Yarn PnP가 Git에 지속적으로 주는 부하
  • Ghost Dependency와의 끈질긴 싸움
  • Yarn Workspace의 자잘한 버그들

pnpm을 적용함으로서 얻은 해결법

  • 배포 과정 중 패키지 설치 시간이 30초 ~ 1분 정도 빨라짐
    • 전역 저장소(Virtual Store)에 패키지 저장 / 프로젝트의 node_modules와는 symlink로 연결
    • 중복된 패키지를 설치하지 않아 저장 공간과 네트워크 절약
  • 자동으로 패키지간 링크가 되어 보다 간단하게 모노레포 셋업
  • patch-package, dedupe 등 Yarn Berry에서 사용했던 기능들 거의 그대로 사용 가능

하지만 한국에서 Ghost Dependency 의존도가 큰 특성인지 쓰는 곳 보기 힘들죠. 저는 썼는데 좋기만 하구만유.

아마 그런 부분도 있을 것 같고, Yarn Berry의 경우 플러그인 시스템이 강력하다는 점도 한몫하는 것 같아요.