Documentação
Tudo o que é necessário para instalar pacotes de composer.meteorgpl.com com o Composer 2. Esta página também está disponível como Markdown.
Adicionar o repositório
Registre o repositório no composer.json do projeto:
composer config repositories.meteorgpl composer https://composer.meteorgpl.com
O repositório fornece apenas metadados do Composer 2. Todos os pacotes que ele contém estão listados na página Pacotes.
Autenticar
O repositório só responde a um token. Crie um na sua página da conta (Conta → Tokens) e guarde-o no auth.json global do Composer:
composer config --global http-basic.composer.meteorgpl.com token <your-token>
O nome de usuário é a palavra literal token (o endereço de e-mail da sua conta também funciona); a senha é o token. O Composer grava o par em ~/.composer/auth.json (ou $COMPOSER_HOME/auth.json), nunca no projeto. Se você executar o Composer sem um token armazenado, ele solicita as credenciais e se oferece para salvá-las.
No CI, passe as credenciais pelo ambiente em vez de um arquivo:
COMPOSER_AUTH='{"http-basic":{"composer.meteorgpl.com":{"username":"token","password":"<your-token>"}}}'
Os tokens podem ter data de expiração e podem ser revogados a qualquer momento na página da conta. O acesso ao repositório está vinculado à conta: um token de uma conta sem acesso responde 403 com uma indicação da página da conta; um token desconhecido, expirado ou revogado responde 401.
Nomenclatura de pacotes
| Tipo | Convenção | Exemplo |
|---|---|---|
| Plugin | meteorgpl-plugin/<slug> |
meteorgpl-plugin/elementor-pro |
| Tema | meteorgpl-theme/<slug> |
meteorgpl-theme/rehub-theme |
O slug é o nome da própria pasta do plugin ou tema em wp-content/plugins ou wp-content/themes, em letras minúsculas. O composer/installers coloca o pacote em uma pasta com esse nome, para que o WordPress veja o diretório que o fornecedor distribui.
Exemplo 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 }
}
}
O mapa installer-paths informa ao composer/installers onde ficam os pacotes wordpress-plugin e wordpress-theme.
Bedrock
O Bedrock já exige composer/installers e mapeia os dois tipos de pacote para web/app/plugins e web/app/themes. Adicione o repositório e declare os pacotes como dependências; nada mais muda.
Versões
Cada versão é uma tag semver (v3.21.0) no histórico git do pacote, gerada como um zip dist cujo SHA-256 aparece na página do pacote e na API. O composer.lock fixa a versão exata e a soma de verificação do dist, então todo ambiente instala exatamente os mesmos bytes.
Toda versão publicada continua disponível. composer update avança dentro da sua restrição de versão; composer require meteorgpl-plugin/elementor-pro:3.20.0 volta para uma anterior.
Chaves de licença
Nada em um pacote é modificado. O código de licença, ativação e atualização do fornecedor é distribuído como está. Ative o plugin ou tema no WordPress com a chave que você comprou do fornecedor; o canal de atualização e o suporte do próprio fornecedor continuam disponíveis para você como titular da licença. A página de licenciamento explica os perfis de licença exibidos em cada página de pacote e o que é removido dos arquivos.
API
Uma API JSON pública e somente leitura. As respostas podem ficar em cache por cinco minutos (Cache-Control: public, max-age=300), com limite de 60 requisições por minuto por endereço IP; pacotes desconhecidos respondem 404.
GET https://meteorgpl.com/api/packages- Os pacotes listados, 50 por página, com o lançamento mais recente primeiro. Parâmetros:
q(pesquisa),type(pluginoutheme),page. Cada item: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}- Um pacote com suas versões 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. Instalações são os relatórios notify-batch do Composer; downloads são downloads do zip dist.GET https://meteorgpl.com/api/status- O build promovido do repositório:
build_id, created_at, package_count, version_count(nulos enquanto não existir build).
Toda página de pacote também está disponível em Markdown em /packages/{vendor}/{slug}.md ou com Accept: text/markdown, assim como esta página em /docs.md.