Skip to content

Web 추가 기초 설정#19

Closed
iOdiO89 wants to merge 12 commits into
devfrom
chore/12-web-setting
Closed

Web 추가 기초 설정#19
iOdiO89 wants to merge 12 commits into
devfrom
chore/12-web-setting

Conversation

@iOdiO89

@iOdiO89 iOdiO89 commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

작업 요약

  • 레포 lint config 정리
  • Web 프로젝트 기초 설정 추가 (provider, reset css)
  • Web 프로젝트 pretendard 폰트 추가
  • 불필요한 파일 제거

작업 내용

Lint / Monorepo

  • eslint-config 패키지 삭제 후 ESLint 설정을 루트 중심으로 일원화
    • 공통 규칙을 root에 두고, web/app 프로젝트에서 오버라이드해서 사용하는 구조를 채택했습니다.
    • eslint-config를 따로 패키지로 배포할 일이 없기 때문에, 관리하기 쉽도록 root lint config로 변경했습니다.
  • 루트 lint config와 중복되는 Web 프로젝트 lint 의존성 제거

Web 프로젝트

  • Reset CSS 도입
  • Pretendard 폰트 추가

기타

  • JSX 반환 타입 오류 수정 (참고)
  • import 경로 및 파일명 케이스를 정리하여 참조 안정성 확보
  • 불필요한 에셋, 파일, 패키지 삭제

비고

모노레포라서 web/app 프로젝트 구분을 위해 커밋 시 자동으로 앞에 어떤 프로젝트인지 명시해주는 husky를 도입하면 어떨까 하는데, 어떤가용

연관 이슈

close #12

Summary by CodeRabbit

릴리스 노트

  • Chores
    • 기본 서체를 변경하여 사용자 인터페이스 개선
    • 홈페이지 레이아웃을 단순화
    • ESLint 설정 통합 및 최적화
    • 코드 포매팅 표준화
    • 불필요한 패키지 정리 및 의존성 정리

@iOdiO89 iOdiO89 linked an issue Apr 23, 2026 that may be closed by this pull request
4 tasks
@coderabbitai

coderabbitai Bot commented Apr 23, 2026

Copy link
Copy Markdown

Caution

Review failed

Pull request was closed or merged during review

개요

이 PR은 모노레포 전체에 걸쳐 ESLint 설정을 재구성하고, 웹 앱의 레이아웃 및 스타일을 리팩터링하며, @repo/ui 패키지와 핵심 예제 유틸리티를 제거하는 포괄적인 구조 정리입니다.

변경 사항

