Adicionar e remover microapps
Scaffold incremental, atualização do projeto e remoção manual sem comandos inventados.
Adicionar uma aplicação
wu add vue explorador --no-install
wu add react busqueda --no-install
wu install
Execute add a partir da raiz do projeto. Os dois argumentos posicionais são framework e nome, nessa ordem. A única opção reconhecida é --no-install, que permite gerar várias apps e fazer uma única instalação ao terminar.
Sem --no-install, add usa o mesmo agregador e escritor de wu install, preserva os campos raiz e propaga falhas do npm. Se o manifesto raiz não tiver _wu, interrompe antes de gerar; use --no-install para declarar dependências manualmente ou adote o manifesto com wu install --force.
O que ele grava
- Valida o framework e o nome e verifica se o diretório ainda não existe.
- Busca uma porta livre após a maior usada pelas apps; se não houver espaço, busca a partir de 5001. Evita portas do shell e do proxy.
- Gera
mf-<name>/compackage.json, ponto de entrada, componente e configuração do framework. Não grava umwu.jsonde origem. - Se a configuração veio de
wu.config.json, inclui a nova app e regrava o arquivo. - Agrega as declarações do shell e das apps ao manifesto raiz gerenciado.
- Instala com npm, exceto quando
--no-installfoi informado.
Declare dependências específicas na app ou shell que as consome. add preserva a configuração personalizada e amplia shared a partir do catálogo. Erros JSON incluem linha e coluna; não substituem uma configuração inválida por um arquivo novo.
Nomes e TypeScript
wu add react mf-checkout remove o prefixo recebido e gera mf-checkout/; não duplica mf-. O mesmo vale para o prefixo mf_. Um nome vazio ou formado apenas por esse prefixo é rejeitado. Um diretório existente também causa falha.
O comando ativa TypeScript quando supportsTs permite, para corresponder ao modo rápido de create. HTMX, Alpine e Stimulus permanecem em JavaScript. Não há uma opção de add para selecionar JavaScript nos outros templates.
Integrar uma aplicação existente
add gera uma aplicação nova. Para incluir uma já existente, declare uma entrada em apps com seu name, dir, framework, porta e comandos; adapte seu ponto de entrada ao registro WU e verifique wu.json. Depois execute wu install, wu info, wu build e valide sua montagem no navegador.
O nome identifica a app no catálogo do runtime. O diretório localiza arquivos e resolve overrides de dependências. Se você mudar um deles, revise os consumidores desse campo em vez de presumir que são intercambiáveis.
Remover ou renomear
Esta versão não implementa wu remove nem um comando para renomear. A remoção exige excluir a entrada de apps, atualizar a navegação e as referências de montagem e executar wu install para recalcular dependências e overrides. O diretório pode ser arquivado ou removido após a revisão dessas referências.
Renomear exige manter coerentes o diretório, wu.config.json, o nome registrado pelo adaptador, wu.json e os identificadores usados pelo shell. Execute wu doctor para encontrar referências obsoletas de diretório e reconstrua antes de publicar.
Limitações observadas
Sem wu.config.json, add usa a descoberta para calcular dependências e portas, mas não escreve uma configuração nova. Prefira um projeto criado explicitamente para manter uma topologia estável. Falha ao escrever o scaffold remove o novo diretório; uma falha posterior de instalação é informada com saída 1.
Referência de implementação
wu-cli/src/commands/add.zigwu-cli/src/commands/install.zigwu-cli/src/config/names.zigwu-cli/tests/scaffold-writers.test.cjswu-cli/tests/scaffold-security.test.cjs