dequal is a tiny utility for checking deep equality between two values in JavaScript. It recursively compares many types, including Function, RegExp, Date, Set, Map, TypedArray, DataView, null, undefined, and NaN, treating object key order as irrelevant while requiring array order to match.
Project status
- Maintenance status: Evidence of ongoing work exists (last upstream push dated 2026-04-10), but the most recently provided versioned updates are older (latest shown tag v2.0.3 from 2022-07-11), so overall it looks lightly maintained with sporadic, mostly packaging-focused updates.
- Apparent update cadence: Versioned updates appear infrequent after 2022, with earlier tags also spread out (v2.0.2 in 2020-08, v2.0.1 in 2020-08, v2.0.0 in 2020-08). That pattern suggests a low-frequency cadence rather than regular releases.
AI summary generated
Recent updates
v2.0.3
v2.0.3 updates the package.json export map to improve TypeScript resolution when using the NodeNext (nodenext) module resolver. The release notes describe the change, and the code diff shows the same modification applied to both the main entry and the ./lite subpath.
Featuresv2.0.2
This patch release updates TypeScript declaration publishing for different modes. The change focuses on how `index.d.ts` is structured and how declarations are made available for the `dequal/lite` subpath.
v2.0.1
v2.0.1 makes small packaging and documentation adjustments, primarily around TypeScript typings. The diff updates `index.d.ts` to define module entrypoints for both `dequal` and `dequal/lite`, and it updates the README import example.
v2.0.0
v2.0.0 switches dequal from a default export to a named export, and adds native ESM support via an `exports` map. The main `dequal` implementation is expanded to support value-based deep equality for `Map`, `Set`, `ArrayBuffer`, and `TypedArray`-like data, and it introduces a separate `dequal/lite` entry intended to preserve legacy behavior.
BreakingFeaturesv1.0.1
v1.0.1 primarily expands support for validating object dictionaries and custom object/class types. It also fixes a precondition behavior related to Arrays so matching lengths are no longer required.
Features