Composer: ¿El repositorio de Composer para paquetes dinámicos no recibe ningún parámetro para el paquete buscado?

Creado en 16 ago. 2016  ·  3Comentarios  ·  Fuente: composer/composer

Estoy en el proceso de construir un _Composer proxy service / repository_. La idea del miniservicio es entregar dinámicamente paquetes de idioma / traducción para temas o complementos de las respuestas de la API _WordPress_. Las rutas son las siguientes:

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

El servicio _Nodejs_ en sí mismo no es más que un proxy que debe agregarse como repository a un composer.json de type:project . El servicio en sí devuelve la clave providers-url como parte del archivo packages.json (generado dinámicamente).

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

Para ver un ejemplo, consulte el siguiente composer.json :

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

Hasta ahora, solo puedo ver las solicitudes de /endpoint/packages.json , pero sin ningún parámetro. En un mundo ideal, Composer enviaría los paquetes required , ya sea como encabezado o como parámetro de consulta.

Ya miré (y probé) a través de todas las opciones disponibles para intentar _falsificar_ mi camino a través del sistema para de alguna manera obtener el paquete solicitado: type:{composer|vcs|…} . ¿Hay una manera de hacer que esto suceda? ¿O existe al menos la _voluntad_ de aceptar un RP para implementar esto, junto con una bandera adicional para permitir ese comportamiento?

_Una nota sobre los servicios alojados: podría haber una combinación de las opciones notify-batch y request/require para recopilar algunas estadísticas sobre los repositorios buscados y realmente recuperados. Este enfoque podría permitir apuntar a paquetes "en caché" mucho mejor.

Feature

Comentario más útil

Esto no es posible en este momento, y dudo que lo sea por un tiempo. Quizás en la v2.0, una vez que hayamos refactorizado las cosas del grupo, podríamos lograrlo. Lo dejaré abierto por ahora pero no contengas la respiración :)

Todos 3 comentarios

Esto no es posible en este momento, y dudo que lo sea por un tiempo. Quizás en la v2.0, una vez que hayamos refactorizado las cosas del grupo, podríamos lograrlo. Lo dejaré abierto por ahora pero no contengas la respiración :)

@alcohol Supongo que ahora puedes ajustar las etiquetas :)

Cerrar porque realmente no veo que esto suceda, podría ser factible con los metadatos v2 (pista # 8248 si está interesado en más detalles) ya que puede hacer metadata-url: "/p2/%package%.json" allí y todos los paquetes requeridos se llamarán uno por uno, pero solo puede devolver datos para el nombre de ese paquete, no para otros paquetes, así que no estoy seguro de que realmente lo ayude.

Le permite generar paquetes sobre la marcha aunque hasta cierto punto, por lo que podría hacer que los complementos requieran foo/plugin-translations-en y luego asegurarse de devolver siempre un paquete para asegurarse de que sea instalable, ya sea uno con traducciones válidas dentro o ¿Un metapaquete vacío que no instala nada si no hay traducciones disponibles?

¿Fue útil esta página
0 / 5 - 0 calificaciones