Release a plugin with composer installed packages

What will happen if I want to do a version release of my plugin with all this files and folders?

You need to upload your complete vendors directory to SVN. Nothing more and nothing less.

For the plugin registry, the files composer installed do not have any other meaning than any other files you manually created. It doesn’t care* about them and happily hosts them for you.

* as long as these files pass the automatic linting – but with the recent bump to PHP 7.2 it shouldn’t be a problem

So what to do if you want to release now?

  1. Delete vendors folder
  2. Run composer install --optimize-autoloader --no-dev
  3. Upload your files to SVN as you used to.

I suggest this, so you do not upload more files than necessary (ie. dev dependencies) and get the benefit of the optimized autoloader.

side note: Welcome to the world of Composer! Please consider setting the type to wordpress-plugin in your composer.json, in order for better WPackagist integration. Other’s are already doing this, eg. YOAST.