Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); let ufo = require("ufo"); //#region src/runtime.ts const MAX_INITIAL_SLOTS = 8192; function createMergeSlots(capacity = 16) { return { slotOf: Object.create(null), count: 0, idOf: [], metaOf: [], scripts: new Uint8Array(capacity), styles: new Uint8Array(capacity), preload: new Uint8Array(capacity), prefetch: new Uint8Array(capacity), epoch: 0 }; } function slotFor(slots, id, meta) { let slot = slots.slotOf[id]; if (slot === void 0) { slot = slots.count++; slots.slotOf[id] = slot; slots.idOf.push(id); slots.metaOf.push(meta); if (slot >= slots.scripts.length) { const capacity = slots.scripts.length * 2; for (const kind of [ "scripts", "styles", "preload", "prefetch" ]) { const grown = new Uint8Array(capacity); grown.set(slots[kind]); slots[kind] = grown; } } } return slot; } function createFragmentCaches() { return { style: [], script: [], preloadHint: [], prefetchHint: [], preloadHeader: [], prefetchHeader: [], href: [] }; } function createRendererContext({ manifest, precomputed, buildAssetsURL, dependencySetsCacheSize }) { if (!manifest && !precomputed) throw new Error("Either manifest or precomputed data must be provided"); const cacheSize = typeof dependencySetsCacheSize === "number" && Number.isFinite(dependencySetsCacheSize) && dependencySetsCacheSize > 0 ? Math.floor(dependencySetsCacheSize) : dependencySetsCacheSize === void 0 ? 1e3 : 0; const entrypoints = []; let slotCapacity = 16; if (precomputed) slotCapacity = precomputed.resourceCount ?? 16; else if (manifest) for (const id in manifest) { slotCapacity++; if (manifest[id].isEntry) entrypoints.push(id); } const ctx = { buildAssetsURL: buildAssetsURL || ufo.withLeadingSlash, manifest, precomputed, updateManifest, _dependencies: {}, _dependencySets: /* @__PURE__ */ new Map(), _dependencySetAliases: /* @__PURE__ */ new Map(), _aliasIdHashes: Object.create(null), _aliasIdHashCount: 0, _dependencySetsCacheSize: cacheSize, _entrypoints: [], _renderedCache: /* @__PURE__ */ new WeakMap(), _fragments: createFragmentCaches(), _flatDependencies: Object.create(null), _mergeSlots: createMergeSlots(Math.min(slotCapacity, MAX_INITIAL_SLOTS)), _idScratch: [] }; function updateManifest(manifest) { ctx.manifest = manifest; ctx._dependencies = {}; ctx._dependencySets.clear(); ctx._dependencySetAliases.clear(); ctx._aliasIdHashes = Object.create(null); ctx._aliasIdHashCount = 0; ctx._renderedCache = /* @__PURE__ */ new WeakMap(); ctx._fragments = createFragmentCaches(); ctx._flatDependencies = Object.create(null); let capacity = 16; const entrypoints = []; for (const id in manifest) { capacity++; if (manifest[id].isEntry) entrypoints.push(id); } ctx._mergeSlots = createMergeSlots(Math.min(capacity, MAX_INITIAL_SLOTS)); ctx._entrypoints = entrypoints; } if (precomputed) { ctx._dependencies = precomputed.dependencies; ctx._entrypoints = precomputed.entrypoints; } else if (manifest) ctx._entrypoints = entrypoints; return ctx; } function getModuleDependencies(id, rendererContext) { if (rendererContext._dependencies[id]) return rendererContext._dependencies[id]; const dependencies = rendererContext._dependencies[id] = { scripts: {}, styles: {}, preload: {}, prefetch: {} }; if (!rendererContext.manifest) return dependencies; const meta = rendererContext.manifest[id]; if (!meta) return dependencies; if (meta.file) { if (meta.preload) dependencies.preload[id] = meta; if (meta.isEntry || meta.sideEffects) dependencies.scripts[id] = meta; } for (const css of meta.css || []) { const cssResource = rendererContext.manifest[css]; dependencies.styles[css] = dependencies.prefetch[css] = cssResource; if (cssResource.preload) dependencies.preload[css] = cssResource; } for (const asset of meta.assets || []) { const assetResource = rendererContext.manifest[asset]; dependencies.prefetch[asset] = assetResource; if (assetResource.preload) dependencies.preload[asset] = assetResource; } if (meta.imports) for (const depId of meta.imports) { const depDeps = getModuleDependencies(depId, rendererContext); Object.assign(dependencies.styles, depDeps.styles); Object.assign(dependencies.preload, depDeps.preload); Object.assign(dependencies.prefetch, depDeps.prefetch); } return dependencies; } /** Past this, the table is dropped wholesale; stale alias keys stop matching. */ const MAX_ALIAS_ID_HASHES = 65536; function aliasHash(rendererContext, entrypoints, requestIds) { let hashes = rendererContext._aliasIdHashes; if (rendererContext._aliasIdHashCount > MAX_ALIAS_ID_HASHES) { hashes = rendererContext._aliasIdHashes = Object.create(null); rendererContext._aliasIdHashCount = 0; rendererContext._dependencySetAliases.clear(); } let sum = 0; let mixed = 1; let count = 0; for (const id of entrypoints) { let hash = hashes[id]; if (hash === void 0) { hash = rendererContext._aliasIdHashCount++ * 2654435761 | 0; hashes[id] = hash; } sum = sum + hash | 0; mixed = mixed ^ hash + count | 0; count++; } if (requestIds) for (const id of requestIds) { let hash = hashes[id]; if (hash === void 0) { hash = rendererContext._aliasIdHashCount++ * 2654435761 | 0; hashes[id] = hash; } sum = sum + hash | 0; mixed = mixed ^ hash + count | 0; count++; } return Math.imul(sum, 2654435761) ^ Math.imul(mixed, 40503) ^ count | 0; } function readAlias(rendererContext, aliasKey, moduleIds, entrypoints, requestIds) { const entry = rendererContext._dependencySetAliases.get(aliasKey); if (entry === void 0) return; const { ids } = entry; let i = 0; if (moduleIds) { if (moduleIds.length !== ids.length) return; for (; i < moduleIds.length; i++) if (ids[i] !== moduleIds[i]) return; return entry.deps; } for (const id of entrypoints) if (ids[i++] !== id) return; if (requestIds) { for (const id of requestIds) if (ids[i++] !== id) return; } return i === ids.length ? entry.deps : void 0; } function setAlias(rendererContext, aliasKey, ids, deps, cacheSize) { const aliases = rendererContext._dependencySetAliases; aliases.set(aliasKey, { ids: [...ids], deps }); if (aliases.size > cacheSize) { const oldest = aliases.keys().next().value; if (oldest !== void 0) aliases.delete(oldest); } } function collectInto(source, slots, mergeSlots) { for (const id in source) slots.push(slotFor(mergeSlots, id, source[id])); } /** A module's own styles are never preloaded; cross-module overlap is filtered per request. */ function collectPreload(deps, slots, mergeSlots) { const { styles, preload } = deps; for (const id in preload) { if (id in styles) continue; slots.push(slotFor(mergeSlots, id, preload[id])); } } /** Opt-out and a module's own preload and styles are fixed; cross-module overlap is not. */ function collectPrefetch(deps, source, slots, seen, mergeSlots) { const { styles, preload } = deps; for (const id in source) { const meta = source[id]; if (!meta.prefetch || id in preload || id in styles) continue; const slot = slotFor(mergeSlots, id, meta); if (seen.has(slot)) continue; seen.add(slot); slots.push(slot); } } function getFlatDependencies(id, rendererContext) { const cached = rendererContext._flatDependencies[id]; if (cached !== void 0) return cached; const deps = getModuleDependencies(id, rendererContext); const mergeSlots = rendererContext._mergeSlots; const flat = { scriptSlots: [], styleSlots: [], preloadSlots: [], prefetchSlots: [] }; collectInto(deps.scripts, flat.scriptSlots, mergeSlots); collectInto(deps.styles, flat.styleSlots, mergeSlots); collectPreload(deps, flat.preloadSlots, mergeSlots); const prefetchSeen = /* @__PURE__ */ new Set(); collectPrefetch(deps, deps.prefetch, flat.prefetchSlots, prefetchSeen, mergeSlots); const dynamicImports = rendererContext.manifest?.[id]?.dynamicImports || rendererContext.precomputed?.modules[id]?.dynamicImports; if (dynamicImports) for (const dynamicDepId of dynamicImports) { const dynamicDeps = getModuleDependencies(dynamicDepId, rendererContext); collectPrefetch(deps, dynamicDeps.scripts, flat.prefetchSlots, prefetchSeen, mergeSlots); collectPrefetch(deps, dynamicDeps.styles, flat.prefetchSlots, prefetchSeen, mergeSlots); collectPrefetch(deps, dynamicDeps.preload, flat.prefetchSlots, prefetchSeen, mergeSlots); } rendererContext._flatDependencies[id] = flat; return flat; } function getAllDependencies(ids, rendererContext) { const cacheSize = rendererContext._dependencySetsCacheSize; const moduleIds = rendererContext._idScratch; moduleIds.length = 0; for (const id of ids) moduleIds.push(id); let aliasKey = 0; let hasAlias = false; if (cacheSize > 0 && ids.size > 1) { aliasKey = aliasHash(rendererContext, moduleIds, void 0); hasAlias = true; const aliased = readAlias(rendererContext, aliasKey, moduleIds, moduleIds, void 0); if (aliased !== void 0) return aliased; } return resolveDependencies(moduleIds, rendererContext, aliasKey, hasAlias); } /** The id list may contain duplicates: merging deduplicates at resource level. */ function resolveDependencies(moduleIds, rendererContext, aliasKey, hasAlias) { const cacheSize = rendererContext._dependencySetsCacheSize; const useCache = cacheSize > 0; let cacheKey = ""; if (useCache) { if (moduleIds.length <= 1) cacheKey = moduleIds[0] || ""; else cacheKey = [...new Set(moduleIds)].sort().join(","); const cached = rendererContext._dependencySets.get(cacheKey); if (cached !== void 0) { if (rendererContext._dependencySets.size >= cacheSize) { rendererContext._dependencySets.delete(cacheKey); rendererContext._dependencySets.set(cacheKey, cached); } if (hasAlias) setAlias(rendererContext, aliasKey, moduleIds, cached, cacheSize); return cached; } } const styleSlots = []; const scriptSlots = []; const preloadSlots = []; const prefetchSlots = []; const mergeSlots = rendererContext._mergeSlots; let epoch = mergeSlots.epoch + 1; if (epoch > 255) { epoch = 1; mergeSlots.scripts.fill(0); mergeSlots.styles.fill(0); mergeSlots.preload.fill(0); mergeSlots.prefetch.fill(0); } mergeSlots.epoch = epoch; let scriptSeen = mergeSlots.scripts; let styleSeen = mergeSlots.styles; let preloadSeen = mergeSlots.preload; let prefetchSeen = mergeSlots.prefetch; for (let m = 0; m < moduleIds.length; m++) { const flat = getFlatDependencies(moduleIds[m], rendererContext); if (mergeSlots.scripts !== scriptSeen) { scriptSeen = mergeSlots.scripts; styleSeen = mergeSlots.styles; preloadSeen = mergeSlots.preload; prefetchSeen = mergeSlots.prefetch; } for (let i = 0; i < flat.scriptSlots.length; i++) { const slot = flat.scriptSlots[i]; if (scriptSeen[slot] === epoch) continue; scriptSeen[slot] = epoch; scriptSlots.push(slot); } for (let i = 0; i < flat.styleSlots.length; i++) { const slot = flat.styleSlots[i]; if (styleSeen[slot] === epoch) continue; styleSeen[slot] = epoch; styleSlots.push(slot); } for (let i = 0; i < flat.preloadSlots.length; i++) { const slot = flat.preloadSlots[i]; if (preloadSeen[slot] === epoch) continue; preloadSeen[slot] = epoch; preloadSlots.push(slot); } for (let i = 0; i < flat.prefetchSlots.length; i++) { const slot = flat.prefetchSlots[i]; if (prefetchSeen[slot] === epoch) continue; prefetchSeen[slot] = epoch; prefetchSlots.push(slot); } } let kept = 0; for (let i = 0; i < preloadSlots.length; i++) { const slot = preloadSlots[i]; if (styleSeen[slot] !== epoch) { preloadSlots[kept] = slot; kept++; } } preloadSlots.length = kept; kept = 0; const metaOf = mergeSlots.metaOf; for (let i = 0; i < prefetchSlots.length; i++) { const slot = prefetchSlots[i]; if (metaOf[slot].prefetch && preloadSeen[slot] !== epoch && styleSeen[slot] !== epoch) { prefetchSlots[kept] = slot; kept++; } } prefetchSlots.length = kept; const order = { styleSlots, scriptSlots, preloadSlots, prefetchSlots, mergeSlots }; const allDeps = new Proxy({ [SLOT_SOURCE]: order }, LAZY_DEPENDENCIES); rendererContext._renderedCache.set(allDeps, { order }); if (useCache) { rendererContext._dependencySets.set(cacheKey, allDeps); if (rendererContext._dependencySets.size > cacheSize) { const oldest = rendererContext._dependencySets.keys().next().value; if (oldest !== void 0) rendererContext._dependencySets.delete(oldest); } if (hasAlias) setAlias(rendererContext, aliasKey, moduleIds, allDeps, cacheSize); } return allDeps; } function getRequestDependencies(ssrContext, rendererContext, options) { const excluded = options?.exclude ? new Set(options.exclude) : void 0; const hasExcluded = excluded && excluded.size > 0; if (!hasExcluded && ssrContext._requestDependencies) return ssrContext._requestDependencies; const requestIds = ssrContext.modules || ssrContext._registeredComponents; let aliasKey = 0; let hasAlias = false; if (!hasExcluded && rendererContext._dependencySetsCacheSize > 0) { aliasKey = aliasHash(rendererContext, rendererContext._entrypoints, requestIds); hasAlias = true; const aliased = readAlias(rendererContext, aliasKey, void 0, rendererContext._entrypoints, requestIds); if (aliased !== void 0) { ssrContext._requestDependencies = aliased; return aliased; } } const moduleIds = rendererContext._idScratch; moduleIds.length = 0; if (hasExcluded) { for (const id of rendererContext._entrypoints) if (!excluded.has(id)) moduleIds.push(id); if (requestIds) { for (const id of requestIds) if (!excluded.has(id)) moduleIds.push(id); } } else { for (const id of rendererContext._entrypoints) moduleIds.push(id); if (requestIds) for (const id of requestIds) moduleIds.push(id); } const deps = resolveDependencies(moduleIds, rendererContext, aliasKey, hasAlias); if (!hasExcluded) ssrContext._requestDependencies = deps; return deps; } function getRenderedOutputs(rendererContext, deps) { let entry = rendererContext._renderedCache.get(deps); if (!entry) { entry = {}; rendererContext._renderedCache.set(deps, entry); } return entry; } const SLOT_SOURCE = Symbol("slots"); const SLOTS_FOR = { scripts: "scriptSlots", styles: "styleSlots", preload: "preloadSlots", prefetch: "prefetchSlots" }; /** Records are built on first access; rendering reads the slot arrays directly. */ const LAZY_DEPENDENCIES = { get(target, key) { const value = target[key]; if (value !== void 0 || !isRecordKey(key)) return value; return materialiseRecord(target, key); }, has(target, key) { return isRecordKey(key) || key in target; }, ownKeys(target) { const extra = Reflect.ownKeys(target).filter((key) => key !== SLOT_SOURCE && !isRecordKey(key)); return extra.length > 0 ? [...RECORD_KEYS, ...extra] : RECORD_KEYS.slice(); }, getOwnPropertyDescriptor(target, key) { if (!isRecordKey(key)) return key === SLOT_SOURCE ? void 0 : Reflect.getOwnPropertyDescriptor(target, key); return { value: target[key] ?? materialiseRecord(target, key), writable: true, enumerable: true, configurable: true }; }, set(target, key, value) { target[key] = value; return true; }, deleteProperty(target, key) { return Reflect.deleteProperty(target, key); } }; const RECORD_KEYS = [ "scripts", "styles", "preload", "prefetch" ]; function isRecordKey(key) { return key === "scripts" || key === "styles" || key === "preload" || key === "prefetch"; } function materialiseRecord(target, key) { const order = target[SLOT_SOURCE]; const record = buildRecord(order.mergeSlots, order[SLOTS_FOR[key]]); target[key] = record; return record; } function buildRecord(mergeSlots, slots) { const { idOf, metaOf } = mergeSlots; const record = {}; for (let i = 0; i < slots.length; i++) { const slot = slots[i]; record[idOf[slot]] = metaOf[slot]; } return record; } function collectOrder(source, slots, mergeSlots) { for (const id in source) slots.push(slotFor(mergeSlots, id, source[id])); } /** Records supplied by a caller carry no order, so derive and memoize one. */ function getOrder(rendererContext, deps, rendered) { if (rendered.order) return rendered.order; const mergeSlots = rendererContext._mergeSlots; const order = { styleSlots: [], scriptSlots: [], preloadSlots: [], prefetchSlots: [], mergeSlots }; collectOrder(deps.styles, order.styleSlots, mergeSlots); collectOrder(deps.scripts, order.scriptSlots, mergeSlots); collectOrder(deps.preload, order.preloadSlots, mergeSlots); collectOrder(deps.prefetch, order.prefetchSlots, mergeSlots); rendered.order = order; return order; } function renderStyles(ssrContext, rendererContext) { const deps = getRequestDependencies(ssrContext, rendererContext); const rendered = getRenderedOutputs(rendererContext, deps); if (rendered.styles !== void 0) return rendered.styles; const order = getOrder(rendererContext, deps, rendered); const metaOf = rendererContext._mergeSlots.metaOf; let result = ""; const cache = rendererContext._fragments.style; for (let i = 0; i < order.styleSlots.length; i++) { const slot = order.styleSlots[i]; let fragment = cache[slot]; if (fragment === void 0) fragment = cache[slot] = ``; result += fragment; } rendered.styles = result; return result; } function getResources(ssrContext, rendererContext) { return [...getPreloadLinks(ssrContext, rendererContext), ...getPrefetchLinks(ssrContext, rendererContext)]; } function isScriptResource(resource) { return !!resource.module || resource.resourceType === "script"; } function renderResourceHints(ssrContext, rendererContext, options) { const deps = getRequestDependencies(ssrContext, rendererContext, options); const rendered = getRenderedOutputs(rendererContext, deps); const withScripts = options?.scripts !== false; const cached = withScripts ? rendered.hints : rendered.hintsWithoutScripts; if (cached !== void 0) return cached; const order = getOrder(rendererContext, deps, rendered); const metaOf = rendererContext._mergeSlots.metaOf; let result = ""; const preloadCache = rendererContext._fragments.preloadHint; for (let i = 0; i < order.preloadSlots.length; i++) { const slot = order.preloadSlots[i]; if (!withScripts && isScriptResource(metaOf[slot])) continue; let fragment = preloadCache[slot]; if (fragment === void 0) { const resource = metaOf[slot]; const href = rendererContext.buildAssetsURL(resource.file); const rel = resource.module ? "modulepreload" : "preload"; const crossorigin = resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module ? " crossorigin" : ""; fragment = resource.resourceType && resource.mimeType ? `` : resource.resourceType ? `` : ``; preloadCache[slot] = fragment; } result += fragment; } const prefetchCache = rendererContext._fragments.prefetchHint; for (let i = 0; i < order.prefetchSlots.length; i++) { const slot = order.prefetchSlots[i]; if (!withScripts && isScriptResource(metaOf[slot])) continue; let fragment = prefetchCache[slot]; if (fragment === void 0) { const resource = metaOf[slot]; const href = rendererContext.buildAssetsURL(resource.file); const crossorigin = resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module ? " crossorigin" : ""; fragment = resource.resourceType && resource.mimeType ? `` : resource.resourceType ? `` : ``; prefetchCache[slot] = fragment; } result += fragment; } if (withScripts) rendered.hints = result; else rendered.hintsWithoutScripts = result; return result; } const NON_ASCII_RE = /[^\0-\u007F]+/g; function renderResourceHeaders(ssrContext, rendererContext, options) { const deps = getRequestDependencies(ssrContext, rendererContext, options); const rendered = getRenderedOutputs(rendererContext, deps); const withScripts = options?.scripts !== false; const cached = withScripts ? rendered.headerLink : rendered.headerLinkWithoutScripts; if (cached !== void 0) return { link: cached }; const order = getOrder(rendererContext, deps, rendered); const metaOf = rendererContext._mergeSlots.metaOf; let link = ""; const preloadCache = rendererContext._fragments.preloadHeader; for (let i = 0; i < order.preloadSlots.length; i++) { const slot = order.preloadSlots[i]; if (!withScripts && isScriptResource(metaOf[slot])) continue; let header = preloadCache[slot]; if (header === void 0) { const resource = metaOf[slot]; header = `<${rendererContext.buildAssetsURL(resource.file).replace(NON_ASCII_RE, encodeURIComponent)}>; rel="${resource.module ? "modulepreload" : "preload"}"`; if (resource.resourceType) header += `; as="${resource.resourceType}"`; if (resource.mimeType) header += `; type="${resource.mimeType}"`; if (resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module) header += "; crossorigin"; preloadCache[slot] = header; } link = link ? `${link}, ${header}` : header; } const prefetchCache = rendererContext._fragments.prefetchHeader; for (let i = 0; i < order.prefetchSlots.length; i++) { const slot = order.prefetchSlots[i]; if (!withScripts && isScriptResource(metaOf[slot])) continue; let header = prefetchCache[slot]; if (header === void 0) { const resource = metaOf[slot]; header = `<${rendererContext.buildAssetsURL(resource.file).replace(NON_ASCII_RE, encodeURIComponent)}>; rel="prefetch"`; if (resource.resourceType) header += `; as="${resource.resourceType}"`; if (resource.mimeType) header += `; type="${resource.mimeType}"`; if (resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module) header += "; crossorigin"; prefetchCache[slot] = header; } link = link ? `${link}, ${header}` : header; } if (withScripts) rendered.headerLink = link; else rendered.headerLinkWithoutScripts = link; return { link }; } /** `buildAssetsURL` is a pure function of the id, so each result is built once. */ function hrefFor(rendererContext, slot, resource) { const cache = rendererContext._fragments.href; let href = cache[slot]; if (href === void 0) href = cache[slot] = rendererContext.buildAssetsURL(resource.file); return href; } function getPreloadLinks(ssrContext, rendererContext, options) { const deps = getRequestDependencies(ssrContext, rendererContext, options); const order = getOrder(rendererContext, deps, getRenderedOutputs(rendererContext, deps)); const metaOf = rendererContext._mergeSlots.metaOf; const withScripts = options?.scripts !== false; const result = []; for (let i = 0; i < order.preloadSlots.length; i++) { const slot = order.preloadSlots[i]; const resource = metaOf[slot]; if (!withScripts && isScriptResource(resource)) continue; result.push({ rel: resource.module ? "modulepreload" : "preload", as: resource.resourceType, type: resource.mimeType ?? null, crossorigin: resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module ? "" : null, href: hrefFor(rendererContext, slot, resource) }); } return result; } function getPrefetchLinks(ssrContext, rendererContext, options) { const deps = getRequestDependencies(ssrContext, rendererContext, options); const order = getOrder(rendererContext, deps, getRenderedOutputs(rendererContext, deps)); const metaOf = rendererContext._mergeSlots.metaOf; const withScripts = options?.scripts !== false; const result = []; for (let i = 0; i < order.prefetchSlots.length; i++) { const slot = order.prefetchSlots[i]; const resource = metaOf[slot]; if (!withScripts && isScriptResource(resource)) continue; result.push({ rel: "prefetch", as: resource.resourceType, type: resource.mimeType ?? null, crossorigin: resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module ? "" : null, href: hrefFor(rendererContext, slot, resource) }); } return result; } function renderScripts(ssrContext, rendererContext) { const deps = getRequestDependencies(ssrContext, rendererContext); const rendered = getRenderedOutputs(rendererContext, deps); if (rendered.scripts !== void 0) return rendered.scripts; const order = getOrder(rendererContext, deps, rendered); const metaOf = rendererContext._mergeSlots.metaOf; let result = ""; const cache = rendererContext._fragments.script; for (let i = 0; i < order.scriptSlots.length; i++) { const slot = order.scriptSlots[i]; let fragment = cache[slot]; if (fragment === void 0) { const resource = metaOf[order.scriptSlots[i]]; fragment = cache[slot] = resource.module ? `