Awesome Composer Save

:sunglasses: A curated awesome list for Composer, Packagist, Satis, Plugins, Scripts, Composer related resources, tutorials.

Project README

Awesome Composer Awesome Build Status license

A curated list of resources for Composer, Packagist, Satis, Plugins, Scripts, Videos, Tutorials.

You might also like awesome-php.

Please read the contribution guidelines before contributing.

Composer

Support

Stack Overflow

IRC


Plugins

  • 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.json files 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 vendor directory 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_curl for 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 - Allows you to build a dependency graph for an installed composer project.
  • Graph-Composer - Provides a graph visualization for your project's composer.json and 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-opcode to 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 NodeJS and npm.
  • Node-Composer - Installer for NodeJS, 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.php file 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 url and path.
  • 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 repl command, which gives you a PHP language shell (read-eval-print loop).
  • Composer-Diff - Compares composer.lock changes 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.

Tools

  • 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.yml to composer.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.json file(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

  • 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-dev section, 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 scripts section by dynamic values.

Services

  • Packanalyst - Packanalyst is a service that lets you browse in any PHP class / interface / trait defined in Packagist.
  • 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

Blogs

Videos

Slides


Packagist

Packagist is the PHP Package Repository.

Setup a Packagist Mirror

Packagist Mirrors

About metadata mirrors: https://packagist.org/mirrors

Composer Repositories

Registry Manager

Private repositories

  • 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

Repman

  • 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.lock file).

Packagist-compatible repositories

  • 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.

Satis

  • 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

  • ToranProxy (deprecated) - In addition to providing a composer repository ToranProxy acts as a proxy server for Packagist and GitHub.

License

CC0

To the extent possible under law, Jens A. Koch has waived all copyright and related or neighboring rights to this work.

Open Source Agenda is not affiliated with "Awesome Composer" Project. README Source: jakoch/awesome-composer

Open Source Agenda Badge

Open Source Agenda Rating