소개

pnpm workspace 핸드북

pnpm workspace를 안써봤는데 바로 일을 해야된다면?

기본 사용법

pnpm install

workspace로 구성 된 상위 루트에서 pnpm install 실행 시 하위 모든 패키지의 패키지도 모두 설치된다.

📎

여기서 하위 패키지는 상위 루트의 pnpm-workspace.yaml 파일에서 지정 된 파일만 하위 패키지로 인식. 패키지 구조를 가지고 있다고 하위 패키지로 인식되진 않는다.

pnpm -F <internal package>
pnpm --filter <internal package>

하위 패키지에 작업을 하고 싶은 경우, --filter 옵션을 이용하여 하위 패키지에 바로 명령을 내릴 수 있다.

패키지 관련

패키지 추가

pnpm -F <target package> add <lib name>
pnpm -F <target package> add -D <lib name>

패키지 삭제

pnpm -F <target package> remove <lib name>

내부 패키지 의존성 추가하기

{
"name": "@doda/awesome-package",
"private": true,
}

@doda/awesome-package 가 추가하고 싶은 패키지라면,

pnpm -F <target package> add @doda/awesome-package

그럼 다음과 같이 생성될 것이다.

{
"name": "target-package",
"private": true,
"dependencies": {
"@doda/awesome-package": "workspace:*",
}
}
📎

workspace:* 이외에 workspace:^ , workspace:~ 도 사용할 수 있으나 패키지 게시를 위해 변환 시 버전 범위 명시를 위해 사용되는 옵션이다.
ex) workspace:^^1.0.0

스크립트 실행

pnpm -F <target package> run dev
pnpm -F <target package> dev

scripts에 등록되어 있는 명령의 경우 run을 사용하지 않더라도 알아서 실행해준다.

태그
pnpm
정리
반응과 댓글 시스템은 Giscus에 의해 호스팅되며, 모든 대화는 GitHub에 저장됩니다.

출처가 명확하지 않은 내용을 신뢰하지 마세요. 글 작성자는 이로 인해 발생하는 책임을 지지 않습니다.

피드백 무엇이든 환영합니다 🤗

doda.dev license github made with ☕️