跳至主要内容

pnpm 在 2022 年

·阅读时长 3 分钟

一年即将结束。非常艰难的一年。如你所知,我住在乌克兰,由于俄罗斯对我们的战争,领导这个项目比往年更难。尽管如此,对 pnpm 来说,这是一年好年。我们获得了许多新用户、贡献者,并且实施了许多很棒的功能。

(上面的插图由 Midjourney 生成。老虎象征着虎年)

使用

下载统计

我今年的目标是超过 Lerna 的下载量。我们能够实现这个目标在 8 月份

pnpm 在 2022 年的下载量比 2021 年高出 5 倍以上

文档访问量

我们使用 Google Analytics 从我们的文档中收集一些非个性化统计数据。在 2022 年,我们有时每周有超过 20,000 个独立访客。这比 2021 年高出 10 倍!

GitHub 星星

我们的主要 GitHub 仓库今年获得了近 +7,000 个星星。

我们的贡献者

我们今年有许多新的和活跃的贡献者。这些是在 2022 年至少合并了一个 PR 的人

功能亮点

支持无符号链接的提升式 node_modules (自 v6.25.0 起)

在 2022 年初,我们添加了对“传统”提升式 (也称为扁平化 node_modules) 的支持。我们使用 Yarn 的提升式算法来创建适当的提升式 node_modules。此新设置基本上使 pnpm 与所有与 npm CLI 兼容的 Node.js 堆栈兼容。

要使用提升式 node_modules 目录结构,请在 .npmrc 文件中使用 node-linker=hoisted 设置。

副作用缓存 (自 v7.0.0 起)

自 v7 起,副作用缓存 默认启用,因此应该构建的依赖项在一台机器上只构建一次。这在具有构建脚本的依赖项的项目中极大地提高了安装速度。

依赖项修补 (自 v7.4.0 起)

已添加 pnpm patch 命令,用于修补 node_modules 中的依赖项。

基于时间的解析策略 (自 v7.10.0 起)

pnpm 添加了一种新的解析模式,这应该使更新依赖项更安全。你可以使用 resolution-mode 设置更改解析模式。

列出依赖项的许可证 (自 v7.17.0 起)

你现在可以使用 pnpm licenses list 命令检查已安装包的许可证。