Skip to content

Conversation

@dioo1461
Copy link
Contributor

@dioo1461 dioo1461 commented May 25, 2025

#️⃣ 연관된 이슈>

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

  • 중복된 tsconfig 옵션들을 frontend/tsconfig.base.json 에 분리하고, 각 패키지의 tsconfig에서 이를 extend 및 오버라이드하여 사용하도록 리팩터링했습니다.
    // tsconfig.base.json
    {
      "compilerOptions": {
        /* common transfiling options */
        "target": "ES2022",
        "module": "ESNext",
    
        /* Bundler mode */
        "moduleResolution": "bundler",
        "moduleDetection": "force",
        "isolatedModules": true,
        "jsx": "react-jsx",
    
        /* Linting */
        "useDefineForClassFields": true,
        "skipLibCheck": true,
        "strict": true,
        "noUnusedLocals": true,
        "noUnusedParameters": true,
        "noFallthroughCasesInSwitch": true,
        "noUncheckedSideEffectImports": true
      }
    }
    
    // apps/client/tsconfig.node.json
    {
      "extends": "../../tsconfig.base.json",
      "compilerOptions": {
        "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
        "lib": ["ES2023"],
        "allowImportingTsExtensions": true,
        "noEmit": true,
      },
      "include": ["vite.config.ts"]
    }
  • 각 패키지에서 중복 정의되었거나 분리되지 않은 훅들을 제거 및 분리했습니다.
  • calendar 패키지를 tsup으로 번들링했습니다.

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

분리 여부를 판단하지 못해 아직 분리하지 않은 훅들이 있는데, 어떻게 할지 고민입니다!
현영님이 구현하신 컴포넌트들인 만큼 현영님 의견을 여쭙고 싶습니당

  • useGroup - 구현상 Checkbox에 종속적인 로직인데, ui 패키지로 분리해야 할까요?
  • useScrollToTime, useSelectDateRange - MyCalendarPage에서 사용되는 로직인데 calendar 패키지로 분리해야 할까요?

Summary by CodeRabbit

  • Chores
    • Centralized and simplified TypeScript configuration across frontend apps and packages by introducing a shared base config.
    • Updated workspace and package configuration files for improved clarity and streamlined build processes.
    • Removed unused custom hooks and refactored pagination logic in the schedule list for consistency.
    • Upgraded and aligned dependencies and build tools in calendar and date-time packages.
  • Refactor
    • Improved internal state management and build configurations without impacting public APIs or interfaces.

@coderabbitai
Copy link

coderabbitai bot commented May 25, 2025

Walkthrough

This update removes the usePagination and useCheckbox custom hooks, replacing pagination logic in OngoingScheduleList with direct useState usage. TypeScript configurations across multiple frontend packages are refactored to extend from a new shared tsconfig.base.json, centralizing compiler options. Build scripts and configs are modernized with tsup and workspace settings are clarified.

Changes

File(s) Change Summary
frontend/apps/client/src/features/shared-schedule/ui/OngoingSchedules/OngoingScheduleList.tsx Replaced usePagination with local useState for pagination state management.
frontend/apps/client/src/hooks/useCheckbox.ts, frontend/apps/client/src/hooks/usePagination.ts Deleted custom hooks: useCheckbox and usePagination.
frontend/apps/client/tsconfig.app.json, frontend/apps/client/tsconfig.node.json Refactored to extend from base TypeScript config; removed redundant compiler options.
frontend/endolphin.code-workspace Added "name" fields to workspace folders for clarity.
frontend/packages/calendar/package.json, frontend/packages/date-time/package.json Updated package metadata, entry points, dependencies, and switched build scripts to use tsup.
frontend/packages/calendar/tsconfig.json, frontend/packages/core/tsconfig.json, frontend/packages/date-time/tsconfig.json, frontend/packages/theme/tsconfig.json, frontend/packages/ui/tsconfig.json Refactored to extend from base config; removed explicit compiler options for consistency.
frontend/packages/calendar/tsup.config.ts, frontend/packages/date-time/tsup.config.ts Introduced new tsup build configuration files.
frontend/tsconfig.base.json Added new base TypeScript configuration for frontend packages.

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
Loading

Possibly related PRs

Poem

A bunny hopped through configs and code,
Tidying up the TypeScript road.
Out with old hooks, in with the new,
Centralized settings—less to review!
With tsup we build, with names we align,
Now the frontend garden grows just fine.
🐇✨


📜 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 dc8994e and e139aa7.

📒 Files selected for processing (1)
  • frontend/packages/calendar/tsconfig.json (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • frontend/packages/calendar/tsconfig.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.

@dioo1461 dioo1461 changed the title [Refactor] 모노레포 설정 마무리 [FE-Refactor] 모노레포 설정 마무리 May 25, 2025
@dioo1461 dioo1461 force-pushed the refactor/fe/mono-repo branch from df929ac to dc8994e Compare June 8, 2025 10:00
@dioo1461 dioo1461 marked this pull request as ready for review June 8, 2025 10:00
@dioo1461 dioo1461 requested a review from hamo-o as a code owner June 8, 2025 10:00
@dioo1461 dioo1461 added the 🖥️ FE Frontend label Jun 8, 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: 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 handlePageChange as 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: Scope rootDir to 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

📥 Commits

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

📒 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.
The defineConfig call 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 in tsconfig.base.json reduces duplication and maintains consistency across packages.

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

3-8: Bump version and configure module entry points.
Updating to 1.0.6, setting "type": "module", and pointing main/module/types at dist/index.* aligns with the tsup output. Confirm downstream imports resolve correctly.


10-10: Switch build script to tsup.
Replacing tsc -b && tsc-alias with tsup --clean standardizes 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/ to dist/ structure are consistent with the tsup build configuration changes.


12-13: LGTM! Tsup integration improves build performance.

The switch from tsc -b && tsc-alias to tsup --clean and the addition of tsup --watch for 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:

  • incremental and tsBuildInfoFile for faster rebuilds
  • lib: ["ES2023"] for modern Node.js features
  • allowImportingTsExtensions and noEmit for 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.json exists 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"
fi

Length of output: 625


tsconfig.node.json correctly extends shared base config

  • Verified that frontend/tsconfig.base.json exists and contains the common compilerOptions (target, module, moduleResolution, strictness flags, etc.) previously centralized.
  • The extends path ("../../tsconfig.base.json") correctly resolves from frontend/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.json follows 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: true for TypeScript project references
  • Package-specific outDir and 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 usePagination custom hook in favor of direct useState usage 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.
The tsup setup correctly outputs ESM modules with declarations, integrates the vanillaExtractPlugin, 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.json correctly 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.json promotes consistency across UI package builds.


4-4: Retain local baseUrl.
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.json correctly 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 disabling composite mode.
Setting "composite": false disables project references and incremental builds. Confirm this aligns with the new tsup workflow and doesn’t break downstream package references.


20-20: Confirm inclusion of bundle.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.

Comment on lines +20 to +21
"@endolphin/ui": "^1.0.12",
"@endolphin/theme": "^1.0.17"
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

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.

Suggested change
"@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.

Copy link
Contributor

@hamo-o hamo-o left a comment

Choose a reason for hiding this comment

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

🚀🚀

@dioo1461 dioo1461 merged commit 048e69c into dev Jun 9, 2025
1 check passed
@dioo1461 dioo1461 deleted the refactor/fe/mono-repo branch June 9, 2025 01:57
@hamo-o hamo-o linked an issue Jun 9, 2025 that may be closed by this pull request
2 tasks
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] 캘린더 배포를 위한 모노레포 구성

3 participants