Summary
This issue proposes migrating the project from Yarn to pnpm as the package manager.
🤔 Why pnpm?
pnpm offers several advantages over Yarn:
- ⚡ Faster install times due to content-addressable storage
- 💾 Disk space efficiency (shared dependencies)
- 🔒 Strict dependency resolution (prevents phantom dependencies)
- 🧠 Better monorepo support (if needed in the future)
🧪 Current State
The project currently uses Yarn (yarn.lock present).
🎯 Proposed Changes
-
Remove Yarn-related files:
-
Install pnpm:
-
Generate lockfile:
-
Update scripts (if needed):
Replace yarn commands with pnpm equivalents:
yarn dev → pnpm dev
yarn build → pnpm build
- etc.
-
Add .npmrc (optional but recommended):
strict-peer-dependencies=false
-
Update documentation:
- README instructions to use pnpm instead of Yarn
⚠️ Considerations
- Ensure CI/CD pipelines support pnpm
- Verify compatibility with all dependencies
- Confirm team alignment before switching
✅ Benefits
- Reduced install time for contributors
- Lower disk usage
- More predictable dependency management
🙌 Open to Discussion
Happy to help with the migration or submit a PR if this proposal is accepted.
Page
No response
Details
📖 Details
Migrating from Yarn to pnpm is not just a preference change — it brings tangible improvements in performance, consistency, and developer experience.
pnpm uses a content-addressable storage mechanism, which means dependencies are stored once and shared across projects. This significantly reduces disk usage and speeds up installation, especially for contributors who frequently clone or update the repository.
Another important advantage is strict dependency resolution. Unlike Yarn (especially v1), pnpm prevents access to undeclared dependencies, which helps avoid hidden bugs and improves long-term maintainability.
From a contributor’s perspective, pnpm typically results in:
- Faster
install times
- More predictable dependency trees
- Cleaner node_modules structure
For a documentation-focused project like this (fa.react.dev GitHub repo), where contributors may frequently install dependencies for local development, these improvements can meaningfully enhance the onboarding experience.
Additionally, pnpm is becoming widely adopted in modern JavaScript ecosystems and aligns well with current best practices.
The migration process is relatively straightforward and low-risk, as it mainly involves replacing the lockfile and updating package manager commands.
Overall, this change would modernize the tooling and improve the development workflow without affecting the core functionality of the project.
Summary
This issue proposes migrating the project from Yarn to pnpm as the package manager.
🤔 Why pnpm?
pnpm offers several advantages over Yarn:
🧪 Current State
The project currently uses Yarn (
yarn.lockpresent).🎯 Proposed Changes
Remove Yarn-related files:
yarn.lockInstall pnpm:
Generate lockfile:
Update scripts (if needed):
Replace
yarncommands withpnpmequivalents:yarn dev→pnpm devyarn build→pnpm buildAdd
.npmrc(optional but recommended):strict-peer-dependencies=falseUpdate documentation:
✅ Benefits
🙌 Open to Discussion
Happy to help with the migration or submit a PR if this proposal is accepted.
Page
No response
Details
📖 Details
Migrating from Yarn to pnpm is not just a preference change — it brings tangible improvements in performance, consistency, and developer experience.
pnpm uses a content-addressable storage mechanism, which means dependencies are stored once and shared across projects. This significantly reduces disk usage and speeds up installation, especially for contributors who frequently clone or update the repository.
Another important advantage is strict dependency resolution. Unlike Yarn (especially v1), pnpm prevents access to undeclared dependencies, which helps avoid hidden bugs and improves long-term maintainability.
From a contributor’s perspective, pnpm typically results in:
installtimesFor a documentation-focused project like this (fa.react.dev GitHub repo), where contributors may frequently install dependencies for local development, these improvements can meaningfully enhance the onboarding experience.
Additionally, pnpm is becoming widely adopted in modern JavaScript ecosystems and aligns well with current best practices.
The migration process is relatively straightforward and low-risk, as it mainly involves replacing the lockfile and updating package manager commands.
Overall, this change would modernize the tooling and improve the development workflow without affecting the core functionality of the project.