Packagist : Quels paquets utilisent mon paquet en dépendance ? (French)

2014-02-23

  symfony    french    packagist    composer 

J'ai voulu savoir quels paquets (open-source) pouvaient bien utiliser un bundle Symfony que j'ai mis à disposition sur Packagist en dépendance.

Dans un projet utilisant Composer, vous avez la possibilité d'utiliser la commande suivante pour répondre à cette question, parmi les paquets utilisés dans votre fichier composer.json :


$ php composer.phar depends monolog/monolog
symfony/monolog-bundle requires monolog/monolog (~1.6)
symfony/symfony requires (dev) monolog/monolog (~1.3)

Je voulais quelque-chose qui fasse à peu près la même chose mais à travers tous les paquets (24 658 paquets au moment ou j'écris cet article) disponibles sur Packagist, alors j'ai écris le script Python suivant :

Son utilisation est plutôt simple, il vous suffit en effet dans un premier temps de récupérer l'arbre de dépendance via la commande suivante :


$ ./packagist.py --fetch
Packages dependencies has been dumped into packages.json file.

Puis ensuite, rechercher vos paquets de la façon suivante :


$ ./packagist.py --package eko/feedbundle
{
    "require": [
        "cobase/cobase",
        "symfony-cmf/sandbox"
    ],
    "require-dev": [],
    "suggest": [
        "symfony-cmf/block-bundle"
    ]
}

C'est assez pratique pour se rendre compte de l'utilisation d'une librairie dans les différents paquets open-source enregistrés sur Packagist.

Comments