The Composer Patches CLI provides a simple CLI for cweagans/composer-patches.
- PHP 7.0 or greater
- Composer
Add Composer Patches CLI as a composer dependency.
composer global require szeidler/composer-patches-cli:^1.0
The patch enable function enables the patching functionality in your root composer.json. It will create empty patches
definition in your composer.json or add a separate composer patch file, when using the --file option.
The patch enable command accepts the following options.
--fileFilename of the composer patch file to be created
Example:
composer patch-enable --file='patches.json' composer patch-add <package> <description> <url> The patch add command accepts the following arguments in the defined order.
<package>Name of the package to patch.<description>Description of the patch to be used.<url>URL or local path of the patch file.
Example:
composer patch-add drupal/core "SA-CORE-2018-002" "https://cgit.drupalcode.org/drupal/rawdiff/?h=8.5.x&id=5ac8738fa69df34a0635f0907d661b509ff9a28f"The patch add command accepts the following options.
-
--no-updateUse this option to prevent composer to update the package and apply the patch. The patch will only end up in yourcomposer.json, notcomposer.lockfile. -
--no-devRun the dependency update with the --no-dev option.
You can omit arguments for an interactive mode.
composer patch-remove <package> <description>The patch remove command accepts the following arguments in the defined order.
<package>Name of the package from which you want to remove the patch.<description>Description of the patch to be removed.
Example:
composer patch-remove drupal/core "SA-CORE-2018-002"You can omit arguments for an interactive mode.
composer patch-list <package>The patch add command accepts the following arguments.
<package>(optional) Name of the package to patch.
If the package argument is omitted, the command will return all defined patches.
Example:
$ composer patch-list
Package: drupal/core
+-----------------------------------------+-------------------------------------------------------------------------------------------------+
| Description | URL |
+-----------------------------------------+-------------------------------------------------------------------------------------------------+
| Simple decimals fail to pass validation | https://www.drupal.org/files/issues/2018-04-23/drupal_2230909_113.patch |
| SA-CORE-2018-002 | https://cgit.drupalcode.org/drupal/rawdiff/?h=8.5.x&id=5ac8738fa69df34a0635f0907d661b509ff9a28f |
+-----------------------------------------+-------------------------------------------------------------------------------------------------+composer patch-remote-to-local <directory>Using remote patches has security implications. Therefore it is wise to store them locally. This command will download all remote patches and store them in the given directory. The command will also update your composer.json or composer.patches.json.
The move remote patches to local files command accepts the following arguments.
<directory>The name of the directory the files should be placed in.
Example:
composer patch-remote-to-local patchesStephan Zeidler for Ramsalt Lab AS
The MIT License (MIT)