모노레포 구축/이관 (작성중)

이짜젠·2024년 12월 2일
0

yarn berry (with pnp) 를 사용해 모노레포를 구축하고, 기존프로젝트들을 migration 해본다.

프로젝트 생성

  1. 모노레포 프로젝트 생성
npm i -g yarn
cd {monorepo_directory}
yarn init -2 
  1. package.json 생성
{
  //... init 통해 생성된 내용 유지
  "workspaces": [
    // 프로젝트들을 담을 디렉토리를 선언, 여러 디렉토리 지정 가능 (like "apps/*")
    "packages/*",
  ]
}
  1. 전역으로 적용할 설정파일 추가
  • .eslintrc.js
  • tsconfig.json
  • .prettier
  • 기타 등등..
  1. pnp 방식사용을 위한 .yarnrc.yml 파일 수정
# ... 기존내용유지 ...
nodeLinker: pnp
  1. typescript 설치
yarn add -D typescript
  1. vscode에서 pnp 환경 사용을 위한 sdk 다운/실행
yarn dlx @yarnpkg/sdks vscode

workspace 추가

  1. 존재하는 프로젝트 (project_a 라 지칭)를 worksapce 디렉토리 하위에 copy, paste 한다.
cp -r proejct_a {monorepo_directory}/packages
  1. proejct_a/package.json 수정
// {monorepo_directory}/packages/proejct_a/package.json
{
  "name": "proejct_a",
  "packageManager": "yarn@4.5.3",
}
  1. {monorepo_directory}/package.json 수정
    편의를 위해 sciprt를 통해 alias 를 만들어두자.
{
  //...
  "scripts": {
    "project_a": "yarn workspace proejct_a"
  },
  1. 패키지 설치
yarn project_a install
profile
오늘 먹은 음식도 기억이 안납니다. 그래서 모든걸 기록합니다.

0개의 댓글