Documentación
Todo lo necesario para instalar paquetes desde composer.meteorgpl.com con Composer 2. Esta página también está disponible como Markdown.
Añadir el repositorio
Registra el repositorio en el composer.json del proyecto:
composer config repositories.meteorgpl composer https://composer.meteorgpl.com
El repositorio solo sirve metadatos de Composer 2. Todos los paquetes que contiene aparecen en la página Paquetes.
Autenticar
El repositorio solo responde a un token. Crea uno en tu página de la cuenta (Cuenta → Tokens) y guárdalo en el auth.json global de Composer:
composer config --global http-basic.composer.meteorgpl.com token <your-token>
El nombre de usuario es literalmente la palabra token (también sirve la dirección de correo electrónico de tu cuenta); la contraseña es el token. Composer guarda el par en ~/.composer/auth.json (o $COMPOSER_HOME/auth.json), nunca en el proyecto. Si ejecutas Composer sin un token guardado, te pide las credenciales y se ofrece a guardarlas.
En CI, pasa las credenciales mediante el entorno en lugar de un archivo:
COMPOSER_AUTH='{"http-basic":{"composer.meteorgpl.com":{"username":"token","password":"<your-token>"}}}'
Los tokens pueden llevar una fecha de caducidad y se pueden revocar en cualquier momento desde la página de la cuenta. El acceso al repositorio está ligado a la cuenta: un token de una cuenta sin acceso responde 403 con una indicación hacia la página de la cuenta; un token desconocido, caducado o revocado responde 401.
Nombres de los paquetes
| Tipo | Convención | Ejemplo |
|---|---|---|
| Plugin | meteorgpl-plugin/<slug> |
meteorgpl-plugin/elementor-pro |
| Tema | meteorgpl-theme/<slug> |
meteorgpl-theme/rehub-theme |
El slug es el nombre de la carpeta del propio plugin o tema dentro de wp-content/plugins o wp-content/themes, en minúsculas. composer/installers coloca el paquete en una carpeta con ese nombre, de modo que WordPress ve el directorio que distribuye el proveedor.
Ejemplo de composer.json
WordPress tradicional
{
"repositories": [
{ "type": "composer", "url": "https://composer.meteorgpl.com" }
],
"require": {
"composer/installers": "^2.0",
"meteorgpl-plugin/elementor-pro": "^3.0",
"meteorgpl-theme/rehub-theme": "^19.0"
},
"extra": {
"installer-paths": {
"wp-content/plugins/{$name}/": ["type:wordpress-plugin"],
"wp-content/themes/{$name}/": ["type:wordpress-theme"]
}
},
"config": {
"allow-plugins": { "composer/installers": true }
}
}
El mapa installer-paths indica a composer/installers dónde van los paquetes wordpress-plugin y wordpress-theme.
Bedrock
Bedrock ya requiere composer/installers y asigna ambos tipos de paquete a web/app/plugins y web/app/themes. Añade el repositorio y requiere los paquetes; no cambia nada más.
Versiones
Cada versión es una etiqueta semver (v3.21.0) en el historial git del paquete, compilada en un zip dist cuyo SHA-256 se muestra en la página del paquete y en la API. composer.lock fija la versión exacta y la suma de comprobación del dist, de modo que todos los entornos instalan los mismos bytes.
Todas las versiones publicadas siguen disponibles. composer update avanza dentro de tu restricción; composer require meteorgpl-plugin/elementor-pro:3.20.0 retrocede.
Claves de licencia
No se modifica nada en un paquete. El código de licencia, activación y actualización del proveedor se distribuye tal cual. Activa el plugin o tema en WordPress con la clave que compraste al proveedor; el canal de actualizaciones y el soporte del propio proveedor siguen a tu disposición como titular de la licencia. La página de licencias explica los perfiles de licencia que se muestran en cada página de paquete y qué se elimina de los archivos.
API
Una API JSON pública de solo lectura. Las respuestas se pueden almacenar en caché durante cinco minutos (Cache-Control: public, max-age=300), con un límite de 60 peticiones por minuto por dirección IP; los paquetes desconocidos responden 404.
GET https://meteorgpl.com/api/packages- Los paquetes publicados, 50 por página, con el lanzamiento más reciente primero. Parámetros:
q(búsqueda),type(pluginotheme),page. Cada entrada:composer_name, type, title, description, latest_version, latest_released_at, versions_count, license_spdx, license_profile, homepage, url. GET https://meteorgpl.com/api/packages/{vendor}/{slug}- Un paquete con sus versiones publicadas:
version, released_at, dist_size, dist_sha256, requires_php, requires_wp, tested_wp. GET https://meteorgpl.com/api/statstotal_packages, active_plugins, active_themes, total_versions, installs_30d, downloads_30d. Las instalaciones son los informes notify-batch de Composer; las descargas son descargas del zip dist.GET https://meteorgpl.com/api/status- La compilación del repositorio promovida:
build_id, created_at, package_count, version_count(valores nulos mientras no exista ninguna compilación).
Cada página de paquete también está disponible en Markdown en /packages/{vendor}/{slug}.md o con Accept: text/markdown, al igual que esta página en /docs.md.