pnpm 10.29
· 一分钟阅读
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。 - 当设置了
enableGlobalVirtualStore,pnpm deploy现在会忽略它,并始终在部署目录中创建一个本地化的虚拟存储,以保持其自包含性。 - 修复了
pnpm dlx不遵守minimumReleaseAgeExclude的问题 #10338。 - 修复了使用全局虚拟存储时
pnpm list --json返回错误路径的问题 #10187。 - 修复了当
storeDir为相对路径时,pnpm store path和pnpm 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。
