跳到主要內容

pnpm 的 2022 年

· 閱讀時間 3 分鐘

今年即將結束,這真的是艱難的一年。正如你所知,我住在烏克蘭,因此由於俄羅斯對我們的戰爭,領導這個專案比前幾年更加困難。儘管如此,對 pnpm 來說,這仍然是美好的一年。我們獲得許多新使用者、貢獻者,並實作許多很棒的功能。

(上述插圖由 Midjourney 產生。老虎象徵虎年)

使用狀況

下載統計

我今年的目標是透過下載次數擊敗 Lerna。我們在 八月 達成這個目標

pnpm 在 2022 年的下載次數比 2021 年 多了 5 倍以上

文件瀏覽

我們使用 Google Analytics 從文件中收集一些非個人化統計。在 2022 年,我們每週有時會有超過 20,000 名獨立訪客。這比 2021 年多了 10 倍!

GitHub 星星

我們的 GitHub 主要儲存庫 今年獲得將近 +7,000 個星星。

我們的貢獻者

今年我們有許多新進且活躍的貢獻者。以下是 2022 年至少合併一個公關的人員

功能重點

支援無符號連結的提升 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 起,side-effect-cache 預設啟用,因此應該建置的相依項只會在機器上建置一次。這大幅提升了有建置指令碼的相依項專案的安裝速度。

相依項修補(自 v7.4.0 起)

已新增 pnpm patch 指令,用於修補 node_modules 中的相依項。

基於時間的解析策略(自 v7.10.0 起)

pnpm 新增了解決模式,這將使更新依賴關係更安全。你可以使用 resolution-mode 設定來變更解決模式。

列出依賴項目的授權(自 v7.17.0 起)

現在你可以使用 pnpm licenses list 指令來檢查已安裝套件的授權。