martinsr / constraint-updater
Installs: 1 339
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 7
Type:composer-plugin
Requires
- php: ^8.1
- composer-plugin-api: ^2.3
- thecodingmachine/safe: ^2.5
Requires (Dev)
- composer/composer: ^2.6.6
- friendsofphp/php-cs-fixer: ^3.41.1
- phpstan/phpstan: ^1.10.50
- phpunit/phpunit: 10.4.2
- rector/rector: ^0.18.13
- thecodingmachine/phpstan-safe-rule: ^1.2
- dev-main
- 2.0.1
- 2.0
- 1.2.1
- 1.2
- 1.1
- 1.0.0
- dev-Fix-package-groups
- dev-empty-branch
- dev-empty-branch-v3
- dev-update-read-me-enable-coverage
- dev-fix-constraint-input-validation
- dev-implement-keeping-constraint-add-tests
- dev-add-default-values-for-composer-fix-constraint-replacing
- dev-remove-major-update-comments-use-composer-default-files
- dev-fix-composer-json-not-being-restored
- dev-fix-updater-add-minor-version-updater
- dev-composer-package-updated
This package is auto-updated.
Last update: 2024-11-09 22:26:20 UTC
README
Helps You automatically resolve composer conflicts
E.g. Need to upgrade your framework to the newest version? Just run
composer major-update --constraint=package/package:^10.0
Want to upgrade minor versions and also update your compose.json file to the up-to-date versions? Run
composer minor-update
Installation
Use composer to automatically add it Your project
composer require martinsr/constraint-updater
How to use
- Add it to Your project
- Specify Your needed constraints when running
composer major-update
--constraint=package/package:^10.0
- Run the either
composer major-update
orcomposer minor-update
with your params.
How it works
major-update
It will replace all your composer.json
package versions with *
except for packages You have added with --constraint
.
Versions you add for the packages will be taken literally.
Examples:
constraint=laravel/framework:^10.0
will set the version to ^10.0
constraint=laravel/framework:10.0
will set it to 10.0
.
Would suggest to always add the ^
since composer will still keep the major version the same, while updating to the newest minor version other packages support.
This will make composer install the most up-to-date versions possible, taken the constraints and there won't be any conflicts as long as there is a supported version.
After composer update has been run, it will fix your composer.json
file from versions that were installed and specified in Your composer.lock
minor-update
This will run composer update
and after that fix the composer.json
with the actual versions that were installed.
Examples:
Run
composer minor-update
Will run composer update command, and rebuild composer.json file to have up-to-date dependencies with the lock file
How to contribute
- Select a GitHub issue or create one
- Pull the repository locally
- For development use PHP 8.1
- Run
composer install
- To check if everything is set up, run tests with
composer test
- Make your changes, add tests and fix code quality
- Submit a pull request!🎉
Code quality
To run complete code quality use:
composer code-quality
To run rector use:
composer rector
To run php-stan use:
composer php-stan
To convert unsafe functions use:
composer use-safe
To fix code styling use:
composer php-cs-fixer
Testing
To run tests use
composer test