2021 год для pnpm
Уже конец года, и он был хорошим для pnpm, так что давайте посмотрим каким он был.
Использование#
Статистика скачиваний#
Моей целью на этот год было победить Bower по количеству скачиваний. И мы достигли этой цели в ноябре:

pnpm был скачан примерно в 3 раза больше в 2021, чем в 2020:

заметка
Эта статистика даже не измеряет все возможные способы установки pnpm! Она измеряет только количество загрузок npm пакета pnpm. В этом году мы так-же добавили исполняемые файлы pmpm, которые скачиваются иначе.
Посещения документации#
Мы собираем некоторую обезличенную статистику из нашей документации с помощью Google Analytics. В 2021 году, иногда у нас было более 2000 уникальных посетителей в неделю.

Большинство наших пользователей из США и Китая.

Звезды на GitHub#
Наш основной репозиторий на GitHub получил +5000 звезд в этом году.

Новые пользователи#
Our biggest new user this year is Bytedance (the company behind TikTok).
Кроме того, многие замечательные проекты с открытым исходным кодом начали использовать pnpm. Некоторые перешли на pnpm из-за хорошей поддержки монорепозиториев:
Некоторые переключились, потому что им нравится, насколько эффективный, быстрый и красивый pnpm:
Feature Highlights#
New lockfile format (since v6.0.0)#
One of the first and most important changes this year was the new pnpm-lock.yaml format. This was a breaking change, so we had to release v6. But it was a success. The old lockfile was causing Git conflicts frequently. Since the new format was introduced, we did not receive any complaints about Git conflicts.
Managing Node.js versions (since v6.12.0)#
We shipped a new command (pnpm env) that allows to manage Node.js versions. So you may use pnpm instead of Node.js version managers like nvm or Volta.
Also, pnpm is shipped as a standalone executable, so you can run it even with no Node.js preinstalled on the system.
Injecting local dependencies (since v6.20.0)#
You may "inject" a local dependency. By default, local dependencies are symlinked to node_modules but with this new feature you may instruct pnpm to hard link the files of the package instead.
Improved reporting of peer dependency issues (since v6.24.0)#
Peer dependency issues used to be printed as plain text and it was hard to understand them. They are now all grouped and printed in a nice hierarchy structure.
Конкуренция#
Yarn#
Yarn added a pnpm linker in v3.1. So Yarn can create a similar node-modules directory structure to the one that pnpm creates.
Also, the Yarn team plans to implement a content-addressable storage to be more disk space efficient.
npm#
The npm team decided to also adopt the symlinked node-modules directory structure that pnpm uses (related RFC).
Другие#
Оба Bun, написанный на Zig, и Volt, написанный на Rust, говорять что они быстрее чем npm/Yarn/pnpm. Я еще не замерял производительность этих пакетных менеджеров.
Планы на будущее#
Быстрее, лучше, лучший.