monorepo 세팅: PNPM

pnpm 설치

reference

https://pnpm.io/installation

corepack으로 설치하기

corepack enable
brew install corepack

node v16.13부터 corepack를 사용할 수 있습니다. 이것을 활성화해야하는데 brew install corepack로 설치할 수 있습니다.

npm으로 설치하기

npm install -g pnpm

or

npm install -g @pnpm/exe

homebrew로 설치하기

brew install pnpm

pnpm 모노레포 세팅

  1. 사용할 폴더 생성

    mkdir apps mkdir packages

  1. workspace

    루트에 pnpm-workspace.yaml 파일 생성

    pnpm-workspace.yaml
    packages:
    - 'apps/*'
    - 'packages/*'
    

    apps 및 packages 폴더 하위의 폴더들이 pnpm workspace로 설정 됩니다.

  2. apps에 nextjs 설치

    cd apps
    pnpm create next-app
    
  3. packages 폴더에 공통으로 사용할 패키지 구성

    mkdir ui mkdir libs

    packages/lib/package.json
    {
      "name": "@my-monorepo/lib",
      "scripts": {
        "dev": "ts-node src/index.ts"
      }
    }
    
    packages/lib/package.json
    {
      "name": "@my-monorepo/ui",
      "scripts": {
        "dev": "ts-node src/index.ts"
      }
    }
    
  4. script 작성하기

  1. 공통 모듈 공유하기

    pnpm {A} add {B}
    

    B를 A에 추가한다.

    ex) pnpm web add @my-monorepo/ui

    • root에 설치하기

      pnpm add -w {package 명령어}

      ex) pnpm add -w -D prettier