MeteorGPLby WebbingApps

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

Nomenclatura de pacotes por tipo
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 (plugin ou theme), 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/stats
total_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.

Enviar feedback

O que funciona, o que não funciona, o que falta: algumas palavras ajudam.

Só se você quiser uma resposta.

Feita no seu navegador, sem esta janela. Senhas, o que você digitou em formulários, chaves e tokens ficam de fora como blocos cinza; você pode ocultar mais antes de enviar. Guardamos as capturas por 90 dias.

Guardamos com o endereço da página, seu idioma, o tamanho da janela, o navegador e o endereço IP, e seu endereço de e-mail, se você informar um. O endereço IP e o navegador são excluídos após 90 dias. Política de privacidade.

Todos os idiomas