WU / DOCSMICROFRONTENDS UNIVERSAIS
PT

Empacotar uma app com wu pack

Crie um .wuapp assinado a partir do build nativo e prepare a instalação em outro shell.

Requer WU CLI 1.2.0 e WU Framework 4.0.0 para as APIs das aplicações. Confira wu --version e as dependências do projeto.

wu build --native
wu pack --keygen keys/catalog.pem --json
wu pack catalog --sign keys/catalog.pem --version 1.2.0 --out catalog-1.2.0.wuapp --json

Execute os comandos no workspace. catalog é o nome em dist/wu-manifest.json, não necessariamente o diretório. --keygen retorna a JWK pública usada pelo trust do host; a chave privada fica no PEM.

Argumento Contrato
<app> Nome da app no manifest de build.
--dist <dir> Diretório do build; padrão dist.
--out <file> Arquivo de saída; padrão <name>-<version>.wuapp.
--version <version> Versão da app dentro do pacote.
--sign <key.pem> Assina com uma chave privada ECDSA P-256.
--keygen <key.pem> Gera a chave privada e imprime a pública; não empacota.
--json Emite resultado ou erro em JSON.

Formato e resolução de módulos

O formato wuapp/1 é JSON comprimido com gzip. Contém nome, versão, entrada, manifest e arquivos com tipo, codificação, conteúdo e SHA-256. Imports JavaScript internos viram caminhos relativos e ?v=<build> é removido. Referências /@modules/ permanecem para módulos compartilhados do host; o pacote não inclui automaticamente todas as dependências do shell.

A versão vem de --version, do manifest da app, de seu package.json ou, por fim, de 0.0.0. A assinatura cobre a representação canônica de formato, identidade, entrada, manifest e hashes. Sem --sign, o pacote não é assinado; o instalador exige autorização explícita para aceitá-lo.

Resultado e erros

A saída JSON inclui out, name, version, entry, files, bytes, signed e publicKey. Manifest de build ausente, app desconhecida, entrada ausente ou chave inválida gera saída 1. --version indica a versão da app empacotada, não da WU CLI. Para verificar a assinatura e montar, siga Instalar arquivos .wuapp.

Na 1.2.0, --keygen recusa sobrescrever uma chave existente; --force permite essa substituição explícita. Assinaturas aceitam apenas ECDSA P-256. O empacotador atribui MIME por extensão e valida caminhos, tipos e limites segundo as regras do instalador. Nomes com hash do build nativo mantêm sua identidade dentro do pacote.

Referência de implementação

  • wu-cli/src/commands/pack.cjs
  • wu-cli/tests/pack-safety.test.cjs
  • wu-cli/tests/pack.test.cjs
CONSTRUA O WU CONOSCO

Encontrou um bug? Tem uma ideia?

Sua experiência melhora o WU. Conte o que falhou ou ajude a manter seu desenvolvimento.