pnpm 的 2022 年
又是一年年底。 真是艰难的一年。 你们应该知道,我住在乌克兰,由于俄罗斯对我们发动战争,指挥这个项目比往年都难。 尽管如此,今年对pnpm来说是很好的一年。 我们有了很多新用户、贡献者,并且我们实现了许多很棒的功能。
(上图由 Midjourney 生成。 这只老虎象征虎年)
使用方法
下载统计
我今年的目标是在下载量上击败 Lerna。 我们在8月实现了 这个目标:
2022 年 pnpm 的下载量比 2021 年多 5 倍:
文档访问
我们使用 Google Analytics 从我们的文档中收集了一些非个性化的统计数据。 在 2022 年,有时我们一周就有超过 20,000 名不同的访客。 这比2021年高10倍!
GitHub stars
我们的 主 GitHub 仓库 今年获得了 +7,000 颗星。
贡献者
今年我们有很多新的和活跃的贡献者。 这些人在 2022 年合并了至少一个 PR:
- Zoltan Kochan
- chlorine
- await-ovo
- Brandon Cheng
- Dominic Elm
- MCMXC
- 那里好脏不可以
- Homyee King
- Shinobu Hayashi
- Black-Hole
- Kenrick
- Weyert de Boer
- Glen Whitney
- Cheng
- zoomdong
- thinkhalo
- 子瞻 Luci
- spencer17x
- liuxingbaoyu
- 장지훈
- Jon de la Motte
- Jack Works
- milahu
- David Collins
- nikoladev
- Igor Bezkrovnyi
- Lev Chelyadinov
- javier-garcia-meteologica
功能亮点
支持无符号链接的 hoisted 的node_modules
(从v6.25.0开始)
就在 2022 年初,我们增加了对“传统" hoisted 的支持(又称扁平化的 node_modules
)。 我们使用 Yarn 的 hoist 算法来创建一个正确的 hoisted node_modules
。 这个新设置基本上使 pnpm 可以兼容所有与 npm CLI 兼容的 Node.js 技术栈。
要使用 hoisted 的 node_modules
目录结构,请在 .npmrc
文件中使用 node-linker=hoisted
设置。
副作用缓存Side effects cache (从v7.0.0开始)
自 v7 以来,默认情况下启用了 副作用缓存side-effect-cache ,因此需要构建的依赖只会被构建一次。 这大大提高了依赖中含有构建脚本的项目的安装速度。
依赖补丁Dependencies patching(从v7.4.0开始)
添加了 pnpm patch
命令,用于修补 node_modules
中的依赖项。
基于时间的依赖解析策略Time-based resolution strategy(从 v7.10.0开始)
pnpm 添加了一种新的解析模式,会使更新依赖项更加安全。 您可以使用 resolution-mode 设置,更改解析模式。
列举依赖中的许可证 Listing licenses of dependencies(从 v7.17.0开始)
你可以使用 pnpm licenses list
命令来检查已安装软件包的许可证。