Composer is a dependency manager for PHP and supports managing various WordPress dependencies. One can manage complete WordPress sites via composer installing core, themes, and plugins. For more info on using WordPress with Composer https://composer.rarst.net/
WordPress core can be installed via composer using https://packagist.org/packages/johnpbloch/wordpress. All the free themes and plugins are available for installation via wpackagist. Some premium plugins like “Advanced Custom Fields” supports installation via the composer. Commercial offerings keys and sensitive data can be protected by using “Private Composer Installer”.
Not all plugin houses support composer based installation but still, the composer is flexible to source packages from different channels. Also, the composer plugin API enables extending it further.
Plugin and theme houses widely use “Easy Digital Downloads” along with “Software Licensing Add-on” to enable users to purchase and download products. Though installation via composer is not supported natively but can be enabled via composer packages.
Recently for a few of our client projects which are managed via composer, we needed to add a few pro plugins. These plugins do not provide installation via composer but one thing common was EDD.
After trying to find some solution we ended up dogfooding small composer plugin to add the support. “Composer EDD Plugin” enables installing and managing WordPress pro offerings powered by EasyDigitalDownloads and software licensing add-on via composer. It works with any plugin or theme delivered via EasyDigitalDownloads and software licensing for distribution.
Once all the credentials and the key is configured, it connects to EDD powered store and gets the download zip for installation. Composer plugin is opensource and available on Github for sources and detailed usage documentation refer to github repo.
Special thanks to Nirbhay and Ideabox for helping us test and improve the plugin.