Replies: 11 comments 5 replies
-
Hey @hdodov — I just spoke with the team about this and I think that we will need to be very deliberate about which package manager we decide to adopt. But as this is not an issue, per se, I have converted it to a Discussion and tagged it as Roadmap Priority 2. That way we can be more judicious / explicit about our choice - whether it be a newer version of What would your vote be? |
Beta Was this translation helpful? Give feedback.
-
I think that the general consensus is that pnpm is the best package manager if you're going to do anything monorepo-related. Being able to easily support monorepos out of the box is a big win for anyone using Payload Cloud who wants to deploy their frontend on something like Vercel and Payload on Payload Cloud. Undoubtedly, in doing that, you're going to run into some shared dependencies (like react being required by both projects), but want to manage the versions of those dependencies separately. pnpm is really good about letting you specify different versions of packages for different projects within the same monorepo. |
Beta Was this translation helpful? Give feedback.
-
+1 for pnpm |
Beta Was this translation helpful? Give feedback.
-
+1 for pnpm! |
Beta Was this translation helpful? Give feedback.
-
+1 for pnpm My usecase: one app in my monorepo required node18, but payload cloud does not support node18. |
Beta Was this translation helpful? Give feedback.
-
+1 for pnpm |
Beta Was this translation helpful? Give feedback.
-
Edit: oh, ha, this move already happened (Aug 22nd)! #3128 -- maybe this discussion should be closed? https://docs.github.com/en/discussions/managing-discussions-for-your-community/managing-discussions#closing-a-discussion Some Vue: vuejs/core#4766
Browserlist: browserslist/browserslist@6d0c552 Also using SvelteKit: https://github.com/sveltejs/kit Yarn 4 was released about 3 weeks ago, huzzah! I haven't had a chance to play with it, or find out how others are getting on with it. This was an interesting skim: https://news.ycombinator.com/item?id=37985779 Note: above is largely copied from microsoft/vscode#162803, with the follow updates:
|
Beta Was this translation helpful? Give feedback.
-
The Payload repo moved to a pnpm monorepo for the 2.0 release. |
Beta Was this translation helpful? Give feedback.
-
+1 for pnpm |
Beta Was this translation helpful? Give feedback.
-
@jmikrut now that Payload is Next.js-native in version 3, it makes sense to me to use npm. That's what Next uses and pushes in its documentation (all examples use It'd be great if a Payload project was just another Next.js project. That's currently not the case. The entanglement with pnpm introduces quite a lot of friction, especially when you throw Docker in the mix. If Next was primarly pnpm-oriented — great — but it's not. Since Payload is built on top of the Next platform, it makes sense to use whatever the platform works best with, no? |
Beta Was this translation helpful? Give feedback.
-
I feel payload should be package manager agnostic or could support more package managers. As I use bun as a package manager it has very positive impact on my build times. Using pnpm is much slower than bun at build time. |
Beta Was this translation helpful? Give feedback.
-
Link to reproduction
https://github.com/hdodov/payload/tree/yarn-version
To Reproduce
Clone the Payload repo
Run
yarn
with Yarn 3.5.0You'll get this warning:
And you'll also get a new
.yarnrc.yml
file, among other things. Check hdodov@fcf5588.Describe the Bug
The project seems to be based on an outdated Yarn version. I get the aforementioned warning using either Yarn 3 or 4. That's an issue because it makes it harder to set up a reproduction branch for a bug. If I want to merge my branch with the upstream Payload branch, I'd get conflicts, because the upstream branch uses an old lock file.
Payload Version
1.7.0
Beta Was this translation helpful? Give feedback.
All reactions