-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: add pnpm #11388
docs: add pnpm #11388
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://pnpm.js.org/docs/en/limitations.html
npm-shrinkwrap.json and package-lock.json are ignored. Unlike pnpm, npm can install the same name@version multiple times and with different sets of dependencies. npm's shrinkwrap file is designed to reflect the node_modules layout created by npm. pnpm cannot create a similar layout, so it cannot respect npm's lockfile format.
This is a serious issue. Anyone collaborating on a project with pnpm
would ignore lockfiles, install different dependencies, may discover bugs specific to its even environment and introduce bugs to the project because of that.
As every npm package is already installable by pnpm
(like yarn), adding the pnpm
installation command would only be promotion and I don't think we should promote it because of its limitations.
What do you think ?
In general pnpm takes a totally different approach than npm and yarn (symlinked dependencies) and does many things better. @zkochan how do you see this? |
I maintain pnpm for 2 years and there was not a single issue caused by If you want everyone to have the same environment, you should probably suggest doing the installation with a specific version of a specific package manager. There is a bigger chance to catch an issue with pnpm then to introduce bugs. pnpm's strict (non-flat) node_modules doesn't allow code to require packages that are not declared in If you prefer to not include pnpm because you feel like it is not popular enough. That's OK. But I don't want anyone to think/claim that pnpm is not reliable. It is heavily used by some big clients for months already |
Hi @zkochan We do not have the same issue with Yarn as it is now quite popular and provide a I took at better look at your documentation and seen that you have your own lockfile However, I don't find any way to do that. Unlike Doing the installation with pnpm first then generating the npm/yarn lockfiles from it is not a reliable solution neither as our contributors may not want to use Would you know how we could continue to support and update both npm, yarn and pnpm lockfiles ? What do you think ? |
I created an issue in the pnpm repo to implement ref pnpm/pnpm#1266 |
pnpm now has a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
Thank you @DanielRuf and @zkochan!
Description
Adds pnpm install command. pnpm is "performant npm".
Motivation and Context
Screenshots (if appropriate):
Types of changes
functionality to change)
Checklist (all required):
develop
ordevelop-v...
).