새롭게 프로젝트를 진행하게 되면서 모노레포 환경의 개발을 진행해보고 싶어졌다.
Yarn Berry와 레르나를 통한 개발을 진행해보기로 결정했다.
개발 환경은 Yarn Berry, Lerna, Next.js, React.js로 설정하고 레르나부터 구조를 잡기 시작했다.
https://buttercms.com/blog/nextjs-storybook-and-lerna-build-a-monorepo-structure
레르나는 yarn workspace와 같이 모노레포 환경에서의 관리를 쉽게 할 수 있게 도와주고, 프로젝트를 쉽게 만들 수 있게 도와주는 tool이다.
yarn add -D lerna
// npm install -g lerna // 글로벌로 설치 할 경우
./node_modules/lerna/cli.js init // lerna init
// lerna init // 글로벌로 설치된 경우
우선, 레르나를 통해 프로젝트를 생성한다.
init을 하게 되면 packages라는 폴더가 생성된다.
cd packages
mkdir components
mkdir utils
이렇게 모노 레포화 시킬 폴더를 만든다.