PHP - Composer
Composer
9_ENTRIES- CheatSheet
Overview of CLI commands and
composer.jsonschema. - Composer Installers
Composer installers for multiple frameworks.
Stack Overflow
2_ENTRIES- You might use the following tags:
composer-php,packagist,satis+php.
IRC
1_ENTRIES- IRC channels are on `irc.freenode.org`
IRC channels are on
irc.freenode.org: #composer for users and #composer-dev for development.
Plugins
57_ENTRIES- Documentation for Plugins
This offical documentation is good starting point, when writing a Composer plugin.
- Composer-Asset-Plugin
A npm/Bower Dependencies Manager for Composer.
- Composer-AWS
The plugin loads repository data and downloads packages from Amazon S3 (with authentication support for private repositories).
- Composer-Composition
Provides an API, for checking your environment at runtime.
- Composer-Suggest
Enables you to install a custom group of suggested packages, based on keyword patterns.
- Composer-Versions-Check
Shows outdated packages from last major versions after using the update command (showing "Latest is vX.Y.Z").
- Composer-Changelogs
Provides a summary of the updates with links to changelog/releasenote/tag. The output is ready to be pasted into the commit message when updating the composer.lock file.
- Composer-Merge-Plugin
Merges multiple
composer.jsonfiles at Composer runtime. - Composer-Bin-Plugin
Adds support for managing dependencies for multiple packages in a single repository or isolate bin dependencies.
- Composer-Inheritance-Plugin
Opinionated version of Wikimedia composer-merge-plugin to work in pair with Bamarni composer-bin-plugin.
- Composer-MonoRepo-Plugin
The plugin helps to manage dependencies for multiple packages in a single repository.
- Composer-Patches-Plugin
Enables you to provide patches for any package from any package. When the dependency is fetched, the patch is applied on top.
- Composer-Patches
The plugin applies a patch from a local or remote file to any required package.
- Composer-Patches
Applies a patch from a local or remote file to any package that is part of a given composer project.
- Composer-Patchset
Automatically fetch, update and apply patches to any composer package with a twist - store the patchset as a composer package itself.
- Composer-Plugin-QA
Comprehensive Plugin for composer to execute PHP Quality assurance Tools.
- Composer-Cleanup-Plugin
Removes tests & documentation folders from the vendor dir.
- Composer-Cleaner
The tool removes unnecessary files and directories from the vendor directory.
- Composer-Ignore-Plugin
Enables you to remove files and folders from the vendor folder (to make a cleaner and smaller deployment to production). It's an alternative to
.gitattributes. - Composer-Vendor-Cleaner
Plugin removes unnecessary development files and directories from
vendordirectory by glob pattern syntax. - Composer-Skrub
The plugin helps to remove junk from Composer installations and trim build sizes.
- Drupal Vendor Hardening Composer Plugin
Removes extraneous directories from the project's vendor directory & adds .htaccess and web.config files to the root of the project's vendor directory.
- Composer-Shared-Package-Plugin
Allows you to share selected packages between your projects by creating symlinks.
- Composer-Symlinker
Enables you to load packages from different directories (instead of loading them from /vendor).
- Prestissimo
A parallel downloader using
phpext_curl. - Composer-Curl-Plugin
The plugin uses
phpext_curlfor downloading packages. - Composer-Custom-Directory-Installer
A composer plugin, to install different types of composer packages in custom directories outside the default composer installation path (vendor folder).
- Composer-Dependency-Analyzer
The plugin helps to find dependency issues, including dead, unused, shadow and misplaced dependencies.
- Composer-Dependency-Analyzer
Allows you to build a dependency graph for an installed composer project.
- Graph-Composer
Provides a graph visualization for your project's
composer.jsonand its dependencies. - PackageVersions
Provides a very quick and easy access to installed composer dependency versions.
- PackageVersions Deprecated
Is a fork of Ocramius/PackageVersions providing compatibility with Composer 1 and 2 on PHP 7+.
- Composer-Locator
Provides a means of locating the installation path for a given Composer package name.
- PackageInfo
Enables you to retrieve all package informations (like version, tag, release date, description).
- Composer-Git-Hooks
A library for easily managing git hooks in your composer config.
- Symfony-Flex
Provides recipe-based installation and configuration management for Symfony packages.
- Narrowspark-Automatic
Automates the most common tasks of applications, boost package downloads, adds a composer security audit and more.
- PHPCodeSniffer-Composer-Installer
The plugin enables you to install PHP_CodeSniffer coding standards (rulesets).
- Composer-Warmup
The plugin adds the command
warmup-opcodeto Composer, which triggers the compilation of all PHP files discovered in your project into the Opcache. - Foxy
Composer plugin that executes npm/yarn packages installation operations, when composer package is installed or updated.
- NodeJS-Installer
Installer for Node.js and npm.
- Node-Composer
Installer for Node.js, npm and yarn.
- Imposter-Plugin
Wrapping all composer vendor packages inside your own namespace. Intended for WordPress plugins.
- Composer Preload
The plugin generates a
vendor/preload.phpfile to warm up the Opcache. - PHP Inc
Automatically includes files for autoload and autoload-dev to facilitate using functions and grouped definitions within composer loaded applications.
- Composer Registry Manager
Enables you to switch between different composer repositories.
- Production-Dependencies-Guard
Prevents development packages from being added into require and getting into production environment.
- Composer-Plugin-Exclude-Files
A plugin for excluding files required by packages using the 'files' autoloading mechanism.
- Composer-Downloads-Plugin
Lightweight mechanism to download external resources (ZIP/TAR files) with only a
urlandpath. - Private-Composer-Installer
Install helper outsourcing sensitive keys from the package URL into environment variables.
- CycloneDX-PHP-Composer
Creates a CycloneDX "Software Bill-of-Materials" (SBOM) for the dependencies of a project. The SBOM enables dependency monitoring and risk analysis by OWASP DependencyTrack.
- Composer-Compile-Plugin
Allow PHP libraries to define simple, freeform compilation tasks. Support post-install hooks in any package.
- Composer-Link
Adds the ability to link local packages for development.
- Composer-REPL
The plugin provides the
composer replcommand, which gives you a PHP language shell (read-eval-print loop). - Composer-Diff
Compares
composer.lockchanges and generates a Markdown report for usage in a pull request description. - Composer-Velocita
Fast and reliable Composer package downloads using Velocita: a caching reverse proxy that does not require you to modify your projects.
- Composer Translation Validator
Validates translation files in your project, supports several file formats (regarding different frameworks) and provides useful validators for comparison, consistency and syntax checks.
Tools
12_ENTRIES- Composer SemVer Checker
Enables you identify constraint to version resolution issues, by doing a semantic version check for Packagist hosted packages.
- Composer-Yaml
This tool converts
composer.ymltocomposer.json. - Studio
A workbench for developing Composer packages. Its an alternative to editing dependencies in the vendor folder or using PathRepositories to load a local clone of your dependency into your project.
- OctoLinker Browser Extension
Enables you to navigate Composer/NPM dependencies on GitHub.
- ComposerRequireChecker
A CLI tool to analyze dependencies and verify that no unknown imported symbols are used in the sources of a package.
- Composer-Unused
A CLI tool, which scans your code and shows unused Composer dependencies.
- Composer-Normalize
The plugin helps to keep your
composer.jsonfile(s) consistent by restructuring and sorting entries (normalizing). - Composer-Service
Enables you to run Composer as a service on a remote server.
- Composer PreferLowest Checker
Strictly compare the specified minimum versions of your composer.json with the ones actually used by the prefer-lowest composer update command option.
- Bramus/Composer-Autocomplete
A Bash/Shell autocompletion script for Composer.
- Composer/Xdebug-Handler
Helps you to restart a CLI process without loading the xdebug extension.
- Composer Semver Range Checker
A tool to help check the satisfiable ranges of a composer constraint.
Scripts
9_ENTRIES- ParameterHandler
Allows you to manage your ignored parameters when running a composer install or update.
- Tooly
Manage needed PHAR files in your project
composer.json. Every PHAR file will be saved in the composer binary directory. Optional with GPG verification for every PHAR. - Melody
One-file composer scripts.
- Composer-Travis-Lint
Allows you to lint the Travis CI configuration file (
.travis.yml). - Composer-Multitest
Enables you to run a Composer script against multiple, locally installed PHP versions, which are managed by PHPBrew or phpenv.
- ScriptsDev
Enables you to use a
scripts-devsection, which triggers scripts only in dev mode. - PhantomJS-Installer
A Composer Package which installs the PhantomJS binary (Linux, Windows, Mac) into /bin of your project.
- Composer-Vendor-Cleanup
A script which removes whitelisted unnecessary files (like tests/docs etc.) from the vendor directory.
- Composer-Substitution-Plugin
A Composer plugin replacing placeholders in the
scriptssection by dynamic values.
Services
1_ENTRIES- Dependabot
Dependabot is a dependency update service. It monitors and updates your dependencies by sending a pull-request. The service is free for public repos and personal account repos.
Tutorials
7_ENTRIESBlogs
5_ENTRIESVideos
10_ENTRIESSlides
2_ENTRIES- Slides by Nils AdermannSource
Slides by Nils AdermannSource: https://naderman.de/slippy/src/PHP Reinvented - How Composer helped shape the new way of writing PHPComposer UpdateDependency Management with Composer PHP Reinvented[Managing dependen…
- Slides by Jordi BoggianoSource
Slides by Jordi BoggianoSource: http://slides.seld.be/Dependency Management with Composer (2013)In Depth with Composer (2013)Composer Best Practices (2015)[Introduction to Composer (2015)](http://slides.seld.be/?file=2015-06-30+Introduction+to+Compo…
Setup a Packagist Mirror
3_ENTRIES- Packagist Mirror
This script helps to setup a packagist mirror. It is the maintained and stable version of Packagist Crawler.
- Docker Image
This Docker image helps to create a customized packagist mirror.
- Packagist Mirror from Indonesia
Another implementation for creating a packagist mirror.
Registry Manager
1_ENTRIES- https://github.com/slince/composer-registry-manager
The plugin helps you to switch between different composer repositories.
Private repositories
1_ENTRIES- fxpio/tug
Enables you to host a private Composer registry on AWS Serverless serving your private PHP packages, which are hosted on GitHub or GitLab services.
Private Packagist
2_ENTRIES- Private Packagist Enterprise
On-premise self-hosted version of Private Packagist.
- Private Packagist API Client
A PHP client for the Private Packagist API. The client handles authentication, signature generation and access to all endpoints.
Repman
2_ENTRIES- repman.io
& repman-io/repman - A Private PHP Package Repository Manager & Packagist Proxy.
- repman-io/composer-plugin
This plugin enables downloading via Repman by adding a distribution mirror URL for all your dependencies (without need to update the
composer.lockfile).
Packagist-compatible repositories
9_ENTRIES- WordPress Packagist
Mirrors the WordPress plugin and theme directories as a Composer repository.
- Asset Packagist
Enables installation of Bower and NPM packages as native Composer packages.
- Firegento
A Composer Repository providing Magento Modules.
- Drupal Packagist
Composer repositories for Drupal 7 and 8 core, modules, and themes.
- Satis Server
This docker container provides a Satis Server and enables you to run a private, self-hosted Composer repository with support for Git, Mercurial, and Subversion, HTTP API, HTTPs support, webhook handler and scheduled builds.
- Cloudsmith
A fully managed package management SaaS with PHP/Composer support (and many others).
- Release Belt
Self–hosted Composer repository implementation to quickly integrate ZIP files of third party non–Composer releases.
- Packeton
Private self-hosted Composer repository for vendors. Fork of packagist with adding support for authorization, customer users, groups, webhooks.
- RepoFlow
Simple and fast platform for hosting private Composer registries. Also supports Docker, npm, PyPI, Maven, and RubyGems. Offers free options for both cloud and self-hosted setups.
Satis
4_ENTRIES- GitLab-Composer
This is a branch/tag indexer for GitLab repositories.
- Satisfy
Satis composer repository manager with a Web UI.
- Satis Control Panel
A simple web UI for managing your Satis Repository with optional CI integration.
- Satis Go
A web server for managing Satis configuration and hosting the generated Composer repository.
Toran Proxy
1_ENTRIES- ToranProxy
(deprecated) - In addition to providing a composer repository ToranProxy acts as a proxy server for Packagist and GitHub.