-
Notifications
You must be signed in to change notification settings - Fork 2
build(packages): Rollup 기반으로 패키지 번들링 툴 변경
#416
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @ohprettyhak, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
이 PR은 프로젝트의 빌드 시스템을 esbuild에서 Rollup으로 전환하여 번들링 효율성을 높이는 데 중점을 둡니다. 또한, 린팅 및 포맷팅 도구를 Biome으로 통합하고, Sentry 통합을 제거하며, manager 및 spectator 애플리케이션 모두에 걸쳐 중요한 새 기능과 UI 개선 사항을 도입하여 전반적인 개발 경험과 사용자 기능을 향상시켰습니다.
Highlights
- 번들링 툴 변경: 패키지 번들링 툴을
esbuild에서Rollup으로 변경하여 빌드 시스템을 개선했습니다. - 모듈 분리 및 트리셰이킹 효율 개선: 트리셰이킹 효율을 높이기 위해
esm과cjs모듈을 명확하게 분리했습니다. - 린팅 및 포맷팅 툴 교체:
ESLint와Prettier대신Biome을 사용하여 코드 린팅 및 포맷팅을 통합하고 간소화했습니다. - 의존성 업데이트 및 Sentry 제거: 다수의 패키지 의존성을 최신 버전으로 업데이트했으며, Sentry 통합 관련 설정 및 코드를 제거했습니다.
- 매니저 앱 기능 개선: 매니저 앱에 선수 및 팀 관리, 대회 개요, 로그인 기능 등 새로운 UI 및 기능을 추가했습니다.
- 관전자 앱 기능 개선: 관전자 앱에 이전 대회 통계, 최근 경기 표시, 팀별 경기 기록 및 득점왕 정보 등 새로운 UI 및 기능을 추가했습니다.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
Rollup 기반으로 번들링 툴을 변경하는 작업을 하셨네요. esbuild에서 Rollup으로 마이그레이션하면서 cjs와 esm을 명확하게 분리하여 트리셰이킹 효율을 높인 점이 좋습니다.
전체적으로 변경 사항은 훌륭하지만, 몇 가지 개선점과 잠재적인 버그가 있어 리뷰를 남깁니다.
- 여러 패키지에 걸쳐
rollup.config.cjs설정이 중복되고 있습니다. QueryClientProvider에서'use client'지시어가 제거되어 잠재적인 런타임 오류가 발생할 수 있습니다.toolkit패키지에서vitest의존성이 제거되어 테스트 스크립트가 동작하지 않을 것입니다.
자세한 내용은 각 코멘트를 확인해주세요.
| @@ -1,5 +1,3 @@ | |||
| 'use client'; | |||
|
|
|||
| import { | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'use client' 지시어가 QueryClientProvider 컴포넌트에서 제거되었습니다. 이 컴포넌트는 내부적으로 useState 훅을 사용하고 있으므로 클라이언트 컴포넌트로 유지되어야 합니다.
React Server Components (RSC) 환경(예: Next.js App Router)에서 이 컴포넌트를 사용하면, 서버 컴포넌트에서 클라이언트 훅을 사용하려다 런타임 에러가 발생할 수 있습니다.
따라서 이 컴포넌트가 클라이언트 측에서 상태를 관리하고 컨텍스트를 제공하는 역할을 제대로 수행하려면 'use client' 지시어를 다시 추가하는 것이 필요해 보입니다.
| import { | |
| 'use client'; | |
| import { |
…dd Vitest support
|
/gemini review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
이 PR은 번들링 도구를 esbuild에서 Rollup으로 전환하는 중요한 리팩터링을 수행합니다. 전반적으로 코드베이스의 일관성을 높이고, 공유 설정을 통해 관리를 용이하게 하는 좋은 방향의 변경입니다. 몇 가지 중요한 수정 사항과 개선 제안을 포함한 리뷰를 남깁니다.
주요 피드백:
'use client'지시어 처리: React 클라이언트 컴포넌트에 필수적인'use client'지시어가 누락되거나 빌드 과정에서 제거될 수 있는 문제를 발견했습니다. 이는 Next.js App Router 환경에서 심각한 오류를 유발할 수 있으므로 반드시 수정이 필요합니다.- CSS 번들링:
toolkit패키지에서 CSS 파일 처리가 누락된 것으로 보입니다. 이전 설정에서는 존재했던 CSS 익스포트가 사라져, 이를 사용하는 측에서 문제가 발생할 수 있습니다. - 설정 일관성:
package.json파일들의 의존성 필드 순서가 일관되지 않은 점 등, monorepo 전반의 일관성을 높일 수 있는 부분을 제안했습니다.
자세한 내용은 각 파일에 남긴 코멘트를 확인해주세요.
🌍 이슈 번호
✅ 작업 내용
esbuild기반으로 구성되었던 번들링 툴을Rollup기반으로 변경했어요.esm과cjs를 명확하게 분리했어요.