Skip to content

refactor: reorganize pnpm catalogs for better scoping#481

Merged
luxass merged 4 commits intomainfrom
refactor/reorganize-pnpm-catalogs
Feb 4, 2026
Merged

refactor: reorganize pnpm catalogs for better scoping#481
luxass merged 4 commits intomainfrom
refactor/reorganize-pnpm-catalogs

Conversation

@luxass
Copy link
Member

@luxass luxass commented Feb 4, 2026

Summary

This PR reorganizes the pnpm workspace catalogs to have dependencies more closely scoped to the packages/apps that use them.

Changes

Catalog Renames

  • lintlinting
  • testtesting
  • workersapi
  • devbuild (for build tooling)

Consolidated Catalogs

  • prod - All production dependencies including CLI tools and AI/schema generation deps
  • build - Build tooling (tsdown, typescript, publint, tsx, rolldown, openapi-typescript, nanotar)

Scoped Catalogs

  • monorepo - Turbo and release scripts
  • api - Cloudflare Workers stack (wrangler, hono, @scalar/hono-api-reference, @sentry/cloudflare)
  • web - Web app dependencies (React, TanStack, Tailwind, Vite, etc.)
  • docs - Documentation site (fumadocs)
  • vscode - VS Code extension (reactive-vscode, vscode-ext-gen, @vscode/vsce)
  • types - Type definitions (@types/*)

Migration

All package.json files have been updated to reference the new catalog names:

  • catalog:lintcatalog:linting
  • catalog:testcatalog:testing
  • catalog:workerscatalog:api
  • catalog:devcatalog:build

Files Changed

  • pnpm-workspace.yaml - Updated catalog definitions
  • All package.json files - Updated catalog references

Closes #480

Summary by CodeRabbit

  • Chores
    • Reorganized dependency/catalog grouping (dev → build, workers → api) across the repo.
    • Moved various build/dev tooling entries to the build/catalog and API/catalog groups for consistent build resolution.
    • Minor script cleanup and target remapping to align with the updated build pipeline.

- Rename 'lint' → 'linting'
- Rename 'test' → 'testing'
- Rename 'workers' → 'api'
- Rename 'dev' → 'build' for build tooling
- Consolidate all production deps into 'prod' catalog
- Remove 'dev' catalog in favor of 'build'

Closes #480
Copilot AI review requested due to automatic review settings February 4, 2026 18:38
@changeset-bot
Copy link

changeset-bot bot commented Feb 4, 2026

⚠️ No Changeset found

Latest commit: bdd1b8e

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.

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

@github-actions github-actions bot added pkg: cli Changes related to the CLI package. pkg: schema-gen Changes related to the Schema Gen package. pkg: ucd-store Changes related to the UCD Store package. pkg: utils Changes related to the Utils package. apps: api Changes related to the API. pkg: env Changes related to the Env package. apps: web Changes related to the Website. pkg: schemas Changes related to the FS Bridge package. pkg: fs-bridge Changes related to the FS Bridge package. pkg: shared Changes related to the Shared package. pkg: path-utils Changes related to the Path Utils package. pkg: test-utils Changes related to the test-utils package. pkg: lockfile Changes related to the Lockfile package. labels Feb 4, 2026
@luxass luxass enabled auto-merge February 4, 2026 18:38
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 4, 2026

Warning

Rate limit exceeded

@luxass has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 12 minutes and 24 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📝 Walkthrough

Walkthrough

Reorganizes pnpm workspace catalogs: renames devbuild and workersapi, and updates package.json entries across apps, packages, and tooling to reference the new catalog targets for build and API-related dependencies.

Changes

Cohort / File(s) Summary
Workspace Catalog Definition
pnpm-workspace.yaml
Renamed catalog groups devbuild, workersapi; updated overrides to point rolldown, wrangler, nanotar, tsdown, typescript, publint, etc., to the new catalog targets.
Apps
apps/api/package.json, apps/docs/package.json, apps/web/package.json
Repointed dev/build tooling: typescript catalog:devcatalog:build, wrangler catalog:workerscatalog:api. apps/api also moved hono-related, sentry, and API helper deps from catalog:workerscatalog:api, and moved nanotar, tsx to build catalog where applicable.
Monorepo CLI & Scripts
packages/ucdjs-scripts/package.json, package.json
Updated wrangler and nanotar catalog targets and moved typescript/tsdown/related tooling from catalog:devcatalog:build.
Core Packages (bulk)
packages/{cli,client,env,fs-bridge,lockfile,path-utils,schema-gen,schemas,shared,shared-ui,test-utils,ucd-store,utils}/*package.json
Mass update of devDependencies: move build tooling (publint, tsdown, tsx, openapi-typescript, rolldown, typescript, etc.) from catalog:devcatalog:build. Minor script removal in packages/shared-ui (removed tailwindcss script).
Tooling & Extensions
tooling/{eslint-plugin,tsconfig,tsdown-config}/package.json, vscode/package.json
Updated devDependency mappings for typescript and tsdown from catalog:devcatalog:build for consistent build-tool scoping.
Packages: API-specific deps
apps/api/package.json (callout)
Moved @hono/zod-openapi, @scalar/hono-api-reference, @sentry/cloudflare, and hono from catalog:workerscatalog:api; relocated several tooling entries to build catalog.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 I hopped through catalogs wide and small,

Dev became Build and Workers answered Api's call.
Packages aligned in tidy rows,
A rustle of manifests, and off I go! 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: reorganizing pnpm catalogs for improved scoping across the monorepo.
Linked Issues check ✅ Passed The PR successfully implements all objectives from issue #480: renames catalogs (lint→linting, test→testing, workers→api, dev→build), updates all package.json files, and reorganizes pnpm-workspace.yaml.
Out of Scope Changes check ✅ Passed All changes align with the catalog reorganization scope. The only tangential change is adding @luxass/utils to apps/api dependencies, which relates to the prod catalog consolidation objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch refactor/reorganize-pnpm-catalogs

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.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 4, 2026

🌏 Preview Deployments

Application Status Preview URL
API ⏭️ Skipped N/A
Website ⏭️ Skipped N/A
Documentation ⏭️ Skipped N/A

Built from commit: bdd1b8e6a20fef502f00cb2df61219b2a9b885d4


🤖 This comment will be updated automatically when you push new commits to this PR.

Copy link
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

This PR reorganizes pnpm workspace catalogs to improve dependency scoping and maintainability by renaming catalogs to be more descriptive and consolidating build tooling dependencies.

Changes:

  • Renamed catalogs: lintlinting, testtesting, workersapi, devbuild
  • Updated catalog references in pnpm-workspace.yaml and all package.json files across the monorepo
  • Updated pnpm-lock.yaml to reflect the catalog reorganization

Reviewed changes

Copilot reviewed 23 out of 24 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pnpm-workspace.yaml Renamed catalogs dev to build and workers to api, updated overrides to use new catalog names
pnpm-lock.yaml Updated catalog definitions and package references to reflect renamed catalogs
package.json (root) Updated typescript reference from catalog:dev to catalog:build
apps/api/package.json Updated all catalog references from old names to new names (workers→api, dev→build)
apps/docs/package.json Updated typescript and wrangler references to use new catalog names
apps/web/package.json Updated typescript and wrangler references to use new catalog names
packages/*/package.json Updated build tool references from catalog:dev to catalog:build across all packages
tooling/*/package.json Updated typescript and build tool references to catalog:build
vscode/package.json Updated tsdown and typescript references to catalog:build
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (1)

pnpm-lock.yaml:286

  • The overrides section in pnpm-lock.yaml needs to be regenerated to match the updated pnpm-workspace.yaml. The workspace file specifies rolldown: catalog:build and wrangler: catalog:api, but the lockfile still has the old direct versions rolldown: 1.0.0-rc.2 and wrangler: 4.61.1. This inconsistency will cause issues during dependency installation. Run pnpm install to regenerate the lockfile with the correct override values.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link

codecov bot commented Feb 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@luxass luxass merged commit 96aef42 into main Feb 4, 2026
30 checks passed
@luxass luxass deleted the refactor/reorganize-pnpm-catalogs branch February 4, 2026 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

apps: api Changes related to the API. apps: web Changes related to the Website. pkg: cli Changes related to the CLI package. pkg: env Changes related to the Env package. pkg: fs-bridge Changes related to the FS Bridge package. pkg: lockfile Changes related to the Lockfile package. pkg: path-utils Changes related to the Path Utils package. pkg: schema-gen Changes related to the Schema Gen package. pkg: schemas Changes related to the FS Bridge package. pkg: shared Changes related to the Shared package. pkg: test-utils Changes related to the test-utils package. pkg: ucd-store Changes related to the UCD Store package. pkg: utils Changes related to the Utils package.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor: reorganize pnpm catalogs for better scoping

1 participant