모노레포 도입배경
모노레포란?
데스크탑뷰로 MVP모델 구현을 완료한 상태이다. 사용자 유입이 모바일 기기를 통해 많이 되다 보니 다음 스텝은 자연스럽게 모바일뷰 개발이 되었다.
다음과 같은 방법이 떠올랐다.
1. 기존의 있는 코드에 미디어 쿼리를 하나씩 박아서 반응형을 만든다.
2. 규정하는 모바일 사이즈가 되었을 경우 새로운 모바일 컴포넌트를 랜딩하는 방식으로 한다.
생각보다 고민해야할것이 많았다. 왜냐하면 데스크탑뷰에서 디자인적인 부분을 많이 덜어내야겠다는 디자이너의 의견이 나왔고, 이번 모바일 디자인을 기준으로 태블릿, 데스크탑뷰까지 통일성 있게 디자인을 할 예정이라고 했다.
그렇다면 1번을 선택하는것은 리소스가 큰 낭비라서 탈락.
2-a번과 2-b번을 두고 고민을 해보았을때, 각각의 장점과 단점을 나누어서 생각해봤다.
아무래도 깔끔하게 코드를 작성하는 부분에서 팀원들의 동의와 나 또한 2-b에 더 마음이 갔다. 그렇게되면 새로운 히스토리에서 시작을 하는것이고, 해당 프로젝트와 동일한 초기셋팅들을 다시해야하는 리소스가 가장 마음에 들지 않았다.
커뮤니티를 통해 모노레포 기술을 접하게 되었고, 기존 환경에서 코드들을 재사용할 수 있다는 점에서 모노레포가 가장 적절하다고 생각하여 도입하게 되었다.
그래서 모노레포가 뭔데??!!
쉽게말하면 구조를 뜻하는 말인데 하나의 저장소에서 여러개의 프로젝트를 관리하는 구조이다.


이미지 출처 : 우아한 기술블로그

yarn, turborepo ,Rush, 등등 생각보다 많은 도구들이 있었다.
이 중 yarn-workspaces 통해서 환경을 구축하기로 결정하였고, 이유는 다음과 같다.