콘텐츠

토스뱅크가 패키지를 관리하는 방식 #1: 패키지를 ESM으로만 제공하기로 했어요

스토리 · 토스 테크 · 2026.10.15

토스뱅크 기술그룹에서 패키지 개발 환경을 ESM-only로 전환하며 겪은 경험을 공유해 드려요. 그동안 토스뱅크는 여러 서비스가 함께 사용하는 코드를 패키지로 관리하기 위해 ESM과 CJS 두 형식을 모두 지원하는 Dual package 방식을 사용해 왔답니다. 하지만 이 방식은 동일한 패키지임에도 실행 환경에 따라 상태가 나뉘는 Dual package hazard를 유발하거나, TypeScript에서 타입을 제대로 찾지 못하는 등 개발과 디버깅을 복잡하게 만드는 문제점이 있었어요. 이에 토스뱅크는 Node.js의 발전과 사내 환경의 예측 가능성을 고려하여 ESM-only로 전환을 결정했답니다. 이를 통해 패키지를 만드는 쪽은 두 가지 구현과 타입을 관리해야 하는 부담을 덜었고, 사용하는 쪽에서도 실행 경로를 추적할 필요가 줄어들어 더욱 단순하고 안정적인 개발 환경을 구축할 수 있게 되었어요.