Roots Discourse

AdminColumnsPro with Composer, zip extracted improperly

I typically add paid/premium plugins to composer by creating a package. This method has worked with ACF and WP-Migrate-Pro. When trying to replicate this with AdminColumnsPro, the plugins folder structure gets all out of whack. Here is the code I’m using to include the plugin:

 {
    “type”: “package”,
    “package”: {
      “name”: “codepress/admin-columns-pro”,
      “version”: “3.4.2”,
      “type”: “wordpress-plugin”,
      “dist”: {
        “type”: “zip”,
        “url”: “https://www.admincolumns.com/?wc-api=software-licence-api&request=plugindownload&licence_key=xxxxxxxxxxf&plugin_name=admin-columns-pro”
      },
      “require” : {
        “composer/installers”: “v1.0.12” 
      }
    }
  },

Here is a screenshot of the way the plugin is getting extracted:

Already in discussions with the plugin support. Was wondering if anyone had any ideas. I will update this thread if I make progress on the other front.

I don’t think this really has anything to do with Composer itself. I’m assuming that if you just downloaded and extracted that zip manually it would look the same.

Frankly it just looks like the ZIP is badly prepared. Especially including the __MACOSX folder. That being said, I prefer ZIPs to contain a subfolder within them. So if you just extract them they don’t pollute the directory you were in.

This is ideal for ZIP distribution but not ideal for Composer packages. You’ll probably have to host your own package with the files in the root.

Manually downloading the zip and extracting, the plugin extracts normally as expected. Not the same way that composer extracts it actually. That was the first question their support asked me.

That’s probably because you’re on a Mac. Composer isn’t going to add that in for funsies