WU / DOCSUNIVERSAL MICROFRONTENDS
ES

Añadir y retirar microapps

Scaffold incremental, actualización del proyecto y retirada manual sin comandos inventados.

Añadir una aplicación

wu add vue explorador --no-install
wu add react busqueda --no-install
wu install

Ejecuta add desde la raíz del proyecto. Los dos argumentos posicionales son framework y nombre, en ese orden. La única opción reconocida es --no-install, que permite generar varias apps y realizar una instalación al terminar.

Sin --no-install, add utiliza el mismo agregador y escritor que wu install, conserva los campos raíz y propaga errores de npm. Si el manifiesto raíz no tiene _wu, se detiene antes de generar; puedes usar --no-install para declarar dependencias manualmente o adoptar el manifiesto con wu install --force.

Qué escribe

  1. Valida framework y nombre, y comprueba que el directorio no exista.
  2. Busca un puerto libre después del mayor usado por las apps; si no queda espacio, busca desde 5001. Evita puertos del shell y del proxy.
  3. Genera mf-<name>/ con package.json, entrypoint, componente y configuración del framework. No escribe un wu.json fuente.
  4. Si la configuración provino de wu.config.json, incorpora la nueva app y reescribe el archivo.
  5. Agrega las declaraciones de shell y apps al manifiesto raíz gestionado.
  6. Instala con npm, salvo que se haya pasado --no-install.

Declara las dependencias particulares en la app o shell que las consume. add conserva la configuración personalizada y amplía shared desde el catálogo. Los errores JSON incluyen línea y columna; no sustituyen una configuración rota por una nueva.

Nombres y TypeScript

wu add react mf-checkout retira el prefijo recibido y genera mf-checkout/; no duplica mf-. Lo mismo aplica al prefijo mf_. Un nombre vacío o formado solo por ese prefijo es rechazado. Un directorio existente también falla.

El comando activa TypeScript cuando supportsTs lo admite, para coincidir con el modo rápido de create. HTMX, Alpine y Stimulus permanecen en JavaScript. No hay una opción de add para seleccionar JavaScript en las otras plantillas.

Integrar una aplicación existente

add genera una aplicación nueva. Para incorporar una ya existente, declara una entrada en apps con su name, dir, framework, puerto y comandos; adapta su entrada al registro WU y comprueba wu.json. Después ejecuta wu install, wu info, wu build y valida su montaje en el navegador.

El nombre identifica la app en el catálogo del runtime. El directorio localiza archivos y resuelve overrides de dependencias. Si cambias uno, revisa los consumidores de ese campo en lugar de asumir que son intercambiables.

Retirar o renombrar

Esta versión no implementa wu remove ni un comando de renombrado. La retirada requiere eliminar la entrada de apps, actualizar navegación y referencias de montaje, y ejecutar wu install para recalcular dependencias y overrides. El directorio se puede archivar o retirar una vez revisadas esas referencias.

Renombrar requiere mantener coherentes el directorio, wu.config.json, el nombre registrado por el adaptador, wu.json y los identificadores utilizados por el shell. Ejecuta wu doctor para encontrar referencias de directorio obsoletas y reconstruye antes de publicar.

Limitaciones observadas

Sin wu.config.json, add usa el descubrimiento para calcular dependencias y puertos, pero no escribe una configuración nueva. Prefiere un proyecto creado explícitamente para conservar una topología estable. La escritura fallida del scaffold retira el directorio nuevo; un fallo posterior de instalación se comunica con salida 1.

Referencia de implementación

  • wu-cli/src/commands/add.zig
  • wu-cli/src/commands/install.zig
  • wu-cli/src/config/names.zig
  • wu-cli/tests/scaffold-writers.test.cjs
  • wu-cli/tests/scaffold-security.test.cjs
WU SE CONSTRUYE CONTIGO

¿Encontraste un bug? ¿Tienes una idea?

Tu experiencia mejora WU. Cuéntanos qué falla o ayuda a sostener su desarrollo.