프런트엔드/프로젝트 관리

모노레포 사례 알아보기

조드래곤나인 2024. 1. 10. 15:30

모노레포는 여러 개의 서브 프로젝트를 한 개의 레포지토리에서 관리하는 운영 방식입니다.

 

카카오 FE 개발자로 있을 때는 Lerna를 사용해서 모노레포를 구성했는데요.

 

 

Documentation | Lerna

Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.

lerna.js.org

 

요세는 Turborepo를 많이 활용하는 것 같습니다.

모노레포를 구성하면 코드 공유와 재사용, 통합 버전 관리, 병렬 빌드 등에 도움이 돼서 구성하곤 합니다.

 

이 글에서는 모노레포를 적용한 사례들 몇 가지 정리해 봤습니다.

 

 

페이스북

구글

구글은 수십억 줄의 코드를 하나의 레포지토리에서 관리하고 있으며,

Angular와 같은 오픈소스 프로젝트가 있습니다.

 

 

GitHub - angular/angular: Deliver web apps with confidence 🚀

Deliver web apps with confidence 🚀. Contribute to angular/angular development by creating an account on GitHub.

github.com

 

 

TypeScript ESLint

typescript-eslint는

마이크로소프트의 오픈소스 프로젝트인 TypeScript

코드 오류와 코드 정리를 도와주는 오픈소스 프로젝트입니다.

마치며

모노레포를 사용하면서 물론 단점도 존재합니다.

 

어느 정도 러닝 커브가 존재하고 저장소를 사용하는 모든 개발자가 룰을 따를 필요가 있습니다.

 

조직 구성이나 인원에 맞게 구성하는 것을 추천드리며,

모노레포의 원리에 대해서 궁금하시면 아래 링크를 참고하면 좋습니다!


 

728x90