Ship & Quality · LOCAL TOOL
Dependency Declaration Diff
Compare dependency declarations in two package.json objects across dependencies, devDependencies, peerDependencies, and optionalDependencies.
No API call
Your input
LOCALResult
Run the tool to see a result.
Your result will appear here. Input is not saved.
WHY THIS TOOL EXISTS
A focused job, not a black box.
The report retains each declaration and group, making a production-to-development move or cross-group overlap visible even when the package name stays the same.
How to use it
- Paste the earlier and later manifests.
- Inspect added, removed, and changed group declarations.
- Review overlaps and verify resolved versions in the actual project separately.
TRY A WORKING EXAMPLE
Start with known input.
Load this sample into the workspace, run the tool, and compare the result shown below.
Show sample input
{
"before": "{\"dependencies\":{\"example-lib\":\"^1.0.0\"},\"devDependencies\":{\"test-kit\":\"2.0.0\"}}",
"after": "{\"devDependencies\":{\"example-lib\":\"^1.1.0\",\"test-kit\":\"2.0.0\"}}"
}Expected sample result from the local tool
1 declaration change(s) · 0 cross-group overlap(s).
{
"changes": [
{
"name": "example-lib",
"status": "declaration or group changed",
"before": [
{
"group": "dependencies",
"declaration": "^1.0.0"
}
],
"after": [
{
"group": "devDependencies",
"declaration": "^1.1.0"
}
]
}
],
"overlaps": []
}Compares declared strings only. It does not resolve ranges, read lockfiles, query registries, or report vulnerabilities.
LIMITS AND INTERPRETATION
What the result cannot tell you.
Compares exact declaration strings. No registry requests, vulnerability checks, lockfile interpretation, compatibility claims, or semantic range equivalence.
Inputs are processed in this page and are not written to local storage.