kylekatarnls/update-helper

Update helper

Maintainers

👁 kylekatarn

Package info

github.com/kylekatarnls/update-helper

Type:composer-plugin

pkg:composer/kylekatarnls/update-helper

Statistics

Installs: 47 659 134

Dependents: 8

Suggesters: 1

Stars: 1 526

Open Issues: 0

1.2.1 2020-04-07 20:44 UTC

Requires

  • php: >=5.3.0
  • composer-plugin-api: ^1.1.0 || ^2.0.0

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 429be50660ed8a196e0798e5939760f168ec8ce9

  • Kyle <kylekatarnls.woop@gmail.com>

This package is auto-updated.

Last update: 2026-05-29 00:48:25 UTC


README

Allow you to display update/upgrade instructions to your library users.

Usage

...
"require": {
 "kylekatarnls/update-helper": "^1"
},
"require-dev": {
 "composer/composer": "^1.2",
},
"extra": {
 "update-helper": "MyNamesapace\\MyUpdateHelper"
},
"scripts": {
 "post-autoload-dump": [
 "UpdateHelper\\UpdateHelper::check"
 ]
},
...
namespace MyNamesapace;

use UpdateHelper\UpdateHelper;
use UpdateHelper\UpdateHelperInterface;

class MyUpdateHelper implements UpdateHelperInterface
{
 public function check(UpdateHelper $helper)
 {
 $helper->write("You're using an obsolete version of my-super-package, consider upgrading to version 2 or greater.");

 if ($helper->hasAsDependency('laravel/framework') && $helper->isDependencyLesserThan('laravel/framework', '5.0.0')) {
 $helper->write("You're using a very old version or Laravel we don't support, please consider upgrading at least to 5.0.0.");
 }

 if ($helper->isInteractive()) {
 if ($helper->getIo()->askConfirmation('Do you want us to upgrade it for you?')) {
 $helper->setDependencyVersions(array(
 'my-vendor/my-super-package' => '^2.0.0',
 'laravel/framework' => '^5.0.0', // Skip it if not installed
 ))->update();
 }
 }
 }
}