composer / composer

Dependency Manager for PHP
https://getcomposer.org/
MIT License
28.59k stars 4.55k forks source link

available-packages-pattern not utilized for composer show #9304

Closed ryanaslett closed 4 years ago

ryanaslett commented 4 years ago

On the drupal repo we have available-package-patterns set to: ['drupal/*']

    "repositories": [
        {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        },

When I run this command:

composer show -a drupal/webform

I get the following output:


  [LogicException]
  Composer repositories that have lazy providers and no available-packages list can not load the complete list of packages, use getPackageNames instead.

And I expected this to happen: It should retrieve, process, and output the metadata from the drupal/webform project from packages.drupal.org

stof commented 4 years ago

composer show -a is also broken with Packagist in Composer 2. This makes the composer show -a command almost unusable (any project which does not disable packagist cannot use it)

Seldaek commented 4 years ago

How is it broken @stof? Worked for me last time I checked.

Seldaek commented 4 years ago

Ah I see, when using -a to show a single package it fails.

Seldaek commented 4 years ago

Looks like https://github.com/composer/composer/commit/743d551399a675230fdb5c2a9cdaaa596e8a6af2 broke -a by fixing -p.. We probably could use tests for this stuff..

Seldaek commented 4 years ago

Ok actually found the root cause this time, so fixed for packagist.org at least, would appreciate if you can confirm for the drupal repo @ryanaslett but it should work all the same.

ryanaslett commented 4 years ago

Looks good to me, thanks!

`➜  drupal_8 git:(9.1.x) ✗ composer selfupdate --snapshot
Upgrading to version 14ec957e96a24aefab22ba9eb1e0c6589d9a221c (snapshot channel).

Use composer self-update --rollback to return to version 2.0.0-RC2
➜  drupal_8 git:(9.1.x) ✗ composer show -a drupal/webform             
name     : drupal/webform
descrip. : Enables the creation of webforms and questionnaires.
keywords : 
versions : 6.x-dev, 6.0.0-alpha20, 6.0.0-alpha19, 6.0.0-alpha18, 6.0.0-alpha17, 6.0.0-alpha16, 6.0.0-alpha15, 6.0.0-alpha14, 6.0.0-alpha13, 6.0.0-alpha12, 6.0.0-alpha11, 6.0.0-alpha10, 6.0.0-alpha9, 6.0.0-alpha8, 6.0.0-alpha7, 6.0.0-alpha6, 6.0.0-alpha5, 6.0.0-alpha4, 6.0.0-alpha3, 6.0.0-alpha2, 6.0.0-alpha1, 5.x-dev, 5.22.0, 5.21.0, 5.20.0, 5.20.0-beta6, 5.20.0-beta5, 5.20.0-beta4, 5.20.0-beta3, 5.20.0-beta2, 5.20.0-beta1, 5.19.0, 5.18.0, 5.17.0, 5.17.0-beta1, 5.16.0, 5.15.0, 5.14.0, 5.14.0-beta2, 5.14.0-beta1, 5.13.0, 5.12.0, 5.11.0, 5.10.0, 5.9.0, 5.9.0-beta2, 5.9.0-beta1, 5.8.0, 5.7.0, 5.7.0-beta1, 5.6.0, 5.6.0-beta1, 5.5.0, 5.5.0-rc2, 5.5.0-rc1, 5.5.0-beta2, 5.5.0-beta1, 5.4.0, 5.4.0-beta1, 5.3.0, 5.3.0-rc3, 5.3.0-rc2, 5.3.0-rc1, 5.3.0-beta3, 5.3.0-beta2, 5.3.0-beta1, 5.2.0, 5.2.0-rc3, 5.2.0-rc2, 5.2.0-rc1, 5.2.0-beta1, 5.1.0, 5.0.0, 5.0.0-rc31, 5.0.0-rc30, 5.0.0-rc29, 5.0.0-rc28, 5.0.0-rc27, 5.0.0-rc26, 5.0.0-rc25, 5.0.0-rc24, 5.0.0-rc23, 5.0.0-rc22, 5.0.0-rc21, 5.0.0-rc20, 5.0.0-rc19, 5.0.0-rc18, 5.0.0-rc17, 5.0.0-rc16, 5.0.0-rc15, 5.0.0-rc14, 5.0.0-rc13, 5.0.0-rc12, 5.0.0-rc11, 5.0.0-rc10, 5.0.0-rc9, 5.0.0-rc8, 5.0.0-rc7, 5.0.0-rc6, 5.0.0-rc5, 5.0.0-rc4, 5.0.0-rc3, 5.0.0-rc2, 5.0.0-rc1, 5.0.0-beta25, 5.0.0-beta24, 5.0.0-beta23, 5.0.0-beta22, 5.0.0-beta21, 5.0.0-beta20, 5.0.0-beta19, 5.0.0-beta18, 5.0.0-beta17, 5.0.0-beta16, 5.0.0-beta15, 5.0.0-beta14, 5.0.0-beta13, 5.0.0-beta12, 5.0.0-beta11, 5.0.0-beta10, 5.0.0-beta9, 5.0.0-beta8, 5.0.0-beta7, 5.0.0-beta6, 5.0.0-beta5, 5.0.0-beta4, 5.0.0-beta3, 5.0.0-beta2, 5.0.0-beta1, 4.x-dev, dev-6.x, dev-5.x, dev-4.x
type     : drupal-module
license  : GNU General Public License v2.0 or later (GPL-2.0-or-later) (OSI approved) https://spdx.org/licenses/GPL-2.0-or-later.html#licenseText
homepage : https://drupal.org/project/webform
source   : [git] https://git.drupalcode.org/project/webform.git 206b0e7965a38ee0ec6e555b6819d3d6aa1ccab7
dist     : []  
names    : drupal/webform

support
source : https://git.drupalcode.org/project/webform
issues : https://www.drupal.org/project/issues/webform?version=8.x
docs : https://www.drupal.org/docs/8/modules/webform
forum : https://drupal.stackexchange.com/questions/tagged/webform

requires
drupal/core ^8.8 || ^9

requires (dev)
drupal/webform_ui *
drupal/jquery_ui_checkboxradio ~1.0
drupal/gnode *
drupal/group 1.0
drupal/webform_node *
drupal/token ~1.0
drupal/webform_devel *
drupal/webform_attachment *
drupal/webform_entity_print *
drupal/entity_print ~2.0
drupal/devel ~3.0
drupal/webform_access *
drupal/webform_group *
drupal/webform_options_limit *
drupal/webform_scheduled_email *
drupal/webform_share *
drupal/clientside_validation ~3.0
drupal/clientside_validation_jquery *
drupal/webform_clientside_validation *
drupal/address ~1.0
drupal/bootstrap ~3.0
drupal/captcha ~1.0
drupal/chosen ~3.0
drupal/entity ~1.0
drupal/jquery_ui ~1.0
drupal/jquery_ui_datepicker ~1.0
drupal/lingotek ~3.0
drupal/mailsystem ~4.0
drupal/paragraphs ~1.0
drupal/select2 ~1.0
drupal/smtp ~1.0
drupal/styleguide ~1.0
drupal/telephone_validation ~2.0
drupal/variationcache ~1.0

suggests
drupal/jquery_ui_checkboxradio Provides jQuery UI Checkboxradio library. Required by the Webform jQueryUI Buttons module. The Webform jQueryUI Buttons module is deprecated because jQueryUI is no longer maintained.
drupal/jquery_ui_datepicker Provides jQuery UI Datepicker library. Required to support datepickers. The Webform jQueryUI Datepicker module is deprecated because jQueryUI is no longer maintained.

`