Skip to content

chore: move all dependencies into pnpm catalog#9153

Open
sriramveeraghanta wants to merge 1 commit into
previewfrom
chore/pnpm-catalog-migration
Open

chore: move all dependencies into pnpm catalog#9153
sriramveeraghanta wants to merge 1 commit into
previewfrom
chore/pnpm-catalog-migration

Conversation

@sriramveeraghanta
Copy link
Copy Markdown
Member

@sriramveeraghanta sriramveeraghanta commented May 27, 2026

Description

Centralizes every external npm dependency version in the pnpm catalog (pnpm-workspace.yaml) and references them via the catalog: protocol across all apps and packages. This makes version bumps a single-file change and guarantees one version per dependency across the monorepo.

  • Catalog expanded from ~33 to 188 entries, covering every external package used anywhere.
  • 206 dependency entries across 15 package.json files converted to catalog: (dependencies + devDependencies). Internal workspace:* links were left untouched.
  • For the 11 packages that previously used differing versions across the monorepo, each was unified to the highest. Most are minor/patch bumps; the one notable major bump is @react-pdf/renderer ^3.4.5 → ^4.3.0 in apps/web.
  • pnpm-lock.yaml regenerated.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Improvement (change that would cause existing functionality to not work as expected)
  • Code refactoring
  • Performance improvements
  • Documentation update

Screenshots and Media (if applicable)

Test Scenarios

  • pnpm install resolves all 188 catalog references with no errors.
  • pnpm build (turbo) passes across all 16 buildable workspaces.
  • Smoke-test PDF export in apps/web due to the @react-pdf/renderer v3 → v4 major bump.

References

N/A

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated package dependency version references across the monorepo to use a centralized version catalog system, streamlining dependency management across multiple applications and packages.

Review Change Stack

Centralize every external dependency version in the pnpm catalog
(pnpm-workspace.yaml) and reference them via `catalog:` across all
apps and packages. Packages that previously used differing versions
were unified to the highest (notably @react-pdf/renderer ^3.4.5 ->
^4.3.0 in apps/web).
Copilot AI review requested due to automatic review settings May 27, 2026 13:36
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 27, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: cd69d7db-4708-4e43-965a-664e02d0f121

📥 Commits

Reviewing files that changed from the base of the PR and between 0acb32e and 42798bb.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (16)
  • apps/admin/package.json
  • apps/live/package.json
  • apps/space/package.json
  • apps/web/package.json
  • package.json
  • packages/codemods/package.json
  • packages/decorators/package.json
  • packages/editor/package.json
  • packages/logger/package.json
  • packages/propel/package.json
  • packages/services/package.json
  • packages/shared-state/package.json
  • packages/tailwind-config/package.json
  • packages/ui/package.json
  • packages/utils/package.json
  • pnpm-workspace.yaml

📝 Walkthrough

Walkthrough

This PR centralizes dependency version management across the monorepo by defining a comprehensive catalog: in pnpm-workspace.yaml and updating all package.json files to reference catalog versions instead of explicit semver pins, reducing duplication and improving consistency.

Changes

Dependency Catalog Migration

Layer / File(s) Summary
Catalog definition in workspace configuration
pnpm-workspace.yaml
The catalog section expands from a minimal subset to a comprehensive set of package version mappings covering UI libraries, React ecosystem, tooling, runtime dependencies, and type packages.
Root package.json and build tools
package.json
Root devDependencies for monorepo build and development tools (husky, lint-staged, oxfmt, oxlint, turbo) are updated to reference catalog versions instead of explicit pins.
Application package.json files
apps/admin/package.json, apps/live/package.json, apps/space/package.json, apps/web/package.json
All application-level packages have their runtime and development dependencies converted to use catalog: version resolution, covering UI components, framework libraries, and development tooling.
Internal library and utility packages
packages/codemods/package.json, packages/decorators/package.json, packages/editor/package.json, packages/logger/package.json, packages/propel/package.json, packages/services/package.json, packages/shared-state/package.json, packages/tailwind-config/package.json, packages/ui/package.json, packages/utils/package.json
All internal packages have dependencies and devDependencies updated to use catalog: version sourcing, maintaining workspace dependency references where appropriate.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • makeplane/plane#9147: Both PRs modify the shared pnpm-workspace.yaml catalog configuration with catalog entry adjustments for consistent version sourcing.
  • makeplane/plane#7611: Both PRs update pnpm-workspace.yaml's shared catalog and migrate package.json dependencies to catalog:-sourced versions across the monorepo.

Suggested labels

ready to merge

Suggested reviewers

  • Palanikannan1437
  • dheeru0198

Poem

🐇 A catalog of harmony,
No version scattered wild and free,
One source of truth for all to share,
Dependencies with utmost care,
The monorepo stands in peace! 📦✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: moving all dependencies into the pnpm catalog for centralized version management.
Description check ✅ Passed The description covers all required template sections with comprehensive details about the refactoring, including specific metrics (188 entries, 206 conversions) and a notable version bump.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/pnpm-catalog-migration

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Centralizes npm dependency version management for the monorepo by moving external dependency specifiers into the pnpm catalog in pnpm-workspace.yaml and switching workspace package.json files to reference those versions via the catalog: protocol. This is intended to make version bumps a single-file change and reduce version drift across workspaces.

Changes:

  • Expanded pnpm-workspace.yaml catalog: to cover all external dependencies and unified previously divergent versions (including @react-pdf/renderer v3 → v4 for apps/web).
  • Converted dependencies/devDependencies across workspaces from pinned/ranged versions to catalog: references.
  • Regenerated pnpm-lock.yaml to reflect the new catalog-driven dependency graph.

Reviewed changes

Copilot reviewed 16 out of 17 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pnpm-workspace.yaml Adds a comprehensive catalog: mapping for external deps and keeps existing overrides.
pnpm-lock.yaml Regenerated lockfile to align with catalog usage and updated resolved versions.
package.json Switches root devDependencies to catalog: references.
apps/admin/package.json Converts app dependency specs to catalog:.
apps/live/package.json Converts server dependency specs to catalog: (including runtime deps like express/sharp/ws).
apps/space/package.json Converts app dependency specs to catalog:.
apps/web/package.json Converts app dependency specs to catalog: and bumps @react-pdf/renderer to v4 via catalog.
packages/codemods/package.json Converts devDependencies to catalog:.
packages/decorators/package.json Converts devDependencies to catalog:.
packages/editor/package.json Converts dependencies/devDependencies (including postcss) to catalog:.
packages/logger/package.json Converts dependencies and @types/express to catalog:.
packages/propel/package.json Converts dependencies/devDependencies to catalog:.
packages/services/package.json Converts file-type to catalog:.
packages/shared-state/package.json Converts zod to catalog:.
packages/tailwind-config/package.json Converts postcss/tailwind deps to catalog:.
packages/ui/package.json Converts UI and Storybook dependencies to catalog:.
packages/utils/package.json Converts utility/library dependencies and type deps to catalog:.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

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

Successfully merging this pull request may close these issues.

3 participants