@absolutejs/absolute 0.20.0-beta.179 → 0.20.0-beta.180
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 +23 -0
- package/changelog.json +45 -0
- package/dist/angular/browser.js +2 -2
- package/dist/angular/browser.js.map +3 -3
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +21 -6
- package/dist/angular/index.js.map +6 -6
- package/dist/angular/server.js +21 -6
- package/dist/angular/server.js.map +6 -6
- package/dist/build.js +5357 -4945
- package/dist/build.js.map +27 -24
- package/dist/cli/build-fntmf42w.js +495 -0
- package/dist/cli/{buildDepVendor-qvsh6dsj.js → buildDepVendor-qnwfct22.js} +5 -3
- package/dist/cli/buildReactServerComponents-fq6mw10d.js +13 -0
- package/dist/cli/{compile-p5yv6ecp.js → compile-54rb8szn.js} +94 -125
- package/dist/cli/config/server.js +10 -5
- package/dist/cli/{dev-2hbcsvkp.js → dev-6s6g5tnk.js} +13 -14
- package/dist/cli/{expoProject-1qtw97js.js → expoProject-acgfaj3f.js} +2 -1
- package/dist/cli/generatedDir-239r7csr.js +9 -0
- package/dist/cli/{index-cksezef8.js → index-0gd30trc.js} +105 -851
- package/dist/cli/index-2wvysvjc.js +40 -0
- package/dist/cli/index-42xjh6gg.js +282 -0
- package/dist/cli/{index-qw98g1p6.js → index-47e8fwha.js} +4 -1
- package/dist/cli/index-65kqn88a.js +8 -0
- package/dist/cli/{index-2bxfhs32.js → index-6f448d7m.js} +0 -26
- package/dist/cli/index-972xxwgj.js +16 -0
- package/dist/cli/index-aqe25w4h.js +39 -0
- package/dist/cli/index-assqancr.js +51 -0
- package/dist/cli/{index-2shf4aya.js → index-c8rcfe5a.js} +4 -6
- package/dist/cli/index-cba1cemz.js +8 -0
- package/dist/cli/{index-3ff5ztt3.js → index-djkrb7pc.js} +1 -7
- package/dist/cli/index-dkfwkpc8.js +138 -0
- package/dist/cli/{index-92g14j47.js → index-dw44xa4x.js} +2 -1
- package/dist/cli/index-evsnq0n2.js +17 -0
- package/dist/cli/index-fxwf3n2v.js +224 -0
- package/dist/cli/{index-zyd80s3h.js → index-js2hksgv.js} +21 -295
- package/dist/cli/{index-bp60baze.js → index-jyap0bhv.js} +1 -1
- package/dist/cli/{index-9dzdbbfc.js → index-kx2d067c.js} +8 -6
- package/dist/cli/index-pb31zan6.js +9 -0
- package/dist/cli/index-sq0478b0.js +281 -0
- package/dist/cli/index-va274tsf.js +7 -0
- package/dist/cli/{index-yd672jyq.js → index-w6xsk8cv.js} +4 -1
- package/dist/cli/index-w79snsxv.js +461 -0
- package/dist/cli/index-x1vvn549.js +835 -0
- package/dist/cli/index-xf9sfr8a.js +243 -0
- package/dist/cli/index-ycqdxy55.js +754 -0
- package/dist/cli/index-z74cqxz0.js +131 -0
- package/dist/cli/index.js +10 -9
- package/dist/cli/{islands-6zgb7501.js → islands-17tfx8jf.js} +6 -17
- package/dist/cli/{ls-0hfx323m.js → ls-0wr74w0b.js} +10 -58
- package/dist/cli/{mobile-93vaawcz.js → mobile-hpqpy61f.js} +11 -8
- package/dist/cli/{prerender-010z771p.js → prerender-w65xp6h8.js} +2 -1
- package/dist/cli/{rewriteImports-z6629aww.js → rewriteImports-np2d2kvc.js} +4 -11
- package/dist/cli/rewriteImportsPlugin-c6hcb3x6.js +12 -0
- package/dist/cli/{start-asxb79rc.js → start-mbn2zgs2.js} +6 -4
- package/dist/cli/staticAnalyzeSpaRoutes-2nev05m1.js +8 -0
- package/dist/cli/staticAnalyzeSpaRoutes-6vgzp0rs.js +8 -0
- package/dist/cli/staticAnalyzeSpaRoutes-f85q9dqk.js +8 -0
- package/dist/cli/staticAnalyzeSpaRoutes-yakmg22g.js +7 -0
- package/dist/cli/{typecheck-m2j4tkdk.js → typecheck-488txsfc.js} +92 -18
- package/dist/cli/vueCompiler-8bzdmf08.js +7 -0
- package/dist/client/chunks/{react-khr6ewhr.js → react-g8r290b8.js} +37 -2
- package/dist/client/chunks/react-g8r290b8.js.map +10 -0
- package/dist/client/chunks/vue-zcpmka32.js +85 -0
- package/dist/client/chunks/vue-zcpmka32.js.map +10 -0
- package/dist/client/index.js +58 -10
- package/dist/client/index.js.map +4 -4
- package/dist/dev/client/handlers/vue.ts +116 -0
- package/dist/index.js +2472 -2058
- package/dist/index.js.map +26 -23
- package/dist/islands/browser.js +2 -2
- package/dist/islands/browser.js.map +3 -3
- package/dist/islands/index.js +2 -2
- package/dist/islands/index.js.map +3 -3
- package/dist/react/browser.js +2 -2
- package/dist/react/browser.js.map +3 -3
- package/dist/react/index.js +42 -11
- package/dist/react/index.js.map +10 -10
- package/dist/react/server.js +42 -11
- package/dist/react/server.js.map +10 -10
- package/dist/src/angular/ssrRender.d.ts +2 -2
- package/dist/src/angular/staticAnalyzeSpaRoutes.d.ts +6 -1
- package/dist/src/build/generateManifest.d.ts +15 -0
- package/dist/src/build/manifestKeys.d.ts +22 -0
- package/dist/src/cli/add/dependencies.d.ts +1 -1
- package/dist/src/cli/scripts/typecheck.d.ts +11 -0
- package/dist/src/client/hydrators/react.d.ts +10 -0
- package/dist/src/client/hydrators/vue.d.ts +13 -0
- package/dist/src/client/islandRuntime.d.ts +1 -1
- package/dist/src/core/islandManifest.d.ts +4 -0
- package/dist/src/core/islandPageContext.d.ts +8 -2
- package/dist/src/core/lookup.d.ts +16 -1
- package/dist/src/dev/importCost/instrument.d.ts +1 -1
- package/dist/src/dev/manifestKeysRefresher.d.ts +6 -0
- package/dist/src/dev/spaRouteRefresh.d.ts +13 -0
- package/dist/src/mobile/androidConformance.d.ts +1 -1
- package/dist/src/react/staticAnalyzeSpaRoutes.d.ts +6 -1
- package/dist/src/svelte/staticAnalyzeSpaRoutes.d.ts +1 -0
- package/dist/src/utils/logger.d.ts +5 -0
- package/dist/src/utils/spaRouteManifest.d.ts +1 -0
- package/dist/src/vue/components/Image.d.ts +4 -4
- package/dist/src/vue/components/StreamSlot.d.ts +1 -1
- package/dist/src/vue/components/SuspenseSlot.d.ts +2 -2
- package/dist/src/vue/staticAnalyzeSpaRoutes.d.ts +4 -0
- package/dist/svelte/browser.js +2 -2
- package/dist/svelte/browser.js.map +3 -3
- package/dist/svelte/index.js +25 -9
- package/dist/svelte/index.js.map +8 -8
- package/dist/svelte/server.js +25 -9
- package/dist/svelte/server.js.map +8 -8
- package/dist/types/globals.d.ts +4 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/island.d.ts +1 -1
- package/dist/types/manifest.d.ts +25 -0
- package/dist/vue/browser.js +2 -2
- package/dist/vue/browser.js.map +3 -3
- package/dist/vue/index.js +21 -6
- package/dist/vue/index.js.map +6 -6
- package/dist/vue/server.js +21 -6
- package/dist/vue/server.js.map +6 -6
- package/package.json +1 -1
- package/dist/client/chunks/react-khr6ewhr.js.map +0 -10
- package/dist/client/chunks/vue-db6ppn1f.js +0 -32
- package/dist/client/chunks/vue-db6ppn1f.js.map +0 -10
package/dist/react/index.js.map
CHANGED
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
"export const ANGULAR_INIT_TIMEOUT_MS = 500;\nexport const ANSI_ESCAPE_CODE = 27;\nexport const ANSI_ESCAPE_LENGTH = 3;\nexport const ASCII_SPACE = 32;\nexport const BASE_36_RADIX = 36;\nexport const BUN_BUILD_WARNING_SUPPRESSION =\n\t'wildcard sideEffects are not supported yet';\n/* Tailwind v4 at-rules that Bun's native CSS parser doesn't recognize.\n When a user imports their Tailwind entry CSS from a TS/TSX file, Bun's\n bundler walks it and warns about each unknown at-rule even though the\n actual Tailwind output is produced via the separate tailwindcss compile()\n pipeline (see compileTailwind.ts). The warnings are noise — suppress them. */\nexport const TAILWIND_BUN_CSS_WARNING_PATTERN =\n\t/invalid @ rule encountered: '@(theme|tailwind|source|utility|variant|custom-variant|apply|reference|plugin|config)'/;\nexport const BODY_SLICE_LENGTH = 2000;\nexport const BYTES_PER_KILOBYTE = 1024;\nexport const CLI_ARGS_OFFSET = 3;\nexport const CSS_ERROR_RESOLVE_DELAY_MS = 50;\nexport const CSS_MAX_CHECK_ATTEMPTS = 10;\nexport const CSS_MAX_PARSE_TIMEOUT_MS = 500;\nexport const CSS_RELOAD_BACKOFF_BASE_MS = 1000;\nexport const CSS_RELOAD_BACKOFF_MAX_MS = 60_000;\nexport const CSS_SHEET_READY_TIMEOUT_MS = 100;\nexport const DEFAULT_CHUNK_SIZE = 16_384;\nexport const DEFAULT_DEBOUNCE_MS = 15;\nexport const DEFAULT_PORT = 3000;\nexport const DEV_SERVER_RESTART_DEBOUNCE_MS = 100;\nexport const DOM_UPDATE_DELAY_MS = 50;\nexport const FILE_PROTOCOL_PREFIX_LENGTH = 7;\nexport const FOCUS_ID_PREFIX_LENGTH = 3;\nexport const FOCUS_IDX_PREFIX_LENGTH = 4;\nexport const FOCUS_NAME_PREFIX_LENGTH = 5;\nexport const ESLINT_STUDIO_DEFAULT_HOST = 'eslint.absolute.localhost';\nexport const ESLINT_STUDIO_DEFAULT_PORT = 4099;\nexport const CONFIG_DEFAULT_HOST = 'config.absolute.localhost';\nexport const CONFIG_DEFAULT_PORT = 4099;\nexport const HMR_UPDATE_TIMEOUT_MS = 2000;\nexport const HOOK_SIGNATURE_LENGTH = 12;\nexport const EXCLUDE_LAST_OFFSET = -1;\nexport const HTTP_STATUS_OK = 200;\nexport const HTTP_STATUS_BAD_REQUEST = 400;\nexport const HTTP_STATUS_NOT_FOUND = 404;\nexport const HTTP_STATUS_GONE = 410;\nexport const HTTP_STATUS_INTERNAL_SERVER_ERROR = 500;\nexport const HOURS_IN_DAY = 24;\nexport const HOURS_IN_HALF_DAY = 12;\nexport const IMAGE_DEFAULT_DEVICE_SIZES = [\n\t640, 750, 828, 1080, 1200, 1920, 2048, 3840\n];\nexport const IMAGE_DEFAULT_IMAGE_SIZES = [16, 32, 48, 64, 96, 128, 256, 384];\nexport const IMAGE_DEFAULT_QUALITY = 75;\nexport const IMAGE_GLOB_SUFFIX_LENGTH = 2;\nexport const INSTANCE_PROBE_TIMEOUT_MS = 250;\nexport const MAX_ERROR_LENGTH = 200;\nexport const MAX_RECONNECT_ATTEMPTS = 60;\nexport const MILLISECONDS_IN_A_SECOND = 1000;\nexport const MINUTES_IN_AN_HOUR = 60;\nexport const SECONDS_IN_A_MINUTE = 60;\nexport const MILLISECONDS_IN_A_MINUTE =\n\tMILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE;\nexport const MILLISECONDS_IN_A_DAY =\n\tMILLISECONDS_IN_A_SECOND *\n\tSECONDS_IN_A_MINUTE *\n\tMINUTES_IN_AN_HOUR *\n\tHOURS_IN_DAY;\nexport const OVERLAY_FADE_DURATION_MS = 150;\nexport const PING_INTERVAL_MS = 30_000;\nexport const LIST_LOG_TAIL_MAX_BYTES = 65_536;\nexport const LIST_TUI_COLUMN_GAP = 2;\nexport const LIST_TUI_DEFAULT_HEIGHT = 28;\nexport const LIST_TUI_DEFAULT_WIDTH = 100;\nexport const LIST_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30;\nexport const LIST_TUI_FOOTER_LINE_COUNT = 2;\nexport const LIST_TUI_MARKER_WIDTH = 2;\nexport const LIST_TUI_MIN_LOG_HEIGHT = 3;\nexport const LIST_TUI_MIN_URL_WIDTH = 16;\nexport const LIST_TUI_RENDER_DEBOUNCE_MS = 16;\nexport const LIST_TUI_STATUS_MESSAGE_TIMEOUT_MS = 4000;\nexport const LIST_WATCH_REFRESH_MS = 1000;\nexport const RAF_BATCH_COUNT = 3;\nexport const RANDOM_ID_END_INDEX = 11;\nexport const REBUILD_BATCH_DELAY_MS = 10;\nexport const REBUILD_RELOAD_DELAY_MS = 200;\nexport const RECONNECT_INITIAL_DELAY_MS = 500;\nexport const RECONNECT_POLL_INTERVAL_MS = 300;\nexport const REACT_STREAM_SLOT_FAST_DELAY_MS = 5;\nexport const REACT_STREAM_SLOT_SLOW_DELAY_MS = 20;\nexport const SIGINT_EXIT_CODE = 130;\nexport const SIGTERM_EXIT_CODE = 143;\nexport const SVELTE_CSS_LOAD_TIMEOUT_MS = 500;\nexport const TIME_PRECISION = 2;\nexport const TWO_THIRDS = 2 / 3;\nexport const UNFOUND_INDEX = -1;\nexport const WEBSOCKET_NORMAL_CLOSURE = 1000;\n// Default Bun WebSocket idleTimeout (seconds) applied to every absolute server.\n// Long-lived sockets (voice intake, referee, realtime sync) sit idle during\n// greeting playback or while a user listens silently — no client→server frames.\n// Without an explicit value the WS idleTimeout falls back to Elysia's small\n// top-level serve default (~30s, closing at ~60s), which kills these sessions\n// mid-call with INACTIVE_CLIENT. 240s outlasts any greeting or think-pause and\n// gives a briefly-suspended tab time to wake and reconnect. Paired with Bun's\n// `sendPings` (protocol-level keepalive the browser answers without JS, so a\n// throttled background tab still responds). Bun's hard ceiling is 960s.\nexport const DEFAULT_WEBSOCKET_IDLE_TIMEOUT_SECONDS = 240;\n// HTTP idleTimeout for Bun.serve. Bun's DEFAULT is a hostile 10s for a\n// framework meant to host streaming/AI workloads: a long-lived SSE response\n// (or any long poll) that stays silent past 10s — e.g. an agentic AI turn\n// waiting on the model's first token after a large tool result inflates the\n// prompt — gets its socket reaped with no error, and the client hangs. 240s\n// mirrors the WS default and outlasts realistic model think-pauses; Bun's\n// hard ceiling for HTTP idleTimeout is 255s. Override per-app with the\n// ABSOLUTE_IDLE_TIMEOUT env var (seconds; 0 disables the timeout entirely).\nexport const DEFAULT_HTTP_IDLE_TIMEOUT_SECONDS = 240;\nexport const MAX_HTTP_IDLE_TIMEOUT_SECONDS = 255;\nexport const WORKSPACE_COMMAND_ARGS_OFFSET = 3;\nexport const WORKSPACE_FAILURE_LOG_PRINT_LIMIT = 30;\nexport const WORKSPACE_FAILURE_RECENT_LOG_LIMIT = 60;\nexport const WORKSPACE_READY_ATTEMPT_TIMEOUT_MS = 5_000;\nexport const WORKSPACE_READY_PROBE_INTERVAL_MS = 250;\nexport const WORKSPACE_READY_TIMEOUT_MS = 30_000;\nexport const WORKSPACE_SHUTDOWN_TIMEOUT_MS = 10_000;\nexport const WORKSPACE_TUI_DEFAULT_HEIGHT = 28;\nexport const WORKSPACE_TUI_DEFAULT_WIDTH = 100;\nexport const WORKSPACE_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30;\nexport const WORKSPACE_TUI_FOOTER_LINE_COUNT = 3;\nexport const WORKSPACE_TUI_MIN_LOG_HEIGHT = 3;\nexport const WORKSPACE_TUI_MIN_SERVICE_NAME_WIDTH = 7;\nexport const WORKSPACE_TUI_MIN_TARGET_WIDTH = 8;\nexport const WORKSPACE_TUI_MIN_WRAP_WIDTH = 12;\nexport const WORKSPACE_TUI_PROMPT_CURSOR_OFFSET = 3;\nexport const WORKSPACE_TUI_RECENT_LOG_LIMIT = 40;\nexport const WORKSPACE_TUI_RENDER_DEBOUNCE_MS = 16;\nexport const WORKSPACE_TUI_STATUS_WIDTH = 10;\nexport const WORKSPACE_TUI_TARGET_PADDING_WIDTH = 6;\nexport const WORKSPACE_TUI_VISIBILITY_WIDTH = 8;\n",
|
|
9
9
|
"import {\n\tMILLISECONDS_IN_A_SECOND,\n\tTIME_PRECISION,\n\tMILLISECONDS_IN_A_MINUTE\n} from '../constants';\n\nexport const getDurationString = (duration: number) => {\n\tlet durationString;\n\n\tif (duration < MILLISECONDS_IN_A_SECOND) {\n\t\tdurationString = `${duration.toFixed(TIME_PRECISION)}ms`;\n\t} else if (duration < MILLISECONDS_IN_A_MINUTE) {\n\t\tdurationString = `${(duration / MILLISECONDS_IN_A_SECOND).toFixed(TIME_PRECISION)}s`;\n\t} else {\n\t\tconst totalSeconds = Math.round(duration / MILLISECONDS_IN_A_SECOND);\n\t\tconst minutes = Math.floor(totalSeconds / 60);\n\t\tconst seconds = totalSeconds % 60;\n\t\tdurationString =\n\t\t\tseconds === 0 ? `${minutes}m` : `${minutes}m ${seconds}s`;\n\t}\n\n\treturn durationString;\n};\n",
|
|
10
10
|
"import { HOURS_IN_HALF_DAY } from '../constants';\nimport { getDurationString } from './getDurationString';\n\nconst colors = {\n\tbold: '\\x1b[1m',\n\tcyan: '\\x1b[36m',\n\tdim: '\\x1b[2m',\n\tgreen: '\\x1b[32m',\n\treset: '\\x1b[0m'\n} as const;\n\nconst MONTHS = [\n\t'Jan',\n\t'Feb',\n\t'Mar',\n\t'Apr',\n\t'May',\n\t'Jun',\n\t'Jul',\n\t'Aug',\n\t'Sep',\n\t'Oct',\n\t'Nov',\n\t'Dec'\n] as const;\n\nexport const formatTimestamp = () => {\n\tconst now = new Date();\n\tconst month = MONTHS[now.getMonth()];\n\tconst day = now.getDate().toString().padStart(2, '0');\n\tlet hours = now.getHours();\n\tconst minutes = now.getMinutes().toString().padStart(2, '0');\n\tconst seconds = now.getSeconds().toString().padStart(2, '0');\n\tconst ampm = hours >= HOURS_IN_HALF_DAY ? 'PM' : 'AM';\n\thours = hours % HOURS_IN_HALF_DAY || HOURS_IN_HALF_DAY;\n\n\treturn `${month} ${day} ${hours}:${minutes}:${seconds} ${ampm}`;\n};\n\nexport const startupBanner = (options: {\n\tversion: string;\n\treadyDuration: number;\n\tbuildDuration?: number;\n\tport: string | number;\n\thost: string;\n\tnetworkUrl?: string;\n\tmobilePreviewUrl?: string;\n\tprotocol?: string;\n}) => {\n\tconst {\n\t\tversion,\n\t\treadyDuration,\n\t\tbuildDuration,\n\t\tport,\n\t\thost,\n\t\tnetworkUrl,\n\t\tmobilePreviewUrl,\n\t\tprotocol = 'http'\n\t} = options;\n\tconst name = `${colors.cyan}${colors.bold}ABSOLUTEJS${colors.reset}`;\n\tconst ver = `${colors.dim}v${version}${colors.reset}`;\n\tconst time = `${colors.dim}ready in${colors.reset} ${colors.bold}${getDurationString(readyDuration)}${colors.reset}`;\n\tconst build =\n\t\ttypeof buildDuration === 'number' && Number.isFinite(buildDuration)\n\t\t\t? ` ${colors.dim}(build ${getDurationString(buildDuration)})${colors.reset}`\n\t\t\t: '';\n\tconsole.log('');\n\tconsole.log(` ${name} ${ver} ${time}${build}`);\n\tconsole.log('');\n\tconsole.log(\n\t\t` ${colors.green}➜${colors.reset} ${colors.bold}Local:${colors.reset} ${protocol}://${host === '0.0.0.0' ? 'localhost' : host}:${port}/`\n\t);\n\tif (networkUrl) {\n\t\tconsole.log(\n\t\t\t` ${colors.green}➜${colors.reset} ${colors.bold}Network:${colors.reset} ${networkUrl}`\n\t\t);\n\t}\n\tif (mobilePreviewUrl) {\n\t\tconsole.log(\n\t\t\t` ${colors.green}➜${colors.reset} ${colors.bold}Mobile:${colors.reset} ${mobilePreviewUrl}`\n\t\t);\n\t}\n\tconsole.log('');\n};\n",
|
|
11
|
-
"/**\n * Centralized logger utility for AbsoluteJS\n * Provides formatted output with ANSI colors and timestamps\n */\n\nimport { isDevelopmentRuntime } from './runtimeMode';\nimport { formatTimestamp, startupBanner } from './startupBanner';\nimport type {\n\tHMRApplyKind,\n\tHMRApplyOutcome,\n\tHMRClientTarget\n} from '../../types/messages';\n\nexport { formatTimestamp };\n\n// ANSI color codes\nconst colors = {\n\tblue: '\\x1b[34m',\n\tbold: '\\x1b[1m',\n\t// Core colors\n\tcyan: '\\x1b[36m',\n\tdim: '\\x1b[2m',\n\tgreen: '\\x1b[32m',\n\tmagenta: '\\x1b[35m',\n\tred: '\\x1b[31m',\n\treset: '\\x1b[0m',\n\twhite: '\\x1b[37m',\n\tyellow: '\\x1b[33m'\n} as const;\n\n// Framework color mapping\nconst frameworkColors: Record<string, string> = {\n\tangular: colors.magenta,\n\tassets: colors.dim,\n\tcss: colors.cyan,\n\thtml: colors.white,\n\thtmx: colors.white,\n\treact: colors.blue,\n\tsvelte: colors.yellow,\n\tvue: colors.green\n};\n\n/**\n * The line prefix. `[hmr]` belongs to the dev server's log stream; a\n * production server or build has no HMR, so its warnings and errors (a\n * shadowed file route, a manifest problem) say `[absolutejs]` instead.\n */\nconst logTag = () => (isDevelopmentRuntime() ? '[hmr]' : '[absolutejs]');\n\n/**\n * Format a file path for display (relative, clean)\n */\nconst formatPath = (filePath: string) => {\n\tconst cwd = process.cwd();\n\tlet relative = filePath.startsWith(cwd)\n\t\t? filePath.slice(cwd.length + 1)\n\t\t: filePath;\n\t// Normalize slashes\n\trelative = relative.replace(/\\\\/g, '/');\n\t// Ensure it starts with /\n\tif (!relative.startsWith('/')) {\n\t\trelative = `/${relative}`;\n\t}\n\n\treturn relative;\n};\n\n/**\n * Get color for a framework\n */\nconst getFrameworkColor = (framework: string) =>\n\tframeworkColors[framework] || colors.white;\n\n/**\n * Core logging function\n */\nconst log = (\n\taction: string,\n\toptions?: {\n\t\tframework?: string;\n\t\tduration?: number;\n\t\tpath?: string;\n\t\tcolor?: string;\n\t}\n) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.cyan}${logTag()}${colors.reset}`;\n\n\tlet message = action;\n\n\t// Apply framework color to path if present\n\tif (options?.path) {\n\t\tconst pathColor = options.framework\n\t\t\t? getFrameworkColor(options.framework)\n\t\t\t: colors.white;\n\t\tmessage += ` ${pathColor}${formatPath(options.path)}${colors.reset}`;\n\t}\n\n\t// Add duration if present\n\tif (options?.duration !== undefined) {\n\t\tmessage += ` ${colors.dim}(${options.duration}ms)${colors.reset}`;\n\t}\n\n\tconsole.log(`${timestamp} ${tag} ${message}`);\n};\n\n/**\n * Startup banner\n */\nexport const logReady = startupBanner;\n\n/**\n * CSS update message\n * Format: \"10:30:45 AM [hmr] css update /styles/main.css (125ms)\"\n */\nexport const logCssUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('css update', { duration, framework: framework ?? 'css', path });\n};\n\n/**\n * Build error\n * Format: \"10:30:45 AM [hmr] error Build failed: ...\" (`[absolutejs]`\n * outside dev)\n */\nexport const logError = (message: string, error?: Error | string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.red}${logTag()}${colors.reset}`;\n\tconst errorMsg = error instanceof Error ? error.message : error;\n\tconst fullMessage = `${colors.red}error${colors.reset} ${message}${errorMsg ? `: ${errorMsg}` : ''}`;\n\tconsole.error(`${timestamp} ${tag} ${fullMessage}`);\n};\n\n/**\n * HMR update message\n * Format: \"10:30:45 AM [hmr] hmr update /pages/App.tsx\"\n */\nexport const logHmrClientUpdate = (\n\tpath: string,\n\tframework: string | undefined,\n\tduration: number,\n\ttarget: HMRClientTarget,\n\tserverMs?: number,\n\tclientMs?: number,\n\toutcome: HMRApplyOutcome = 'applied',\n\tkind?: HMRApplyKind\n) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst targetLabel = target.startsWith('capacitor-')\n\t\t? target.slice('capacitor-'.length)\n\t\t: target;\n\tconst tag = `${colors.cyan}[hmr:${targetLabel}]${colors.reset}`;\n\tconst pathColor = framework ? getFrameworkColor(framework) : colors.white;\n\tconst breakdown =\n\t\tserverMs === undefined || clientMs === undefined\n\t\t\t? ''\n\t\t\t: `; server ${serverMs}ms, client ${clientMs}ms`;\n\tlet action = 'failed after';\n\tif (outcome === 'applied') action = 'applied in';\n\telse if (outcome === 'reloaded') action = 'falling back to reload after';\n\tconst kindLabel = kind ? `${kind} ` : '';\n\tconsole.log(\n\t\t`${timestamp} ${tag} ${framework ?? 'update'} ${kindLabel}${pathColor}${formatPath(path)}${colors.reset} ${colors.dim}${action} ${duration}ms${breakdown}${colors.reset}`\n\t);\n};\n\nexport const logHmrUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('hmr update', { duration, framework, path });\n};\n\n/**\n * Generic info message\n */\nexport const logInfo = (message: string) => {\n\tlog(message);\n};\n\n/**\n * Dev on-demand page build (first request for a page bundles it)\n * Format: \"10:30:45 AM [hmr] page build vue/pages/Home.vue (1250ms)\"\n */\nexport const logPageBuild = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('page build', { duration, framework, path });\n};\n\n/**\n * Page reload message\n * Format: \"10:30:45 AM [hmr] page reload /src/App.tsx (125ms)\"\n */\nexport const logPageReload = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('page reload', { duration, framework, path });\n};\n\n/**\n * Script update message\n * Format: \"10:30:45 AM [hmr] script update /scripts/counter.ts (125ms)\"\n */\nexport const logScriptUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('script update', { duration, framework, path });\n};\n\n/**\n * Server module reloaded (Bun --hot triggered a server-side change)\n */\nexport const logServerReload = () => {\n\tlog(`${colors.cyan}server module reloaded${colors.reset}`);\n};\n\n/**\n * Warning message\n * Format: \"10:30:45 AM [hmr] warning ...\" (`[absolutejs]` outside dev)\n */\nexport const logWarn = (message: string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.yellow}${logTag()}${colors.reset}`;\n\tconsole.log(\n\t\t`${timestamp} ${tag} ${colors.yellow}warning ${message}${colors.reset}`\n\t);\n};\n",
|
|
12
|
-
"import type { IslandFramework } from '../../types/island';\n\n/** Manifest key the server injects as the islands bootstrap script on any\n * page with island markers. The build records the configured\n * `islands.bootstrap` (whatever its file name) or a generated default under\n * it — see build/islandBootstrap.ts. */\nexport const ISLAND_BOOTSTRAP_MANIFEST_KEY = 'AbsoluteIslandBootstrap';\n\n/** Key a bootstrap file named `bootstrapClient.*` gets naturally, which is\n * all the server used to look for. Still honored for manifests built\n * before the reserved key existed. */\nexport const LEGACY_ISLAND_BOOTSTRAP_MANIFEST_KEY = 'BootstrapClient';\n\nconst toIslandFrameworkSegment = (framework: IslandFramework) =>\n\tframework[0]?.toUpperCase() + framework.slice(1);\n\nconst collectFrameworkIslands = (\n\tmanifest: Record<string, string>,\n\tprefix: string\n) => {\n\tconst entries: Record<string, string> = {};\n\tlet found = false;\n\n\tfor (const [key, value] of Object.entries(manifest)) {\n\t\tif (!key.startsWith(prefix)) continue;\n\n\t\tconst component = key.slice(prefix.length);\n\t\tif (!component) continue;\n\n\t\tentries[component] = value;\n\t\tfound = true;\n\t}\n\n\treturn found ? entries : undefined;\n};\n\nexport const getIslandBootstrapPath = (manifest: Record<string, string>) =>\n\tmanifest[ISLAND_BOOTSTRAP_MANIFEST_KEY] ??\n\tmanifest[LEGACY_ISLAND_BOOTSTRAP_MANIFEST_KEY];\nexport const getIslandManifestEntries = (manifest: Record<string, string>) => {\n\tconst islands: Partial<Record<IslandFramework, Record<string, string>>> =\n\t\t{};\n\tconst frameworks: IslandFramework[] = ['react', 'svelte', 'vue', 'angular'];\n\n\tfor (const framework of frameworks) {\n\t\tconst prefix = `Island${toIslandFrameworkSegment(framework)}`;\n\t\tconst entries = collectFrameworkIslands(manifest, prefix);\n\t\tif (entries) islands[framework] = entries;\n\t}\n\n\treturn islands;\n};\nexport const getIslandManifestKey = (\n\tframework: IslandFramework,\n\tcomponent: string\n) => `Island${toIslandFrameworkSegment(framework)}${component}`;\n\nconst ISLAND_STYLE_PREFIX = 'IslandStyle';\n\n/** Every island stylesheet in the manifest, by manifest key. */\nexport const getIslandStyleManifestEntries = (\n\tmanifest: Record<string, string>\n) =>\n\tObject.entries(manifest).filter(([key]) =>\n\t\tkey.startsWith(ISLAND_STYLE_PREFIX)\n\t);\n\n/** Manifest key of the stylesheet the island client pass emits for an\n * island (its Svelte/Vue component styles and any CSS it imports). The\n * server links it from every page that renders the island. */\nexport const getIslandStyleManifestKey = (\n\tframework: IslandFramework,\n\tcomponent: string\n) => `${ISLAND_STYLE_PREFIX}${toIslandFrameworkSegment(framework)}${component}`;\n",
|
|
13
|
-
"import { escapeScriptContent } from '../utils/escapeScriptContent';\nimport { nonceAttr } from '../utils/cspNonceRef';\nimport { isProductionRuntime } from '../utils/runtimeMode';\nimport { logWarn } from '../utils/logger';\nimport {\n\tgetIslandBootstrapPath,\n\tgetIslandStyleManifestEntries,\n\tgetIslandStyleManifestKey\n} from './islandManifest';\nimport type { IslandFramework } from '../../types/island';\n\nconst ISLAND_MARKER = 'data-island=\"true\"';\nconst MANIFEST_MARKER = '__ABSOLUTE_MANIFEST__';\nconst ISLAND_STATE_MARKER = '__ABS_ISLAND_STATE__';\nconst CLOSING_HEAD_TAG = '</head>';\n\ndeclare global {\n\tvar __absoluteManifest: Record<string, string> | undefined;\n\tvar __ABS_ISLAND_STATE__:\n\t\tRecord<string, Record<string, unknown>> | undefined;\n}\n\nlet warnedMissingBootstrap = false;\n\n/* A page with island markers and no bootstrap in the manifest renders its\n * islands but never hydrates them. Say so once per process outside\n * production instead of failing silently. */\nconst warnIfBootstrapMissing = (manifest: Record<string, string>) => {\n\tif (warnedMissingBootstrap || getIslandBootstrapPath(manifest)) return;\n\tif (isProductionRuntime()) return;\n\twarnedMissingBootstrap = true;\n\tlogWarn(\n\t\t'A page contains islands, but the build manifest has no islands bootstrap, so they will render without hydrating. Set `islands.registry` in absolute.config.ts (a default bootstrap is generated from it) or point `islands.bootstrap` at a file that calls startIslands().'\n\t);\n};\n\n/** @internal Test hook: lets each test observe the one-time warning. */\nexport const resetIslandBootstrapWarning = () => {\n\twarnedMissingBootstrap = false;\n};\n\nconst MANIFEST_BUILD_DIR_KEY = Symbol.for('absolutejs.islandManifestBuildDir');\n\n/* One value per process: dist/index.js and each framework entry\n * (dist/react/index.js, dist/svelte/index.js, ...) carry their own copy of\n * this module, and a production server bundle can inline several of them.\n * prepare() sets the build directory through one copy while a page handler\n * injects the manifest through another, so the value lives on globalThis. */\nconst getManifestBuildDir = () => {\n\tconst value: unknown = Reflect.get(globalThis, MANIFEST_BUILD_DIR_KEY);\n\n\treturn typeof value === 'string' ? value : undefined;\n};\n\nconst WINDOWS_ABSOLUTE_PATH = /^[A-Za-z]:[\\\\/]|^\\\\\\\\/;\n\nconst withTrailingSlash = (path: string) =>\n\tpath.endsWith('/') ? path : `${path}/`;\n\nconst currentWorkingRoot = () => {\n\ttry {\n\t\treturn withTrailingSlash(process.cwd().replaceAll('\\\\', '/'));\n\t} catch {\n\t\treturn undefined;\n\t}\n};\n\n/* The build manifest also maps SSR pages and server bundles to absolute\n * paths on the server's disk (the server imports them from there). Those\n * entries mean nothing to a browser and would publish the server's file\n * layout in every page with islands, so only web paths are sent. Browser\n * entries are root-relative URLs such as `/react/pages/Foo.abc.js`; a value\n * is a server path when it is a Windows path or sits inside the build\n * directory or the project root. The project-root check keeps the filter\n * working even if the build directory was never recorded. */\nconst isServerFilePath = (value: string) => {\n\tif (WINDOWS_ABSOLUTE_PATH.test(value)) return true;\n\tconst buildDir = getManifestBuildDir();\n\tif (buildDir && value.startsWith(withTrailingSlash(buildDir))) return true;\n\tconst root = currentWorkingRoot();\n\tif (root && root !== '/' && value.startsWith(root)) return true;\n\n\treturn false;\n};\n\n/** The part of the build manifest a browser may see. */\nexport const toBrowserManifest = (manifest: Record<string, string>) => {\n\tconst browserManifest: Record<string, string> = {};\n\tfor (const [key, value] of Object.entries(manifest)) {\n\t\tif (typeof value !== 'string' || isServerFilePath(value)) continue;\n\t\tbrowserManifest[key] = value;\n\t}\n\n\treturn browserManifest;\n};\n\nconst ISLAND_MARKER_TAG = /<[^>]*\\bdata-island=\"true\"[^>]*>/g;\nconst ISLAND_FRAMEWORKS: readonly IslandFramework[] = [\n\t'react',\n\t'svelte',\n\t'vue',\n\t'angular'\n];\n\nconst readMarkerAttribute = (tag: string, name: string) =>\n\tnew RegExp(`\\\\b${name}=\"([^\"]*)\"`)\n\t\t.exec(tag)?.[1]\n\t\t?.replaceAll('"', '\"')\n\t\t.replaceAll('<', '<')\n\t\t.replaceAll('>', '>')\n\t\t.replaceAll('&', '&');\n\nconst toIslandFramework = (value: string | undefined) =>\n\tISLAND_FRAMEWORKS.find((framework) => framework === value);\n\n/* Manifest keys of the stylesheets of the islands an HTML document renders,\n * read from its island markers. */\nconst collectRenderedIslandStyleKeys = (html: string) => {\n\tconst keys = new Set<string>();\n\tfor (const [tag] of html.matchAll(ISLAND_MARKER_TAG)) {\n\t\tconst framework = toIslandFramework(\n\t\t\treadMarkerAttribute(tag, 'data-framework')\n\t\t);\n\t\tconst component = readMarkerAttribute(tag, 'data-component');\n\t\tif (framework && component)\n\t\t\tkeys.add(getIslandStyleManifestKey(framework, component));\n\t}\n\n\treturn keys;\n};\n\n/* An island's styles (Svelte/Vue component styles, CSS it imports) are\n * built into its own stylesheet; link it with the request's nonce, so the\n * server-rendered island is styled on first paint and no framework runtime\n * injects an inline <style> a nonce-based CSP would block.\n *\n * A whole document (HTML, HTMX, Svelte, Angular and Vue pages) links, in\n * its head, the stylesheets of the islands it renders, read from its\n * markers. A streamed page's head is written before its body exists, so\n * it links none here: its Island components render each stylesheet next\n * to the island instead (React as a hoisted stylesheet resource, Vue's\n * streamed render as a link before the island). */\nconst buildIslandStyleLinks = (\n\tmanifest: Record<string, string>,\n\thtml?: string\n) => {\n\tif (html === undefined) return '';\n\tconst renderedKeys = collectRenderedIslandStyleKeys(html);\n\n\treturn getIslandStyleManifestEntries(manifest)\n\t\t.filter(([key]) => renderedKeys.has(key))\n\t\t.filter(([, href]) => !html.includes(`href=\"${href}\"`))\n\t\t.map(\n\t\t\t([key, href]) =>\n\t\t\t\t`<link rel=\"stylesheet\" href=\"${href}\" data-island-style=\"${key}\"${nonceAttr()}>`\n\t\t)\n\t\t.join('');\n};\n\nconst buildIslandsHeadMarkup = (\n\tmanifest: Record<string, string>,\n\thtml?: string\n) => {\n\tconst styleLinks = buildIslandStyleLinks(manifest, html);\n\tconst manifestScript = `<script${nonceAttr()}>window.__ABSOLUTE_MANIFEST__ = ${escapeScriptContent(JSON.stringify(toBrowserManifest(manifest)))}</script>`;\n\tconst islandStateScript = `<script${nonceAttr()}>window.__ABS_ISLAND_STATE__ = ${escapeScriptContent(JSON.stringify(globalThis.__ABS_ISLAND_STATE__ ?? {}))}</script>`;\n\tconst bootstrapPath = getIslandBootstrapPath(manifest);\n\tconst bootstrapScript = bootstrapPath\n\t\t? `<script${nonceAttr()} type=\"module\" src=\"${bootstrapPath}\"></script>`\n\t\t: '';\n\n\treturn `${styleLinks}${manifestScript}${islandStateScript}${bootstrapScript}`;\n};\n\nconst injectHeadMarkup = (html: string, markup: string) => {\n\tconst closingHeadIndex = html.indexOf('</head>');\n\tif (closingHeadIndex >= 0) {\n\t\treturn `${html.slice(0, closingHeadIndex)}${markup}${html.slice(closingHeadIndex)}`;\n\t}\n\n\tconst openingBodyIndex = html.indexOf('<body');\n\tif (openingBodyIndex >= 0) {\n\t\tconst bodyStart = html.indexOf('>', openingBodyIndex);\n\t\tif (bodyStart >= 0) {\n\t\t\treturn `${html.slice(0, openingBodyIndex)}<head>${markup}</head>${html.slice(openingBodyIndex)}`;\n\t\t}\n\t}\n\n\treturn `<!DOCTYPE html><html><head>${markup}</head><body>${html}</body></html>`;\n};\n\nconst streamChunkToString = (\n\tvalue: string | Uint8Array,\n\tdecoder: TextDecoder\n) =>\n\ttypeof value === 'string' ? value : decoder.decode(value, { stream: true });\n\nconst flushSafePendingText = (\n\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\tencoder: TextEncoder,\n\tpending: string,\n\tlookbehind: number\n) => {\n\tif (pending.length <= lookbehind) {\n\t\treturn pending;\n\t}\n\n\tconst safeText = pending.slice(0, pending.length - lookbehind);\n\tcontroller.enqueue(encoder.encode(safeText));\n\n\treturn pending.slice(-lookbehind);\n};\n\nconst updateInjectedState = (\n\tconsumed: { done: boolean; injected: boolean; pending: string },\n\tinjected: boolean,\n\tpending: string\n) => {\n\tif (consumed.done) {\n\t\treturn { done: true, injected, pending };\n\t}\n\n\treturn {\n\t\tdone: false,\n\t\tinjected: consumed.injected,\n\t\tpending: consumed.pending\n\t};\n};\n\nconst readStreamChunk = async (\n\treader: ReadableStreamDefaultReader<string | Uint8Array>\n) => {\n\tconst { done, value } = await reader.read();\n\tif (done || !value) {\n\t\treturn { done, value: undefined };\n\t}\n\n\treturn { done, value };\n};\n\nconst pipeStreamWithHeadInjection = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tmarkup: string\n) => {\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst lookbehind = CLOSING_HEAD_TAG.length - 1;\n\tconst processPending = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tif (injected) {\n\t\t\tcontroller.enqueue(encoder.encode(pending));\n\n\t\t\treturn { injected, pending: '' };\n\t\t}\n\n\t\tconst headIndex = pending.indexOf(CLOSING_HEAD_TAG);\n\t\tif (headIndex >= 0) {\n\t\t\tconst next = `${pending.slice(0, headIndex)}${markup}${pending.slice(headIndex)}`;\n\t\t\tcontroller.enqueue(encoder.encode(next));\n\n\t\t\treturn { injected: true, pending: '' };\n\t\t}\n\n\t\treturn {\n\t\t\tinjected,\n\t\t\tpending: flushSafePendingText(\n\t\t\t\tcontroller,\n\t\t\t\tencoder,\n\t\t\t\tpending,\n\t\t\t\tlookbehind\n\t\t\t)\n\t\t};\n\t};\n\tconst finishHeadInjectionStream = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tlet finalPending = pending + decoder.decode();\n\t\tif (!injected) {\n\t\t\tfinalPending = injectHeadMarkup(finalPending, markup);\n\t\t}\n\t\tif (finalPending.length > 0) {\n\t\t\tcontroller.enqueue(encoder.encode(finalPending));\n\t\t}\n\t\tcontroller.close();\n\t};\n\tconst consumeHeadChunk = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tconst { done, value } = await readStreamChunk(reader);\n\t\tif (done || !value) {\n\t\t\treturn { done, injected, pending };\n\t\t}\n\n\t\tconst processed = processPending(\n\t\t\tcontroller,\n\t\t\tpending + streamChunkToString(value, decoder),\n\t\t\tinjected\n\t\t);\n\n\t\treturn {\n\t\t\tdone,\n\t\t\tinjected: processed.injected,\n\t\t\tpending: processed.pending\n\t\t};\n\t};\n\tconst runHeadInjectionLoop = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>\n\t) => {\n\t\tconst consumeNextHeadChunk = async (\n\t\t\tinjected: boolean,\n\t\t\tpending: string\n\t\t) => {\n\t\t\tconst consumed = await consumeHeadChunk(\n\t\t\t\tcontroller,\n\t\t\t\treader,\n\t\t\t\tpending,\n\t\t\t\tinjected\n\t\t\t);\n\t\t\tconst nextState = updateInjectedState(consumed, injected, pending);\n\t\t\tif (nextState.done) {\n\t\t\t\treturn { injected, pending };\n\t\t\t}\n\n\t\t\treturn consumeNextHeadChunk(nextState.injected, nextState.pending);\n\t\t};\n\n\t\treturn consumeNextHeadChunk(false, '');\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\tconst reader = stream.getReader();\n\n\t\t\ttry {\n\t\t\t\tconst { injected, pending } = await runHeadInjectionLoop(\n\t\t\t\t\tcontroller,\n\t\t\t\t\treader\n\t\t\t\t);\n\t\t\t\tfinishHeadInjectionStream(controller, pending, injected);\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\n\n// `held` is the buffer kept from `</head>` onward once `sawHead` is true;\n// `pending` is the not-yet-flushed text before `</head>`; `injected` flips on\n// once the scripts have been emitted and the rest can stream straight through.\ntype IslandMarkerStreamState = {\n\theld: string;\n\tinjected: boolean;\n\tpending: string;\n\tsawHead: boolean;\n};\n\n// Streaming injector for pages whose island presence isn't known up front.\n// The manifest/state/bootstrap scripts must land in `<head>` — React 19\n// tolerates hoistable elements (scripts/links/…) there during hydration, but\n// injecting them inline in the body (e.g. just before the first island marker)\n// makes them a sibling inside a host-React-rendered element, which breaks\n// hydration with a structural mismatch. `</head>` is streamed before any body\n// island, so we flush the head immediately, then hold from `</head>` onward\n// until we can confirm whether the body actually contains an island. If it\n// does, we inject right before the held `</head>`; if it doesn't, we flush the\n// held content untouched so island-free pages don't pull in the runtime.\nconst pipeStreamWithIslandMarkerDetection = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tmarkup: string,\n\tonIslandsDetected: () => void\n) => {\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst headLookbehind = CLOSING_HEAD_TAG.length - 1;\n\n\tconst enqueue = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\ttext: string\n\t) => {\n\t\tif (text.length > 0) {\n\t\t\tcontroller.enqueue(encoder.encode(text));\n\t\t}\n\t};\n\t// From `</head>` onward: hold until an island marker confirms the page has\n\t// islands, then inject the scripts just before the held `</head>`.\n\tconst processHolding = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\theld: string\n\t) => {\n\t\tif (!held.includes(ISLAND_MARKER)) {\n\t\t\treturn { held, injected: false, pending: '', sawHead: true };\n\t\t}\n\t\tonIslandsDetected();\n\t\tenqueue(controller, `${markup}${held}`);\n\n\t\treturn { held: '', injected: true, pending: '', sawHead: true };\n\t};\n\t// Before `</head>`: flush safe text and watch for the head close tag.\n\tconst processHead = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string\n\t) => {\n\t\tconst headIndex = pending.indexOf(CLOSING_HEAD_TAG);\n\t\tif (headIndex < 0) {\n\t\t\treturn {\n\t\t\t\theld: '',\n\t\t\t\tinjected: false,\n\t\t\t\tpending: flushSafePendingText(\n\t\t\t\t\tcontroller,\n\t\t\t\t\tencoder,\n\t\t\t\t\tpending,\n\t\t\t\t\theadLookbehind\n\t\t\t\t),\n\t\t\t\tsawHead: false\n\t\t\t};\n\t\t}\n\t\tenqueue(controller, pending.slice(0, headIndex));\n\n\t\treturn processHolding(controller, pending.slice(headIndex));\n\t};\n\tconst processChunk = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tstate: IslandMarkerStreamState,\n\t\tchunk: string\n\t) => {\n\t\tif (state.injected) {\n\t\t\tenqueue(controller, chunk);\n\n\t\t\treturn state;\n\t\t}\n\t\tif (!state.sawHead) {\n\t\t\treturn processHead(controller, state.pending + chunk);\n\t\t}\n\n\t\treturn processHolding(controller, state.held + chunk);\n\t};\n\tconst finishMarkerStream = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tstate: IslandMarkerStreamState\n\t) => {\n\t\tconst tail = decoder.decode();\n\t\t// `injected` → tail only; `sawHead` (held, no islands) → flush as-is;\n\t\t// otherwise no `</head>` was ever seen, so pass the buffer through.\n\t\tconst remainder = state.injected\n\t\t\t? tail\n\t\t\t: (state.sawHead ? state.held : state.pending) + tail;\n\t\tenqueue(controller, remainder);\n\t\tcontroller.close();\n\t};\n\tconst runMarkerLoop = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>\n\t) => {\n\t\tconst consumeNext = async (state: IslandMarkerStreamState) => {\n\t\t\tconst { done, value } = await readStreamChunk(reader);\n\t\t\tif (done || !value) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn consumeNext(\n\t\t\t\tprocessChunk(\n\t\t\t\t\tcontroller,\n\t\t\t\t\tstate,\n\t\t\t\t\tstreamChunkToString(value, decoder)\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\treturn consumeNext({\n\t\t\theld: '',\n\t\t\tinjected: false,\n\t\t\tpending: '',\n\t\t\tsawHead: false\n\t\t});\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\tconst reader = stream.getReader();\n\n\t\t\ttry {\n\t\t\t\tconst finalState = await runMarkerLoop(controller, reader);\n\t\t\t\tfinishMarkerStream(controller, finalState);\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\n\nexport const htmlContainsIslands = (html: string) =>\n\thtml.includes(ISLAND_MARKER);\nexport const injectIslandPageContext = (\n\thtml: string,\n\toptions?: { hasIslands?: boolean }\n) => {\n\tconst manifest = globalThis.__absoluteManifest;\n\tconst hasIslands = options?.hasIslands ?? htmlContainsIslands(html);\n\tif (!manifest || !hasIslands) {\n\t\treturn html;\n\t}\n\n\tif (html.includes(MANIFEST_MARKER) || html.includes(ISLAND_STATE_MARKER)) {\n\t\treturn html;\n\t}\n\twarnIfBootstrapMissing(manifest);\n\n\treturn injectHeadMarkup(html, buildIslandsHeadMarkup(manifest, html));\n};\n\nexport const injectIslandPageContextStream = (\n\tstream: ReadableStream<string | Uint8Array>,\n\toptions?: { hasIslands?: boolean }\n) => {\n\tconst manifest = globalThis.__absoluteManifest;\n\tif (!manifest) return stream;\n\tconst markup = buildIslandsHeadMarkup(manifest);\n\n\tif (options?.hasIslands === true) {\n\t\twarnIfBootstrapMissing(manifest);\n\n\t\treturn pipeStreamWithHeadInjection(stream, markup);\n\t}\n\tif (options?.hasIslands === false) {\n\t\treturn stream;\n\t}\n\n\treturn pipeStreamWithIslandMarkerDetection(stream, markup, () =>\n\t\twarnIfBootstrapMissing(manifest)\n\t);\n};\n/** `buildDir` is the absolute build directory: manifest entries inside it\n * are server-side file paths and stay out of the page. */\nexport const setCurrentIslandManifest = (\n\tmanifest: Record<string, string>,\n\tbuildDir?: string\n) => {\n\tglobalThis.__absoluteManifest = manifest;\n\tReflect.set(\n\t\tglobalThis,\n\t\tMANIFEST_BUILD_DIR_KEY,\n\t\tbuildDir?.replaceAll('\\\\', '/')\n\t);\n};\n",
|
|
11
|
+
"/**\n * Centralized logger utility for AbsoluteJS\n * Provides formatted output with ANSI colors and timestamps\n */\n\nimport { isDevelopmentRuntime } from './runtimeMode';\nimport { formatTimestamp, startupBanner } from './startupBanner';\nimport type {\n\tHMRApplyKind,\n\tHMRApplyOutcome,\n\tHMRClientTarget\n} from '../../types/messages';\n\nexport { formatTimestamp };\n\n// ANSI color codes\nconst colors = {\n\tblue: '\\x1b[34m',\n\tbold: '\\x1b[1m',\n\t// Core colors\n\tcyan: '\\x1b[36m',\n\tdim: '\\x1b[2m',\n\tgreen: '\\x1b[32m',\n\tmagenta: '\\x1b[35m',\n\tred: '\\x1b[31m',\n\treset: '\\x1b[0m',\n\twhite: '\\x1b[37m',\n\tyellow: '\\x1b[33m'\n} as const;\n\n// Framework color mapping\nconst frameworkColors: Record<string, string> = {\n\tangular: colors.magenta,\n\tassets: colors.dim,\n\tcss: colors.cyan,\n\thtml: colors.white,\n\thtmx: colors.white,\n\treact: colors.blue,\n\tsvelte: colors.yellow,\n\tvue: colors.green\n};\n\n/**\n * The line prefix. `[hmr]` belongs to the dev server's log stream; a\n * production server or build has no HMR, so its warnings and errors (a\n * shadowed file route, a manifest problem) say `[absolutejs]` instead.\n */\nconst logTag = () => (isDevelopmentRuntime() ? '[hmr]' : '[absolutejs]');\n\n/**\n * Format a file path for display (relative, clean)\n */\nconst formatPath = (filePath: string) => {\n\tconst cwd = process.cwd();\n\tlet relative = filePath.startsWith(cwd)\n\t\t? filePath.slice(cwd.length + 1)\n\t\t: filePath;\n\t// Normalize slashes\n\trelative = relative.replace(/\\\\/g, '/');\n\t// Ensure it starts with /\n\tif (!relative.startsWith('/')) {\n\t\trelative = `/${relative}`;\n\t}\n\n\treturn relative;\n};\n\n/**\n * Get color for a framework\n */\nconst getFrameworkColor = (framework: string) =>\n\tframeworkColors[framework] || colors.white;\n\n/**\n * Core logging function\n */\nconst log = (\n\taction: string,\n\toptions?: {\n\t\tframework?: string;\n\t\tdetail?: string;\n\t\tduration?: number;\n\t\tpath?: string;\n\t\tcolor?: string;\n\t}\n) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.cyan}${logTag()}${colors.reset}`;\n\n\tlet message = action;\n\n\t// Apply framework color to path if present\n\tif (options?.path) {\n\t\tconst pathColor = options.framework\n\t\t\t? getFrameworkColor(options.framework)\n\t\t\t: colors.white;\n\t\tmessage += ` ${pathColor}${formatPath(options.path)}${colors.reset}`;\n\t}\n\n\tif (options?.detail) message += ` ${options.detail}`;\n\n\t// Add duration if present\n\tif (options?.duration !== undefined) {\n\t\tmessage += ` ${colors.dim}(${options.duration}ms)${colors.reset}`;\n\t}\n\n\tconsole.log(`${timestamp} ${tag} ${message}`);\n};\n\n/**\n * Startup banner\n */\nexport const logReady = startupBanner;\n\n/**\n * CSS update message\n * Format: \"10:30:45 AM [hmr] css update /styles/main.css (125ms)\"\n */\nexport const logCssUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('css update', { duration, framework: framework ?? 'css', path });\n};\n\n/**\n * Build error\n * Format: \"10:30:45 AM [hmr] error Build failed: ...\" (`[absolutejs]`\n * outside dev)\n */\nexport const logError = (message: string, error?: Error | string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.red}${logTag()}${colors.reset}`;\n\tconst errorMsg = error instanceof Error ? error.message : error;\n\tconst fullMessage = `${colors.red}error${colors.reset} ${message}${errorMsg ? `: ${errorMsg}` : ''}`;\n\tconsole.error(`${timestamp} ${tag} ${fullMessage}`);\n};\n\n/**\n * HMR update message\n * Format: \"10:30:45 AM [hmr] hmr update /pages/App.tsx\"\n */\nexport const logHmrClientUpdate = (\n\tpath: string,\n\tframework: string | undefined,\n\tduration: number,\n\ttarget: HMRClientTarget,\n\tserverMs?: number,\n\tclientMs?: number,\n\toutcome: HMRApplyOutcome = 'applied',\n\tkind?: HMRApplyKind\n) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst targetLabel = target.startsWith('capacitor-')\n\t\t? target.slice('capacitor-'.length)\n\t\t: target;\n\tconst tag = `${colors.cyan}[hmr:${targetLabel}]${colors.reset}`;\n\tconst pathColor = framework ? getFrameworkColor(framework) : colors.white;\n\tconst breakdown =\n\t\tserverMs === undefined || clientMs === undefined\n\t\t\t? ''\n\t\t\t: `; server ${serverMs}ms, client ${clientMs}ms`;\n\tlet action = 'failed after';\n\tif (outcome === 'applied') action = 'applied in';\n\telse if (outcome === 'reloaded') action = 'falling back to reload after';\n\tconst kindLabel = kind ? `${kind} ` : '';\n\tconsole.log(\n\t\t`${timestamp} ${tag} ${framework ?? 'update'} ${kindLabel}${pathColor}${formatPath(path)}${colors.reset} ${colors.dim}${action} ${duration}ms${breakdown}${colors.reset}`\n\t);\n};\n\nexport const logHmrUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('hmr update', { duration, framework, path });\n};\n\n/**\n * Generic info message\n */\nexport const logInfo = (message: string) => {\n\tlog(message);\n};\n\n/**\n * Dev on-demand page build (first request for a page bundles it)\n * Format: \"10:30:45 AM [hmr] page build vue/pages/Home.vue (1250ms)\"\n */\nexport const logPageBuild = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('page build', { duration, framework, path });\n};\n\n/**\n * Page reload message\n * Format: \"10:30:45 AM [hmr] page reload /src/App.tsx (125ms)\"\n */\nexport const logPageReload = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('page reload', { duration, framework, path });\n};\n\n/**\n * A page's client-side route table changed\n * Format: \"10:30:45 AM [hmr] routes update /pages/Shell.vue +/app/three -/app/two\"\n */\nexport const logRoutesUpdate = (\n\tpath: string,\n\tframework: string,\n\tadded: string[],\n\tremoved: string[]\n) => {\n\tconst changes = [\n\t\t...added.map((route) => `${colors.green}+${route}${colors.reset}`),\n\t\t...removed.map((route) => `${colors.red}-${route}${colors.reset}`)\n\t];\n\tlog('routes update', {\n\t\tdetail: changes.length > 0 ? changes.join(' ') : undefined,\n\t\tframework,\n\t\tpath\n\t});\n};\n\n/**\n * Script update message\n * Format: \"10:30:45 AM [hmr] script update /scripts/counter.ts (125ms)\"\n */\nexport const logScriptUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('script update', { duration, framework, path });\n};\n\n/**\n * Server module reloaded (Bun --hot triggered a server-side change)\n */\nexport const logServerReload = () => {\n\tlog(`${colors.cyan}server module reloaded${colors.reset}`);\n};\n\n/**\n * Warning message\n * Format: \"10:30:45 AM [hmr] warning ...\" (`[absolutejs]` outside dev)\n */\nexport const logWarn = (message: string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.yellow}${logTag()}${colors.reset}`;\n\tconsole.log(\n\t\t`${timestamp} ${tag} ${colors.yellow}warning ${message}${colors.reset}`\n\t);\n};\n",
|
|
12
|
+
"import type { IslandFramework } from '../../types/island';\n\n/** Manifest key the server injects as the islands bootstrap script on any\n * page with island markers. The build records the configured\n * `islands.bootstrap` (whatever its file name) or a generated default under\n * it — see build/islandBootstrap.ts. */\nexport const ISLAND_BOOTSTRAP_MANIFEST_KEY = 'AbsoluteIslandBootstrap';\n\n/** Key a bootstrap file named `bootstrapClient.*` gets naturally, which is\n * all the server used to look for. Still honored for manifests built\n * before the reserved key existed. */\nexport const LEGACY_ISLAND_BOOTSTRAP_MANIFEST_KEY = 'BootstrapClient';\n\n/** Window event a React page's generated index dispatches once it has\n * created the page's root. The island runtime holds a React page's\n * islands until then (see startIslands in client/islandRuntime.ts). */\nexport const REACT_PAGE_ROOT_EVENT = 'absolute:react-page-root';\n\nconst toIslandFrameworkSegment = (framework: IslandFramework) =>\n\tframework[0]?.toUpperCase() + framework.slice(1);\n\nconst collectFrameworkIslands = (\n\tmanifest: Record<string, string>,\n\tprefix: string\n) => {\n\tconst entries: Record<string, string> = {};\n\tlet found = false;\n\n\tfor (const [key, value] of Object.entries(manifest)) {\n\t\tif (!key.startsWith(prefix)) continue;\n\n\t\tconst component = key.slice(prefix.length);\n\t\tif (!component) continue;\n\n\t\tentries[component] = value;\n\t\tfound = true;\n\t}\n\n\treturn found ? entries : undefined;\n};\n\nexport const getIslandBootstrapPath = (manifest: Record<string, string>) =>\n\tmanifest[ISLAND_BOOTSTRAP_MANIFEST_KEY] ??\n\tmanifest[LEGACY_ISLAND_BOOTSTRAP_MANIFEST_KEY];\nexport const getIslandManifestEntries = (manifest: Record<string, string>) => {\n\tconst islands: Partial<Record<IslandFramework, Record<string, string>>> =\n\t\t{};\n\tconst frameworks: IslandFramework[] = ['react', 'svelte', 'vue', 'angular'];\n\n\tfor (const framework of frameworks) {\n\t\tconst prefix = `Island${toIslandFrameworkSegment(framework)}`;\n\t\tconst entries = collectFrameworkIslands(manifest, prefix);\n\t\tif (entries) islands[framework] = entries;\n\t}\n\n\treturn islands;\n};\nexport const getIslandManifestKey = (\n\tframework: IslandFramework,\n\tcomponent: string\n) => `Island${toIslandFrameworkSegment(framework)}${component}`;\n\nconst ISLAND_STYLE_PREFIX = 'IslandStyle';\n\n/** Every island stylesheet in the manifest, by manifest key. */\nexport const getIslandStyleManifestEntries = (\n\tmanifest: Record<string, string>\n) =>\n\tObject.entries(manifest).filter(([key]) =>\n\t\tkey.startsWith(ISLAND_STYLE_PREFIX)\n\t);\n\n/** Manifest key of the stylesheet the island client pass emits for an\n * island (its Svelte/Vue component styles and any CSS it imports). The\n * server links it from every page that renders the island. */\nexport const getIslandStyleManifestKey = (\n\tframework: IslandFramework,\n\tcomponent: string\n) => `${ISLAND_STYLE_PREFIX}${toIslandFrameworkSegment(framework)}${component}`;\n",
|
|
13
|
+
"import { escapeScriptContent } from '../utils/escapeScriptContent';\nimport { nonceAttr } from '../utils/cspNonceRef';\nimport { isProductionRuntime } from '../utils/runtimeMode';\nimport { logWarn } from '../utils/logger';\nimport {\n\tgetIslandBootstrapPath,\n\tgetIslandStyleManifestEntries,\n\tgetIslandStyleManifestKey\n} from './islandManifest';\nimport type { IslandFramework } from '../../types/island';\n\nconst ISLAND_MARKER = 'data-island=\"true\"';\nconst MANIFEST_MARKER = '__ABSOLUTE_MANIFEST__';\nconst ISLAND_STATE_MARKER = '__ABS_ISLAND_STATE__';\nconst CLOSING_HEAD_TAG = '</head>';\n\ndeclare global {\n\tvar __absoluteManifest: Record<string, string> | undefined;\n\tvar __ABS_ISLAND_STATE__:\n\t\tRecord<string, Record<string, unknown>> | undefined;\n}\n\nlet warnedMissingBootstrap = false;\n\n/* A page with island markers and no bootstrap in the manifest renders its\n * islands but never hydrates them. Say so once per process outside\n * production instead of failing silently. */\nconst warnIfBootstrapMissing = (manifest: Record<string, string>) => {\n\tif (warnedMissingBootstrap || getIslandBootstrapPath(manifest)) return;\n\tif (isProductionRuntime()) return;\n\twarnedMissingBootstrap = true;\n\tlogWarn(\n\t\t'A page contains islands, but the build manifest has no islands bootstrap, so they will render without hydrating. Set `islands.registry` in absolute.config.ts (a default bootstrap is generated from it) or point `islands.bootstrap` at a file that calls startIslands().'\n\t);\n};\n\n/** @internal Test hook: lets each test observe the one-time warning. */\nexport const resetIslandBootstrapWarning = () => {\n\twarnedMissingBootstrap = false;\n};\n\nconst MANIFEST_BUILD_DIR_KEY = Symbol.for('absolutejs.islandManifestBuildDir');\n\n/* One value per process: dist/index.js and each framework entry\n * (dist/react/index.js, dist/svelte/index.js, ...) carry their own copy of\n * this module, and a production server bundle can inline several of them.\n * prepare() sets the build directory through one copy while a page handler\n * injects the manifest through another, so the value lives on globalThis. */\nconst getManifestBuildDir = () => {\n\tconst value: unknown = Reflect.get(globalThis, MANIFEST_BUILD_DIR_KEY);\n\n\treturn typeof value === 'string' ? value : undefined;\n};\n\nconst WINDOWS_ABSOLUTE_PATH = /^[A-Za-z]:[\\\\/]|^\\\\\\\\/;\n\nconst withTrailingSlash = (path: string) =>\n\tpath.endsWith('/') ? path : `${path}/`;\n\nconst currentWorkingRoot = () => {\n\ttry {\n\t\treturn withTrailingSlash(process.cwd().replaceAll('\\\\', '/'));\n\t} catch {\n\t\treturn undefined;\n\t}\n};\n\n/* The build manifest also maps SSR pages and server bundles to absolute\n * paths on the server's disk (the server imports them from there). Those\n * entries mean nothing to a browser and would publish the server's file\n * layout in every page with islands, so only web paths are sent. Browser\n * entries are root-relative URLs such as `/react/pages/Foo.abc.js`; a value\n * is a server path when it is a Windows path or sits inside the build\n * directory or the project root. The project-root check keeps the filter\n * working even if the build directory was never recorded. */\nconst isServerFilePath = (value: string) => {\n\tif (WINDOWS_ABSOLUTE_PATH.test(value)) return true;\n\tconst buildDir = getManifestBuildDir();\n\tif (buildDir && value.startsWith(withTrailingSlash(buildDir))) return true;\n\tconst root = currentWorkingRoot();\n\tif (root && root !== '/' && value.startsWith(root)) return true;\n\n\treturn false;\n};\n\n/** The part of the build manifest a browser may see. */\nexport const toBrowserManifest = (manifest: Record<string, string>) => {\n\tconst browserManifest: Record<string, string> = {};\n\tfor (const [key, value] of Object.entries(manifest)) {\n\t\tif (typeof value !== 'string' || isServerFilePath(value)) continue;\n\t\tbrowserManifest[key] = value;\n\t}\n\n\treturn browserManifest;\n};\n\nconst ISLAND_MARKER_TAG = /<[^>]*\\bdata-island=\"true\"[^>]*>/g;\nconst ISLAND_FRAMEWORKS: readonly IslandFramework[] = [\n\t'react',\n\t'svelte',\n\t'vue',\n\t'angular'\n];\n\nconst readMarkerAttribute = (tag: string, name: string) =>\n\tnew RegExp(`\\\\b${name}=\"([^\"]*)\"`)\n\t\t.exec(tag)?.[1]\n\t\t?.replaceAll('"', '\"')\n\t\t.replaceAll('<', '<')\n\t\t.replaceAll('>', '>')\n\t\t.replaceAll('&', '&');\n\nconst toIslandFramework = (value: string | undefined) =>\n\tISLAND_FRAMEWORKS.find((framework) => framework === value);\n\n/* Manifest keys of the stylesheets of the islands an HTML document renders,\n * read from its island markers. */\nconst collectRenderedIslandStyleKeys = (html: string) => {\n\tconst keys = new Set<string>();\n\tfor (const [tag] of html.matchAll(ISLAND_MARKER_TAG)) {\n\t\tconst framework = toIslandFramework(\n\t\t\treadMarkerAttribute(tag, 'data-framework')\n\t\t);\n\t\tconst component = readMarkerAttribute(tag, 'data-component');\n\t\tif (framework && component)\n\t\t\tkeys.add(getIslandStyleManifestKey(framework, component));\n\t}\n\n\treturn keys;\n};\n\n/* An island's styles (Svelte/Vue component styles, CSS it imports) are\n * built into its own stylesheet; link it with the request's nonce, so the\n * server-rendered island is styled on first paint and no framework runtime\n * injects an inline <style> a nonce-based CSP would block.\n *\n * A whole document (HTML, HTMX, Svelte, Angular and Vue pages) links, in\n * its head, the stylesheets of the islands it renders, read from its\n * markers. A streamed page's head is written before its body exists, so\n * it links none here: its Island components render each stylesheet next\n * to the island instead (React as a hoisted stylesheet resource, Vue's\n * streamed render as a link before the island). */\nconst buildIslandStyleLinks = (\n\tmanifest: Record<string, string>,\n\thtml?: string\n) => {\n\tif (html === undefined) return '';\n\tconst renderedKeys = collectRenderedIslandStyleKeys(html);\n\n\treturn getIslandStyleManifestEntries(manifest)\n\t\t.filter(([key]) => renderedKeys.has(key))\n\t\t.filter(([, href]) => !html.includes(`href=\"${href}\"`))\n\t\t.map(\n\t\t\t([key, href]) =>\n\t\t\t\t`<link rel=\"stylesheet\" href=\"${href}\" data-island-style=\"${key}\"${nonceAttr()}>`\n\t\t)\n\t\t.join('');\n};\n\n/** The framework whose page renders the islands, when its own root\n * hydrates the whole document (React). */\nexport type IslandHost = 'react';\n\n/* Dev only, and before the islands bootstrap: a stand-in for React's\n * DevTools hook that remembers each React renderer that registers.\n *\n * The bootstrap imports React DOM, and on a React page it can run before\n * the page's own script: the page's module graph comes from the dev module\n * server and often arrives later. React DOM registers with the DevTools\n * hook once, while it loads; with no hook there yet it never registers,\n * and the Fast Refresh runtime the page installs afterwards finds no\n * renderer to refresh, so every edit to the page is a silent no-op. With\n * this stand-in React DOM registers here, and the Fast Refresh runtime\n * picks the renderer up from `renderers` when it installs (a real DevTools\n * hook, when the extension is there, does the same). */\nconst REACT_HOOK_STAND_IN =\n\t'if(!window.__REACT_DEVTOOLS_GLOBAL_HOOK__){var n=0;' +\n\t'window.__REACT_DEVTOOLS_GLOBAL_HOOK__={renderers:new Map(),supportsFiber:true,' +\n\t'inject:function(r){n+=1;this.renderers.set(n,r);return n},' +\n\t'onScheduleFiberRoot:function(){},onCommitFiberRoot:function(){},onCommitFiberUnmount:function(){}}}';\n\nconst buildIslandsHeadMarkup = (\n\tmanifest: Record<string, string>,\n\thtml?: string,\n\thost?: IslandHost\n) => {\n\tconst styleLinks = buildIslandStyleLinks(manifest, html);\n\tconst manifestScript = `<script${nonceAttr()}>window.__ABSOLUTE_MANIFEST__ = ${escapeScriptContent(JSON.stringify(toBrowserManifest(manifest)))}</script>`;\n\t// The island runtime waits for a React page's root before it hydrates\n\t// any island (see startIslands in client/islandRuntime.ts).\n\tconst hostAssignment = host\n\t\t? `;window.__ABS_ISLAND_HOST__ = ${JSON.stringify(host)}`\n\t\t: '';\n\tconst islandStateScript = `<script${nonceAttr()}>window.__ABS_ISLAND_STATE__ = ${escapeScriptContent(JSON.stringify(globalThis.__ABS_ISLAND_STATE__ ?? {}))}${hostAssignment}</script>`;\n\tconst reactHookScript = isProductionRuntime()\n\t\t? ''\n\t\t: `<script${nonceAttr()}>${REACT_HOOK_STAND_IN}</script>`;\n\tconst bootstrapPath = getIslandBootstrapPath(manifest);\n\tconst bootstrapScript = bootstrapPath\n\t\t? `<script${nonceAttr()} type=\"module\" src=\"${bootstrapPath}\"></script>`\n\t\t: '';\n\n\treturn `${styleLinks}${manifestScript}${islandStateScript}${reactHookScript}${bootstrapScript}`;\n};\n\nconst injectHeadMarkup = (html: string, markup: string) => {\n\tconst closingHeadIndex = html.indexOf('</head>');\n\tif (closingHeadIndex >= 0) {\n\t\treturn `${html.slice(0, closingHeadIndex)}${markup}${html.slice(closingHeadIndex)}`;\n\t}\n\n\tconst openingBodyIndex = html.indexOf('<body');\n\tif (openingBodyIndex >= 0) {\n\t\tconst bodyStart = html.indexOf('>', openingBodyIndex);\n\t\tif (bodyStart >= 0) {\n\t\t\treturn `${html.slice(0, openingBodyIndex)}<head>${markup}</head>${html.slice(openingBodyIndex)}`;\n\t\t}\n\t}\n\n\treturn `<!DOCTYPE html><html><head>${markup}</head><body>${html}</body></html>`;\n};\n\nconst streamChunkToString = (\n\tvalue: string | Uint8Array,\n\tdecoder: TextDecoder\n) =>\n\ttypeof value === 'string' ? value : decoder.decode(value, { stream: true });\n\nconst flushSafePendingText = (\n\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\tencoder: TextEncoder,\n\tpending: string,\n\tlookbehind: number\n) => {\n\tif (pending.length <= lookbehind) {\n\t\treturn pending;\n\t}\n\n\tconst safeText = pending.slice(0, pending.length - lookbehind);\n\tcontroller.enqueue(encoder.encode(safeText));\n\n\treturn pending.slice(-lookbehind);\n};\n\nconst updateInjectedState = (\n\tconsumed: { done: boolean; injected: boolean; pending: string },\n\tinjected: boolean,\n\tpending: string\n) => {\n\tif (consumed.done) {\n\t\treturn { done: true, injected, pending };\n\t}\n\n\treturn {\n\t\tdone: false,\n\t\tinjected: consumed.injected,\n\t\tpending: consumed.pending\n\t};\n};\n\nconst readStreamChunk = async (\n\treader: ReadableStreamDefaultReader<string | Uint8Array>\n) => {\n\tconst { done, value } = await reader.read();\n\tif (done || !value) {\n\t\treturn { done, value: undefined };\n\t}\n\n\treturn { done, value };\n};\n\nconst pipeStreamWithHeadInjection = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tmarkup: string\n) => {\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst lookbehind = CLOSING_HEAD_TAG.length - 1;\n\tconst processPending = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tif (injected) {\n\t\t\tcontroller.enqueue(encoder.encode(pending));\n\n\t\t\treturn { injected, pending: '' };\n\t\t}\n\n\t\tconst headIndex = pending.indexOf(CLOSING_HEAD_TAG);\n\t\tif (headIndex >= 0) {\n\t\t\tconst next = `${pending.slice(0, headIndex)}${markup}${pending.slice(headIndex)}`;\n\t\t\tcontroller.enqueue(encoder.encode(next));\n\n\t\t\treturn { injected: true, pending: '' };\n\t\t}\n\n\t\treturn {\n\t\t\tinjected,\n\t\t\tpending: flushSafePendingText(\n\t\t\t\tcontroller,\n\t\t\t\tencoder,\n\t\t\t\tpending,\n\t\t\t\tlookbehind\n\t\t\t)\n\t\t};\n\t};\n\tconst finishHeadInjectionStream = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tlet finalPending = pending + decoder.decode();\n\t\tif (!injected) {\n\t\t\tfinalPending = injectHeadMarkup(finalPending, markup);\n\t\t}\n\t\tif (finalPending.length > 0) {\n\t\t\tcontroller.enqueue(encoder.encode(finalPending));\n\t\t}\n\t\tcontroller.close();\n\t};\n\tconst consumeHeadChunk = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tconst { done, value } = await readStreamChunk(reader);\n\t\tif (done || !value) {\n\t\t\treturn { done, injected, pending };\n\t\t}\n\n\t\tconst processed = processPending(\n\t\t\tcontroller,\n\t\t\tpending + streamChunkToString(value, decoder),\n\t\t\tinjected\n\t\t);\n\n\t\treturn {\n\t\t\tdone,\n\t\t\tinjected: processed.injected,\n\t\t\tpending: processed.pending\n\t\t};\n\t};\n\tconst runHeadInjectionLoop = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>\n\t) => {\n\t\tconst consumeNextHeadChunk = async (\n\t\t\tinjected: boolean,\n\t\t\tpending: string\n\t\t) => {\n\t\t\tconst consumed = await consumeHeadChunk(\n\t\t\t\tcontroller,\n\t\t\t\treader,\n\t\t\t\tpending,\n\t\t\t\tinjected\n\t\t\t);\n\t\t\tconst nextState = updateInjectedState(consumed, injected, pending);\n\t\t\tif (nextState.done) {\n\t\t\t\treturn { injected, pending };\n\t\t\t}\n\n\t\t\treturn consumeNextHeadChunk(nextState.injected, nextState.pending);\n\t\t};\n\n\t\treturn consumeNextHeadChunk(false, '');\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\tconst reader = stream.getReader();\n\n\t\t\ttry {\n\t\t\t\tconst { injected, pending } = await runHeadInjectionLoop(\n\t\t\t\t\tcontroller,\n\t\t\t\t\treader\n\t\t\t\t);\n\t\t\t\tfinishHeadInjectionStream(controller, pending, injected);\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\n\n// `held` is the buffer kept from `</head>` onward once `sawHead` is true;\n// `pending` is the not-yet-flushed text before `</head>`; `injected` flips on\n// once the scripts have been emitted and the rest can stream straight through.\ntype IslandMarkerStreamState = {\n\theld: string;\n\tinjected: boolean;\n\tpending: string;\n\tsawHead: boolean;\n};\n\n// Streaming injector for pages whose island presence isn't known up front.\n// The manifest/state/bootstrap scripts must land in `<head>` — React 19\n// tolerates hoistable elements (scripts/links/…) there during hydration, but\n// injecting them inline in the body (e.g. just before the first island marker)\n// makes them a sibling inside a host-React-rendered element, which breaks\n// hydration with a structural mismatch. `</head>` is streamed before any body\n// island, so we flush the head immediately, then hold from `</head>` onward\n// until we can confirm whether the body actually contains an island. If it\n// does, we inject right before the held `</head>`; if it doesn't, we flush the\n// held content untouched so island-free pages don't pull in the runtime.\nconst pipeStreamWithIslandMarkerDetection = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tmarkup: string,\n\tonIslandsDetected: () => void\n) => {\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst headLookbehind = CLOSING_HEAD_TAG.length - 1;\n\n\tconst enqueue = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\ttext: string\n\t) => {\n\t\tif (text.length > 0) {\n\t\t\tcontroller.enqueue(encoder.encode(text));\n\t\t}\n\t};\n\t// From `</head>` onward: hold until an island marker confirms the page has\n\t// islands, then inject the scripts just before the held `</head>`.\n\tconst processHolding = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\theld: string\n\t) => {\n\t\tif (!held.includes(ISLAND_MARKER)) {\n\t\t\treturn { held, injected: false, pending: '', sawHead: true };\n\t\t}\n\t\tonIslandsDetected();\n\t\tenqueue(controller, `${markup}${held}`);\n\n\t\treturn { held: '', injected: true, pending: '', sawHead: true };\n\t};\n\t// Before `</head>`: flush safe text and watch for the head close tag.\n\tconst processHead = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string\n\t) => {\n\t\tconst headIndex = pending.indexOf(CLOSING_HEAD_TAG);\n\t\tif (headIndex < 0) {\n\t\t\treturn {\n\t\t\t\theld: '',\n\t\t\t\tinjected: false,\n\t\t\t\tpending: flushSafePendingText(\n\t\t\t\t\tcontroller,\n\t\t\t\t\tencoder,\n\t\t\t\t\tpending,\n\t\t\t\t\theadLookbehind\n\t\t\t\t),\n\t\t\t\tsawHead: false\n\t\t\t};\n\t\t}\n\t\tenqueue(controller, pending.slice(0, headIndex));\n\n\t\treturn processHolding(controller, pending.slice(headIndex));\n\t};\n\tconst processChunk = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tstate: IslandMarkerStreamState,\n\t\tchunk: string\n\t) => {\n\t\tif (state.injected) {\n\t\t\tenqueue(controller, chunk);\n\n\t\t\treturn state;\n\t\t}\n\t\tif (!state.sawHead) {\n\t\t\treturn processHead(controller, state.pending + chunk);\n\t\t}\n\n\t\treturn processHolding(controller, state.held + chunk);\n\t};\n\tconst finishMarkerStream = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tstate: IslandMarkerStreamState\n\t) => {\n\t\tconst tail = decoder.decode();\n\t\t// `injected` → tail only; `sawHead` (held, no islands) → flush as-is;\n\t\t// otherwise no `</head>` was ever seen, so pass the buffer through.\n\t\tconst remainder = state.injected\n\t\t\t? tail\n\t\t\t: (state.sawHead ? state.held : state.pending) + tail;\n\t\tenqueue(controller, remainder);\n\t\tcontroller.close();\n\t};\n\tconst runMarkerLoop = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>\n\t) => {\n\t\tconst consumeNext = async (state: IslandMarkerStreamState) => {\n\t\t\tconst { done, value } = await readStreamChunk(reader);\n\t\t\tif (done || !value) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn consumeNext(\n\t\t\t\tprocessChunk(\n\t\t\t\t\tcontroller,\n\t\t\t\t\tstate,\n\t\t\t\t\tstreamChunkToString(value, decoder)\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\treturn consumeNext({\n\t\t\theld: '',\n\t\t\tinjected: false,\n\t\t\tpending: '',\n\t\t\tsawHead: false\n\t\t});\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\tconst reader = stream.getReader();\n\n\t\t\ttry {\n\t\t\t\tconst finalState = await runMarkerLoop(controller, reader);\n\t\t\t\tfinishMarkerStream(controller, finalState);\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\n\nexport const htmlContainsIslands = (html: string) =>\n\thtml.includes(ISLAND_MARKER);\nexport const injectIslandPageContext = (\n\thtml: string,\n\toptions?: { hasIslands?: boolean }\n) => {\n\tconst manifest = globalThis.__absoluteManifest;\n\tconst hasIslands = options?.hasIslands ?? htmlContainsIslands(html);\n\tif (!manifest || !hasIslands) {\n\t\treturn html;\n\t}\n\n\tif (html.includes(MANIFEST_MARKER) || html.includes(ISLAND_STATE_MARKER)) {\n\t\treturn html;\n\t}\n\twarnIfBootstrapMissing(manifest);\n\n\treturn injectHeadMarkup(html, buildIslandsHeadMarkup(manifest, html));\n};\n\ntype IslandPageContextStreamOptions = {\n\thasIslands?: boolean;\n\thost?: IslandHost;\n};\n\nexport const injectIslandPageContextStream = (\n\tstream: ReadableStream<string | Uint8Array>,\n\toptions?: IslandPageContextStreamOptions\n) => {\n\tconst manifest = globalThis.__absoluteManifest;\n\tif (!manifest) return stream;\n\tconst markup = buildIslandsHeadMarkup(manifest, undefined, options?.host);\n\n\tif (options?.hasIslands === true) {\n\t\twarnIfBootstrapMissing(manifest);\n\n\t\treturn pipeStreamWithHeadInjection(stream, markup);\n\t}\n\tif (options?.hasIslands === false) {\n\t\treturn stream;\n\t}\n\n\treturn pipeStreamWithIslandMarkerDetection(stream, markup, () =>\n\t\twarnIfBootstrapMissing(manifest)\n\t);\n};\n/** `buildDir` is the absolute build directory: manifest entries inside it\n * are server-side file paths and stay out of the page. */\nexport const setCurrentIslandManifest = (\n\tmanifest: Record<string, string>,\n\tbuildDir?: string\n) => {\n\tglobalThis.__absoluteManifest = manifest;\n\tReflect.set(\n\t\tglobalThis,\n\t\tMANIFEST_BUILD_DIR_KEY,\n\t\tbuildDir?.replaceAll('\\\\', '/')\n\t);\n};\n",
|
|
14
14
|
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { Elysia } from 'elysia';\n\ntype RouteCallsiteStore = { callsite?: string };\ntype RouteCallsiteStorage = AsyncLocalStorage<RouteCallsiteStore>;\ntype RouteMethod = (this: unknown, ...args: unknown[]) => unknown;\n\nconst ROUTE_CALLSITE_STORAGE_KEY = Symbol.for(\n\t'absolutejs.devRouteRegistrationCallsiteStorage'\n);\nconst ROUTE_CALLSITE_PATCHED_KEY = Symbol.for(\n\t'absolutejs.devRouteRegistrationCallsitePatched'\n);\nconst NODE_ENV_KEY = 'NODE_ENV';\n\nconst ROUTE_METHOD_NAMES = [\n\t'all',\n\t'delete',\n\t'get',\n\t'head',\n\t'options',\n\t'patch',\n\t'post',\n\t'put'\n] as const;\n\n// Names of the framework page-request helpers. A GET route whose\n// handler source mentions any of these is treated as a page route by\n// the sitemap generator. Keep in sync with the page handlers exported\n// from each framework's pageHandler module.\nconst PAGE_HANDLER_NAMES = [\n\t'handleReactPageRequest',\n\t'handleSveltePageRequest',\n\t'handleVuePageRequest',\n\t'handleAngularPageRequest',\n\t'handleHTMLPageRequest',\n\t'handleHTMXPageRequest'\n] as const;\n\n/* In dev, the registration patch replaces each handler with a wrapper\n * whose `.toString()` no longer mentions the original page-helper name —\n * which used to break sitemap discovery. We instead peek at the raw\n * handler at registration time (where it still has its real source) and\n * record per-route info keyed by the resulting wrapper here. The\n * sitemap looks up `route.handler` to identify page routes and to read\n * any literal `sitemap: { ... }` block the user passed to a\n * `handle*PageRequest` call. In prod no wrapping happens, so the same\n * helpers fall through to inspecting the raw handler directly. */\ntype PageHandlerInfo = {\n\t/** The unwrapped handler function — its `.toString()` exposes the\n\t * literal `handle*PageRequest({ ... })` call source. */\n\toriginalHandler: (...args: unknown[]) => unknown;\n};\n\nconst pageHandlerWrappers = new WeakMap<\n\t(...args: unknown[]) => unknown,\n\tPageHandlerInfo\n>();\nconst isPageHandlerFunction = (\n\tvalue: unknown\n): value is (...args: unknown[]) => unknown => typeof value === 'function';\n\nconst handlerSourceMentionsPageHelper = (\n\thandler: (...args: unknown[]) => unknown\n) => {\n\tconst source = handler.toString();\n\n\treturn PAGE_HANDLER_NAMES.some((name) => source.includes(name));\n};\n\nexport const getOriginalPageHandlerSource = (handler: unknown) => {\n\tif (!isPageHandlerFunction(handler)) return undefined;\n\tconst info = pageHandlerWrappers.get(handler);\n\n\treturn (info?.originalHandler ?? handler).toString();\n};\nexport const isPageHandler = (handler: unknown) => {\n\tif (!isPageHandlerFunction(handler)) return false;\n\tif (pageHandlerWrappers.has(handler)) return true;\n\n\treturn handlerSourceMentionsPageHelper(handler);\n};\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isAsyncLocalStorage = (value: unknown): value is RouteCallsiteStorage =>\n\tisObjectRecord(value) &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst isRouteMethod = (value: unknown): value is RouteMethod =>\n\ttypeof value === 'function';\n\nconst getRouteCallsiteStorage = () => {\n\tconst value = Reflect.get(globalThis, ROUTE_CALLSITE_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') {\n\t\treturn undefined;\n\t}\n\n\treturn isAsyncLocalStorage(value) ? value : undefined;\n};\n\nconst ensureRouteCallsiteStorage = () => {\n\tconst existing = getRouteCallsiteStorage();\n\tif (existing) {\n\t\treturn existing;\n\t}\n\n\tconst storage = new AsyncLocalStorage<RouteCallsiteStore>();\n\tReflect.set(globalThis, ROUTE_CALLSITE_STORAGE_KEY, storage);\n\n\treturn storage;\n};\n\nconst normalizeCallsitePath = (value: string) =>\n\tvalue\n\t\t.replace(`${process.cwd()}/`, '')\n\t\t.replace(process.cwd(), '')\n\t\t.replace(/^\\.\\/+/, '');\n\nconst shouldIgnoreRouteCallsiteFrame = (frame: string) =>\n\tframe.includes('/node_modules/') ||\n\tframe.includes('/dist/') ||\n\tframe.includes('/src/core/devRouteRegistrationCallsite.');\n\nconst getRouteCallsiteLocation = (frame: string) =>\n\tframe.match(/\\((\\/[^)]+:\\d+:\\d+)\\)$/)?.[1] ??\n\tframe.match(/at (\\/[^ ]+:\\d+:\\d+)$/)?.[1];\n\nconst extractRouteRegistrationCallsite = (stack: string) => {\n\tconst location = stack\n\t\t.split('\\n')\n\t\t.slice(1)\n\t\t.map((line) => line.trim())\n\t\t.filter((frame) => !shouldIgnoreRouteCallsiteFrame(frame))\n\t\t.map((frame) => getRouteCallsiteLocation(frame))\n\t\t.find((frameLocation) => frameLocation !== undefined);\n\n\treturn location ? normalizeCallsitePath(location) : undefined;\n};\n\nconst captureRouteRegistrationCallsite = () => {\n\tconst { stack } = new Error();\n\tif (!stack) {\n\t\treturn undefined;\n\t}\n\n\treturn extractRouteRegistrationCallsite(stack);\n};\n\nconst wrapRouteHandlerWithCallsite = (handler: unknown, callsite?: string) => {\n\tif (typeof handler !== 'function' || !callsite) {\n\t\treturn handler;\n\t}\n\n\tconst storage = ensureRouteCallsiteStorage();\n\tconst routeHandler = handler;\n\n\treturn function wrappedRouteHandler(this: unknown, ...args: unknown[]) {\n\t\treturn storage.run({ callsite }, () =>\n\t\t\tReflect.apply(routeHandler, this, args)\n\t\t);\n\t};\n};\n\nconst createPatchedRouteMethod = (\n\toriginalMethod: RouteMethod,\n\tmethodName: string\n) =>\n\tfunction patchedRouteMethod(\n\t\tthis: unknown,\n\t\tpath: unknown,\n\t\t...routeArguments: unknown[]\n\t) {\n\t\t// Elysia 2 route overloads are `(path, handler)` and\n\t\t// `(path, hooks, handler)`. The handler is therefore the second route\n\t\t// argument only when a hooks argument is present.\n\t\tconst handlerIndex = routeArguments.length >= 2 ? 1 : 0;\n\t\tconst handler = routeArguments[handlerIndex];\n\t\tconst callsite = captureRouteRegistrationCallsite();\n\t\tconst wrapped = wrapRouteHandlerWithCallsite(handler, callsite);\n\n\t\t/* Record page-route registrations now, while the raw handler\n\t\t * still exposes its real source. After this point the wrapper\n\t\t * replaces it and `.toString()` no longer mentions the\n\t\t * `handle*PageRequest` helper, so the sitemap can't discover\n\t\t * the route by inspection. The wrapper itself goes into the\n\t\t * `pageHandlerWrappers` map keyed by reference, with the\n\t\t * original handler kept alive for later `.toString()` reads\n\t\t * (used to extract literal `sitemap: { ... }` metadata). */\n\t\tif (\n\t\t\tmethodName === 'get' &&\n\t\t\tisPageHandlerFunction(handler) &&\n\t\t\tisPageHandlerFunction(wrapped) &&\n\t\t\thandlerSourceMentionsPageHelper(handler)\n\t\t) {\n\t\t\tpageHandlerWrappers.set(wrapped, {\n\t\t\t\toriginalHandler: handler\n\t\t\t});\n\t\t}\n\n\t\trouteArguments[handlerIndex] = wrapped;\n\n\t\treturn Reflect.apply(originalMethod, this, [path, ...routeArguments]);\n\t};\n\nexport const getCurrentRouteRegistrationCallsite = () =>\n\tgetRouteCallsiteStorage()?.getStore()?.callsite;\nexport const patchElysiaRouteRegistrationCallsites = () => {\n\tif (process.env[NODE_ENV_KEY] === 'production') {\n\t\treturn;\n\t}\n\n\tif (Reflect.get(globalThis, ROUTE_CALLSITE_PATCHED_KEY) === true) {\n\t\treturn;\n\t}\n\n\tconst { prototype } = Elysia;\n\tROUTE_METHOD_NAMES.forEach((methodName) => {\n\t\tconst originalMethod = Reflect.get(prototype, methodName);\n\t\tif (!isRouteMethod(originalMethod)) return;\n\t\tReflect.set(\n\t\t\tprototype,\n\t\t\tmethodName,\n\t\t\tcreatePatchedRouteMethod(originalMethod, methodName)\n\t\t);\n\t});\n\n\tReflect.set(globalThis, ROUTE_CALLSITE_PATCHED_KEY, true);\n};\n",
|
|
15
15
|
"import { nonceAttr } from './cspNonceRef';\nimport { isDevelopmentRuntime } from './runtimeMode';\n\n/** What a production error page says instead of the error's own message,\n * which can name server paths, hosts or queries. */\nexport const GENERIC_ERROR_MESSAGE =\n\t'Something went wrong while rendering this page.';\n\ntype ErrorPageInput = {\n\tframework: string;\n\tkind: string;\n\tmessage: string;\n\thint: string;\n\tscript?: string;\n};\n\nconst errorPageHtml = ({\n\tframework,\n\thint,\n\tkind,\n\tmessage,\n\tscript = ''\n}: ErrorPageInput) => {\n\tconst frameworkColors: Record<string, string> = {\n\t\tangular: '#dd0031',\n\t\thtml: '#e34c26',\n\t\thtmx: '#1a365d',\n\t\treact: '#61dafb',\n\t\tsvelte: '#ff3e00',\n\t\tvue: '#42b883'\n\t};\n\n\tconst accent = frameworkColors[framework] ?? '#94a3b8';\n\tconst label = framework.charAt(0).toUpperCase() + framework.slice(1);\n\n\treturn `<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>SSR Error - AbsoluteJS</title>\n<style${nonceAttr()}>\n*{margin:0;padding:0;box-sizing:border-box}\nbody{min-height:100vh;background:linear-gradient(135deg,rgba(15,23,42,0.98) 0%,rgba(30,41,59,0.98) 100%);color:#e2e8f0;font-family:\"JetBrains Mono\",\"Fira Code\",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.6;display:flex;align-items:flex-start;justify-content:center;padding:32px}\n.card{max-width:720px;width:100%;background:rgba(30,41,59,0.6);border:1px solid rgba(71,85,105,0.5);border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.05);overflow:hidden}\n.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:rgba(15,23,42,0.5);border-bottom:1px solid rgba(71,85,105,0.4)}\n.brand{font-weight:700;font-size:20px;color:#fff;letter-spacing:-0.02em}\n.badge{padding:5px 10px;border-radius:8px;font-size:12px;font-weight:600;background:${accent};color:#fff;opacity:0.95;box-shadow:0 2px 4px rgba(0,0,0,0.2)}\n.kind{color:#94a3b8;font-size:13px;font-weight:500}\n.content{padding:24px}\n.label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#94a3b8;margin-bottom:8px}\n.message{margin:0;padding:16px 20px;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.25);border-radius:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:#fca5a5;font-size:13px;line-height:1.5}\n.hint{margin-top:20px;padding:12px 20px;background:rgba(71,85,105,0.3);border-radius:10px;border:1px solid rgba(71,85,105,0.4);color:#cbd5e1;font-size:13px}\n</style>\n</head>\n<body>\n<div class=\"card\">\n<div class=\"header\">\n<div style=\"display:flex;align-items:center;gap:12px\">\n<span class=\"brand\">AbsoluteJS</span>\n<span class=\"badge\">${label}</span>\n</div>\n<span class=\"kind\">${kind}</span>\n</div>\n<div class=\"content\">\n<div class=\"label\">What went wrong</div>\n<pre class=\"message\">${message.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')}</pre>\n<div class=\"hint\">${hint}</div>\n</div>\n</div>\n${script}\n</body>\n</html>`;\n};\n\n// Dev build-error pages reload themselves: once the HMR socket reports a\n// finished rebuild or an update (or comes back after a server restart), the\n// fix is in, so asking for the page again shows it.\nconst reloadOnRebuild = () =>\n\t`<script${nonceAttr()}>(()=>{const url=(location.protocol==='https:'?'wss://':'ws://')+location.host+'/hmr';let seen=false;const connect=()=>{const socket=new WebSocket(url);socket.onopen=()=>{if(seen)location.reload();seen=true;};socket.onmessage=(event)=>{try{const message=JSON.parse(event.data);const type=message&&typeof message.type==='string'?message.type:'';if(type==='rebuild-complete'||type==='server-entry-reloaded'||type.endsWith('-update'))location.reload();}catch{}};socket.onclose=()=>setTimeout(connect,500);};connect();})();</script>`;\n\n/** Dev only: the page a request gets when its page failed to build, with\n * the build's own error and a page that reloads itself once fixed. */\nexport const buildErrorPage = (\n\tframework: string,\n\tpageName: string,\n\terror: string | undefined\n) =>\n\terrorPageHtml({\n\t\tframework,\n\t\thint: 'Fix the file and save. This page reloads by itself when the build succeeds.',\n\t\tkind: 'Build Error',\n\t\tmessage: `${pageName || 'This page'} could not be built.\\n\\n${error ?? 'The dev-server terminal has the build output.'}`,\n\t\tscript: reloadOnRebuild()\n\t});\n\nconst errorMessage = (error: unknown) =>\n\terror instanceof Error ? error.message : String(error);\n\nexport const ssrErrorPage = (framework: string, error: unknown) =>\n\terrorPageHtml({\n\t\tframework,\n\t\thint: 'A component threw during server-side rendering. Check the terminal for the full stack trace.',\n\t\tkind: 'Server Render Error',\n\t\t// Only development shows the error itself; the handler has logged\n\t\t// it on the server either way.\n\t\tmessage: isDevelopmentRuntime()\n\t\t\t? errorMessage(error)\n\t\t\t: GENERIC_ERROR_MESSAGE\n\t});\n",
|
|
16
16
|
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { Elysia } from 'elysia';\nimport { buildErrorPage } from '../utils/ssrErrorPage';\n\ntype AbsoluteRequestStore = {\n\trequest: Request;\n\t/** Route pattern Elysia matched for this request (e.g. `/portal/*`).\n\t * Set before the handler runs, for dynamic routes only. */\n\troute?: string;\n\t/** Manifest keys `asset()` could not resolve during this request, in\n\t * call order. Dev only — the page handlers use them to find which\n\t * page to build on demand. */\n\tmissingAssets?: string[];\n};\ntype AbsoluteRequestStorage = AsyncLocalStorage<AbsoluteRequestStore>;\n\nconst REQUEST_STORAGE_KEY = Symbol.for('absolutejs.requestAsyncLocalStorage');\nconst PAGE_WARMER_KEY = Symbol.for('absolutejs.devPageWarmer');\n\nconst isAbsoluteRequestStorage = (\n\tvalue: unknown\n): value is AbsoluteRequestStorage =>\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 getRequestStorage = () => {\n\tconst value = Reflect.get(globalThis, REQUEST_STORAGE_KEY);\n\n\treturn isAbsoluteRequestStorage(value) ? value : undefined;\n};\n\nconst ensureRequestStorage = () => {\n\tconst existing = getRequestStorage();\n\tif (existing) return existing;\n\n\tconst storage = new AsyncLocalStorage<AbsoluteRequestStore>();\n\tReflect.set(globalThis, REQUEST_STORAGE_KEY, storage);\n\n\treturn storage;\n};\n\nexport const absoluteRequestContext = new Elysia({\n\tname: 'absolutejs-request-context'\n})\n\t.onRequest(({ request }) => {\n\t\tensureRequestStorage().enterWith({ request });\n\t})\n\t.onBeforeHandle(({ request, route }) => {\n\t\tconst store = getRequestStorage()?.getStore();\n\t\tif (store && store.request === request && typeof route === 'string') {\n\t\t\tstore.route = route;\n\t\t}\n\t})\n\t.as('global');\nexport const getCurrentAbsoluteRequest = () =>\n\tgetRequestStorage()?.getStore()?.request;\n/** The Elysia route pattern matched for the current request, when the\n * request is the one given (or no request is given). Lets page handlers\n * derive mount-relative values such as Angular's `APP_BASE_HREF` at\n * request time, wherever the handler call is written. */\nexport const getCurrentAbsoluteRoute = (request?: Request) => {\n\tconst store = getRequestStorage()?.getStore();\n\tif (!store) return undefined;\n\tif (request && store.request !== request) return undefined;\n\n\treturn store.route;\n};\nexport const runWithAbsoluteRequest = <Result>(\n\trequest: Request,\n\tcallback: () => Result\n) => ensureRequestStorage().run({ request }, callback);\n\n/* ---------------------------------------------------------------------\n * Dev on-demand pages.\n *\n * `absolute dev` builds a page the first time someone asks for it. The\n * route's `asset(manifest, 'PortalIndex')` call runs before the handler\n * and yields `''` for an unbuilt page; the handler then needs to know\n * which key was asked for so it can build that page and re-read the\n * manifest. `asset()` records the miss on the request's async context,\n * and the handler resolves it through the warmer the dev server\n * registered on `globalThis` (keyed by `Symbol.for`, so the user's server\n * bundle and the framework runtime share one instance even when they\n * load separate module copies). Production never registers a warmer, so\n * every helper below is a no-op there.\n * ------------------------------------------------------------------- */\n\nexport type DevPageWarmStatus = 'built' | 'failed' | 'ready' | 'unknown';\n\nexport type DevPageWarmer = {\n\t/** Map a manifest key (or page source path) to its page. `built` says\n\t * whether that page's bundle already exists in the manifest. */\n\tdescribe: (key: string) => { name: string; built: boolean } | undefined;\n\t/** Build the page a key belongs to (deduped per page) and resolve once\n\t * its manifest entries exist. */\n\twarm: (key: string) => Promise<DevPageWarmStatus>;\n\t/** Current manifest value for a key, after a warm. */\n\tlookup: (key: string) => string | undefined;\n\t/** The error the last failed page build reported, if any. */\n\tlastError?: () => string | undefined;\n};\n\nexport type DeferredPageAssets = {\n\t/** PascalCase page name the missing keys resolved to. */\n\tname: string;\n\t/** The on-demand build did not produce the page (build error). `lookup`\n\t * then yields `''` for every key, so the handler falls through to its\n\t * manifest error — now with the real page name in it. */\n\tfailed: boolean;\n\t/** What the failed build reported (`undefined` when it built). */\n\terror: string | undefined;\n\t/** Manifest value for a key after the build (`''` when still absent). */\n\tlookup: (key: string) => string;\n\t/** Stylesheet hrefs for the CSS keys that went missing during this\n\t * request and exist now. The route already rendered its `<head>` with\n\t * `''` for them, so the handler links them in itself for this first\n\t * response; every later request resolves them through `asset()`. */\n\tcssHrefs: () => string[];\n};\n\nconst CSS_KEY_RE = /(?:CSS|Css)$/;\n\nconst isDevPageWarmer = (value: unknown): value is DevPageWarmer =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t'describe' in value &&\n\ttypeof value.describe === 'function' &&\n\t'warm' in value &&\n\ttypeof value.warm === 'function' &&\n\t'lookup' in value &&\n\ttypeof value.lookup === 'function';\n\nexport const devBuildErrorResponse = (\n\tframework: string,\n\tassets: DeferredPageAssets | null\n) => {\n\tif (!assets?.failed) return null;\n\n\treturn new Response(buildErrorPage(framework, assets.name, assets.error), {\n\t\theaders: {\n\t\t\t'cache-control': 'no-store',\n\t\t\t'content-type': 'text/html; charset=utf-8'\n\t\t},\n\t\tstatus: 500\n\t});\n};\nexport const getDevPageWarmer = () => {\n\tconst value = Reflect.get(globalThis, PAGE_WARMER_KEY);\n\n\treturn isDevPageWarmer(value) ? value : undefined;\n};\nexport const getMissingAssets = () => {\n\tconst missing = getRequestStorage()?.getStore()?.missingAssets;\n\n\treturn missing ? [...missing] : [];\n};\nexport const recordMissingAsset = (name: string) => {\n\tconst store = getRequestStorage()?.getStore();\n\tif (!store) return;\n\tstore.missingAssets ??= [];\n\tstore.missingAssets.push(name);\n};\nexport const resolveDeferredPageAssets = async () => {\n\tconst warmer = getDevPageWarmer();\n\tif (!warmer) return null;\n\tconst missing = getMissingAssets();\n\tconst pageKey = missing.find((key) => warmer.describe(key));\n\tif (pageKey === undefined) return null;\n\tconst described = warmer.describe(pageKey);\n\tif (!described) return null;\n\tconst status = await warmer.warm(pageKey);\n\t// A failed build still resolves the page name so the handler's manifest\n\t// error names the page (the build's own error is in the terminal and\n\t// the overlay); `lookup` yields `''` for every key.\n\tconst failed = status === 'failed' || status === 'unknown';\n\n\tconst lookup = (key: string) => (failed ? '' : (warmer.lookup(key) ?? ''));\n\tconst cssKeys = missing.filter((key) => CSS_KEY_RE.test(key));\n\tconst cssHrefs = () =>\n\t\tcssKeys\n\t\t\t.map(lookup)\n\t\t\t.filter((href) => href.length > 0 && href.startsWith('/'));\n\tconst assets: DeferredPageAssets = {\n\t\tcssHrefs,\n\t\terror: failed ? warmer.lastError?.() : undefined,\n\t\tfailed,\n\t\tlookup,\n\t\tname: described.name\n\t};\n\n\treturn assets;\n};\nexport const setDevPageWarmer = (warmer: DevPageWarmer | undefined) => {\n\tReflect.set(globalThis, PAGE_WARMER_KEY, warmer);\n};\nexport const withDeferredStylesheets = (\n\thead: string,\n\tassets: DeferredPageAssets | null\n) => {\n\tconst hrefs = assets?.cssHrefs() ?? [];\n\tif (hrefs.length === 0) return head;\n\tconst links = hrefs\n\t\t.filter((href) => !head.includes(href))\n\t\t.map((href) => `<link rel=\"stylesheet\" href=\"${href}\">`)\n\t\t.join('');\n\tif (links.length === 0) return head;\n\tconst headClose = /<\\/head\\s*>/i.exec(head);\n\n\treturn headClose\n\t\t? head.slice(0, headClose.index) + links + head.slice(headClose.index)\n\t\t: head + links;\n};\n",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"const normalizeSlug = (str: string) =>\n\tstr\n\t\t.trim()\n\t\t.replace(/\\s+/g, '-')\n\t\t.replace(/[^A-Za-z0-9\\-_]+/g, '')\n\t\t.replace(/[-_]{2,}/g, '-');\n\nexport const toKebab = (str: string) =>\n\tnormalizeSlug(str)\n\t\t.replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n\t\t.toLowerCase();\nexport const toPascal = (str: string) => {\n\tif (!str.includes('-') && !str.includes('_')) {\n\t\treturn str.charAt(0).toUpperCase() + str.slice(1);\n\t}\n\n\treturn normalizeSlug(str)\n\t\t.split(/[-_]/)\n\t\t.filter(Boolean)\n\t\t.map(\n\t\t\t(segment) =>\n\t\t\t\tsegment.charAt(0).toUpperCase() + segment.slice(1).toLowerCase()\n\t\t)\n\t\t.join('');\n};\nexport const toScreamingSnake = (str: string) =>\n\tstr.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n",
|
|
24
24
|
"import { readCspNonce } from '../utils/cspNonceRef';\n\n/* HTML and HTMX pages, and html convention files, are files from the\n * project rather than markup rendered from data, so every inline <script>\n * and <style> in them is the author's own: each gets the request's CSP\n * nonce. Framework pages never go through this; their scripts get the\n * nonce where AbsoluteJS writes them, so a script injected through\n * {@html} / v-html / dangerouslySetInnerHTML stays blocked. */\nexport const nonceStaticHtml = async (\n\thtml: string,\n\tnonce: string | undefined = readCspNonce()\n) => {\n\tif (!nonce) return html;\n\tconst stamp: HTMLRewriterTypes.HTMLRewriterElementContentHandlers = {\n\t\telement: (element: HTMLRewriterTypes.Element) => {\n\t\t\tif (!element.hasAttribute('nonce'))\n\t\t\t\telement.setAttribute('nonce', nonce);\n\t\t}\n\t};\n\n\treturn new HTMLRewriter()\n\t\t.on('script', stamp)\n\t\t.on('style', stamp)\n\t\t.transform(new Response(html))\n\t\t.text();\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst parseHtmxConfig = (content: string | null) => {\n\ttry {\n\t\tconst parsed: unknown = JSON.parse(content ?? '{}');\n\n\t\treturn isRecord(parsed) ? parsed : {};\n\t} catch {\n\t\treturn {};\n\t}\n};\n\n/* htmx inserts its own indicator <style> at runtime, which a nonce-based\n * policy blocks unless htmx knows the nonce: it reads `inlineStyleNonce`\n * from <meta name=\"htmx-config\">. Merged into an existing config, or added.\n * `inlineScriptNonce` is deliberately not set: htmx would put it on scripts\n * inside swapped fragments, which can carry data. */\nexport const withHtmxStyleNonce = async (\n\thtml: string,\n\tnonce: string | undefined = readCspNonce()\n) => {\n\tif (!nonce) return html;\n\tlet found = false;\n\tconst merged = await new HTMLRewriter()\n\t\t.on('meta[name=\"htmx-config\"]', {\n\t\t\telement: (element) => {\n\t\t\t\tfound = true;\n\t\t\t\tconst config = parseHtmxConfig(element.getAttribute('content'));\n\t\t\t\telement.setAttribute(\n\t\t\t\t\t'content',\n\t\t\t\t\tJSON.stringify({ ...config, inlineStyleNonce: nonce })\n\t\t\t\t);\n\t\t\t}\n\t\t})\n\t\t.transform(new Response(html))\n\t\t.text();\n\tif (found) return merged;\n\tconst meta = `<meta name=\"htmx-config\" content='${JSON.stringify({ inlineStyleNonce: nonce })}'>`;\n\tconst headClose = merged.search(/<\\/head>/i);\n\n\treturn headClose >= 0\n\t\t? `${merged.slice(0, headClose)}${meta}${merged.slice(headClose)}`\n\t\t: `${meta}${merged}`;\n};\n",
|
|
25
25
|
"import { isDevelopmentRuntime } from './runtimeMode';\nimport { basename } from 'node:path';\nimport type { ConventionsMap, ErrorPageProps } from '../../types/conventions';\nimport { toPascal } from './stringModifiers';\nimport { nonceAttr, nonceSvelteHeadStyles, readCspNonce } from './cspNonceRef';\nimport { nonceStaticHtml } from '../core/staticHtmlNonce';\nimport { GENERIC_ERROR_MESSAGE } from './ssrErrorPage';\n\n// Use globalThis so the conventions map is shared across all bundles.\n// The main bundle (dist/index.js) calls setConventions, but framework\n// bundles (dist/svelte/index.js, etc.) need to read the same map.\nconst CONVENTIONS_KEY = '__absoluteConventions';\n\nconst isConventionsMap = (value: unknown): value is ConventionsMap =>\n\tBoolean(value) && typeof value === 'object';\n\nconst getMap = () => {\n\tconst value: unknown = Reflect.get(globalThis, CONVENTIONS_KEY);\n\tif (isConventionsMap(value)) return value;\n\n\tconst empty: ConventionsMap = {};\n\n\treturn empty;\n};\n\nexport const derivePageName = (pagePath: string) => {\n\tconst base = basename(pagePath);\n\t// Strip hash and extension: \"SvelteExample.abc123.js\" → \"SvelteExample\"\n\tconst dotIndex = base.indexOf('.');\n\tconst name = dotIndex > 0 ? base.slice(0, dotIndex) : base;\n\n\treturn toPascal(name);\n};\nexport const getConventions = () => getMap();\n\nconst normalizeConventionPageName = (name: string) =>\n\ttoPascal(name).replace(/\\d+$/, '');\n\nexport const hasErrorConvention = (framework: keyof ConventionsMap) => {\n\tconst conventions = getMap()[framework];\n\tif (!conventions) return false;\n\tif (conventions.defaults?.error) return true;\n\n\treturn Object.values(conventions.pages ?? {}).some((page) =>\n\t\tBoolean(page.error)\n\t);\n};\nexport const resolveErrorConventionPath = (\n\tframework: keyof ConventionsMap,\n\tpageName: string\n) => {\n\tconst conventions = getMap()[framework];\n\tif (!conventions) return undefined;\n\n\tconst exact = conventions.pages?.[pageName]?.error;\n\tif (exact) return exact;\n\n\tconst normalizedPageName = normalizeConventionPageName(pageName);\n\tfor (const [candidate, page] of Object.entries(conventions.pages ?? {})) {\n\t\tif (normalizeConventionPageName(candidate) === normalizedPageName) {\n\t\t\treturn page.error ?? conventions.defaults?.error;\n\t\t}\n\t}\n\n\treturn conventions.defaults?.error;\n};\nexport const resolveNotFoundConventionPath = (\n\tframework: keyof ConventionsMap\n) => getMap()[framework]?.defaults?.notFound;\nexport const setConventions = (map: ConventionsMap) => {\n\tReflect.set(globalThis, CONVENTIONS_KEY, map);\n};\n\nconst isDev = () => isDevelopmentRuntime();\n\n/* Outside development an error page gets a generic message and no stack.\n * Error messages routinely carry server details (a failed read names the\n * absolute path it tried, a database error names hosts and tables), and the\n * convention page renders them to whoever sent the request. The request\n * handler has already logged the full error on the server. */\nconst buildErrorProps = (error: unknown): ErrorPageProps => {\n\tconst name = error instanceof Error ? error.name : 'Error';\n\tif (!isDev()) return { message: GENERIC_ERROR_MESSAGE, name };\n\tif (error instanceof Error) {\n\t\treturn {\n\t\t\tmessage: error.message,\n\t\t\tname,\n\t\t\t...(error.stack ? { stack: error.stack } : {})\n\t\t};\n\t}\n\n\treturn { message: String(error), name };\n};\n\nconst renderReactError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\tconst { createElement } = await import('react');\n\tconst { renderToReadableStream } = await import('react-dom/server');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tif (typeof ErrorComponent !== 'function') return null;\n\n\tconst element = createElement(ErrorComponent, errorProps);\n\tconst stream = await renderToReadableStream(element, {\n\t\tnonce: readCspNonce()\n\t});\n\n\treturn new Response(stream, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst renderSvelteError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\tconst { render } = await import('svelte/server');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tif (!ErrorComponent) return null;\n\n\tconst nonce = readCspNonce();\n\tconst { head, body } = render(ErrorComponent, {\n\t\tprops: errorProps,\n\t\t...(nonce ? { csp: { nonce } } : {})\n\t});\n\tconst html = `<!DOCTYPE html><html><head>${nonceSvelteHeadStyles(head)}</head><body>${body}</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst unescapeVueStyles = (ssrBody: string) => {\n\tlet styles = '';\n\tconst body = ssrBody.replace(\n\t\t/<style>([\\s\\S]*?)<\\/style>/g,\n\t\t(_, css: string) => {\n\t\t\tstyles += `<style${nonceAttr()}>${css\n\t\t\t\t.replace(/"/g, '\"')\n\t\t\t\t.replace(/&/g, '&')\n\t\t\t\t.replace(/</g, '<')\n\t\t\t\t.replace(/>/g, '>')}</style>`;\n\n\t\t\treturn '';\n\t\t}\n\t);\n\n\treturn { body, styles };\n};\n\nconst renderVueError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\tconst { createSSRApp, h } = await import('vue');\n\tconst { renderToString } = await import('vue/server-renderer');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tif (!ErrorComponent) return null;\n\n\tconst app = createSSRApp({\n\t\trender: () => h(ErrorComponent, errorProps)\n\t});\n\tconst rawBody = await renderToString(app);\n\n\t// Vue SSR escapes quotes inside <component is=\"style\"> tags.\n\t// Extract style content, unescape it, and move to <head>.\n\tconst { styles, body } = unescapeVueStyles(rawBody);\n\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst renderAngularError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\t// Angular convention error pages use the simple function-style renderer.\n\t// Class-style components (templateUrl/styleUrl trio) routed through the\n\t// full Angular SSR pipeline are tracked separately — see CLAUDE.md.\n\tconst mod = await import(conventionPath);\n\tconst renderFn = mod.default;\n\tif (typeof renderFn !== 'function') return null;\n\n\tconst html = renderFn(errorProps);\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst escapeHtml = (value: string) =>\n\tvalue\n\t\t.replace(/&/g, '&')\n\t\t.replace(/</g, '<')\n\t\t.replace(/>/g, '>')\n\t\t.replace(/\"/g, '"')\n\t\t.replace(/'/g, ''');\n\nconst replaceErrorTokens = (template: string, errorProps: ErrorPageProps) =>\n\ttemplate\n\t\t.replace(/\\{\\{\\s*name\\s*\\}\\}/g, escapeHtml(errorProps.name))\n\t\t.replace(/\\{\\{\\s*message\\s*\\}\\}/g, escapeHtml(errorProps.message))\n\t\t.replace(\n\t\t\t/\\{\\{\\s*stack\\s*\\}\\}/g,\n\t\t\terrorProps.stack ? escapeHtml(errorProps.stack) : ''\n\t\t);\n\nconst renderHtmlError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\tconst template = await nonceStaticHtml(\n\t\tawait Bun.file(conventionPath).text()\n\t);\n\tconst html = replaceErrorTokens(template, errorProps);\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst logConventionRenderError = (\n\tframework: keyof ConventionsMap,\n\tlabel: string,\n\trenderError: unknown\n) => {\n\tconst message = renderError instanceof Error ? renderError.message : '';\n\tif (\n\t\tmessage.includes('Cannot find module') ||\n\t\tmessage.includes('Cannot find package') ||\n\t\tmessage.includes('not found in module')\n\t) {\n\t\tconsole.error(\n\t\t\t`[SSR] Convention ${label} page for ${framework} failed: missing framework package. ` +\n\t\t\t\t`Ensure the ${framework} runtime is installed (e.g. bun add ${framework === 'react' ? 'react react-dom' : framework}).`\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconsole.error(\n\t\t`[SSR] Failed to render ${framework} convention ${label} page:`,\n\t\trenderError\n\t);\n};\n\n// Phase 1 Ember adapter: convention pages aren't wired yet (no\n// renderEmberError analog ships in v1). Returning null falls through to\n// the generic ssrErrorPage. Phase 1.5 replaces this stub with a real\n// renderer once the convention scanner knows about .gjs/.gts files.\nconst renderEmberError = async () => null;\nconst renderEmberNotFound = async () => null;\n\nconst ERROR_RENDERERS: Record<\n\tkeyof ConventionsMap,\n\t(\n\t\tconventionPath: string,\n\t\terrorProps: ErrorPageProps\n\t) => Promise<Response | null>\n> = {\n\tangular: renderAngularError,\n\tember: renderEmberError,\n\thtml: renderHtmlError,\n\thtmx: renderHtmlError,\n\treact: renderReactError,\n\tsvelte: renderSvelteError,\n\tvue: renderVueError\n};\n\nconst tryFrameworkErrorConvention = async (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\terrorProps: ErrorPageProps,\n\terror: unknown\n) => {\n\tlet conventionPath = resolveErrorConventionPath(framework, pageName);\n\tif (!conventionPath && error instanceof Error && error.stack) {\n\t\tfor (const match of error.stack.matchAll(\n\t\t\t/^\\s*at\\s+([A-Za-z_$][\\w$]*)/gm\n\t\t)) {\n\t\t\tconst [, candidate] = match;\n\t\t\tif (!candidate) continue;\n\n\t\t\tconventionPath = resolveErrorConventionPath(framework, candidate);\n\t\t\tif (conventionPath) break;\n\t\t}\n\t}\n\tif (!conventionPath) return null;\n\n\tconst renderer = ERROR_RENDERERS[framework];\n\tif (!renderer) return null;\n\n\ttry {\n\t\treturn await renderer(conventionPath, errorProps);\n\t} catch (renderError) {\n\t\tlogConventionRenderError(framework, 'error', renderError);\n\t}\n\n\treturn null;\n};\n\n/* Whether a request is a page navigation or an HTMX request, the only\n * requests the HTML error and not-found conventions answer (see\n * renderStaticRouteError below). A fetch or API client asking for JSON gets\n * Elysia's JSON response, not an HTML page. */\nexport const isPageRequest = (request: Request) => {\n\tif (request.headers.get('hx-request') === 'true') return true;\n\tif (request.headers.get('sec-fetch-dest') === 'document') return true;\n\n\treturn (request.headers.get('accept') ?? '').includes('text/html');\n};\n\nexport const renderConventionError = async (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\terror: unknown\n) => {\n\tconst errorProps = buildErrorProps(error);\n\n\tconst frameworkResponse = await tryFrameworkErrorConvention(\n\t\tframework,\n\t\tpageName,\n\t\terrorProps,\n\t\terror\n\t);\n\tif (frameworkResponse) return frameworkResponse;\n\n\t// Universal fallback: any project can ship a plain `error.html` in\n\t// the html pages dir as the last-resort branded error page before\n\t// the inline ssrErrorPage() takes over.\n\tif (framework !== 'html') {\n\t\tconst htmlResponse = await tryFrameworkErrorConvention(\n\t\t\t'html',\n\t\t\tpageName,\n\t\t\terrorProps,\n\t\t\terror\n\t\t);\n\t\tif (htmlResponse) return htmlResponse;\n\t}\n\n\treturn null;\n};\n\n/* An error thrown by a route handler (not by a page handler, which renders\n * its own error page) reaches Elysia's onError. When the request is a page\n * navigation or an HTMX request and the project ships an HTML or HTMX\n * error.html, render that instead of Elysia's JSON 500. HTMX requests try\n * the HTMX directory's error.html first. Outside development\n * buildErrorProps gives the page a generic message and no stack, so no file\n * paths or internals leak. */\n\nexport const renderStaticRouteError = async (\n\trequest: Request,\n\terror: unknown\n) => {\n\tif (!isPageRequest(request)) return null;\n\tconst preferHtmx = request.headers.get('hx-request') === 'true';\n\tconst order: ('html' | 'htmx')[] = preferHtmx\n\t\t? ['htmx', 'html']\n\t\t: ['html', 'htmx'];\n\tconst frameworks = order.filter((framework) =>\n\t\thasErrorConvention(framework)\n\t);\n\tif (frameworks.length === 0) return null;\n\n\tconst errorProps = buildErrorProps(error);\n\tconst renderNext = async (\n\t\tremaining: ('html' | 'htmx')[]\n\t): Promise<Response | null> => {\n\t\tconst [framework, ...rest] = remaining;\n\t\tif (!framework) return null;\n\t\tconst response = await tryFrameworkErrorConvention(\n\t\t\tframework,\n\t\t\t'',\n\t\t\terrorProps,\n\t\t\t// Per-page conventions are matched from the original stack.\n\t\t\terror\n\t\t);\n\n\t\treturn response ?? renderNext(rest);\n\t};\n\n\treturn renderNext(frameworks);\n};\n\nconst renderReactNotFound = async (conventionPath: string) => {\n\tconst { createElement } = await import('react');\n\tconst { renderToReadableStream } = await import('react-dom/server');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tif (typeof NotFoundComponent !== 'function') return null;\n\n\tconst element = createElement(NotFoundComponent);\n\tconst stream = await renderToReadableStream(element, {\n\t\tnonce: readCspNonce()\n\t});\n\n\treturn new Response(stream, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderSvelteNotFound = async (conventionPath: string) => {\n\tconst { render } = await import('svelte/server');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tif (!NotFoundComponent) return null;\n\n\tconst nonce = readCspNonce();\n\tconst { head, body } = render(\n\t\tNotFoundComponent,\n\t\tnonce ? { csp: { nonce } } : {}\n\t);\n\tconst html = `<!DOCTYPE html><html><head>${nonceSvelteHeadStyles(head)}</head><body>${body}</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderVueNotFound = async (conventionPath: string) => {\n\tconst { createSSRApp, h } = await import('vue');\n\tconst { renderToString } = await import('vue/server-renderer');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tif (!NotFoundComponent) return null;\n\n\tconst app = createSSRApp({\n\t\trender: () => h(NotFoundComponent)\n\t});\n\tconst rawBody = await renderToString(app);\n\n\tconst { styles, body } = unescapeVueStyles(rawBody);\n\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderAngularNotFound = async (conventionPath: string) => {\n\tconst mod = await import(conventionPath);\n\tconst renderFn = mod.default;\n\tif (typeof renderFn !== 'function') return null;\n\n\tconst html = renderFn();\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderHtmlNotFound = async (conventionPath: string) => {\n\tconst html = await nonceStaticHtml(await Bun.file(conventionPath).text());\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst NOT_FOUND_RENDERERS: Record<\n\tkeyof ConventionsMap,\n\t(conventionPath: string) => Promise<Response | null>\n> = {\n\tangular: renderAngularNotFound,\n\tember: renderEmberNotFound,\n\thtml: renderHtmlNotFound,\n\thtmx: renderHtmlNotFound,\n\treact: renderReactNotFound,\n\tsvelte: renderSvelteNotFound,\n\tvue: renderVueNotFound\n};\n\nexport const renderConventionNotFound = async (\n\tframework: keyof ConventionsMap\n) => {\n\tconst conventionPath = resolveNotFoundConventionPath(framework);\n\tif (!conventionPath) return null;\n\n\tconst renderer = NOT_FOUND_RENDERERS[framework];\n\tif (!renderer) return null;\n\n\ttry {\n\t\treturn await renderer(conventionPath);\n\t} catch (renderError) {\n\t\tlogConventionRenderError(framework, 'not-found', renderError);\n\t}\n\n\treturn null;\n};\n\nconst NOT_FOUND_PRIORITY: (keyof ConventionsMap)[] = [\n\t'react',\n\t'svelte',\n\t'vue',\n\t'angular',\n\t'html',\n\t'htmx'\n];\n\n/** Renders the first available not-found convention. An HTMX request\n * (`HX-Request` header) tries the HTMX pages directory's not-found.html\n * first, so an HTMX swap gets HTMX markup. */\nexport const renderFirstNotFound = async (\n\toptions: { preferHtmx?: boolean } = {}\n) => {\n\tconst renderNext = async (frameworks: (keyof ConventionsMap)[]) => {\n\t\tconst [framework, ...remaining] = frameworks;\n\t\tif (!framework) {\n\t\t\treturn null;\n\t\t}\n\t\tif (!getMap()[framework]?.defaults?.notFound) {\n\t\t\treturn renderNext(remaining);\n\t\t}\n\n\t\tconst response = await renderConventionNotFound(framework);\n\t\tif (response) {\n\t\t\treturn response;\n\t\t}\n\n\t\treturn renderNext(remaining);\n\t};\n\n\treturn renderNext(\n\t\toptions.preferHtmx\n\t\t\t? ['htmx', ...NOT_FOUND_PRIORITY.filter((key) => key !== 'htmx')]\n\t\t\t: NOT_FOUND_PRIORITY\n\t);\n};\n",
|
|
26
|
-
"import type { SpaHost } from './spaRouteTypes';\nimport { renderFirstNotFound } from './resolveConvention';\nimport { basename } from 'node:path';\nimport type { ConventionsMap } from '../../types/conventions';\n\nconst SPA_ROUTES_KEY = '__absoluteSpaRoutes';\n\nexport type RuntimeSpaHost = SpaHost & { framework: keyof ConventionsMap };\n\nexport const setSpaRouteManifest = (hosts: RuntimeSpaHost[]) => {\n\tReflect.set(globalThis, SPA_ROUTES_KEY, hosts);\n};\n\nconst isRuntimeSpaHost = (value: unknown): value is RuntimeSpaHost =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\ttypeof Reflect.get(value, 'framework') === 'string';\n\
|
|
26
|
+
"import type { SpaHost } from './spaRouteTypes';\nimport { renderFirstNotFound } from './resolveConvention';\nimport { basename } from 'node:path';\nimport type { ConventionsMap } from '../../types/conventions';\n\nconst SPA_ROUTES_KEY = '__absoluteSpaRoutes';\n\nexport type RuntimeSpaHost = SpaHost & { framework: keyof ConventionsMap };\n\nexport const setSpaRouteManifest = (hosts: RuntimeSpaHost[]) => {\n\tReflect.set(globalThis, SPA_ROUTES_KEY, hosts);\n};\n\nconst isRuntimeSpaHost = (value: unknown): value is RuntimeSpaHost =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\ttypeof Reflect.get(value, 'framework') === 'string';\n\nexport const getSpaRouteManifest = () => {\n\tconst value: unknown = Reflect.get(globalThis, SPA_ROUTES_KEY);\n\n\treturn Array.isArray(value) ? value.filter(isRuntimeSpaHost) : [];\n};\n\nconst normalizePath = (path: string) => {\n\tconst withLeadingSlash = path.startsWith('/') ? path : `/${path}`;\n\tconst trimmed = withLeadingSlash.replace(/\\/+$/, '');\n\n\treturn trimmed || '/';\n};\n\nconst fullRoutePath = (baseHref: string, routePath: string) => {\n\tconst base = normalizePath(baseHref);\n\tconst route = normalizePath(routePath);\n\tif (base !== '/' && (route === base || route.startsWith(`${base}/`))) {\n\t\treturn route;\n\t}\n\tif (base === '/') return route;\n\n\treturn normalizePath(`${base}/${route.replace(/^\\/+/, '')}`);\n};\n\nconst routePattern = (path: string) => {\n\tconst segments = normalizePath(path).split('/').filter(Boolean);\n\tlet expression = '^';\n\tfor (const segment of segments) {\n\t\tif (segment === '*' || segment === '**') {\n\t\t\texpression += '(?:/.*)?';\n\t\t\tcontinue;\n\t\t}\n\t\tconst parameter = /^:[A-Za-z_$][A-Za-z0-9_$]*(?:\\((.*)\\))?(\\?)?$/.exec(\n\t\t\tsegment\n\t\t);\n\t\tif (parameter) {\n\t\t\tconst valuePattern = parameter[1] || '[^/]+';\n\t\t\texpression += parameter[2]\n\t\t\t\t? `(?:/${valuePattern})?`\n\t\t\t\t: `/${valuePattern}`;\n\t\t\tcontinue;\n\t\t}\n\t\texpression += `/${segment.replace(/[.+?^${}()|[\\]\\\\]/g, '\\\\$&')}`;\n\t}\n\n\treturn new RegExp(`${expression || '^/'}/?$`);\n};\n\nconst sourcePageName = (sourceFile: string) =>\n\tbasename(sourceFile)\n\t\t.replace(/\\.[^.]+$/, '')\n\t\t.toLowerCase();\n\nexport const isKnownSpaRoute = (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\trequest: Request | undefined\n) => {\n\tif (!request) return true;\n\tlet pathname: string;\n\ttry {\n\t\tpathname = normalizePath(new URL(request.url).pathname);\n\t} catch {\n\t\treturn true;\n\t}\n\n\tconst hosts = getSpaRouteManifest().filter((host) => {\n\t\tif (host.framework !== framework) return false;\n\t\tif (sourcePageName(host.sourceFile) !== pageName.toLowerCase())\n\t\t\treturn false;\n\t\tconst base = normalizePath(host.baseHref);\n\n\t\treturn (\n\t\t\tbase === '/' || pathname === base || pathname.startsWith(`${base}/`)\n\t\t);\n\t});\n\tif (hosts.length === 0) return true;\n\n\treturn hosts.some((host) =>\n\t\thost.routes.some((route) =>\n\t\t\troutePattern(fullRoutePath(host.baseHref, route.path)).test(\n\t\t\t\tpathname\n\t\t\t)\n\t\t)\n\t);\n};\n\nexport const renderSpaNotFound = async (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\trequest: Request | undefined\n) => {\n\tif (isKnownSpaRoute(framework, pageName, request)) return null;\n\n\treturn (\n\t\t(await renderFirstNotFound()) ??\n\t\tnew Response('Not found', {\n\t\t\theaders: { 'Content-Type': 'text/plain' },\n\t\t\tstatus: 404\n\t\t})\n\t);\n};\n",
|
|
27
27
|
"/** Human-readable attributes a browser translator may rewrite before hydration. */\nexport const TRANSLATABLE_ATTRIBUTES = [\n\t'alt',\n\t'title',\n\t'placeholder',\n\t'aria-label'\n] as const;\n",
|
|
28
28
|
"import { nonceAttr } from '../utils/cspNonceRef';\nimport { TRANSLATABLE_ATTRIBUTES } from '../client/browserTranslationAttributes';\n\nconst BASELINE_MARKER = '__ABSOLUTE_SSR_TEXT_BASELINES__';\n\n/** Inline this after SSR markup and before any client entry executes. The\n * snapshot records server-authored text while keeping it out of the DOM, so\n * browser translation remains free to edit the rendered text. */\nexport const BROWSER_TRANSLATION_BASELINE_SCRIPT =\n\t'window.__ABSOLUTE_SSR_TEXT_BASELINES__=new WeakMap();' +\n\t'window.__ABSOLUTE_SSR_ATTRIBUTE_BASELINES__=new WeakMap();' +\n\t'{const r=document.body,b=window.__ABSOLUTE_SSR_TEXT_BASELINES__,' +\n\t'a=window.__ABSOLUTE_SSR_ATTRIBUTE_BASELINES__;' +\n\t'if(r)for(const e of [r,...r.querySelectorAll(\"*\")]){' +\n\t'const t=new Map();for(const [i,n]of[...e.childNodes].entries())' +\n\t'if(n.nodeType===3)t.set(i,n.nodeValue??\"\");if(t.size)b.set(e,t);' +\n\t`const v=new Map();for(const k of ${JSON.stringify(TRANSLATABLE_ATTRIBUTES)}){` +\n\t'const s=e.getAttribute(k);if(s!==null)v.set(k,s);}if(v.size)a.set(e,v);}}';\n\nexport const browserTranslationBaselineTag = () =>\n\t`<script${nonceAttr()}>${BROWSER_TRANSLATION_BASELINE_SCRIPT}</script>`;\n\nexport const injectBrowserTranslationBaseline = (html: string) => {\n\tif (html.includes(BASELINE_MARKER)) return html;\n\tconst script = browserTranslationBaselineTag();\n\tconst closingBodyIndex = html.lastIndexOf('</body>');\n\tif (closingBodyIndex < 0) return `${html}${script}`;\n\n\treturn `${html.slice(0, closingBodyIndex)}${script}${html.slice(closingBodyIndex)}`;\n};\n",
|
|
29
29
|
"/* Shared by the React Server Components build pass and page handler. */\n\n/** Manifest key of the browser entry that hydrates every RSC page. */\nexport const REACT_SERVER_CLIENT_MANIFEST_KEY = 'ReactServerClient';\n/** `asset(manifest, '<Page>RSC')` names a page's react-server bundle. A\n * page whose name already ends in RSC is not suffixed twice. */\nexport const REACT_SERVER_PAGE_MANIFEST_SUFFIX = 'RSC';\n/** Global array the inline Flight payload scripts push into. */\nexport const REACT_SERVER_PAYLOAD_GLOBAL = '__absoluteReactServerPayload';\n/** Manifest key of the server bundle that renders Flight to HTML. */\nexport const REACT_SERVER_RENDERER_MANIFEST_KEY = 'ReactServerRenderer';\n/** Written next to the react-server page bundles: where the SSR renderer and\n * the hydration entry of the same build live. */\nexport const REACT_SERVER_RUNTIME_FILE = 'react-server-runtime.json';\n",
|
|
@@ -57,15 +57,15 @@
|
|
|
57
57
|
"import { readFileSync, realpathSync } from 'node:fs';\nimport { mkdir } from 'node:fs/promises';\nimport { basename, dirname, join, relative, resolve } from 'node:path';\nimport { Transpiler } from 'bun';\nimport { isFile } from '../utils/isFile';\nimport { loadVueCompiler } from '../utils/vueCompiler';\nimport { toKebab } from '../utils/stringModifiers';\nimport { createIslandGenerationGuard } from './islandServerGeneration';\n\nconst serverCacheRoot = join(process.cwd(), '.absolutejs', 'islands', 'vue');\n\nconst compiledModuleCache = new Map<string, string>();\n// Dev: an island edit moves the generation; compile again into new files\n// so Bun imports the edit instead of its cached module.\nconst syncIslandGeneration = createIslandGenerationGuard(() => {\n\tcompiledModuleCache.clear();\n});\n\nconst transpiler = new Transpiler({ loader: 'ts', target: 'browser' });\n\nconst ensureRelativeImportPath = (from: string, target: string) => {\n\tconst importPath = relative(dirname(from), target).replace(/\\\\/g, '/');\n\n\treturn importPath.startsWith('.') ? importPath : `./${importPath}`;\n};\n\nconst getCachedModulePath = (sourcePath: string) => {\n\tconst relativeSourcePath = relative(process.cwd(), sourcePath).replace(\n\t\t/\\\\/g,\n\t\t'/'\n\t);\n\tconst normalizedSourcePath = relativeSourcePath.startsWith('..')\n\t\t? sourcePath.replace(/[:\\\\/]/g, '_')\n\t\t: relativeSourcePath;\n\n\tconst generation = syncIslandGeneration();\n\tconst generationSuffix = generation > 0 ? `.g${generation}` : '';\n\n\treturn join(\n\t\tserverCacheRoot,\n\t\t`${normalizedSourcePath}${generationSuffix}.server.js`\n\t);\n};\n\nconst writeIfChanged = async (path: string, content: string) => {\n\tconst targetFile = Bun.file(path);\n\tif (await targetFile.exists()) {\n\t\tconst currentContent = await targetFile.text();\n\t\tif (currentContent === content) return;\n\t}\n\n\tawait Bun.write(path, content);\n};\n\nconst stripExports = (code: string) =>\n\tcode.replace(/export\\s+default/, 'const script =');\n\nconst mergeVueImports = (code: string) => {\n\tconst lines = code.split('\\n');\n\tconst specifierSet = new Set<string>();\n\tconst vueImportRegex = /^import\\s+{([^}]+)}\\s+from\\s+['\"]vue['\"];?$/;\n\n\tlines.forEach((line) => {\n\t\tconst match = line.match(vueImportRegex);\n\t\tif (match?.[1])\n\t\t\tmatch[1]\n\t\t\t\t.split(',')\n\t\t\t\t.forEach((importSpecifier) =>\n\t\t\t\t\tspecifierSet.add(importSpecifier.trim())\n\t\t\t\t);\n\t});\n\n\tconst nonVueLines = lines.filter((line) => !vueImportRegex.test(line));\n\n\treturn specifierSet.size\n\t\t? [\n\t\t\t\t`import { ${[...specifierSet].join(', ')} } from \"vue\";`,\n\t\t\t\t...nonVueLines\n\t\t\t].join('\\n')\n\t\t: nonVueLines.join('\\n');\n};\n\n/* A relative specifier in an import, a dynamic import or a re-export. */\nconst RELATIVE_SPECIFIER_PATTERN =\n\t/(\\bfrom\\s*|\\bimport\\s*\\(\\s*|\\bimport\\s+)(['\"])(?<spec>\\.{1,2}\\/[^'\"]*)\\2/g;\n\nconst extractRelativeImports = (code: string) =>\n\tArray.from(\n\t\tnew Set(\n\t\t\tArray.from(\n\t\t\t\tcode.matchAll(RELATIVE_SPECIFIER_PATTERN),\n\t\t\t\t(match) => match.groups?.spec\n\t\t\t).filter((spec): spec is string => spec !== undefined)\n\t\t)\n\t);\n\n/* The file a relative non-SFC import names, resolved from the island's\n * source, as Bun would resolve it there (extensions, index files). */\nconst resolveFromSource = (spec: string, sourcePath: string) => {\n\ttry {\n\t\treturn Bun.resolveSync(spec, dirname(sourcePath));\n\t} catch {\n\t\treturn null;\n\t}\n};\n\n/* Compile a `.vue` SFC source file into a JS module suitable for a\n server-side `await import(...)`. Mirrors `compileSvelteServerModule`:\n the build-time pipeline already emits compiled SFCs to `build/...`,\n but the runtime SSR resolver may be handed a build reference that\n points back to the original `.vue` source (Vue island registry\n entries use the source path as their build reference). Bun has no\n runtime `.vue` loader, so this helper produces a cached JS file the\n resolver can dynamically import. */\nexport const compileVueServerModule = async (sourcePath: string) => {\n\tsyncIslandGeneration();\n\tconst cachedModulePath = compiledModuleCache.get(sourcePath);\n\tif (cachedModulePath) return cachedModulePath;\n\n\tconst compiler = await loadVueCompiler();\n\tconst source = await Bun.file(sourcePath).text();\n\tconst { descriptor } = compiler.parse(source, { filename: sourcePath });\n\t// The id the client build gives the component (compileVue.ts): scoped\n\t// styles select `data-v-<id>`, so the server render must stamp the same\n\t// attribute or the island's shipped stylesheet never matches it.\n\tconst componentId = toKebab(basename(sourcePath, '.vue'));\n\n\tconst hasScript = descriptor.script || descriptor.scriptSetup;\n\tconst compiledScript = hasScript\n\t\t? compiler.compileScript(descriptor, {\n\t\t\t\tfs: {\n\t\t\t\t\tfileExists: isFile,\n\t\t\t\t\trealpath: realpathSync,\n\t\t\t\t\treadFile: (file) =>\n\t\t\t\t\t\tisFile(file) ? readFileSync(file, 'utf-8') : undefined\n\t\t\t\t},\n\t\t\t\tid: componentId,\n\t\t\t\tinlineTemplate: false\n\t\t\t})\n\t\t: { bindings: {}, content: 'export default {};' };\n\n\tconst renderCode = descriptor.template\n\t\t? compiler.compileTemplate({\n\t\t\t\tcompilerOptions: {\n\t\t\t\t\tbindingMetadata: compiledScript.bindings,\n\t\t\t\t\texpressionPlugins: ['typescript'],\n\t\t\t\t\tprefixIdentifiers: true,\n\t\t\t\t\tisCustomElement: (tag) => tag === 'absolute-island'\n\t\t\t\t},\n\t\t\t\tfilename: sourcePath,\n\t\t\t\tid: componentId,\n\t\t\t\tscoped: descriptor.styles.some(\n\t\t\t\t\t(styleBlock) => styleBlock.scoped\n\t\t\t\t),\n\t\t\t\tsource: descriptor.template.content,\n\t\t\t\tssr: true,\n\t\t\t\tssrCssVars: descriptor.cssVars\n\t\t\t}).code\n\t\t: 'const ssrRender = () => {};';\n\n\tconst relativeImports = extractRelativeImports(compiledScript.content);\n\tconst compiledChildren = await Promise.all(\n\t\trelativeImports\n\t\t\t.filter((spec) => spec.endsWith('.vue'))\n\t\t\t.map(async (spec) => ({\n\t\t\t\tcompiledPath: await compileVueServerModule(\n\t\t\t\t\tresolve(dirname(sourcePath), spec)\n\t\t\t\t),\n\t\t\t\tspec\n\t\t\t}))\n\t);\n\n\tconst strippedScript = stripExports(compiledScript.content);\n\tconst transpiledScript = transpiler.transformSync(strippedScript);\n\n\tconst assembled = mergeVueImports(\n\t\t[\n\t\t\ttranspiledScript,\n\t\t\trenderCode,\n\t\t\t'script.ssrRender = ssrRender;',\n\t\t\t'export default script;'\n\t\t].join('\\n')\n\t);\n\n\t/* The module is written under `.absolutejs/islands/vue/`, so every\n\t relative specifier has to be rewritten: a child SFC to its compiled\n\t module, anything else (`../shared/store`) to the file it names next\n\t to the source. Left as written, it resolved against the generated\n\t file and the import failed. */\n\tconst compiledModulePath = getCachedModulePath(sourcePath);\n\tconst rewrittenSpecifiers = new Map<string, string>();\n\tfor (const child of compiledChildren) {\n\t\trewrittenSpecifiers.set(\n\t\t\tchild.spec,\n\t\t\tensureRelativeImportPath(compiledModulePath, child.compiledPath)\n\t\t);\n\t}\n\tfor (const spec of extractRelativeImports(assembled)) {\n\t\tif (rewrittenSpecifiers.has(spec)) continue;\n\t\tconst resolvedImport = resolveFromSource(spec, sourcePath);\n\t\tif (!resolvedImport) continue;\n\t\trewrittenSpecifiers.set(\n\t\t\tspec,\n\t\t\tensureRelativeImportPath(compiledModulePath, resolvedImport)\n\t\t);\n\t}\n\tconst rewritten = assembled.replace(\n\t\tRELATIVE_SPECIFIER_PATTERN,\n\t\t(match, prefix: string, quote: string, spec: string) => {\n\t\t\tconst target = rewrittenSpecifiers.get(spec);\n\n\t\t\treturn target ? `${prefix}${quote}${target}${quote}` : match;\n\t\t}\n\t);\n\n\tawait mkdir(dirname(compiledModulePath), { recursive: true });\n\tawait writeIfChanged(compiledModulePath, rewritten);\n\tcompiledModuleCache.set(sourcePath, compiledModulePath);\n\n\treturn compiledModulePath;\n};\n",
|
|
58
58
|
"import type {\n\tIslandRegistry,\n\tIslandRegistryInput,\n\tRuntimeIslandRenderProps\n} from '../../types/island';\nimport {\n\trenderAngularIslandToHtml,\n\trenderReactIslandToHtml,\n\trenderSvelteIslandToHtml,\n\trenderVueIslandToHtml\n} from './islandSsr';\nimport { compileAngularServerModule } from './angularServerModule';\nimport { compileSvelteServerModule } from './svelteServerModule';\nimport { compileVueServerModule } from './vueServerModule';\nimport {\n\tgetIslandMarkerAttributes,\n\tserializeIslandAttributes\n} from './islandMarkupAttributes';\nimport { getIslandBuildReference, getIslandComponent } from './islands';\nimport { createIslandGenerationGuard } from './islandServerGeneration';\n\nlet islandSequence = 0;\nconst resolvedServerComponentCache = new Map<unknown, Promise<unknown>>();\nconst resolvedServerBuildComponentCache = new Map<string, Promise<unknown>>();\n// Dev: an island edit moves the generation; resolve components again.\nconst syncIslandGeneration = createIslandGenerationGuard(() => {\n\tresolvedServerComponentCache.clear();\n\tresolvedServerBuildComponentCache.clear();\n});\n\nconst nextIslandId = () => {\n\tislandSequence += 1;\n\n\treturn `island-${islandSequence}`;\n};\n\ntype AngularServerIslandComponent = import('@angular/core').Type<object>;\ntype ReactServerIslandComponent = import('react').ComponentType<\n\tRecord<string, unknown>\n>;\ntype SvelteServerIslandComponent = import('svelte').Component<\n\tRecord<string, unknown>\n>;\ntype VueServerIslandComponent = import('vue').Component<\n\tRecord<string, unknown>\n>;\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isReactServerIslandComponent = (\n\tvalue: unknown\n): value is ReactServerIslandComponent => typeof value === 'function';\n\nconst isSvelteServerIslandComponent = (\n\tvalue: unknown\n): value is SvelteServerIslandComponent => typeof value === 'function';\n\nconst isVueServerIslandComponent = (\n\tvalue: unknown\n): value is VueServerIslandComponent =>\n\ttypeof value === 'function' || isRecord(value);\n\nconst isAngularServerIslandComponent = (\n\tvalue: unknown\n): value is AngularServerIslandComponent => typeof value === 'function';\n\nconst resolveBuildReferencePath = (source: string, registryPath: string) => {\n\tif (source.startsWith('file://')) return new URL(source).pathname;\n\tif (source.startsWith('.')) return new URL(source, registryPath).pathname;\n\n\treturn source;\n};\n\nconst loadAndCompileServerBuildComponent = async (\n\tbuildReferencePath: string\n) => {\n\tconst compiledModulePath =\n\t\tawait compileSvelteServerModule(buildReferencePath);\n\tconst loadedModule = await import(compiledModulePath);\n\n\treturn 'default' in loadedModule ? loadedModule.default : loadedModule;\n};\n\nconst loadServerBuildComponent = async (buildReferencePath: string) => {\n\tsyncIslandGeneration();\n\tconst cachedBuildComponent =\n\t\tresolvedServerBuildComponentCache.get(buildReferencePath);\n\tif (cachedBuildComponent) {\n\t\treturn cachedBuildComponent;\n\t}\n\n\tconst loadPromise = loadAndCompileServerBuildComponent(buildReferencePath);\n\tresolvedServerBuildComponentCache.set(buildReferencePath, loadPromise);\n\n\treturn loadPromise;\n};\n\nconst resolveRuntimeImportTarget = async (resolvedModulePath: string) => {\n\tif (resolvedModulePath.endsWith('.svelte')) {\n\t\treturn compileSvelteServerModule(resolvedModulePath);\n\t}\n\tif (resolvedModulePath.endsWith('.vue')) {\n\t\treturn compileVueServerModule(resolvedModulePath);\n\t}\n\n\treturn resolvedModulePath;\n};\n\nconst loadServerImportComponent = async (\n\tresolvedComponent: string,\n\texportName?: string\n) => {\n\tconst resolvedModulePath = resolvedComponent.startsWith('.')\n\t\t? new URL(resolvedComponent, import.meta.url).pathname\n\t\t: resolvedComponent;\n\tconst importTarget = await resolveRuntimeImportTarget(resolvedModulePath);\n\tconst loadedModule = await import(importTarget);\n\n\tif (exportName && exportName !== 'default' && exportName in loadedModule) {\n\t\treturn loadedModule[exportName];\n\t}\n\n\treturn 'default' in loadedModule ? loadedModule.default : loadedModule;\n};\n\nconst resolveIslandComponent = async (component: unknown) => {\n\tconst buildReference = getIslandBuildReference(component);\n\tconst buildReferencePath = buildReference?.source\n\t\t? resolveBuildReferencePath(buildReference.source, import.meta.url)\n\t\t: null;\n\tif (buildReferencePath?.endsWith('.svelte')) {\n\t\treturn loadServerBuildComponent(buildReferencePath);\n\t}\n\tif (buildReferencePath) {\n\t\treturn loadServerImportComponent(\n\t\t\tbuildReferencePath,\n\t\t\tbuildReference?.export\n\t\t);\n\t}\n\n\tconst resolvedComponent = getIslandComponent(component);\n\tif (typeof resolvedComponent !== 'string') {\n\t\treturn resolvedComponent;\n\t}\n\n\treturn loadServerImportComponent(resolvedComponent);\n};\n\nconst resolveServerIslandComponent = async (component: unknown) => {\n\tsyncIslandGeneration();\n\tconst cachedResolvedComponent = resolvedServerComponentCache.get(component);\n\tif (cachedResolvedComponent) {\n\t\treturn cachedResolvedComponent;\n\t}\n\n\tconst resolutionPromise = resolveIslandComponent(component);\n\n\tresolvedServerComponentCache.set(component, resolutionPromise);\n\n\treturn resolutionPromise;\n};\n\nconst resolveReactServerIslandComponent = async (component: unknown) => {\n\tconst resolvedComponent = await resolveServerIslandComponent(component);\n\tif (!isReactServerIslandComponent(resolvedComponent)) {\n\t\tthrow new Error(\n\t\t\t'Resolved React island is not a valid React component.'\n\t\t);\n\t}\n\n\treturn resolvedComponent;\n};\n\nconst resolveSvelteServerIslandComponent = async (component: unknown) => {\n\tconst resolvedComponent = await resolveServerIslandComponent(component);\n\tif (!isSvelteServerIslandComponent(resolvedComponent)) {\n\t\tthrow new Error(\n\t\t\t'Resolved Svelte island is not a valid Svelte component.'\n\t\t);\n\t}\n\n\treturn resolvedComponent;\n};\n\nconst resolveVueServerIslandComponent = async (component: unknown) => {\n\tconst resolvedComponent = await resolveServerIslandComponent(component);\n\tif (!isVueServerIslandComponent(resolvedComponent)) {\n\t\tthrow new Error('Resolved Vue island is not a valid Vue component.');\n\t}\n\n\treturn resolvedComponent;\n};\n\nconst loadAngularServerBuildComponent = async (\n\tbuildReferencePath: string,\n\texportName?: string\n) => {\n\tconst serverModulePath =\n\t\tawait compileAngularServerModule(buildReferencePath);\n\tconst loadedModule = await import(serverModulePath);\n\tif (exportName && exportName !== 'default' && exportName in loadedModule) {\n\t\treturn loadedModule[exportName];\n\t}\n\n\treturn 'default' in loadedModule ? loadedModule.default : loadedModule;\n};\n\nconst resolveAngularServerIslandComponent = async (component: unknown) => {\n\t// In a production build the registry entry is a lazy build reference to the\n\t// component's raw `.ts`; compile it to a vendor-linked server module first so\n\t// it shares the render pipeline's Angular instance (see angularServerModule).\n\t// In dev the registry holds the real component, so fall through.\n\tconst buildReference = getIslandBuildReference(component);\n\tconst buildReferencePath = buildReference?.source\n\t\t? resolveBuildReferencePath(buildReference.source, import.meta.url)\n\t\t: null;\n\tconst resolvedComponent = buildReferencePath\n\t\t? await loadAngularServerBuildComponent(\n\t\t\t\tbuildReferencePath,\n\t\t\t\tbuildReference?.export\n\t\t\t)\n\t\t: await resolveServerIslandComponent(component);\n\tif (!isAngularServerIslandComponent(resolvedComponent)) {\n\t\tthrow new Error(\n\t\t\t'Resolved Angular island is not a valid Angular component.'\n\t\t);\n\t}\n\n\treturn resolvedComponent;\n};\n\nexport const renderIslandMarkup = async <T extends IslandRegistryInput>(\n\tregistry: IslandRegistry<T> | T,\n\tprops: RuntimeIslandRenderProps\n) => {\n\tconst result = await renderIslandResult(registry, props);\n\n\treturn `<div ${serializeIslandAttributes(result.attributes)}>${result.html}</div>`;\n};\nexport const renderIslandResult = async <T extends IslandRegistryInput>(\n\tregistry: IslandRegistry<T> | T,\n\tprops: RuntimeIslandRenderProps\n) => {\n\tconst islandId = nextIslandId();\n\tconst attributes = getIslandMarkerAttributes(props);\n\n\tif (props.framework === 'react') {\n\t\tconst entry = registry.react?.[props.component];\n\t\tif (!entry) {\n\t\t\tthrow new Error(\n\t\t\t\t`Island component \"${props.component}\" is not registered for framework \"react\".`\n\t\t\t);\n\t\t}\n\t\tconst component = await resolveReactServerIslandComponent(entry);\n\t\tconst html = await renderReactIslandToHtml(component, props.props);\n\n\t\treturn { attributes, html };\n\t}\n\n\tif (props.framework === 'svelte') {\n\t\tconst entry = registry.svelte?.[props.component];\n\t\tif (!entry) {\n\t\t\tthrow new Error(\n\t\t\t\t`Island component \"${props.component}\" is not registered for framework \"svelte\".`\n\t\t\t);\n\t\t}\n\t\tconst component = await resolveSvelteServerIslandComponent(entry);\n\t\tconst html = await renderSvelteIslandToHtml(component, props.props);\n\n\t\treturn { attributes, html };\n\t}\n\n\tif (props.framework === 'vue') {\n\t\tconst entry = registry.vue?.[props.component];\n\t\tif (!entry) {\n\t\t\tthrow new Error(\n\t\t\t\t`Island component \"${props.component}\" is not registered for framework \"vue\".`\n\t\t\t);\n\t\t}\n\t\tconst component = await resolveVueServerIslandComponent(entry);\n\t\tconst html = await renderVueIslandToHtml(component, props.props);\n\n\t\treturn { attributes, html };\n\t}\n\n\tif (props.framework === 'angular') {\n\t\tconst entry = registry.angular?.[props.component];\n\t\tif (!entry) {\n\t\t\tthrow new Error(\n\t\t\t\t`Island component \"${props.component}\" is not registered for framework \"angular\".`\n\t\t\t);\n\t\t}\n\t\tconst component = await resolveAngularServerIslandComponent(entry);\n\t\tconst html = await renderAngularIslandToHtml(\n\t\t\tcomponent,\n\t\t\tprops.props,\n\t\t\tislandId\n\t\t);\n\n\t\treturn {\n\t\t\tattributes: {\n\t\t\t\t...getIslandMarkerAttributes(props, islandId)\n\t\t\t},\n\t\t\thtml\n\t\t};\n\t}\n\n\tthrow new Error(\n\t\t`Framework \"${props.framework}\" is not implemented in this prototype.`\n\t);\n};\n",
|
|
59
59
|
"/* The path and query a page handler renders for (the `url` a router\n * matches), or undefined without a parsable request URL. Repeated slashes\n * collapse to one: a request for `//` (or `//x`) would otherwise reach the\n * router as a protocol-relative URL, which Angular's platform-server\n * rejects with NG05701 (a 500) and other routers misread as a host. */\nexport const requestRenderUrl = (request: Request | undefined) => {\n\tif (!request) return undefined;\n\n\ttry {\n\t\tconst parsed = new URL(request.url);\n\n\t\treturn `${parsed.pathname.replace(/\\/{2,}/g, '/')}${parsed.search}`;\n\t} catch {\n\t\treturn undefined;\n\t}\n};\n",
|
|
60
|
-
"import { requestRenderUrl } from '../utils/requestRenderUrl';\nimport { readCspNonce } from '../utils/cspNonceRef';\nimport { isProductionRuntime } from '../utils/runtimeMode';\nimport type { ComponentType as ReactComponent } from 'react';\nimport { injectIslandPageContextStream } from '../core/islandPageContext';\nimport { getCurrentRouteRegistrationCallsite } from '../core/devRouteRegistrationCallsite';\nimport {\n\tdevBuildErrorResponse,\n\tgetCurrentAbsoluteRequest,\n\tresolveDeferredPageAssets\n} from '../core/requestContext';\nimport {\n\tABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,\n\tfinalizeAbsoluteMobilePage\n} from '../mobile/pageProtocol';\nimport type { AbsoluteMobileBuildPageMetadata } from '../mobile/buildMetadata';\nimport {\n\tstreamingPageHeaders,\n\twithPageCacheHeaders\n} from '../core/pageResponseCache';\nimport {\n\ttype StreamingSlotEnhancerOptions,\n\twithRegisteredStreamingSlots\n} from '../core/responseEnhancers';\nimport {\n\tcaptureStreamingSlotWarningCallsite,\n\trunWithStreamingSlotWarningScope\n} from '../core/streamingSlotWarningScope';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport { renderSpaNotFound } from '../utils/spaRouteManifest';\nimport {\n\thasErrorConvention,\n\trenderConventionError,\n\tresolveErrorConventionPath\n} from '../utils/resolveConvention';\nimport { BROWSER_TRANSLATION_BASELINE_SCRIPT } from '../core/browserTranslation';\n\ntype ReactPageRenderOptions = StreamingSlotEnhancerOptions & {\n\t/** Collect `<SuspenseSlot>` / `<StreamSlot>` registrations during the\n\t * render and stream their resolved content after the shell. On by\n\t * default: a page that renders no slot gets byte-identical output and\n\t * no extra work. Set `false` to turn collection off for this route;\n\t * slots then stay on their fallback and a warning is logged once. */\n\tcollectStreamingSlots?: boolean;\n\t/** Buffer this page's stream so it can carry a content-hash `ETag` and\n\t * serve a `304` on repeat visits, at the cost of streaming's fast first\n\t * byte. Only worth it on pages static enough that the 304 beats the\n\t * stream. See {@link PageCacheOptions.bufferStreamForEtag}. */\n\tbufferStreamForEtag?: boolean;\n};\nexport type ReactPageRequestInput<\n\tProps extends Record<string, unknown> = Record<never, never>\n> = ReactPageRenderOptions & {\n\t/** @internal Build-generated mobile identity. Application code must not set this. */\n\t__absoluteMobile?: AbsoluteMobileBuildPageMetadata;\n\tPage: ReactComponent<Props>;\n\tindex: string;\n\t/** The incoming Elysia request. When provided, the request's pathname\n\t * is auto-injected into props as `url` so the Page can wire\n\t * `<StaticRouter location={url}>` on the server without the caller\n\t * threading the URL by hand. User-supplied `props.url` (if present)\n\t * takes precedence — the auto-injection only fills in when missing. */\n\trequest?: Request;\n\t/** Sitemap metadata for this route. Statically read from the handler\n\t * source at registration time, so only literal-object values are\n\t * honoured. */\n\tsitemap?: import('../../types/sitemap').PageHandlerSitemapMetadata;\n} & (keyof Props extends never\n\t\t? { props?: NoInfer<Props> }\n\t\t: { props: NoInfer<Props> });\ntype PropsWithUrlBuilder = <Props extends Record<string, unknown>>(\n\tprops: Props | undefined,\n\turl: string\n) => Props;\nconst withRequestUrl: PropsWithUrlBuilder = (props, url) =>\n\tObject.assign(Object.create(null), props, { url });\n\nconst resolveRequestPathname = (request: Request | undefined) =>\n\trequestRenderUrl(request);\n\nconst buildRefreshSetup = () => {\n\tif (isProductionRuntime()) {\n\t\treturn '';\n\t}\n\n\treturn (\n\t\t'window.__REFRESH_BUFFER__=[];' +\n\t\t'window.$RefreshReg$=function(t,i){window.__REFRESH_BUFFER__.push([t,i])};' +\n\t\t'window.$RefreshSig$=function(){return function(t){return t}};'\n\t);\n};\n\nexport const handleReactPageRequest = async <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(\n\tinput: ReactPageRequestInput<Props>\n) => {\n\tconst { Page } = input;\n\t// Dev on-demand pages: `asset()` returned `''` for an index that has\n\t// not been built yet. Build the page now and re-read the manifest;\n\t// otherwise fall through to the manifest error so the overlay shows\n\t// the real cause.\n\tconst deferredAssets =\n\t\tinput.index === '' ? await resolveDeferredPageAssets() : null;\n\tconst buildFailure = devBuildErrorResponse('react', deferredAssets);\n\tif (buildFailure) return buildFailure;\n\tconst resolvedIndex =\n\t\tdeferredAssets && input.index === ''\n\t\t\t? deferredAssets.lookup(`${deferredAssets.name}Index`)\n\t\t\t: input.index;\n\tconst options = input;\n\tconst userProps = input.props;\n\tconst request = input.request ?? getCurrentAbsoluteRequest();\n\tconst requestPathname = resolveRequestPathname(request);\n\t// Auto-inject `url` from the request when the caller didn't already\n\t// pass one in props. Lets users wire <StaticRouter location={url}>\n\t// just by forwarding `request` instead of unwrapping it themselves.\n\tconst maybeProps =\n\t\trequestPathname !== undefined && (!userProps || !('url' in userProps))\n\t\t\t? withRequestUrl(userProps, requestPathname)\n\t\t\t: userProps;\n\tconst pageName = Page.name || Page.displayName || '';\n\tif (resolvedIndex === '') {\n\t\tthrow new Error(\n\t\t\t`Asset \"${deferredAssets?.name || pageName || 'Page'}Index\" not found in manifest.`\n\t\t);\n\t}\n\tconst pageId =\n\t\tinput.__absoluteMobile?.pageId ?? (pageName || resolvedIndex);\n\tconst currentContract =\n\t\tinput.__absoluteMobile?.contract ??\n\t\t`react:${pageId}:${ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION}`;\n\tconst mobileResponse = finalizeAbsoluteMobilePage({\n\t\tcompatibility: {\n\t\t\tframework: 'react',\n\t\t\tpageId,\n\t\t\trepresentations: [\n\t\t\t\t{ contract: currentContract, mapProps: (props) => props }\n\t\t\t],\n\t\t\truntimes: [String(ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION)]\n\t\t},\n\t\tprops: maybeProps ?? Object.create(null),\n\t\trequest,\n\t\t// Web route data: the assets a hovered `<Link>` warms before the\n\t\t// click. React pages own their `<head>` inside the component, so\n\t\t// the handler can only name the client entry (plus any stylesheet\n\t\t// an on-demand dev build just resolved).\n\t\troute: () => ({\n\t\t\tassets: {\n\t\t\t\tcss: deferredAssets?.cssHrefs() ?? [],\n\t\t\t\tindex: resolvedIndex\n\t\t\t}\n\t\t})\n\t});\n\tif (mobileResponse) return mobileResponse;\n\n\ttry {\n\t\tconst spaNotFound = await renderSpaNotFound('react', pageName, request);\n\t\tif (spaNotFound) return withPageCacheHeaders(spaNotFound, request);\n\t\t// Slot collection is on unless the handler opts out with `false`:\n\t\t// installing the collector costs nothing when no slot registers.\n\t\tconst collectStreamingSlots = options?.collectStreamingSlots !== false;\n\t\tconst handlerCallsite = collectStreamingSlots\n\t\t\t? undefined\n\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\tconst renderPageResponse = async () => {\n\t\t\tconst { createElement } = await import('react');\n\t\t\tconst { renderToReadableStream } = await import('react-dom/server');\n\n\t\t\tconst element =\n\t\t\t\tmaybeProps !== undefined\n\t\t\t\t\t? createElement(Page, maybeProps)\n\t\t\t\t\t: createElement(Page);\n\n\t\t\tconst propsScript = maybeProps\n\t\t\t\t? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)};`\n\t\t\t\t: '';\n\n\t\t\t// Buffer React Refresh registrations until the runtime loads.\n\t\t\t// Bun.build injects $RefreshReg$ calls in the bundle, but the\n\t\t\t// real runtime isn't ready yet. This buffering function captures\n\t\t\t// all registrations, then replays them when the runtime is set up.\n\t\t\tconst refreshSetup = buildRefreshSetup();\n\n\t\t\tconst stream = await renderToReadableStream(element, {\n\t\t\t\tbootstrapModules: [resolvedIndex],\n\t\t\t\tbootstrapScriptContent:\n\t\t\t\t\tBROWSER_TRANSLATION_BASELINE_SCRIPT +\n\t\t\t\t\tpropsScript +\n\t\t\t\t\trefreshSetup,\n\t\t\t\t// React writes this nonce on its bootstrap and streaming\n\t\t\t\t// scripts when secureHeaders() is on.\n\t\t\t\tnonce: readCspNonce(),\n\t\t\t\tonError(error: unknown) {\n\t\t\t\t\tconsole.error('[SSR] React streaming error:', error);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst htmlStream = injectIslandPageContextStream(stream);\n\t\t\tif (\n\t\t\t\tresolveErrorConventionPath('react', pageName) ||\n\t\t\t\thasErrorConvention('react')\n\t\t\t) {\n\t\t\t\tconst html = await new Response(htmlStream).text();\n\n\t\t\t\treturn new Response(html, {\n\t\t\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn new Response(htmlStream, {\n\t\t\t\theaders: streamingPageHeaders()\n\t\t\t});\n\t\t};\n\n\t\tconst pageResponse = await runWithStreamingSlotWarningScope(\n\t\t\t() =>\n\t\t\t\tcollectStreamingSlots\n\t\t\t\t\t? withRegisteredStreamingSlots(renderPageResponse, options)\n\t\t\t\t\t: renderPageResponse(),\n\t\t\t{ explicitlyDisabled: !collectStreamingSlots, handlerCallsite }\n\t\t);\n\n\t\treturn withPageCacheHeaders(pageResponse, request, {\n\t\t\tbufferStreamForEtag: input.bufferStreamForEtag\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('[SSR] React render error:', error);\n\n\t\tconst conventionResponse = await renderConventionError(\n\t\t\t'react',\n\t\t\tpageName,\n\t\t\terror\n\t\t);\n\t\tif (conventionResponse) {\n\t\t\treturn withPageCacheHeaders(conventionResponse, request);\n\t\t}\n\n\t\treturn withPageCacheHeaders(\n\t\t\tnew Response(ssrErrorPage('react', error), {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t}),\n\t\t\trequest\n\t\t);\n\t}\n};\n",
|
|
60
|
+
"import { requestRenderUrl } from '../utils/requestRenderUrl';\nimport { readCspNonce } from '../utils/cspNonceRef';\nimport { isProductionRuntime } from '../utils/runtimeMode';\nimport type { ComponentType as ReactComponent } from 'react';\nimport { injectIslandPageContextStream } from '../core/islandPageContext';\nimport { getCurrentRouteRegistrationCallsite } from '../core/devRouteRegistrationCallsite';\nimport {\n\tdevBuildErrorResponse,\n\tgetCurrentAbsoluteRequest,\n\tresolveDeferredPageAssets\n} from '../core/requestContext';\nimport {\n\tABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,\n\tfinalizeAbsoluteMobilePage\n} from '../mobile/pageProtocol';\nimport type { AbsoluteMobileBuildPageMetadata } from '../mobile/buildMetadata';\nimport {\n\tstreamingPageHeaders,\n\twithPageCacheHeaders\n} from '../core/pageResponseCache';\nimport {\n\ttype StreamingSlotEnhancerOptions,\n\twithRegisteredStreamingSlots\n} from '../core/responseEnhancers';\nimport {\n\tcaptureStreamingSlotWarningCallsite,\n\trunWithStreamingSlotWarningScope\n} from '../core/streamingSlotWarningScope';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport { renderSpaNotFound } from '../utils/spaRouteManifest';\nimport {\n\thasErrorConvention,\n\trenderConventionError,\n\tresolveErrorConventionPath\n} from '../utils/resolveConvention';\nimport { BROWSER_TRANSLATION_BASELINE_SCRIPT } from '../core/browserTranslation';\n\ntype ReactPageRenderOptions = StreamingSlotEnhancerOptions & {\n\t/** Collect `<SuspenseSlot>` / `<StreamSlot>` registrations during the\n\t * render and stream their resolved content after the shell. On by\n\t * default: a page that renders no slot gets byte-identical output and\n\t * no extra work. Set `false` to turn collection off for this route;\n\t * slots then stay on their fallback and a warning is logged once. */\n\tcollectStreamingSlots?: boolean;\n\t/** Buffer this page's stream so it can carry a content-hash `ETag` and\n\t * serve a `304` on repeat visits, at the cost of streaming's fast first\n\t * byte. Only worth it on pages static enough that the 304 beats the\n\t * stream. See {@link PageCacheOptions.bufferStreamForEtag}. */\n\tbufferStreamForEtag?: boolean;\n};\nexport type ReactPageRequestInput<\n\tProps extends Record<string, unknown> = Record<never, never>\n> = ReactPageRenderOptions & {\n\t/** @internal Build-generated mobile identity. Application code must not set this. */\n\t__absoluteMobile?: AbsoluteMobileBuildPageMetadata;\n\tPage: ReactComponent<Props>;\n\tindex: string;\n\t/** The incoming Elysia request. When provided, the request's pathname\n\t * is auto-injected into props as `url` so the Page can wire\n\t * `<StaticRouter location={url}>` on the server without the caller\n\t * threading the URL by hand. User-supplied `props.url` (if present)\n\t * takes precedence — the auto-injection only fills in when missing. */\n\trequest?: Request;\n\t/** Sitemap metadata for this route. Statically read from the handler\n\t * source at registration time, so only literal-object values are\n\t * honoured. */\n\tsitemap?: import('../../types/sitemap').PageHandlerSitemapMetadata;\n} & (keyof Props extends never\n\t\t? { props?: NoInfer<Props> }\n\t\t: { props: NoInfer<Props> });\ntype PropsWithUrlBuilder = <Props extends Record<string, unknown>>(\n\tprops: Props | undefined,\n\turl: string\n) => Props;\nconst withRequestUrl: PropsWithUrlBuilder = (props, url) =>\n\tObject.assign(Object.create(null), props, { url });\n\nconst resolveRequestPathname = (request: Request | undefined) =>\n\trequestRenderUrl(request);\n\nconst buildRefreshSetup = () => {\n\tif (isProductionRuntime()) {\n\t\treturn '';\n\t}\n\n\treturn (\n\t\t'window.__REFRESH_BUFFER__=[];' +\n\t\t'window.$RefreshReg$=function(t,i){window.__REFRESH_BUFFER__.push([t,i])};' +\n\t\t'window.$RefreshSig$=function(){return function(t){return t}};'\n\t);\n};\n\nexport const handleReactPageRequest = async <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(\n\tinput: ReactPageRequestInput<Props>\n) => {\n\tconst { Page } = input;\n\t// Dev on-demand pages: `asset()` returned `''` for an index that has\n\t// not been built yet. Build the page now and re-read the manifest;\n\t// otherwise fall through to the manifest error so the overlay shows\n\t// the real cause.\n\tconst deferredAssets =\n\t\tinput.index === '' ? await resolveDeferredPageAssets() : null;\n\tconst buildFailure = devBuildErrorResponse('react', deferredAssets);\n\tif (buildFailure) return buildFailure;\n\tconst resolvedIndex =\n\t\tdeferredAssets && input.index === ''\n\t\t\t? deferredAssets.lookup(`${deferredAssets.name}Index`)\n\t\t\t: input.index;\n\tconst options = input;\n\tconst userProps = input.props;\n\tconst request = input.request ?? getCurrentAbsoluteRequest();\n\tconst requestPathname = resolveRequestPathname(request);\n\t// Auto-inject `url` from the request when the caller didn't already\n\t// pass one in props. Lets users wire <StaticRouter location={url}>\n\t// just by forwarding `request` instead of unwrapping it themselves.\n\tconst maybeProps =\n\t\trequestPathname !== undefined && (!userProps || !('url' in userProps))\n\t\t\t? withRequestUrl(userProps, requestPathname)\n\t\t\t: userProps;\n\tconst pageName = Page.name || Page.displayName || '';\n\tif (resolvedIndex === '') {\n\t\tthrow new Error(\n\t\t\t`Asset \"${deferredAssets?.name || pageName || 'Page'}Index\" not found in manifest.`\n\t\t);\n\t}\n\tconst pageId =\n\t\tinput.__absoluteMobile?.pageId ?? (pageName || resolvedIndex);\n\tconst currentContract =\n\t\tinput.__absoluteMobile?.contract ??\n\t\t`react:${pageId}:${ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION}`;\n\tconst mobileResponse = finalizeAbsoluteMobilePage({\n\t\tcompatibility: {\n\t\t\tframework: 'react',\n\t\t\tpageId,\n\t\t\trepresentations: [\n\t\t\t\t{ contract: currentContract, mapProps: (props) => props }\n\t\t\t],\n\t\t\truntimes: [String(ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION)]\n\t\t},\n\t\tprops: maybeProps ?? Object.create(null),\n\t\trequest,\n\t\t// Web route data: the assets a hovered `<Link>` warms before the\n\t\t// click. React pages own their `<head>` inside the component, so\n\t\t// the handler can only name the client entry (plus any stylesheet\n\t\t// an on-demand dev build just resolved).\n\t\troute: () => ({\n\t\t\tassets: {\n\t\t\t\tcss: deferredAssets?.cssHrefs() ?? [],\n\t\t\t\tindex: resolvedIndex\n\t\t\t}\n\t\t})\n\t});\n\tif (mobileResponse) return mobileResponse;\n\n\ttry {\n\t\tconst spaNotFound = await renderSpaNotFound('react', pageName, request);\n\t\tif (spaNotFound) return withPageCacheHeaders(spaNotFound, request);\n\t\t// Slot collection is on unless the handler opts out with `false`:\n\t\t// installing the collector costs nothing when no slot registers.\n\t\tconst collectStreamingSlots = options?.collectStreamingSlots !== false;\n\t\tconst handlerCallsite = collectStreamingSlots\n\t\t\t? undefined\n\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\tconst renderPageResponse = async () => {\n\t\t\tconst { createElement } = await import('react');\n\t\t\tconst { renderToReadableStream } = await import('react-dom/server');\n\n\t\t\tconst element =\n\t\t\t\tmaybeProps !== undefined\n\t\t\t\t\t? createElement(Page, maybeProps)\n\t\t\t\t\t: createElement(Page);\n\n\t\t\tconst propsScript = maybeProps\n\t\t\t\t? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)};`\n\t\t\t\t: '';\n\n\t\t\t// Buffer React Refresh registrations until the runtime loads.\n\t\t\t// Bun.build injects $RefreshReg$ calls in the bundle, but the\n\t\t\t// real runtime isn't ready yet. This buffering function captures\n\t\t\t// all registrations, then replays them when the runtime is set up.\n\t\t\tconst refreshSetup = buildRefreshSetup();\n\n\t\t\tconst stream = await renderToReadableStream(element, {\n\t\t\t\tbootstrapModules: [resolvedIndex],\n\t\t\t\tbootstrapScriptContent:\n\t\t\t\t\tBROWSER_TRANSLATION_BASELINE_SCRIPT +\n\t\t\t\t\tpropsScript +\n\t\t\t\t\trefreshSetup,\n\t\t\t\t// React writes this nonce on its bootstrap and streaming\n\t\t\t\t// scripts when secureHeaders() is on.\n\t\t\t\tnonce: readCspNonce(),\n\t\t\t\tonError(error: unknown) {\n\t\t\t\t\tconsole.error('[SSR] React streaming error:', error);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst htmlStream = injectIslandPageContextStream(stream, {\n\t\t\t\thost: 'react'\n\t\t\t});\n\t\t\tif (\n\t\t\t\tresolveErrorConventionPath('react', pageName) ||\n\t\t\t\thasErrorConvention('react')\n\t\t\t) {\n\t\t\t\tconst html = await new Response(htmlStream).text();\n\n\t\t\t\treturn new Response(html, {\n\t\t\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn new Response(htmlStream, {\n\t\t\t\theaders: streamingPageHeaders()\n\t\t\t});\n\t\t};\n\n\t\tconst pageResponse = await runWithStreamingSlotWarningScope(\n\t\t\t() =>\n\t\t\t\tcollectStreamingSlots\n\t\t\t\t\t? withRegisteredStreamingSlots(renderPageResponse, options)\n\t\t\t\t\t: renderPageResponse(),\n\t\t\t{ explicitlyDisabled: !collectStreamingSlots, handlerCallsite }\n\t\t);\n\n\t\treturn withPageCacheHeaders(pageResponse, request, {\n\t\t\tbufferStreamForEtag: input.bufferStreamForEtag\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('[SSR] React render error:', error);\n\n\t\tconst conventionResponse = await renderConventionError(\n\t\t\t'react',\n\t\t\tpageName,\n\t\t\terror\n\t\t);\n\t\tif (conventionResponse) {\n\t\t\treturn withPageCacheHeaders(conventionResponse, request);\n\t\t}\n\n\t\treturn withPageCacheHeaders(\n\t\t\tnew Response(ssrErrorPage('react', error), {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t}),\n\t\t\trequest\n\t\t);\n\t}\n};\n",
|
|
61
61
|
"import {\n\tappendStreamingSlotPatchesToStream,\n\ttype AppendStreamingSlotsOptions,\n\tinjectStreamingRuntimeIntoStream,\n\ttype StreamingSlotPolicy,\n\ttype StreamingSlot\n} from '../utils/streamingSlots';\nimport { STREAMING_PAGE_HEADER } from './pageResponseCache';\nimport {\n\tactivePartialHolesSink,\n\tencodePartialHoles,\n\tisDynamicStreamingSlot,\n\tisPartialShellCapture,\n\tPARTIAL_HOLES_HEADER\n} from './partialPrerender';\nimport { getCurrentAbsoluteRequest } from './requestContext';\nimport { runWithStreamingSlotRegistry } from './streamingSlotRegistry';\n\ntype ResponseLike = Response | Promise<Response>;\n\nexport type StreamingSlotEnhancerOptions = Omit<\n\tAppendStreamingSlotsOptions,\n\t'injectRuntime'\n> & {\n\tstreamingSlots?: StreamingSlot[];\n\tpolicy?: StreamingSlotPolicy;\n};\n\nconst toResponse = async (responseLike: ResponseLike) => responseLike;\n\nconst cloneHeaders = (response: Response) => {\n\tconst headers = new Headers(response.headers);\n\n\treturn headers;\n};\n\nexport const enhanceHtmlResponseWithStreamingSlots = (\n\tresponse: Response,\n\t{\n\t\tnonce,\n\t\tonError,\n\t\truntimePlacement,\n\t\truntimePreludeScript,\n\t\tstreamingSlots = [],\n\t\tpolicy\n\t}: StreamingSlotEnhancerOptions = {}\n) => {\n\tif (!response.body || streamingSlots.length === 0) {\n\t\treturn response;\n\t}\n\n\tconst body = appendStreamingSlotPatchesToStream(\n\t\tresponse.body,\n\t\tstreamingSlots,\n\t\t{\n\t\t\tnonce,\n\t\t\tonError,\n\t\t\tpolicy,\n\t\t\truntimePlacement,\n\t\t\truntimePreludeScript\n\t\t}\n\t);\n\n\t// This response now streams, so it can't carry a content-hash ETag — tag it\n\t// so withPageCacheHeaders marks it no-cache instead of buffering to hash.\n\tconst headers = cloneHeaders(response);\n\theaders.set(STREAMING_PAGE_HEADER, '1');\n\n\treturn new Response(body, {\n\t\theaders,\n\t\tstatus: response.status,\n\t\tstatusText: response.statusText\n\t});\n};\n\nexport const withStreamingSlots = async (\n\tresponseLike: ResponseLike,\n\toptions: StreamingSlotEnhancerOptions = {}\n) =>\n\tenhanceHtmlResponseWithStreamingSlots(\n\t\tawait toResponse(responseLike),\n\t\toptions\n\t);\n\nconst mergeStreamingSlots = (\n\tregistered: StreamingSlot[],\n\texplicit: StreamingSlot[]\n) => {\n\tconst merged = new Map<string, StreamingSlot>();\n\tfor (const slot of registered) merged.set(slot.id, slot);\n\tfor (const slot of explicit) merged.set(slot.id, slot);\n\n\treturn [...merged.values()];\n};\n\n/* Partial prerendering's shell capture: static slots resolve into the page,\n * dynamic ones keep their fallback and are listed in PARTIAL_HOLES_HEADER.\n * The swap runtime goes in even with no static slot, for the holes' patches\n * streamed at request time. */\nconst captureStaticShell = async (\n\tresponseLike: ResponseLike,\n\tslots: StreamingSlot[],\n\toptions: StreamingSlotEnhancerOptions\n) => {\n\tconst holes = slots.filter(isDynamicStreamingSlot);\n\tconst staticSlots = slots.filter((slot) => !isDynamicStreamingSlot(slot));\n\tconst response = await withStreamingSlots(responseLike, {\n\t\t...options,\n\t\tstreamingSlots: staticSlots\n\t});\n\tif (holes.length === 0 || !response.body) return response;\n\n\tconst headers = cloneHeaders(response);\n\theaders.set(\n\t\tPARTIAL_HOLES_HEADER,\n\t\tencodePartialHoles(holes.map((slot) => slot.id))\n\t);\n\tconst body =\n\t\tstaticSlots.length > 0\n\t\t\t? response.body\n\t\t\t: injectStreamingRuntimeIntoStream(\n\t\t\t\t\tresponse.body,\n\t\t\t\t\toptions.nonce,\n\t\t\t\t\toptions.runtimePlacement,\n\t\t\t\t\toptions.runtimePreludeScript\n\t\t\t\t);\n\n\treturn new Response(body, {\n\t\theaders,\n\t\tstatus: response.status,\n\t\tstatusText: response.statusText\n\t});\n};\n\n/* Partial prerendering's hole collection: the server already sent the\n * cached shell, so the page hands over its dynamic slots and its own HTML\n * is dropped. */\nconst handOverHoles = async (\n\tresponseLike: ResponseLike,\n\tslots: StreamingSlot[],\n\tsink: NonNullable<ReturnType<typeof activePartialHolesSink>>\n) => {\n\tsink.slots = slots.filter(isDynamicStreamingSlot);\n\tconst response = await toResponse(responseLike);\n\tawait response.body?.cancel().catch(() => undefined);\n\n\treturn new Response(null, { status: 204 });\n};\n\nexport const withRegisteredStreamingSlots = async (\n\trenderResponse: () => ResponseLike,\n\toptions: StreamingSlotEnhancerOptions = {}\n) => {\n\tconst { result, slots } =\n\t\tawait runWithStreamingSlotRegistry(renderResponse);\n\tconst explicit = options.streamingSlots ?? [];\n\tconst streamingSlots = mergeStreamingSlots(slots, explicit);\n\tconst holesSink = activePartialHolesSink();\n\tif (holesSink) return handOverHoles(result, streamingSlots, holesSink);\n\tif (isPartialShellCapture(getCurrentAbsoluteRequest())) {\n\t\treturn captureStaticShell(result, streamingSlots, options);\n\t}\n\n\treturn withStreamingSlots(result, {\n\t\t...options,\n\t\tstreamingSlots\n\t});\n};\n",
|
|
62
62
|
"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",
|
|
63
63
|
"import type { StreamingSlot } from '../utils/streamingSlots';\nimport {\n\tsetStreamingSlotCollectionController,\n\tsetStreamingSlotRegistrar\n} from './streamingSlotRegistrar';\n\ntype SlotStore = Map<string, StreamingSlot>;\ntype AsyncLocalStorageType =\n\timport('node:async_hooks').AsyncLocalStorage<SlotStore>;\n\nconst STREAMING_SLOT_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotAsyncLocalStorage'\n);\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isAsyncLocalStorage = (value: unknown): value is AsyncLocalStorageType =>\n\tisObjectRecord(value) &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst getStorageGlobal = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') {\n\t\treturn value;\n\t}\n\n\treturn isAsyncLocalStorage(value) ? value : undefined;\n};\n\nconst isServerRuntime = () =>\n\ttypeof process !== 'undefined' &&\n\ttypeof process.versions?.node === 'string';\n\nconst ensureAsyncLocalStorage = async () => {\n\tconst storage = getStorageGlobal();\n\tif (typeof storage !== 'undefined') {\n\t\treturn storage;\n\t}\n\tif (!isServerRuntime()) {\n\t\tReflect.set(globalThis, STREAMING_SLOT_STORAGE_KEY, null);\n\n\t\treturn getStorageGlobal();\n\t}\n\n\tconst mod = await import('node:async_hooks');\n\tReflect.set(\n\t\tglobalThis,\n\t\tSTREAMING_SLOT_STORAGE_KEY,\n\t\tnew mod.AsyncLocalStorage<SlotStore>()\n\t);\n\n\treturn getStorageGlobal();\n};\n\nconst getActiveSlotStore = () => {\n\tconst storage = getStorageGlobal();\n\tif (!storage) return undefined;\n\n\treturn storage.getStore();\n};\n\nconst registerStreamingSlot = (slot: StreamingSlot) => {\n\tconst store = getActiveSlotStore();\n\tif (!store) return;\n\tstore.set(slot.id, slot);\n};\n\nsetStreamingSlotRegistrar(registerStreamingSlot);\nsetStreamingSlotCollectionController({\n\tisCollecting: () => getActiveSlotStore() !== undefined\n});\n\nexport const hasActiveStreamingSlotRegistry = () =>\n\tgetActiveSlotStore() !== undefined;\n\nexport const runWithStreamingSlotRegistry = async <T>(\n\ttask: () => Promise<T> | T\n) => {\n\tconst storage = await ensureAsyncLocalStorage();\n\tif (!storage) {\n\t\tconst slots: StreamingSlot[] = [];\n\n\t\treturn {\n\t\t\tresult: await task(),\n\t\t\tslots\n\t\t};\n\t}\n\n\treturn storage.run(new Map<string, StreamingSlot>(), async () => {\n\t\tconst result = await task();\n\t\tconst store = storage.getStore();\n\n\t\treturn {\n\t\t\tresult,\n\t\t\tslots: store ? [...store.values()] : []\n\t\t};\n\t});\n};\n",
|
|
64
64
|
"import { isProductionRuntime } from '../utils/runtimeMode';\nimport { AsyncLocalStorage } from 'node:async_hooks';\nimport { logWarn } from '../utils/logger';\nimport { setStreamingSlotWarningController } from './streamingSlotRegistrar';\n\ntype WarningStore = {\n\texplicitlyDisabled: boolean;\n\thandlerCallsite?: string;\n\thasWarned: boolean;\n};\n\ntype WarningStorage = AsyncLocalStorage<WarningStore>;\n\nconst STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotWarningAsyncLocalStorage'\n);\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isAsyncLocalStorage = (value: unknown): value is WarningStorage =>\n\tisObjectRecord(value) &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst getWarningStorage = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') {\n\t\treturn undefined;\n\t}\n\n\treturn isAsyncLocalStorage(value) ? value : undefined;\n};\n\nconst ensureWarningStorage = () => {\n\tconst existing = getWarningStorage();\n\tif (existing) {\n\t\treturn existing;\n\t}\n\n\tconst storage = new AsyncLocalStorage<WarningStore>();\n\tReflect.set(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY, storage);\n\n\treturn storage;\n};\n\nconst normalizeCallsitePath = (value: string) =>\n\tvalue\n\t\t.replace(`${process.cwd()}/`, '')\n\t\t.replace(process.cwd(), '')\n\t\t.replace(/^\\.\\/+/, '');\n\nconst formatWarningCallsite = (callsite: string) => {\n\tconst match = callsite.match(/^(.*?)(:\\d+:\\d+)$/);\n\tif (!match) {\n\t\treturn `\\x1b[36m${callsite}\\x1b[0m`;\n\t}\n\n\treturn `\\x1b[36m${match[1]}\\x1b[33m${match[2]}\\x1b[0m`;\n};\n\nconst shouldIgnoreWarningFrame = (frame: string) =>\n\tframe.includes('/node_modules/') ||\n\tframe.includes('/dist/') ||\n\tframe.includes('/src/react/pageHandler.') ||\n\tframe.includes('/src/vue/pageHandler.') ||\n\tframe.includes('/src/svelte/pageHandler.') ||\n\tframe.includes('/src/angular/pageHandler.') ||\n\tframe.includes('/src/core/streamingSlotWarningScope.');\n\nconst getWarningLocation = (frame: string) =>\n\tframe.match(/\\((\\/[^)]+:\\d+:\\d+)\\)$/)?.[1] ??\n\tframe.match(/at (\\/[^ ]+:\\d+:\\d+)$/)?.[1];\n\nconst extractCallsiteFromStack = (stack: string) => {\n\tconst location = stack\n\t\t.split('\\n')\n\t\t.slice(1)\n\t\t.map((line) => line.trim())\n\t\t.filter((frame) => !shouldIgnoreWarningFrame(frame))\n\t\t.map((frame) => getWarningLocation(frame))\n\t\t.find((frameLocation) => frameLocation !== undefined);\n\n\treturn location ? normalizeCallsitePath(location) : undefined;\n};\n\nconst buildMissingCollectorWarning = (\n\tprimitiveName: string,\n\t{ explicitlyDisabled, handlerCallsite }: WarningStore\n) => {\n\tconst fix = explicitlyDisabled\n\t\t? 'This page handler sets { collectStreamingSlots: false }, so the slot stays on its fallback and never streams. Remove the option (or set it to true) to stream this route.'\n\t\t: 'The slot stays on its fallback and never streams. Add { collectStreamingSlots: true } to this page handler to enable out-of-order streaming for this route.';\n\n\treturn `${primitiveName} rendered during SSR without streaming slot collection enabled. ${fix}${handlerCallsite ? ` Update ${formatWarningCallsite(handlerCallsite)}.` : ''}`;\n};\n\n/* Production logs each distinct warning once per process instead of once\n * per render, so a busy route doesn't flood the log. */\nconst productionWarnings = new Set<string>();\n\nsetStreamingSlotWarningController({\n\tmaybeWarn: (primitiveName: string) => {\n\t\tconst store = getWarningStorage()?.getStore();\n\t\tif (!store || store.hasWarned) {\n\t\t\treturn;\n\t\t}\n\n\t\tstore.hasWarned = true;\n\t\tconst message = buildMissingCollectorWarning(primitiveName, store);\n\t\tif (isProductionRuntime()) {\n\t\t\tif (productionWarnings.has(message)) return;\n\t\t\tproductionWarnings.add(message);\n\t\t}\n\t\tlogWarn(message);\n\t}\n});\n\nexport const captureStreamingSlotWarningCallsite = () => {\n\tif (isProductionRuntime()) {\n\t\treturn undefined;\n\t}\n\n\tconst { stack } = new Error();\n\tif (!stack) {\n\t\treturn undefined;\n\t}\n\n\treturn extractCallsiteFromStack(stack);\n};\n\nexport const runWithStreamingSlotWarningScope = <T>(\n\ttask: () => Promise<T> | T,\n\tmetadata?: {\n\t\t/** The handler turned collection off with `collectStreamingSlots: false`\n\t\t * (rather than leaving it at a framework default of off). */\n\t\texplicitlyDisabled?: boolean;\n\t\thandlerCallsite?: string;\n\t}\n) =>\n\tensureWarningStorage().run(\n\t\t{\n\t\t\texplicitlyDisabled: metadata?.explicitlyDisabled === true,\n\t\t\thandlerCallsite: metadata?.handlerCallsite,\n\t\t\thasWarned: false\n\t\t},\n\t\ttask\n\t);\n",
|
|
65
65
|
"import type {\n\tFileRouteContext,\n\tFileRouteDefinition,\n\tFileRouteFramework,\n\tFileRouteParams,\n\tFileRouteRenderInput,\n\tFileRouteServerModule\n} from '../../types/fileRoutes';\n\n/* Shared by the framework adapters (`reactFileRoute`, `svelteFileRoute`):\n * turns a route's lazily imported server module into the framework-neutral\n * hooks `fileRoutes()` runs. The adapters' generics check, at compile time,\n * that the module's `load` takes this route's params and returns the page's\n * props; at run time the request's params are checked against the path. */\n\nconst PARAM_NAME_RE = /:([A-Za-z_$][\\w$]*)/g;\n\nconst paramNamesOf = (path: string) =>\n\t[...path.matchAll(PARAM_NAME_RE)]\n\t\t.map((match) => match[1])\n\t\t.filter((name): name is string => name !== undefined);\n\nconst hasRouteParams = <Path extends string>(\n\tcontext: FileRouteContext,\n\tnames: readonly string[]\n): context is FileRouteContext & { params: FileRouteParams<Path> } =>\n\tnames.every((name) => typeof context.params[name] === 'string');\n\ntype ServerHooks<Path extends string> = {\n\tpath: Path;\n\tserver?: () => Promise<FileRouteServerModule<Path, unknown> | undefined>;\n};\n\nexport const serverHooksOf = <Path extends string>({\n\tpath,\n\tserver\n}: ServerHooks<Path>) => {\n\tif (!server) return {};\n\tconst names = paramNamesOf(path);\n\tconst withParams = async <Result>(\n\t\tcontext: FileRouteContext,\n\t\trun: (\n\t\t\tmodule: FileRouteServerModule<Path, unknown>,\n\t\t\ttyped: FileRouteContext<Path>\n\t\t) => Result\n\t) => {\n\t\tconst module = await server();\n\t\tif (!module || !hasRouteParams<Path>(context, names)) return undefined;\n\n\t\treturn run(module, context);\n\t};\n\tconst hooks: Pick<FileRouteDefinition, 'beforeHandle' | 'load'> = {\n\t\tbeforeHandle: (context) =>\n\t\t\twithParams(context, (module, typed) =>\n\t\t\t\tmodule.beforeHandle?.(typed)\n\t\t\t),\n\t\tload: (context) =>\n\t\t\twithParams(context, (module, typed) => module.load?.(typed))\n\t};\n\n\treturn hooks;\n};\n\nexport type FileRouteAdapterInput<Path extends string> = {\n\tname: string;\n\tpath: Path;\n\tsource: string;\n};\n\nexport const defineFileRouteWith = <Path extends string>(\n\tframework: FileRouteFramework,\n\troute: FileRouteAdapterInput<Path> & {\n\t\tserver?: () => Promise<\n\t\t\tFileRouteServerModule<Path, unknown> | undefined\n\t\t>;\n\t},\n\trender: (input: FileRouteRenderInput) => Promise<Response>\n) => {\n\tconst definition: FileRouteDefinition = {\n\t\tframework,\n\t\tname: route.name,\n\t\tpath: route.path,\n\t\trender,\n\t\tsource: route.source,\n\t\t...serverHooksOf(route)\n\t};\n\n\treturn definition;\n};\n",
|
|
66
|
-
"import { isProductionRuntime } from '../utils/runtimeMode';\nimport { getDevPageWarmer, recordMissingAsset } from './requestContext';\n\nconst DOUBLED_RSC_SUFFIX = 'RSCRSC';\nconst warnedDoubledRscKeys = new Set<string>();\n\n/* A React Server Components page whose file name ends in RSC (HomeRSC.tsx)\n * used to get the key `HomeRSCRSC`; it is now `HomeRSC`, and the old key is\n * kept as a deprecated alias pointing at the same bundle. */\nconst warnDoubledRscKey = (\n\tsource: Record<string, string>,\n\tname: string,\n\tassetPath: string\n) => {\n\tif (!name.endsWith(DOUBLED_RSC_SUFFIX)) return;\n\tconst current = name.slice(0, -'RSC'.length);\n\tif (source[current] !== assetPath || warnedDoubledRscKeys.has(name)) return;\n\twarnedDoubledRscKeys.add(name);\n\tconsole.warn(\n\t\t`[asset] key \"${name}\" is deprecated: React Server Components pages whose file name ends in RSC no longer get the suffix twice. Use asset(manifest, '${current}').`\n\t);\n};\n\nexport const asset = (source: Record<string, string>, name: string) => {\n\tconst assetPath = source[name];\n\n\tif (assetPath === undefined) {\n\t\t// Production: a missing manifest key is a real build error — fail loud.\n\t\tif (isProductionRuntime()) {\n\t\t\tthrow new Error(`Asset \"${name}\" not found in manifest.`);\n\t\t}\n\n\t\t// Dev mode: the asset likely hasn't been built yet. Record the miss on\n\t\t// the request context so the page handler can build the page on\n\t\t// demand (see `resolveDeferredPageAssets`), and return an empty\n\t\t// placeholder — the handler re-reads the manifest once the build\n\t\t// lands, or throws the manifest error if it fails.\n\t\trecordMissingAsset(name);\n\t\tconst page = getDevPageWarmer()?.describe(name);\n\t\t// A page that will be built by this request needs no warning; keep\n\t\t// it for keys that are not a deferred page (or whose page is built\n\t\t// and really lacks this key, e.g. optional CSS).\n\t\tif (page !== undefined && !page.built) return '';\n\t\tconsole.warn(\n\t\t\t`[asset] key \"${name}\" not found in manifest (dev mode — skipping)`\n\t\t);\n\n\t\treturn '';\n\t}\n\n\tif (!isProductionRuntime()) warnDoubledRscKey(source, name, assetPath);\n\n\treturn assetPath;\n};\n",
|
|
67
|
-
"import type { ComponentType } from 'react';\nimport type { FileRouteServerModuleFor } from '../../types/fileRoutes';\nimport {\n\tdefineFileRouteWith,\n\ttype FileRouteAdapterInput\n} from '../core/fileRouteAdapter';\nimport {
|
|
68
|
-
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { readFile } from 'node:fs/promises';\nimport { dirname, join } from 'node:path';\nimport { readCspNonce } from '../../utils/cspNonceRef';\nimport { isProductionRuntime } from '../../utils/runtimeMode';\nimport { getCurrentAbsoluteRequest } from '../../core/requestContext';\nimport {\n\tstreamingPageHeaders,\n\twithPageCacheHeaders\n} from '../../core/pageResponseCache';\nimport {\n\ttype StreamingSlotEnhancerOptions,\n\twithRegisteredStreamingSlots\n} from '../../core/responseEnhancers';\nimport {\n\tcaptureStreamingSlotWarningCallsite,\n\trunWithStreamingSlotWarningScope\n} from '../../core/streamingSlotWarningScope';\nimport { getCurrentRouteRegistrationCallsite } from '../../core/devRouteRegistrationCallsite';\nimport { ssrErrorPage } from '../../utils/ssrErrorPage';\nimport { BROWSER_TRANSLATION_BASELINE_SCRIPT } from '../../core/browserTranslation';\nimport { REACT_SERVER_RUNTIME_FILE } from './constants';\nimport { injectFlightPayload } from './flightPayload';\nimport {\n\ttype ReactServerNodeRenderer,\n\trunWithReactServerNodeRenderer\n} from './nodeRendererRef';\n\nexport type ReactServerPageRequestInput<\n\tProps extends Record<string, unknown> = Record<never, never>\n> = StreamingSlotEnhancerOptions & {\n\t/** Buffer the response so it can carry a content-hash `ETag`. */\n\tbufferStreamForEtag?: boolean;\n\t/** Collect streaming slots rendered by the page. On by default; set\n\t * `false` to turn it off (slots then keep their fallback). */\n\tcollectStreamingSlots?: boolean;\n\t/** `asset(manifest, '<Page>RSC')`: the page's react-server bundle. */\n\tpage: string;\n\trequest?: Request;\n} & (keyof Props extends never\n\t\t? { props?: NoInfer<Props> }\n\t\t: { props: NoInfer<Props> });\n\ntype FlightRenderOptions = {\n\tonError: (error: unknown) => void;\n};\ntype ReactServerPageModule = {\n\tPage: unknown;\n\tclientManifest: Record<string, unknown>;\n\tcreateElement: (type: unknown, props?: unknown) => unknown;\n\trenderToReadableStream: (\n\t\tmodel: unknown,\n\t\tmanifest: Record<string, unknown>,\n\t\toptions: FlightRenderOptions\n\t) => ReadableStream<Uint8Array>;\n};\ntype HtmlRenderOptions = {\n\tbootstrapModules: string[];\n\tbootstrapScriptContent: string;\n\tnonce: string | undefined;\n\tonError: (error: unknown) => void;\n};\ntype ReactServerRendererModule = {\n\trenderHtml: (\n\t\tflight: ReadableStream<Uint8Array>,\n\t\toptions: HtmlRenderOptions\n\t) => Promise<ReadableStream<Uint8Array>>;\n\t/** Absent from renderers built before SuspenseSlot rendered in RSC. */\n\trenderStaticHtml?: (flight: ReadableStream<Uint8Array>) => Promise<string>;\n};\ntype ReactServerRuntime = { client: string; ssr: string };\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isPageModule = (value: unknown): value is ReactServerPageModule =>\n\tisRecord(value) &&\n\ttypeof value.Page === 'function' &&\n\tisRecord(value.clientManifest) &&\n\ttypeof value.createElement === 'function' &&\n\ttypeof value.renderToReadableStream === 'function';\n\nconst isRendererModule = (value: unknown): value is ReactServerRendererModule =>\n\tisRecord(value) && typeof value.renderHtml === 'function';\n\nconst isRuntime = (value: unknown): value is ReactServerRuntime =>\n\tisRecord(value) &&\n\ttypeof value.client === 'string' &&\n\ttypeof value.ssr === 'string';\n\nconst runtimeCache = new Map<string, Promise<ReactServerRuntime>>();\n\nconst loadRuntime = async (pagePath: string) => {\n\tconst runtimeDir = dirname(pagePath);\n\tconst parsed: unknown = JSON.parse(\n\t\tawait readFile(join(runtimeDir, REACT_SERVER_RUNTIME_FILE), 'utf8')\n\t);\n\tif (!isRuntime(parsed)) {\n\t\tthrow new Error(\n\t\t\t`Invalid ${REACT_SERVER_RUNTIME_FILE} in ${runtimeDir}`\n\t\t);\n\t}\n\n\treturn { client: parsed.client, ssr: join(runtimeDir, parsed.ssr) };\n};\n\n/* Production builds never change under a running server; dev rebuilds\n * rewrite the runtime file whenever a client component changes, so it is\n * read per request there. */\nconst readRuntime = (pagePath: string) => {\n\tif (!isProductionRuntime()) return loadRuntime(pagePath);\n\tconst cached = runtimeCache.get(pagePath);\n\tif (cached) return cached;\n\tconst loading = loadRuntime(pagePath);\n\truntimeCache.set(pagePath, loading);\n\tloading.catch(() => runtimeCache.delete(pagePath));\n\n\treturn loading;\n};\n\nconst loadPageModule = async (pagePath: string) => {\n\tconst loaded: unknown = await import(pagePath);\n\tif (!isPageModule(loaded)) {\n\t\tthrow new Error(\n\t\t\t`${pagePath} is not a React Server Components page bundle. ` +\n\t\t\t\t'Pass asset(manifest, \"<Page>RSC\") and give the page a default export.'\n\t\t);\n\t}\n\n\treturn loaded;\n};\n\nconst loadRenderer = async (rendererPath: string) => {\n\tconst loaded: unknown = await import(rendererPath);\n\tif (!isRendererModule(loaded)) {\n\t\tthrow new Error(\n\t\t\t`${rendererPath} is not a React Server Components renderer.`\n\t\t);\n\t}\n\n\treturn loaded;\n};\n\nconst logRenderError = (error: unknown) => {\n\tconsole.error('[SSR] React Server Components error:', error);\n};\n\n/* What a SuspenseSlot rendered by this page uses to turn its resolved node\n * into HTML (see nodeRendererRef): the node goes through the page's own\n * Flight server and the build's SSR renderer. */\nconst createNodeRenderer = (\n\tpageModule: ReactServerPageModule,\n\trenderer: ReactServerRendererModule\n) => {\n\tconst { renderStaticHtml } = renderer;\n\tif (!renderStaticHtml) return undefined;\n\tconst render: ReactServerNodeRenderer = (node) =>\n\t\trenderStaticHtml(\n\t\t\tpageModule.renderToReadableStream(node, pageModule.clientManifest, {\n\t\t\t\tonError: logRenderError\n\t\t\t})\n\t\t);\n\n\treturn render;\n};\n\nconst createRendererStorage = () =>\n\tnew AsyncLocalStorage<ReactServerNodeRenderer>();\n\nexport const handleReactServerPageRequest = async <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(\n\tinput: ReactServerPageRequestInput<Props>\n) => {\n\tconst request = input.request ?? getCurrentAbsoluteRequest();\n\tif (input.page === '') {\n\t\tthrow new Error(\n\t\t\t'React Server Components page bundle not found in manifest. ' +\n\t\t\t\t'Is reactServerComponentsDirectory set in absolute.config.ts?'\n\t\t);\n\t}\n\n\ttry {\n\t\t// Slot collection is on unless the handler opts out with `false`:\n\t\t// installing the collector costs nothing when no slot registers.\n\t\tconst collectStreamingSlots = input.collectStreamingSlots !== false;\n\t\tconst handlerCallsite = collectStreamingSlots\n\t\t\t? undefined\n\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\tconst renderPageResponse = async () => {\n\t\t\tconst [pageModule, runtime] = await Promise.all([\n\t\t\t\tloadPageModule(input.page),\n\t\t\t\treadRuntime(input.page)\n\t\t\t]);\n\t\t\tconst renderer = await loadRenderer(runtime.ssr);\n\t\t\tconst nonce = readCspNonce();\n\t\t\tconst renderFlight = () =>\n\t\t\t\tpageModule.renderToReadableStream(\n\t\t\t\t\tpageModule.createElement(\n\t\t\t\t\t\tpageModule.Page,\n\t\t\t\t\t\tinput.props ?? {}\n\t\t\t\t\t),\n\t\t\t\t\tpageModule.clientManifest,\n\t\t\t\t\t{ onError: logRenderError }\n\t\t\t\t);\n\t\t\tconst nodeRenderer = createNodeRenderer(pageModule, renderer);\n\t\t\tconst flight = nodeRenderer\n\t\t\t\t? runWithReactServerNodeRenderer(\n\t\t\t\t\t\tnodeRenderer,\n\t\t\t\t\t\tcreateRendererStorage,\n\t\t\t\t\t\trenderFlight\n\t\t\t\t\t)\n\t\t\t\t: renderFlight();\n\t\t\tconst [forHtml, forPayload] = flight.tee();\n\t\t\tconst html = await renderer.renderHtml(forHtml, {\n\t\t\t\tbootstrapModules: [runtime.client],\n\t\t\t\t// Streamed slots wait for hydration (released by the\n\t\t\t\t// client entry), as on Svelte and Vue pages.\n\t\t\t\tbootstrapScriptContent: `${BROWSER_TRANSLATION_BASELINE_SCRIPT}window.__ABS_SLOT_HYDRATION_PENDING__=true;`,\n\t\t\t\tnonce,\n\t\t\t\tonError: logRenderError\n\t\t\t});\n\n\t\t\treturn new Response(injectFlightPayload(html, forPayload, nonce), {\n\t\t\t\theaders: streamingPageHeaders()\n\t\t\t});\n\t\t};\n\n\t\tconst pageResponse = await runWithStreamingSlotWarningScope(\n\t\t\t() =>\n\t\t\t\tcollectStreamingSlots\n\t\t\t\t\t? withRegisteredStreamingSlots(renderPageResponse, input)\n\t\t\t\t\t: renderPageResponse(),\n\t\t\t{ explicitlyDisabled: !collectStreamingSlots, handlerCallsite }\n\t\t);\n\n\t\treturn withPageCacheHeaders(pageResponse, request, {\n\t\t\tbufferStreamForEtag: input.bufferStreamForEtag\n\t\t});\n\t} catch (error) {\n\t\tlogRenderError(error);\n\n\t\treturn withPageCacheHeaders(\n\t\t\tnew Response(ssrErrorPage('react', error), {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t}),\n\t\t\trequest\n\t\t);\n\t}\n};\n",
|
|
66
|
+
"import type { ManifestKey } from '../../types/manifest';\nimport { isProductionRuntime } from '../utils/runtimeMode';\nimport { getDevPageWarmer, recordMissingAsset } from './requestContext';\n\nconst DOUBLED_RSC_SUFFIX = 'RSCRSC';\nconst warnedDoubledRscKeys = new Set<string>();\n\n/* A React Server Components page whose file name ends in RSC (HomeRSC.tsx)\n * used to get the key `HomeRSCRSC`; it is now `HomeRSC`, and the old key is\n * kept as a deprecated alias pointing at the same bundle. */\nconst warnDoubledRscKey = (\n\tsource: Record<string, string>,\n\tname: string,\n\tassetPath: string\n) => {\n\tif (!name.endsWith(DOUBLED_RSC_SUFFIX)) return;\n\tconst current = name.slice(0, -'RSC'.length);\n\tif (source[current] !== assetPath || warnedDoubledRscKeys.has(name)) return;\n\twarnedDoubledRscKeys.add(name);\n\tconsole.warn(\n\t\t`[asset] key \"${name}\" is deprecated: React Server Components pages whose file name ends in RSC no longer get the suffix twice. Use asset(manifest, '${current}').`\n\t);\n};\n\n/**\n * The built path of a manifest entry: `asset(manifest, 'HomeIndex')`.\n *\n * The key is checked at compile time against the keys the project's build\n * writes (see `AbsoluteManifestKeys`), so a misspelled key is a type error\n * rather than a runtime one. Use `assetUnchecked` for a key computed at\n * runtime.\n */\nexport const asset = (source: Record<string, string>, name: ManifestKey) =>\n\tassetUnchecked(source, name);\n\n/**\n * `asset` for a key that is only known at runtime (`${name}Index`): the same\n * lookup, without the compile-time check that the key is one the project's\n * build writes.\n */\nexport const assetUnchecked = (\n\tsource: Record<string, string>,\n\tname: string\n) => {\n\tconst assetPath = source[name];\n\n\tif (assetPath === undefined) {\n\t\t// Production: a missing manifest key is a real build error — fail loud.\n\t\tif (isProductionRuntime()) {\n\t\t\tthrow new Error(`Asset \"${name}\" not found in manifest.`);\n\t\t}\n\n\t\t// Dev mode: the asset likely hasn't been built yet. Record the miss on\n\t\t// the request context so the page handler can build the page on\n\t\t// demand (see `resolveDeferredPageAssets`), and return an empty\n\t\t// placeholder — the handler re-reads the manifest once the build\n\t\t// lands, or throws the manifest error if it fails.\n\t\trecordMissingAsset(name);\n\t\tconst page = getDevPageWarmer()?.describe(name);\n\t\t// A page that will be built by this request needs no warning; keep\n\t\t// it for keys that are not a deferred page (or whose page is built\n\t\t// and really lacks this key, e.g. optional CSS).\n\t\tif (page !== undefined && !page.built) return '';\n\t\tconsole.warn(\n\t\t\t`[asset] key \"${name}\" not found in manifest (dev mode — skipping)`\n\t\t);\n\n\t\treturn '';\n\t}\n\n\tif (!isProductionRuntime()) warnDoubledRscKey(source, name, assetPath);\n\n\treturn assetPath;\n};\n",
|
|
67
|
+
"import type { ComponentType } from 'react';\nimport type { FileRouteServerModuleFor } from '../../types/fileRoutes';\nimport {\n\tdefineFileRouteWith,\n\ttype FileRouteAdapterInput\n} from '../core/fileRouteAdapter';\nimport { assetUnchecked } from '../core/lookup';\nimport { handleReactPageRequest } from './pageHandler';\n\ntype PagePropsOf<PageModule> = PageModule extends {\n\tdefault: ComponentType<infer Props>;\n}\n\t? Props\n\t: never;\n\ntype RenderableComponent = ComponentType<Record<string, unknown>>;\n\ntype ReactFileRouteInput<\n\tPath extends string,\n\tPageModule,\n\tServerModule\n> = FileRouteAdapterInput<Path> & {\n\tpage: () => Promise<PageModule>;\n\tserver?: () => Promise<ServerModule>;\n};\n\nconst isReactComponent = (value: unknown): value is RenderableComponent =>\n\ttypeof value === 'function' ||\n\t(typeof value === 'object' && value !== null && '$$typeof' in value);\n\n/** One React file route, as written by the generated route module. The\n * type arguments check the route at compile time: `ServerModule`'s `load`\n * must accept this path's params and return the page component's props\n * (and must exist when the page has required props). */\nexport const reactFileRoute = <\n\tPath extends string,\n\tPageModule extends { default: unknown },\n\tServerModule extends FileRouteServerModuleFor<Path, PagePropsOf<PageModule>>\n>(\n\troute: ReactFileRouteInput<Path, PageModule, ServerModule>\n) =>\n\tdefineFileRouteWith(\n\t\t'react',\n\t\troute,\n\t\tasync ({ manifest, props, request }) => {\n\t\t\tconst { default: Page } = await route.page();\n\t\t\tif (!isReactComponent(Page)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`File route ${route.source} has no default-exported React component.`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn handleReactPageRequest<Record<string, unknown>>({\n\t\t\t\tindex: assetUnchecked(manifest, `${route.name}Index`),\n\t\t\t\tPage,\n\t\t\t\tprops,\n\t\t\t\trequest\n\t\t\t});\n\t\t}\n\t);\n",
|
|
68
|
+
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { readFile } from 'node:fs/promises';\nimport { dirname, join } from 'node:path';\nimport { readCspNonce } from '../../utils/cspNonceRef';\nimport { isProductionRuntime } from '../../utils/runtimeMode';\nimport { getCurrentAbsoluteRequest } from '../../core/requestContext';\nimport {\n\tstreamingPageHeaders,\n\twithPageCacheHeaders\n} from '../../core/pageResponseCache';\nimport {\n\ttype StreamingSlotEnhancerOptions,\n\twithRegisteredStreamingSlots\n} from '../../core/responseEnhancers';\nimport {\n\tcaptureStreamingSlotWarningCallsite,\n\trunWithStreamingSlotWarningScope\n} from '../../core/streamingSlotWarningScope';\nimport { getCurrentRouteRegistrationCallsite } from '../../core/devRouteRegistrationCallsite';\nimport { ssrErrorPage } from '../../utils/ssrErrorPage';\nimport { BROWSER_TRANSLATION_BASELINE_SCRIPT } from '../../core/browserTranslation';\nimport { REACT_SERVER_RUNTIME_FILE } from './constants';\nimport { injectFlightPayload } from './flightPayload';\nimport {\n\ttype ReactServerNodeRenderer,\n\trunWithReactServerNodeRenderer\n} from './nodeRendererRef';\n\nexport type ReactServerPageRequestInput<\n\tProps extends Record<string, unknown> = Record<never, never>\n> = StreamingSlotEnhancerOptions & {\n\t/** Buffer the response so it can carry a content-hash `ETag`. */\n\tbufferStreamForEtag?: boolean;\n\t/** Collect streaming slots rendered by the page. On by default; set\n\t * `false` to turn it off (slots then keep their fallback). */\n\tcollectStreamingSlots?: boolean;\n\t/** `asset(manifest, '<Page>RSC')`: the page's react-server bundle. */\n\tpage: string;\n\trequest?: Request;\n} & (keyof Props extends never\n\t\t? { props?: NoInfer<Props> }\n\t\t: { props: NoInfer<Props> });\n\ntype FlightRenderOptions = {\n\tdebugChannel?: { writable: WritableStream<Uint8Array> };\n\tfilterStackFrame?: (url: string, functionName: string) => boolean;\n\tonError: (error: unknown) => void;\n};\ntype ReactServerPageModule = {\n\tPage: unknown;\n\tclientManifest: Record<string, unknown>;\n\tcreateElement: (type: unknown, props?: unknown) => unknown;\n\t/** Set by bundles built with React's development Flight server. Absent\n\t * from bundles built before the dev payload was stripped. */\n\tdevelopmentFlight?: boolean;\n\trenderToReadableStream: (\n\t\tmodel: unknown,\n\t\tmanifest: Record<string, unknown>,\n\t\toptions: FlightRenderOptions\n\t) => ReadableStream<Uint8Array>;\n};\ntype HtmlRenderOptions = {\n\tbootstrapModules: string[];\n\tbootstrapScriptContent: string;\n\tnonce: string | undefined;\n\tonError: (error: unknown) => void;\n};\ntype ReactServerRendererModule = {\n\trenderHtml: (\n\t\tflight: ReadableStream<Uint8Array>,\n\t\toptions: HtmlRenderOptions,\n\t\tdebug?: ReadableStream<Uint8Array>\n\t) => Promise<ReadableStream<Uint8Array>>;\n\t/** Absent from renderers built before SuspenseSlot rendered in RSC. */\n\trenderStaticHtml?: (flight: ReadableStream<Uint8Array>) => Promise<string>;\n};\ntype ReactServerRuntime = { client: string; ssr: string };\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isPageModule = (value: unknown): value is ReactServerPageModule =>\n\tisRecord(value) &&\n\ttypeof value.Page === 'function' &&\n\tisRecord(value.clientManifest) &&\n\ttypeof value.createElement === 'function' &&\n\ttypeof value.renderToReadableStream === 'function';\n\nconst isRendererModule = (value: unknown): value is ReactServerRendererModule =>\n\tisRecord(value) && typeof value.renderHtml === 'function';\n\nconst isRuntime = (value: unknown): value is ReactServerRuntime =>\n\tisRecord(value) &&\n\ttypeof value.client === 'string' &&\n\ttypeof value.ssr === 'string';\n\nconst runtimeCache = new Map<string, Promise<ReactServerRuntime>>();\n\nconst loadRuntime = async (pagePath: string) => {\n\tconst runtimeDir = dirname(pagePath);\n\tconst parsed: unknown = JSON.parse(\n\t\tawait readFile(join(runtimeDir, REACT_SERVER_RUNTIME_FILE), 'utf8')\n\t);\n\tif (!isRuntime(parsed)) {\n\t\tthrow new Error(\n\t\t\t`Invalid ${REACT_SERVER_RUNTIME_FILE} in ${runtimeDir}`\n\t\t);\n\t}\n\n\treturn { client: parsed.client, ssr: join(runtimeDir, parsed.ssr) };\n};\n\n/* Production builds never change under a running server; dev rebuilds\n * rewrite the runtime file whenever a client component changes, so it is\n * read per request there. */\nconst readRuntime = (pagePath: string) => {\n\tif (!isProductionRuntime()) return loadRuntime(pagePath);\n\tconst cached = runtimeCache.get(pagePath);\n\tif (cached) return cached;\n\tconst loading = loadRuntime(pagePath);\n\truntimeCache.set(pagePath, loading);\n\tloading.catch(() => runtimeCache.delete(pagePath));\n\n\treturn loading;\n};\n\nconst loadPageModule = async (pagePath: string) => {\n\tconst loaded: unknown = await import(pagePath);\n\tif (!isPageModule(loaded)) {\n\t\tthrow new Error(\n\t\t\t`${pagePath} is not a React Server Components page bundle. ` +\n\t\t\t\t'Pass asset(manifest, \"<Page>RSC\") and give the page a default export.'\n\t\t);\n\t}\n\n\treturn loaded;\n};\n\nconst loadRenderer = async (rendererPath: string) => {\n\tconst loaded: unknown = await import(rendererPath);\n\tif (!isRendererModule(loaded)) {\n\t\tthrow new Error(\n\t\t\t`${rendererPath} is not a React Server Components renderer.`\n\t\t);\n\t}\n\n\treturn loaded;\n};\n\nconst logRenderError = (error: unknown) => {\n\tconsole.error('[SSR] React Server Components error:', error);\n};\n\n/* What a SuspenseSlot rendered by this page uses to turn its resolved node\n * into HTML (see nodeRendererRef): the node goes through the page's own\n * Flight server and the build's SSR renderer. */\nconst createNodeRenderer = (\n\tpageModule: ReactServerPageModule,\n\trenderer: ReactServerRendererModule\n) => {\n\tconst { renderStaticHtml } = renderer;\n\tif (!renderStaticHtml) return undefined;\n\tconst render: ReactServerNodeRenderer = (node) =>\n\t\trenderStaticHtml(\n\t\t\tpageModule.renderToReadableStream(node, pageModule.clientManifest, {\n\t\t\t\tonError: logRenderError\n\t\t\t})\n\t\t);\n\n\treturn render;\n};\n\n/* React's development Flight server writes debug info into the payload:\n * per server component its name, owner, timing, props (a function prop as\n * `$E` plus its source) and stack frames with absolute source paths. The\n * payload is inlined into the page, so that would hand the browser the\n * project's file paths and server function source.\n *\n * Given a debug channel, React writes all of that to a second stream\n * instead and leaves only references to it in the payload, which the\n * Flight client skips when it has no debug channel of its own. That stream\n * goes to the SSR renderer (server-rendered errors keep their server\n * component owners) and never reaches the browser. Error rows (`E`) stay in\n * the payload, so stack frames are dropped: the browser gets a server\n * error's message, and the terminal logs the full error via onError. */\nconst dropAllStackFrames = () => false;\n\nconst createDevelopmentDebugChannel = (pageModule: ReactServerPageModule) => {\n\tif (pageModule.developmentFlight !== true) return undefined;\n\n\treturn new TransformStream<Uint8Array, Uint8Array>();\n};\n\nconst createRendererStorage = () =>\n\tnew AsyncLocalStorage<ReactServerNodeRenderer>();\n\nexport const handleReactServerPageRequest = async <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(\n\tinput: ReactServerPageRequestInput<Props>\n) => {\n\tconst request = input.request ?? getCurrentAbsoluteRequest();\n\tif (input.page === '') {\n\t\tthrow new Error(\n\t\t\t'React Server Components page bundle not found in manifest. ' +\n\t\t\t\t'Is reactServerComponentsDirectory set in absolute.config.ts?'\n\t\t);\n\t}\n\n\ttry {\n\t\t// Slot collection is on unless the handler opts out with `false`:\n\t\t// installing the collector costs nothing when no slot registers.\n\t\tconst collectStreamingSlots = input.collectStreamingSlots !== false;\n\t\tconst handlerCallsite = collectStreamingSlots\n\t\t\t? undefined\n\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\tconst renderPageResponse = async () => {\n\t\t\tconst [pageModule, runtime] = await Promise.all([\n\t\t\t\tloadPageModule(input.page),\n\t\t\t\treadRuntime(input.page)\n\t\t\t]);\n\t\t\tconst renderer = await loadRenderer(runtime.ssr);\n\t\t\tconst nonce = readCspNonce();\n\t\t\tconst debugChannel = createDevelopmentDebugChannel(pageModule);\n\t\t\tconst renderFlight = () =>\n\t\t\t\tpageModule.renderToReadableStream(\n\t\t\t\t\tpageModule.createElement(\n\t\t\t\t\t\tpageModule.Page,\n\t\t\t\t\t\tinput.props ?? {}\n\t\t\t\t\t),\n\t\t\t\t\tpageModule.clientManifest,\n\t\t\t\t\tdebugChannel\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tdebugChannel: {\n\t\t\t\t\t\t\t\t\twritable: debugChannel.writable\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tfilterStackFrame: dropAllStackFrames,\n\t\t\t\t\t\t\t\tonError: logRenderError\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: { onError: logRenderError }\n\t\t\t\t);\n\t\t\tconst nodeRenderer = createNodeRenderer(pageModule, renderer);\n\t\t\tconst flight = nodeRenderer\n\t\t\t\t? runWithReactServerNodeRenderer(\n\t\t\t\t\t\tnodeRenderer,\n\t\t\t\t\t\tcreateRendererStorage,\n\t\t\t\t\t\trenderFlight\n\t\t\t\t\t)\n\t\t\t\t: renderFlight();\n\t\t\tconst [forHtml, forPayload] = flight.tee();\n\t\t\tconst html = await renderer.renderHtml(\n\t\t\t\tforHtml,\n\t\t\t\t{\n\t\t\t\t\tbootstrapModules: [runtime.client],\n\t\t\t\t\t// Streamed slots wait for hydration (released by the\n\t\t\t\t\t// client entry), as on Svelte and Vue pages.\n\t\t\t\t\tbootstrapScriptContent: `${BROWSER_TRANSLATION_BASELINE_SCRIPT}window.__ABS_SLOT_HYDRATION_PENDING__=true;`,\n\t\t\t\t\tnonce,\n\t\t\t\t\tonError: logRenderError\n\t\t\t\t},\n\t\t\t\tdebugChannel?.readable\n\t\t\t);\n\n\t\t\treturn new Response(injectFlightPayload(html, forPayload, nonce), {\n\t\t\t\theaders: streamingPageHeaders()\n\t\t\t});\n\t\t};\n\n\t\tconst pageResponse = await runWithStreamingSlotWarningScope(\n\t\t\t() =>\n\t\t\t\tcollectStreamingSlots\n\t\t\t\t\t? withRegisteredStreamingSlots(renderPageResponse, input)\n\t\t\t\t\t: renderPageResponse(),\n\t\t\t{ explicitlyDisabled: !collectStreamingSlots, handlerCallsite }\n\t\t);\n\n\t\treturn withPageCacheHeaders(pageResponse, request, {\n\t\t\tbufferStreamForEtag: input.bufferStreamForEtag\n\t\t});\n\t} catch (error) {\n\t\tlogRenderError(error);\n\n\t\treturn withPageCacheHeaders(\n\t\t\tnew Response(ssrErrorPage('react', error), {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t}),\n\t\t\trequest\n\t\t);\n\t}\n};\n",
|
|
69
69
|
"import { nonceAttr } from '../../utils/cspNonceRef';\nimport { REACT_SERVER_PAYLOAD_GLOBAL } from './constants';\n\n/* Inlines the Flight (RSC) payload into the HTML stream so the browser\n * hydrates from the same render instead of fetching it again. Each decoded\n * Flight chunk becomes\n * <script nonce>(self.X??=[]).push(\"…\")</script>\n * once the <body> has opened, and the rest lands just before </body>. The\n * hydration entry drains that array into a ReadableStream. */\n\nconst BODY_OPEN = /<body[\\s>]/i;\nconst BODY_CLOSE = '</body>';\n\n/* JSON escapes quotes and control characters; `<` is escaped too so the\n * payload can never close the script element or open a comment. */\nconst escapePayloadChunk = (chunk: string) =>\n\tJSON.stringify(chunk)\n\t\t.replace(/</g, '\\\\u003c')\n\t\t.replace(/\\u2028/g, '\\\\u2028')\n\t\t.replace(/\\u2029/g, '\\\\u2029');\n\nexport const flightPayloadScript = (chunk: string, nonce?: string) =>\n\t`<script${nonceAttr(nonce)}>(self.${REACT_SERVER_PAYLOAD_GLOBAL}??=[]).push(${escapePayloadChunk(chunk)})</script>`;\n\n/* Decodes a byte stream as UTF-8 text, calling `onText` per chunk (a\n * multi-byte character split across chunks is held until complete). */\nconst readText = async (\n\tstream: ReadableStream<Uint8Array>,\n\tonText: (text: string) => void\n) => {\n\tconst reader = stream.getReader();\n\tconst decoder = new TextDecoder();\n\tconst step = async (): Promise<void> => {\n\t\tconst { done, value } = await reader.read();\n\t\tif (done) {\n\t\t\tonText(decoder.decode());\n\n\t\t\treturn;\n\t\t}\n\t\tonText(decoder.decode(value, { stream: true }));\n\t\tawait step();\n\t};\n\tawait step();\n};\n\nconst takeAll = (pending: string[]) => pending.splice(0).join('');\n\nexport const injectFlightPayload = (\n\thtml: ReadableStream<Uint8Array>,\n\tflight: ReadableStream<Uint8Array>,\n\tnonce?: string\n) => {\n\tconst encoder = new TextEncoder();\n\tconst pending: string[] = [];\n\tconst flightDone = readText(flight, (text) => {\n\t\tif (text) pending.push(flightPayloadScript(text, nonce));\n\t});\n\t// Surfaced when the HTML stream finishes; never an unhandled rejection.\n\tflightDone.catch(() => undefined);\n\tlet bodyOpen = false;\n\tlet tail = '';\n\n\tconst handleHtml = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\ttext: string\n\t) => {\n\t\tif (!text) return;\n\t\tif (tail) {\n\t\t\ttail += text;\n\n\t\t\treturn;\n\t\t}\n\t\tconst closeIndex = text.indexOf(BODY_CLOSE);\n\t\tif (closeIndex >= 0) {\n\t\t\ttail = text.slice(closeIndex);\n\t\t\tcontroller.enqueue(\n\t\t\t\tencoder.encode(text.slice(0, closeIndex) + takeAll(pending))\n\t\t\t);\n\n\t\t\treturn;\n\t\t}\n\t\tbodyOpen = bodyOpen || BODY_OPEN.test(text);\n\t\tcontroller.enqueue(\n\t\t\tencoder.encode(bodyOpen ? text + takeAll(pending) : text)\n\t\t);\n\t};\n\n\tconst pump = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>\n\t) => {\n\t\ttry {\n\t\t\tawait readText(html, (text) => handleHtml(controller, text));\n\t\t\tawait flightDone;\n\t\t\tcontroller.enqueue(encoder.encode(takeAll(pending) + tail));\n\t\t\tcontroller.close();\n\t\t} catch (error) {\n\t\t\tcontroller.error(error);\n\t\t}\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tstart(controller) {\n\t\t\tvoid pump(controller);\n\t\t}\n\t});\n};\n",
|
|
70
70
|
"/* 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",
|
|
71
71
|
"import type {\n\tIslandRegistry,\n\tIslandRegistryInput,\n\tRuntimeIslandRenderProps\n} from '../../types/island';\nimport { getIslandMarkerAttributes } from '../core/islandMarkupAttributes';\nimport { requireCurrentIslandRegistry } from '../core/currentIslandRegistry';\nimport { renderIslandResult } from '../core/renderIslandMarkup';\nimport { IslandStyleLink, IslandWithStylesheet } from './IslandStyleLink';\n\ntype ServerIslandProps = {\n\tisland: RuntimeIslandRenderProps;\n\tregistry: IslandRegistry<IslandRegistryInput>;\n};\n\nexport const Island = (props: RuntimeIslandRenderProps) => {\n\tif (typeof window !== 'undefined') {\n\t\treturn (\n\t\t\t<IslandWithStylesheet\n\t\t\t\tcomponent={props.component}\n\t\t\t\tframework={props.framework}\n\t\t\t\tmarker={{\n\t\t\t\t\t...getIslandMarkerAttributes(props),\n\t\t\t\t\tsuppressHydrationWarning: true\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ServerIsland\n\t\t\tisland={props}\n\t\t\tregistry={requireCurrentIslandRegistry()}\n\t\t/>\n\t);\n};\n\n/** The island's server render, preceded by its stylesheet. */\nexport const ServerIsland = async ({ island, registry }: ServerIslandProps) => {\n\tconst { attributes, html } = await renderIslandResult(registry, island);\n\n\treturn (\n\t\t<>\n\t\t\t<IslandStyleLink\n\t\t\t\tcomponent={island.component}\n\t\t\t\tframework={island.framework}\n\t\t\t/>\n\t\t\t<div {...attributes} dangerouslySetInnerHTML={{ __html: html }} />\n\t\t</>\n\t);\n};\n",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...args) => api.dispatch(...args), ...initial };\n};\nconst redux = reduxImpl;\n\nconst shouldDispatchFromDevtools = (api) => !!api.dispatchFromDevtools && typeof api.dispatch === \"function\";\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst removeStoreFromTrackedConnections = (name, store) => {\n if (store === void 0) return;\n const connectionInfo = trackedConnections.get(name);\n if (!connectionInfo) return;\n delete connectionInfo.stores[store];\n if (Object.keys(connectionInfo.stores).length === 0) {\n trackedConnections.delete(name);\n }\n};\nconst findCallerName = (stack) => {\n var _a, _b;\n if (!stack) return void 0;\n const traceLines = stack.split(\"\\n\");\n const apiSetStateLineIndex = traceLines.findIndex(\n (traceLine) => traceLine.includes(\"api.setState\")\n );\n if (apiSetStateLineIndex < 0) return void 0;\n const callerLine = ((_a = traceLines[apiSetStateLineIndex + 1]) == null ? void 0 : _a.trim()) || \"\";\n return (_b = /.+ (.+) .+/.exec(callerLine)) == null ? void 0 : _b[1];\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = ((state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? {\n type: anonymousActionType || findCallerName(new Error().stack) || \"anonymous\"\n } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n });\n api.devtools = {\n cleanup: () => {\n if (connection && typeof connection.unsubscribe === \"function\") {\n connection.unsubscribe();\n }\n removeStoreFromTrackedConnections(options.name, store);\n }\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (shouldDispatchFromDevtools(api)) {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && args[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...args);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (shouldDispatchFromDevtools(api)) {\n api.dispatch(action);\n }\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, fn) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) fn(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = ((selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n });\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nfunction combine(initialState, create) {\n return (...args) => Object.assign({}, initialState, create(...args));\n}\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer)),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => window.localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n let hydrationVersion = 0;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n return setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n return setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n const currentVersion = ++hydrationVersion;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n if (currentVersion !== hydrationVersion) {\n return;\n }\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n if (currentVersion !== hydrationVersion) {\n return;\n }\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(get(), void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n if (currentVersion !== hydrationVersion) {\n return;\n }\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nfunction ssrSafe(config, isSSR = typeof window === \"undefined\") {\n return (set, get, api) => {\n if (!isSSR) {\n return config(set, get, api);\n }\n const ssrSet = () => {\n throw new Error(\"Cannot set state of Zustand store in SSR\");\n };\n api.setState = ssrSet;\n return config(ssrSet, get, api);\n };\n}\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector, ssrSafe as unstable_ssrSafe };\n",
|
|
78
78
|
"import { createStore, type StateCreator, type StoreApi } from 'zustand/vanilla';\nimport { combine } from 'zustand/middleware';\n\nexport type IslandStoreState = object;\ntype IslandStoreSnapshot = Record<string, unknown>;\ntype IslandStoreShape<\n\tTState extends IslandStoreState,\n\tTActions extends object\n> = Omit<TState, keyof TActions> & TActions;\nexport type IslandStateSnapshot = Record<string, IslandStoreSnapshot>;\ntype AnyIslandStore = StoreApi<object>;\ntype IslandStoreInstance = {\n\tapplyExternalSnapshot: (snapshot: IslandStoreSnapshot) => void;\n\tstore: AnyIslandStore;\n};\n\nexport const ABSOLUTE_ISLAND_STATE = '__ABS_ISLAND_STATE__';\nexport const ABSOLUTE_ISLAND_STORES = '__ABS_ISLAND_STORES__';\n\ndeclare global {\n\tvar __ABS_ISLAND_STATE__: IslandStateSnapshot | undefined;\n\tvar __ABS_ISLAND_STORES__:\n\t\tMap<string, Set<IslandStoreInstance>> | undefined;\n}\n\nconst getIslandStoreSnapshot = () => {\n\tglobalThis.__ABS_ISLAND_STATE__ ??= {};\n\n\treturn globalThis.__ABS_ISLAND_STATE__;\n};\n\nconst getIslandStores = () => {\n\tglobalThis.__ABS_ISLAND_STORES__ ??= new Map();\n\n\treturn globalThis.__ABS_ISLAND_STORES__;\n};\n\nconst isSerializableValue = (value: unknown) =>\n\ttypeof value !== 'function' && value !== undefined;\n\nconst toSerializableState = <T extends object>(state: T) =>\n\tObject.fromEntries(\n\t\tObject.entries(state).filter(([, value]) => isSerializableValue(value))\n\t);\n\nconst applySnapshot = <T extends object>(\n\tstore: StoreApi<T>,\n\tsnapshot: IslandStoreSnapshot | undefined\n) => {\n\tif (!snapshot) {\n\t\treturn;\n\t}\n\n\tstore.setState({\n\t\t...store.getState(),\n\t\t...snapshot\n\t});\n};\n\nconst getPeerStores = (\n\tstoreInstances: Set<IslandStoreInstance>,\n\townerStore: AnyIslandStore\n) => [...storeInstances].filter((peer) => peer.store !== ownerStore);\n\nconst syncIslandSnapshot = <\n\tTState extends IslandStoreState,\n\tTActions extends object\n>(\n\tstoreId: string,\n\tstate: IslandStoreShape<TState, TActions>,\n\tstoreInstances: Set<IslandStoreInstance>,\n\townerStore: AnyIslandStore\n) => {\n\tconst nextSnapshot = toSerializableState(state);\n\tgetIslandStoreSnapshot()[storeId] = nextSnapshot;\n\n\tfor (const peerStore of getPeerStores(storeInstances, ownerStore)) {\n\t\tpeerStore.applyExternalSnapshot(nextSnapshot);\n\t}\n};\n\nexport const createIslandStore = <\n\tTState extends IslandStoreState,\n\tTActions extends object\n>(\n\tstoreId: string,\n\tinitialState: TState,\n\tcreateState: StateCreator<TState, [], [], TActions>\n) => {\n\tconst store = createStore(combine(initialState, createState));\n\tconst stores = getIslandStores();\n\tconst storeInstances =\n\t\tstores.get(storeId) ?? new Set<IslandStoreInstance>();\n\tconst initialSnapshot = getIslandStoreSnapshot()[storeId];\n\tapplySnapshot(store, initialSnapshot);\n\tlet isApplyingExternalSnapshot = false;\n\n\tconst applyExternalSnapshot = (snapshot: IslandStoreSnapshot) => {\n\t\tisApplyingExternalSnapshot = true;\n\t\tapplySnapshot(store, snapshot);\n\t};\n\n\tstoreInstances.add({\n\t\tapplyExternalSnapshot,\n\t\tstore\n\t});\n\tstores.set(storeId, storeInstances);\n\n\tsyncIslandSnapshot(storeId, store.getState(), storeInstances, store);\n\tstore.subscribe((state) => {\n\t\tif (isApplyingExternalSnapshot) {\n\t\t\tisApplyingExternalSnapshot = false;\n\n\t\t\treturn;\n\t\t}\n\n\t\tsyncIslandSnapshot(storeId, state, storeInstances, store);\n\t});\n\n\treturn store;\n};\nexport const getIslandStoreServerSnapshot = <\n\tTState extends IslandStoreState,\n\tTSelected\n>(\n\tstore: StoreApi<TState>,\n\tselector: (state: TState) => TSelected\n) => selector(store.getInitialState());\nconst applySnapshotToStoreInstances = (\n\tstoreId: string,\n\tinstances: Set<IslandStoreInstance>,\n\tsnapshot: IslandStateSnapshot\n) => {\n\tfor (const instance of instances) {\n\t\tinstance.applyExternalSnapshot(snapshot[storeId] ?? {});\n\t}\n};\n\nexport const initializeIslandStores = (state: IslandStateSnapshot) => {\n\tconst currentSnapshot = getIslandStoreSnapshot();\n\tconst nextSnapshot: IslandStateSnapshot = {\n\t\t...state,\n\t\t...currentSnapshot\n\t};\n\n\tglobalThis.__ABS_ISLAND_STATE__ = nextSnapshot;\n\n\tfor (const [storeId, store] of getIslandStores()) {\n\t\tapplySnapshotToStoreInstances(storeId, store, nextSnapshot);\n\t}\n};\nexport const readIslandStore = <TState extends IslandStoreState, TSelected>(\n\tstore: StoreApi<TState>,\n\tselector: (state: TState) => TSelected\n) => selector(store.getState());\nexport const resetIslandStoreForTesting = () => {\n\tdelete globalThis.__ABS_ISLAND_STATE__;\n\tdelete globalThis.__ABS_ISLAND_STORES__;\n};\nexport const subscribeIslandStore = <\n\tTState extends IslandStoreState,\n\tTSelected\n>(\n\tstore: StoreApi<TState>,\n\tselector: (state: TState) => TSelected,\n\tlistener: (value: TSelected) => void\n) => {\n\tlet currentSelection = selector(store.getState());\n\n\treturn store.subscribe((state) => {\n\t\tconst nextSelection = selector(state);\n\t\tif (Object.is(nextSelection, currentSelection)) {\n\t\t\treturn;\n\t\t}\n\n\t\tcurrentSelection = nextSelection;\n\t\tlistener(nextSelection);\n\t});\n};\n"
|
|
79
79
|
],
|
|
80
|
-
"mappings": "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",
|
|
81
|
-
"debugId": "
|
|
80
|
+
"mappings": "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",
|
|
81
|
+
"debugId": "A6A52A17EA97686064756E2164756E21",
|
|
82
82
|
"names": []
|
|
83
83
|
}
|