[WEB-4837] feat: adding more packages to catalog#7693
[WEB-4837] feat: adding more packages to catalog#7693sriramveeraghanta merged 4 commits intopreviewfrom
Conversation
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughManifest updates across apps and packages replace explicit version pins with pnpm’s Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
✨ Finishing Touches🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Pull Request Overview
This PR adds commonly used packages to the pnpm workspace catalog to centralize version management across the monorepo. By moving packages like axios, lodash, mobx, and others to the catalog, version consistency is enforced across all packages and applications.
- Added 12 new packages to the pnpm workspace catalog with specific versions
- Updated all package.json files to use catalog references instead of individual version specifications
- Standardized dependency versions across the entire monorepo
Reviewed Changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| pnpm-workspace.yaml | Added 12 new packages to the catalog including axios, mobx, lodash, lucide-react, next, sharp, swr, and uuid |
| packages/utils/package.json | Updated lodash, lucide-react, uuid, and @types/lodash to use catalog references |
| packages/ui/package.json | Updated lodash, lucide-react, and @types/lodash to use catalog references |
| packages/shared-state/package.json | Updated mobx to use catalog reference |
| packages/services/package.json | Updated axios to use catalog reference |
| packages/propel/package.json | Updated lucide-react to use catalog reference |
| packages/i18n/package.json | Updated mobx, mobx-react, lodash, and @types/lodash to use catalog references |
| packages/editor/package.json | Updated lucide-react and uuid to use catalog references |
| apps/web/package.json | Updated multiple dependencies (axios, lodash, lucide-react, mobx packages, next, sharp, swr, uuid, @types/lodash) to use catalog references |
| apps/space/package.json | Updated multiple dependencies (axios, lodash, lucide-react, mobx packages, next, sharp, swr, uuid, @types/lodash) to use catalog references |
| apps/live/package.json | Updated axios, lodash, and uuid to use catalog references |
| apps/admin/package.json | Updated multiple dependencies (axios, lodash, lucide-react, mobx, mobx-react, next, sharp, swr, uuid, @types/lodash) to use catalog references |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (5)
packages/shared-state/package.json (1)
18-18: Optional: Move zod to catalog for consistency.To centralize versions, consider switching zod to "catalog:" and adding it to the workspace catalog. Low effort, improves consistency across packages.
- "zod": "^3.22.2" + "zod": "catalog:"packages/propel/package.json (1)
40-42: Library best practice: make React peerDependencies (avoid duplicate React).As a component library, @plane/propel should declare react and react-dom as peerDependencies (and devDependencies for local dev) to prevent multiple React copies and hook errors. Keeping them in dependencies can cause duplication when consumed by apps.
Apply within this hunk:
"dependencies": { @@ - "lucide-react": "catalog:", - "react": "catalog:", - "react-dom": "catalog:", + "lucide-react": "catalog:",Then add peer deps (outside this hunk):
"dependencies": { "recharts": "^2.15.1", "tailwind-merge": "^3.3.1" }, + "peerDependencies": { + "react": "catalog:", + "react-dom": "catalog:" + }, "devDependencies": {apps/live/package.json (1)
31-31: All required catalog entries exist; add @types/uuid to catalog for consistencyThe workspace catalog already includes axios, lodash, uuid, tsup, and typescript. To prevent version drift, move the devDependency
@types/uuidinto the catalog and switch its entry inapps/live/package.jsontocatalog::# pnpm-workspace.yaml (under catalog:) - "@types/uuid": "^9.0.1", + "@types/uuid": "catalog:",# apps/live/package.json (devDependencies) - "@types/uuid": "^9.0.1", + "@types/uuid": "catalog:",packages/utils/package.json (1)
29-35: Unify typing dependency: move @types/uuid to catalog.For consistency with other deps now using catalog, consider catalog-pinning @types/uuid.
Apply after adding @types/uuid to the workspace catalog:
- "@types/uuid": "^9.0.8", + "@types/uuid": "catalog:",Also applies to: 39-45
pnpm-workspace.yaml (1)
26-28: onlyBuiltDependencies: sharp — good call. Consider CI cache/toolchain notes.If builds run on fresh runners, ensure prebuilds are available or toolchain (python3, make, gcc) is present. Optional: cache ~/.pnpm-store to speed up sharp installs.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (12)
apps/admin/package.json(1 hunks)apps/live/package.json(1 hunks)apps/space/package.json(1 hunks)apps/web/package.json(3 hunks)packages/editor/package.json(1 hunks)packages/i18n/package.json(1 hunks)packages/propel/package.json(1 hunks)packages/services/package.json(1 hunks)packages/shared-state/package.json(1 hunks)packages/ui/package.json(2 hunks)packages/utils/package.json(1 hunks)pnpm-workspace.yaml(1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: sriramveeraghanta
PR: makeplane/plane#7672
File: pnpm-workspace.yaml:8-9
Timestamp: 2025-08-29T08:45:15.953Z
Learning: The makeplane/plane repository uses pnpm v10.12.1, which supports onlyBuiltDependencies configuration in pnpm-workspace.yaml files.
📚 Learning: 2025-08-29T08:45:15.953Z
Learnt from: sriramveeraghanta
PR: makeplane/plane#7672
File: pnpm-workspace.yaml:8-9
Timestamp: 2025-08-29T08:45:15.953Z
Learning: The makeplane/plane repository uses pnpm v10.12.1, which supports onlyBuiltDependencies configuration in pnpm-workspace.yaml files.
Applied to files:
packages/services/package.jsonapps/live/package.jsonpackages/i18n/package.jsonapps/space/package.jsonapps/admin/package.jsonpnpm-workspace.yaml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Build and lint web apps
- GitHub Check: Analyze (javascript)
🔇 Additional comments (8)
packages/services/package.json (1)
20-20: Verify pnpm lockfile presence and axios entries
Lockfilepnpm-lock.yamlnot found; runpnpm installto regenerate it and ensure it includes theaxiosentries before merging.packages/editor/package.json (1)
73-73: Catalog entries verified
lucide-react@0.469.0 and uuid@10.0.0 are present in pnpm-workspace.yaml’s catalog and both publish ESM‐compatible builds—no further changes required.packages/i18n/package.json (1)
20-23: Catalog pins for MobX, MobX React, Lodash, and @types/lodash verified. All four are defined in pnpm-workspace.yaml (mobx@6.12.0, mobx-react@9.1.1, lodash@4.17.21, @types/lodash@4.17.20), and no package declares these as peerDependencies.apps/space/package.json (1)
33-56: pnpm-workspace.yaml catalogs and onlyBuiltDependencies verified: next/react/react-dom/swr/axios/lodash/lucide-react/mobx/mobx-react/mobx-utils/uuid are all pinned, and sharp is listed in onlyBuiltDependencies.apps/admin/package.json (1)
29-43: Align @types/uuid with catalog and verify Next/React pins
- Optional: switch
"@types/uuid"to"catalog:"for consistency.- Manually confirm that the catalog versions of
next,reactandreact-domare mutually compatible.apps/web/package.json (2)
36-50: Catalog migration looks good; centralizes versions workspace-wide.This aligns with the expanded catalog in pnpm-workspace.yaml and should dedupe installs. Given the repo runs pnpm v10.12.1 (per learnings), catalog: is supported.
Also applies to: 53-57, 64-69
69-69: Remove@types/uuidfromapps/web/package.jsonuuid@10 includes its own TypeScript definitions; no default imports or legacy subpath usage were found when scanning the codebase.
Apply:- "@types/uuid": "^8.3.4",pnpm-workspace.yaml (1)
2-5: Workspace globs verified; only intended workspaces are included. Confirmedapps/apiis excluded, there is noapps/proxy, and onlyapps/admin,apps/live,apps/space,apps/webplus allpackages/*are pulled in.
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (2)
package.json (1)
35-37: Nice: sharp override now follows the catalogThis addresses the prior note to replace the pinned sharp with the catalog alias.
pnpm-workspace.yaml (1)
1-29: Do a quick sweep for stragglers not using catalogEnsure no package.json still pins these catalog-managed deps to non-catalog versions.
#!/bin/bash # Search for non-catalog versions of catalog-managed libs pkgs='axios|lodash|lucide-react|mobx|mobx-react|mobx-utils|next|sharp|swr|uuid|react|react-dom|@types/lodash|@types/react|@types/react-dom|typescript' rg -nP --glob '!**/node_modules/**' --glob '*package.json' \ "\"($pkgs)\"\\s*:\\s*\"(?!catalog:)[^\"]+\"" -C1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
apps/space/package.json(1 hunks)package.json(1 hunks)packages/propel/package.json(1 hunks)packages/ui/package.json(2 hunks)pnpm-workspace.yaml(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- packages/ui/package.json
- apps/space/package.json
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-29T08:45:15.953Z
Learnt from: sriramveeraghanta
PR: makeplane/plane#7672
File: pnpm-workspace.yaml:8-9
Timestamp: 2025-08-29T08:45:15.953Z
Learning: The makeplane/plane repository uses pnpm v10.12.1, which supports onlyBuiltDependencies configuration in pnpm-workspace.yaml files.
Applied to files:
pnpm-workspace.yaml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Build and lint web apps
- GitHub Check: Analyze (javascript)
🔇 Additional comments (3)
packages/propel/package.json (1)
44-44: Switch to catalog for lucide-react looks goodThis aligns with the workspace catalog entry and keeps versions uniform.
package.json (1)
24-37: Verify catalog overrides applied in pnpm-lock.yaml
Open pnpm-lock.yaml and confirm that under “packages:” there are entries for/registry.npmjs.org/sharp/0.33.5and/registry.npmjs.org/typescript/5.8.3.pnpm-workspace.yaml (1)
7-17: Catalog entries and onlyBuiltDependencies update look consistentCentralizing versions for axios/mobx/lodash/lucide-react/next/sharp/swr/uuid (+ react/types) and building sharp at root is solid.
Also applies to: 24-24
| "lucide-react": "catalog:", | ||
| "react": "catalog:", | ||
| "react-dom": "catalog:", |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Make React a peerDependency to avoid duplicate React in consumers
Libraries should not ship React as a prod dependency. Duplicate React breaks hooks and context. Move react/react-dom to peerDependencies (and keep types in devDependencies).
"dependencies": {
@@
- "lucide-react": "catalog:",
- "react": "catalog:",
- "react-dom": "catalog:",
+ "lucide-react": "catalog:",
"recharts": "^2.15.1",
"tailwind-merge": "^3.3.1",
"use-font-face-observer": "^1.3.0"
},
+ "peerDependencies": {
+ "react": "catalog:",
+ "react-dom": "catalog:"
+ },
"devDependencies": {
@@
- "@types/react": "catalog:",
- "@types/react-dom": "catalog:",
+ "@types/react": "catalog:",
+ "@types/react-dom": "catalog:",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "lucide-react": "catalog:", | |
| "react": "catalog:", | |
| "react-dom": "catalog:", | |
| "dependencies": { | |
| "lucide-react": "catalog:", | |
| "recharts": "^2.15.1", | |
| "tailwind-merge": "^3.3.1", | |
| "use-font-face-observer": "^1.3.0" | |
| }, | |
| "peerDependencies": { | |
| "react": "catalog:", | |
| "react-dom": "catalog:" | |
| }, | |
| "devDependencies": { | |
| "@types/react": "catalog:", | |
| "@types/react-dom": "catalog:", | |
| // …other devDependencies… | |
| } |
🤖 Prompt for AI Agents
In packages/propel/package.json around lines 44-46, react and react-dom are
listed as production dependencies which can cause duplicate React in consuming
apps; remove the "react" and "react-dom" entries from dependencies and add them
to peerDependencies using the same version spec (i.e. "catalog:"), and keep or
add the corresponding type packages (e.g. @types/react, @types/react-dom) under
devDependencies so consumers provide React while types remain for local
development.
|
Pull Request Linked with Plane Work Items Comment Automatically Generated by Plane |
Description
Type of Change
Summary by CodeRabbit