Skip to content

chore: standardize catalog deps and chip package#210

Open
Yeom-JinHo wants to merge 3 commits intomainfrom
chore/package
Open

chore: standardize catalog deps and chip package#210
Yeom-JinHo wants to merge 3 commits intomainfrom
chore/package

Conversation

@Yeom-JinHo
Copy link
Copy Markdown
Member

@Yeom-JinHo Yeom-JinHo commented Apr 11, 2026

Changes

  • pnpm-workspace.yamlcatalog 항목을 확장해 공통 의존성 버전을 한 곳에서 관리하도록 정리했습니다.
  • packages/* 전반에서 직접 고정하던 의존성 버전을 catalog: 참조로 전환해 버전 관리 방식을 일관되게 맞췄습니다.
  • packages/chip 패키지명을 @side/chip에서 @sipe-team/chip으로 변경해 모노레포 네임스페이스 규칙에 맞췄습니다.
  • packages/chip/package.json의 주요 의존성과 개발 의존성을 모노레포 표준에 맞게 catalog:catalog:react 기반으로 정리했습니다.
  • packages/chip/tsup.config.ts가 루트 tsup.config.ts를 상속하도록 변경해 vanilla-extract 빌드 설정을 공통 설정과 동일하게 맞췄습니다.
  • 위 변경에 맞춰 pnpm-lock.yaml을 갱신했습니다.

Visuals

  • UI 변경 없음

Checklist

  • Have you written the functional specifications?
  • Have you written the test code?

Additional Discussion Points

  • 검증 완료:
    • pnpm test
    • pnpm --filter @sipe-team/chip build
    • pnpm --filter @sipe-team/chip test
    • pnpm --filter @sipe-team/chip typecheck
  • packages/chip 빌드 시 package.jsonexports.types 순서 관련 warning은 있었지만, 빌드 자체는 정상적으로 완료되었습니다.
  • 이번 PR은 의존성 관리 방식 통일과 패키지 설정 표준화가 목적이며, 사용자-facing 동작 변경은 없습니다.

Summary by CodeRabbit

  • Chores
    • Consolidated dependency management across packages using a centralized catalog system for consistent version control.
    • Updated the chip package identifier.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 11, 2026

⚠️ No Changeset found

Latest commit: 0000917

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

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 11, 2026

Walkthrough

This PR updates dependency version specifiers across 17 package.json files to use pnpm's catalog: resolver, centralizes dependency versions in pnpm-workspace.yaml, refactors packages/chip/tsup.config.ts to inherit from a shared default configuration, and updates the chip package name from @side/chip to @sipe-team/chip.

Changes

Cohort / File(s) Summary
Dependency Catalog Updates
packages/accordion/package.json, packages/avatar/package.json, packages/badge/package.json, packages/button/package.json, packages/card/package.json, packages/checkbox/package.json, packages/divider/package.json, packages/flex/package.json, packages/grid/package.json, packages/input/package.json, packages/radio/package.json, packages/skeleton/package.json, packages/switch/package.json, packages/theme/package.json, packages/tooltip/package.json, packages/typography/package.json
Replaced explicit semver ranges for dependencies (e.g., @radix-ui/react-slot, @vanilla-extract/recipes, clsx, testing libraries, @faker-js/faker) with catalog: references to centralize version management.
Chip Package Updates
packages/chip/package.json, packages/chip/tsup.config.ts
Updated package name from @side/chip to @sipe-team/chip, converted dependency versions to catalog: references, and refactored tsup configuration to import and spread a shared defaultConfig from the workspace root.
Workspace Catalog Configuration
pnpm-workspace.yaml
Added six new dependency entries to the workspace catalog (@faker-js/faker, @radix-ui/react-slot, @testing-library/dom, @vanilla-extract/dynamic, @vanilla-extract/recipes, clsx) to support the centralized version management across packages.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • froggy1014
  • kimdaeyeob
  • developerjhp
  • yeojini
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main changes: standardizing catalog dependencies across packages and updating the chip package name and configuration.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/package

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.

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 11, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/chip/tsup.config.ts`:
- Around line 6-7: The config currently spreads defaultConfig and replaces the
external array; instead merge arrays so shared externals aren't lost: read
defaultConfig.external (handle it possibly undefined), concat or spread it with
['react','@radix-ui/react-slot','clsx'], and deduplicate the resulting array
before assigning to external in the exported config (reference defaultConfig and
the external property in tsup.config.ts).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: bc92bb8b-d4e5-4340-82e5-87730c9b6a09

📥 Commits

Reviewing files that changed from the base of the PR and between 26549a1 and 0000917.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml, !**/pnpm-lock.yaml
📒 Files selected for processing (19)
  • packages/accordion/package.json
  • packages/avatar/package.json
  • packages/badge/package.json
  • packages/button/package.json
  • packages/card/package.json
  • packages/checkbox/package.json
  • packages/chip/package.json
  • packages/chip/tsup.config.ts
  • packages/divider/package.json
  • packages/flex/package.json
  • packages/grid/package.json
  • packages/input/package.json
  • packages/radio/package.json
  • packages/skeleton/package.json
  • packages/switch/package.json
  • packages/theme/package.json
  • packages/tooltip/package.json
  • packages/typography/package.json
  • pnpm-workspace.yaml

