Wenn du lodash noch nutzt – mit einer Zeile in der package.json das Bundle um 97 % verkleinern (es-toolkit)
(toss.tech)Ein Beitrag, der den Weg beschreibt, wie die vom Toss-Frontend-Team entwickelte JavaScript-Utility-Bibliothek es-toolkit als Ersatz für lodash die Marke von 10 Millionen wöchentlichen Downloads auf npm überschritten hat.
- Ausgangspunkt war 2024 die Frage: „Ist jemals eine in Korea entwickelte JS-Bibliothek weltweit genutzt worden?“
- Seit lodash vor 10 Jahren entworfen wurde, haben sich die Rahmenbedingungen mit ES Modules, Tree Shaking, V8-Engine-Optimierung und TypeScript stark verändert. Dass die Struktur dennoch unverändert blieb, wurde als Chance gesehen, alles von Grund auf neu zu entwerfen.
- Gegenüber lodash bis zu 97 % kleinere Bundle-Größe, 2- bis 3-fach bessere Runtime-Performance und 100 % Testabdeckung
- Beispiel: Bei den fünf Funktionen groupBy, keyBy, pick, omit und debounce liegt
lodash-esbei ~30 KB, es-toolkit bei ~1 KB - Über es-toolkit/compat ist ein zu 100 % lodash-kompatibler Drop-in-Ersatz möglich. In der
package.jsonmuss nur eine Zeile zu"lodash": "npm:es-toolkit@^1.44.0"geändert werden, um ohne Code-Anpassungen zu wechseln. - Microsoft, Yarn, Storybook, IBM, Recharts und Ink haben es freiwillig übernommen. Zuletzt migriert auch Dify von lodash.
- Stetiges Wachstum ohne viralen Moment: 100K → 500K → 1M → 5M → 10M
- Im Toss Open Source Committee werden parallel auch andere Bibliotheken wie overlay-kit, use-funnel und suspensive entwickelt
2 Kommentare
Hm..
Normalerweise würde man
lodash-esverwenden, aber wenn es aus Korea kommt und 100% kompatibel ist, ist es durchaus einen Blick wert.Wobei – wie lange ist es eigentlich her, dass ich zuletzt
lodashbenutzt habe ...