{"id":21573535,"url":"https://github.com/pipan/composer-update-manager","last_synced_at":"2026-05-20T02:41:06.934Z","repository":{"id":34527333,"uuid":"180008837","full_name":"pipan/composer-update-manager","owner":"pipan","description":"Check for available updates for php composer packages.","archived":false,"fork":false,"pushed_at":"2023-09-29T20:54:38.000Z","size":1146,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-24T13:15:56.926Z","etag":null,"topics":["composer","dependency-updates","outdated-packages"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pipan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-07T18:49:59.000Z","updated_at":"2022-06-19T21:31:00.000Z","dependencies_parsed_at":"2022-09-03T11:30:59.662Z","dependency_job_id":null,"html_url":"https://github.com/pipan/composer-update-manager","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pipan%2Fcomposer-update-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pipan%2Fcomposer-update-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pipan%2Fcomposer-update-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pipan%2Fcomposer-update-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pipan","download_url":"https://codeload.github.com/pipan/composer-update-manager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244168327,"owners_count":20409502,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["composer","dependency-updates","outdated-packages"],"created_at":"2024-11-24T12:07:05.190Z","updated_at":"2026-05-20T02:41:01.914Z","avatar_url":"https://github.com/pipan.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Composer Update Manager\n\n[![Build Status](https://travis-ci.com/pipan/composer-update-manager.svg?branch=master)](https://travis-ci.com/pipan/composer-update-manager)\n\nCheck if your composer.lock is up to date. This class will produce a file of outdated packeges and provide number of outdated packages. You can also update specific packages\n\n\u003e I do not recomment updating packages in production\n\n## Create Manager\n\nThis package comes with predefined factory for ComposerUpdateManager. This factory will create manager with file storage. Default settings are set for linux users.\n\n```php\n\u003c?php\n$managerFactory = new Lmn\\ComposerUpdateManager\\FileManagerFactory();\n$manager = $managerFactory-\u003ecreateComposerUpdateManager();\n```\n\n## Get outdated packages for updates\n\nDefault file storage acts as a form of cache, so you can always ask for packages that are outdated. This list is not automaticaly refreshed. To refresh this list call `checkAvailableUpdates` method. Method `getAvailableUpdates` returns list of `Lmn\\ComposerUpdateManager\\Package`.\n\n```php\n\u003c?php\n$managerFactory = new Lmn\\ComposerUpdateManager\\FileManagerFactory();\n$manager = $managerFactory-\u003ecreateComposerUpdateManager();\n\n$available = $manager-\u003egetAvailableUpdates();\n```\n\n## Check for updates\n\nTo run packages check you have to call `-\u003echeckAvailableUpdates()` method. This will actually run `composer outdated --direct` if You use `Composer` as `ApplicationInterface`. This proces is a little bit time consuing, it can run for several minutes, so we recommend to run it in some kind of queue / background process.\n\n```php\n\u003c?php\n$managerFactory = new Lmn\\ComposerUpdateManager\\FileManagerFactory();\n$manager = $managerFactory-\u003ecreateComposerUpdateManager();\n\n$available = $manager-\u003echeckAvailableUpdates();\n```\n\n\u003e Also worth to note, you may need to increase your `memory_limit` to `256M`\n\n## Get outdated count\n\n```php\n\u003c?php\n$managerFactory = new Lmn\\ComposerUpdateManager\\FileManagerFactory();\n$manager = $managerFactory-\u003ecreateComposerUpdateManager();\n\n$available = $manager-\u003egetOutdatedCount();\n```\n\n## Create ComposerUpdateManager\n\nTo create the instance you have to provide a way of storing information about outdated packages. \n\n1. **StorageInterface** - We provide `FileStorage` that accepts config array with a `file_path`. This `file_path` is a file that will be used to store output of outdated packages. \n2. **ApplicationInterface** - the application that will chcek for outdated packages. We have `Composer` class as only option. This class requires 2 config values `home`, that is a variable for coposer command and `root_path`, that is a path to composer.json file.\n\n\u003e `home` is usualy set to `__DIR__ . '/vendor/bin/composer'`\n\n### Example\n\n```php\n\u003c?php\n$manager = new Lmn\\ComposerUpdateManager\\ComposerUpdateManager(\n    new Lmn\\ComposerUpdateManager\\Storage\\FileStorage([\n        'file_path' =\u003e './storage/tmp/outdated_output.txt'\n    ]), \n    new Lmn\\ComposerUpdateManager\\Application\\Composer([\n        'home' =\u003e __DIR__ . '/vendor/bin/composer',\n        'root_path' =\u003e '../'\n    ])\n);\n?\u003e\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpipan%2Fcomposer-update-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpipan%2Fcomposer-update-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpipan%2Fcomposer-update-manager/lists"}