Comment on lines +6 to 7
...defaultConfig,
external: ['react', '@radix-ui/react-slot', 'clsx'],
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Root tsup config =="
sed -n '1,220p' tsup.config.ts

echo
echo "== Chip tsup config =="
sed -n '1,220p' packages/chip/tsup.config.ts

echo
echo "== external declarations =="
rg -n --type=ts -C2 '\bexternal\s*:' tsup.config.ts packages/chip/tsup.config.ts

Repository: sipe-team/side

Length of output: 831


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== All tsup.config.ts files in packages/* =="
fd 'tsup.config.ts' packages/

echo
echo "== External declarations in all package configs =="
fd 'tsup.config.ts' packages/ -x rg -l 'external' {}

echo
echo "== Show external patterns in all package configs =="
fd 'tsup.config.ts' packages/ -x sh -c 'echo "=== {} ==="; rg -A3 -B1 "external" {} || echo "(no external property)"'

Repository: sipe-team/side

Length of output: 875


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Chip package.json (dependencies section) =="
jq '.dependencies, .peerDependencies, .devDependencies' packages/chip/package.json

echo
echo "== Sample other package configs (button, avatar) =="
echo "--- button/tsup.config.ts ---"
cat packages/button/tsup.config.ts

echo
echo "--- avatar/tsup.config.ts ---"
cat packages/avatar/tsup.config.ts

echo
echo "== Verify if any package defines peerDependencies for react =="
fd 'package.json' packages/ -x jq -r 'select(.peerDependencies.react != null) | input_filename' 2>/dev/null | head -5

Repository: sipe-team/side

Length of output: 1048


Merge external array instead of replacing it for consistent configuration handling.

The packages/chip/tsup.config.ts spreads defaultConfig then overwrites external. While currently working (the root config has no external property), this pattern will break maintainability if the root config evolves to define shared externals. The spread operator won't merge arrays—it will replace them entirely.

Suggested refactor
 export default defineConfig({
   ...defaultConfig,
-  external: ['react', '@radix-ui/react-slot', 'clsx'],
+  external: [
+    ...((defaultConfig as { external?: string[] }).external ?? []),
+    'react',
+    '@radix-ui/react-slot',
+    'clsx',
+  ],
 });
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/chip/tsup.config.ts` around lines 6 - 7, The config currently
spreads defaultConfig and replaces the external array; instead merge arrays so
shared externals aren't lost: read defaultConfig.external (handle it possibly
undefined), concat or spread it with ['react','@radix-ui/react-slot','clsx'],
and deduplicate the resulting array before assigning to external in the exported
config (reference defaultConfig and the external property in tsup.config.ts).

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.

1 participant