PHPackages                             hiqdev/composer-ci-deps-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. hiqdev/composer-ci-deps-plugin

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

hiqdev/composer-ci-deps-plugin
==============================

Composer plugin for installing dependencies from the PRs

13141PHP

Since Jun 3Pushed 11mo ago2 watchersCompare

[ Source](https://github.com/hiqdev/composer-ci-deps-plugin)[ Packagist](https://packagist.org/packages/hiqdev/composer-ci-deps-plugin)[ RSS](/packages/hiqdev-composer-ci-deps-plugin/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Composer Plugin to patch PHP Project Dependencies in multi-repository CI/CD pipelines
=====================================================================================

[](#composer-plugin-to-patch-php-project-dependencies-in-multi-repository-cicd-pipelines)

[![Latest Stable Version](https://camo.githubusercontent.com/2abf04ee984596dbef53075ead21edd7dce0d4cc522c6785088e6511646b6af3/68747470733a2f2f706f7365722e707567782e6f72672f6869716465762f636f6d706f7365722d63692d646570732d706c7567696e2f76)](https://packagist.org/packages/hiqdev/composer-ci-deps-plugin)[![Total Downloads](https://camo.githubusercontent.com/0c0a0f05cc508118ff68653398b4213b74edeaee03e29f60a11b7cb570642aae/68747470733a2f2f706f7365722e707567782e6f72672f6869716465762f636f6d706f7365722d63692d646570732d706c7567696e2f646f776e6c6f616473)](https://packagist.org/packages/hiqdev/composer-ci-deps-plugin)

This plugin is designed for CI/CD pipelines of a multi-repository project. When a project consists of multiple repositories, it is often necessary to test the changes in the dependencies of the project before merging them. This plugin helps to automate this process.

It allows to automatically patch the dependencies of the project based on the list of pull requests that are currentto be used inly being tested.

Limitations
-----------

[](#limitations)

1. Currently, the plugin supports pull requests from:
    1. Public GitHub repositories
    2. Private GitLab repositories
2. Only pull requests against the installed dependency versions are supported. It means that the plugin will not work if the pull request is against the feature branch, and you have the main repo branch installed as a dependency.
3. If you already use [cweagans/composer-patches](https://github.com/cweagans/composer-patches), in your project, you should install this plugin with caution, as it was not tested in such an environment and may cause conflicts.

Supported environment variables
-------------------------------

[](#supported-environment-variables)

NameDescriptionRequired?`GITLAB_REPO_ACCESS_TOKEN`Gitlab Access Token with **read\_api**, **read\_repo** grants.
Make sure the token owner has access to the required repos.Required`EXIT_ON_PATCHING_ERROR`When set to `1`, the plugin will exit with a non-zero code if an error occurs during patching.OptionalInstallation
------------

[](#installation)

```
composer require --dev hiqdev/composer-ci-deps-plugin
```

Usage
-----

[](#usage)

1. Create a `pull-requests.txt` in the root of your project with the list of pull requests, one per line, for example:

    ```
    https://gitlab.com/ultimateretro/ultimateretro/-/merge_requests/49
    https://github.com/hiqdev/php-billing/pull/94
    ```

    The plugin will automatically detect the type of the pull requests.
2. Run `composer prp` – this will download patches from the pull requests and apply them to the dependencies.

Development
-----------

[](#development)

The easiest way to test the plugin is to create a new project and require the plugin from the local path:

```
{
    "repositories": [
        {
            "type": "path",
            "url": "/path/to/composer-ci-deps-plugin"
        }
    ],
    "require-dev": {
        "hiqdev/composer-ci-deps-plugin": "*"
    }
}
```

Then you can run the plugin with the following command and enjoy the debugging with XDebug:

```
export XDEBUG_TRIGGER=1
export COMPOSER_ALLOW_XDEBUG=1
export GITLAB_REPO_ACCESS_TOKEN=
composer prp
```

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity14

Early-stage or recently created project

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/790fd24da129907d373559f60c6994f664f06e3f518502c03580cc9f3594615e?d=identicon)[hiqdev](/maintainers/hiqdev)

---

Top Contributors

[![SilverFire](https://avatars.githubusercontent.com/u/4499203?v=4)](https://github.com/SilverFire "SilverFire (14 commits)")[![VadymHrechukha](https://avatars.githubusercontent.com/u/114911409?v=4)](https://github.com/VadymHrechukha "VadymHrechukha (14 commits)")

### Embed Badge

![Health badge](/badges/hiqdev-composer-ci-deps-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/hiqdev-composer-ci-deps-plugin/health.svg)](https://phpackages.com/packages/hiqdev-composer-ci-deps-plugin)
```

###  Alternatives

[fbf/laravel-contact-form

A Laravel 4 package for adding a simple contact form to a website

141.1k](/packages/fbf-laravel-contact-form)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
