Publicação de pacotes
O Playground publica seus pacotes no npm usando workflows automatizados de CI. Esta página explica como o processo de publicação funciona e o que você precisa saber ao adicionar novos pacotes.
Publicações automatizadas
Os pacotes npm são publicados automaticamente toda segunda-feira via GitHub Actions, ou manualmente pelos mantenedores usando o workflow dispatch. O workflow incrementa as versões usando Lerna, cria tags para o release e publica todos os pacotes públicos no npm.
O CI se autentica no npm usando publicação confiável via OpenID Connect (OIDC). Isso é mais seguro do que usar tokens npm de longa duração, pois gera credenciais de curta duração para cada execução do workflow e vincula a procedência do pacote diretamente ao repositório do GitHub.
Adicionando um novo pacote
Quando você adiciona um novo pacote npm ao monorepo, o workflow de publicação automatizada não conseguirá publicá-lo na primeira execução. Isso é um recurso de segurança do npm: a publicação confiável via OIDC só funciona para pacotes que já existem e foram configurados para confiar no repositório do GitHub.
Aqui está o que você precisa fazer:
1. Publique o pacote manualmente
Primeiro, autentique-se no npm em sua máquina local:
npm login
Em seguida, publique o pacote pela primeira vez:
cd packages/your-new-package
npm publish --access public
Isso cria o pacote no registro do npm sob sua conta.
2. Configure a publicação confiável
Após a publicação inicial, acesse as configurações do pacote em npmjs.com e configure a publicação confiável via OIDC:
- Navegue até seu pacote em npmjs.com
- Vá para Settings → Configure Trusted Publishers
- Adicione um novo publicador confiável com estas configurações:
- Repository owner:
WordPress - Repository name:
wordpress-playground - Workflow filename:
publish-npm-packages.yml - Environment:
npm
- Repository owner:

3. Transfira a propriedade (se necessário)
Se você publicou sob sua conta pessoal, transfira o pacote para a organização @aspect ou garanta que a equipe apropriada tenha acesso de publicação.
Uma vez configurado, as publicações subsequentes funcionarão automaticamente através do workflow de CI.
Por que o OIDC não pode publicar novos pacotes
A implementação de OIDC do npm exige que o pacote já exista antes que um publicador confiável possa ser configurado. Esta é uma situação de "ovo e galinha" por design — ela impede que alguém sequestre um nome de pacote através de um workflow do GitHub antes que o proprietário legítimo possa reivindicá-lo.
A primeira publicação manual estabelece a propriedade, e a publicação confiável então fornece autenticação segura e sem token para todas as publicações futuras.