Ship & Quality · LOCAL TOOL

Dependency Declaration Diff

Compare dependency declarations in two package.json objects across dependencies, devDependencies, peerDependencies, and optionalDependencies.

Runs in this page
No API call
WORKSPACEINPUT → RESULT
01

Your input

LOCAL
Dependency Declaration Diff inputs
02

Result

Run the tool to see a result.

Your result will appear here. Input is not saved.

Browser-side processingNothing is sent to a tool API.

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

  1. Paste the earlier and later manifests.
  2. Inspect added, removed, and changed group declarations.
  3. 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.