Mono repository
여러 패키지를 포함하는 단일 저장소를 의미.
저장소 내에 로컬 패키지들은 필요에 따라서 특정 패키지에 의존하거나 공유될 수 있음.
Poly repository
monorepo와는 반대되는 개념으로 하나의 저장소에 하나의 단일 기능에만 초점을 맞춰 관리됨.
하나의 저장소가 의존하는 패키지들은 모두 원격 저장소에 있음.
yarn workspace
yarn 공식문서를 보면 yarn workspace에 대해서 간단 명료하게 잘 설명해주고 있다.
Yarn 작업 공간은 모노레포 작업을 쉽게 하고 의 주요 사용 사례 중 하나를
yarn link
보다 선언적인 방식으로 해결 하는 것을 목표로 합니다. 요컨대, 여러 프로젝트가 동일한 저장소에서 함께 살 수 있고 서로를 상호 참조할 수 있습니다. 즉, 소스 코드에 대한 수정 사항은 즉시 다른 프로젝트에 적용됩니다
yarn workspace를 구성하여 babel, jest 와 같은 monorepo 프로젝트를 만들려면 아래 페이지 참조
참고
yarn1.0 공식문서.
yarn2.0 공식문서. (yarn 1.x 버전과는 상당히 다른 양상을 보인다. yarn 버전 선택에는 주의 필요.)
아래는 yarn workspace 를 이용한 monorepo 구성에 대해 잘 설명한 글
Lerna와 yarn-workspace를 활용한 Mono Repo (Typescript & Jest) 환경 구성하기
다음은 monorepo의 장점과 단점에 대해 잘 정리된 위키
'frontend > 개발환경' 카테고리의 다른 글
git hooks, husky, lint-staged (0) | 2021.12.13 |
---|---|
typescript + eslint (0) | 2021.12.13 |
monorepo에서 eslint 동작방식 정리 (0) | 2021.12.13 |
monorepo 프로젝트 시작하기 (0) | 2021.12.13 |
yarn workspace 명령어 (0) | 2021.12.13 |