Si todavía usas lodash: reduce el bundle un 97% con una sola línea en `package.json` (es-toolkit)
(toss.tech)Este es un artículo que resume el proceso por el que es-toolkit, una biblioteca de utilidades de JavaScript creada por el equipo de frontend de Toss como reemplazo de lodash, superó los 10 millones de descargas semanales en npm.
- Partió en 2024 de la pregunta: “¿Ha salido alguna vez de Corea una librería de JS usada a nivel global?”
- Desde que
lodashfue diseñado hace 10 años, el entorno cambió mucho con ES Modules, tree shaking, optimizaciones del motor V8 y TypeScript, pero su estructura siguió igual; vieron ahí una oportunidad y la rediseñaron desde cero - Frente a
lodash, reduce el tamaño del bundle hasta un 97%, mejora el rendimiento en runtime entre 2 y 3 veces y tiene 100% de cobertura de pruebas - Ejemplo: tomando 5 funciones (
groupBy,keyBy,pick,omit,debounce),lodash-esocupa ~30KB yes-toolkit~1KB - Con
es-toolkit/compatse puede reemplazarlodashcomo drop-in con compatibilidad del 100%. Basta con cambiar una sola línea enpackage.json:"lodash": "npm:es-toolkit@^1.44.0"; se puede migrar sin modificar el código - Microsoft, Yarn, Storybook, IBM, Recharts e Ink lo adoptaron de forma voluntaria. Recientemente, Dify también está migrando desde
lodash - Crecimiento constante sin un momento viral: 100K → 500K → 1M → 5M → 10M
- En el comité de open source de Toss también están desarrollando otras bibliotecas como
overlay-kit,use-funnelysuspensive
2 comentarios
Mmm..
Normalmente usaría
lodash-es, pero si es hecho localmente y tiene compatibilidad del 100%, sí vale la pena darle una oportunidad.Pero, pensándolo bien, ¿cuánto tiempo lleva desde la última vez que usé lodash...?