{"_id":"@aaaaorg/lockdiff","name":"@aaaaorg/lockdiff","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aaaaorg/lockdiff","version":"0.1.0","description":"Human-readable diffs for package-lock.json changes between git refs","main":"dist/index.js","bin":{"lockdiff":"dist/cli.js"},"scripts":{"build":"tsc","test":"node dist/test.js"},"keywords":["lockfile","diff","package-lock","dependencies","ci","pr-review"],"author":{"name":"kostadin","email":"kostadin@aaaaorg"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/aaaaorg/lockdiff.git"},"devDependencies":{"@types/node":"^25.3.0","typescript":"^5.3.0"},"engines":{"node":">=18"},"gitHead":"36346f54c6bb89aa4d977c9e71abd0c95e9aa627","types":"./dist/index.d.ts","_id":"@aaaaorg/lockdiff@0.1.0","bugs":{"url":"https://github.com/aaaaorg/lockdiff/issues"},"homepage":"https://github.com/aaaaorg/lockdiff#readme","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-aBBoC+YN6QnY9e344B4uscsxj3yKClO8Q34IlNSnLsclQwTpEVeMvYNy2xq1jhcRSmG5n6psYujh7bNuOGeHvg==","shasum":"0bbb22cae045aa905286fe4104c3c74c9e148078","tarball":"https://registry.npmjs.org/@aaaaorg/lockdiff/-/lockdiff-0.1.0.tgz","fileCount":17,"unpackedSize":22357,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFAwp1nGphYoyIcqFrSszCIBbT9D0HM2E9Fva//KBFVYAiEA9w+g0j3J+2B8sAfm+xDyQHWn4dOvbXW8wXLMya4Is30="}]},"_npmUser":{"name":"koc","email":"kosekdraw@gmail.com"},"directories":{},"maintainers":[{"name":"koc","email":"kosekdraw@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lockdiff_0.1.0_1771553073759_0.2772161774258215"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-20T02:04:33.652Z","0.1.0":"2026-02-20T02:04:33.934Z","modified":"2026-02-20T02:04:34.179Z"},"maintainers":[{"name":"koc","email":"kosekdraw@gmail.com"}],"description":"Human-readable diffs for package-lock.json changes between git refs","homepage":"https://github.com/aaaaorg/lockdiff#readme","keywords":["lockfile","diff","package-lock","dependencies","ci","pr-review"],"repository":{"type":"git","url":"git+https://github.com/aaaaorg/lockdiff.git"},"author":{"name":"kostadin","email":"kostadin@aaaaorg"},"bugs":{"url":"https://github.com/aaaaorg/lockdiff/issues"},"license":"MIT","readme":"# lockdiff\n\nHuman-readable diffs for `package-lock.json` changes between git refs. Perfect for PR reviews and CI pipelines.\n\n## Install\n\n```bash\nnpm install -g @aaaaorg/lockdiff\n# or use directly\nnpx @aaaaorg/lockdiff main\n```\n\n## Usage\n\n```bash\n# Compare current lockfile vs a branch/tag\nlockdiff main\nlockdiff v1.0.0\n\n# Compare two specific refs\nlockdiff v1.0.0 v2.0.0\n\n# Compare two files directly\nlockdiff --file old-lock.json new-lock.json\n\n# Output as markdown (great for CI PR comments)\nlockdiff main --format markdown\n\n# Output as JSON\nlockdiff main --format json\n\n# Only show major version bumps\nlockdiff main --major-only\n```\n\n## Example Output\n\n```\n📦 lockdiff: main → HEAD\n\n  ➕ Added (3):\n    zod                                      3.22.4\n    @types/node                              20.11.5\n    prettier                                 3.2.4\n\n  ⬆️  Upgraded (2):\n    typescript                               5.3.2 → 5.3.3\n    eslint                                   8.56.0 → 9.0.0  (MAJOR)\n\n  ⬇️  Downgraded (1):\n    webpack                                  5.90.0 → 5.89.0\n\n  ➖ Removed (1):\n    tslint                                   6.1.3\n\n  Summary: +3 added, 2 upgraded (1 major), 1 downgraded, 1 removed\n```\n\n## CI Integration\n\nAdd to your GitHub Actions workflow to auto-comment lockfile changes on PRs:\n\n```yaml\n- name: Lockfile diff\n  run: npx @aaaaorg/lockdiff origin/main --format markdown >> $GITHUB_STEP_SUMMARY\n```\n\n## Programmatic API\n\n```typescript\nimport { parseLockfile, diffDeps, format } from '@aaaaorg/lockdiff';\n\nconst oldDeps = parseLockfile(oldLockContent);\nconst newDeps = parseLockfile(newLockContent);\nconst result = diffDeps(oldDeps, newDeps);\nconsole.log(format(result, 'table', 'v1', 'v2'));\n```\n\n## Supports\n\n- `package-lock.json` v1, v2, and v3\n- Scoped packages (`@scope/package`)\n- Major version bump detection\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-4e4ecb70ca98f6f6fd9d2f40f2cd7543"}