WU / DOCSUNIVERSAL MICROFRONTENDS
EN

Loading, cache, and diagnostic reference

Dynamic loading, priorities, overrides, cache, styles, and runtime observation.

Choosing the loading level

Use wu.mount for the complete lifecycle. wu.prefetch anticipates resources of registered applications, and wu.use loads components published through exports. WuLoader is an independent loader: it does not replace the core catalog, sandbox, or grants.

Overrides and inspection tools belong to the host. A metric measures an observed interval; it does not guarantee the browser has finished painting. See application loading and diagnostics for the complete flow.

wu.use

Loads a component export declared by another application.

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

  • Parameters: Exact app.component name; the provider manifest must declare wu.exports.
  • Returns: default export when present, otherwise the module namespace.
  • Errors: Missing app/export, traversal, invalid URL, or failed import reject.
  • Permissions: Host; a loaded component runs code in the consumer realm.
  • Cleanup: The renderer instance using the component manages its cleanup.
const ProductCard = await wu.use('catalog.ProductCard');

Present at runtime but absent from the WuCore declaration. Does not convert components between frameworks.

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

wu.prefetchAll

Requests preloading for all registered applications.

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

  • Parameters: Same trigger options as prefetch.
  • Returns: Immediate promise or cleanup for deferred triggers.
  • Errors: Preloading is a browser request; it does not confirm a renderer can mount.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Retain cleanup when choosing a deferred trigger.
await wu.prefetchAll({ on: 'immediate' });

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

new WuLoader

Creates a code and component loader with caching and in-flight deduplication.

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

  • Parameters: maxCacheSize limits entries (50 by default); cacheTTL is in milliseconds (1800000 by default).
  • Returns: Instance with loadApp, loadComponent, preload, isAvailable, and clearCache.
  • Errors: Constructing it neither registers apps nor executes lifecycle.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: loader.clearCache() releases cached entries.
import { WuLoader } from 'wu-framework';
const loader = new WuLoader({ maxCacheSize: 20, cacheTTL: 60000 });

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

WuLoader.loadApp

Downloads entrypoint code text for the loading pipeline.

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

  • Parameters: Base URL and manifest with optional entry.
  • Returns: Code string; does not execute mount or register the app.
  • Errors: Failed fetch, invalid response, or failed entry resolution reject.
  • Permissions: Host; subject to environment network access.
  • Cleanup: clearCache(base) discards cached reads for future requests.
const code = await loader.loadApp('/apps/catalog', { entry: 'entry.js' });

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

WuLoader.loadComponent

Imports a component confined to an app base.

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

  • Parameters: Base and relative component path; no absolute URLs or traversal.
  • Returns: default export or imported namespace.
  • Errors: Path outside the base or failed import rejects.
  • Permissions: The module executes code in the same context; not scoped RPC.
  • Cleanup: Native import retains its module cache.
const card = await loader.loadComponent('/apps/catalog', 'components/card.js');

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

WuLoader.preload

Anticipates code downloads for a list of applications.

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

  • Parameters: Configuration array with name and url.
  • Returns: Promise completing preload traversal.
  • Errors: Preloading catches per-app failures; inspect availability before mounting.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Mounts no renderers; clearCache releases cached text.
await loader.preload([{ name: 'catalog', url: '/apps/catalog' }]);

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

WuLoader.isAvailable

Checks whether a URL responds successfully to HEAD.

loader.isAvailable(url): Promise<boolean>

  • Parameters: URL to check.
  • Returns: Boolean; network errors become false.
  • Errors: A server rejecting HEAD may return false even when GET works.
  • Permissions: Host network access.
  • Cleanup: Creates no subscriptions or persistent processes.
const available = await loader.isAvailable('/apps/catalog/entry.js');

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

WuLoader.clearCache

Discards cached loader text and records.

loader.clearCache(pattern?): void

  • Parameters: Optional pattern; without one, empties the loader cache.
  • Returns: void.
  • Errors: Does not invalidate the browser ESM cache.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Creates no subscriptions or persistent processes.
loader.clearCache('catalog');

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

WuLoader.getStats

Queries loader cache and in-flight imports.

loader.getStats(): object

  • Parameters: No arguments.
  • Returns: Metrics object.
  • Errors: Does not represent apps’ mounted state.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Creates no subscriptions or persistent processes.
console.log(loader.getStats());

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

wu.override

Configures a development URL override.

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

  • Parameters: name and authorized URL; options.maxAge/path configure override persistence.
  • Returns: void
  • Errors: The system validates domains and configuration; an override is not automatic remounting.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Remove development overrides before sharing a session.
wu.override('catalog', 'http://localhost:4101');

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

wu.removeOverride

Removes a URL override.

wu.removeOverride(name): void

  • Parameters: Exact app name.
  • Returns: void
  • Errors: The system validates domains and configuration; an override is not automatic remounting.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Remove development overrides before sharing a session.
wu.removeOverride('catalog');

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

wu.getOverrides

Queries active URL overrides.

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

  • Parameters: No arguments.
  • Returns: Record<string,string>
  • Errors: The system validates domains and configuration; an override is not automatic remounting.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Remove development overrides before sharing a session.
console.log(wu.getOverrides());

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

wu.clearOverrides

Removes all active overrides.

wu.clearOverrides(): void

  • Parameters: No arguments.
  • Returns: void
  • Errors: The system validates domains and configuration; an override is not automatic remounting.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Remove development overrides before sharing a session.
wu.clearOverrides();

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

normalizeStyleMode

Normalizes style configuration aliases.

normalizeStyleMode(mode): string | undefined

  • Parameters: Mode string or undefined.
  • Returns: none→isolated; own-only→fully-isolated; other values pass through without validation.
  • Errors: Does not itself validate whether the manifest supports the mode.
  • Permissions: Pure function; grants no permissions.
  • Cleanup: Creates no subscriptions or persistent processes.
import { normalizeStyleMode } from 'wu-framework';
console.log(normalizeStyleMode('own-only'));

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

resolveDomOwnership

Resolves explicit ownership and nativeShadow/framework aliases.

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

  • Parameters: domOwnership takes precedence, then nativeShadow; Lit selects app by default.
  • Returns: Effective ownership.
  • Errors: Creates no Shadow DOM and does not validate whether a renderer implements its boundary.
  • Permissions: Configuration function; not a security control.
  • Cleanup: Creates no subscriptions or persistent processes.
import { resolveDomOwnership } from 'wu-framework';
console.log(resolveDomOwnership({ framework: 'lit' }));

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

wu.tagStyleAsApp

Attributes a style/link sheet to an application for the CSS bridge.

wu.tagStyleAsApp(element, appName): void

  • Parameters: style/link element and app name.
  • Returns: void.
  • Errors: Attribution does not replace manifest styleMode.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Remove the sheet when its owner ends.
const style = document.createElement('style');
style.textContent = ':host { color: var(--accent); }';
wu.tagStyleAsApp(style, 'catalog');
document.head.append(style);

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

new WuCache

Creates an LRU cache with TTL and optional storage.

new WuCache(options?): WuCache

  • Parameters: maxSize in MB; maxItems; TTL in ms; persistent and storage memory/localStorage/sessionStorage.
  • Returns: Cache instance.
  • Errors: An oversized entry or operation limit may prevent storage.
  • Permissions: Host; do not use persistent storage as authorization.
  • Cleanup: cache.clear() releases entries and its persistent namespace.
import { WuCache } from 'wu-framework';
const cache = new WuCache({ maxSize: 2, maxItems: 20, defaultTTL: 60000, storage: 'memory' });

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

WuCache.get

Reads an unexpired entry and updates its LRU order.

cache.get(key): unknown | null

  • Parameters: Entry key.
  • Returns: Saved value, or null for absence, expiration, or rate limit.
  • Errors: null does not distinguish a miss, expiration, and cooldown; check metrics.
  • Permissions: Access to the owned cache; store grants do not apply.
  • Cleanup: Creates no subscriptions or persistent processes.
const result = cache.get('catalog-result');

An in-memory read returns the saved reference; it is not a separate snapshot like WuStore.

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

WuCache.set

Stores a value and applies space and expiration limits.

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

  • Parameters: Key, value, and TTL in ms; ttl=0 uses defaultTTL because of || selection.
  • Returns: true if stored; false for size, error, or rate limit.
  • Errors: Catches failures and returns false; storage quota may limit persistence.
  • Permissions: Host; validate which data you persist.
  • Cleanup: delete(key) removes one entry; clear() removes all.
const cached = cache.set('catalog-result', { count: 12 }, 30000);

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

WuCache.delete

Deletes an entry from memory and configured backing storage.

cache.delete(key): void

  • Parameters: Exact key.
  • Returns: void
  • Errors: Persistence depends on storage availability and quota.
  • Permissions: Cache owner’s authority.
  • Cleanup: Creates no subscriptions or persistent processes.
cache.delete('catalog-result');

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

WuCache.clear

Empties this instance’s cache and configured storage.

cache.clear(): void

  • Parameters: No arguments.
  • Returns: void
  • Errors: Persistence depends on storage availability and quota.
  • Permissions: Cache owner’s authority.
  • Cleanup: Creates no subscriptions or persistent processes.
cache.clear();

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

WuCache.getStats

Queries hits, misses, evictions, sizes, and rate limiting.

cache.getStats(): object

  • Parameters: No arguments.
  • Returns: object
  • Errors: Persistence depends on storage availability and quota.
  • Permissions: Cache owner’s authority.
  • Cleanup: Creates no subscriptions or persistent processes.
console.log(cache.getStats());

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

WuCache.getRateLimitStatus

Queries whether operations are in cooldown and their quota.

cache.getRateLimitStatus(): object

  • Parameters: No arguments.
  • Returns: object
  • Errors: Persistence depends on storage availability and quota.
  • Permissions: Cache owner’s authority.
  • Cleanup: Creates no subscriptions or persistent processes.
console.log(cache.getRateLimitStatus());

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

wu.getStats

Summarizes core subsystem state and metrics.

wu.getStats(): object

  • Parameters: No arguments.
  • Returns: Diagnostic object.
  • Errors: Does not replace a mount test or HTTP check.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Creates no subscriptions or persistent processes.
console.log(wu.getStats());

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

wu.getManifestDiagnostics

Reads declarative dependency errors between apps.

wu.getManifestDiagnostics(): WuManifestImportDiagnostic[]

  • Parameters: No arguments; depends on import preflight.
  • Returns: Diagnostic list by consumer/import/provider.
  • Errors: Does not automatically check every transitive bundle import.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Creates no subscriptions or persistent processes.
console.table(wu.getManifestDiagnostics());

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

wu.showInspector

Opens the visual inspector loaded on demand.

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

  • Parameters: No arguments.
  • Returns: close handle, or null if not opened.
  • Errors: Chunk loading or the DOM environment may prevent opening.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: close() or wu.hideInspector() removes the overlay.
const inspector = await wu.showInspector();
// Al cerrar tu herramienta:
inspector?.close();

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

wu.hideInspector

Closes the inspection overlay if present.

wu.hideInspector(): Promise<void>

  • Parameters: No arguments.
  • Returns: Closure promise.
  • Errors: Does not delete apps or store data.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Removes the diagnostic interface.
await wu.hideInspector();

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

wu.performance.startMeasure

Marks the start of an app-specific or global duration.

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

  • Parameters: Measurement name; appName defaults to global.
  • Returns: void.
  • Errors: Disabled configuration skips recording.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Finish with endMeasure using the same name/app pair.
wu.performance.startMeasure('load-catalog', 'catalog');

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

wu.performance.endMeasure

Ends a duration and publishes it to metrics/User Timing when enabled.

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

  • Parameters: Same name/app as startMeasure.
  • Returns: Milliseconds; 0 without a start mark.
  • Errors: Missing mark returns 0 rather than inventing a duration.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Removes this measurement’s start mark.
const ms = wu.performance.endMeasure('load-catalog', 'catalog');

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

wu.performance.generateReport

Aggregates instance performance statistics.

wu.performance.generateReport(): object

  • Parameters: No arguments.
  • Returns: object
  • Errors: User Timing availability depends on the environment.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Creates no subscriptions or persistent processes.
console.log(wu.performance.generateReport());

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

wu.performance.getMetrics

Reads metrics for a specific app.

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

  • Parameters: Exact name; null if no measurements exist.
  • Returns: object | null
  • Errors: User Timing availability depends on the environment.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Creates no subscriptions or persistent processes.
console.log(wu.performance.getMetrics('catalog'));

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

wu.performance.getAllMetrics

Reads metrics for every app registered with the measurer.

wu.performance.getAllMetrics(): object

  • Parameters: No arguments.
  • Returns: object
  • Errors: User Timing availability depends on the environment.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Creates no subscriptions or persistent processes.
console.log(wu.performance.getAllMetrics());

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

wu.performance.clearMetrics

Clears measurements for one or all apps.

wu.performance.clearMetrics(appName?): void

  • Parameters: Optional name.
  • Returns: void
  • Errors: User Timing availability depends on the environment.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Creates no subscriptions or persistent processes.
wu.performance.clearMetrics('catalog');

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

wu.performance.getDevToolsEntries

Reads User Timing entries emitted by WU.

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

  • Parameters: type: mark, measure, or all; optional appName.
  • Returns: PerformanceEntry[]
  • Errors: User Timing availability depends on the environment.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Creates no subscriptions or persistent processes.
console.table(wu.performance.getDevToolsEntries({ type: 'measure', appName: 'catalog' }));

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

wu.performance.observe

Listens for new WU User Timing entries using PerformanceObserver.

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

  • Parameters: PerformanceEntry callback; type defaults to measure.
  • Returns: Cleanup; an empty function if the observer is unavailable.
  • Errors: Missing PerformanceObserver does not throw; callback failures are logged.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: stop() disconnects the observer.
const stop = wu.performance.observe(entry => console.log(entry.duration), { type: 'measure' });

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

wu.performance.configure

Configures measurement, history limits, User Timing, and thresholds.

wu.performance.configure(options): void

  • Parameters: enabled, maxMeasurements, devtoolsTimeline, and thresholds by name.
  • Returns: void.
  • Errors: Exceeding a threshold generates a warning; it does not cancel an operation.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Creates no subscriptions or persistent processes.
wu.performance.configure({ enabled: true, maxMeasurements: 100, devtoolsTimeline: true });

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

wu.errorBoundary.register

Adds a failure classification and recovery handler.

wu.errorBoundary.register(handler): void

  • Parameters: name, canHandle(error), and handle(error,context).
  • Returns: void.
  • Errors: Throws if any member is missing; handlers are traversed in order.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Returns no unsubscribe; manage these extensions during the host lifecycle.
wu.errorBoundary.register({ name: 'catalog-error', canHandle: error => error.name === 'CatalogError', async handle(error) { return { recovered: false, action: 'none', message: error.message }; } });

The default generic fallback may precede handlers added later. Check ordering before relying on this registration.

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

wu.errorBoundary.handle

Classifies a failure and obtains a recovery decision.

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

  • Parameters: Error and context; the core interprets some actions during mount.
  • Returns: Result with recovered and action, plus handler information.
  • Errors: An action name does not itself change URL, timeout, or permissions.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Recovery must release the failed attempt before retrying.
const recovery = await wu.errorBoundary.handle(new Error('Entry no disponible'), { appName: 'catalog', phase: 'mount' });

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

wu.errorBoundary.getErrorLog

Reads recent errors retained by the boundary.

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

  • Parameters: limit defaults to 10.
  • Returns: Array of the latest entries.
  • Errors: Diagnostic memory, not a durable record.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Creates no subscriptions or persistent processes.
console.table(wu.errorBoundary.getErrorLog(5));

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

wu.errorBoundary.getStats

Summarizes error count, handlers, and types.

wu.errorBoundary.getStats(): object

  • Parameters: No arguments.
  • Returns: Object with totalErrors, handlers, errorsByType, and recentErrors.
  • Errors: Excludes failures that never passed through this boundary.
  • Permissions: Host API; not exposed by the scoped facade.
  • Cleanup: Creates no subscriptions or persistent processes.
console.log(wu.errorBoundary.getStats());

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

WuLoadingStrategy

Creates loading strategies and starts idle processing.

new WuLoadingStrategy(core)

  • Parameters: Core instance.
  • Returns: Coordinator with default strategies.
  • Errors: Propagates invalid-configuration errors; inspect asynchronous operation results.
  • Permissions: Host administration API; not included in a microapp’s scoped facade.
  • Cleanup: cleanup cancels idle callbacks and resolves the pending queue with null.
import { WuLoadingStrategy } from 'wu-framework';
const strategies = new WuLoadingStrategy(wu);
strategies.cleanup();

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

strategies.register

Registers or replaces a loading strategy.

strategies.register(name, strategy): void

  • Parameters: Required strategy.load(appName,config); optional shouldPreload and priority.
  • Returns: void.
  • Errors: Throws if strategy.load is not a function.
  • Permissions: Host administration API; not included in a microapp’s scoped facade.
  • Cleanup: The runtime owner manages resources and their cleanup functions.
strategies.register('custom', {
  shouldPreload: false,
  priority: 'low',
  load: async (name, config) => { console.log(name, config); return null; },
});

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

strategies.load

Executes the strategy selected by config.strategy.

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

  • Parameters: Name and config; lazy by default.
  • Returns: Result of the registered load function.
  • Errors: Unknown strategy logs a warning and falls back to lazy; load errors propagate.
  • Permissions: Host administration API; not included in a microapp’s scoped facade.
  • Cleanup: The runtime owner manages resources and their cleanup functions.
await strategies.load('card', { strategy: 'custom' });

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

strategies.preload

Sequentially preloads applications whose strategies request it.

strategies.preload(apps): Promise<void>

  • Parameters: Configuration list with name and strategy.
  • Returns: Traversal promise; catches individual failures.
  • Errors: An individual failure is logged and allows continuation to the next app.
  • Permissions: Host administration API; not included in a microapp’s scoped facade.
  • Cleanup: The runtime owner manages resources and their cleanup functions.
await strategies.preload([{ name: 'card', strategy: 'custom' }]);

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

strategies.getStats

Queries registered strategies and idle queue size.

strategies.getStats(): object

  • Parameters: No arguments.
  • Returns: {totalStrategies,strategies,idleQueueSize,isIdle}.
  • Errors: Local read without side effects.
  • Permissions: Host administration API; not included in a microapp’s scoped facade.
  • Cleanup: The runtime owner manages resources and their cleanup functions.
console.log(strategies.getStats());

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

strategies.cleanup

Stops the idle queue and releases pending waits.

strategies.cleanup(): void

  • Parameters: No arguments.
  • Returns: void.
  • Errors: Cleanup attempts to complete each wait even if one resolution fails.
  • Permissions: Host administration API; not included in a microapp’s scoped facade.
  • Cleanup: Cancels idle/timer and empties the queue; pending entries resolve null.
strategies.cleanup();

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

wu.sandbox.addStyles

Inserts CSS into an existing sandbox.

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

  • Parameters: Name and CSS string.
  • Returns: void.
  • Errors: Logs a warning and returns if the sandbox is missing.
  • Permissions: Host administration API; not included in a microapp’s scoped facade.
  • Cleanup: The runtime owner manages resources and their cleanup functions.
wu.sandbox.addStyles('card', ':host{display:block}');

The sandbox property is core-managed. Do not call cleanupAll while applications are mounted: use wu.unmount to coordinate lifecycle.

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

wu.sandbox.loadExternalStyles

Inserts a stylesheet link into the sandbox.

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

  • Parameters: Name and CSS URL.
  • Returns: void; does not await stylesheet load.
  • Errors: Missing sandbox produces a warning. Stylesheet network errors are not returned as a promise.
  • Permissions: Host administration API; not included in a microapp’s scoped facade.
  • Cleanup: The runtime owner manages resources and their cleanup functions.
wu.sandbox.loadExternalStyles('card', '/styles/card.css');

The sandbox property is core-managed. Do not call cleanupAll while applications are mounted: use wu.unmount to coordinate lifecycle.

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

wu.sandbox.getStyleStats

Queries style-bridge statistics.

wu.sandbox.getStyleStats(): object | null

  • Parameters: No arguments.
  • Returns: Statistics object or null.
  • Errors: Read without network operations.
  • Permissions: Host administration API; not included in a microapp’s scoped facade.
  • Cleanup: The runtime owner manages resources and their cleanup functions.
console.log(wu.sandbox.getStyleStats());

The sandbox property is core-managed. Do not call cleanupAll while applications are mounted: use wu.unmount to coordinate lifecycle.

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

wu.sandbox.reinjectStyles

Reinjects styles according to the application’s isolation mode.

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

  • Parameters: Registered sandbox name.
  • Returns: Promise.
  • Errors: Does nothing for a missing sandbox or isolated mode; other modes apply their style selection.
  • Permissions: Host administration API; not included in a microapp’s scoped facade.
  • Cleanup: The runtime owner manages resources and their cleanup functions.
await wu.sandbox.reinjectStyles('card');

The sandbox property is core-managed. Do not call cleanupAll while applications are mounted: use wu.unmount to coordinate lifecycle.

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

In 4.0, an override without allowedDomains accepts only loopback hosts or the page’s hostname. Configure an explicit allowlist for another host. This restriction applies to programmatic overrides and those restored from cookies.

BUILD WU WITH US

Found a bug? Have an idea?

Your experience improves WU. Tell us what went wrong or help support its development.