{"repo":"DoneDeal0/superdiff","free":true,"listed":false,"github":"https://github.com/DoneDeal0/superdiff","clone":"git clone https://github.com/DoneDeal0/superdiff.git","description":"Superdiff provides a rich and readable diff for arrays, objects, texts and coordinates. It supports stream and file inputs for handling large datasets efficiently, is battle-tested, has zero dependencies, and offers a top-tier performance.","language":"TypeScript","stars":1112,"topics":["array-comparison","comparison","comparison-tool","deep-diff","diff","object-comparison","object-diff","objectdifference","objectdiff","json-diff"],"license":null,"category":"ui-components","readme_excerpt":"WHAT IS IT? Superdiff provides a rich and readable diff for arrays , objects , texts and coordinates . It supports stream and file inputs for handling large datasets efficiently, is battle-tested, has zero dependencies, and offers a top-tier performance . ℹ️ The documentation is also available on our website! FEATURES Superdiff exports 5 functions: - getObjectDiff - recursively diff nested objects - getListDiff - detect additions, deletions, updates and moves in arrays - streamListDiff - diff large lists incrementally via streams - getTextDiff - diff text by character, word or sentence - getGeoDiff - detect coordinate changes, distance and direction DEMOS Comparing millions of entries in real time with streamListDiff Detecting text changes with getTextDiff Tracking coordinate changes with getGeoDiff Diffing deeply nested objects with getObjectDiff ⚔ COMPETITORS Feature superdiff deep-object-diff deep-diff diff microdiff ------------------------------ --------- ---------------- --------- --------- --------- Object diff ✅ ✅ ✅ ❌ ✅ List diff ✅ ❌ ⚠️ ❌ ⚠️ Text diff ✅ ❌ ✅ ✅ ❌ Coordinates diff ✅ ❌ ❌ ❌ ❌ Streaming for huge datasets ✅ ❌ ❌ ❌ ❌ Move detection ✅ ❌ ❌ ❌ ❌ Output refinement ✅ ❌ ❌ ❌ ❌ Zero dependencies ✅ ✅ ❌ ✅ ✅ Some libraries perform array diffing using index-by-index comparison. This approach cannot reliably detect insertions, deletions, or moves correctly. In those cases, support is marked as partial. 📊 BENCHMARK Environment: Node.js 24.12.0 (LTS) • MacBook Pro M2 (2023, ","default_branch":null,"files":null,"tree":[],"storefront":"/r/DoneDeal0","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/DoneDeal0/superdiff/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}