Tossフロントエンドチームが開発したlodash代替のJavaScriptユーティリティライブラリ es-toolkit が、npm週間ダウンロード数1,000万件を超えるまでの過程をまとめた記事です。
- 2024年、「韓国から世界で使われるJSライブラリが生まれたことはあるのか?」という問いから出発
- lodashは10年前に設計されて以降、ES Modules、ツリーシェイキング、V8エンジン最適化、TypeScriptなど環境が大きく変わったのに、構造はそのままだった点を好機と見て、ゼロから再設計
- lodash比でバンドルサイズを最大97%削減、ランタイム性能は2〜3倍向上、テストカバレッジ100%
- 例: groupBy、keyBy、pick、omit、debounce の5関数基準で lodash-es は約30KB、es-toolkit は約1KB
- es-toolkit/compat により lodash と100%互換のドロップイン置き換えが可能。package.jsonで "lodash": "npm:es-toolkit@^1.44.0" の1行だけ変えれば、コード修正なしで移行可能
- Microsoft、Yarn、Storybook、IBM、Recharts、Ink などが自発的に採用。最近では Dify も lodash からの移行を進行中
- バイラルな瞬間がなくても着実に成長: 100K → 500K → 1M → 5M → 10M
- Tossオープンソース委員会では overlay-kit、use-funnel、suspensive など他のライブラリもあわせて開発中
2件のコメント
うーん..
普通は
lodash-esを使うでしょうけど、韓国製で互換性 100% なら一度試してみる価値はありそうですね。でも最近
lodashを使っていない期間、どれくらいになるんだっけ…