es-toolkit/docs/ja/compatibility.md
Dayong Lee fb4a0e1736
docs: Automate the status of compatiblity implementation (#486)
* Add vue eslint

* Remove Sandpakc and add Registry CompatibilityStatus

* add compatibility data

* Apply CompatibilityStatus

* Remove unusable template

* Revert

* Refactor

* Fix lint error

---------

Co-authored-by: Sojin Park <raon0211@toss.im>
2024-09-07 23:36:54 +09:00

2.9 KiB
Raw Blame History

Lodashとの互換性

// es-toolkit/compatはlodashと100%同じ動作を提供することを目指しています
import { chunk } from 'es-toolkit/compat';

// es-toolkitは元々chunkのサイズとして0をサポートしていませんでした
chunk([1, 2, 3, 4], 0);
// es-toolkit/compatはlodashと同じ[]を返します

lodashとの最大の互換性を確保するために、2つのライブラリ間のギャップを埋める互換レイヤーであるes-toolkit/compatを使用してください。

es-toolkitはスムーズなマイグレーションを保証するために、2つのライブラリ間の動作の違いがないes-toolkit/compatライブラリを開発しています。lodashと同じAPIと機能を提供し、スムーズにマイグレーションできるようサポートする予定です。

es-toolkit/compatは実際のlodashテストコードを使用してテストされます。

es-toolkit/compatは、元のes-toolkitと比較して若干のパフォーマンス低下とバンドルサイズの増加があることに注意してください。このモジュールはスムーズな移行を支援するために設計されており、移行が完了したら最適なパフォーマンスを得るために元のes-toolkitに置き換えるべきです。

デザイン原則

::: info デザイン原則は変更される可能性があります。 :::

es-toolkit/compatは以下のような機能についてlodashと100%同じ機能を提供することを目指しています。

  • lodashのテストケースで作成された機能
  • @types/lodashまたは@types/lodash-esの型から推論できる機能

以下のような機能はes-toolkit/compatではサポートしていません。

  • 空文字列を0またはfalseに変換するような暗黙的な型変換
  • sortedUniqのような特定のタイプの配列に特化した実装を持つ関数
  • Array.prototypeのようなJavaScriptの組み込みオブジェクトのプロトタイプが変更された場合に対応するコード
  • JavaScript Realmに対応するコード
  • _(arr).map(...).filter(...)のような"Seq"メソッドを通じたメソッドチェーンのサポート

実装ステータス

::: info 以下の絵文字は各機能の実装ステータスを示しています:

  • : 完了関数は完全に実装され、lodashのテストコードで全てのテストに合格しています。
  • 📝: レビュー中関数は実装されていますが、まだlodashのテストコードでテストされていません。
  • : 未実装(関数はまだ実装されていません。)

"レビュー中"と表示されていても、完全に同じか確認しているだけですでに同じ機能を提供しているかもしれません。 :::