A Composer plugin that applies patches to dependencies from local or remote files.
composer-patches is a plugin for Composer, the PHP dependency manager, that allows developers to apply code patches to any package installed via Composer. It enables temporary modifications or fixes to third-party dependencies without requiring a fork, bridging the gap between immediate needs and upstream updates. The plugin integrates directly into the Composer workflow, applying patches automatically during installation or update commands.
PHP developers and teams using Composer for dependency management who need to apply custom fixes, workarounds, or modifications to third-party packages in their projects.
It provides a lightweight, non-intrusive way to patch dependencies without maintaining separate forks, reducing complexity and aligning with Composer's standard workflow. Developers choose it for its simplicity, reliability, and seamless integration into existing development processes.
Simple patches plugin for Composer
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Patches are applied automatically during `composer install` or `update`, integrating directly into standard workflows without manual intervention, as highlighted in the key features.
Supports loading patches from local files or remote URLs within composer.json, enabling easy management and sharing across environments, per the documentation.
Allows specifying which package versions a patch applies to, ensuring compatibility and preventing issues during updates, as described in the selective application feature.
Follows the Unix philosophy of doing one thing well, reducing complexity compared to maintaining full forks, aligning with the project's stated philosophy.
As patches accumulate, managing their compatibility with new package versions becomes error-prone and requires manual oversight, which the plugin does not automate.
The plugin does not automatically resolve merge conflicts when patches overlap or dependencies change, forcing developers to handle issues manually during updates.
Being tied to Composer and PHP, it cannot be used in projects with alternative dependency managers or non-PHP environments, limiting its applicability.