blog/2022-12-30-yearly-update.md
It is the end of the year. A really hard year. As you may know, I live in Ukraine, so due to Russia's war against us, it was harder to lead this project than in previous years. Nevertheless, it was a good year for pnpm. We've got a lot of new users, contributors, and we have implemented many great features.
(the above illustration was generated by Midjourney. The tiger symolizes the year of the tiger)
<!--truncate-->My goal this year was to beat Lerna by the number of downloads. We were able to achieve this goal in August:
pnpm was downloaded more than 5 times more in 2022 than in 2021:
We collect some unpersonalized stats from our docs using Google Analytics. In 2022, sometimes we had more than 20,000 unique visitors a week. This is 10 times more than in 2021!
Our main GitHub repository received almost +7,000 stars this year.
We had a lot of new and active contributors this year. These are the people the merge at least one PR in 2022:
node_modules (since v6.25.0)Right at the beginning of 2022, we have added support for the "traditional" hoisted (a.k.a flat node_modules). We use Yarn's hoisting algorithm to create a proper hoisted node_modules. This new setting has basically made pnpm compatible with all Node.js stack that are compatible with npm CLI.
To use the hoisted node_modules directory structure, use the node-linker=hoisted setting in an .npmrc file.
Since v7, side-effect-cache is enabled by default, so dependencies that should be built are only built once on a machine. This improves installation speed by a lot in projects that have dependencies with build scripts.
The pnpm patch command have been added for patching dependencies in your node_modules.
A new resolution mode was added to pnpm, which should make updating dependencies more secure. You can change the resolution mode with the resolution-mode setting.
You may now use the pnpm licenses list command to check the licenses of the installed packages.