43 lines
2.7 KiB
Bash
Executable File
43 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Đảm bảo script dừng nếu có lỗi xảy ra
|
|
set -e
|
|
|
|
echo "🚀 Đang quét và cập nhật các đường dẫn import cho cấu trúc Monorepo..."
|
|
|
|
# --- 1. CẬP NHẬT BACKEND (NestJS) ---
|
|
|
|
# Cập nhật backend/src/main.ts
|
|
# Các Guard/Middleware nay nằm trong auth/ và common/
|
|
sed -i -E "s|from\s+['\"](\./)(admin\.guard\|jwt-auth\.guard\|jwt\.strategy)['\"]|from './auth/\2'|g" backend/src/main.ts
|
|
sed -i -E "s|from\s+['\"](\./)(rbac\.middleware)['\"]|from './common/\2'|g" backend/src/main.ts
|
|
# Đảm bảo Prisma service trỏ đúng về thư mục prisma ở root từ backend/src/
|
|
sed -i -E "s|from\s+['\"](\.\./)+(prisma/prisma\.service)['\"]|from '../../\2'|g" backend/src/main.ts
|
|
|
|
# Cập nhật các file trong backend/src/auth/ (Guards & Strategies)
|
|
# Từ backend/src/auth/ cần lùi 3 cấp để ra root prisma/
|
|
find backend/src/auth -name "*.ts" -exec sed -i -E "s|from\s+['\"](\.\./)+(prisma/prisma\.service)['\"]|from '../../../\2'|g" {} +
|
|
find backend/src/common -name "*.ts" -exec sed -i -E "s|from\s+['\"](\.\./)+(prisma/prisma\.service)['\"]|from '../../../\2'|g" {} +
|
|
|
|
|
|
# --- 2. CẬP NHẬT FRONTEND (React + Vite) ---
|
|
|
|
# Cập nhật App.tsx (frontend/src/App.tsx)
|
|
# Trỏ vào thư mục pages/ và store/
|
|
sed -i -E "s|from\s+['\"](\./)(LandingPage\|SignupPage\|TourDetailPage\|ExploreMap)['\"]|from './pages/\2'|g" frontend/src/App.tsx
|
|
sed -i -E "s|from\s+['\"](\./)(useTourStore)['\"]|from './store/\2'|g" frontend/src/App.tsx
|
|
|
|
# Cập nhật các Trang (frontend/src/pages/*.tsx)
|
|
# Các trang cần trỏ tới components/ và store/ nằm ở thư mục anh em
|
|
# Bao gồm: CreateTourModal, LoginModal, ExpenseManager, ItineraryTimeline, AddMemberModal, ConfirmModal, NotificationModal
|
|
find frontend/src/pages -name "*.tsx" -exec sed -i -E "s|from\s+['\"](\./\|@/components/)(CreateTourModal\|LoginModal\|ExpenseManager\|ItineraryTimeline\|AddMemberModal\|ConfirmModal\|NotificationModal)['\"]|from '../components/\2'|g" {} +
|
|
find frontend/src/pages -name "*.tsx" -exec sed -i -E "s|from\s+['\"](\./)(useTourStore)['\"]|from '../store/\2'|g" {} +
|
|
find frontend/src/pages -name "*.tsx" -exec sed -i -E "s|from\s+['\"](\./index\.css)['\"]|from '../index.css'|g" {} +
|
|
|
|
# Cập nhật các Component (frontend/src/components/*.tsx)
|
|
# Các component/modal cần trỏ tới store/
|
|
find frontend/src/components -name "*.tsx" -exec sed -i -E "s|from\s+['\"](\./)(useTourStore)['\"]|from '../store/\2'|g" {} +
|
|
|
|
echo "✅ Hoàn tất cập nhật Import Paths."
|
|
echo "💡 Lưu ý: Hãy kiểm tra lại các lỗi đỏ trong VS Code. Nếu bạn có sử dụng Path Alias (như @/components), chúng ta sẽ cấu hình nó ở bước tiếp theo trong tsconfig.json."
|