pnpm publish
레지스트리에 패키지를 게시합니다.
pnpm [-r] publish [<tarball|folder>] [--tag <tag>]
[--access <public|restricted>] [options]
워크스페이스 내부의 패키지를 게시할 때, 워크스페이스 루트의 LICENSE 파일이 패키지와 함께 압축됩니다(패키지에 자체 라이선스가 있는 경우는 제외).
package.json의 publishConfig 필드를 사용하여 게시 전에 일부 필드를 재정의할 수 있습니다.
publishConfig.directory를 사용하여 게시되는 하위 디렉터리를 사용자 지정할 수도 있습니다(보통 서드파티 빌드 도구를 사용하는 경우).
이 명령을 재귀적으로 실행하면(pnpm -r publish) pnpm은 아직 레지스트리에 게시되지 않은 버전을 가진 모든 패키지를 게시합니다.
옵션#
--recursive, -r#
workspace에 있는 모든 패키지를 게시합니다.
--json#
JSON 형식으로 정보를 표시합니다.
--tag <tag>#
지정된 태그가 있는 패키지를 게시합니다. 기본적으로 pnpm publish는 latest 태그를 업데이트합니다.
예시:
# foo 패키지 디렉토리 내부
pnpm publish --tag next
# foo의 다음 버전을 사용하려는 프로젝트에서
pnpm add foo@next
--access <public|restricted>#
게시된 패키지가 공개 또는 제한되어야 하는지 여부를 레지스트리에 알려줍니다.
--no-git-checks#
현재 브랜치가 게시 브랜치인지, 깨끗한 상태인지, 원격과 최신 상태인지 확인하지 않습니다.
--publish-branch <branch>#
- 기본값: master 및 main
- 유형: String
최신 변경 사항을 게시하는 데 사용되는 저장소의 기본 브랜치입니다.
--force#
현재 버전이 이미 레지스트리에 있는 경우에도 패키지를 게시하려고 합니다.
--report-summary#
게시된 패키지 목록을 pnpm-publish-summary.json에 저장합니다. 게시된 패키지 목록을 보고하기 위해 다른 도구를 사용할 때 유용합니다.
pnpm-publish-summary.json 파일의 예시:
{
"publishedPackages": [
{
"name": "foo",
"version": "1.0.0"
},
{
"name": "bar",
"version": "2.0.0"
}
]
}
--dry-run#
실제로 레지스트리에 게시하는 것을 제외하고 게시가 수행하는 모든 작업을 수행합니다.
--otp#
이중 인증이 필요한 패키지를 게시할 때, 이 옵션은 일회용 암호를 지정할 수 있습니다.
--provenance#
지원되는 클라우드 CI/CD 시스템에서 게시하는 경우, 패키지는 빌드 및 게시된 위치와 공개적으로 연결됩니다.
--filter <package_selector>#
환경설정#
pnpm-workspace.yaml 파일에서 gitChecks, publishBranch 옵션을 설정할 수도 있습니다.
예시:
gitChecks: false
publishBranch: production
라이프사이클 스크립트#
prepublishOnlyprepublishprepackpreparepostpackpublishpostpublish