-
Notifications
You must be signed in to change notification settings - Fork 1
[FE-Refactor] 모노레포 설정 마무리 #412
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
WalkthroughThis update removes the Changes
Sequence Diagram(s)sequenceDiagram
participant OngoingScheduleList
participant React_useState
OngoingScheduleList->>React_useState: Initialize currentPage with 1
OngoingScheduleList->>React_useState: Set handlePageChange to update currentPage
OngoingScheduleList->>OngoingScheduleList: On page change, reset selectedIndex and prefetch schedules
Possibly related PRs
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
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. 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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
df929ac to
dc8994e
Compare
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.
Actionable comments posted: 1
🧹 Nitpick comments (3)
frontend/apps/client/src/features/shared-schedule/ui/OngoingSchedules/OngoingScheduleList.tsx (1)
36-36: Fix useState destructuring variable naming.The destructuring assignment uses
handlePageChangeas the setter function name, which is misleading since useState returns[state, setState]. Consider using a more conventional naming pattern.- const [currentPage, handlePageChange] = useState(1); + const [currentPage, setCurrentPage] = useState(1);And update the usage in the onPageChange handler:
onPageChange={(page: number) => { setSelectedIndex(0); - handlePageChange(page); + setCurrentPage(page); }}frontend/packages/date-time/tsconfig.json (1)
14-14: Remove commented-out option.
The"composite"setting is commented out and unused in this build; consider deleting it to reduce noise.frontend/packages/calendar/tsconfig.json (1)
5-5: ScoperootDirto the source directory.
Using"rootDir": "."may pull in unintended files at the package root. Consider narrowing this to"src"to confine compilation to your source files.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (17)
frontend/apps/client/package.json(1 hunks)frontend/apps/client/src/features/shared-schedule/ui/OngoingSchedules/OngoingScheduleList.tsx(1 hunks)frontend/apps/client/src/hooks/useCheckbox.ts(0 hunks)frontend/apps/client/src/hooks/usePagination.ts(0 hunks)frontend/apps/client/tsconfig.app.json(1 hunks)frontend/apps/client/tsconfig.node.json(1 hunks)frontend/endolphin.code-workspace(1 hunks)frontend/packages/calendar/package.json(1 hunks)frontend/packages/calendar/tsconfig.json(1 hunks)frontend/packages/calendar/tsup.config.ts(1 hunks)frontend/packages/core/tsconfig.json(1 hunks)frontend/packages/date-time/package.json(1 hunks)frontend/packages/date-time/tsconfig.json(2 hunks)frontend/packages/date-time/tsup.config.ts(1 hunks)frontend/packages/theme/tsconfig.json(1 hunks)frontend/packages/ui/tsconfig.json(1 hunks)frontend/tsconfig.base.json(1 hunks)
💤 Files with no reviewable changes (2)
- frontend/apps/client/src/hooks/usePagination.ts
- frontend/apps/client/src/hooks/useCheckbox.ts
🧰 Additional context used
🪛 Biome (1.9.4)
frontend/tsconfig.base.json
[error] 3-3: JSON standard does not allow comments.
(parse)
[error] 4-4: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 4-4: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 4-4: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 4-4: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 5-5: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 5-5: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 5-5: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 5-7: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 7-7: JSON standard does not allow comments.
(parse)
[error] 8-8: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 8-8: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 8-8: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 8-8: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 9-9: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 9-9: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 9-9: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 9-9: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 10-10: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 10-10: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 10-10: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 10-10: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 11-11: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 11-11: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 11-11: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 11-13: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 13-13: JSON standard does not allow comments.
(parse)
[error] 14-14: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 14-14: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 14-14: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 14-14: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 15-15: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 15-15: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 15-15: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 15-15: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 16-16: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 16-16: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 16-16: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 16-16: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 17-17: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 17-17: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 17-17: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 17-17: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 18-18: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 18-18: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 18-18: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 18-18: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 19-19: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 19-19: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 19-19: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 19-19: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 20-20: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 20-20: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 20-20: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
[error] 21-22: End of file expected
Use an array for a sequence of values: [1, 2]
(parse)
🔇 Additional comments (26)
frontend/endolphin.code-workspace (1)
3-34: Add descriptive names to workspace folders.
Including"name"alongside"path"improves clarity when navigating the monorepo in VSCode.frontend/packages/date-time/tsup.config.ts (1)
1-8: Introduce tsup build configuration for date-time package.
ThedefineConfigcall correctly specifies ESM output, entry point, output directory, and declaration file generation.frontend/apps/client/package.json (1)
20-24: Use explicit version ranges instead of workspace protocol.
Pinning@endolphin/*dependencies to released versions ensures reproducible client builds. Please verify these versions match the published package tags.frontend/packages/theme/tsconfig.json (1)
2-2: Extend shared base TypeScript configuration.
Centralizing compiler options intsconfig.base.jsonreduces duplication and maintains consistency across packages.frontend/packages/date-time/package.json (2)
3-8: Bump version and configure module entry points.
Updating to1.0.6, setting"type": "module", and pointingmain/module/typesatdist/index.*aligns with the tsup output. Confirm downstream imports resolve correctly.
10-10: Switch build script to tsup.
Replacingtsc -b && tsc-aliaswithtsup --cleanstandardizes and simplifies the build process across frontend packages.frontend/packages/calendar/package.json (3)
3-3: Verify the version bump justification.The version jumped from 1.0.5 to 1.0.7, skipping 1.0.6. Ensure this is intentional and aligns with your versioning strategy.
4-7: LGTM! Module type and entry point changes align with tsup migration.The explicit "module" type and updated entry points from
dist/src/todist/structure are consistent with the tsup build configuration changes.
12-13: LGTM! Tsup integration improves build performance.The switch from
tsc -b && tsc-aliastotsup --cleanand the addition oftsup --watchfor development will provide better build performance and developer experience.frontend/apps/client/tsconfig.node.json (2)
4-10: LGTM! Node-specific options are appropriately retained.The retained compiler options are well-suited for a node configuration:
incrementalandtsBuildInfoFilefor faster rebuildslib: ["ES2023"]for modern Node.js featuresallowImportingTsExtensionsandnoEmitfor development tooling🧰 Tools
🪛 Biome (1.9.4)
[error] 10-10: Expected a property but instead found '}'.
Expected a property here.
(parse)
2-2:Details
✅ Verification successful
Verify base config exists and is properly configured.
Ensure that
../../tsconfig.base.jsonexists and contains the common TypeScript compiler options that were removed from this file.
🏁 Script executed:
#!/bin/bash # Verify the base config exists and check its contents if [ -f "frontend/tsconfig.base.json" ]; then echo "Base config exists:" cat frontend/tsconfig.base.json else echo "ERROR: Base config not found at frontend/tsconfig.base.json" fiLength of output: 625
tsconfig.node.json correctly extends shared base config
- Verified that
frontend/tsconfig.base.jsonexists and contains the common compilerOptions (target, module, moduleResolution, strictness flags, etc.) previously centralized.- The extends path (
"../../tsconfig.base.json") correctly resolves fromfrontend/apps/client/tsconfig.node.json.- Node-specific options (
incremental,tsBuildInfoFile,lib,allowImportingTsExtensions,noEmit) remain appropriately scoped in the node config.No further changes needed.
frontend/packages/core/tsconfig.json (2)
2-2: LGTM! Consistent base config extension pattern.The extension from
../../tsconfig.base.jsonfollows the same consolidation pattern applied across the monorepo, which improves maintainability.
4-17: LGTM! Package-specific options are appropriately preserved.The retained compiler options are well-suited for a core package:
- Path mappings for internal module resolution
composite: truefor TypeScript project references- Package-specific
outDirand library settings- Vitest global types configuration
frontend/apps/client/src/features/shared-schedule/ui/OngoingSchedules/OngoingScheduleList.tsx (1)
34-38: LGTM! Simplified pagination state management.The removal of the
usePaginationcustom hook in favor of directuseStateusage simplifies the component and reduces dependencies. The pagination logic remains intact and functional.frontend/packages/calendar/tsup.config.ts (1)
1-14: Configuration looks solid.
Thetsupsetup correctly outputs ESM modules with declarations, integrates thevanillaExtractPlugin, and externalizes@endolphin/theme. The CSS import banner ensures styles are bundled alongside the JS.frontend/tsconfig.base.json (1)
1-22: Centralized base config is well-structured.
The shared compiler options cover modern targets, strict checks, and JSX transform. Comments are valid in JSONC-style tsconfig files.🧰 Tools
🪛 Biome (1.9.4)
[error] 3-3: JSON standard does not allow comments.
(parse)
[error] 4-4: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 4-4: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 4-4: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 4-4: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 5-5: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 5-5: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 5-5: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 5-7: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 7-7: JSON standard does not allow comments.
(parse)
[error] 8-8: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 8-8: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 8-8: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 8-8: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 9-9: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 9-9: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 9-9: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 9-9: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 10-10: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 10-10: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 10-10: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 10-10: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 11-11: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 11-11: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 11-11: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 11-13: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 13-13: JSON standard does not allow comments.
(parse)
[error] 14-14: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 14-14: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 14-14: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 14-14: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 15-15: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 15-15: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 15-15: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 15-15: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 16-16: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 16-16: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 16-16: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 16-16: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 17-17: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 17-17: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 17-17: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 17-17: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 18-18: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 18-18: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 18-18: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 18-18: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 19-19: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 19-19: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 19-19: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 19-19: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 20-20: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 20-20: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 20-20: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
[error] 21-22: End of file expected
Use an array for a sequence of values:
[1, 2](parse)
frontend/packages/date-time/tsconfig.json (1)
2-2: Extend shared base configuration.
Using"extends": "../../tsconfig.base.json"aligns this package with the centralized compiler settings.frontend/apps/client/tsconfig.app.json (2)
2-2: Inherit from base TypeScript config.
Extending../../tsconfig.base.jsoncorrectly consolidates common compiler options for the client app.
5-5: Include Vitest globals.
Adding"vitest/globals"ensures test files resolve the Vitest API without extra imports.frontend/packages/ui/tsconfig.json (3)
2-2: Shared base config extension.
Extending../../tsconfig.base.jsonpromotes consistency across UI package builds.
4-4: Retain localbaseUrl.
Keeping"baseUrl": "."preserves the relative import root for package modules.
10-10: Hook alias mapping.
The"@hooks/*": ["src/hooks/*"]path is correctly defined for local hook modules.frontend/packages/calendar/tsconfig.json (4)
2-2: Centralize TypeScript configuration via shared base.
Extending from../../tsconfig.base.jsoncorrectly standardizes compiler options across all frontend packages.
12-12: Alias ordering is safe.
Moving@components/*below@utils/*does not affect TypeScript’s resolution (it matches the longest path first).
16-19: Validate disablingcompositemode.
Setting"composite": falsedisables project references and incremental builds. Confirm this aligns with the newtsupworkflow and doesn’t break downstream package references.
20-20: Confirm inclusion ofbundle.js.
Adding a built artifact to"include"can expose output files to type-checking and may duplicate declarations. Ensure this is intentional for your bundling strategy.
| "@endolphin/ui": "^1.0.12", | ||
| "@endolphin/theme": "^1.0.17" |
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.
Fix peer dependency version mismatch.
There's a version mismatch between the regular dependency @endolphin/theme: ^1.0.17 and the peer dependency @endolphin/theme: ^1.0.4 (line 26). This could lead to dependency resolution issues.
"peerDependencies": {
"react": "^19.0.0",
"react-dom": "^19.0.0",
- "@endolphin/theme": "^1.0.4",
+ "@endolphin/theme": "^1.0.17",
"@vanilla-extract/css": "^1.17.0",
"@vanilla-extract/dynamic": "^2.1.2",
"@vanilla-extract/recipes": "^0.5.5"
}📝 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.
| "@endolphin/ui": "^1.0.12", | |
| "@endolphin/theme": "^1.0.17" | |
| "peerDependencies": { | |
| "react": "^19.0.0", | |
| "react-dom": "^19.0.0", | |
| "@endolphin/theme": "^1.0.17", | |
| "@vanilla-extract/css": "^1.17.0", | |
| "@vanilla-extract/dynamic": "^2.1.2", | |
| "@vanilla-extract/recipes": "^0.5.5" | |
| } |
🤖 Prompt for AI Agents
In frontend/packages/calendar/package.json around lines 20 to 26, the version of
the dependency "@endolphin/theme" is "^1.0.17" while the peer dependency version
is "^1.0.4", causing a mismatch. To fix this, align the version of
"@endolphin/theme" in the dependencies section to match the peer dependency
version "^1.0.4" to avoid resolution conflicts.
hamo-o
left a comment
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.
🚀🚀
#️⃣ 연관된 이슈>
📝 작업 내용> 이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)
🙏 여기는 꼭 봐주세요! > 리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요
분리 여부를 판단하지 못해 아직 분리하지 않은 훅들이 있는데, 어떻게 할지 고민입니다!
현영님이 구현하신 컴포넌트들인 만큼 현영님 의견을 여쭙고 싶습니당
useGroup- 구현상 Checkbox에 종속적인 로직인데, ui 패키지로 분리해야 할까요?useScrollToTime,useSelectDateRange- MyCalendarPage에서 사용되는 로직인데 calendar 패키지로 분리해야 할까요?Summary by CodeRabbit