본문으로 이동
es-toolkit: How a Small Internal Library Became a Global Project
문서

es-toolkit: How a Small Internal Library Became a Global Project

박서진/이다용 토스 · 토스 기술 블로그

원문 보기

AI 핵심 요약

토스 팀은 lodash의 오래된 코드, 불필요한 레거시 브라우저 대응, 트리 셰이킹 제약과 자체 유틸리티 라이브러리의 유지보수 부담을 해결하기 위해 es-toolkit을 만들었다. 현대 브라우저의 내장 기능을 활용하고 불필요한 로직을 제거해 성능과 번들 크기를 개선했으며, lodash와 동작·인터페이스를 맞춘 es-toolkit/compat을 제공해 기존 프로젝트가 import 변경만으로 전환할 수 있도록 했다. 커뮤니티 기여와 Storybook, Mermaid, Yarn Berry, Recharts 등의 도입을 거치며 프로젝트가 확산됐고, 주간 npm 다운로드는 2천만 회를 넘어섰다. 팀은 앞으로도 최신 JavaScript 환경과 서버 런타임에 필요한 기능을 추가하되, 80% 이상의 사용 사례를 작고 빠르게 지원한다는 원칙을 이어가려 한다.

  • 레거시 브라우저 대응 코드와 자체 구현 로직을 덜어내고, 현대 브라우저의 내장 기능을 활용하면 성능과 번들 크기를 함께 개선할 수 있다.
  • lodash와 호환되는 인터페이스를 유지하면서 내부 구현만 바꾸는 호환 계층은 기존 프로젝트의 마이그레이션 부담을 낮춘다.
  • 유틸리티 함수는 엣지 케이스가 많으므로, 직접 유지보수하기보다 검증된 공통 라이브러리를 활용하는 편이 부담을 줄일 수 있다.
  • 오픈소스 프로젝트에 작은 PR부터 꾸준히 참여하고 리뷰를 받는 과정은 인터페이스 설계와 JavaScript를 익히는 기회가 된다.

소개

*This is the English version of a previously published article. Hello! We're Sojin Park, Head of Frontend Engineering at Toss, and Dayong Lee, Frontend Developer at Toss Bank. Today, we'd like to share the story of es-toolkit: how it started as a small utility function library inside Toss and grew i...

비슷한 학습 자료

문서 한주연

2. Beyond Our Expertise

문서 한주연

This is the story of how we turned Technical Writers’ challenges and expertise into a product called "todoc", and how the process helped us take that expertise even further.

문서 한주연

The Toss Frontend team no longer has to dig through documents to find what they need. We’re building an environment where developers can get immediate answers to their questions through docs and AI. Here’s how we built a new documentation system that lets developers focus entirely on development.

프론트엔드 AI에이전트 개발

문서 박서진/이다용

안녕하세요, 토스 Frontend Engineering Head 박서진, 토스뱅크 Frontend Developer 이다용입니다. 오늘은 토스의 작은 유틸리티 함수 라이브러리로 시작한 es-toolkit이 어떻게 일주일에 2천만 회 이상 다운로드되고, Yarn이나 Recharts 같은 핵심 라이브러리에서도 사용되었는지 그 성장한 과정을 소개해 드릴게요. [서진] es-toolkit의 시작 프론트엔드 개발자로서 throttle, debounce 나 uniq 같은 함수들이 자주 필요해요. 그런데 지금까지는 자신 있게 이러한 유틸리티 함...

프론트엔드 프로그래밍 언어

문서 문동욱

A drop-in lodash replacement built for how JavaScript actually works today — ES Modules, TypeScript, and significantly smaller bundles. Adopted by Microsoft, Storybook, and Yarn. 10M+ weekly npm downloads.

프론트엔드 프로그래밍 언어

문서 장호승

Node.js에는 두 가지 Module System이 존재합니다. 토스 프론트엔드 챕터에서 운영하는 100개가 넘는 라이브러리들은 그것에 어떻게 대응하고 있을까요?

백엔드 프로그래밍 언어

문서 박지우

기술 부채는 개발할수록 쌓여만 갑니다. 프론트엔드 챕터가 JSCodeShift를 이용하여 순식간에 100개 서비스의 기술 부채를 해결한 경험을 소개합니다.

프론트엔드 개발 도구