deep-equal
npmv2.2.3node's assert.deepEqual algorithm
Adopt with care
deep-equal is usable, with caveats. Last published 1036 days ago. Pulls in 50 transitive packages, about 860 KB installed (at least — some of the tree is still being crawled).
- ?Adoption: grade ?, Not reported by this registry.
No download data reported for this package yet.
- DMaintenance: grade D, Poor — a real concern.
Last published 1036 days ago.
- CWeight: grade C, Fair — worth a look.
Pulls in 50 transitive packages, about 860 KB installed (at least — some of the tree is still being crawled).
- BSupply chain: grade B, Good.
This package has a single maintainer (bus factor of 1).
- ALicense: grade A, Excellent.
MIT — permissive, with no copyleft found in the dependency tree.
Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.
Install cost
What you actually take on by adding deep-equal to a project.
Runtime packages this one declares itself.
Distinct packages in the full runtime tree, deduplicated the way a package manager would.
Unpacked size of this package plus its entire runtime tree.
Longest resolved dependency chain below this package.
Part of this dependency tree has not been crawled yet, so these figures are a lower bound rather than a final total.
Licenses in the dependency tree
Every license you inherit by installing deep-equal, not just its own. Check this before a legal review, not after.
Compatibility
- Node.js
- node >= 0.4
- Module format
- CommonJS only
- TypeScript
- No bundled types
- Install scripts
- None
Quick start
A usage example from the deep-equal README.
var equal = require('deep-equal');
console.dir([
equal(
{ a : [ 2, 3 ], b : [ 4 ] },
{ a : [ 2, 3 ], b : [ 4 ] }
),
equal(
{ x : 5, y : [6] },
{ x : 5, y : 6 }
)
]);deep-equal vs the alternatives
Packages solving a similar problem in the npm ecosystem, compared on the signals that drive an adoption decision.
| Package | Weekly downloads | Dependents | License | Last release |
|---|---|---|---|---|
| deep-equalthis page | 0 | 6 | MIT | 2 years ago |
| deep-is | 0 | 1 | MIT | 1 day ago |
| react-fast-compare | 0 | 1 | MIT | 1 day ago |
| shallowequal | 0 | 1 | MIT | 1 day ago |
| diff | 124.1M | 4 | BSD-3-Clause | 1 day ago |
| object-is | 21.5M | 1 | MIT | 1 day ago |
Dependencies
Declared by deep-equal v2.2.3. Runtime dependencies are installed with the package; dev dependencies are not.
Runtime (18)
Dev (16)
Used by
Popular packages that depend on deep-equal.
Parse HTTP X-Forwarded-For header
Determine address of proxied request
Parse and stringify URL query strings
Higher-level content negotiation
Range header field string parser
assert with status codes
Relationship graph
Dependencies (left) and dependents (right) of deep-equal.
Frequently installed together
An AST-based pattern checker for JavaScript.
Filter object keys and values into a new object
Split a string on the first occurance of a given separator
A better decodeURIComponent
The ultimate javascript content-type utility.
HTTP content negotiation
Create HTTP error objects
A library for manipulating IPv4 and IPv6 addresses in JavaScript.
Parse HTTP X-Forwarded-For header
Release history
No releases in the last two years, typically about 74 days apart.
| Version | Published | Size | License |
|---|---|---|---|
| 2.2.3latest | 2 years ago | 88 KB | MIT |
| 1.1.2 | 2 years ago | 74 KB | MIT |
| 2.2.2 | 3 years ago | 81 KB | MIT |
| 2.2.1 | 3 years ago | 79 KB | MIT |
| 2.2.0 | 3 years ago | 78 KB | MIT |
| 2.1.0 | 3 years ago | 75 KB | MIT |
| 2.0.5 | 5 years ago | 73 KB | MIT |
| 2.0.4 | 6 years ago | 66 KB | MIT |
| 2.0.3 | 6 years ago | 64 KB | MIT |
| 2.0.2 | 6 years ago | 63 KB | MIT |
| 2.0.1 | 6 years ago | 52 KB | MIT |
| 1.1.1 | 6 years ago | 26 KB | MIT |
| 1.1.0 | 7 years ago | 25 KB | MIT |
| 1.0.1 | 11 years ago | — | MIT |
| 1.0.0 | 11 years ago | — | MIT |
Overview
deep-equal is an npm package that node's assert.deepEqual algorithm. It has 6 known dependents in the graph. The latest version is 2.2.3, released under the MIT license.
Who should use it
Teams working in the npm ecosystem who need node's assert.deepEqual algorithm and value a focused solution.
When not to use it
Consider an alternative if you need to minimize your dependency tree, have first-class TypeScript types out of the box, or if a more actively-maintained option better fits your npm stack.
Pros
- Clear open-source license (MIT).
Cons
- Large dependency tree (34 direct dependencies) increases install size and audit surface.
- No bundled TypeScript types (may require a separate @types package).
Auto-generated from collected registry metadata. No external claims are inferred.
Maintainers
Funding
Frequently asked questions
Should I use deep-equal?
deep-equal is usable, with caveats. Last published 1036 days ago. Pulls in 50 transitive packages, about 860 KB installed (at least — some of the tree is still being crawled).
How do I install deep-equal?
Run `npm install deep-equal` to add deep-equal to your npm project.
How many dependencies does deep-equal have?
deep-equal declares 34 direct dependencies and pulls in 50 packages in total once its runtime tree is resolved totalling about 860 KB on disk.
What license is deep-equal released under?
deep-equal is distributed under the MIT license.
How popular is deep-equal?
npm does not publish download counts. Within PackageGraph's crawl, 6 known packages depend on deep-equal.
Is deep-equal still maintained?
The most recent release of deep-equal (v2.2.3) was published 2 years ago.
Does deep-equal run install scripts?
No. deep-equal does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.