diff --git a/apps/web/biome.json b/apps/web/biome.json index 3eef3e9b..b776eb42 100644 --- a/apps/web/biome.json +++ b/apps/web/biome.json @@ -32,6 +32,7 @@ "noNonNullAssertion": "off" }, "suspicious": { + "noConsole": "error", "noExplicitAny": "error", "noUnknownAtRules": "off", "useIterableCallbackReturn": "off" diff --git a/apps/web/src/apis/Auth/postEmailVerification.ts b/apps/web/src/apis/Auth/postEmailVerification.ts index e9fe17f6..dfae1119 100644 --- a/apps/web/src/apis/Auth/postEmailVerification.ts +++ b/apps/web/src/apis/Auth/postEmailVerification.ts @@ -11,7 +11,6 @@ const usePostEmailSignUp = () => { return useMutation({ mutationFn: (data) => authApi.postEmailSignUp(data), onError: (error) => { - console.error("이메일 회원가입 실패:", error); toast.error("회원가입에 실패했습니다."); }, }); diff --git a/apps/web/src/apis/Auth/postSignUp.ts b/apps/web/src/apis/Auth/postSignUp.ts index c5068006..c907c7f2 100644 --- a/apps/web/src/apis/Auth/postSignUp.ts +++ b/apps/web/src/apis/Auth/postSignUp.ts @@ -11,7 +11,6 @@ const usePostSignUp = () => { return useMutation({ mutationFn: (data) => authApi.postSignUp(data), onError: (error) => { - console.error("회원가입 실패:", error); toast.error("회원가입에 실패했습니다."); }, }); diff --git a/apps/web/src/apis/Scores/postCreateGpa.ts b/apps/web/src/apis/Scores/postCreateGpa.ts index 7cf6174a..fa4fbb6b 100644 --- a/apps/web/src/apis/Scores/postCreateGpa.ts +++ b/apps/web/src/apis/Scores/postCreateGpa.ts @@ -18,7 +18,6 @@ export const usePostGpaScore = () => { }, onError: (error) => { - console.error("학점 제출 중 오류 발생:", error); toast.error("오류가 발생했습니다. 다시 시도해주세요."); }, }); diff --git a/apps/web/src/apis/Scores/postCreateLanguageTest.ts b/apps/web/src/apis/Scores/postCreateLanguageTest.ts index d4ebbc42..9b1f49fc 100644 --- a/apps/web/src/apis/Scores/postCreateLanguageTest.ts +++ b/apps/web/src/apis/Scores/postCreateLanguageTest.ts @@ -18,7 +18,6 @@ export const usePostLanguageTestScore = () => { }, onError: (error) => { - console.error("어학 성적 제출 중 오류 발생:", error); toast.error("오류가 발생했습니다. 다시 시도해주세요."); }, }); diff --git a/apps/web/src/apis/chat/putReadChatRoom.ts b/apps/web/src/apis/chat/putReadChatRoom.ts index 3aea8922..0602a25c 100644 --- a/apps/web/src/apis/chat/putReadChatRoom.ts +++ b/apps/web/src/apis/chat/putReadChatRoom.ts @@ -14,9 +14,7 @@ const usePutChatRead = () => { // 채팅방 목록 쿼리를 무효화하여 새로 고침 queryClient.invalidateQueries({ queryKey: [ChatQueryKeys.chatRooms] }); }, - onError: (error) => { - console.error("채팅방 진입 읽기 실패", error); - }, + onError: (error) => {}, }); }; diff --git a/apps/web/src/apis/community/deleteComment.ts b/apps/web/src/apis/community/deleteComment.ts index 77ca58ca..33f49dd8 100644 --- a/apps/web/src/apis/community/deleteComment.ts +++ b/apps/web/src/apis/community/deleteComment.ts @@ -23,7 +23,6 @@ const useDeleteComment = () => { toast.success("댓글이 삭제되었습니다."); }, onError: (error) => { - console.error("댓글 삭제 실패:", error); toast.error("댓글 삭제에 실패했습니다."); }, }); diff --git a/apps/web/src/apis/community/deleteLikePost.ts b/apps/web/src/apis/community/deleteLikePost.ts index 0c6a81b6..4d33e765 100644 --- a/apps/web/src/apis/community/deleteLikePost.ts +++ b/apps/web/src/apis/community/deleteLikePost.ts @@ -17,7 +17,6 @@ const useDeleteLike = () => { queryClient.invalidateQueries({ queryKey: [CommunityQueryKeys.posts, postId] }); }, onError: (error) => { - console.error("게시글 좋아요 취소 실패:", error); toast.error("좋아요 취소 처리에 실패했습니다."); }, }); diff --git a/apps/web/src/apis/community/deletePost.ts b/apps/web/src/apis/community/deletePost.ts index ab965a33..6bbe7717 100644 --- a/apps/web/src/apis/community/deletePost.ts +++ b/apps/web/src/apis/community/deletePost.ts @@ -20,7 +20,6 @@ interface DeletePostVariables { const revalidateCommunityPage = async (boardCode: string, accessToken: string) => { try { if (!accessToken) { - console.warn("Revalidation skipped: No access token available"); return; } @@ -32,9 +31,7 @@ const revalidateCommunityPage = async (boardCode: string, accessToken: string) = }, body: JSON.stringify({ boardCode }), }); - } catch (error) { - console.error("Revalidate failed:", error); - } + } catch (error) {} }; /** @@ -63,7 +60,6 @@ const useDeletePost = () => { router.replace(`/community/${variables.boardCode || "FREE"}`); }, onError: (error) => { - console.error("게시글 삭제 실패:", error); toast.error("게시글 삭제에 실패했습니다. 잠시 후 다시 시도해주세요."); }, }); diff --git a/apps/web/src/apis/community/patchUpdatePost.ts b/apps/web/src/apis/community/patchUpdatePost.ts index bec18c47..168a60b3 100644 --- a/apps/web/src/apis/community/patchUpdatePost.ts +++ b/apps/web/src/apis/community/patchUpdatePost.ts @@ -19,7 +19,6 @@ interface UpdatePostVariables { const revalidateCommunityPage = async (boardCode: string, accessToken: string) => { try { if (!accessToken) { - console.warn("Revalidation skipped: No access token available"); return; } @@ -31,9 +30,7 @@ const revalidateCommunityPage = async (boardCode: string, accessToken: string) = }, body: JSON.stringify({ boardCode }), }); - } catch (error) { - console.error("Revalidate failed:", error); - } + } catch (error) {} }; /** @@ -58,7 +55,6 @@ const useUpdatePost = () => { toast.success("게시글이 수정되었습니다."); }, onError: (error) => { - console.error("게시글 수정 실패:", error); toast.error("게시글 수정에 실패했습니다."); }, }); diff --git a/apps/web/src/apis/community/postCreateComment.ts b/apps/web/src/apis/community/postCreateComment.ts index 2004f1a1..cb22339f 100644 --- a/apps/web/src/apis/community/postCreateComment.ts +++ b/apps/web/src/apis/community/postCreateComment.ts @@ -18,7 +18,6 @@ const useCreateComment = () => { toast.success("댓글이 등록되었습니다."); }, onError: (error) => { - console.error("댓글 생성 실패:", error); toast.error("댓글 등록에 실패했습니다."); }, }); diff --git a/apps/web/src/apis/community/postCreatePost.ts b/apps/web/src/apis/community/postCreatePost.ts index 8a8d29ab..f4f6c1a3 100644 --- a/apps/web/src/apis/community/postCreatePost.ts +++ b/apps/web/src/apis/community/postCreatePost.ts @@ -13,7 +13,6 @@ import { CommunityQueryKeys, communityApi, type PostCreateRequest, type PostIdRe const revalidateCommunityPage = async (boardCode: string, accessToken: string) => { try { if (!accessToken) { - console.warn("Revalidation skipped: No access token available"); return; } @@ -25,9 +24,7 @@ const revalidateCommunityPage = async (boardCode: string, accessToken: string) = }, body: JSON.stringify({ boardCode }), }); - } catch (error) { - console.error("Revalidate failed:", error); - } + } catch (error) {} }; /** @@ -51,7 +48,6 @@ const useCreatePost = () => { toast.success("게시글이 등록되었습니다."); }, onError: (error) => { - console.error("게시글 생성 실패:", error); toast.error("게시글 등록에 실패했습니다."); }, }); diff --git a/apps/web/src/apis/community/postLikePost.ts b/apps/web/src/apis/community/postLikePost.ts index a723c7dd..da274aac 100644 --- a/apps/web/src/apis/community/postLikePost.ts +++ b/apps/web/src/apis/community/postLikePost.ts @@ -17,7 +17,6 @@ const usePostLike = () => { queryClient.invalidateQueries({ queryKey: [CommunityQueryKeys.posts, postId] }); }, onError: (error) => { - console.error("게시글 좋아요 실패:", error); toast.error("좋아요 처리에 실패했습니다."); }, }); diff --git a/apps/web/src/apis/image-upload/postUploadProfileImageBeforeSignup.ts b/apps/web/src/apis/image-upload/postUploadProfileImageBeforeSignup.ts index 88eb117d..c223dfd0 100644 --- a/apps/web/src/apis/image-upload/postUploadProfileImageBeforeSignup.ts +++ b/apps/web/src/apis/image-upload/postUploadProfileImageBeforeSignup.ts @@ -11,7 +11,6 @@ const useUploadProfileImagePublic = () => { return useMutation({ mutationFn: imageUploadApi.postUploadProfileImageBeforeSignup, onError: (error) => { - console.error("프로필 이미지 업로드 실패:", error); toast.error("이미지 업로드에 실패했습니다."); }, }); diff --git a/apps/web/src/apis/news/deleteNews.ts b/apps/web/src/apis/news/deleteNews.ts index ba0542de..5b92442e 100644 --- a/apps/web/src/apis/news/deleteNews.ts +++ b/apps/web/src/apis/news/deleteNews.ts @@ -38,7 +38,6 @@ const useDeleteArticle = (userId: number | null) => { queryClient.setQueryData(queryKey, context.previousArticleList); } toast.error("아티클 삭제에 실패했습니다. 다시 시도해주세요."); - console.error("Failed to delete article:", error); }, onSettled: () => { diff --git a/apps/web/src/apis/news/server/getNewsList.ts b/apps/web/src/apis/news/server/getNewsList.ts index 755816c2..c51bdccd 100644 --- a/apps/web/src/apis/news/server/getNewsList.ts +++ b/apps/web/src/apis/news/server/getNewsList.ts @@ -6,7 +6,6 @@ export const getHomeNewsList = async (): Promise => { const response = await serverFetch("/news"); if (!response.ok) { - console.error("Failed to fetch home news list:", response.error); return []; } diff --git a/apps/web/src/apis/universities/server/getRecommendedUniversity.ts b/apps/web/src/apis/universities/server/getRecommendedUniversity.ts index b3f7ae70..26372b73 100644 --- a/apps/web/src/apis/universities/server/getRecommendedUniversity.ts +++ b/apps/web/src/apis/universities/server/getRecommendedUniversity.ts @@ -9,7 +9,6 @@ const getRecommendedUniversity = async () => { const res = await serverFetch(endpoint); if (!res.ok) { - console.error(`Failed to fetch recommended universities:`, res.error); } return res; diff --git a/apps/web/src/apis/universities/server/getSearchUniversitiesByFilter.ts b/apps/web/src/apis/universities/server/getSearchUniversitiesByFilter.ts index d5a500ae..12396f36 100644 --- a/apps/web/src/apis/universities/server/getSearchUniversitiesByFilter.ts +++ b/apps/web/src/apis/universities/server/getSearchUniversitiesByFilter.ts @@ -40,7 +40,6 @@ export const getSearchUniversitiesByFilter = async ( const response = await serverFetch(endpoint); if (!response.ok) { - console.error(`Failed to search universities by filter:`, response.error); return []; } @@ -52,7 +51,6 @@ export const getSearchUniversitiesAllRegions = async (): Promise(endpoint); if (!response.ok) { - console.error(`Failed to fetch all regions universities:`, response.error); return []; } diff --git a/apps/web/src/apis/universities/server/getSearchUniversitiesByText.ts b/apps/web/src/apis/universities/server/getSearchUniversitiesByText.ts index dd20d096..d2267eaf 100644 --- a/apps/web/src/apis/universities/server/getSearchUniversitiesByText.ts +++ b/apps/web/src/apis/universities/server/getSearchUniversitiesByText.ts @@ -14,7 +14,6 @@ export const getUniversitiesByText = async (value: string): Promise(endpoint); if (!response.ok) { - console.error(`Failed to search universities by text (value: "${value}"):`, response.error); return []; } diff --git a/apps/web/src/apis/universities/server/getUniversityDetail.ts b/apps/web/src/apis/universities/server/getUniversityDetail.ts index 2ba5214c..3f119a2a 100644 --- a/apps/web/src/apis/universities/server/getUniversityDetail.ts +++ b/apps/web/src/apis/universities/server/getUniversityDetail.ts @@ -21,7 +21,6 @@ export const getUniversityDetailWithStatus = async ( const result = await serverFetch(`/univ-apply-infos/${universityInfoForApplyId}`); if (!result.ok) { - console.error(`Failed to fetch university detail (ID: ${universityInfoForApplyId}):`, result.error); return { ok: false, status: result.status, diff --git a/apps/web/src/app/api/revalidate/route.ts b/apps/web/src/app/api/revalidate/route.ts index bfcbc3fb..11a1568d 100644 --- a/apps/web/src/app/api/revalidate/route.ts +++ b/apps/web/src/app/api/revalidate/route.ts @@ -47,7 +47,6 @@ async function POST(request: NextRequest) { return NextResponse.json({ revalidated: false, message: "Forbidden" }, { status: 403 }); } } catch (error) { - console.error("Token verification failed:", error); return NextResponse.json({ revalidated: false, message: "Forbidden" }, { status: 403 }); } @@ -89,7 +88,6 @@ async function POST(request: NextRequest) { return NextResponse.json({ revalidated: false, message: "Missing path, tag, or boardCode" }, { status: 400 }); } catch (error) { - console.error("Revalidate error:", error); return NextResponse.json({ revalidated: false, message: "Error revalidating" }, { status: 500 }); } } diff --git a/apps/web/src/app/community/[boardCode]/[postId]/KebabMenu.tsx b/apps/web/src/app/community/[boardCode]/[postId]/KebabMenu.tsx index 5582f8dc..3a38239d 100644 --- a/apps/web/src/app/community/[boardCode]/[postId]/KebabMenu.tsx +++ b/apps/web/src/app/community/[boardCode]/[postId]/KebabMenu.tsx @@ -68,7 +68,6 @@ const KebabMenu = ({ postId, boardCode, isOwner = false, authorId }: KebabMenuPr await navigator.clipboard.writeText(url); toast.success("URL이 복사되었습니다."); } catch (err) { - console.error("Failed to copy URL:", err); toast.error("URL 복사에 실패했습니다."); } }; diff --git a/apps/web/src/app/mentor/chat/[chatId]/_ui/ChatContent/_hooks/useChatListHandler.ts b/apps/web/src/app/mentor/chat/[chatId]/_ui/ChatContent/_hooks/useChatListHandler.ts index f2d0389e..88cef9ef 100644 --- a/apps/web/src/app/mentor/chat/[chatId]/_ui/ChatContent/_hooks/useChatListHandler.ts +++ b/apps/web/src/app/mentor/chat/[chatId]/_ui/ChatContent/_hooks/useChatListHandler.ts @@ -80,7 +80,6 @@ const useChatListHandler = (chatId: number) => { body: JSON.stringify({ content, senderId }), }); } else { - console.error("WebSocket is not connected. Message could not be sent."); // 여기에 메시지 전송 실패에 대한 UI 피드백 로직을 추가할 수 있습니다. (e.g., alert, toast) } }, @@ -100,7 +99,6 @@ const useChatListHandler = (chatId: number) => { return true; } - console.error("WebSocket is not connected. Image message could not be sent."); return false; }, [chatId, connectionStatus], diff --git a/apps/web/src/app/mentor/chat/[chatId]/_ui/ChatContent/_lib/dateUtils.ts b/apps/web/src/app/mentor/chat/[chatId]/_ui/ChatContent/_lib/dateUtils.ts index 735f1ba4..334c065e 100644 --- a/apps/web/src/app/mentor/chat/[chatId]/_ui/ChatContent/_lib/dateUtils.ts +++ b/apps/web/src/app/mentor/chat/[chatId]/_ui/ChatContent/_lib/dateUtils.ts @@ -5,7 +5,6 @@ export const formatDateSeparator = (dateString: string) => { // Invalid date 체크 if (Number.isNaN(date.getTime())) { - console.error("Invalid date string:", dateString); return ""; } diff --git a/apps/web/src/app/university/score/submit/language-test/LanguageTestSubmitForm.tsx b/apps/web/src/app/university/score/submit/language-test/LanguageTestSubmitForm.tsx index b5bf50a0..6eaecc45 100644 --- a/apps/web/src/app/university/score/submit/language-test/LanguageTestSubmitForm.tsx +++ b/apps/web/src/app/university/score/submit/language-test/LanguageTestSubmitForm.tsx @@ -55,7 +55,6 @@ const LanguageTestSubmitForm = () => { setSubmittedData(data); } catch (error) { // 실패 시 처리 (알림, 로그 등) - console.error("어학 성적 제출 실패:", error); toast.error("제출에 실패했습니다. 다시 시도해주세요."); } }; diff --git a/apps/web/src/components/layout/ReissueProvider/index.tsx b/apps/web/src/components/layout/ReissueProvider/index.tsx index e1cb7f61..e5dfc3fc 100644 --- a/apps/web/src/components/layout/ReissueProvider/index.tsx +++ b/apps/web/src/components/layout/ReissueProvider/index.tsx @@ -48,9 +48,7 @@ const ReissueProvider: React.FC = ({ children }) => { useAuthStore.getState().setLoading(false); } } - } catch (error) { - console.error("Error initializing auth:", error); - } + } catch (error) {} }; initializeAuth(); diff --git a/apps/web/src/components/login/signup/SignupSurvey.tsx b/apps/web/src/components/login/signup/SignupSurvey.tsx index de393136..fa719ac0 100644 --- a/apps/web/src/components/login/signup/SignupSurvey.tsx +++ b/apps/web/src/components/login/signup/SignupSurvey.tsx @@ -63,7 +63,6 @@ const SignupSurvey = ({ baseNickname, baseEmail, baseProfileImageUrl }: SignupSu imageUrl = result.fileUrl; } catch (err: unknown) { const error = err as { message?: string }; - console.error("Error", error.message); // toast.error는 hook의 onError에서 이미 처리되므로 중복 호출 제거 } } @@ -96,17 +95,14 @@ const SignupSurvey = ({ baseNickname, baseEmail, baseProfileImageUrl }: SignupSu message?: string; }; if (axiosError.response) { - console.error("Axios response error", axiosError.response); toast.error(axiosError.response.data?.message || "회원가입에 실패했습니다."); } else { - console.error("Error", axiosError.message); toast.error(axiosError.message || "회원가입에 실패했습니다."); } }, }); } catch (err: unknown) { const error = err as { message?: string }; - console.error("Error", error.message); toast.error(error.message || "회원가입에 실패했습니다."); } }; diff --git a/apps/web/src/components/modal/SurveyModal.tsx b/apps/web/src/components/modal/SurveyModal.tsx index 04018009..6c5c0bb9 100644 --- a/apps/web/src/components/modal/SurveyModal.tsx +++ b/apps/web/src/components/modal/SurveyModal.tsx @@ -42,7 +42,6 @@ const SurveyModal = ({ isOpen, onClose, onCloseForWeek }: SurveyModalProps) => { } } catch (error) { // 예외 발생 시 - console.error("Failed to open survey:", error); toast.error("설문 링크를 열 수 없습니다. 수동으로 https://forms.gle/MgygciRxAqfXSWJb6 를 열어주세요."); } }; diff --git a/apps/web/src/lib/web-socket/useConnectWebSocket.ts b/apps/web/src/lib/web-socket/useConnectWebSocket.ts index 274f3e08..11532820 100644 --- a/apps/web/src/lib/web-socket/useConnectWebSocket.ts +++ b/apps/web/src/lib/web-socket/useConnectWebSocket.ts @@ -61,15 +61,11 @@ const useConnectWebSocket = ({ roomId, clientRef }: UseConnectWebSocketProps): U } setSubmittedMessages((prev) => [...prev, receivedMessage]); - } catch (error) { - console.error("Failed to parse message body:", error); - } + } catch (error) {} }); }; client.onStompError = (frame) => { - console.error(`Broker reported error: ${frame.headers.message}`); - console.error(`Additional details: ${frame.body}`); setConnectionStatus(ConnectionStatus.Error); }; @@ -80,7 +76,6 @@ const useConnectWebSocket = ({ roomId, clientRef }: UseConnectWebSocketProps): U client.activate(); clientRef.current = client; } catch (error) { - console.error("Failed to connect WebSocket:", error); setConnectionStatus(ConnectionStatus.Error); } }; diff --git a/apps/web/src/lib/zustand/useSurveyModalStore.ts b/apps/web/src/lib/zustand/useSurveyModalStore.ts index ccd23d29..b31e9376 100644 --- a/apps/web/src/lib/zustand/useSurveyModalStore.ts +++ b/apps/web/src/lib/zustand/useSurveyModalStore.ts @@ -34,7 +34,6 @@ export const useSurveyModalStore = create((set) => ({ try { localStorage.setItem(SURVEY_MODAL_STORAGE_KEY, weekLater.toString()); } catch (error) { - console.warn("Failed to save survey modal hide preference:", error); // 로컬스토리지 저장 실패해도 모달은 닫기 } set({ isOpen: false }); @@ -60,7 +59,6 @@ export const useSurveyModalStore = create((set) => ({ try { hideUntil = localStorage.getItem(SURVEY_MODAL_STORAGE_KEY); } catch (error) { - console.warn("Failed to read survey modal hide preference:", error); // 로컬스토리지 읽기 실패 시 모달 표시 set({ isOpen: true }); return; @@ -73,9 +71,7 @@ export const useSurveyModalStore = create((set) => ({ // 잘못된 값인 경우 저장된 키 제거 try { localStorage.removeItem(SURVEY_MODAL_STORAGE_KEY); - } catch (error) { - console.warn("Failed to remove invalid survey modal preference:", error); - } + } catch (error) {} set({ isOpen: true }); return; } diff --git a/apps/web/src/utils/authCookieUtils.ts b/apps/web/src/utils/authCookieUtils.ts index f6c9af67..9b1b0ad8 100644 --- a/apps/web/src/utils/authCookieUtils.ts +++ b/apps/web/src/utils/authCookieUtils.ts @@ -5,7 +5,6 @@ export const getTokenExpirationSeconds = (accessToken: string): number | null => const now = Math.floor(Date.now() / 1000); return Math.max(0, exp - now); } catch (error) { - console.error("Failed to parse JWT token:", error); return null; } }; diff --git a/apps/web/src/utils/authUtils.ts b/apps/web/src/utils/authUtils.ts index efcdccd2..b45c21b8 100644 --- a/apps/web/src/utils/authUtils.ts +++ b/apps/web/src/utils/authUtils.ts @@ -43,13 +43,11 @@ export const appleLogin = async () => { } } catch (error) { // Log error for developers - console.error("Apple 로그인 실패:", error); // Check if user cancelled the login const errorMessage = error instanceof Error ? error.message : String(error); if (errorMessage.includes("popup_closed_by_user") || errorMessage.includes("user_cancelled_authorize")) { // User intentionally cancelled - no need to show error - console.log("Apple 로그인이 사용자에 의해 취소되었습니다."); return; } diff --git a/apps/web/src/utils/datetimeUtils.ts b/apps/web/src/utils/datetimeUtils.ts index 5e21f346..b6ff6d2d 100644 --- a/apps/web/src/utils/datetimeUtils.ts +++ b/apps/web/src/utils/datetimeUtils.ts @@ -5,7 +5,6 @@ */ const logInvalidDate = (dateString: string, functionName: string) => { if (process.env.NODE_ENV !== "production") { - console.error(`[${functionName}] Invalid date string:`, dateString); } }; diff --git a/apps/web/src/utils/errorHandler.ts b/apps/web/src/utils/errorHandler.ts index 587c7569..fa94bbe8 100644 --- a/apps/web/src/utils/errorHandler.ts +++ b/apps/web/src/utils/errorHandler.ts @@ -22,13 +22,11 @@ export const handleMutationError = ( // Axios 에러 처리 if (error instanceof AxiosError) { const errorMessage = (error.response?.data as { message?: string })?.message || defaultMessage; - console.error("API Error:", errorMessage, error); toast.error(errorMessage); return; } // 기타 에러 처리 - console.error("Unknown Error:", error); toast.error(defaultMessage); }; diff --git a/apps/web/src/utils/fileUtils.ts b/apps/web/src/utils/fileUtils.ts index 7c638193..4acf897f 100644 --- a/apps/web/src/utils/fileUtils.ts +++ b/apps/web/src/utils/fileUtils.ts @@ -23,14 +23,12 @@ export const downloadFile = async (url: string, fileName?: string) => { try { new URL(url); } catch (error) { - console.error("유효하지 않은 URL입니다:", error); return; } try { const res = await fetch(url, { credentials: "include" }); if (!res.ok) { - console.error("파일을 가져오지 못했습니다:", res.status); return; } const blob = await res.blob(); @@ -43,9 +41,7 @@ export const downloadFile = async (url: string, fileName?: string) => { link.click(); document.body.removeChild(link); URL.revokeObjectURL(blobUrl); - } catch (err) { - console.error("다운로드 중 오류:", err); - } + } catch (err) {} }; // 로컬 파일 다운로드 함수 (File 객체용) @@ -68,7 +64,6 @@ export const convertUploadedImageUrl = (url: string | null | undefined): string if (!url) return ""; if (url.startsWith("http") || url.startsWith("blob")) return url; if (!NEXT_PUBLIC_UPLOADED_IMAGE_URL) { - console.error("NEXT_PUBLIC_UPLOADED_IMAGE_URL is not defined"); return url; } return `${NEXT_PUBLIC_UPLOADED_IMAGE_URL}/${url}`; @@ -79,7 +74,6 @@ export const convertImageUrl = (url: string | null | undefined): string => { if (url.startsWith("https://img.example")) return `${NEXT_PUBLIC_IMAGE_URL}/${url}`; if (url.startsWith("http") || url.startsWith("blob")) return url; if (!NEXT_PUBLIC_IMAGE_URL) { - console.error("NEXT_PUBLIC_IMAGE_URL is not defined"); return url; } return `${NEXT_PUBLIC_IMAGE_URL}/${url}`; diff --git a/apps/web/src/utils/jwtUtils.ts b/apps/web/src/utils/jwtUtils.ts index 43cfbae1..be8f9d8f 100644 --- a/apps/web/src/utils/jwtUtils.ts +++ b/apps/web/src/utils/jwtUtils.ts @@ -12,7 +12,6 @@ export const isTokenExpired = (token: string | null): boolean => { const currentTime = Math.floor(Date.now() / 1000); return payload.exp < currentTime; } catch (error) { - console.error("토큰 파싱 오류:", error); return true; // 토큰이 유효하지 않으면 만료된 것으로 간주 } }; @@ -26,7 +25,6 @@ export const tokenParse = (token: string | null): JwtPayload | null => { const payload = JSON.parse(atob(token.split(".")[1])) as JwtPayload; return payload; } catch (error) { - console.error("토큰 파싱 오류:", error); return null; } }; diff --git a/apps/web/src/utils/localStorageUtils.ts b/apps/web/src/utils/localStorageUtils.ts index 66e4202a..49f8345a 100644 --- a/apps/web/src/utils/localStorageUtils.ts +++ b/apps/web/src/utils/localStorageUtils.ts @@ -18,9 +18,6 @@ * @deprecated useAuthStore의 setAccessToken을 사용하세요 */ export const saveAccessTokenToLS = (token: string) => { - console.warn( - "[DEPRECATED] saveAccessTokenToLS는 더 이상 사용되지 않습니다. useAuthStore의 setAccessToken을 사용하세요.", - ); localStorage.setItem("accessToken", token); }; @@ -28,9 +25,6 @@ export const saveAccessTokenToLS = (token: string) => { * @deprecated useAuthStore의 clearAccessToken을 사용하세요 */ export const removeAccessTokenToLS = () => { - console.warn( - "[DEPRECATED] removeAccessTokenToLS는 더 이상 사용되지 않습니다. useAuthStore의 clearAccessToken을 사용하세요.", - ); localStorage.removeItem("accessToken"); }; @@ -38,9 +32,6 @@ export const removeAccessTokenToLS = () => { * @deprecated useAuthStore의 accessToken 상태를 직접 읽으세요 */ export const getAccessTokenFromLS = (): string | null => { - console.warn( - "[DEPRECATED] getAccessTokenFromLS는 더 이상 사용되지 않습니다. useAuthStore의 accessToken 상태를 사용하세요.", - ); if (typeof window === "undefined") return null; return localStorage.getItem("accessToken"); };