
토스뱅크가 패키지를 관리하는 방식 #2: 토스뱅크 패키지의 세 가지 기준
두줄요약
패키지의 문법과 모듈 구조를 유지하고, 환경별 변환과 번들링은 호스트에 맡겼습니다. declaration sourcemap과 원본 파일을 제공해 사용처의 구현 확인과 디버깅을 지원합니다.
문제 상황
- 호스트별 브라우저·런타임 지원 범위 차이로 인한 패키지 호환성 검증 부담
- 패키지 원본 코드 확인 어려움에 따른 사용처 디버깅 제약
구조와 흐름
- 패키지 빌드 단계의 TypeScript→JavaScript 변환
- 호스트 단계의 실행 환경별 문법 변환과 최종 번들링
- declaration sourcemap과 원본 파일 제공을 통한 IDE 구현 추적
선택 이유
- 호스트별 지원 범위에 맞춘 불필요한 문법 하향 변환 방지
- Next.js App Router 등의 파일별 지시문과 모듈 경계 보존
- 안정성·예측 가능성·디버깅 편의성 중심의 역할 분리
주의할 점
- 트랜스파일러의 문법 변환 지원 여부와 런타임 API·폴리필 지원 여부의 분리 검증
- TypeScript 설정만으로 확인하기 어려운 실제 API 지원 범위와 문법 변환 가능성 점검
