# 미사용 파일 분석 보고서 ## 📊 요약 **총 미사용 파일: 51개** - Context 파일: 8개 (전혀 사용 안함) - Active 컴포넌트: 1개 (BOMManager.tsx) - 부분 사용: 1개 (DeveloperModeContext.tsx) - 이미 정리됨: 42개 (components/_unused/) ## 🔴 완전 미사용 파일 (삭제 권장) ### Context 파일 (8개) 모두 `RootProvider.tsx`에만 포함되어 있고, 실제 페이지/컴포넌트에서는 전혀 사용되지 않음 | 파일명 | 경로 | 사용처 | 상태 | |--------|------|--------|------| | FacilitiesContext.tsx | src/contexts/ | RootProvider만 | ❌ 미사용 | | AccountingContext.tsx | src/contexts/ | RootProvider만 | ❌ 미사용 | | HRContext.tsx | src/contexts/ | RootProvider만 | ❌ 미사용 | | ShippingContext.tsx | src/contexts/ | RootProvider만 | ❌ 미사용 | | InventoryContext.tsx | src/contexts/ | RootProvider만 | ❌ 미사용 | | ProductionContext.tsx | src/contexts/ | RootProvider만 | ❌ 미사용 | | PricingContext.tsx | src/contexts/ | RootProvider만 | ❌ 미사용 | | SalesContext.tsx | src/contexts/ | RootProvider만 | ❌ 미사용 | **영향 분석:** - 이 8개 Context는 React SPA에서 있었던 것으로 추정 - Next.js 마이그레이션 후 관련 페이지가 구현되지 않음 - `RootProvider.tsx`에서만 import되고 실제 사용은 없음 - 안전하게 제거 가능 (빌드/런타임 영향 없음) ### 컴포넌트 (1개) | 파일명 | 경로 | 라인수 | 사용처 | 상태 | |--------|------|--------|--------|------| | BOMManager.tsx | src/components/items/ | 485 | 없음 | ❌ 미사용 | **영향 분석:** - BOMManagementSection.tsx가 대신 사용됨 (ItemMasterDataManagement에서 사용) - 485줄의 구형 컴포넌트 - `_unused/` 디렉토리로 이동 권장 ## 🟡 부분 사용 파일 (검토 필요) ### DeveloperModeContext.tsx **현재 상태:** - ✅ Provider는 `(protected)/layout.tsx`에 연결됨 - ✅ `PageLayout.tsx`에서 import하고 사용 - ❌ 하지만 실제로 `devMetadata` prop을 전달하는 곳은 없음 **사용 분석:** ```typescript // PageLayout.tsx - devMetadata를 받지만... export function PageLayout({ devMetadata, ... }) { const { setCurrentMetadata } = useDeveloperMode(); useEffect(() => { if (devMetadata) { // 실제로 devMetadata를 전달하는 곳이 없음 setCurrentMetadata(devMetadata); } }, []); } // ItemMasterDataManagement.tsx - 유일하게 PageLayout을 사용 {/* devMetadata 전달 안함 */} ... ``` **권장 사항:** 1. **Option 1 (삭제)**: 개발자 모드 기능을 사용하지 않는다면 제거 2. **Option 2 (활용)**: 개발자 모드 기능이 필요하면 devMetadata 전달 구현 3. **Option 3 (보류)**: 향후 사용 계획이 있으면 유지 ## ✅ 정상 사용 파일 ### Context (3개) | 파일명 | 사용처 | |--------|--------| | AuthContext.tsx | LoginPage, SignupPage, useAuth hook 사용 중 | | ItemMasterContext.tsx | ItemMasterDataManagement 등에서 사용 중 | | ThemeContext.tsx | DashboardLayout, ThemeSelect에서 사용 중 | ### 컴포넌트 | 파일명 | 사용처 | |--------|--------| | FileUpload.tsx | ItemForm.tsx에서 import 및 사용 | | DrawingCanvas.tsx | ItemForm.tsx에서 사용 (`