Skip to content
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

Move to pnpm or Yarn >=3 #226

Open
mrienstra opened this issue Nov 15, 2023 · 0 comments
Open

Move to pnpm or Yarn >=3 #226

mrienstra opened this issue Nov 15, 2023 · 0 comments

Comments

@mrienstra
Copy link

mrienstra commented Nov 15, 2023

This repo appears to be using Yarn v1, which hasn't received any significant attention since 2020 -- although funnily enough, v1.22.21 was released roughly 4 hours ago!

As the Yarn 1 repo says:

ℹ️ Important note
This repository holds the sources for Yarn 1.x (latest version at the time of this writing being 1.22). New releases (at this time the 3.2.3, although we're currently working on our next major) are tracked on the yarnpkg/berry repository, this one here being mostly kept for historical purposes and the occasional hotfix we publish to make the migration from 1.x to later releases easier.

If you hit bugs or issues with Yarn 1.x, we strongly suggest you migrate to the latest release - at this point they have been maintained longer than 1.x, and many classes of problems have already been addressed there. By using the nodeLinker setting you'll also have the choice of how you want to install your packages: node_modules like npm, symlinks like pnpm, or manifest files via Yarn PnP.

Yarn timeline (partial):

January 2019: Work on Yarn 2 began
January 2020: Yarn 2 released
February 2020: Yarn v1.22.0 released
July 2021: Yarn 3 released
October 2023: Yarn 4 released

pnpm

pnpm seems to be very popular nowadays, a lot of high-profile open source projects are using it.

Here are some yarn --> pnpm migration PRs:

Vue: vuejs/core#4766
Next.js: vercel/next.js#37259
Vite: vitejs/vite#5060
Pinia: vuejs/pinia#1179
Cycle.js: cyclejs/cyclejs#821
Verdaccio: verdaccio/verdaccio#1884
Element Plus: element-plus/element-plus#3571
Agora Flat: netless-io/flat#1442
Payload: payloadcms/payload#3128

yarn --> pnpm migration commits (couldn't locate PRs):

Browserlist: browserslist/browserslist@6d0c552
PostCSS: postcss/postcss@ec80417

Also using pnpm:

SvelteKit: https://github.com/sveltejs/kit
Prisma: https://github.com/prisma/prisma
Nhost: https://github.com/nhost/nhost
IPX: https://github.com/unjs/ipx

Yarn 4

As briefly mentioned above, 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: everything above is largely copied from microsoft/vscode#162803. I did not attempt to find new migration PRs (edit: added Payload PR), or new "high-profile open source projects" using pnpm, however I did:

  1. Quickly verify that all of the repos listed above as using pnpm are still doing so (superficial check: they all still have ./pnpm-lock.yaml files)
  2. Updated the Yarn 4 section
  3. Added IPX to the "Also using pnpm" list
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant