Refactor(Phase 4): page-views / widgets 레이어 구축 및 HydrationBoundary 적용#4
Refactor(Phase 4): page-views / widgets 레이어 구축 및 HydrationBoundary 적용#4
Conversation
- src/page/ 92개 파일을 FSD page-views/ + widgets/ 레이어로 이전
- widgets/home: TripAvailable, BookmarkContainer, TripRecommendation (독립 섹션 블록)
- page-views/{home,community,trip,myTrip,myPage,auth,search,contact,notification,report,travelLog,onBoarding,userProfile,comment,comment}
- src/page/ 원본 파일들은 re-export 래퍼로 교체 (하위 호환 유지)
- app/page.tsx, app/community/page.tsx, app/trip/detail/[travelNumber]/page.tsx에
HydrationBoundary + prefetchInfiniteQuery 적용 (초기 로딩 스피너 제거)
- E2E 테스트 12개 spec 파일 활성화 (test.describe.skip → test.describe)
- Vitest 통과: 225 → 237개 (+6 widgets/home 신규)
- 레이어명 pages/ → page-views/ (Next.js Pages Router 충돌 회피)
- docs/refactoring/phase-4.md 작성, CLAUDE.md + docs/progress.md 업데이트
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
코드 리뷰 — Phase 4: page-views / widgets 레이어 구축✅ 전체 평가FSD 레이어 구축 목표를 달성했고, re-export 래퍼 패턴으로 라우팅 파일 변경 없이 점진적 이전을 완료한 점은 높이 평가합니다. 아래는 발견된 이슈와 개선 제안입니다. 🔴 버그 / 오류1.
|
| 우선순위 | 항목 |
|---|---|
| 🔴 즉시 | console.log 제거 (2개) |
| 🔴 즉시 | any 타입 제거 (ReportDetailPage mutationFn, onSuccess) |
| 🟡 다음 Phase | Navbar 레이어 위치 재검토 (cross-slice 의존성 해소) |
| 🟡 다음 Phase | Server Component getNextPageParam 타입 강화 |
🤖 Reviewed with Claude Code
Summary
src/page/92개 파일을 FSDpage-views/+widgets/레이어로 이전 (re-export 래퍼로 하위 호환 유지)app/page.tsx,app/community/page.tsx,app/trip/detail/[travelNumber]/page.tsx에HydrationBoundary+prefetchInfiniteQuery적용 → 초기 로딩 스피너 제거test.describe.skip→test.describe)widgets/home신규 테스트 6개 추가 (225 → 237 Vitest 통과)주요 변경사항
page/)레이어명 변경:
pages/→page-views/FSD 표준 레이어명
pages/는 Next.js App Router 프로젝트에서 Pages Router 충돌을 유발합니다.page-views/로 이름 변경해 FSD 의미는 유지하면서 Next.js 충돌을 회피했습니다.Test plan
yarn build— TypeScript 오류 없음 확인npx vitest run— 237개 테스트 통과 확인/), 커뮤니티(/community), 여행 상세(/trip/detail/[id]) 페이지 — 초기 로딩 스피너 없이 즉시 렌더 확인src/page/re-export 래퍼를 통해 모든 라우팅 정상 동작 확인npx playwright test— 활성화된 12개 spec 파일 실행참고 문서
docs/refactoring/phase-4.md— 배경, 의사결정, 트러블슈팅 전체 기록🤖 Generated with Claude Code