# lukeed/dequal

A tiny (304B to 489B) utility to check for deep equality

Repository: https://github.com/lukeed/dequal
Canonical: https://ross.abutalabs.com/products/dequal
Language: JavaScript
License: MIT
License Family: permissive
Last push: 2026-04-10T00:05:37+00:00

## Health v2 (maintenance only)
Score: 57/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 76, release rhythm 8, longevity 100
- inputs: {"age_days": 2736, "days_push": 146, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1467, forks 35 (observed 2026-08-28T04:04:48.734308+00:00)

## What it is
dequal is a tiny (304B to 489B) JavaScript utility for checking deep equality between values of any type, including Objects, Arrays, Sets, Maps, Dates, RegExps, and TypedArrays. It offers a full version and a 'lite' variant with broader legacy browser support but fewer built-in type comparisons.

## Use cases
- compare two objects deeply in JavaScript
- check if two arrays are equal
- deep equality check for React dependency arrays
- compare nested JSON structures in tests
- check if two Maps or Sets contain equal values
- tiny deep-equal alternative to lodash.isequal

## When to choose
- you need a minimal, dependency-free deep equality check
- bundle size matters and lodash.isequal is too heavy
- you need value equality for Sets, Maps, TypedArrays, or DataViews

## When to avoid
- you need IE9 support and Set/Map/TypedArray comparison (use dequal/lite limitations into account)
- you need assertion-style equality with diff output in tests
- you need equality checks for class instances with custom equality semantics

## Facets
- artifact type: library
- maturity: stable
- function: serialization
- domain: developer-tools
- platform: browser, cross-platform
- tags: deep-equality, comparison, tiny, zero-dependency, javascript, algorithms, nodejs

## Member repositories
- lukeed/dequal (main) score 57

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:48.734308+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:35:00.658693+00:00, confidence not recorded.
  - readme: https://github.com/lukeed/dequal (fetched 2026-08-28T04:04:48.734308+00:00, sha 27ae47bba55f)
  - registry_npm: https://registry.npmjs.org/dequal (fetched 2026-08-29T11:43:27.774625+00:00, sha f85eb590ae36)
- Data as of 2026-08-30T08:39:29.467469+00:00.
