PHPackages                             wieni/composer-plugin-patchsets - 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. wieni/composer-plugin-patchsets

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

wieni/composer-plugin-patchsets
===============================

1.0.0(2y ago)18.8k↓36.5%1[1 issues](https://github.com/wieni/composer-plugin-patchsets/issues)MITPHP

Since Nov 10Pushed 2y ago4 watchersCompare

[ Source](https://github.com/wieni/composer-plugin-patchsets)[ Packagist](https://packagist.org/packages/wieni/composer-plugin-patchsets)[ RSS](/packages/wieni-composer-plugin-patchsets/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

Composer Plugin Patchsets
=========================

[](#composer-plugin-patchsets)

Introduction
------------

[](#introduction)

The `wieni/composer-plugin-patchsets` is a PHP Composer plugin designed to address the complexities in managing and applying patches within Drupal projects.
This plugin aims to centralize patch management, enabling a consistent approach to applying patches across multiple projects.

Problem Statement
-----------------

[](#problem-statement)

Current practices utilizing `cweagans/composer-patches` for patch management in projects have introduced several challenges:

- Lack of uniformity in patch application across different projects leads to inconsistencies in behaviors.
- Difficulty in identifying and applying the same patches when upgrading versions due to variations in patch creation among different projects.

Objective
---------

[](#objective)

The primary goal of the `wieni/composer-plugin-patchsets` is to enable dependency patch resolution. A feature thas has [been deprecated](https://www.cweagans.net/2023/07/dependency-patch-resolution/) in `cweagans/composer-patches`.

Functionality
-------------

[](#functionality)

The plugin leverages the new plugin capabilities released by `cweagans/composer-patches`, allowing it to add patches by registering [a custom Resolver](https://docs.cweagans.net/composer-patches/api/capabilities/).

Usage
-----

[](#usage)

- Create a repository (eg `your-org/drupal-patches`) that contains a `composer.json` with patches defined [as documented by `cweagans/composer-patches`](https://docs.cweagans.net/composer-patches/usage/defining-patches/).
- Require the `wieni/composer-plugin-patchsets` plugin and your new patch repository (`your-org/drupal-patches`) in your Drupal project.
- Define the patch repository (`your-org/drupal-patches`) as a patch set in your `composer.json`:

```
{
  "extra": {
    "patchRepositories": [
      "your-org/drupal-patches"
    ]
  }
}
```

This configuration instructs `wieni/composer-plugin-patchsets` to apply the patches defined in the `your-org/drupal-patches` repository.

Advanced Configuration
----------------------

[](#advanced-configuration)

The plugin supports an advanced configuration allowing the exclusion of specific packages and patches.
This next example demonstrates the exclusion of the "`#2907810`" patch for `drupal/core` and all patches for `drupal/field_group`.

```
{
  "extra": {
    "patchRepositories": [
      {
        "name": "your-org/drupal-patches",
        "excludedPatches": {
          "drupal/core": [
            "#2907810"
          ],
          "drupal/field_group": ["*"]
        }
      }
    ]
  }
}
```

Contributing
------------

[](#contributing)

Contributions, suggestions, and issue reports are welcome. Feel free to fork this repository and submit pull requests.

License
-------

[](#license)

This project is licensed under the MIT License.

Acknowledgments
---------------

[](#acknowledgments)

- Acknowledgment of `cweagans/composer-patches` for its pioneering efforts in patch management within Composer.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

920d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/734199ae17f8da336fef9ba81f7c37cda09b0f9a952f551235c32ecfad68488b?d=identicon)[Wieni](/maintainers/Wieni)

---

Top Contributors

[![RobinHoutevelts](https://avatars.githubusercontent.com/u/9056689?v=4)](https://github.com/RobinHoutevelts "RobinHoutevelts (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/wieni-composer-plugin-patchsets/health.svg)

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

###  Alternatives

[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

2994.3M16](/packages/vaimo-composer-patches)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[mglaman/composer-drupal-lenient

1317.4M15](/packages/mglaman-composer-drupal-lenient)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5341.9M446](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2122.6M172](/packages/drupal-core-project-message)[olvlvl/composer-attribute-collector

A convenient and near zero-cost way to retrieve targets of PHP 8 attributes

184108.8k8](/packages/olvlvl-composer-attribute-collector)

PHPackages © 2026

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