workspace는 모노레포의 구성 요소이다. 모노레포를 구성하는 앱이나 패키지는 각자 고유한 workspace에 담겨 있다.

pnpm workspace

pnpm에서는 pnpm-workspace.yaml 파일을 만들어, 여기에 워크스페이스로 선언하고 싶은 폴더들을 추가한다.

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

나는 appspackages 디렉토리 하위의 모든 폴더들을 각각 독립된 워크스페이스로 만들려 한다.

이제 각각의 워크스페이스의 package.json에서 각자의 이름을 정해주어야 한다.

// packages/tsconfig/package.json

{
	"name": "@pnpm-workspace/tsconfig"
}