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
- The project appears to be in maintenance mode, with the most recent tagged update noted in the source list at v2.0.3 on 2022-07-11, focused on improving TypeScript export map resolution (NodeNext/nodenext).
- Update cadence appears low based on the documented history (v2.0.1 in 2020-08, v2.0.2 in 2020-08, v2.0.3 in 2022-07), with no newer tagged updates shown in the provided summaries. A separate “last upstream push” timestamp is 2026-04-10, but no corresponding recent update details are included here.
AI summary generated Today
Recent updates
v2.0.3
7/11/2022v2.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
8/19/2020This 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
8/17/2020v2.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
8/12/2020v2.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
7/15/2020v1.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