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
发布工作区中的所有包。
--json
以 JSON 格式显示信息。
--tag <tag>
使用给定的标签发布包。默认情况下,pnpm publish
更新 latest
标签。
例如
# inside the foo package directory
pnpm publish --tag next
# in a project where you want to use the next version of foo
pnpm add foo@next
--access <public|restricted>
告诉注册表发布的包应该是公开的还是受限的。
--no-git-checks
不要检查当前分支是否为发布分支、干净且与远程分支同步。
--publish-branch <branch>
- 默认: master 和 main
- 类型: 字符串
用于发布最新更改的存储库的主要分支。
--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
在发布需要双重身份验证的包时,此选项可以指定一次性密码。
--filter <package_selector>
配置
您也可以在 .npmrc
文件中设置 git-checks
、publish-branch
选项。
例如
.npmrc
git-checks=false
publish-branch=production
生命周期脚本
prepublishOnly
prepublish
prepack
prepare
postpack
publish
postpublish