Skip to content

chore: migrate from Yarn to pnpm#4842

Merged
zbeyens merged 14 commits intoudecode:mainfrom
electroluxcode:chore/pnpm
Feb 26, 2026
Merged

chore: migrate from Yarn to pnpm#4842
zbeyens merged 14 commits intoudecode:mainfrom
electroluxcode:chore/pnpm

Conversation

@electroluxcode
Copy link
Collaborator

@electroluxcode electroluxcode commented Feb 26, 2026

Summary

This PR migrates the Plate monorepo from Yarn to pnpm for improved compatibility and performance.

Key Changes

  • Package Manager Migration: Replaced Yarn 4.6.0 with pnpm 10.23.0
  • Configuration Files:
    • Removed .yarnrc.yml, .yarn/ directory, and yarn.lock
    • Added pnpm-workspace.yaml and pnpm-lock.yaml
    • Created .npmrc with node-linker=hoisted to resolve TypeScript declaration file issues
  • Scripts Updated: All yarn commands replaced with pnpm across:
    • Root and package-level package.json files
    • GitHub Actions workflows
    • Documentation and contributing guides
  • CI/CD Updates: Updated all GitHub workflows to use pnpm/action-setup@v4
  • Dependencies: Added missing peer dependencies (slate, scroll-into-view-if-needed)

Why pnpm?

  • Next.js Turbopack Compatibility: Better support for Next.js 15+ with Turbopack
  • Faster Installation: Improved package installation performance
  • Disk Space Efficiency: Content-addressable storage saves disk space
  • Stricter Dependency Resolution: Prevents phantom dependencies

Breaking Changes

None - the migration is transparent to package consumers.

Test Plan

  • Install dependencies: pnpm install
  • Build all packages: pnpm build
  • Run tests: pnpm test
  • Run lint: pnpm lint
  • Verify CI/CD workflows pass
  • Test local development workflow

Local verification: Lint, test, and build have been run locally and all pass.

Migration Notes

Known issue (to be fixed in a follow-up PR): The project's test setup has a circular dependency that was previously hidden by Yarn's phantom dependencies. With pnpm's stricter dependency resolution, this may surface. A separate PR will address this.

@electroluxcode electroluxcode requested a review from a team February 26, 2026 05:00
@codesandbox
Copy link

codesandbox bot commented Feb 26, 2026

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

@changeset-bot
Copy link

changeset-bot bot commented Feb 26, 2026

⚠️ No Changeset found

Latest commit: 2bd0f49

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel
Copy link

vercel bot commented Feb 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
plate Ignored Ignored Feb 26, 2026 6:27am

Request Review

@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. dependencies Pull requests that update a dependency file labels Feb 26, 2026
@electroluxcode electroluxcode marked this pull request as draft February 26, 2026 05:01
@electroluxcode electroluxcode changed the title chore: migrate from Yarn to pnpm [draft]chore: migrate from Yarn to pnpm Feb 26, 2026
@zbeyens
Copy link
Member

zbeyens commented Feb 26, 2026

Awesome, let me know when it's ready

@electroluxcode electroluxcode marked this pull request as ready for review February 26, 2026 05:52
@electroluxcode electroluxcode changed the title [draft]chore: migrate from Yarn to pnpm chore: migrate from Yarn to pnpm Feb 26, 2026
@dosubot dosubot bot added the build label Feb 26, 2026
@zbeyens
Copy link
Member

zbeyens commented Feb 26, 2026

@electroluxcode could you give me the new value for those fields?

2026-02-26 at 07 09 48@2x

@electroluxcode
Copy link
Collaborator Author

@zbeyens

I tried it on Vercel, mainly using the default configuration for Next deployment, except that I changed the deployment directory to app/www. deployment address is at https://plate-www-sepia.vercel.app/

image

@zbeyens
Copy link
Member

zbeyens commented Feb 26, 2026

Awesome. Reach out if you have interest into being a co-maintainer / have initiatives going forward.

@zbeyens zbeyens merged commit df365e4 into udecode:main Feb 26, 2026
3 checks passed
@zbeyens
Copy link
Member

zbeyens commented Feb 26, 2026

All good. We could even go back to the default build settings without memory overflow. Thanks again!

2026-02-26 at 08 48 17@2x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build dependencies Pull requests that update a dependency file size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants