Composer: Le référentiel Composer pour les packages dynamiques ne reçoit aucun paramètre pour le package recherché ?

Créé le 16 août 2016  ·  3Commentaires  ·  Source: composer/composer

Je suis en train de créer un _service proxy/référentiel Composer_. L'idée du mini-service est de fournir dynamiquement des packages de langue/traduction pour les thèmes ou les plugins à partir des réponses de l'API _WordPress_. Les parcours sont les suivants :

 https://api.wordpress.org/translations/plugins/1.0/?slug={slug}&version={version}

Le service _Nodejs_ lui-même n'est rien d'autre qu'un proxy qui doit être ajouté en tant que repository à un composer.json de type:project . Le service lui-même renvoie la clé providers-url dans le cadre du fichier packages.json (généré dynamiquement).

"providers-url" : "/" + request.params.scope + "/providers/%package%$%hash%.json"

Pour un exemple, veuillez consulter le composer.json :

{
    "name"              : "vendor/testproject",
    "type"              : "wordpress-project",
    "minimum-stability" : "dev",
    "repositories"      : [
        {
            "type" : "composer",
            "url"  : "https://{unique-ID}.ngrok.io/test"
        }
    ]
}

Jusqu'à présent, je ne peux voir que les requêtes vers /endpoint/packages.json , mais sans aucun paramètre. Dans un monde idéal, Composer enverrait les packages required , soit en tant qu'en-tête, soit en tant que paramètre de requête.

J'ai déjà regardé (et testé) toutes les options disponibles pour essayer de _truquer_ mon chemin à travers le système pour obtenir en quelque sorte le package demandé : type:{composer|vcs|…} . Y a-t-il un moyen pour que cela se produise? Ou y a-t-il au moins la _volonté_ d'accepter un PR pour implémenter cela - avec un indicateur supplémentaire pour activer ce comportement ?

_Une note concernant les services hébergés : il pourrait y avoir une combinaison d'options notify-batch et request/require pour rassembler des statistiques sur les référentiels recherchés et effectivement récupérés. Cette approche pourrait permettre de mieux cibler les packages "to-cache"._

Feature

Commentaire le plus utile

Ce n'est pas possible pour le moment, et je doute que ce le soit avant un certain temps. Je vais laisser ouvert pour le moment mais ne retiens pas ton souffle :)

Tous les 3 commentaires

Ce n'est pas possible pour le moment, et je doute que ce le soit avant un certain temps. Je vais laisser ouvert pour le moment mais ne retiens pas ton souffle :)

@alcohol, je suppose que vous pouvez ajuster les étiquettes maintenant :)

Fermer car je ne vois pas vraiment cela se produire, cela pourrait être faisable avec les métadonnées v2 (piste #8248 si vous êtes intéressé par plus de détails) car vous pouvez y faire metadata-url: "/p2/%package%.json" et tous les packages requis seront appelés un par un, mais vous ne pouvez renvoyer des données que pour le nom de ce package, pas pour d'autres packages, donc je ne suis pas sûr que cela vous aide vraiment.

Cela vous permet de générer des packages à la volée dans une certaine mesure, vous pouvez donc faire en sorte que les plugins nécessitent foo/plugin-translations-en , puis assurez-vous de toujours retourner un package pour vous assurer qu'il est installable, soit avec des traductions valides à l'intérieur ou un métapaquet vide n'installant rien si aucune traduction n'est disponible ?

Cette page vous a été utile?
0 / 5 - 0 notes