피드로 돌아가기
es-toolkit, 사내 작은 라이브러리가 전세계적인 라이브러리가 되기까지
토스 기술블로그토스 기술블로그
Frontend

es-toolkit, 사내 작은 라이브러리가 전세계적인 라이브러리가 되기까지

Toss의 es-toolkit을 통한 TypeScript 유틸리티 성능 최적화 및 오픈소스 생태계 확장

2026년 6월 22일1intermediate

Context

범용적인 TypeScript/JavaScript 유틸리티 라이브러리의 과도한 번들 크기와 성능 저하 문제 발생. DX(Developer Experience) 향상과 런타임 효율성을 동시에 확보해야 하는 고성능 프런트엔드 환경의 제약 사항 존재.

Technical Solution

  • TypeScript 기반의 엄격한 타입 시스템 적용을 통한 Type-safe한 유틸리티 설계
  • Tree-shaking 최적화를 고려한 모듈 구조 설계를 통한 최종 번들 사이즈 최소화
  • React Suspense의 프로덕션 적용을 위한 suspensive 라이브러리의 빌딩 블록 구조 구현
  • 모달 및 팝오버의 선언적 관리를 위한 overlay-kit의 Declarative Primitive 설계
  • 멀티 스텝 화면의 상태 관리를 위한 use-funnel의 Type-safe UI Flow 제어 로직 구축
  • Node 환경에서의 빠른 데이터 접근을 위한 es-git의 Git 데이터 액세스 유틸리티 최적화

1. 라이브러리 설계 시 Tree-shaking이 가능한 구조인지 확인

2. 단순 기능 구현을 넘어 TypeScript의 고급 타입을 활용한 Type-safety 보장 여부 검토

3. 반복되는 UI 패턴을 Declarative Primitive로 추상화하여 재사용성 극대화

원문 읽기