跳到主内容

pnpm 10.29

· 一分钟阅读
Zoltan Kochan
pnpm 的首席维护者

pnpm 10.29 为 pnpm dlx 添加了 catalog: 协议支持,允许在 pnpm-workspace.yaml 中配置 auditLevel,支持裸 workspace: 说明符,并修复了几个错误。

次要更改

pnpm dlx 中的 catalog: 协议

pnpm dlx / pnpx 命令现在支持 catalog: 协议,允许你引用工作区目录中定义的版本:

pnpm dlx shx@catalog:

auditLevel 设置

现在可以在 pnpm-workspace.yaml 文件中配置 auditLevel,因此你无需在每次调用 pnpm audit 时都传递 --audit-level 参数 #10540

pnpm-workspace.yaml
auditLevel: high

workspace: 协议

现在支持不带版本范围的 workspace: 说明符。 它被视为 workspace:*,并在发布期间解析为具体版本 #10436

{
"dependencies": {
"foo": "workspace:"
}
}

补丁更改

  • 修复了在大型依赖关系图上 pnpm list(以及 pnpm why)的内存不足错误,方法是将递归树构建器替换为两阶段方法:先构建 BFS 依赖关系图,然后进行缓存树实现。 现在输出中已对重复子树进行去重 #10586
  • 修复了通过 .pnpmfile.cjs 设置时 allowBuilds 不起作用的问题 #10516
  • 当设置了 enableGlobalVirtualStorepnpm deploy 现在会忽略它,并始终在部署目录中创建一个本地化的虚拟存储,以保持其自包含性。
  • 修复了 pnpm dlx 不遵守 minimumReleaseAgeExclude 的问题 #10338
  • 修复了使用全局虚拟存储时 pnpm list --json 返回错误路径的问题 #10187
  • 修复了当 storeDir 为相对路径时,pnpm store pathpnpm store status 使用工作区根目录进行路径解析 #10290
  • 修复了在重新添加现有目录依赖项时,catalogMode: strict 将字面字符串 catalog: 写入 pnpm-workspace.yaml 而不是已解析的版本说明符的问题 #10176
  • 在执行 pnpm fetch 期间跳过本地 file: 协议依赖项,修复本地目录依赖项不可用时的 Docker 构建问题 #10460
  • 修复了 pnpm audit --json 以在退出代码和输出过滤器上尊重 --audit-level 设置 #10540
  • tar 更新到 7.5.7 版本,以修复安全漏洞 (CVE-2026-24842)。
  • 修复了 pnpm audit --fix 将引用覆盖(例如 $foo)替换为具体版本的问题 #10325
  • 修复了通过 .pnpmfile.cjs 中的 updateConfig 设置的 shamefullyHoist 未转换为 publicHoistPattern #10271
  • pnpm help 现在可以正确报告当前运行的 pnpm CLI 是否与 Node.js 捆绑在一起 #10561
  • 添加警告,当当前目录包含 PATH 分隔符字符时,可能会破坏 node_modules/.bin 路径注入 #10457
  • 修复了 pnpm completion --help 中显示的文档 URL,使其指向正确的页面 #10281