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
Publish all packages from the workspace.
--json
Show information in JSON format.
--tag <tag>
지정된 태그가 있는 패키지를 게시합니다. 기본적으로 pnpm publish
는 latest
태그를 갱신합니다.
예시:
# foo 패키지 디렉토리 내부
pnpm publish --tag next
# foo의 다음 버전을 사용하려는 프로젝트에서
pnpm add foo@next
--access <public|restricted>
게시된 패키지가 공개 또는 제한되어야 하는지 여부를 레지스트리에 알려줍니다.
--no-git-checks
Don't check if current branch is your publish branch, clean, and up-to-date with remote.
--publish-branch <branch>
- 기본값: master 및 main
- 유형: String
최신 변경 사항을 게시하는 데 사용되는 저장소의 기본 브랜치입니다.
--force
현재 버전이 이미 레지스트리에 있는 경우에도 패키지를 게시하려고 합니다.
--report-summary
게시된 패키지 목록을 pnpm-publish-summary.json
에 저장합니다. 게시된 패키지 목록을 보고하기 위해 다른 도구를 사용할 때 유용합니다.
An example of a pnpm-publish-summary.json
file:
{
"publishedPackages": [
{
"name": "foo",
"version": "1.0.0"
},
{
"name": "bar",
"version": "2.0.0"
}
]
}
--dry-run
실제로 레지스트리에 게시하는 것을 제외하고 게시가 수행하는 모든 작업을 수행합니다.
--otp
이중 인증이 필요한 패키지를 게시할 때, 이 옵션은 일회용 암호를 지정할 수 있습니다.
--filter <package_selector>
환경설정
.npmrc
파일에서 git-checks
, publish-branch
옵션을 설정할 수도 있습니다.
예시:
git-checks=false
publish-branch=production
라이프사이클 스크립트
prepublishOnly
prepublish
prepack
prepare
postpack
publish
postpublish