티스토리 뷰
npm의 workspace처럼 pnpm에서도 workspace를 지원하여 모노레포를 구성할수 있습니다
pnpm-workspace.yaml 파일을 생성하여 다음 코드를 작성하는것으로 워크스페이스를 사용할수 있습니다
packages:
# specify a package in a direct subdir of the root
- 'my-app'
# all packages in direct subdirs of packages/
- 'packages/*'
# all packages in subdirs of components/
- 'components/**'
# exclude packages that are inside test directories
- '!**/test/**'
여기서 언급된 패키지들이 workspace로 구성됩니다
워크스페이스 구성후에는 다음과 같은 명령어를 사용합니다
root 프로젝트의 package.json의 명령어를 사용하기 위해서는 아래의 명령어를 사용합니다
pnpm -w <command>
root 프로젝트의 커맨드를 사용합니다
--workspace-root 의 약자입니다
root 프로젝트가 아닌 다른 프로젝트의 명령어를 실행하기 위해서는 아래의 명령어를 사용합니다
pnpm --filter <패키지선택자> <command>
--filter 옵션에서 사용가능한 패키지 선택자는 다양한 조합으로 사용할수 있습니다
pnpm --filter "@babel/core" test
pnpm --filter "@babel/*" test
pnpm --filter "*core" test
Filtering | pnpm
Filtering allows you to restrict commands to specific subsets of packages.
pnpm.io
더 고급의 필터 규칙을 찾고 싶으신 경우는 위의 페이지를 방문해주세요
패키지 설치는 --filter 옵션을 이용하거나 -w 옵션을 이용하여 설치하시면 됩니다
pnpm --filter <패키지선택자> add <pkg>
pnpm add <pkg> -w
혹시 모노레포의 모든 명령어를 한번에 실행하고 싶으시다면 -r 옵션을 이용할수 있습니다
pnpm -r <command>
recursive 옵션입니다
순환하여 명령어를 실행합니다
예를 들어 test 명령어를 모든 패키지에 설정해놓았다면
한번의 명령어를 통해 내부의 모든 프로젝트의 test 명령어가 수행됩니다
'WEB2.0 > 프로그래밍' 카테고리의 다른 글
sqs+lambda maximum concurrency (1) | 2025.04.10 |
---|---|
postgresql docker 활용하기 (0) | 2025.01.21 |
npm / yarn 에서 pnpm으로 이사하기 (0) | 2025.01.18 |
mac에서 mongdb 실행 오류 발생할때 (1) | 2024.12.12 |
타입스크립트의 초과속성체크(excess property checks)를 알고 계셨나요? (0) | 2024.12.05 |
- Total
- Today
- Yesterday
- 앱스토어
- 트위터
- iPhone
- 소프트웨어
- JavaScript
- 게임
- 스마트폰
- 모바일
- 아이디어
- 네이버
- 웹표준
- AWS
- 대학생
- 앱
- 구글
- 어플리케이션
- Apple
- 안드로이드
- php
- 벤처
- 경진대회
- 공모전
- 창업
- android
- 애플
- 자바스크립트
- 아이폰
- CSS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |