WU / DOCSUNIVERSAL MICROFRONTENDS
ES

Referencia de carga, caché y diagnóstico

Carga dinámica, prioridades, overrides, caché, estilos y observación del runtime.

Elegir el nivel de carga

Usa wu.mount para el ciclo de vida completo. wu.prefetch anticipa recursos de aplicaciones registradas y wu.use carga componentes publicados mediante exports. WuLoader es un cargador independiente: no sustituye el catálogo, el sandbox ni los grants del core.

Los overrides y las herramientas de inspección pertenecen al host. Una métrica mide un tramo observado; no garantiza que el navegador haya terminado de pintar. Consulta carga de aplicaciones y diagnóstico para el flujo completo.

wu.use

Carga una exportación de componente declarada por otra aplicación.

wu.use("app.component"): Promise<unknown>

  • Parámetros: Nombre exacto app.component; el manifest proveedor debe declarar wu.exports.
  • Retorno: default export cuando existe, o namespace del módulo.
  • Errores: App/export ausentes, traversal, URL inválida o import fallido rechazan.
  • Permisos: Host; un componente cargado ejecuta código en el realm del consumidor.
  • Limpieza: La instancia del renderer que use el componente administra su cleanup.
const ProductCard = await wu.use('catalog.ProductCard');

Método presente en runtime pero ausente de la declaración WuCore. No convierte componentes entre frameworks.

Referencia: src/core/wu-core.js.

wu.prefetchAll

Solicita precarga para todas las aplicaciones registradas.

wu.prefetchAll(options?): Promise<void> | (() => void)

  • Parámetros: Mismas opciones de disparador que prefetch.
  • Retorno: Promesa inmediata o cleanup de disparadores diferidos.
  • Errores: La precarga es una solicitud al navegador; no confirma que un renderer pueda montar.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: Conserva el cleanup si eliges un disparador diferido.
await wu.prefetchAll({ on: 'immediate' });

Referencia: src/core/wu-prefetch.js.

new WuLoader

Crea un loader de código y componentes con caché y deduplicación en vuelo.

new WuLoader({ maxCacheSize?, cacheTTL? }?): WuLoader

  • Parámetros: maxCacheSize limita el número de entradas (50 por defecto); cacheTTL expresa milisegundos (1800000 por defecto).
  • Retorno: Instancia con loadApp, loadComponent, preload, isAvailable y clearCache.
  • Errores: No registra apps ni ejecuta el lifecycle por construirlo.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: loader.clearCache() libera sus entradas cacheadas.
import { WuLoader } from 'wu-framework';
const loader = new WuLoader({ maxCacheSize: 20, cacheTTL: 60000 });

Referencia: src/core/wu-loader.js.

WuLoader.loadApp

Descarga texto de código de un entry para el pipeline de carga.

loader.loadApp(appUrl, manifest?): Promise<string>

  • Parámetros: Base URL y manifest con entry opcional.
  • Retorno: String con código; no ejecuta mount ni registra la app.
  • Errores: Fetch fallido, respuesta no válida o resolución de entry fallida rechazan.
  • Permisos: Host; sujeto a acceso de red del entorno.
  • Limpieza: clearCache(base) descarta lecturas futuras cacheadas.
const code = await loader.loadApp('/apps/catalog', { entry: 'entry.js' });

Referencia: src/core/wu-loader.js.

WuLoader.loadComponent

Importa un componente confinado a la base de una app.

loader.loadComponent(appUrl, componentPath): Promise<unknown>

  • Parámetros: Base y ruta relativa de componente; no URLs absolutas ni traversal.
  • Retorno: default export o namespace importado.
  • Errores: Ruta fuera de base o import fallido rechaza.
  • Permisos: El módulo ejecuta código del mismo contexto; no es RPC scoped.
  • Limpieza: El import nativo conserva su caché de módulos.
const card = await loader.loadComponent('/apps/catalog', 'components/card.js');

Referencia: src/core/wu-loader.js.

WuLoader.preload

Anticipa la descarga de código para una lista de aplicaciones.

loader.preload(appConfigs: WuAppConfig[]): Promise<void>

  • Parámetros: Array de configuraciones con name y url.
  • Retorno: Promesa de finalización del recorrido de precarga.
  • Errores: La precarga captura fallos por app; inspecciona la disponibilidad antes del montaje.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No monta renderers; clearCache libera texto cacheado.
await loader.preload([{ name: 'catalog', url: '/apps/catalog' }]);

Referencia: src/core/wu-loader.js.

WuLoader.isAvailable

Consulta si una URL responde correctamente a HEAD.

loader.isAvailable(url): Promise<boolean>

  • Parámetros: URL a comprobar.
  • Retorno: Booleano; errores de red se convierten en false.
  • Errores: Un servidor que rechaza HEAD puede devolver false aunque GET funcione.
  • Permisos: Acceso de red del host.
  • Limpieza: No crea suscripciones ni procesos persistentes.
const available = await loader.isAvailable('/apps/catalog/entry.js');

Referencia: src/core/wu-loader.js.

WuLoader.clearCache

Descarta el texto y registros cacheados del loader.

loader.clearCache(pattern?): void

  • Parámetros: Patrón opcional; sin patrón vacía la caché del loader.
  • Retorno: void.
  • Errores: No invalida el caché ESM del navegador.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No crea suscripciones ni procesos persistentes.
loader.clearCache('catalog');

Referencia: src/core/wu-loader.js.

WuLoader.getStats

Consulta caché e imports en vuelo del loader.

loader.getStats(): object

  • Parámetros: Sin argumentos.
  • Retorno: Objeto de métricas.
  • Errores: No representa el estado montado de apps.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No crea suscripciones ni procesos persistentes.
console.log(loader.getStats());

Referencia: src/core/wu-loader.js.

wu.override

Configura una sustitución de URL para desarrollo.

wu.override(name, url, options?): void

  • Parámetros: name y URL autorizada; options.maxAge/path configuran persistencia del override.
  • Retorno: void
  • Errores: El sistema valida dominios y configuración; el override no es un remount automático.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: Retira overrides de desarrollo antes de compartir una sesión.
wu.override('catalog', 'http://localhost:4101');

Referencia: src/core/wu-overrides.js.

wu.removeOverride

Retira una sustitución de URL.

wu.removeOverride(name): void

  • Parámetros: Nombre exacto de app.
  • Retorno: void
  • Errores: El sistema valida dominios y configuración; el override no es un remount automático.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: Retira overrides de desarrollo antes de compartir una sesión.
wu.removeOverride('catalog');

Referencia: src/core/wu-overrides.js.

wu.getOverrides

Consulta las sustituciones de URL activas.

wu.getOverrides(): Record<string,string>

  • Parámetros: Sin argumentos.
  • Retorno: Record<string,string>
  • Errores: El sistema valida dominios y configuración; el override no es un remount automático.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: Retira overrides de desarrollo antes de compartir una sesión.
console.log(wu.getOverrides());

Referencia: src/core/wu-overrides.js.

wu.clearOverrides

Retira todas las sustituciones activas.

wu.clearOverrides(): void

  • Parámetros: Sin argumentos.
  • Retorno: void
  • Errores: El sistema valida dominios y configuración; el override no es un remount automático.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: Retira overrides de desarrollo antes de compartir una sesión.
wu.clearOverrides();

Referencia: src/core/wu-overrides.js.

normalizeStyleMode

Normaliza los alias de configuración de estilos.

normalizeStyleMode(mode): string | undefined

  • Parámetros: String de modo o undefined.
  • Retorno: none→isolated; own-only→fully-isolated; otros valores pasan sin validar.
  • Errores: No valida por sí solo que el modo sea admitido por el manifest.
  • Permisos: Función pura; no concede permisos.
  • Limpieza: No crea suscripciones ni procesos persistentes.
import { normalizeStyleMode } from 'wu-framework';
console.log(normalizeStyleMode('own-only'));

Referencia: src/core/wu-sandbox.js.

resolveDomOwnership

Resuelve ownership explícito y aliases nativeShadow/framework.

resolveDomOwnership(options?): "wu" | "app" | "light"

  • Parámetros: domOwnership gana; luego nativeShadow; Lit selecciona app por defecto.
  • Retorno: Ownership efectivo.
  • Errores: No crea Shadow DOM ni valida que un renderer implemente su límite.
  • Permisos: Función de configuración; no es control de seguridad.
  • Limpieza: No crea suscripciones ni procesos persistentes.
import { resolveDomOwnership } from 'wu-framework';
console.log(resolveDomOwnership({ framework: 'lit' }));

Referencia: src/core/wu-sandbox.js.

wu.tagStyleAsApp

Atribuye una hoja style/link a una aplicación para el bridge CSS.

wu.tagStyleAsApp(element, appName): void

  • Parámetros: Elemento style/link y nombre de app.
  • Retorno: void.
  • Errores: La atribución no sustituye styleMode del manifest.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: Retira la hoja cuando termine su propietario.
const style = document.createElement('style');
style.textContent = ':host { color: var(--accent); }';
wu.tagStyleAsApp(style, 'catalog');
document.head.append(style);

Referencia: src/core/wu-core.js.

new WuCache

Crea una caché LRU con TTL y almacenamiento opcional.

new WuCache(options?): WuCache

  • Parámetros: maxSize en MB; maxItems; TTL en ms; persistent y storage memory/localStorage/sessionStorage.
  • Retorno: Instancia de caché.
  • Errores: Una entrada demasiado grande o un límite de operaciones puede impedir almacenamiento.
  • Permisos: Host; no uses almacenamiento persistente como autorización.
  • Limpieza: cache.clear() libera entradas y su namespace persistente.
import { WuCache } from 'wu-framework';
const cache = new WuCache({ maxSize: 2, maxItems: 20, defaultTTL: 60000, storage: 'memory' });

Referencia: src/core/wu-cache.js.

WuCache.get

Lee una entrada no expirada y actualiza su orden LRU.

cache.get(key): unknown | null

  • Parámetros: Clave de la entrada.
  • Retorno: Valor guardado o null por ausencia, expiración o rate limit.
  • Errores: null no distingue miss, expiración y cooldown; consulta métricas.
  • Permisos: Acceso a la caché propietaria; no aplica grants de store.
  • Limpieza: No crea suscripciones ni procesos persistentes.
const result = cache.get('catalog-result');

La lectura en memoria devuelve la referencia guardada; no es un snapshot separado como WuStore.

Referencia: src/core/wu-cache.js.

WuCache.set

Guarda un valor y aplica límites de espacio y expiración.

cache.set(key, value, ttl?): boolean

  • Parámetros: Clave, valor y TTL en ms; ttl=0 usa defaultTTL por la selección con ||.
  • Retorno: true si se almacena; false por tamaño, error o rate limit.
  • Errores: Captura fallos y devuelve false; la cuota de storage puede limitar persistencia.
  • Permisos: Host; valida qué datos guardas de forma persistente.
  • Limpieza: delete(key) retira una entrada; clear() retira todas.
const cached = cache.set('catalog-result', { count: 12 }, 30000);

Referencia: src/core/wu-cache.js.

WuCache.delete

Elimina una entrada de memoria y del backing configurado.

cache.delete(key): void

  • Parámetros: Clave exacta.
  • Retorno: void
  • Errores: La persistencia depende de disponibilidad y cuota del storage.
  • Permisos: Autoridad del propietario de la caché.
  • Limpieza: No crea suscripciones ni procesos persistentes.
cache.delete('catalog-result');

Referencia: src/core/wu-cache.js.

WuCache.clear

Vacía la caché de esta instancia y su almacenamiento configurado.

cache.clear(): void

  • Parámetros: Sin argumentos.
  • Retorno: void
  • Errores: La persistencia depende de disponibilidad y cuota del storage.
  • Permisos: Autoridad del propietario de la caché.
  • Limpieza: No crea suscripciones ni procesos persistentes.
cache.clear();

Referencia: src/core/wu-cache.js.

WuCache.getStats

Consulta hits, misses, expulsiones, tamaños y rate limiting.

cache.getStats(): object

  • Parámetros: Sin argumentos.
  • Retorno: object
  • Errores: La persistencia depende de disponibilidad y cuota del storage.
  • Permisos: Autoridad del propietario de la caché.
  • Limpieza: No crea suscripciones ni procesos persistentes.
console.log(cache.getStats());

Referencia: src/core/wu-cache.js.

WuCache.getRateLimitStatus

Consulta si las operaciones están en cooldown y su cuota.

cache.getRateLimitStatus(): object

  • Parámetros: Sin argumentos.
  • Retorno: object
  • Errores: La persistencia depende de disponibilidad y cuota del storage.
  • Permisos: Autoridad del propietario de la caché.
  • Limpieza: No crea suscripciones ni procesos persistentes.
console.log(cache.getRateLimitStatus());

Referencia: src/core/wu-cache.js.

wu.getStats

Resume estado y métricas de los subsistemas del core.

wu.getStats(): object

  • Parámetros: Sin argumentos.
  • Retorno: Objeto de diagnóstico.
  • Errores: No sustituye una prueba de montaje ni una comprobación HTTP.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No crea suscripciones ni procesos persistentes.
console.log(wu.getStats());

Referencia: src/core/wu-core.js.

wu.getManifestDiagnostics

Lee errores de dependencias declarativas entre apps.

wu.getManifestDiagnostics(): WuManifestImportDiagnostic[]

  • Parámetros: Sin argumentos; depende del preflight de imports.
  • Retorno: Lista de diagnósticos por consumidor/import/proveedor.
  • Errores: No comprueba automáticamente todos los imports transitivos de un bundle.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No crea suscripciones ni procesos persistentes.
console.table(wu.getManifestDiagnostics());

Referencia: src/core/wu-core.js.

wu.showInspector

Abre el inspector visual cargado bajo demanda.

wu.showInspector(): Promise<{ close(): void } | null>

  • Parámetros: Sin argumentos.
  • Retorno: Handle close o null cuando no se abre.
  • Errores: La carga del chunk o el entorno DOM pueden impedir la apertura.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: close() o wu.hideInspector() retira el overlay.
const inspector = await wu.showInspector();
// Al cerrar tu herramienta:
inspector?.close();

Referencia: src/core/wu-core.js.

wu.hideInspector

Cierra el overlay de inspección si existe.

wu.hideInspector(): Promise<void>

  • Parámetros: Sin argumentos.
  • Retorno: Promesa de cierre.
  • Errores: No elimina apps ni datos del store.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: Retira la interfaz de diagnóstico.
await wu.hideInspector();

Referencia: src/core/wu-core.js.

wu.performance.startMeasure

Marca el inicio de una duración asociada a app o global.

wu.performance.startMeasure(name, appName?): void

  • Parámetros: Nombre de medida; appName por defecto global.
  • Retorno: void.
  • Errores: Una configuración disabled omite el registro.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: Termina con endMeasure usando el mismo par nombre/app.
wu.performance.startMeasure('load-catalog', 'catalog');

Referencia: src/core/wu-performance.js.

wu.performance.endMeasure

Cierra una duración y la publica en métricas/User Timing cuando está habilitado.

wu.performance.endMeasure(name, appName?): number

  • Parámetros: Mismo nombre/app que startMeasure.
  • Retorno: Milisegundos; 0 si no hay marca inicial.
  • Errores: Ausencia de marca devuelve 0 y no inventa una duración.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: Retira la marca inicial de esta medición.
const ms = wu.performance.endMeasure('load-catalog', 'catalog');

Referencia: src/core/wu-performance.js.

wu.performance.generateReport

Agrupa estadísticas de rendimiento de la instancia.

wu.performance.generateReport(): object

  • Parámetros: Sin argumentos.
  • Retorno: object
  • Errores: La disponibilidad de User Timing depende del entorno.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No crea suscripciones ni procesos persistentes.
console.log(wu.performance.generateReport());

Referencia: src/core/wu-performance.js.

wu.performance.getMetrics

Lee métricas de una app concreta.

wu.performance.getMetrics(appName): object | null

  • Parámetros: Nombre exacto; null si no hay mediciones.
  • Retorno: object | null
  • Errores: La disponibilidad de User Timing depende del entorno.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No crea suscripciones ni procesos persistentes.
console.log(wu.performance.getMetrics('catalog'));

Referencia: src/core/wu-performance.js.

wu.performance.getAllMetrics

Lee métricas de todas las apps registradas en el medidor.

wu.performance.getAllMetrics(): object

  • Parámetros: Sin argumentos.
  • Retorno: object
  • Errores: La disponibilidad de User Timing depende del entorno.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No crea suscripciones ni procesos persistentes.
console.log(wu.performance.getAllMetrics());

Referencia: src/core/wu-performance.js.

wu.performance.clearMetrics

Limpia mediciones de una app o todas.

wu.performance.clearMetrics(appName?): void

  • Parámetros: Nombre opcional.
  • Retorno: void
  • Errores: La disponibilidad de User Timing depende del entorno.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No crea suscripciones ni procesos persistentes.
wu.performance.clearMetrics('catalog');

Referencia: src/core/wu-performance.js.

wu.performance.getDevToolsEntries

Lee entradas User Timing emitidas por WU.

wu.performance.getDevToolsEntries(options?): PerformanceEntry[]

  • Parámetros: type: mark, measure o all; appName opcional.
  • Retorno: PerformanceEntry[]
  • Errores: La disponibilidad de User Timing depende del entorno.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No crea suscripciones ni procesos persistentes.
console.table(wu.performance.getDevToolsEntries({ type: 'measure', appName: 'catalog' }));

Referencia: src/core/wu-performance.js.

wu.performance.observe

Escucha nuevas entradas User Timing de WU mediante PerformanceObserver.

wu.performance.observe(callback, { type? }?): () => void

  • Parámetros: Callback de PerformanceEntry; type por defecto measure.
  • Retorno: Cleanup; si el observer no está disponible devuelve uno vacío.
  • Errores: La falta de PerformanceObserver no lanza; los fallos de callback se registran.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: stop() desconecta el observer.
const stop = wu.performance.observe(entry => console.log(entry.duration), { type: 'measure' });

Referencia: src/core/wu-performance.js.

wu.performance.configure

Configura medición, límite de historial, User Timing y umbrales.

wu.performance.configure(options): void

  • Parámetros: enabled, maxMeasurements, devtoolsTimeline y thresholds por nombre.
  • Retorno: void.
  • Errores: Un umbral superado genera advertencia; no cancela una operación.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No crea suscripciones ni procesos persistentes.
wu.performance.configure({ enabled: true, maxMeasurements: 100, devtoolsTimeline: true });

Referencia: src/core/wu-performance.js.

wu.errorBoundary.register

Añade un handler de clasificación y recuperación de fallos.

wu.errorBoundary.register(handler): void

  • Parámetros: name, canHandle(error) y handle(error,context).
  • Retorno: void.
  • Errores: Lanza si falta uno de esos miembros; los handlers se recorren por orden.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No devuelve unsubscribe; administra estas extensiones durante el lifecycle del host.
wu.errorBoundary.register({ name: 'catalog-error', canHandle: error => error.name === 'CatalogError', async handle(error) { return { recovered: false, action: 'none', message: error.message }; } });

El fallback genérico por defecto puede preceder a handlers agregados después. Comprueba el orden antes de depender de este registro.

Referencia: src/core/wu-error-boundary.js.

wu.errorBoundary.handle

Clasifica un fallo y obtiene una decisión de recuperación.

wu.errorBoundary.handle(error, context?): Promise<object>

  • Parámetros: Error y contexto; el core interpreta algunas acciones durante mount.
  • Retorno: Resultado con recovered y action, más información del handler.
  • Errores: El nombre de una acción no cambia por sí mismo URL, timeout ni permisos.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: Una recuperación debe liberar el intento fallido antes de reintentar.
const recovery = await wu.errorBoundary.handle(new Error('Entry no disponible'), { appName: 'catalog', phase: 'mount' });

Referencia: src/core/wu-error-boundary.js.

wu.errorBoundary.getErrorLog

Lee los errores recientes conservados por el boundary.

wu.errorBoundary.getErrorLog(limit?: number): object[]

  • Parámetros: limit por defecto 10.
  • Retorno: Array con las últimas entradas.
  • Errores: Es memoria de diagnóstico, no un registro durable.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No crea suscripciones ni procesos persistentes.
console.table(wu.errorBoundary.getErrorLog(5));

Referencia: src/core/wu-error-boundary.js.

wu.errorBoundary.getStats

Resume cantidad, handlers y tipos de errores.

wu.errorBoundary.getStats(): object

  • Parámetros: Sin argumentos.
  • Retorno: Objeto con totalErrors, handlers, errorsByType y recentErrors.
  • Errores: No incluye fallos que nunca pasaron por este boundary.
  • Permisos: API de host; no está expuesta por la facade scoped.
  • Limpieza: No crea suscripciones ni procesos persistentes.
console.log(wu.errorBoundary.getStats());

Referencia: src/core/wu-error-boundary.js.

WuLoadingStrategy

Crea estrategias de carga y arranca el procesamiento idle.

new WuLoadingStrategy(core)

  • Parámetros: Instancia del core.
  • Retorno: Coordinador con estrategias predeterminadas.
  • Errores: Propaga errores de configuración inválida; revisa el resultado de las operaciones asíncronas.
  • Permisos: API de administración del host; no está incluida en la facade scoped de una microapp.
  • Limpieza: cleanup cancela callbacks idle y resuelve la cola pendiente con null.
import { WuLoadingStrategy } from 'wu-framework';
const strategies = new WuLoadingStrategy(wu);
strategies.cleanup();

Referencia: src/core/wu-strategies.js.

strategies.register

Registra o reemplaza una estrategia de carga.

strategies.register(name, strategy): void

  • Parámetros: strategy.load(appName,config) obligatorio; shouldPreload y priority opcionales.
  • Retorno: void.
  • Errores: Lanza si strategy.load no es función.
  • Permisos: API de administración del host; no está incluida en la facade scoped de una microapp.
  • Limpieza: El propietario del runtime administra los recursos y sus funciones de cleanup.
strategies.register('custom', {
  shouldPreload: false,
  priority: 'low',
  load: async (name, config) => { console.log(name, config); return null; },
});

Referencia: src/core/wu-strategies.js.

strategies.load

Ejecuta la estrategia seleccionada por config.strategy.

strategies.load(appName, config): Promise<unknown>

  • Parámetros: Nombre y config; lazy por defecto.
  • Retorno: Resultado de la función load registrada.
  • Errores: Estrategia desconocida registra advertencia y recurre a lazy; errores de load se propagan.
  • Permisos: API de administración del host; no está incluida en la facade scoped de una microapp.
  • Limpieza: El propietario del runtime administra los recursos y sus funciones de cleanup.
await strategies.load('card', { strategy: 'custom' });

Referencia: src/core/wu-strategies.js.

strategies.preload

Precarga secuencialmente aplicaciones cuyas estrategias lo solicitan.

strategies.preload(apps): Promise<void>

  • Parámetros: Lista de configuraciones con name y strategy.
  • Retorno: Promesa de recorrido; captura fallos individuales.
  • Errores: Un fallo individual se registra y permite continuar con la siguiente app.
  • Permisos: API de administración del host; no está incluida en la facade scoped de una microapp.
  • Limpieza: El propietario del runtime administra los recursos y sus funciones de cleanup.
await strategies.preload([{ name: 'card', strategy: 'custom' }]);

Referencia: src/core/wu-strategies.js.

strategies.getStats

Consulta estrategias registradas y tamaño de la cola idle.

strategies.getStats(): object

  • Parámetros: Sin argumentos.
  • Retorno: {totalStrategies,strategies,idleQueueSize,isIdle}.
  • Errores: Lectura local sin efectos.
  • Permisos: API de administración del host; no está incluida en la facade scoped de una microapp.
  • Limpieza: El propietario del runtime administra los recursos y sus funciones de cleanup.
console.log(strategies.getStats());

Referencia: src/core/wu-strategies.js.

strategies.cleanup

Detiene la cola idle y libera esperas pendientes.

strategies.cleanup(): void

  • Parámetros: Sin argumentos.
  • Retorno: void.
  • Errores: La limpieza intenta completar cada espera aunque una resolución falle.
  • Permisos: API de administración del host; no está incluida en la facade scoped de una microapp.
  • Limpieza: Cancela idle/timer y vacía la cola; sus pendientes resuelven null.
strategies.cleanup();

Referencia: src/core/wu-strategies.js.

wu.sandbox.addStyles

Inserta CSS en un sandbox existente.

wu.sandbox.addStyles(appName, css): void

  • Parámetros: Nombre y CSS string.
  • Retorno: void.
  • Errores: Si no existe sandbox registra advertencia y retorna.
  • Permisos: API de administración del host; no está incluida en la facade scoped de una microapp.
  • Limpieza: El propietario del runtime administra los recursos y sus funciones de cleanup.
wu.sandbox.addStyles('card', ':host{display:block}');

La propiedad sandbox es administrada por el core. No llames cleanupAll mientras haya aplicaciones montadas: utiliza wu.unmount para coordinar el lifecycle.

Referencia: src/core/wu-sandbox.js.

wu.sandbox.loadExternalStyles

Inserta un link de stylesheet en el sandbox.

wu.sandbox.loadExternalStyles(appName, href): void

  • Parámetros: Nombre y URL de CSS.
  • Retorno: void; no espera load de la hoja.
  • Errores: Un sandbox ausente produce advertencia. El error de red de la hoja no se retorna como promesa.
  • Permisos: API de administración del host; no está incluida en la facade scoped de una microapp.
  • Limpieza: El propietario del runtime administra los recursos y sus funciones de cleanup.
wu.sandbox.loadExternalStyles('card', '/styles/card.css');

La propiedad sandbox es administrada por el core. No llames cleanupAll mientras haya aplicaciones montadas: utiliza wu.unmount para coordinar el lifecycle.

Referencia: src/core/wu-sandbox.js.

wu.sandbox.getStyleStats

Consulta estadísticas del style bridge.

wu.sandbox.getStyleStats(): object | null

  • Parámetros: Sin argumentos.
  • Retorno: Objeto de estadísticas o null.
  • Errores: Lectura sin operaciones de red.
  • Permisos: API de administración del host; no está incluida en la facade scoped de una microapp.
  • Limpieza: El propietario del runtime administra los recursos y sus funciones de cleanup.
console.log(wu.sandbox.getStyleStats());

La propiedad sandbox es administrada por el core. No llames cleanupAll mientras haya aplicaciones montadas: utiliza wu.unmount para coordinar el lifecycle.

Referencia: src/core/wu-sandbox.js.

wu.sandbox.reinjectStyles

Vuelve a inyectar estilos según el modo de aislamiento de la aplicación.

wu.sandbox.reinjectStyles(appName): Promise<void>

  • Parámetros: Nombre de sandbox registrado.
  • Retorno: Promise.
  • Errores: No actúa para un sandbox ausente o modo isolated; los demás modos aplican su selección de estilos.
  • Permisos: API de administración del host; no está incluida en la facade scoped de una microapp.
  • Limpieza: El propietario del runtime administra los recursos y sus funciones de cleanup.
await wu.sandbox.reinjectStyles('card');

La propiedad sandbox es administrada por el core. No llames cleanupAll mientras haya aplicaciones montadas: utiliza wu.unmount para coordinar el lifecycle.

Referencia: src/core/wu-sandbox.js.

En 4.0, un override sin allowedDomains solo acepta hosts loopback o el hostname de la página. Para otro host configura una allowlist explícita. Esta restricción se aplica tanto a overrides programáticos como a los recuperados de cookies.

WU SE CONSTRUYE CONTIGO

¿Encontraste un bug? ¿Tienes una idea?

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