UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

43 lines • 1.85 kB
import { BosEnv } from "../merge.mjs"; //#region src/ui/slot.d.ts /** * The host's entry-URL SlotResolver: one pure derivation from a stamped * config slot to the URLs each surface loads. `EntrySlot` is structural — * the version-manifest derivation (atomic-deploys 04) stamps exactly these * fields onto `RuntimeConfig` slots, so they satisfy it as-is. Each surface * of `entryUrls` resolves (and throws) lazily — a caller reading only `web` * never trips the ssr surface's resolution, and vice versa. */ interface EntrySlot { /** slot identity, verbatim in resolution errors */ name: string; url?: string; /** browser-facing base (ADR 0011) — the base rule is publicUrl ?? url, inside this module */ publicUrl?: string; /** pin-derived hashed browser entry (absent in development) */ entryUrl?: string; ssrUrl?: string; /** pin-derived hashed SSR entry */ ssrEntryUrl?: string; integrity?: string; ssrIntegrity?: string; /** dev-only freshness token (localUiRemoteEntry's container mtime) */ containerVersion?: string; /** pin-derived hashed browser manifest — absent for local slots, which no * pin derivation ever stamps (atomic-deploys 08) and the resolver drops * even if one were stamped */ browserManifestUrl?: string; localPath?: string; } interface EntryUrls { /** browser script src / registration entry — bustered fixed name in dev, hashed in prod */ readonly web: string; /** server container entry; undefined when the slot has no SSR coordinates */ readonly ssr?: string; /** pin-derived hashed mf-manifest; undefined ⟺ local slot (atomic-deploys 08, STRUCTURAL) */ readonly browserManifest?: string; } declare function entryUrls(slot: EntrySlot, env: BosEnv): EntryUrls; //#endregion export { EntrySlot, EntryUrls, entryUrls }; //# sourceMappingURL=slot.d.mts.map