跳到主内容

pnpm 10.31

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

pnpm 10.31 在更新 pnpm-workspace.yaml 时保留注释和格式,并包含大量错误修复。

次要更改

保留 pnpm-workspace.yaml 中的注释

当 pnpm 更新 pnpm-workspace.yaml 时,注释、字符串格式和空格将被保留。

补丁更改

  • 在帮助输出中添加了 -F 作为 --filter 选项的简短别名。
  • 处理 pnpm why -r 中未定义的 pkgSnapshot #10700
  • 修复当项目注入自引用 file: 依赖项并在锁文件中解析为 link: 时,未使用无头安装的问题。
  • 修复了多个工作线程同时将同一个包导入全局虚拟存储时出现的竞态条件。 如果另一个线程已经完成了导入,重命名操作现在可以容忍 ENOTEMPTY/EEXIST 错误。
  • lockfile-include-tarball-url 设置为 false 时,tarball URL 现在总是从锁文件中排除。 以前,对于托管在非标准 URL 下的软件包,tarball URL 仍然可能出现 #6667
  • 修复了当 overridespackageExtensionsignoredOptionalDependenciespatchedDependenciespeersSuffixMaxLength 更改时,optimisticRepeatInstall 跳过安装的问题。
  • 修复了在 HOME 未设置或非标准环境(Docker 容器、CI 系统)中,pnpm patch-commit 失败并出现“无法访问 '/.config/git/attributes': 权限被拒绝”错误的问题 #6537
  • 修复当多个工作区包共享同一依赖项时,pnpm why -r --parseable 缺少依赖项的问题 #8100
  • 修复当请求的版本与工作区包的版本不匹配时,link-workspace-packages=true 错误地链接工作区包的问题 #10173
  • 修复pnpm update --interactive 表格与长版本字符串断开,动态计算列宽度,而不是使用硬代码值 #10316
  • --allow-build 标志设置的参数被写入 allowBuilds
  • 修复了在 pnpm-workspace.yaml 上指定 filter 会导致 pnpm 检测不到任何项目的 bug。
  • 在没有参数和退出的情况下运行 pnpm dlx` 时打印帮助信息。