Git Product home page Git Product logo

diff-lockfiles's Introduction

diff-lockfiles

Note: this is a fork of https://github.com/mxweaver/lock-diff, but it operates on Git commit ranges rather than on files.

npm

Example

npm install diff-lockfiles
diff-lockfiles --color origin/main dependabot/branch
diff-lockfiles --color HEAD~1 HEAD

Usage

diff-lockfiles --help
Usage:  diff-lockfiles [options] <from> <to>

diff all changed package-lock.json files in repo

Options:
  -V, --version          output the version number
  -f, --format <format>  changes the output format (default: "table")
  -m, --max-buffer       maximum read buffer size
  -c, --color            colorizes certain output formats (default: false)
  -h, --help             display help for command

--format=table (default)

$ diff-lockfiles HEAD~1 HEAD
╔═══════════════════════════════════════════════════════════════════╤═════════════╤═════════════╗
║ package-lock.json                                                 │             │             ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ package                                                           │ old version │ new version ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/console                                        │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/core                                           │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/environment                                    │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/expect                                         │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/expect-utils                                   │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/fake-timers                                    │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/globals                                        │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/reporters                                      │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/schemas                                        │ 29.6.0      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/source-map                                     │ 29.6.0      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/test-result                                    │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/test-sequencer                                 │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/transform                                      │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/types                                          │ 29.6.1      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@types/babel__core                                   │ 7.20.0      │ 7.20.1      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@types/babel__traverse                               │ 7.18.2      │ 7.20.1      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/babel-jest                                           │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/babel-plugin-jest-hoist                              │ 29.5.0      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/babel-preset-jest                                    │ 29.5.0      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/dedent                                               │ 1.3.0       │ 1.5.1       ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/diff-sequences                                       │ 29.4.3      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/expect                                               │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/fsevents                                             │ 2.3.2       │ 2.3.3       ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/is-core-module                                       │ 2.12.1      │ 2.13.0      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest                                                 │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-changed-files                                   │ 29.5.0      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-circus                                          │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-cli                                             │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-config                                          │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-diff                                            │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-docblock                                        │ 29.4.3      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-each                                            │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-environment-node                                │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-get-type                                        │ 29.4.3      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-haste-map                                       │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-leak-detector                                   │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-matcher-utils                                   │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-message-util                                    │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-mock                                            │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-regex-util                                      │ 29.4.3      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-resolve                                         │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-resolve-dependencies                            │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-runner                                          │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-runtime                                         │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-snapshot                                        │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-util                                            │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-validate                                        │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-watcher                                         │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/jest-worker                                          │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/pretty-format                                        │ 29.6.2      │ 29.6.3      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/resolve                                              │ 1.22.2      │ 1.22.4      ║
╟───────────────────────────────────────────────────────────────────┼─────────────┼─────────────╢
║ node_modules/@jest/reporters/node_modules/istanbul-lib-instrument │ null        │ 6.0.0       ║
╚═══════════════════════════════════════════════════════════════════╧═════════════╧═════════════╝

--format=json

diff-lockfiles --format json HEAD~1 HEAD

{
  "node_modules/@jest/console": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/@jest/core": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/@jest/environment": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/@jest/expect": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/@jest/expect-utils": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/@jest/fake-timers": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/@jest/globals": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/@jest/reporters": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/@jest/schemas": [
    "29.6.0",
    "29.6.3"
  ],
  "node_modules/@jest/source-map": [
    "29.6.0",
    "29.6.3"
  ],
  "node_modules/@jest/test-result": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/@jest/test-sequencer": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/@jest/transform": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/@jest/types": [
    "29.6.1",
    "29.6.3"
  ],
  "node_modules/@types/babel__core": [
    "7.20.0",
    "7.20.1"
  ],
  "node_modules/@types/babel__traverse": [
    "7.18.2",
    "7.20.1"
  ],
  "node_modules/babel-jest": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/babel-plugin-jest-hoist": [
    "29.5.0",
    "29.6.3"
  ],
  "node_modules/babel-preset-jest": [
    "29.5.0",
    "29.6.3"
  ],
  "node_modules/dedent": [
    "1.3.0",
    "1.5.1"
  ],
  "node_modules/diff-sequences": [
    "29.4.3",
    "29.6.3"
  ],
  "node_modules/expect": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/fsevents": [
    "2.3.2",
    "2.3.3"
  ],
  "node_modules/is-core-module": [
    "2.12.1",
    "2.13.0"
  ],
  "node_modules/jest": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-changed-files": [
    "29.5.0",
    "29.6.3"
  ],
  "node_modules/jest-circus": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-cli": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-config": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-diff": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-docblock": [
    "29.4.3",
    "29.6.3"
  ],
  "node_modules/jest-each": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-environment-node": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-get-type": [
    "29.4.3",
    "29.6.3"
  ],
  "node_modules/jest-haste-map": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-leak-detector": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-matcher-utils": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-message-util": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-mock": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-regex-util": [
    "29.4.3",
    "29.6.3"
  ],
  "node_modules/jest-resolve": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-resolve-dependencies": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-runner": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-runtime": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-snapshot": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-util": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-validate": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-watcher": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/jest-worker": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/pretty-format": [
    "29.6.2",
    "29.6.3"
  ],
  "node_modules/resolve": [
    "1.22.2",
    "1.22.4"
  ],
  "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": [
    null,
    "6.0.0"
  ]
}

