Skip to content

Conversation

@hamo-o
Copy link
Contributor

@hamo-o hamo-o commented Jun 7, 2025

#️⃣ 연관된 이슈>

📝 작업 내용> 이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)`

Changeset 세팅합니다.

🙏 여기는 꼭 봐주세요! > 리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

패키지 업데이트 시 아래 사항대로 진행하시면 됩니다.

  1. pnpm changeset 명령어 입력 후, 업데이트할 패키지 선택 및 시멘틱 버저닝
  2. md파일 생성, PR 작성
  3. PR main 브랜치로의 머지 시 버전업을 위한 PR 자동 생성
  4. 생성된 PR 머지 시 버전 업데이트 완료됨

Summary by CodeRabbit

  • New Features

    • Introduced automated versioning and publishing workflow for packages.
    • Added configuration and documentation for managing package versions using Changesets.
  • Chores

    • Updated package names for client and server applications.
    • Added development dependencies for Changesets tooling.
    • Adjusted dependency references to use workspace protocol.
    • Downgraded package versions for several packages to 1.0.0.
    • Enforced strict package installation with frozen lockfile in deployment workflows.

@hamo-o hamo-o requested a review from dioo1461 as a code owner June 7, 2025 03:05
@coderabbitai
Copy link

coderabbitai bot commented Jun 7, 2025

Walkthrough

This update introduces Changesets tooling for version management and publishing in the frontend workspace. It adds configuration, documentation, and a workflow for automated versioning and publishing. Several package names are updated, and package versions are reset to 1.0.0 with internal dependencies shifted to workspace protocol references. The frontend CI workflow is updated to enforce frozen lockfile installs.

Changes

File(s) Change Summary
.github/workflows/changesets.yml Added a GitHub Actions workflow for automated Changesets versioning and publishing.
frontend/.changeset/README.md
frontend/.changeset/config.json
frontend/.changeset/cyan-colts-rule.md
Added Changesets documentation, configuration, and a major version changeset for several packages.
frontend/apps/client/package.json
frontend/apps/server/package.json
Updated package names to the "@endolphin" scope.
frontend/package.json Added Changesets dependencies to devDependencies; reordered one dependency.
frontend/packages/calendar/package.json
frontend/packages/core/package.json
frontend/packages/date-time/package.json
frontend/packages/theme/package.json
frontend/packages/ui/package.json
Reset package versions to 1.0.0 and shifted internal dependencies to workspace protocol references where needed.
.github/workflows/fe-cd.yml Added --frozen-lockfile flag to pnpm install commands in frontend CI/CD workflow.

Sequence Diagram(s)

sequenceDiagram
    actor Developer
    participant GitHub
    participant GitHub Actions
    participant Changesets
    participant npm Registry

    Developer->>GitHub: Push to main
    GitHub->>GitHub Actions: Trigger changesets.yml workflow
    GitHub Actions->>Repository: Checkout code
    GitHub Actions->>pnpm: Setup and install dependencies
    GitHub Actions->>Changesets: Run Changesets action
    Changesets->>GitHub: Create PR for version updates
    Changesets->>npm Registry: Publish updated packages
Loading

Assessment against linked issues

Objective Addressed Explanation
NPM token registration (#416)
Creation of changeset workflow (#416)

Assessment against linked issues: Out-of-scope changes

No out-of-scope changes detected.

Suggested labels

🔮 ALL

Poem

A bunny hopped through code today,
Resetting versions all the way.
With Changesets now in the den,
Packages leap to one-dot-oh again!
Names are polished, configs neat—
This rabbit’s work is quite the feat!
🚀🐇


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 348d6a0ab9418a89b2738c79a9da548747b45d5a and b090c08.

⛔ Files ignored due to path filters (1)
  • frontend/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (13)
  • .github/workflows/changesets.yml (1 hunks)
  • .github/workflows/fe-cd.yml (2 hunks)
  • frontend/.changeset/README.md (1 hunks)
  • frontend/.changeset/config.json (1 hunks)
  • frontend/.changeset/cyan-colts-rule.md (1 hunks)
  • frontend/apps/client/package.json (1 hunks)
  • frontend/apps/server/package.json (2 hunks)
  • frontend/package.json (2 hunks)
  • frontend/packages/calendar/package.json (2 hunks)
  • frontend/packages/core/package.json (2 hunks)
  • frontend/packages/date-time/package.json (1 hunks)
  • frontend/packages/theme/package.json (2 hunks)
  • frontend/packages/ui/package.json (3 hunks)
✅ Files skipped from review due to trivial changes (3)
  • frontend/packages/core/package.json
  • .github/workflows/fe-cd.yml
  • frontend/.changeset/README.md
🚧 Files skipped from review as they are similar to previous changes (10)
  • frontend/apps/server/package.json
  • frontend/apps/client/package.json
  • frontend/packages/theme/package.json
  • frontend/.changeset/cyan-colts-rule.md
  • frontend/packages/date-time/package.json
  • frontend/packages/ui/package.json
  • frontend/package.json
  • .github/workflows/changesets.yml
  • frontend/.changeset/config.json
  • frontend/packages/calendar/package.json

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@hamo-o hamo-o added the 🖥️ FE Frontend label Jun 7, 2025
Copy link

@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: 2

🧹 Nitpick comments (4)
frontend/packages/date-time/package.json (1)

7-9: Non-functional formatting change
The files field has been reformatted to a multi-line array without any semantic alteration. This is fine, but ensure style consistency across other package manifests.

frontend/.changeset/README.md (1)

1-9: Add Changesets README documentation.

The README contextualizes the .changeset folder. Optionally, link to any project-specific contribution guides or PR templates to guide new contributors.

frontend/.changeset/config.json (2)

2-6: Pin schema to latest or update intentionally
Consider whether you want to lock the config schema to @changesets/config@3.1.1 or switch to the unversioned URL (https://unpkg.com/@changesets/config/schema.json) to automatically pick up schema updates.


7-7: Confirm commit: false is intended
The setting commit: false prevents Changesets from committing version bumps automatically. Verify this aligns with your release workflow or if you’d prefer auto-commits on the main branch.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between df5d8c1 and 348d6a0ab9418a89b2738c79a9da548747b45d5a.

⛔ Files ignored due to path filters (1)
  • frontend/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (12)
  • .github/workflows/changesets.yml (1 hunks)
  • frontend/.changeset/README.md (1 hunks)
  • frontend/.changeset/config.json (1 hunks)
  • frontend/.changeset/cyan-colts-rule.md (1 hunks)
  • frontend/apps/client/package.json (1 hunks)
  • frontend/apps/server/package.json (2 hunks)
  • frontend/package.json (2 hunks)
  • frontend/packages/calendar/package.json (2 hunks)
  • frontend/packages/core/package.json (2 hunks)
  • frontend/packages/date-time/package.json (1 hunks)
  • frontend/packages/theme/package.json (2 hunks)
  • frontend/packages/ui/package.json (3 hunks)
🔇 Additional comments (14)
frontend/apps/server/package.json (1)

2-2: Scoped package naming alignment
The package name has been updated to @endolphin/server to match the monorepo conventions. Please verify that all import statements, CI/CD workflows, and documentation have been updated to reference the new scope.

frontend/apps/client/package.json (1)

2-2: Scoped package naming alignment
The package name has been changed to @endolphin/client. Ensure that any downstream scripts, project references, and documentation are updated accordingly (e.g., pnpm filters, README links).

frontend/packages/core/package.json (1)

3-3: Version reset to 1.0.0
The package version has been downgraded to 1.0.0 to align with the new Changesets workflow. Confirm that the Changesets config and release pipeline will pick up this bump correctly.

frontend/packages/date-time/package.json (1)

3-3: Version reset to 1.0.0
The version has been reset to 1.0.0 as part of the coordinated versioning update. Please verify that the Changesets file reflects this version change.

frontend/.changeset/cyan-colts-rule.md (1)

1-7: Changeset declaration for major bumps
This changeset correctly lists major version updates for the five core workspace packages. Confirm that @endolphin/server and @endolphin/client are excluded per .changeset/config.json and that the CI workflow will apply these bumps as intended.

frontend/packages/theme/package.json (2)

3-3: Reset package version to 1.0.0 for consistent monorepo versioning.

This aligns with the coordinated major version reset managed by Changesets. Ensure that this baseline version is correctly captured in the next release changelog.


22-22: Switch peer dependency to workspace protocol.

Using workspace:^ for @endolphin/core ensures internal package resolution under pnpm workspaces. Verify that CI installs correctly with this prefix.

frontend/packages/ui/package.json (2)

3-3: Reset @endolphin/ui version to 1.0.0.

This matches the monorepo-wide version reset via Changesets. Confirm all dependent packages reference this new baseline.


19-20: Use workspace protocol for internal dependencies.

Switching @endolphin/core and @endolphin/theme to workspace:^ guarantees local linking in the monorepo. Ensure pnpm workspace resolution remains stable.

frontend/packages/calendar/package.json (3)

3-3: Reset @endolphin/calendar version to 1.0.0.

Aligns with the major version reset across all frontend packages. Verify that the initial release changelog reflects this baseline.


17-18: Use workspace protocol for internal dependencies.

Updating @endolphin/core and @endolphin/ui to workspace:^ supports monorepo-local linking. Confirm that workspace linking works as expected in CI.


23-23: Switch peer dependency to workspace protocol.

Changing @endolphin/theme to workspace:^ ensures consistent internal resolution. Double-check peer linking behavior under pnpm.

frontend/.changeset/config.json (1)

12-13: Validate ignored packages
You’ve excluded @endolphin/client and @endolphin/server from changeset processing. Please confirm that no additional workspace packages should be included in the ignore list.

.github/workflows/changesets.yml (1)

22-26: Verify Node.js version requirement
The workflow installs Node.js 20. Ensure that all scripts and dependencies in this repo are compatible with Node 20, or adjust to your project’s LTS version if needed.

Copy link
Contributor

@dioo1461 dioo1461 left a comment

Choose a reason for hiding this comment

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

고생하셨습니다!!!

@hamo-o hamo-o force-pushed the feature/fe/changeset branch from 348d6a0 to b090c08 Compare June 9, 2025 03:02
@hamo-o hamo-o merged commit 262599f into dev Jun 9, 2025
1 check passed
@hamo-o hamo-o deleted the feature/fe/changeset branch June 9, 2025 03:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🖥️ FE Frontend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Changeset 세팅

3 participants