mwguerra / interactive-upgrader
A CLI tool that handles both Composer and npm dependencies for Laravel projects.
v0.0.2
2025-05-19 06:25 UTC
Requires
- php: ^8.3
- composer/composer: ^2.8
- composer/semver: ^3.4
- guzzlehttp/guzzle: ^7.0
- illuminate/console: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
- symfony/console: ^7.0
- symfony/process: ^7.0
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: ^10.3
- pestphp/pest: ^3.8
README
A CLI tool that handles both Composer and npm dependencies for Laravel projects.
Installation
You can install the package via composer:
composer require mwguerra/interactive-upgrader
Usage
Once installed, you can run the command:
php artisan upgrade:interactive
This will:
- Check for outdated Composer and npm packages
- Display them in a table with available upgrade options
- Allow you to interactively select which packages to upgrade
- Handle the upgrade process, including dependency analysis
Options
--latest Only consider "latest" (major) upgrades
--dev Only consider "dev" (unstable) upgrades
--ignore= Skip specific packages (comma-separated type:package pairs)
--ignore-major Don't show any major bumps in the table
--ignore-dev Don't show the "Dev" column or dev‐upgrades; drop packages with no actionable updates
--show Only show the table without asking for any input and exit
Examples
# See everything updatable php artisan upgrade:interactive # Only show major jumps php artisan upgrade:interactive --latest # Skip Predis and Tailwind from the table php artisan upgrade:interactive --ignore=composer:predis/predis,npm:tailwindcss # Hide all major bumps (even if --latest is given) php artisan upgrade:interactive --ignore-major # Don't show any dev‐builds, and drop packages already fully up‐to-date php artisan upgrade:interactive --ignore-dev # Only show the table without asking for any input php artisan upgrade:interactive --show
Features
- Handles both Composer and npm dependencies in a single command
- Interactive table-driven interface
- Analyzes dependencies to suggest related packages that might need to be updated
- Creates backups before making changes
- Supports various upgrade strategies (minor, major, dev)
- Color-coded version display (red for major bumps, green for minor)
- Warns about major version upgrades and allows falling back to safer options
- Provides option to only display outdated packages without making changes
License
The MIT License (MIT). Please see License File for more information.