성능 최적화와 글로벌 커뮤니티 영업으로 증명한 K-오픈소스의 저력
토스 사내 유틸리티로 시작해 글로벌 2,000만 다운로드를 기록한 es-toolkit의 탄생부터 글로벌 오픈소스 성장기까지를 다룹니다. 현대 웹 표준을 활용한 성능 극대화 전략과 마이그레이션 장벽을 낮춘 설계를 통해 전 세계 개발자들을 설득한 실전 노하우를 공유합니다.
웹 서비스의 초기 로딩 성능과 번들 사이즈 최적화가 고민인 시니어 개발자에게 lodash의 현대적 대안으로 es-toolkit 도입을 강력히 추천합니다.
기존의 lodash 라이브러리는 오래된 브라우저 지원을 위한 방어적 로직이 포함되어 성능이 비효율적이었고, ESM 미지원으로 인해 트리 쉐이킹이 어려워 번들 사이즈가 불필요하게 커지는 문제가 있었습니다.
현대적인 JavaScript 환경에 맞춰 레거시 대응 코드를 제거하고 ESM을 기본 지원하도록 설계했으며, 기존 lodash 사용자들이 쉽게 마이그레이션할 수 있도록 인터페이스를 유지한 'es-toolkit/compat' 레이어를 도입했습니다.
성능은 lodash 대비 2배에서 10배가량 빨라졌으며, 번들 사이즈는 최대 97%까지 절감하는 성과를 거두었습니다. 현재 주간 NPM 다운로드 2,000만 회를 돌파하며 Yarn, Recharts 등 주요 오픈소스 프로젝트의 의존성으로 채택되었습니다.
Trade-off
80%의 주요 유스케이스 최적화에 집중하였기에 모든 엣지 케이스를 지원하는 lodash와 완벽하게 일치하지 않을 수 있으며, 이를 보완하기 위해 별도의 호환성 레이어를 사용해야 하는 번거로움이 있을 수 있습니다.
사용하지 않는 코드(Dead Code)를 빌드 결과물에서 제외하여 최종 번들 파일의 크기를 줄이는 최적화 기술입니다.
JavaScript의 표준 모듈 시스템으로, import와 export를 통해 코드의 정적 분석이 가능하게 해줍니다.
기존의 코드 수정 없이 라이브러리 교체만으로 기능을 동일하게 대체할 수 있는 방식을 의미합니다.






