Hâlâ lodash kullanıyorsanız: package.json’daki tek satırla bundle’ı %97 küçültmek (es-toolkit)
(toss.tech)Toss frontend ekibinin geliştirdiği, lodash yerine kullanılabilen JavaScript yardımcı kütüphanesi es-toolkit’in npm haftalık indirme sayısının 10 milyonu aşmasına kadar geçen süreci özetleyen bir yazı.
- 2024’te “Kore’den dünya çapında kullanılan bir JS kütüphanesi hiç çıktı mı?” sorusuyla başladı
- lodash 10 yıl önce tasarlandığından beri ES Modules, tree shaking, V8 motoru optimizasyonları, TypeScript gibi ortamlar büyük ölçüde değişti; yapısının aynı kalmasını fırsat görüp en baştan yeniden tasarlandı
- lodash’a kıyasla bundle boyutunda en fazla %97 azalma, çalışma zamanı performansında 2~3 kat artış, %100 test kapsamı
- Örnek:
groupBy,keyBy,pick,omit,debounceolmak üzere 5 fonksiyon baz alındığında lodash-es ~30KB, es-toolkit ise ~1KB es-toolkit/compatile lodash ile %100 uyumlu drop-in replacement mümkün.package.jsoniçinde yalnızca"lodash": "npm:es-toolkit@^1.44.0"satırını değiştirerek kodu düzenlemeden geçiş yapılabiliyor- Microsoft, Yarn, Storybook, IBM, Recharts, Ink gibi projeler tarafından gönüllü olarak benimsendi. Son dönemde Dify da lodash’tan geçiş yapıyor
- Viral bir an olmadan istikrarlı büyüme: 100K → 500K → 1M → 5M → 10M
- Toss Open Source Committee bünyesinde overlay-kit, use-funnel, suspensive gibi diğer kütüphaneler de birlikte geliştiriliyor
2 yorum
Hm..
Normalde
lodash-eskullanılır ama yerli bir proje olup uyumluluğu da %100 ise, bir kez denemeye değer gibi görünüyor.Ama son zamanlarda
lodashkullanmayalı ne kadar oldu, onu da hatırlamıyorum...