{"id":21428713,"url":"https://github.com/metadrop/drupal-updater","last_synced_at":"2025-08-24T03:40:07.206Z","repository":{"id":73540935,"uuid":"604584479","full_name":"Metadrop/drupal-updater","owner":"Metadrop","description":"Helper to update drupal project's dependencies","archived":false,"fork":false,"pushed_at":"2025-01-14T15:05:36.000Z","size":60,"stargazers_count":19,"open_issues_count":3,"forks_count":4,"subscribers_count":7,"default_branch":"1.x","last_synced_at":"2025-04-10T01:09:44.793Z","etag":null,"topics":["composer","drupal","drush","maintenance-scripts"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Metadrop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-21T11:21:12.000Z","updated_at":"2025-01-25T00:10:58.000Z","dependencies_parsed_at":"2024-12-19T12:10:23.863Z","dependency_job_id":"0f7bd40a-f425-44e6-b696-d0f0052aa40a","html_url":"https://github.com/Metadrop/drupal-updater","commit_stats":{"total_commits":46,"total_committers":4,"mean_commits":11.5,"dds":0.06521739130434778,"last_synced_commit":"6a773d2572f6c77afd0dfbcccda255d148a7244e"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metadrop%2Fdrupal-updater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metadrop%2Fdrupal-updater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metadrop%2Fdrupal-updater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metadrop%2Fdrupal-updater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Metadrop","download_url":"https://codeload.github.com/Metadrop/drupal-updater/tar.gz/refs/heads/1.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137886,"owners_count":21053775,"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","drupal","drush","maintenance-scripts"],"created_at":"2024-11-22T22:14:34.117Z","updated_at":"2025-04-10T01:09:49.788Z","avatar_url":"https://github.com/Metadrop.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Drupal updater\n\nDrupal updater helps you to update the drupal modules of your site.\n\nIt does an update of all your drupal modules and dependencies defined in the composer.json.\n\nIt also allows update only securities.\n\n## Requirements\n\nThis package works with:\n\n- Drush \u003e=10.\n- Composer 2.4 (global).\n\nOr alternatively, you can run it inside tools like [ddev](https://ddev.com).\n\n## Installation\n\nBefore doing the installation, make sure your environment has composer 2.4 or higher installed locally.\n\n```bash\ncomposer require metadrop/drupal-updater\n```\n\nOr, if you are using `ddev`:\n```bash\nddev composer require metadrop/drupal-updater\n```\n\n## Configuration\n\nConfiguration helps automating update workflows. All the parameters that are repeated through updates\ncan be added to a configuration file to just launch `drupal-updater`, saving time adding the parameters manually,\nor doing custom helpers in local / ci environments.\n\nThere is a template with configuration ready to use at **vendor/metadrop/drupal-updater/drupal-updater.yml.dist**, to use it just copy it to the root:\n\n```\ncp vendor/metadrop/drupal-updater/.drupal-updater.yml.dist .drupal-updater.yml\n```\n\nThe file .drupal-updater.yml at root is the default path, but it is possible to override configuration path by using the **--config** parameter:\n\n```\ndrupal-updater --config .drupal-updater.securities.yml\n```\n\nEdit .drupal-updater.yml to setup custom parameters when needed.\n\n### Configuration variables\n\nThe following variables can be setup through .drupal-updater.yml\n\n- **author**: Commits author\n- **noDev**: Set to true to only update packages deployed in production.\n- **onlySecurities**: Set to true to only update securities.\n- **packages**: Allows specify which packages will be updated.\n- **environments**: Array list of environments to update.\n\n\n## How it works\n\n\nThis module will try to update your dependencies based on how they are required in the composer.json.\n\n- Before starting to update, all the Drupal configuration is consolidated and commited into GIT.\n- For each module / package updated the changes are commited:\n  - For PHP packages, it commits the composer.lock\n  - For Drupal extensions, it applies the updates, commits the configuration changed and the modified files. On multisites environments it will export/commit the configuration for all environments keeping them all synchronized (see parameters).\n\nIf a package has an available update and that update can't be done by running `composer update`, it won't do the upgrade. This means that not all packages will be upgraded, but most of them yes.\n\n## Usage\n\nBasic update:\n\n```bash\n./vendor/bin/drupal-updater update\n```\n\nParameters allowed:\n\n- **--config**: Specify where the configuration file is located.\n- **--security**: It will update only securities.\n- **--no-dev**: It won't update dev dependencies, only the primary ones.\n- **--author**: It sets the git commits author. Example: `Test\u003ctest@example.com\u003e`\n- **--environment**: List of sites (drush alias) to be run on Drupal Multisites. The drush alias must be local.\n\nExamples:\n\n- Update securities:\n\n  ```bash\n  ./vendor/bin/drupal-updater --security\n  ```\n\n- Update only primary packages:\n\n  ```bash\n  ./vendor/bin/drupal-updater --no-dev\n  ```\n\n- Update specific packages:\n\n  ```bash\n  ./vendor/bin/drupal-updater --packages=drupal/core-recommended,drupal/core-dev\n  ```\n\n- Update with a specific author:\n\n  ```bash\n  ./vendor/bin/drupal-updater --author=Test\u003ctest@example.com\u003e\n  ```\n\n- Update on multiple sites (Drupal Multisite):\n\n  ```bash\n  ./vendor/bin/drupal-updater --environments=@site1.local,@site2.local,@site3.local,@site4.local\n  ```\n\n### DDEV\n\nIf you are using `ddev`, you can just run the commands above prepending `ddev exec`.\n\nExample:\n\n  ```bash\n  ddev exec ./vendor/bin/drupal-updater --security\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetadrop%2Fdrupal-updater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetadrop%2Fdrupal-updater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetadrop%2Fdrupal-updater/lists"}