Documentazione
Tutto il necessario per installare pacchetti da composer.meteorgpl.com con Composer 2. Questa pagina è disponibile anche come Markdown.
Aggiungi il repository
Registra il repository nel composer.json del progetto:
composer config repositories.meteorgpl composer https://composer.meteorgpl.com
Il repository fornisce solo metadati di Composer 2. Tutti i pacchetti che contiene sono elencati nella pagina Pacchetti.
Autenticati
Il repository risponde solo a un token. Creane uno nella tua pagina dell’account (Account → Token) e salvalo nel auth.json globale di Composer:
composer config --global http-basic.composer.meteorgpl.com token <your-token>
Il nome utente è letteralmente la parola token (funziona anche l’indirizzo e-mail del tuo account); la password è il token. Composer scrive la coppia in ~/.composer/auth.json (o $COMPOSER_HOME/auth.json), mai nel progetto. Se esegui Composer senza un token salvato, ti chiede le credenziali e propone di salvarle.
Nella CI, passa le credenziali tramite l’ambiente anziché con un file:
COMPOSER_AUTH='{"http-basic":{"composer.meteorgpl.com":{"username":"token","password":"<your-token>"}}}'
I token possono avere una data di scadenza e possono essere revocati in qualsiasi momento dalla pagina dell’account. L’accesso al repository è legato all’account: un token di un account senza accesso risponde 403 con un rimando alla pagina dell’account; un token sconosciuto, scaduto o revocato risponde 401.
Nomi dei pacchetti
| Tipo | Convenzione | Esempio |
|---|---|---|
| Plugin | meteorgpl-plugin/<slug> |
meteorgpl-plugin/elementor-pro |
| Tema | meteorgpl-theme/<slug> |
meteorgpl-theme/rehub-theme |
Lo slug è il nome della cartella del plugin o del tema in wp-content/plugins o wp-content/themes, in minuscolo. composer/installers colloca il pacchetto in una cartella con quel nome, così WordPress vede la directory distribuita dal produttore.
Esempio di composer.json
WordPress tradizionale
{
"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 }
}
}
La mappa installer-paths indica a composer/installers dove vanno i pacchetti wordpress-plugin e wordpress-theme.
Bedrock
Bedrock richiede già composer/installers e associa entrambi i tipi di pacchetto a web/app/plugins e web/app/themes. Aggiungi il repository e richiedi i pacchetti; nient’altro cambia.
Versioni
Ogni versione è un tag semver (v3.21.0) nella cronologia git del pacchetto, compilata in uno zip dist il cui SHA-256 è mostrato nella pagina del pacchetto e nell’API. composer.lock fissa la versione esatta e il checksum del dist, così ogni ambiente installa gli stessi byte.
Ogni versione pubblicata resta disponibile. composer update avanza entro il tuo vincolo; composer require meteorgpl-plugin/elementor-pro:3.20.0 torna indietro.
Chiavi di licenza
Nessuna parte di un pacchetto viene modificata. Il codice di licenza, attivazione e aggiornamento del produttore viene distribuito così com’è. Attiva il plugin o il tema in WordPress con la chiave acquistata dal produttore; il canale di aggiornamento e il supporto del produttore restano a tua disposizione in quanto titolare della licenza. La pagina sulle licenze spiega i profili di licenza mostrati in ogni pagina di pacchetto e cosa viene rimosso dagli archivi.
API
Un’API JSON pubblica in sola lettura. Le risposte possono essere memorizzate nella cache per cinque minuti (Cache-Control: public, max-age=300), con un limite di 60 richieste al minuto per indirizzo IP; i pacchetti sconosciuti rispondono 404.
GET https://www.meteorgpl.com/api/packages- I pacchetti in elenco, 50 per pagina, dalla release più recente. Parametri:
q(ricerca),type(pluginotheme),page. Ogni voce:composer_name, type, title, description, latest_version, latest_released_at, versions_count, license_spdx, license_profile, homepage, url. GET https://www.meteorgpl.com/api/packages/{vendor}/{slug}- Un pacchetto con le sue versioni pubblicate:
version, released_at, dist_size, dist_sha256, requires_php, requires_wp, tested_wp. GET https://www.meteorgpl.com/api/statstotal_packages, active_plugins, active_themes, total_versions, installs_30d, downloads_30d. Le installazioni sono i report notify-batch di Composer; i download sono i download degli zip dist.GET https://www.meteorgpl.com/api/status- La build promossa del repository:
build_id, created_at, package_count, version_count(null finché non esiste alcuna build).
Ogni pagina di pacchetto è disponibile anche in Markdown in /packages/{vendor}/{slug}.md o con Accept: text/markdown, così come questa pagina in /docs.md.