Skip to content

CLI tool to see what has changed in your project's dependencies

License

Notifications You must be signed in to change notification settings

SRWieZ/whatsdiff

Repository files navigation

whatsdiff

GitHub release (with filter) Packagist PHP Version Packagist License (custom server) GitHub Workflow Status (with event)

What's diff is a CLI tool to help you inspect what has changed in your dependencies after a composer update or npm update.

Capture d’écran 2024-09-19 à 20.00.47.png

Main features are:

  • Show what has been added, removed or updated in your dependencies
  • Show how many releases have been made since your last update
  • Support for composer.lock and package-lock.json (PHP & JS)
  • [WIP] Show changelog of the dependencies
  • [WIP] Compare two commits

🚀 Installation

Via Composer global require command

composer global require srwiez/whatsdiff

By downloading binaries on the latest release, currently only these binaries are compiled on the CI:

  • macOS x86_64
  • macOS arm64
  • linux x86_64
  • linux arm64
  • windows x64

📚 Usage

Go on your project root directory after a composer update and just ask:

whatsdiff

📋 Roadmap

Pull requests are welcome! Here are some ideas to get you started:

  • Analyse composer.lock
  • Find releases through packagist.com
  • Analyse package-json.lock (javascript)
  • Make a nice TUI (WIP on #1)
  • Retrieve changelog with Github API
  • Publish on NPM
  • Analyse gradle dependencies (android)
  • Analyse cocoapods dependencies (iOS)
  • Analyse pip dependencies (python)
  • Analyse gem dependencies (ruby)
  • Analyse cargo dependencies (rust)
  • Analyse go.mod dependencies (go)
  • Publish on Homebrew

🔧 Contributing

This project follows PSR coding style. You can use composer pint to apply.

All tests are executed with pest. Use composer pest

It's recommended to execute composer qa before commiting (alias for executing Pint and Pest)

Testing

This project use Pest for testing.

composer test

Build from sources

This project use box, php-static-cli and php-micro. A build script has been created to build the project. (tested only on macOS x86_64)

composer build

Then you can build the binary that you can retrieve in build/bin/

👥 Credits

whatsdiff was created by Eser DENIZ.

📝 License

whatsdiff PHP is licensed under the MIT License. See LICENSE for more information.