Download the PHP package rgarciar1931/vendor-patches without Composer

On this page you can find all versions of the php package rgarciar1931/vendor-patches. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package vendor-patches

vendor-patches

A framework-agnostic Composer CLI and plugin to apply, revert, and track the status of git apply-based patches against vendor/ (or any other) files in a PHP project — including dependency ordering and a transactional apply command.

Why

Third-party dependencies sometimes need a local hotfix before an upstream release is available. Keeping those hotfixes as plain .patch files, applied by hand, doesn't scale: there's no record of what's applied, no ordering between patches that depend on each other, and no safe way to apply "all of them" without risking a half-patched tree if one fails partway through. vendor-patches formalizes that workflow with a small JSON manifest and three CLI commands.

Installation

This installs the vendor-patches binary at vendor/bin/vendor-patches and registers a Composer plugin that applies any pending patches automatically after composer install/update (see Auto-apply configuration to disable or tune this).

Quick start

  1. Create a manifest at patches/patches.json in your project root:

  2. Put the corresponding .patch file next to it (patches/curl-100-continue-real-status.patch), generated the normal way with git diff (or git diff --no-index) so it has standard a//b/ path prefixes.

  3. Check status, apply, and revert:

Commands

patch:apply [ids...] [--all] [--no-cascade] [--yes] [--manifest=] [--project-root=]

Applies one, several, or (--all) every patch, in dependency order.

patch:revert [ids...] [--all] [--no-cascade] [--yes] [--manifest=] [--project-root=]

Reverts one, several, or (--all) every applied patch.

patch:status [--type=] [--manifest=] [--project-root=]

Shows every patch's live status (applied, not_applied, or conflict), computed fresh each run via git apply --check / --check --reverse — nothing is cached or persisted, so status is always accurate even if a patch was applied or reverted outside this tool. --type filters by the patch's type field.

Manifest schema

Default location: patches/patches.json in the project root (configurable, see below). See resources/manifest.schema.json for the full JSON Schema.

Field Type Required Default Meaning
id string yes Unique id, ^[a-z0-9][a-z0-9._-]*$. Used on the CLI and as the dependency-graph key.
name string yes Short human title.
description string no "" Longer free-text explanation.
type string no "fix" Free-form category (fix, security, performance, compatibility, ...).
sortOrder integer no 0 Tiebreaker within the dependency-respecting order.
dependencies string[] no [] Ids of other patches that must be applied first.
file string yes Path to the .patch file, relative to the manifest's own directory.
target string no "." Base directory (relative to the project root) used as the cwd for git apply.
strip integer no 1 The -p<N> level passed to git apply.

Auto-apply configuration

The Composer plugin runs patch:apply --all non-interactively after composer install/update. Configure it via environment variables (highest precedence) or extra.vendor-patches in your project's composer.json:

Setting Env var extra.vendor-patches key Default Meaning
Auto-apply VENDOR_PATCHES_AUTO_APPLY auto-apply true Whether the plugin runs at all.
Manifest path VENDOR_PATCHES_MANIFEST manifest patches/patches.json Manifest location, relative to the project root (or absolute).
Strict VENDOR_PATCHES_STRICT strict false Whether a failed auto-apply aborts composer install/update (non-zero exit) or just warns and continues.

Env vars accept 1/true/on/yes or 0/false/off/no (case-insensitive). Manual CLI usage always works regardless of these settings — they only gate the automatic post-install/update hook.

If no manifest file exists at the resolved path, the plugin silently does nothing.

Requirements and known limitations

Development

License

MIT, see LICENSE.


All versions of vendor-patches with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
composer-plugin-api Version ^2.0
symfony/console Version ^6.4 || ^7.0
symfony/process Version ^6.4 || ^7.0
symfony/filesystem Version ^6.4 || ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package rgarciar1931/vendor-patches contains the following files

Loading the files please wait ...