토스 프론트엔드 팀에서 만든 lodash 대체 JavaScript 유틸리티 라이브러리 es-toolkit이 npm 주간 다운로드 1,000만 건을 넘기기까지의 과정을 정리한 글입니다.

  • 2024년 "한국에서 세계적으로 사용되는 JS 라이브러리가 나온 적이 있나?"라는 질문에서 출발
  • lodash가 10년 전 설계된 이후 ES Modules, 트리 셰이킹, V8 엔진 최적화, TypeScript 등 환경이 크게 달라졌는데 구조는 그대로인 점을 기회로 보고 처음부터 새로 설계
  • lodash 대비 번들 사이즈 최대 97% 감소, 런타임 성능 2~3배 향상, 100% 테스트 커버리지
  • 예: groupBy, keyBy, pick, omit, debounce 5개 함수 기준 lodash-es는 ~30KB, es-toolkit은 ~1KB
  • es-toolkit/compat을 통해 lodash 100% 호환 드롭인 교체 가능. package.json에서 "lodash": "npm:es-toolkit@^1.44.0" 한 줄만 바꾸면 코드 수정 없이 전환 가능
  • Microsoft, Yarn, Storybook, IBM, Recharts, Ink 등이 자발적으로 채택. 최근에는 Dify도 lodash에서 마이그레이션 진행
  • 바이럴 모먼트 없이 꾸준히 성장: 100K → 500K → 1M → 5M → 10M
  • 토스 오픈소스 위원회에서 overlay-kit, use-funnel, suspensive 등 다른 라이브러리들도 함께 개발 중