
프론트엔드
97% Smaller, 2x Faster: How es-toolkit Reached 10 Million Weekly Downloads
두줄요약
토스가 lodash 대체용 JavaScript 유틸리티 라이브러리 es-toolkit을 소개했습니다.\nES Modules와 TypeScript 기반 재설계로 번들 크기와 성능을 크게 개선했습니다.
핵심 내용
- es-toolkit은 lodash 대체를 목표로 만든 현대적 JavaScript 유틸리티 라이브러리
- ES Modules, TypeScript, 런타임 성능, 트리 셰이킹을 중심으로 재설계
- 함수별 독립 구조와 es-toolkit/compat로 번들 크기와 마이그레이션 비용을 절감
선택 이유
- 기존 lodash는 ES Modules 이전 구조와 내부 의존성으로 최적화 한계 존재
- 현대 웹 환경에서는 번들 크기와 Core Web Vitals, 타입 안정성이 중요
- 토스는 이런 변화에 맞춰 처음부터 다시 설계하는 방향을 선택
장단점
- 장점: 최대 97% 작은 번들, 2배 이상 빠른 성능, 내장 TypeScript, 100% 호환 레이어
- 장점: 5분 수준의 import 교체 또는 package.json 별칭으로 빠른 전환 가능
- 단점: lodash의 전통적 구조를 그대로 유지하는 방식은 최적화에 불리
적용해볼 점
- 기존 lodash 사용 프로젝트에서 es-toolkit으로 점진적 전환 검토
- compatibility 레이어로 코드 변경 없이 먼저 성능과 번들 개선 확인
- 자주 쓰는 유틸 함수의 독립 배포와 타입 동봉 구조 참고