Cohort / File(s) 요약
PR 템플릿 및 GitHub 워크플로우
.github/PULL_REQUEST_TEMPLATE.md, .github/workflows/slack-pr-bot.yml
PR 템플릿 헤딩을 작업 내용에서 작업 요약으로 변경하고, Slack PR 봇이 일치하는 섹션 헤더 패턴을 업데이트합니다.
루트 수준 설정 및 의존성
package.json, eslint.config.mjs, pnpm-workspace.yaml
ESLint 및 TypeScript 관련 devDependencies를 루트 레벨에 추가하고, 플랫 ESLint 설정을 생성합니다. 워크스페이스 YAML의 따옴표 스타일을 업데이트합니다.
웹 앱 재구조화
apps/web/src/app/layout.tsx, apps/web/src/app/page.tsx, apps/web/src/app/page.module.css, apps/web/src/app/providers.tsx, apps/web/src/styles/globals.css
Geist 폰트를 Pretendard로 변경하고, 홈 페이지를 최소 구현으로 단순화합니다. Providers를 컴포넌트 디렉터리로 이동하고, 글로벌 스타일을 reset.css 임포트로 리팩터링합니다.
ESLint 설정 마이그레이션
apps/app/eslint.config.mjs, apps/app/eslint.config.js, apps/web/eslint.config.mjs, packages/eslint-config/*, packages/ui/eslint.config.mjs
app/web 레벨 ESLint 설정을 루트 기반 구성으로 이동하고, @repo/eslint-config 패키지의 모든 내용을 삭제합니다.
코드 포매팅 및 타입 개선
apps/app/app/_layout.tsx, apps/app/app/index.tsx, apps/app/app/modal.tsx, apps/app/components/ExternalLink.tsx, apps/app/components/HapticTab.tsx, apps/app/scripts/reset-project.js
세미콜론 기반 문장 종료와 타입 전용 임포트(type-only imports)로 포매팅을 통일하고, 콜백 함수 구문을 간소화합니다.
코어 패키지 정리
packages/core/package.json, packages/core/src/hooks/example.ts, packages/core/src/types/example.ts, packages/core/src/utils/example.ts, packages/core/src/index.ts, packages/core/tsconfig.json
예제 유틸리티(formatDate, UserT, useCounter)를 제거하고, 의존성을 추가하며, tsconfig에서 outDir을 삭제합니다.
UI 패키지 제거
packages/ui/package.json, packages/ui/eslint.config.mjs, packages/ui/src/button.tsx, packages/ui/src/card.tsx, packages/ui/src/code.tsx
@repo/ui 패키지 전체를 삭제하고 모든 컴포넌트와 설정을 제거합니다. README도 이 패키지 언급을 삭제합니다.
새로운 유틸리티 함수 및 스타일
apps/web/src/utils/cn.ts, apps/web/src/utils/queryClient.ts, apps/web/src/styles/reset.css, apps/web/src/components/Providers.tsx
clsx와 twMerge를 사용하는 cn 함수, React Query SSR 지원 getQueryClient 팩토리, CSS 리셋 스타일시트, 그리고 새 Providers 컴포넌트를 추가합니다.
TypeScript 및 Next.js 설정
packages/typescript-config/nextjs.json, apps/web/package.json
Next.js tsconfig에서 declaration 출력을 명시적으로 비활성화하고, web 패키지에 clsx와 tailwind-merge 런타임 의존성을 추가합니다.
문서 업데이트
README.md, packages/eslint-config/README.md
루트 README에서 @repo/ui와 @repo/eslint-config 언급을 제거하고, 패키지 README를 삭제합니다.

추정 코드 리뷰 노력

🎯 4 (복잡) | ⏱️ ~50분

깃 저장소가 춤을 춘다네,
설정과 스타일을 정리하며
UI와 예제는 안녕하고,
루트부터 시작하는 ESLint 여정
🐰 깨끗한 모노레포로 폴짝! 🌟

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning PR이 링크된 이슈 #12의 대부분의 요구사항을 충족했습니다: ESLint 설정 루트 이동[완료], 웹 TanStack Query Provider Next 형식 변경[완료], 불필요 파일 삭제[완료]. 다만 logger 함수 추가[미완료] 요구사항은 구현되지 않았습니다. Logger 함수 추가 요구사항(이슈 #12의 체크리스트 항목)을 구현하거나, 미완료 항목을 별도 이슈로 분리하여 추적하세요.
Out of Scope Changes check ⚠️ Warning PR에는 이슈 #12의 범위를 벗어난 여러 변경사항이 포함되어 있습니다: PR 템플릿 수정, Slack 워크플로우 변경, 타입스크립트 설정 변경, 패키지 매니페스트 조정 등이 추가로 진행되었습니다. 이슈 범위를 명확히 정의하고, 범위를 벗어난 변경사항(템플릿/워크플로우/설정 변경)을 별도 PR로 분리하거나 이슈 설명을 업데이트하세요.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목 '웹 추가 기초 설정'은 변경 사항의 핵심인 웹 프로젝트 초기 설정 추가를 명확히 반영하고 있습니다.

✏️ 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/12-web-setting

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.

@iOdiO89 iOdiO89 closed this Apr 23, 2026
@iOdiO89 iOdiO89 reopened this Apr 23, 2026
@iOdiO89 iOdiO89 closed this Apr 23, 2026
@iOdiO89 iOdiO89 reopened this Apr 23, 2026
@iOdiO89 iOdiO89 closed this Apr 23, 2026
@github-actions

Copy link
Copy Markdown

No description provided.

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.

Web 추가 기초 설정

1 participant