@absolutejs/absolute 0.20.0-beta.177 → 0.20.0-beta.179
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/changelog.json +72 -0
- package/dist/angular/browser.js +17 -2
- package/dist/angular/browser.js.map +4 -4
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +100 -54
- package/dist/angular/index.js.map +10 -9
- package/dist/angular/server.js +100 -54
- package/dist/angular/server.js.map +10 -9
- package/dist/build/buildWorker.js +6 -5
- package/dist/build.js +595 -454
- package/dist/build.js.map +20 -20
- package/dist/cli/{add-ntg96znk.js → add-8gw9mk2b.js} +1 -1
- package/dist/cli/{compile-w2z6c9vt.js → compile-p5yv6ecp.js} +2 -2
- package/dist/cli/config/server.js +45 -12
- package/dist/cli/{dev-8br5mr7t.js → dev-2hbcsvkp.js} +1 -1
- package/dist/cli/{index-420h9hq7.js → index-1ewba8ye.js} +32 -3
- package/dist/cli/index-5q6k5mvr.js +86 -0
- package/dist/cli/{index-7z1hh3fg.js → index-9dzdbbfc.js} +1 -1
- package/dist/cli/index.js +9 -9
- package/dist/cli/{islands-bx67g15t.js → islands-6zgb7501.js} +1 -1
- package/dist/cli/{mobile-we5q51ey.js → mobile-93vaawcz.js} +3 -3
- package/dist/cli/{remove-4jh862qa.js → remove-x987pvd3.js} +1 -1
- package/dist/cli/{start-srs11bm8.js → start-asxb79rc.js} +2 -2
- package/dist/cli/{typecheck-7fvww3b7.js → typecheck-m2j4tkdk.js} +165 -35
- package/dist/client/chunks/{index-8m2qq61n.js → index-58svs66p.js} +13 -3
- package/dist/client/chunks/{index-8m2qq61n.js.map → index-58svs66p.js.map} +5 -4
- package/dist/client/chunks/{islands-mfjmdwnb.js → islands-tcadmgcx.js} +3 -6
- package/dist/client/chunks/{islands-mfjmdwnb.js.map → islands-tcadmgcx.js.map} +3 -4
- package/dist/client/chunks/{react-sprprqzs.js → react-khr6ewhr.js} +2 -2
- package/dist/client/index.js +82 -6
- package/dist/client/index.js.map +7 -6
- package/dist/dev/client/handlers/islands.ts +2 -0
- package/dist/dev/client/handlers/react.ts +92 -111
- package/dist/dev/client/handlers/reactUpdateQueue.ts +153 -0
- package/dist/index.js +568 -427
- package/dist/index.js.map +20 -20
- package/dist/islands/browser.js +2 -2
- package/dist/islands/browser.js.map +3 -3
- package/dist/islands/index.js +56 -27
- package/dist/islands/index.js.map +7 -6
- package/dist/react/browser.js +113 -12
- package/dist/react/browser.js.map +10 -7
- package/dist/react/components/index.js +31 -7
- package/dist/react/components/index.js.map +5 -4
- package/dist/react/components/server/index.js +22 -6
- package/dist/react/index.js +233 -67
- package/dist/react/index.js.map +16 -12
- package/dist/react/server.js +82 -23
- package/dist/react/server.js.map +11 -9
- package/dist/src/build/compileSvelte.d.ts +12 -1
- package/dist/src/build/compileVue.d.ts +1 -0
- package/dist/src/build/islandEntries.d.ts +3 -1
- package/dist/src/cli/add/dependencies.d.ts +34 -6
- package/dist/src/cli/scripts/typecheck.d.ts +8 -0
- package/dist/src/cli/scripts/typecheckDiagnostics.d.ts +17 -0
- package/dist/src/client/preserveIslandMarkup.d.ts +4 -0
- package/dist/src/core/islandManifest.d.ts +6 -0
- package/dist/src/core/islandStylesheet.d.ts +17 -0
- package/dist/src/react/Island.d.ts +9 -2
- package/dist/src/react/IslandStyleLink.d.ts +11 -0
- package/dist/src/react/createIsland.d.ts +1 -1
- package/dist/src/react/serverComponents/nodeRendererRef.d.ts +13 -0
- package/dist/src/utils/requestRenderUrl.d.ts +1 -0
- package/dist/src/utils/resolveConvention.d.ts +1 -0
- package/dist/src/vue/Island.browser.d.ts +3 -1
- package/dist/src/vue/Island.d.ts +2 -2
- package/dist/src/vue/createIsland.browser.d.ts +2 -2
- package/dist/src/vue/createIsland.d.ts +2 -2
- package/dist/src/vue/islandStyleLink.d.ts +30 -0
- package/dist/svelte/browser.js +2 -2
- package/dist/svelte/browser.js.map +3 -3
- package/dist/svelte/index.js +94 -70
- package/dist/svelte/index.js.map +10 -9
- package/dist/svelte/server.js +65 -59
- package/dist/svelte/server.js.map +9 -8
- package/dist/types/globals.d.ts +3 -0
- package/dist/vue/browser.js +105 -10
- package/dist/vue/browser.js.map +10 -7
- package/dist/vue/index.js +213 -68
- package/dist/vue/index.js.map +15 -12
- package/dist/vue/server.js +81 -22
- package/dist/vue/server.js.map +9 -7
- package/package.json +1 -1
- package/dist/cli/index-jjfbjv1z.js +0 -65
- /package/dist/cli/{index-6522t968.js → index-yd672jyq.js} +0 -0
- /package/dist/client/chunks/{react-sprprqzs.js.map → react-khr6ewhr.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/utils/cspNonceRef.ts", "../src/utils/fontAssets.ts", "../src/utils/iconVersion.ts", "../src/utils/escapeScriptContent.ts", "../src/constants.ts", "../src/dev/client/cspNonce.ts", "../src/react/components/Head.tsx", "../src/utils/generateHeadElement.ts", "../src/utils/jsonLd.ts", "../src/utils/imageClient.ts", "../src/react/components/Image.tsx", "../src/react/components/JsonLd.tsx", "../src/core/streamingSlotRegistrar.ts", "../src/react/components/SuspenseSlot.tsx", "../src/react/components/StreamSlot.tsx", "../src/react/router/Link.tsx", "../src/client/prefetch.ts", "../src/react/hooks/usePrefetch.ts", "../src/react/router/navigationContext.ts"],
|
|
3
|
+
"sources": ["../src/utils/cspNonceRef.ts", "../src/utils/fontAssets.ts", "../src/utils/iconVersion.ts", "../src/utils/escapeScriptContent.ts", "../src/constants.ts", "../src/dev/client/cspNonce.ts", "../src/react/components/Head.tsx", "../src/utils/generateHeadElement.ts", "../src/utils/jsonLd.ts", "../src/utils/imageClient.ts", "../src/react/components/Image.tsx", "../src/react/components/JsonLd.tsx", "../src/core/streamingSlotRegistrar.ts", "../src/react/serverComponents/nodeRendererRef.ts", "../src/react/components/SuspenseSlot.tsx", "../src/react/components/StreamSlot.tsx", "../src/react/router/Link.tsx", "../src/client/prefetch.ts", "../src/react/hooks/usePrefetch.ts", "../src/react/router/navigationContext.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/* Dependency-free access to the current request's CSP nonce, for code that\n * also ships to the browser (streaming slots, Angular components) and so\n * can't import the server's request context. `secureHeaders()` registers\n * the getter (src/core/cspNonce.ts); in the browser, or with secure headers\n * off, there is none and these return undefined / ''. */\n\nconst GETTER_KEY = Symbol.for('absolutejs.cspNonceGetter');\n\n/** ` nonce=\"…\"` for an inline <script>/<style> tag, or '' without one. */\nexport const nonceAttr = (nonce: string | undefined = readCspNonce()) =>\n\tnonce ? ` nonce=\"${nonce}\"` : '';\n\n/** Adds the nonce to the <style id=\"svelte-…\"> tags Svelte renders into the\n * head for components compiled with injected CSS. Only those: a <style>\n * that arrived through {@html} stays without one. */\nexport const nonceSvelteHeadStyles = (\n\thead: string,\n\tnonce: string | undefined = readCspNonce()\n) =>\n\tnonce\n\t\t? head.replace(\n\t\t\t\t/<style(?=\\s+id=\"svelte-[^\"]*\")(?![^>]*\\snonce=)/g,\n\t\t\t\t`<style nonce=\"${nonce}\"`\n\t\t\t)\n\t\t: head;\n\nexport const readCspNonce = () => {\n\tconst getter: unknown = Reflect.get(globalThis, GETTER_KEY);\n\tif (typeof getter !== 'function') return undefined;\n\tconst nonce: unknown = getter();\n\n\treturn typeof nonce === 'string' ? nonce : undefined;\n};\n\nexport const registerCspNonceGetter = (getter: () => string | undefined) => {\n\tReflect.set(globalThis, GETTER_KEY, getter);\n};\n",
|
|
6
6
|
"import type { FontAssets } from '../../types/fonts';\n\nexport const FONT_PRELOAD_MANIFEST_PREFIX = 'AbsoluteFontPreload';\nexport const FONTS_CSS_MANIFEST_KEY = 'AbsoluteFontsCSS';\nexport const FONTS_REMOTE_CSS_MANIFEST_PREFIX = 'AbsoluteFontsRemoteCSS';\n\nconst MIME_BY_EXTENSION: Record<string, string> = {\n\totf: 'font/otf',\n\tttf: 'font/ttf',\n\twoff: 'font/woff',\n\twoff2: 'font/woff2'\n};\n\nconst numberedValues = (manifest: Record<string, string>, prefix: string) =>\n\tObject.keys(manifest)\n\t\t.filter((key) => key.startsWith(prefix))\n\t\t.map((key) => ({\n\t\t\tindex: Number(key.slice(prefix.length)),\n\t\t\tvalue: manifest[key]\n\t\t}))\n\t\t.filter(\n\t\t\t(entry): entry is { index: number; value: string } =>\n\t\t\t\tNumber.isInteger(entry.index) && entry.value !== undefined\n\t\t)\n\t\t.sort((left, right) => left.index - right.index)\n\t\t.map((entry) => entry.value);\n\n/** The font stylesheet(s) and preloads the build produced from the `fonts`\n * config, read from the manifest. Pass the result to `Head`'s or\n * `generateHeadElement`'s `fonts` option. Empty when no fonts are\n * configured. Plain data, safe to pass as a page prop. */\nexport const fontAssets = (manifest: Record<string, string>) => {\n\tconst stylesheet = manifest[FONTS_CSS_MANIFEST_KEY];\n\tconst assets: FontAssets = {\n\t\tpreload: numberedValues(manifest, FONT_PRELOAD_MANIFEST_PREFIX),\n\t\tstylesheets: [\n\t\t\t...numberedValues(manifest, FONTS_REMOTE_CSS_MANIFEST_PREFIX),\n\t\t\t...(stylesheet ? [stylesheet] : [])\n\t\t]\n\t};\n\n\treturn assets;\n};\n\nexport const fontMimeType = (href: string) => {\n\tconst extension = /\\.([a-z0-9]+)(?:[?#].*)?$/i\n\t\t.exec(href)?.[1]\n\t\t?.toLowerCase();\n\n\treturn (extension && MIME_BY_EXTENSION[extension]) ?? 'font/woff2';\n};\n\nconst escapeAttribute = (value: string) =>\n\tvalue.replace(/&/g, '&').replace(/\"/g, '"');\n\nconst isRemote = (href: string) => /^https?:\\/\\//i.test(href);\n\n/** Origins a font stylesheet loads from, for `preconnect` hints. Only\n * remote (fallback) stylesheets need them. */\nexport const fontPreconnectOrigins = (fonts: FontAssets) =>\n\tfonts.stylesheets.some(isRemote)\n\t\t? ['https://fonts.googleapis.com', 'https://fonts.gstatic.com']\n\t\t: [];\n\n/** `<link>` tags for a page's `<head>`: preconnects (remote fallback only),\n * font preloads, then the stylesheets. All linked, never inline, so they\n * work under a strict Content-Security-Policy. */\nexport const renderFontTags = (fonts: FontAssets) => [\n\t...fontPreconnectOrigins(fonts).map((origin) =>\n\t\torigin.includes('gstatic')\n\t\t\t? `<link rel=\"preconnect\" href=\"${origin}\" crossorigin>`\n\t\t\t: `<link rel=\"preconnect\" href=\"${origin}\">`\n\t),\n\t...fonts.preload.map(\n\t\t(href) =>\n\t\t\t`<link rel=\"preload\" href=\"${escapeAttribute(href)}\" as=\"font\" type=\"${fontMimeType(href)}\" crossorigin>`\n\t),\n\t...fonts.stylesheets.map(\n\t\t(href) =>\n\t\t\t`<link rel=\"stylesheet\" href=\"${escapeAttribute(href)}\" data-absolute-fonts>`\n\t)\n];\n",
|
|
@@ -15,14 +15,15 @@
|
|
|
15
15
|
"import type { ImageProps } from '../../../types/image';\nimport {\n\tDEFAULT_QUALITY,\n\tbuildOptimizedUrl,\n\tgenerateBlurSvg,\n\tgenerateSrcSet\n} from '../../utils/imageClient';\n\nconst resolveSource = (\n\tsrc: string,\n\toverrideSrc: ImageProps['overrideSrc'],\n\tunoptimized: ImageProps['unoptimized'],\n\tloader: ImageProps['loader'],\n\twidth: ImageProps['width'],\n\tquality: number\n) => {\n\tif (overrideSrc) return overrideSrc;\n\tif (unoptimized) return src;\n\tif (loader) return loader({ quality, src, width: width ?? 0 });\n\tif (!width) return buildOptimizedUrl(src, 0, quality);\n\n\treturn buildOptimizedUrl(src, width, quality);\n};\n\nconst resolveBlurBackground = (\n\thasBlur: boolean,\n\tplaceholder: ImageProps['placeholder'],\n\tblurDataURL: ImageProps['blurDataURL']\n) => {\n\tif (!hasBlur) return undefined;\n\n\tif (\n\t\ttypeof placeholder === 'string' &&\n\t\tplaceholder !== 'blur' &&\n\t\tplaceholder.startsWith('data:')\n\t) {\n\t\treturn generateBlurSvg(placeholder);\n\t}\n\n\tif (blurDataURL) return generateBlurSvg(blurDataURL);\n\n\treturn undefined;\n};\n\nexport const Image = ({\n\talt,\n\tblurDataURL,\n\tclassName,\n\tcrossOrigin,\n\tfetchPriority,\n\tfill,\n\theight,\n\tloader,\n\tloading,\n\tonError,\n\tonLoad,\n\toverrideSrc,\n\tplaceholder,\n\tpriority,\n\tquality = DEFAULT_QUALITY,\n\treferrerPolicy,\n\tsizes,\n\tsrc,\n\tstyle,\n\tunoptimized,\n\twidth\n}: ImageProps) => {\n\t// ── Resolve src ─────────────────────────────────────────────\n\tconst resolvedSrc = resolveSource(\n\t\tsrc,\n\t\toverrideSrc,\n\t\tunoptimized,\n\t\tloader,\n\t\twidth,\n\t\tquality\n\t);\n\n\t// ── srcSet ──────────────────────────────────────────────────\n\tconst srcSet = unoptimized ? undefined : generateSrcSet(src, width, sizes);\n\n\t// ── Sizes ───────────────────────────────────────────────────\n\tconst resolvedSizes = sizes ?? (fill ? '100vw' : undefined);\n\n\t// ── Loading behavior ────────────────────────────────────────\n\tconst resolvedLoading = priority ? 'eager' : (loading ?? 'lazy');\n\tconst resolvedFetchPriority = priority ? 'high' : fetchPriority;\n\n\t// ── Blur placeholder ────────────────────────────────────────\n\tconst hasBlur =\n\t\tplaceholder === 'blur' ||\n\t\t(typeof placeholder === 'string' &&\n\t\t\tplaceholder !== 'empty' &&\n\t\t\tplaceholder.startsWith('data:'));\n\n\tconst blurBackground = resolveBlurBackground(\n\t\thasBlur,\n\t\tplaceholder,\n\t\tblurDataURL\n\t);\n\n\t// ── Styles ──────────────────────────────────────────────────\n\tconst imgStyle: Record<string, string | number> = {\n\t\t...(style ?? {}),\n\t\t...(blurBackground\n\t\t\t? {\n\t\t\t\t\tbackgroundImage: blurBackground,\n\t\t\t\t\tbackgroundPosition: 'center',\n\t\t\t\t\tbackgroundRepeat: 'no-repeat',\n\t\t\t\t\tbackgroundSize: 'cover'\n\t\t\t\t}\n\t\t\t: {}),\n\t\t...(fill\n\t\t\t? {\n\t\t\t\t\tcolor: 'transparent',\n\t\t\t\t\theight: '100%',\n\t\t\t\t\tinset: 0,\n\t\t\t\t\tobjectFit: 'cover',\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\twidth: '100%'\n\t\t\t\t}\n\t\t\t: { color: 'transparent' })\n\t};\n\n\tconst fillWrapperStyle: Record<string, string | number> = {\n\t\tdisplay: 'block',\n\t\theight: '100%',\n\t\toverflow: 'hidden',\n\t\tposition: 'relative',\n\t\twidth: '100%'\n\t};\n\n\t// ── Preload link for priority images ────────────────────────\n\tconst preloadLink = priority ? (\n\t\t<link\n\t\t\tas=\"image\"\n\t\t\tcrossOrigin={crossOrigin}\n\t\t\thref={resolvedSrc}\n\t\t\timageSizes={resolvedSizes}\n\t\t\timageSrcSet={srcSet}\n\t\t\trel=\"preload\"\n\t\t/>\n\t) : null;\n\n\t// ── Fill mode wrapper ───────────────────────────────────────\n\tconst imgElement = (\n\t\t<img\n\t\t\talt={alt}\n\t\t\tclassName={className}\n\t\t\tcrossOrigin={crossOrigin}\n\t\t\tdecoding=\"async\"\n\t\t\tfetchPriority={resolvedFetchPriority}\n\t\t\theight={fill ? undefined : height}\n\t\t\tloading={resolvedLoading}\n\t\t\tonError={\n\t\t\t\tonError ? (event) => onError(event.nativeEvent) : undefined\n\t\t\t}\n\t\t\tonLoad={(event) => {\n\t\t\t\tconst { target } = event;\n\n\t\t\t\tif (blurBackground && target instanceof HTMLImageElement) {\n\t\t\t\t\ttarget.style.backgroundImage = 'none';\n\t\t\t\t}\n\n\t\t\t\tif (onLoad) onLoad(event.nativeEvent);\n\t\t\t}}\n\t\t\treferrerPolicy={referrerPolicy}\n\t\t\tsizes={resolvedSizes}\n\t\t\tsrc={resolvedSrc}\n\t\t\tsrcSet={srcSet}\n\t\t\tstyle={imgStyle}\n\t\t\twidth={fill ? undefined : width}\n\t\t/>\n\t);\n\n\tif (fill) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{preloadLink}\n\t\t\t\t<span style={fillWrapperStyle}>{imgElement}</span>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{preloadLink}\n\t\t\t{imgElement}\n\t\t</>\n\t);\n};\n",
|
|
16
16
|
"import type { JsonLdSchema, WithContext } from '../../../types/jsonLd';\n\nexport const JsonLd = ({\n\tschema\n}: {\n\tschema: JsonLdSchema | JsonLdSchema[];\n}) => {\n\tconst schemaOrgContext = 'https://schema.org';\n\tconst data: WithContext<JsonLdSchema> | WithContext<JsonLdSchema>[] =\n\t\tArray.isArray(schema)\n\t\t\t? schema.map((s) => ({\n\t\t\t\t\t'@context': schemaOrgContext,\n\t\t\t\t\t...s\n\t\t\t\t}))\n\t\t\t: { '@context': schemaOrgContext, ...schema };\n\n\treturn (\n\t\t<script\n\t\t\tdangerouslySetInnerHTML={{ __html: JSON.stringify(data) }}\n\t\t\ttype=\"application/ld+json\"\n\t\t/>\n\t);\n};\n",
|
|
17
17
|
"import type { StreamingSlot } from '../utils/streamingSlots';\n\ntype StreamingSlotRegistrar = (slot: StreamingSlot) => void;\ntype StreamingSlotWarningController = {\n\tmaybeWarn(primitiveName: string): void;\n};\ntype StreamingSlotCollectionController = {\n\tisCollecting(): boolean;\n};\n\nconst STREAMING_SLOT_REGISTRAR_KEY = Symbol.for(\n\t'absolutejs.streamingSlotRegistrar'\n);\nconst STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotWarningController'\n);\nconst STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotCollectionController'\n);\n\nconst getRegisteredStreamingSlotRegistrar = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_REGISTRAR_KEY);\n\tif (typeof value === 'function' || value === null) {\n\t\treturn value;\n\t}\n\n\treturn undefined;\n};\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isStreamingSlotWarningController = (\n\tvalue: unknown\n): value is StreamingSlotWarningController =>\n\tisObjectRecord(value) &&\n\t'maybeWarn' in value &&\n\ttypeof value.maybeWarn === 'function';\n\nconst isStreamingSlotCollectionController = (\n\tvalue: unknown\n): value is StreamingSlotCollectionController =>\n\tisObjectRecord(value) &&\n\t'isCollecting' in value &&\n\ttypeof value.isCollecting === 'function';\n\nconst getWarningController = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') return undefined;\n\n\treturn isStreamingSlotWarningController(value) ? value : undefined;\n};\n\nconst getCollectionController = () => {\n\tconst value = Reflect.get(\n\t\tglobalThis,\n\t\tSTREAMING_SLOT_COLLECTION_STORAGE_KEY\n\t);\n\tif (value === null || typeof value === 'undefined') return undefined;\n\n\treturn isStreamingSlotCollectionController(value) ? value : undefined;\n};\n\nexport const hasRegisteredStreamingSlotRegistrar = () =>\n\ttypeof getRegisteredStreamingSlotRegistrar() === 'function';\nexport const isStreamingSlotCollectionActive = () =>\n\tgetCollectionController()?.isCollecting() === true;\nexport const registerStreamingSlot = (slot: StreamingSlot) => {\n\tgetRegisteredStreamingSlotRegistrar()?.(slot);\n};\nexport const setStreamingSlotCollectionController = (\n\tcontroller: StreamingSlotCollectionController | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_COLLECTION_STORAGE_KEY, controller);\n};\nexport const setStreamingSlotRegistrar = (\n\tnextRegistrar: StreamingSlotRegistrar | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_REGISTRAR_KEY, nextRegistrar);\n};\nexport const setStreamingSlotWarningController = (\n\tcontroller: StreamingSlotWarningController | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY, controller);\n};\n/* Warns in production too: a slot that silently stays on its fallback is\n * worse there. The controller logs each distinct warning once per process\n * in production. */\nexport const warnMissingStreamingSlotCollector = (primitiveName: string) => {\n\tif (isStreamingSlotCollectionActive()) {\n\t\treturn;\n\t}\n\n\tgetWarningController()?.maybeWarn(primitiveName);\n};\n",
|
|
18
|
-
"
|
|
18
|
+
"/* How a SuspenseSlot inside a React Server Component turns its resolved\n * React node into HTML. Classic SSR renders it with react-dom/server, but a\n * server component runs on React's react-server build, where react-dom/server\n * throws on import (\"not supported in React Server Components\"), so the slot\n * silently kept its fallback. handleReactServerPageRequest provides a\n * renderer for the duration of the Flight render instead: the node goes\n * through Flight and then the build's SSR renderer, the same way the page\n * itself does.\n *\n * The storage sits on globalThis: the slot runs from the page's\n * react-server bundle, the handler from the framework's own module, and\n * each has its copy of this file. No node: imports here, so the slot's\n * module stays importable anywhere. */\n\nexport type ReactServerNodeRenderer = (node: unknown) => Promise<string>;\n\ntype RendererStorage = {\n\tgetStore: () => unknown;\n\trun: <Result>(\n\t\tstore: ReactServerNodeRenderer,\n\t\tcallback: () => Result\n\t) => Result;\n};\n\nconst STORAGE_KEY = Symbol.for('absolutejs.reactServerNodeRendererStorage');\n\nconst isRendererStorage = (value: unknown): value is RendererStorage =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst isRenderer = (value: unknown): value is ReactServerNodeRenderer =>\n\ttypeof value === 'function';\n\nconst readStorage = () => {\n\tconst storage: unknown = Reflect.get(globalThis, STORAGE_KEY);\n\n\treturn isRendererStorage(storage) ? storage : undefined;\n};\n\n/** The renderer of the React Server Components render in progress, or\n * undefined outside one (classic SSR). */\nexport const getReactServerNodeRenderer = () => {\n\tconst store = readStorage()?.getStore();\n\n\treturn isRenderer(store) ? store : undefined;\n};\n\n/** Runs `render` (the Flight render) with `renderer` available to the\n * SuspenseSlots it renders. `createStorage` makes the AsyncLocalStorage\n * on first use. */\nexport const runWithReactServerNodeRenderer = <Result>(\n\trenderer: ReactServerNodeRenderer,\n\tcreateStorage: () => RendererStorage,\n\trender: () => Result\n) => {\n\tlet storage = readStorage();\n\tif (!storage) {\n\t\tstorage = createStorage();\n\t\tReflect.set(globalThis, STORAGE_KEY, storage);\n\t}\n\n\treturn storage.run(renderer, render);\n};\n",
|
|
19
|
+
"import type { ReactNode } from 'react';\nimport {\n\tisStreamingSlotCollectionActive,\n\tregisterStreamingSlot,\n\twarnMissingStreamingSlotCollector\n} from '../../core/streamingSlotRegistrar';\nimport {\n\tgetReactServerNodeRenderer,\n\ttype ReactServerNodeRenderer\n} from '../serverComponents/nodeRendererRef';\n\ntype LegacySuspenseSlotProps = {\n\tclassName?: string;\n\t/** Stream this slot on every request even when the page is\n\t * pre-rendered (partial prerendering): the cached shell keeps the\n\t * fallback. Set it on anything that reads the request or must be fresh. */\n\tdynamic?: boolean;\n\terrorHtml?: string;\n\tfallbackHtml?: string;\n\tid: string;\n\tresolve: () => Promise<string> | string;\n\ttimeoutMs?: number;\n};\n\ntype FrameworkSuspenseRenderProps<T = unknown> = {\n\tchildren: (value: Awaited<T>) => ReactNode;\n\tclassName?: string;\n\t/** Stream this slot on every request even when the page is\n\t * pre-rendered (partial prerendering): the cached shell keeps the\n\t * fallback. Set it on anything that reads the request or must be fresh. */\n\tdynamic?: boolean;\n\terrorFallback?: ReactNode | ((error: unknown) => ReactNode);\n\tid: string;\n\tfallback?: ReactNode;\n\ttimeoutMs?: number;\n} & (\n\t| {\n\t\t\tpromise: Promise<T>;\n\t\t\tresolve?: undefined;\n\t }\n\t| {\n\t\t\tpromise?: undefined;\n\t\t\tresolve: () => Promise<T> | T;\n\t }\n);\n\ntype FrameworkSuspenseNodeProps = {\n\tchildren?: ReactNode;\n\tclassName?: string;\n\t/** Stream this slot on every request even when the page is\n\t * pre-rendered (partial prerendering): the cached shell keeps the\n\t * fallback. Set it on anything that reads the request or must be fresh. */\n\tdynamic?: boolean;\n\terrorFallback?: ReactNode | ((error: unknown) => ReactNode);\n\tid: string;\n\tpromise?: Promise<ReactNode>;\n\tresolve?: () => Promise<ReactNode> | ReactNode;\n\tfallback?: ReactNode;\n\ttimeoutMs?: number;\n};\n\ntype FrameworkSuspenseSlotProps<T = unknown> =\n\tFrameworkSuspenseRenderProps<T> | FrameworkSuspenseNodeProps;\n\ntype SuspenseSlotProps<T = unknown> =\n\tLegacySuspenseSlotProps | FrameworkSuspenseSlotProps<T>;\n\nconst isLegacyProps = <T,>(\n\tprops: SuspenseSlotProps<T>\n): props is LegacySuspenseSlotProps =>\n\t'fallbackHtml' in props || 'errorHtml' in props;\n\n/* Rendered with renderToReadableStream, not renderToStaticMarkup:\n * `absolute start` stubs out React's legacy string renderer in the\n * production server bundle (it is ~4,000 lines nothing else uses), so\n * renderToStaticMarkup is undefined there and every SuspenseSlot patch\n * failed in production. */\nconst renderReactNodeToHtml = async (\n\tnode: ReactNode,\n\tserverNodeRenderer: ReactServerNodeRenderer | undefined\n) => {\n\t// Inside a React Server Component react-dom/server is unavailable; the\n\t// RSC page handler renders the node through Flight instead.\n\tif (serverNodeRenderer) return serverNodeRenderer(node);\n\tconst { Fragment } = await import('react');\n\tconst { renderToReadableStream } = await import('react-dom/server');\n\tconst stream = await renderToReadableStream(<Fragment>{node}</Fragment>);\n\tawait stream.allReady;\n\n\treturn new Response(stream).text();\n};\n\nconst hasRenderChildren = <T,>(\n\tprops: FrameworkSuspenseSlotProps<T>\n): props is FrameworkSuspenseRenderProps<T> =>\n\ttypeof props.children === 'function';\n\nasync function resolveRenderSuspenseValue<T>(\n\tprops: FrameworkSuspenseRenderProps<T>\n): Promise<Awaited<T>>;\nasync function resolveRenderSuspenseValue<T>(\n\tprops: FrameworkSuspenseRenderProps<T>\n) {\n\tif ('resolve' in props && props.resolve !== undefined) {\n\t\treturn props.resolve();\n\t}\n\n\tif ('promise' in props && props.promise !== undefined) {\n\t\treturn props.promise;\n\t}\n\n\treturn undefined;\n}\n\nasync function resolveNodeSuspenseValue(\n\tprops: FrameworkSuspenseNodeProps\n): Promise<ReactNode | undefined>;\nasync function resolveNodeSuspenseValue(props: FrameworkSuspenseNodeProps) {\n\tif (props.resolve !== undefined) {\n\t\treturn props.resolve();\n\t}\n\n\tif (props.promise !== undefined) {\n\t\treturn props.promise;\n\t}\n\n\treturn undefined;\n}\n\nconst renderErrorFallback = async <T,>(\n\tprops: FrameworkSuspenseSlotProps<T>,\n\terror: unknown,\n\tserverNodeRenderer: ReactServerNodeRenderer | undefined\n) => {\n\tif (typeof props.errorFallback === 'function') {\n\t\treturn renderReactNodeToHtml(\n\t\t\tprops.errorFallback(error),\n\t\t\tserverNodeRenderer\n\t\t);\n\t}\n\n\tif (props.errorFallback !== undefined) {\n\t\treturn renderReactNodeToHtml(props.errorFallback, serverNodeRenderer);\n\t}\n\n\tthrow error;\n};\n\nconst registerLegacySuspenseSlot = (props: LegacySuspenseSlotProps) => {\n\tregisterStreamingSlot({\n\t\tdynamic: props.dynamic,\n\t\terrorHtml: props.errorHtml,\n\t\tfallbackHtml: props.fallbackHtml,\n\t\tid: props.id,\n\t\tresolve: props.resolve,\n\t\ttimeoutMs: props.timeoutMs\n\t});\n};\n\nconst registerFrameworkSuspenseSlot = <T,>(\n\tprops: FrameworkSuspenseSlotProps<T>\n) => {\n\t// Read while the page renders: the slot resolves after the render,\n\t// outside the React Server Components render's async context.\n\tconst serverNodeRenderer = getReactServerNodeRenderer();\n\tregisterStreamingSlot({\n\t\tdynamic: props.dynamic,\n\t\tid: props.id,\n\t\ttimeoutMs: props.timeoutMs,\n\t\tresolve: async () => {\n\t\t\ttry {\n\t\t\t\tconst content = hasRenderChildren(props)\n\t\t\t\t\t? props.children(await resolveRenderSuspenseValue(props))\n\t\t\t\t\t: (props.children ??\n\t\t\t\t\t\t(await resolveNodeSuspenseValue(props)) ??\n\t\t\t\t\t\tnull);\n\n\t\t\t\treturn renderReactNodeToHtml(content, serverNodeRenderer);\n\t\t\t} catch (error) {\n\t\t\t\treturn renderErrorFallback(props, error, serverNodeRenderer);\n\t\t\t}\n\t\t}\n\t});\n};\n\nconst renderLegacySuspenseSlot = (props: LegacySuspenseSlotProps) => (\n\t<div\n\t\tclassName={props.className}\n\t\tdangerouslySetInnerHTML={{ __html: props.fallbackHtml ?? '' }}\n\t\tdata-absolute-slot=\"true\"\n\t\tid={props.id}\n\t\tsuppressHydrationWarning\n\t/>\n);\n\nconst renderFrameworkSuspenseSlot = (\n\tprops: Pick<FrameworkSuspenseNodeProps, 'className' | 'fallback' | 'id'>\n) => (\n\t<div\n\t\tclassName={props.className}\n\t\tdata-absolute-slot=\"true\"\n\t\tid={props.id}\n\t\tsuppressHydrationWarning\n\t>\n\t\t{props.fallback ?? null}\n\t</div>\n);\n\nconst renderServerSuspenseSlot = <T,>(props: SuspenseSlotProps<T>) => {\n\tif (isLegacyProps(props)) {\n\t\tregisterLegacySuspenseSlot(props);\n\n\t\treturn renderLegacySuspenseSlot(props);\n\t}\n\n\tregisterFrameworkSuspenseSlot(props);\n\n\treturn renderFrameworkSuspenseSlot(props);\n};\n\nexport const SuspenseSlot = <T,>(props: SuspenseSlotProps<T>) => {\n\tif (isStreamingSlotCollectionActive()) {\n\t\treturn renderServerSuspenseSlot(props);\n\t}\n\twarnMissingStreamingSlotCollector('SuspenseSlot');\n\n\tif (isLegacyProps(props)) return renderLegacySuspenseSlot(props);\n\n\treturn renderFrameworkSuspenseSlot(props);\n};\n",
|
|
19
20
|
"import {\n\tisStreamingSlotCollectionActive,\n\tregisterStreamingSlot,\n\twarnMissingStreamingSlotCollector\n} from '../../core/streamingSlotRegistrar';\n\ntype StreamSlotProps = {\n\tclassName?: string;\n\t/** Stream this slot on every request even when the page is\n\t * pre-rendered (partial prerendering): the cached shell keeps the\n\t * fallback. Set it on anything that reads the request or must be fresh. */\n\tdynamic?: boolean;\n\terrorHtml?: string;\n\tfallbackHtml?: string;\n\tid: string;\n\tresolve: () => Promise<string> | string;\n\ttimeoutMs?: number;\n};\n\nexport const StreamSlot = ({\n\tclassName,\n\tdynamic,\n\terrorHtml,\n\tfallbackHtml = '',\n\tid,\n\tresolve,\n\ttimeoutMs\n}: StreamSlotProps) => {\n\tif (isStreamingSlotCollectionActive()) {\n\t\tregisterStreamingSlot({\n\t\t\tdynamic,\n\t\t\terrorHtml,\n\t\t\tfallbackHtml,\n\t\t\tid,\n\t\t\tresolve,\n\t\t\ttimeoutMs\n\t\t});\n\t} else {\n\t\twarnMissingStreamingSlotCollector('StreamSlot');\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={className}\n\t\t\tdangerouslySetInnerHTML={{ __html: fallbackHtml }}\n\t\t\tdata-absolute-slot=\"true\"\n\t\t\tid={id}\n\t\t\tsuppressHydrationWarning\n\t\t/>\n\t);\n};\n",
|
|
20
21
|
"import {\n\ttype AnchorHTMLAttributes,\n\ttype FocusEvent,\n\ttype MouseEvent,\n\ttype PointerEvent,\n\ttype ReactNode,\n\tuseContext\n} from 'react';\nimport type { PrefetchMode } from '../../../types/prefetch';\nimport { isPrefetchableHref } from '../../client/prefetch';\nimport { usePrefetch } from '../hooks/usePrefetch';\nimport { RouterNavigationContext } from './navigationContext';\n\nexport type LinkProps = Omit<\n\tAnchorHTMLAttributes<HTMLAnchorElement>,\n\t'href' | 'children'\n> & {\n\t/** Destination URL — relative or absolute. */\n\thref: string;\n\t/** `'viewport'` (production default) — prefetch when the link enters\n\t * the viewport and on hover / pointerdown.\n\t * `'hover'` (development default) — prefetch on hover only.\n\t * `'none'` — disable prefetch for this link. */\n\tprefetch?: PrefetchMode;\n\t/** Also inject a prerender speculation rule on hover / pointerdown so\n\t * the target page is fully rendered before the click lands. */\n\tprerender?: boolean;\n\t/** Inside a `<UniversalRouter>`: use `history.replaceState` instead\n\t * of `pushState` for the client-side navigation. */\n\treplace?: boolean;\n\tchildren?: ReactNode;\n};\n\nconst isModifierClick = (event: MouseEvent<HTMLAnchorElement>) =>\n\tevent.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n\n/**\n * Prefetching anchor — the React counterpart of Next.js `<Link>`.\n *\n * Renders a plain `<a>`; for a same-origin `href` it prefetches the target\n * document when the link scrolls into view (production) and on hover /\n * focus / pointerdown (production + development), so the click resolves\n * from cache. Modifier / middle clicks, `target`, `download` and external\n * URLs pass straight through to the browser.\n *\n * Inside a `<UniversalRouter>` an `href` matching one of the shell's\n * `<Route>`s navigates client-side through react-router; anything else is\n * a real navigation to that page.\n *\n * import { Link } from '@absolutejs/absolute/react/components';\n * <Link href=\"/pricing\" prefetch=\"viewport\">Pricing</Link>\n *\n * `@absolutejs/absolute/react/router` exports the same component next to\n * `<UniversalRouter>`, so importing from it needs react-router installed;\n * `react/components` doesn't. Without a `<UniversalRouter>`, a click falls\n * through to the document, where `enableNavigation()` soft-navigates it.\n */\nexport const Link = ({\n\thref,\n\tprefetch: prefetchMode,\n\tprerender = false,\n\treplace = false,\n\ttarget,\n\tdownload,\n\tchildren,\n\tonBlur,\n\tonClick,\n\tonFocus,\n\tonPointerDown,\n\tonPointerEnter,\n\tonPointerLeave,\n\t...rest\n}: LinkProps) => {\n\tconst navigation = useContext(RouterNavigationContext);\n\tconst {\n\t\tref,\n\t\tonBlur: prefetchBlur,\n\t\tonFocus: prefetchFocus,\n\t\tonPointerDown: prefetchPointerDown,\n\t\tonPointerEnter: prefetchPointerEnter,\n\t\tonPointerLeave: prefetchPointerLeave\n\t} = usePrefetch<HTMLAnchorElement>(href, { mode: prefetchMode, prerender });\n\n\tconst handleClick = (event: MouseEvent<HTMLAnchorElement>) => {\n\t\tonClick?.(event);\n\t\tif (event.defaultPrevented) return;\n\t\tif (isModifierClick(event) || event.button !== 0) return;\n\t\tif (target && target !== '_self') return;\n\t\tif (download !== undefined) return;\n\t\tif (!navigation || !isPrefetchableHref(href)) return;\n\t\tif (navigation.matches(href) === false) return;\n\n\t\tevent.preventDefault();\n\t\tnavigation.navigate(href, { replace });\n\t};\n\n\tconst handlePointerEnter = (event: PointerEvent<HTMLAnchorElement>) => {\n\t\tonPointerEnter?.(event);\n\t\tprefetchPointerEnter();\n\t};\n\n\tconst handlePointerLeave = (event: PointerEvent<HTMLAnchorElement>) => {\n\t\tonPointerLeave?.(event);\n\t\tprefetchPointerLeave();\n\t};\n\n\tconst handlePointerDown = (event: PointerEvent<HTMLAnchorElement>) => {\n\t\tonPointerDown?.(event);\n\t\tprefetchPointerDown();\n\t};\n\n\tconst handleFocus = (event: FocusEvent<HTMLAnchorElement>) => {\n\t\tonFocus?.(event);\n\t\tprefetchFocus();\n\t};\n\n\tconst handleBlur = (event: FocusEvent<HTMLAnchorElement>) => {\n\t\tonBlur?.(event);\n\t\tprefetchBlur();\n\t};\n\n\treturn (\n\t\t<a\n\t\t\t{...rest}\n\t\t\tdownload={download}\n\t\t\thref={href}\n\t\t\tonBlur={handleBlur}\n\t\t\tonClick={handleClick}\n\t\t\tonFocus={handleFocus}\n\t\t\tonPointerDown={handlePointerDown}\n\t\t\tonPointerEnter={handlePointerEnter}\n\t\t\tonPointerLeave={handlePointerLeave}\n\t\t\tref={ref}\n\t\t\ttarget={target}\n\t\t>\n\t\t\t{children}\n\t\t</a>\n\t);\n};\n",
|
|
21
22
|
"/**\n * Framework-neutral navigation prefetch primitive.\n *\n * Pure DOM + `fetch` — no framework imports — so the React, Vue and Svelte\n * `<Link>` components (and user code) share one cache, one in-flight\n * budget, one IntersectionObserver and one set of data-saver guards.\n *\n * import { prefetch, speculate } from '@absolutejs/absolute/client/prefetch';\n *\n * What a prefetch buys the click that follows:\n * - `'document'` — the HTML lands in the browser's HTTP cache (pages\n * carry a content-hash `ETag`), so the real navigation revalidates\n * with a 304 instead of re-rendering.\n * - `'module'` — `<link rel=\"modulepreload\">` parses + compiles the\n * client module graph ahead of time.\n * - `'data'` — the route-data payload\n * (`application/vnd.absolute.route+json`): the page's props plus the\n * client entry and stylesheets it needs, which are `modulepreload`ed\n * / prefetched as the payload lands. A 404 / 406 from a server that\n * doesn't speak route data is remembered as \"no data\".\n * - `'route'` — `'document'` + `'data'`, i.e. everything a click\n * needs. What a `<Link>` warms on hover / pointerdown.\n * - `speculate()` — a prerender speculation rule; the browser renders\n * the whole target page in a hidden tab so the click is instant.\n *\n * Global opt-out: `window.__ABSOLUTE_PREFETCH__ = false` disables every\n * entry point in this module (useful for analytics-sensitive pages).\n */\nimport { applyPageNonce } from '../dev/client/cspNonce';\nimport type {\n\tHoverPrefetchHandle,\n\tHoverPrefetchOptions,\n\tPrefetchKind,\n\tPrefetchOptions,\n\tViewportPrefetchOptions\n} from '../../types/prefetch';\n\nconst PREFETCH_CACHE_LIMIT = 16;\nconst HOVER_DEBOUNCE_MS = 250;\nconst MAX_IN_FLIGHT = 2;\nconst MAX_LIVE_SPECULATION_RULES = 2;\nconst VIEWPORT_ROOT_MARGIN = '128px';\nconst SLOW_EFFECTIVE_TYPES = new Set(['slow-2g', '2g']);\nconst NOT_FOUND = 404;\nconst NOT_ACCEPTABLE = 406;\n\nexport const ROUTE_DATA_MEDIA_TYPE = 'application/vnd.absolute.route+json';\n\ntype CacheEntry = {\n\tabort: () => void;\n\tkind: PrefetchKind;\n\tpromise: Promise<Response>;\n\turl: string;\n};\n\ntype QueuedTask = {\n\tcancelled: boolean;\n\tstart: () => void;\n};\n\nconst cache = new Map<string, CacheEntry>();\nconst queue: QueuedTask[] = [];\nlet inFlight = 0;\n\nconst preloadedModules = new Set<string>();\nconst prefetchedStyles = new Set<string>();\nconst liveSpeculationRules = new Map<string, HTMLScriptElement>();\n\nconst offlineResponse = () => new Response(null, { status: 0 });\n\n/** `'route'` is a compound trigger, not a cache entry of its own: it\n * warms the `'document'` and `'data'` entries, so lookups for it read\n * the document it warmed. */\nconst storageKind = (kind: PrefetchKind) =>\n\tkind === 'route' ? 'document' : kind;\n\nconst cacheKey = (kind: PrefetchKind, url: string) =>\n\t`${storageKind(kind)}:${url}`;\n\nconst resolveHref = (url: string) => {\n\tif (typeof window === 'undefined') return url;\n\n\ttry {\n\t\treturn new URL(url, window.location.href).href;\n\t} catch {\n\t\treturn url;\n\t}\n};\n\n/* ------------------------------------------------------------------ */\n/* Guards */\n/* ------------------------------------------------------------------ */\n\nconst isGloballyDisabled = () =>\n\ttypeof window !== 'undefined' &&\n\tReflect.get(window, '__ABSOLUTE_PREFETCH__') === false;\n\nconst isSlowConnection = () => {\n\tif (typeof navigator === 'undefined') return false;\n\n\tconst connection = Reflect.get(navigator, 'connection');\n\tif (typeof connection !== 'object' || connection === null) return false;\n\tif (Reflect.get(connection, 'saveData') === true) return true;\n\n\tconst effectiveType = Reflect.get(connection, 'effectiveType');\n\n\treturn (\n\t\ttypeof effectiveType === 'string' &&\n\t\tSLOW_EFFECTIVE_TYPES.has(effectiveType)\n\t);\n};\n\nconst prefersReducedData = () => {\n\tif (typeof window === 'undefined' || !window.matchMedia) return false;\n\n\treturn window.matchMedia('(prefers-reduced-data: reduce)').matches;\n};\n\n/** `true` when prefetching is allowed right now: we're in a browser, the\n * page hasn't opted out via `window.__ABSOLUTE_PREFETCH__ = false`, and\n * the user hasn't asked for less data (Save-Data, 2g, reduced-data). */\nexport const canPrefetch = () =>\n\ttypeof window !== 'undefined' &&\n\t!isGloballyDisabled() &&\n\t!isSlowConnection() &&\n\t!prefersReducedData();\n\nconst readNodeEnv = () => {\n\t// Deliberately not the bare `process.env.NODE_ENV` member expression:\n\t// bundlers substitute that at build time, which would bake this\n\t// package's own build environment into the shipped client entry. In a\n\t// browser `process` is undefined and this yields `undefined`.\n\tconst processLike = Reflect.get(globalThis, 'process');\n\tif (typeof processLike !== 'object' || processLike === null) {\n\t\treturn undefined;\n\t}\n\tconst env = Reflect.get(processLike, 'env');\n\tif (typeof env !== 'object' || env === null) return undefined;\n\tconst value = Reflect.get(env, 'NODE_ENV');\n\n\treturn typeof value === 'string' ? value : undefined;\n};\n\n/** Whether the page was served by the AbsoluteJS dev server. The HMR\n * client is only injected in dev, so its markers are the reliable\n * signal; `NODE_ENV` is the fallback for environments that bundle\n * without the dev server (tests, custom hosts). */\nexport const isDevelopmentClient = () => {\n\tif (typeof window === 'undefined') return false;\n\tif (Reflect.get(window, '__HMR_FRAMEWORK__') !== undefined) return true;\n\tif (Reflect.get(window, '__HMR_WS__') !== undefined) return true;\n\tif (\n\t\ttypeof document !== 'undefined' &&\n\t\tdocument.querySelector('script[data-hmr-client]') !== null\n\t) {\n\t\treturn true;\n\t}\n\n\treturn readNodeEnv() === 'development';\n};\n\n/** Same-origin, non-hash, http(s) URL — the only kind worth prefetching. */\nexport const isPrefetchableHref = (href: string) => {\n\tif (typeof window === 'undefined') return false;\n\tif (href === '' || href.startsWith('#')) return false;\n\n\ttry {\n\t\tconst url = new URL(href, window.location.href);\n\t\tif (url.protocol !== 'http:' && url.protocol !== 'https:') return false;\n\n\t\treturn url.origin === window.location.origin;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\n/** Production → `'viewport'` (viewport + hover). Development → `'hover'`\n * only, so a page full of links doesn't fan out into the dev server. */\nexport const resolveDefaultPrefetchMode = () =>\n\tisDevelopmentClient() ? 'hover' : 'viewport';\n\n/* ------------------------------------------------------------------ */\n/* In-flight budget */\n/* ------------------------------------------------------------------ */\n\nconst runQueue = () => {\n\twhile (inFlight < MAX_IN_FLIGHT) {\n\t\tconst next = queue.shift();\n\t\tif (!next) return;\n\t\tif (next.cancelled) continue;\n\t\tnext.start();\n\t}\n};\n\nconst finishTask = () => {\n\tinFlight = Math.max(0, inFlight - 1);\n\trunQueue();\n};\n\n/** Run `task` when one of the `MAX_IN_FLIGHT` slots frees up. The\n * returned promise never rejects — network failures resolve to a\n * status-0 response so consumers can treat \"no prefetch\" uniformly. */\nconst runWhenReleased = async (\n\tgate: Promise<void>,\n\ttask: (signal: AbortSignal) => Promise<Response>,\n\tsignal: AbortSignal\n) => {\n\tawait gate;\n\ttry {\n\t\treturn await task(signal);\n\t} catch {\n\t\treturn offlineResponse();\n\t} finally {\n\t\tfinishTask();\n\t}\n};\n\nconst enqueue = (task: (signal: AbortSignal) => Promise<Response>) => {\n\tconst controller = new AbortController();\n\tlet release: () => void = () => undefined;\n\tconst gate = new Promise<void>((resolve) => {\n\t\trelease = resolve;\n\t});\n\tconst queued: QueuedTask = {\n\t\tcancelled: false,\n\t\tstart: () => {\n\t\t\t// Count the slot synchronously so `runQueue` can't overshoot the\n\t\t\t// budget while the async runner is still waiting on the gate.\n\t\t\tinFlight += 1;\n\t\t\trelease();\n\t\t}\n\t};\n\tconst promise = runWhenReleased(gate, task, controller.signal);\n\tqueue.push(queued);\n\trunQueue();\n\n\tconst abort = () => {\n\t\tif (queued.cancelled) return;\n\t\tqueued.cancelled = true;\n\t\tcontroller.abort();\n\t};\n\n\treturn { abort, promise };\n};\n\n/* ------------------------------------------------------------------ */\n/* Cache */\n/* ------------------------------------------------------------------ */\n\nconst evictOldest = () => {\n\tconst oldest = cache.keys().next();\n\tif (oldest.done) return;\n\tcache.get(oldest.value)?.abort();\n\tcache.delete(oldest.value);\n};\n\nconst touch = (key: string, entry: CacheEntry) => {\n\t// Re-insert so Map iteration order doubles as LRU recency.\n\tcache.delete(key);\n\tcache.set(key, entry);\n};\n\nexport const clearPrefetchCache = () => {\n\tfor (const entry of cache.values()) entry.abort();\n\tcache.clear();\n};\n\n/** Take the prefetched response for `url` out of the cache. Returns\n * `undefined` when nothing was prefetched (or it was evicted). Callers\n * that fetch the same URL themselves can await this instead. */\nexport const consumePrefetch = (\n\turl: string,\n\tkind: PrefetchKind = 'document'\n) => {\n\tconst key = cacheKey(kind, url);\n\tconst entry = cache.get(key);\n\tif (!entry) return undefined;\n\tcache.delete(key);\n\n\treturn entry.promise;\n};\n\n/** Whether `url` is already prefetched (in flight, queued or settled). */\nexport const hasPrefetched = (url: string, kind: PrefetchKind = 'document') =>\n\tcache.has(cacheKey(kind, url));\n\n/* ------------------------------------------------------------------ */\n/* Kinds */\n/* ------------------------------------------------------------------ */\n\nconst injectLink = (rel: string, href: string, asType?: string) => {\n\tif (typeof document === 'undefined') return;\n\tconst link = document.createElement('link');\n\tlink.rel = rel;\n\tlink.href = href;\n\tif (asType) link.setAttribute('as', asType);\n\tdocument.head.append(link);\n};\n\n/** Without `fetch` (very old engines) fall back to a `<link rel=\"prefetch\">`\n * for documents; other kinds have no declarative equivalent. */\nconst injectPrefetchFallback = (kind: PrefetchKind, url: string) => {\n\tif (kind !== 'document' || !supportsLinkRel('prefetch')) return;\n\tinjectLink('prefetch', url, 'document');\n};\n\nconst supportsLinkRel = (rel: string) => {\n\tif (typeof document === 'undefined') return false;\n\tconst link = document.createElement('link');\n\n\treturn (\n\t\ttypeof link.relList?.supports === 'function' &&\n\t\tlink.relList.supports(rel)\n\t);\n};\n\n/** Inject `<link rel=\"prefetch\" as=\"style\">` once per resolved href, so\n * the target page's stylesheets are in the HTTP cache before the click.\n * `prefetch` rather than `preload`: the sheet is for the NEXT document,\n * so preloading it would warn about an unused preload on this one. */\nexport const prefetchStylesheet = (href: string) => {\n\tif (typeof document === 'undefined') return false;\n\tconst resolved = resolveHref(href);\n\tif (prefetchedStyles.has(resolved)) return false;\n\tprefetchedStyles.add(resolved);\n\t// No `relList.supports` gate: a browser that doesn't know `prefetch`\n\t// simply ignores the tag, and there is no fallback worth branching to.\n\tinjectLink('prefetch', href, 'style');\n\n\treturn true;\n};\n\n/** Inject `<link rel=\"modulepreload\">` once per resolved href. Returns\n * `true` when a new tag was added. */\nexport const preloadModule = (href: string) => {\n\tif (typeof document === 'undefined') return false;\n\tconst resolved = resolveHref(href);\n\tif (preloadedModules.has(resolved)) return false;\n\n\tconst existing = Array.from(\n\t\tdocument.querySelectorAll<HTMLLinkElement>('link[rel=\"modulepreload\"]')\n\t);\n\tif (existing.some((link) => resolveHref(link.href) === resolved)) {\n\t\tpreloadedModules.add(resolved);\n\n\t\treturn false;\n\t}\n\n\tpreloadedModules.add(resolved);\n\tinjectLink('modulepreload', href);\n\n\treturn true;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isHref = (value: unknown): value is string =>\n\ttypeof value === 'string' && value.length > 0;\n\n/** Warm what a route-data envelope points at: `modulepreload` for the\n * page's client entry (and a separate client module when it has one),\n * `<link rel=\"prefetch\">` for its stylesheets. Anything unexpected in\n * the payload is ignored — a prefetch must never break a page. */\nconst warmRouteDataAssets = (envelope: unknown) => {\n\tif (!isRecord(envelope)) return;\n\tconst { assets } = envelope;\n\tif (!isRecord(assets)) return;\n\tconst { client, css, index } = assets;\n\tfor (const href of [index, client].filter(isHref)) preloadModule(href);\n\tif (!Array.isArray(css)) return;\n\tfor (const href of css.filter(isHref)) prefetchStylesheet(href);\n};\n\n/** Read the envelope out of a clone so the cached response body is still\n * unconsumed for whoever calls `consumePrefetch`. */\nconst warmFromRouteData = async (response: Response) => {\n\ttry {\n\t\twarmRouteDataAssets(await response.clone().json());\n\t} catch {\n\t\t/* malformed payload — the document prefetch still stands */\n\t}\n\n\treturn response;\n};\n\nconst fetchDocument = (url: string, signal: AbortSignal) =>\n\tfetch(url, { credentials: 'same-origin', signal });\n\nconst fetchRouteData = async (url: string, signal: AbortSignal) => {\n\tconst response = await fetch(url, {\n\t\tcredentials: 'same-origin',\n\t\theaders: { Accept: ROUTE_DATA_MEDIA_TYPE },\n\t\tsignal\n\t});\n\tconst contentType = response.headers.get('content-type') ?? '';\n\tconst isRouteData =\n\t\tresponse.ok && contentType.includes(ROUTE_DATA_MEDIA_TYPE);\n\tif (isRouteData) return warmFromRouteData(response);\n\n\t// The server doesn't speak route data (yet) — 404 / 406 / HTML fallback.\n\t// Remember that as \"no data\" so the URL isn't asked again, and drain\n\t// the body so the connection can be reused.\n\tawait response.body?.cancel().catch(() => undefined);\n\tconst status =\n\t\tresponse.status === NOT_FOUND || response.status === NOT_ACCEPTABLE\n\t\t\t? response.status\n\t\t\t: NOT_ACCEPTABLE;\n\n\treturn new Response(null, { status });\n};\n\n/**\n * Prefetch `url`. No-op when the user signalled data-saver / reduced-data\n * / 2g, when the page opted out, or when the URL is already cached. At\n * most two prefetches are in flight at once; the rest queue in order.\n */\nexport const prefetch = (url: string, options: PrefetchOptions = {}) => {\n\tconst kind = options.kind ?? 'document';\n\tif (!canPrefetch()) return;\n\n\tif (kind === 'module') {\n\t\tpreloadModule(url);\n\n\t\treturn;\n\t}\n\n\t// `'route'` is document + data: the HTML for the navigation itself and\n\t// the payload that names the modules and CSS to warm alongside it.\n\tif (kind === 'route') {\n\t\tprefetch(url, { kind: 'document' });\n\t\tprefetch(url, { kind: 'data' });\n\n\t\treturn;\n\t}\n\n\tconst key = cacheKey(kind, url);\n\tconst existing = cache.get(key);\n\tif (existing) {\n\t\ttouch(key, existing);\n\n\t\treturn;\n\t}\n\n\tif (typeof fetch === 'undefined') {\n\t\tinjectPrefetchFallback(kind, url);\n\n\t\treturn;\n\t}\n\n\twhile (cache.size >= PREFETCH_CACHE_LIMIT) evictOldest();\n\n\tconst { abort, promise } = enqueue((signal) =>\n\t\tkind === 'data'\n\t\t\t? fetchRouteData(url, signal)\n\t\t\t: fetchDocument(url, signal)\n\t);\n\tcache.set(key, { abort, kind, promise, url });\n};\n\n/* ------------------------------------------------------------------ */\n/* Speculation rules */\n/* ------------------------------------------------------------------ */\n\nconst supportsSpeculationRules = () =>\n\ttypeof HTMLScriptElement !== 'undefined' &&\n\ttypeof HTMLScriptElement.supports === 'function' &&\n\tHTMLScriptElement.supports('speculationrules');\n\n/**\n * Ask the browser to prerender `url` right away via a speculation-rules\n * script. Deduped per URL and capped to two live rules — the oldest is\n * removed when a third arrives, so a hover trail can't pile up hidden\n * prerendered tabs. Silently no-ops where the API is unsupported.\n */\nexport const speculate = (url: string) => {\n\tif (!canPrefetch() || !supportsSpeculationRules()) return false;\n\tif (typeof document === 'undefined') return false;\n\n\tconst resolved = resolveHref(url);\n\tif (liveSpeculationRules.has(resolved)) return false;\n\n\twhile (liveSpeculationRules.size >= MAX_LIVE_SPECULATION_RULES) {\n\t\tconst oldest = liveSpeculationRules.keys().next();\n\t\tif (oldest.done) break;\n\t\tliveSpeculationRules.get(oldest.value)?.remove();\n\t\tliveSpeculationRules.delete(oldest.value);\n\t}\n\n\tconst script = applyPageNonce(document.createElement('script'));\n\tscript.type = 'speculationrules';\n\tscript.textContent = JSON.stringify({\n\t\tprerender: [{ eagerness: 'immediate', urls: [url] }]\n\t});\n\tdocument.head.append(script);\n\tliveSpeculationRules.set(resolved, script);\n\n\treturn true;\n};\n\n/* ------------------------------------------------------------------ */\n/* Triggers */\n/* ------------------------------------------------------------------ */\n\nconst noopHandle: HoverPrefetchHandle = {\n\tcancel: () => {\n\t\t/* nothing scheduled */\n\t}\n};\n\n/**\n * Wrap a prefetch trigger in a hover-debounce so glancing across many links\n * doesn't fire a fetch storm. The returned handle's `cancel()` aborts the\n * pending hover prefetch (e.g. on `pointerleave`).\n *\n * Defaults to `kind: 'route'` — a hover is deliberate enough to be worth\n * the document AND the route data (and the modules + CSS that payload\n * names). Viewport prefetching stays document-only.\n */\nexport const scheduleHoverPrefetch = (\n\turl: string,\n\toptions: HoverPrefetchOptions = {}\n): HoverPrefetchHandle => {\n\tif (typeof window === 'undefined') return noopHandle;\n\n\tconst timer = window.setTimeout(() => {\n\t\tprefetch(url, { kind: options.kind ?? 'route' });\n\t\tif (options.prerender) speculate(url);\n\t\toptions.onPrefetch?.();\n\t}, HOVER_DEBOUNCE_MS);\n\n\treturn {\n\t\tcancel: () => window.clearTimeout(timer)\n\t};\n};\n\ntype ViewportTarget = {\n\toptions: ViewportPrefetchOptions;\n\turl: string;\n};\n\nconst viewportTargets = new WeakMap<Element, ViewportTarget>();\nlet viewportObserver: IntersectionObserver | null = null;\n\nconst handleIntersections = (entries: IntersectionObserverEntry[]) => {\n\tfor (const entry of entries) {\n\t\tif (!entry.isIntersecting) continue;\n\t\tconst target = viewportTargets.get(entry.target);\n\t\tviewportObserver?.unobserve(entry.target);\n\t\tviewportTargets.delete(entry.target);\n\t\tif (!target) continue;\n\t\tprefetch(target.url, { kind: target.options.kind });\n\t\ttarget.options.onVisible?.();\n\t}\n};\n\nconst getViewportObserver = () => {\n\tif (viewportObserver) return viewportObserver;\n\tif (typeof IntersectionObserver === 'undefined') return null;\n\tviewportObserver = new IntersectionObserver(handleIntersections, {\n\t\trootMargin: VIEWPORT_ROOT_MARGIN\n\t});\n\n\treturn viewportObserver;\n};\n\n/**\n * Prefetch `url` once `element` scrolls within 128px of the viewport. One\n * IntersectionObserver is shared by every link on the page. Returns an\n * unobserve function for the caller's unmount hook.\n */\nexport const observeViewport = (\n\telement: Element,\n\turl: string,\n\toptions: ViewportPrefetchOptions = {}\n) => {\n\tconst observer = getViewportObserver();\n\tif (!observer || !canPrefetch()) return () => undefined;\n\n\tviewportTargets.set(element, { options, url });\n\tobserver.observe(element);\n\n\treturn () => {\n\t\tobserver.unobserve(element);\n\t\tviewportTargets.delete(element);\n\t};\n};\n\n/** Test / teardown helper — forgets injected modulepreload + speculation\n * rule bookkeeping and cancels any queued fetches. */\nexport const resetPrefetchState = () => {\n\tclearPrefetchCache();\n\tqueue.length = 0;\n\tpreloadedModules.clear();\n\tprefetchedStyles.clear();\n\tfor (const script of liveSpeculationRules.values()) script.remove();\n\tliveSpeculationRules.clear();\n\tviewportObserver?.disconnect();\n\tviewportObserver = null;\n};\n",
|
|
22
23
|
"import { useCallback, useEffect, useRef } from 'react';\nimport type {\n\tHoverPrefetchHandle,\n\tPrefetchKind,\n\tPrefetchMode\n} from '../../../types/prefetch';\nimport {\n\tisPrefetchableHref,\n\tobserveViewport,\n\tprefetch,\n\tresolveDefaultPrefetchMode,\n\tscheduleHoverPrefetch,\n\tspeculate\n} from '../../client/prefetch';\n\nexport type UsePrefetchOptions = {\n\t/** `'viewport'` (production default), `'hover'` (development default)\n\t * or `'none'`. */\n\tmode?: PrefetchMode;\n\t/** What to warm. Defaults to `'document'` for the viewport trigger and\n\t * `'route'` (document + route data + the modules / CSS it names) for\n\t * hover and pointerdown. */\n\tkind?: PrefetchKind;\n\t/** Also inject a prerender speculation rule when the hover /\n\t * pointerdown trigger fires. */\n\tprerender?: boolean;\n};\n\n/**\n * Prefetch `href` when the returned handlers fire. Spread the handlers on\n * any element and attach `ref` to it for viewport-triggered prefetching:\n *\n * const { ref, ...prefetchHandlers } = usePrefetch('/pricing');\n * <a href=\"/pricing\" ref={ref} {...prefetchHandlers}>Pricing</a>\n *\n * Cross-origin, hash-only and empty hrefs are ignored, as is everything\n * when the user has data-saver on or the page set\n * `window.__ABSOLUTE_PREFETCH__ = false`.\n */\nexport const usePrefetch = <TElement extends HTMLElement = HTMLElement>(\n\thref: string | undefined,\n\toptions: UsePrefetchOptions = {}\n) => {\n\tconst { kind, mode, prerender = false } = options;\n\tconst viewportKind = kind ?? 'document';\n\tconst triggerKind = kind ?? 'route';\n\tconst elementRef = useRef<TElement | null>(null);\n\tconst hoverHandle = useRef<HoverPrefetchHandle | null>(null);\n\n\tconst cancelHover = useCallback(() => {\n\t\thoverHandle.current?.cancel();\n\t\thoverHandle.current = null;\n\t}, []);\n\n\tconst isActive = useCallback(() => {\n\t\tif (href === undefined || !isPrefetchableHref(href)) return false;\n\t\tconst resolved = mode ?? resolveDefaultPrefetchMode();\n\n\t\treturn resolved !== 'none';\n\t}, [href, mode]);\n\n\tuseEffect(() => {\n\t\tconst element = elementRef.current;\n\t\tif (!element || href === undefined || !isActive()) return undefined;\n\t\tconst resolved = mode ?? resolveDefaultPrefetchMode();\n\t\tif (resolved !== 'viewport') return undefined;\n\n\t\treturn observeViewport(element, href, { kind: viewportKind });\n\t}, [href, isActive, mode, viewportKind]);\n\n\tuseEffect(() => cancelHover, [cancelHover]);\n\n\tconst onPointerEnter = useCallback(() => {\n\t\tif (href === undefined || !isActive()) return;\n\t\tcancelHover();\n\t\thoverHandle.current = scheduleHoverPrefetch(href, {\n\t\t\tkind: triggerKind,\n\t\t\tprerender\n\t\t});\n\t}, [cancelHover, href, isActive, prerender, triggerKind]);\n\n\tconst onPointerDown = useCallback(() => {\n\t\tif (href === undefined || !isActive()) return;\n\t\tcancelHover();\n\t\tprefetch(href, { kind: triggerKind });\n\t\tif (prerender) speculate(href);\n\t}, [cancelHover, href, isActive, prerender, triggerKind]);\n\n\treturn {\n\t\tonBlur: cancelHover,\n\t\tonFocus: onPointerEnter,\n\t\tonPointerDown,\n\t\tonPointerEnter,\n\t\tonPointerLeave: cancelHover,\n\t\tref: elementRef\n\t};\n};\n",
|
|
23
24
|
"import { createContext } from 'react';\n\nexport type NavigateOptions = {\n\treplace?: boolean;\n};\n\n/** Client-side navigation bridge published by `<UniversalRouter>` so a\n * `<Link>` rendered inside an SPA shell can push history through\n * react-router instead of triggering a full document load.\n *\n * Lives in its own module with no `react-router` import: `<Link>` reads\n * the context and stays usable (as a prefetching `<a>`) in MPA projects\n * that never install react-router. Only `UniversalRouter` — already on\n * the `react/router` subpath that owns the react-router dependency —\n * provides a value. */\nexport type RouterNavigation = {\n\t/** `true` / `false` when the shell's `<Route>` tree could be inspected\n\t * and `href` does / doesn't match one of its routes; `null` when the\n\t * routes are opaque (rendered by a component, not inline JSX) and the\n\t * shell should be trusted to handle the path. */\n\tmatches: (href: string) => boolean | null;\n\tnavigate: (href: string, options?: NavigateOptions) => void;\n};\n\nexport const RouterNavigationContext = createContext<RouterNavigation | null>(\n\tnull\n);\n"
|
|
24
25
|
],
|
|
25
|
-
"mappings": "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",
|
|
26
|
-
"debugId": "
|
|
26
|
+
"mappings": "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",
|
|
27
|
+
"debugId": "34234EAA9716CF6B64756E2164756E21",
|
|
27
28
|
"names": []
|
|
28
29
|
}
|
|
@@ -587,10 +587,25 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
|
|
|
587
587
|
getWarningController()?.maybeWarn(primitiveName);
|
|
588
588
|
};
|
|
589
589
|
|
|
590
|
+
// src/react/serverComponents/nodeRendererRef.ts
|
|
591
|
+
var STORAGE_KEY = Symbol.for("absolutejs.reactServerNodeRendererStorage");
|
|
592
|
+
var isRendererStorage = (value) => typeof value === "object" && value !== null && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
|
|
593
|
+
var isRenderer = (value) => typeof value === "function";
|
|
594
|
+
var readStorage = () => {
|
|
595
|
+
const storage = Reflect.get(globalThis, STORAGE_KEY);
|
|
596
|
+
return isRendererStorage(storage) ? storage : undefined;
|
|
597
|
+
};
|
|
598
|
+
var getReactServerNodeRenderer = () => {
|
|
599
|
+
const store = readStorage()?.getStore();
|
|
600
|
+
return isRenderer(store) ? store : undefined;
|
|
601
|
+
};
|
|
602
|
+
|
|
590
603
|
// src/react/components/SuspenseSlot.tsx
|
|
591
604
|
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
592
605
|
var isLegacyProps = (props) => ("fallbackHtml" in props) || ("errorHtml" in props);
|
|
593
|
-
var renderReactNodeToHtml = async (node) => {
|
|
606
|
+
var renderReactNodeToHtml = async (node, serverNodeRenderer) => {
|
|
607
|
+
if (serverNodeRenderer)
|
|
608
|
+
return serverNodeRenderer(node);
|
|
594
609
|
const { Fragment } = await import("react");
|
|
595
610
|
const { renderToReadableStream } = await import("react-dom/server");
|
|
596
611
|
const stream = await renderToReadableStream(/* @__PURE__ */ jsx4(Fragment, {
|
|
@@ -618,12 +633,12 @@ async function resolveNodeSuspenseValue(props) {
|
|
|
618
633
|
}
|
|
619
634
|
return;
|
|
620
635
|
}
|
|
621
|
-
var renderErrorFallback = async (props, error) => {
|
|
636
|
+
var renderErrorFallback = async (props, error, serverNodeRenderer) => {
|
|
622
637
|
if (typeof props.errorFallback === "function") {
|
|
623
|
-
return renderReactNodeToHtml(props.errorFallback(error));
|
|
638
|
+
return renderReactNodeToHtml(props.errorFallback(error), serverNodeRenderer);
|
|
624
639
|
}
|
|
625
640
|
if (props.errorFallback !== undefined) {
|
|
626
|
-
return renderReactNodeToHtml(props.errorFallback);
|
|
641
|
+
return renderReactNodeToHtml(props.errorFallback, serverNodeRenderer);
|
|
627
642
|
}
|
|
628
643
|
throw error;
|
|
629
644
|
};
|
|
@@ -638,6 +653,7 @@ var registerLegacySuspenseSlot = (props) => {
|
|
|
638
653
|
});
|
|
639
654
|
};
|
|
640
655
|
var registerFrameworkSuspenseSlot = (props) => {
|
|
656
|
+
const serverNodeRenderer = getReactServerNodeRenderer();
|
|
641
657
|
registerStreamingSlot({
|
|
642
658
|
dynamic: props.dynamic,
|
|
643
659
|
id: props.id,
|
|
@@ -645,9 +661,9 @@ var registerFrameworkSuspenseSlot = (props) => {
|
|
|
645
661
|
resolve: async () => {
|
|
646
662
|
try {
|
|
647
663
|
const content = hasRenderChildren(props) ? props.children(await resolveRenderSuspenseValue(props)) : props.children ?? await resolveNodeSuspenseValue(props) ?? null;
|
|
648
|
-
return renderReactNodeToHtml(content);
|
|
664
|
+
return renderReactNodeToHtml(content, serverNodeRenderer);
|
|
649
665
|
} catch (error) {
|
|
650
|
-
return renderErrorFallback(props, error);
|
|
666
|
+
return renderErrorFallback(props, error, serverNodeRenderer);
|
|
651
667
|
}
|
|
652
668
|
}
|
|
653
669
|
});
|