--format=text

$ diff-lockfiles --format text HEAD~1 HEAD
node_modules/@jest/console 29.6.2 -> 29.6.3
node_modules/@jest/core 29.6.2 -> 29.6.3
node_modules/@jest/environment 29.6.2 -> 29.6.3
node_modules/@jest/expect 29.6.2 -> 29.6.3
node_modules/@jest/expect-utils 29.6.2 -> 29.6.3
node_modules/@jest/fake-timers 29.6.2 -> 29.6.3
node_modules/@jest/globals 29.6.2 -> 29.6.3
node_modules/@jest/reporters 29.6.2 -> 29.6.3
node_modules/@jest/schemas 29.6.0 -> 29.6.3
node_modules/@jest/source-map 29.6.0 -> 29.6.3
node_modules/@jest/test-result 29.6.2 -> 29.6.3
node_modules/@jest/test-sequencer 29.6.2 -> 29.6.3
node_modules/@jest/transform 29.6.2 -> 29.6.3
node_modules/@jest/types 29.6.1 -> 29.6.3
node_modules/@types/babel__core 7.20.0 -> 7.20.1
node_modules/@types/babel__traverse 7.18.2 -> 7.20.1
node_modules/babel-jest 29.6.2 -> 29.6.3
node_modules/babel-plugin-jest-hoist 29.5.0 -> 29.6.3
node_modules/babel-preset-jest 29.5.0 -> 29.6.3
node_modules/dedent 1.3.0 -> 1.5.1
node_modules/diff-sequences 29.4.3 -> 29.6.3
node_modules/expect 29.6.2 -> 29.6.3
node_modules/fsevents 2.3.2 -> 2.3.3
node_modules/is-core-module 2.12.1 -> 2.13.0
node_modules/jest 29.6.2 -> 29.6.3
node_modules/jest-changed-files 29.5.0 -> 29.6.3
node_modules/jest-circus 29.6.2 -> 29.6.3
node_modules/jest-cli 29.6.2 -> 29.6.3
node_modules/jest-config 29.6.2 -> 29.6.3
node_modules/jest-diff 29.6.2 -> 29.6.3
node_modules/jest-docblock 29.4.3 -> 29.6.3
node_modules/jest-each 29.6.2 -> 29.6.3
node_modules/jest-environment-node 29.6.2 -> 29.6.3
node_modules/jest-get-type 29.4.3 -> 29.6.3
node_modules/jest-haste-map 29.6.2 -> 29.6.3
node_modules/jest-leak-detector 29.6.2 -> 29.6.3
node_modules/jest-matcher-utils 29.6.2 -> 29.6.3
node_modules/jest-message-util 29.6.2 -> 29.6.3
node_modules/jest-mock 29.6.2 -> 29.6.3
node_modules/jest-regex-util 29.4.3 -> 29.6.3
node_modules/jest-resolve 29.6.2 -> 29.6.3
node_modules/jest-resolve-dependencies 29.6.2 -> 29.6.3
node_modules/jest-runner 29.6.2 -> 29.6.3
node_modules/jest-runtime 29.6.2 -> 29.6.3
node_modules/jest-snapshot 29.6.2 -> 29.6.3
node_modules/jest-util 29.6.2 -> 29.6.3
node_modules/jest-validate 29.6.2 -> 29.6.3
node_modules/jest-watcher 29.6.2 -> 29.6.3
node_modules/jest-worker 29.6.2 -> 29.6.3
node_modules/pretty-format 29.6.2 -> 29.6.3
node_modules/resolve 1.22.2 -> 1.22.4
node_modules/@jest/reporters/node_modules/istanbul-lib-instrument added

Testing

NODE_OPTIONS=--experimental-vm-modules npm test

diff-lockfiles's People

Contributors

dependabot[bot] avatar mm-jpoole avatar oalders avatar stevelacey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

mm-jpoole

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.