workspace는 모노레포의 구성 요소이다. 모노레포를 구성하는 앱이나 패키지는 각자 고유한 workspace에 담겨 있다.
pnpm에서는 pnpm-workspace.yaml
파일을 만들어, 여기에 워크스페이스로 선언하고 싶은 폴더들을 추가한다.
# pnpm-workspace.yaml
packages:
- 'apps/*'
- 'packages/*'
나는 apps
와 packages
디렉토리 하위의 모든 폴더들을 각각 독립된 워크스페이스로 만들려 한다.
이제 각각의 워크스페이스의 package.json
에서 각자의 이름을 정해주어야 한다.
// packages/tsconfig/package.json
{
"name": "@pnpm-workspace/tsconfig"
}