Skip to content

✨ feat: 범용 error boundary를 추가한다#1

Merged
milk717 merged 7 commits intomainfrom
feature/base-error-boundary
Jul 3, 2025
Merged

✨ feat: 범용 error boundary를 추가한다#1
milk717 merged 7 commits intomainfrom
feature/base-error-boundary

Conversation

@milk717
Copy link
Collaborator

@milk717 milk717 commented Jul 3, 2025

✨ 작업 배경 #

현재 패키지의 문제점

  1. 패키지 명칭과 기능의 불일치
    패키지 이름: @dhlab/error-boundary
    실제 제공 기능: ApiErrorBoundary만 지원
    문제: 패키지 이름은 일반적이지만 API 에러 처리에만 특화된 기능만 제공

  2. 의존성 관리의 불편함
    현재: react-error-boundary를 peerDependencies로 별도 설치 필요
    문제: 사용자가 에러 바운더리를 사용하기 위해 추가 패키지 설치가 필요
    결과: 설치 과정 복잡화 및 버전 충돌 가능성

  3. 기능 확장성 부족
    현재: API 에러 처리에만 특화
    필요: 일반적인 에러 바운더리 기능 + 고급 기능 (ignoreError 등)
    문제: 다양한 에러 처리 요구사항을 충족하지 못함

해결 방안

  1. 일반 ErrorBoundary 구현
    react-error-boundary를 기반으로 한 확장된 ErrorBoundary 구현
    핵심 추가 기능: ignoreError 옵션으로 특정 에러 무시 가능
    기존 react-error-boundary의 모든 기능 지원 (fallback, resetKeys, onError 등)

  2. 종속성 해결
    react-error-boundary의 모든 기능을 BaseErrorBoundary로 재내보내기
    사용자가 추가 패키지 설치 없이 모든 에러 바운더리 기능 사용 가능
    버전 충돌 문제 해결

BaseErrorBoundary (react-error-boundary)
    ↓
ErrorBoundary (일반 + ignoreError)
    ↓  
ApiErrorBoundary (API 특화)

💻 작업 내용 #

  • 일반 ErrorBoundary 구현 (ignoreError 기능 포함)
  • 포괄적인 테스트 코드 작성 (42개 테스트 통과)
  • react-error-boundary를 BaseErrorBoundary로 재내보내기
  • TypeScript 타입 정의 완성
  • MIT 라이센스 추가
  • 코드 커버리지 설정 (70.14%)
  • ApiErrorBoundary를 새로운 ErrorBoundary 기반으로 재구현

🏃 기능 동작 시연 #

💬 코멘트 #

@milk717 milk717 self-assigned this Jul 3, 2025
@milk717 milk717 added the enhancement New feature or request label Jul 3, 2025
@milk717 milk717 merged commit beeb664 into main Jul 3, 2025
3 checks passed
@milk717 milk717 deleted the feature/base-error-boundary branch July 3, 2025 06:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant