@absolutejs/absolute 0.20.0-beta.177 → 0.20.0-beta.178
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 +26 -0
- package/changelog.json +51 -0
- package/dist/angular/browser.js +17 -2
- package/dist/angular/browser.js.map +4 -4
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +57 -33
- package/dist/angular/index.js.map +9 -8
- package/dist/angular/server.js +57 -33
- package/dist/angular/server.js.map +9 -8
- package/dist/build.js +532 -416
- package/dist/build.js.map +15 -15
- package/dist/cli/{compile-w2z6c9vt.js → compile-p5yv6ecp.js} +2 -2
- package/dist/cli/config/server.js +45 -12
- package/dist/cli/{dev-8br5mr7t.js → dev-2hbcsvkp.js} +1 -1
- package/dist/cli/{index-420h9hq7.js → index-1ewba8ye.js} +32 -3
- package/dist/cli/{index-7z1hh3fg.js → index-9dzdbbfc.js} +1 -1
- package/dist/cli/index.js +7 -7
- package/dist/cli/{islands-bx67g15t.js → islands-6zgb7501.js} +1 -1
- package/dist/cli/{mobile-we5q51ey.js → mobile-c92dh8s2.js} +2 -2
- package/dist/cli/{start-srs11bm8.js → start-asxb79rc.js} +2 -2
- package/dist/cli/{typecheck-7fvww3b7.js → typecheck-m2j4tkdk.js} +165 -35
- package/dist/client/chunks/{index-8m2qq61n.js → index-58svs66p.js} +13 -3
- package/dist/client/chunks/{index-8m2qq61n.js.map → index-58svs66p.js.map} +5 -4
- package/dist/client/chunks/{islands-mfjmdwnb.js → islands-tcadmgcx.js} +3 -6
- package/dist/client/chunks/{islands-mfjmdwnb.js.map → islands-tcadmgcx.js.map} +3 -4
- package/dist/client/chunks/{react-sprprqzs.js → react-khr6ewhr.js} +2 -2
- package/dist/client/index.js +82 -6
- package/dist/client/index.js.map +7 -6
- package/dist/dev/client/handlers/islands.ts +2 -0
- package/dist/dev/client/handlers/react.ts +92 -111
- package/dist/dev/client/handlers/reactUpdateQueue.ts +153 -0
- package/dist/index.js +505 -389
- package/dist/index.js.map +15 -15
- package/dist/islands/browser.js +2 -2
- package/dist/islands/browser.js.map +3 -3
- package/dist/islands/index.js +13 -6
- package/dist/islands/index.js.map +6 -5
- package/dist/react/browser.js +113 -12
- package/dist/react/browser.js.map +10 -7
- package/dist/react/components/index.js +31 -7
- package/dist/react/components/index.js.map +5 -4
- package/dist/react/components/server/index.js +22 -6
- package/dist/react/index.js +190 -46
- package/dist/react/index.js.map +15 -11
- package/dist/react/server.js +82 -23
- package/dist/react/server.js.map +11 -9
- package/dist/src/build/compileSvelte.d.ts +12 -1
- package/dist/src/build/compileVue.d.ts +1 -0
- package/dist/src/build/islandEntries.d.ts +3 -1
- package/dist/src/cli/scripts/typecheck.d.ts +8 -0
- package/dist/src/cli/scripts/typecheckDiagnostics.d.ts +17 -0
- package/dist/src/client/preserveIslandMarkup.d.ts +4 -0
- package/dist/src/core/islandManifest.d.ts +6 -0
- package/dist/src/core/islandStylesheet.d.ts +17 -0
- package/dist/src/react/Island.d.ts +9 -2
- package/dist/src/react/IslandStyleLink.d.ts +11 -0
- package/dist/src/react/createIsland.d.ts +1 -1
- package/dist/src/react/serverComponents/nodeRendererRef.d.ts +13 -0
- package/dist/src/utils/requestRenderUrl.d.ts +1 -0
- package/dist/src/utils/resolveConvention.d.ts +1 -0
- package/dist/src/vue/Island.browser.d.ts +3 -1
- package/dist/src/vue/Island.d.ts +2 -2
- package/dist/src/vue/createIsland.browser.d.ts +2 -2
- package/dist/src/vue/createIsland.d.ts +2 -2
- package/dist/src/vue/islandStyleLink.d.ts +30 -0
- package/dist/svelte/browser.js +2 -2
- package/dist/svelte/browser.js.map +3 -3
- package/dist/svelte/index.js +51 -49
- package/dist/svelte/index.js.map +9 -8
- package/dist/svelte/server.js +48 -45
- package/dist/svelte/server.js.map +8 -7
- package/dist/types/globals.d.ts +3 -0
- package/dist/vue/browser.js +105 -10
- package/dist/vue/browser.js.map +10 -7
- package/dist/vue/index.js +170 -47
- package/dist/vue/index.js.map +14 -11
- package/dist/vue/server.js +81 -22
- package/dist/vue/server.js.map +9 -7
- package/package.json +1 -1
- /package/dist/cli/{index-6522t968.js → index-yd672jyq.js} +0 -0
- /package/dist/client/chunks/{react-sprprqzs.js.map → react-khr6ewhr.js.map} +0 -0
package/dist/svelte/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/utils/cspNonceRef.ts", "../src/build/resolvePackageImport.ts", "../src/constants.ts", "../src/svelte/lowerIslandSyntax.ts", "../src/svelte/lowerAwaitSlotSyntax.ts", "../src/utils/runtimeMode.ts", "../src/build/stylePreprocessor.ts", "../src/svelte/router/lazyModule.ts", "../src/core/islandServerGeneration.ts", "../src/core/svelteServerModule.ts", "../src/utils/escapeScriptContent.ts", "../src/utils/getDurationString.ts", "../src/utils/startupBanner.ts", "../src/utils/logger.ts", "../src/core/islandManifest.ts", "../src/core/islandPageContext.ts", "../src/core/devRouteRegistrationCallsite.ts", "../src/utils/ssrErrorPage.ts", "../src/core/requestContext.ts", "../src/mobile/producerContextState.ts", "../src/mobile/pageProtocol.ts", "../src/core/pageResponseCache.ts", "../src/client/streamSwap.ts", "../src/utils/streamingSlots.ts", "../src/core/partialPrerender.ts", "../src/core/routeAssets.ts", "../src/utils/inlinePageCss.ts", "../src/utils/stringModifiers.ts", "../src/core/staticHtmlNonce.ts", "../src/utils/resolveConvention.ts", "../src/utils/spaRouteManifest.ts", "../src/client/browserTranslationAttributes.ts", "../src/core/browserTranslation.ts", "../src/utils/localeRef.ts", "../src/svelte/renderToReadableStream.ts", "../src/angular/resolveAngularPackage.ts", "../src/angular/angularPatch.ts", "../src/angular/angularDeps.ts", "../src/utils/registerClientScript.ts", "../src/angular/httpTransferCache.ts", "../src/angular/requestProviders.ts", "../src/angular/zoneRuntime.ts", "../src/angular/ssrRender.ts", "../src/dev/client/cspNonce.ts", "../src/angular/islands.ts", "../src/core/islandSsr.ts", "../src/build/maskLiterals.ts", "../src/build/specifierRewriter.ts", "../src/build/rewriteImportsPlugin.ts", "../src/core/angularServerModule.ts", "../src/utils/isFile.ts", "../src/utils/vueCompiler.ts", "../src/core/vueServerModule.ts", "../src/core/islands.ts", "../src/core/islandMarkupAttributes.ts", "../src/core/renderIslandMarkup.ts", "../src/core/currentIslandRegistry.ts", "../src/svelte/pageHandler.ts", "../src/core/responseEnhancers.ts", "../src/core/streamingSlotRegistrar.ts", "../src/core/streamingSlotRegistry.ts", "../src/core/streamingSlotWarningScope.ts", "../src/svelte/routerSsr.ts", "../src/core/fileRouteAdapter.ts", "../src/core/lookup.ts", "../src/svelte/fileRoute.ts", "../src/svelte/i18n.ts", "../src/i18n/intlCache.ts", "../src/i18n/formatMessage.ts", "../src/i18n/translator.ts", "../src/svelte/createIsland.ts", "../node_modules/zustand/esm/vanilla.mjs", "../node_modules/zustand/esm/middleware.mjs", "../src/client/islandStore.ts", "../src/svelte/islandStore.ts", "../src/svelte/renderIsland.ts", "../src/svelte/resolveIslandHtml.ts", "../src/svelte/index.ts"],
|
|
3
|
+
"sources": ["../src/utils/cspNonceRef.ts", "../src/build/resolvePackageImport.ts", "../src/constants.ts", "../src/svelte/lowerIslandSyntax.ts", "../src/svelte/lowerAwaitSlotSyntax.ts", "../src/utils/runtimeMode.ts", "../src/build/stylePreprocessor.ts", "../src/svelte/router/lazyModule.ts", "../src/core/islandServerGeneration.ts", "../src/core/svelteServerModule.ts", "../src/utils/escapeScriptContent.ts", "../src/utils/getDurationString.ts", "../src/utils/startupBanner.ts", "../src/utils/logger.ts", "../src/core/islandManifest.ts", "../src/core/islandPageContext.ts", "../src/core/devRouteRegistrationCallsite.ts", "../src/utils/ssrErrorPage.ts", "../src/core/requestContext.ts", "../src/mobile/producerContextState.ts", "../src/mobile/pageProtocol.ts", "../src/core/pageResponseCache.ts", "../src/client/streamSwap.ts", "../src/utils/streamingSlots.ts", "../src/core/partialPrerender.ts", "../src/core/routeAssets.ts", "../src/utils/inlinePageCss.ts", "../src/utils/stringModifiers.ts", "../src/core/staticHtmlNonce.ts", "../src/utils/resolveConvention.ts", "../src/utils/spaRouteManifest.ts", "../src/client/browserTranslationAttributes.ts", "../src/core/browserTranslation.ts", "../src/utils/localeRef.ts", "../src/svelte/renderToReadableStream.ts", "../src/angular/resolveAngularPackage.ts", "../src/angular/angularPatch.ts", "../src/angular/angularDeps.ts", "../src/utils/registerClientScript.ts", "../src/angular/httpTransferCache.ts", "../src/angular/requestProviders.ts", "../src/angular/zoneRuntime.ts", "../src/angular/ssrRender.ts", "../src/dev/client/cspNonce.ts", "../src/angular/islands.ts", "../src/core/islandSsr.ts", "../src/build/maskLiterals.ts", "../src/build/specifierRewriter.ts", "../src/build/rewriteImportsPlugin.ts", "../src/core/angularServerModule.ts", "../src/utils/isFile.ts", "../src/utils/vueCompiler.ts", "../src/core/vueServerModule.ts", "../src/core/islands.ts", "../src/core/islandMarkupAttributes.ts", "../src/core/renderIslandMarkup.ts", "../src/core/currentIslandRegistry.ts", "../src/utils/requestRenderUrl.ts", "../src/svelte/pageHandler.ts", "../src/core/responseEnhancers.ts", "../src/core/streamingSlotRegistrar.ts", "../src/core/streamingSlotRegistry.ts", "../src/core/streamingSlotWarningScope.ts", "../src/svelte/routerSsr.ts", "../src/core/fileRouteAdapter.ts", "../src/core/lookup.ts", "../src/svelte/fileRoute.ts", "../src/svelte/i18n.ts", "../src/i18n/intlCache.ts", "../src/i18n/formatMessage.ts", "../src/i18n/translator.ts", "../src/svelte/createIsland.ts", "../node_modules/zustand/esm/vanilla.mjs", "../node_modules/zustand/esm/middleware.mjs", "../src/client/islandStore.ts", "../src/svelte/islandStore.ts", "../src/svelte/renderIsland.ts", "../src/svelte/resolveIslandHtml.ts", "../src/svelte/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/* Dependency-free access to the current request's CSP nonce, for code that\n * also ships to the browser (streaming slots, Angular components) and so\n * can't import the server's request context. `secureHeaders()` registers\n * the getter (src/core/cspNonce.ts); in the browser, or with secure headers\n * off, there is none and these return undefined / ''. */\n\nconst GETTER_KEY = Symbol.for('absolutejs.cspNonceGetter');\n\n/** ` nonce=\"…\"` for an inline <script>/<style> tag, or '' without one. */\nexport const nonceAttr = (nonce: string | undefined = readCspNonce()) =>\n\tnonce ? ` nonce=\"${nonce}\"` : '';\n\n/** Adds the nonce to the <style id=\"svelte-…\"> tags Svelte renders into the\n * head for components compiled with injected CSS. Only those: a <style>\n * that arrived through {@html} stays without one. */\nexport const nonceSvelteHeadStyles = (\n\thead: string,\n\tnonce: string | undefined = readCspNonce()\n) =>\n\tnonce\n\t\t? head.replace(\n\t\t\t\t/<style(?=\\s+id=\"svelte-[^\"]*\")(?![^>]*\\snonce=)/g,\n\t\t\t\t`<style nonce=\"${nonce}\"`\n\t\t\t)\n\t\t: head;\n\nexport const readCspNonce = () => {\n\tconst getter: unknown = Reflect.get(globalThis, GETTER_KEY);\n\tif (typeof getter !== 'function') return undefined;\n\tconst nonce: unknown = getter();\n\n\treturn typeof nonce === 'string' ? nonce : undefined;\n};\n\nexport const registerCspNonceGetter = (getter: () => string | undefined) => {\n\tReflect.set(globalThis, GETTER_KEY, getter);\n};\n",
|
|
6
6
|
"import { resolve, join } from 'node:path';\nimport { existsSync, readFileSync } from 'node:fs';\n\n/**\n * Resolve a bare module import (e.g. \"@absolutejs/absolute/svelte/components/Image.svelte\")\n * to an absolute file path by reading the package's exports map in package.json.\n *\n * Returns the resolved absolute path, or null if the import can't be resolved.\n */\ntype ExportConditions = 'browser' | 'import';\n\nconst resolveExportPath = (entry: unknown, conditions: ExportConditions[]) => {\n\tif (typeof entry === 'string') return entry;\n\tif (!entry || typeof entry !== 'object') return null;\n\n\tfor (const condition of conditions) {\n\t\tconst target = Reflect.get(entry, condition);\n\t\tif (typeof target === 'string') {\n\t\t\treturn target;\n\t\t}\n\t}\n\n\treturn null;\n};\n\nexport const resolvePackageImport = (\n\tspecifier: string,\n\tconditions: ExportConditions[] = ['import']\n) => {\n\t// Only handle bare module imports (not relative or absolute paths)\n\tif (specifier.startsWith('.') || specifier.startsWith('/')) return null;\n\n\t// Split into package name and subpath\n\tconst parts = specifier.split('/');\n\tconst isScoped = specifier.startsWith('@');\n\tconst packageName = isScoped ? `${parts[0]}/${parts[1]}` : parts[0];\n\tconst subpath = isScoped\n\t\t? parts.slice(2).join('/')\n\t\t: parts.slice(1).join('/');\n\tconst exportKey = subpath ? `./${subpath}` : '.';\n\n\tconst currentPackageJsonPath = resolve(process.cwd(), 'package.json');\n\tconst currentPackageJson = existsSync(currentPackageJsonPath)\n\t\t? JSON.parse(readFileSync(currentPackageJsonPath, 'utf-8'))\n\t\t: null;\n\tconst currentPackageDir =\n\t\tcurrentPackageJson?.name === packageName ? process.cwd() : null;\n\tconst packageDir =\n\t\tcurrentPackageDir ??\n\t\tresolve(process.cwd(), 'node_modules', packageName ?? '');\n\tconst packageJsonPath = join(packageDir, 'package.json');\n\n\tif (!existsSync(packageJsonPath)) return null;\n\n\ttry {\n\t\tconst packageJson =\n\t\t\tcurrentPackageDir && currentPackageJson\n\t\t\t\t? currentPackageJson\n\t\t\t\t: JSON.parse(readFileSync(packageJsonPath, 'utf-8'));\n\t\tconst { exports } = packageJson;\n\n\t\tif (!exports) return null;\n\n\t\t// Try exact match first, then try without extension for .svelte/.vue files\n\t\tconst entry = exports[exportKey];\n\n\t\tif (!entry) return null;\n\n\t\tconst importPath = resolveExportPath(entry, conditions);\n\n\t\tif (!importPath) return null;\n\n\t\tif (currentPackageDir && importPath.startsWith('./dist/')) {\n\t\t\tconst sourceCandidate = resolve(\n\t\t\t\tpackageDir,\n\t\t\t\timportPath.replace(/^\\.\\/dist\\//, './src/')\n\t\t\t);\n\t\t\tif (existsSync(sourceCandidate)) {\n\t\t\t\treturn sourceCandidate;\n\t\t\t}\n\t\t}\n\n\t\tconst resolved = resolve(packageDir, importPath);\n\n\t\treturn existsSync(resolved) ? resolved : null;\n\t} catch {\n\t\treturn null;\n\t}\n};\n",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"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",
|
|
17
17
|
"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",
|
|
18
18
|
"/**\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",
|
|
19
|
-
"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",
|
|
20
|
-
"import { escapeScriptContent } from '../utils/escapeScriptContent';\nimport { nonceAttr } from '../utils/cspNonceRef';\nimport { isProductionRuntime } from '../utils/runtimeMode';\nimport { logWarn } from '../utils/logger';\nimport { getIslandBootstrapPath } from './islandManifest';\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 buildIslandsHeadMarkup = (manifest: Record<string, string>) => {\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 `${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));\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",
|
|
19
|
+
"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",
|
|
20
|
+
"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",
|
|
21
21
|
"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",
|
|
22
22
|
"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",
|
|
23
23
|
"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",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"/** Read the per-page compiled CSS sidecar that the build emitted next to\n * the SSR JS, and splice it into the SSR head as an inline <style>\n * block. Used by each framework's page handler so scoped/per-page\n * styles are present on first paint instead of loading client-side\n * after hydration (which produces a one-frame flash of unstyled\n * chrome — sidebar/logo/cards).\n *\n * The CSS sidecar is written by `core/build.ts` after the server and\n * CSS Bun.build passes finish: for each SSR JS output, a `.css` file\n * with the same basename + hash is placed beside it. The handler\n * derives the sidecar path from the SSR JS path it already has\n * (`pagePath` / `index`) so there's no manifest lookup, no extra\n * argument the user must thread through, and no chance of getting\n * the URL hash wrong.\n *\n * Content-hashed filenames mean the sidecar is immutable for the\n * lifetime of a build, so the read is memoised by absolute path and\n * the handler hits `readFile` at most once per page per process. */\n\nimport { nonceAttr } from './cspNonceRef';\nconst siblingCssCache = new Map<string, string>();\n\n/** Drop every memoised sibling-CSS read (including cached misses). The dev\n * server calls this after rebuilding page bundles: a request landing\n * mid-rebuild can otherwise cache '' for a freshly hashed path whose\n * sidecar hasn't been copied yet, and that page then SSRs unstyled for the\n * rest of the process. Prod never needs this — hashed artifacts are\n * immutable there. */\nexport const clearSiblingCssCache = () => {\n\tsiblingCssCache.clear();\n};\n\nexport const injectInlineCss = (headTag: string, css: string) => {\n\tif (!css) return headTag;\n\tconst styleBlock = `<style data-absolute-page-css${nonceAttr()}>${css}</style>`;\n\n\treturn headTag.replace('</head>', `${styleBlock}</head>`);\n};\nexport const readSiblingCss = async (siblingJsPath: string | undefined) => {\n\tif (!siblingJsPath) return '';\n\tconst cssPath = siblingJsPath.replace(/\\.js$/, '.css');\n\tif (cssPath === siblingJsPath) return '';\n\tconst cached = siblingCssCache.get(cssPath);\n\tif (cached !== undefined) return cached;\n\tconst { readFile } = await import('node:fs/promises');\n\ttry {\n\t\tconst css = await readFile(cssPath, 'utf-8');\n\t\tsiblingCssCache.set(cssPath, css);\n\n\t\treturn css;\n\t} catch {\n\t\t// No sidecar — page has no compiled styles, or dev-mode build\n\t\t// hasn't written one yet. Cache the miss so we don't repeatedly\n\t\t// stat a known-absent path.\n\t\tsiblingCssCache.set(cssPath, '');\n\n\t\treturn '';\n\t}\n};\n",
|
|
32
32
|
"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",
|
|
33
33
|
"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",
|
|
34
|
-
"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\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\nconst 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 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",
|
|
34
|
+
"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",
|
|
35
35
|
"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\nconst 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",
|
|
36
36
|
"/** 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",
|
|
37
37
|
"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",
|
|
@@ -54,12 +54,13 @@
|
|
|
54
54
|
"import { mkdir } from 'node:fs/promises';\nimport { dirname, join, relative } from 'node:path';\nimport { resolveAngularRuntimePath } from '../angular/resolveAngularPackage';\nimport { rewriteImportsInContent } from '../build/rewriteImportsPlugin';\nimport { isProductionRuntime } from '../utils/runtimeMode';\n\n// On-the-fly server-module compiler for cross-framework Angular islands —\n// the Angular analogue of `compileSvelteServerModule`/`compileVueServerModule`.\n//\n// At SSR the island registry's build reference for an Angular island points at\n// the raw component `.ts`. Importing it directly resolves its bare `@angular/*`\n// to node_modules — a DIFFERENT Angular instance than the pre-linked server\n// vendor that the render pipeline (`getAngularDeps`) and every bundled server\n// page use — so the JIT-compiled component injects across instances and every\n// DI lookup fails with NG0201. (Dev shares one node_modules Angular, so it only\n// bites production.)\n//\n// Fix: bundle the component with its relative deps (sibling components, the\n// shared store) but leave every npm package external, then rewrite the bare\n// `@angular/*` specifiers to the same vendor files `getAngularDeps` resolves.\n// The component then JIT-compiles against the vendor Angular, so its factory and\n// the render pipeline's injector share one instance. Package deps stay external:\n// `@angular/*` is redirected to the vendor; `IslandStore`\n// (`@absolutejs/absolute/angular`, `providedIn: 'root'`, no constructor deps)\n// resolves cross-instance via its plain `ɵprov`; and the vendor\n// `@angular/compiler` JIT facade is already loaded by the bundled server entry.\n// (Bundling the package graph instead drags in Angular's SSR view-engine\n// optional deps — `consolidate` → ejs/handlebars/… — which fail to resolve.)\n\nconst serverCacheRoot = join(\n\tprocess.cwd(),\n\t'.absolutejs',\n\t'islands',\n\t'angular'\n);\nconst compiledModuleCache = new Map<string, Promise<string>>();\nconst ANGULAR_SPECIFIER_RE = /[\"'](@angular\\/[^\"']+)[\"']/g;\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\treturn join(serverCacheRoot, `${normalizedSourcePath}.server.js`);\n};\n\n// Map every `@angular/*` specifier the bundle still imports to its vendor file.\n// Gated on `isProductionRuntime()` to stay in lockstep with `getAngularDeps`,\n// which only resolves to the vendor in production (`useBareSpecifiers =\n// !isProductionRuntime()`) and uses bare node_modules specifiers otherwise — in\n// dev and during the build-time static prerender. Rewriting unconditionally\n// would pin the component to the vendor while the render pipeline used\n// node_modules, re-creating the NG0201 dual-instance split in reverse.\nconst collectVendorPaths = (code: string) => {\n\tconst vendorPaths: Record<string, string> = {};\n\tif (!isProductionRuntime()) {\n\t\treturn vendorPaths;\n\t}\n\tconst specifiers = new Set(\n\t\t[...code.matchAll(ANGULAR_SPECIFIER_RE)].map((match) => match[1])\n\t);\n\tspecifiers.forEach((specifier) => {\n\t\tif (!specifier) return;\n\t\tconst resolved = resolveAngularRuntimePath(specifier);\n\t\tif (resolved === specifier) return;\n\t\tvendorPaths[specifier] = resolved;\n\t});\n\n\treturn vendorPaths;\n};\n\nconst buildAngularServerModule = async (sourcePath: string) => {\n\tconst result = await Bun.build({\n\t\tentrypoints: [sourcePath],\n\t\tformat: 'esm',\n\t\tpackages: 'external',\n\t\ttarget: 'bun',\n\t\tthrow: false\n\t});\n\tconst entry = result.outputs.find(\n\t\t(output) => output.kind === 'entry-point'\n\t);\n\tif (!result.success || !entry) {\n\t\tconst message = result.logs.map((log) => String(log)).join('\\n');\n\t\tthrow new Error(\n\t\t\t`Failed to compile Angular island server module for \"${sourcePath}\":\\n${message}`\n\t\t);\n\t}\n\n\tconst code = await entry.text();\n\tconst rewritten = rewriteImportsInContent(code, collectVendorPaths(code));\n\tconst modulePath = getCachedModulePath(sourcePath);\n\tawait mkdir(dirname(modulePath), { recursive: true });\n\tawait Bun.write(modulePath, rewritten);\n\n\treturn modulePath;\n};\n\nexport const compileAngularServerModule = (sourcePath: string) => {\n\tconst cached = compiledModuleCache.get(sourcePath);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\tconst compiledModulePromise = buildAngularServerModule(sourcePath);\n\tcompiledModuleCache.set(sourcePath, compiledModulePromise);\n\n\treturn compiledModulePromise;\n};\n",
|
|
55
55
|
"import { statSync } from 'node:fs';\n\n/** True only for a regular file. Vue's type resolver probes an import path as\n * written before trying `<path>.ts` and `<path>/index.ts`, so answering true\n * for a directory makes it read the directory and fail with EISDIR. */\nexport const isFile = (path: string) =>\n\tstatSync(path, { throwIfNoEntry: false })?.isFile() ?? false;\n",
|
|
56
56
|
"type VueCompiler = typeof import('@vue/compiler-sfc');\n\nconst createVueCompiler = async () => {\n\tconst [compiler, typescript] = await Promise.all([\n\t\timport('@vue/compiler-sfc'),\n\t\timport('typescript')\n\t]);\n\tcompiler.registerTS?.(() => typescript);\n\n\treturn compiler;\n};\n\nlet compilerPromise: Promise<VueCompiler> | undefined;\n\nexport const loadVueCompiler = () => {\n\tcompilerPromise ??= createVueCompiler();\n\n\treturn compilerPromise;\n};\n",
|
|
57
|
-
"import { readFileSync, realpathSync } from 'node:fs';\nimport { mkdir } from 'node:fs/promises';\nimport { dirname, join, relative, resolve } from 'node:path';\nimport { Transpiler } from 'bun';\nimport {
|
|
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\nconst extractRelativeVueImports = (sourceCode: string) =>\n\tArray.from(sourceCode.matchAll(/import\\s+[\\s\\S]+?['\"]([^'\"]+)['\"]/g))\n\t\t.map((match) => match[1])\n\t\t.filter(\n\t\t\t(importPath): importPath is string =>\n\t\t\t\ttypeof importPath === 'string' &&\n\t\t\t\timportPath.startsWith('.') &&\n\t\t\t\timportPath.endsWith('.vue')\n\t\t);\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 childImportPaths = extractRelativeVueImports(compiledScript.content);\n\tconst compiledChildren = await Promise.all(\n\t\tchildImportPaths.map(async (relativeImport) => ({\n\t\t\tcompiledPath: await compileVueServerModule(\n\t\t\t\tresolve(dirname(sourcePath), relativeImport)\n\t\t\t),\n\t\t\tspec: relativeImport\n\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\tconst compiledModulePath = getCachedModulePath(sourcePath);\n\tlet rewritten = assembled;\n\tfor (const child of compiledChildren) {\n\t\trewritten = rewritten.replaceAll(\n\t\t\tchild.spec,\n\t\t\tensureRelativeImportPath(compiledModulePath, child.compiledPath)\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\tIslandComponentDefinition,\n\tIslandRegistry,\n\tIslandRegistryInput\n} from '../../types/island';\n\nexport const defineIslandComponent = <Component>(\n\tcomponent: Component,\n\toptions: {\n\t\texport?: string;\n\t\tsource: string;\n\t}\n): IslandComponentDefinition<Component> => ({\n\tcomponent,\n\texport: options.export,\n\tsource: options.source\n});\nexport const defineIslandRegistry = <T extends IslandRegistryInput>(\n\tregistry: IslandRegistry<T>\n) => registry;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nexport const getIslandBuildReference = <Component>(\n\tcomponent: Component | IslandComponentDefinition<Component>\n) => {\n\tif (!isIslandComponentDefinition(component)) return null;\n\n\treturn {\n\t\texport: component.export,\n\t\tsource: component.source\n\t};\n};\nexport const isIslandComponentDefinition = <Component>(\n\tvalue: Component | IslandComponentDefinition<Component>\n): value is IslandComponentDefinition<Component> =>\n\tisRecord(value) &&\n\t'component' in value &&\n\t'source' in value &&\n\ttypeof value.source === 'string';\n\nexport function getIslandComponent<Component>(component: Component): Component;\nexport function getIslandComponent<Component>(\n\tcomponent: IslandComponentDefinition<Component>\n): Component;\nexport function getIslandComponent<Component>(\n\tcomponent: Component | IslandComponentDefinition<Component>\n) {\n\tif (isIslandComponentDefinition(component)) {\n\t\treturn component.component;\n\t}\n\n\treturn component;\n}\nexport const parseIslandProps = (rawProps: string | null) => {\n\tif (!rawProps) return {};\n\n\treturn JSON.parse(rawProps);\n};\nexport const serializeIslandProps = (props: unknown) =>\n\tJSON.stringify(props ?? {});\n\nexport {\n\tgetIslandManifestEntries,\n\tgetIslandManifestKey\n} from './islandManifest';\n",
|
|
59
59
|
"import type { RuntimeIslandRenderProps } from '../../types/island';\nimport { serializeIslandProps } from './islands';\n\ntype IslandMarkerAttributes = {\n\t'data-component': string;\n\t'data-framework': string;\n\t'data-hydrate': string;\n\t'data-island': 'true';\n\t'data-island-id'?: string;\n\t'data-props': string;\n};\n\nexport const getIslandMarkerAttributes = (\n\tprops: RuntimeIslandRenderProps,\n\tislandId?: string\n): IslandMarkerAttributes => ({\n\t'data-component': props.component,\n\t'data-framework': props.framework,\n\t'data-hydrate': props.hydrate ?? 'load',\n\t'data-island': 'true',\n\t...(islandId ? { 'data-island-id': islandId } : {}),\n\t'data-props': serializeIslandProps(props.props)\n});\n\nconst escapeHtmlAttribute = (value: string) =>\n\tvalue\n\t\t.replaceAll('&', '&')\n\t\t.replaceAll('\"', '"')\n\t\t.replaceAll('<', '<')\n\t\t.replaceAll('>', '>');\n\nexport const serializeIslandAttributes = (attributes: Record<string, string>) =>\n\tObject.entries(attributes)\n\t\t.map(([key, value]) => `${key}=\"${escapeHtmlAttribute(value)}\"`)\n\t\t.join(' ');\n",
|
|
60
60
|
"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",
|
|
61
61
|
"import type { IslandRegistryInput } from '../../types/island';\n\ndeclare global {\n\tvar __absoluteIslandRegistry: IslandRegistryInput | undefined;\n}\n\nexport const getCurrentIslandRegistry = () =>\n\tglobalThis.__absoluteIslandRegistry;\nexport const requireCurrentIslandRegistry = () => {\n\tconst registry = globalThis.__absoluteIslandRegistry;\n\tif (!registry) {\n\t\tthrow new Error(\n\t\t\t'No island registry is active. Configure `islands.registry` in absolute.config.ts before rendering <Island />.'\n\t\t);\n\t}\n\n\treturn registry;\n};\nexport const setCurrentIslandRegistry = (\n\tregistry: IslandRegistryInput | undefined\n) => {\n\tglobalThis.__absoluteIslandRegistry = registry;\n};\n",
|
|
62
|
-
"import { nonceAttr } from '../utils/cspNonceRef';\nimport type { Component as SvelteComponent } from 'svelte';\nimport type { SveltePropsOf } from '../../types/svelte';\nimport { compileSvelteServerModule } from '../core/svelteServerModule';\nimport { injectIslandPageContextStream } from '../core/islandPageContext';\nimport { getCurrentRouteRegistrationCallsite } from '../core/devRouteRegistrationCallsite';\nimport {\n\tdevBuildErrorResponse,\n\tgetCurrentAbsoluteRequest,\n\tresolveDeferredPageAssets,\n\twithDeferredStylesheets\n} from '../core/requestContext';\nimport type { AbsoluteMobileBuildPageMetadata } from '../mobile/buildMetadata';\nimport {\n\tABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,\n\tfinalizeAbsoluteMobilePage\n} from '../mobile/pageProtocol';\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 { readHeadStylesheets, readHeadTitle } from '../core/routeAssets';\nimport { readSiblingCss } from '../utils/inlinePageCss';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport { renderSpaNotFound } from '../utils/spaRouteManifest';\nimport {\n\tderivePageName,\n\trenderConventionError\n} from '../utils/resolveConvention';\nimport { BROWSER_TRANSLATION_BASELINE_SCRIPT } from '../core/browserTranslation';\nimport { createSvelteRouterSsr } from './routerSsr';\n\ntype GenericSvelteComponent = SvelteComponent<Record<string, unknown>>;\ntype ResolvedSveltePage = {\n\tcomponent: GenericSvelteComponent;\n\thasIslands: boolean;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isGenericSvelteComponent = (\n\tvalue: unknown\n): value is GenericSvelteComponent =>\n\ttypeof value === 'function' || isRecord(value);\n\nconst readHasIslands = (value: unknown) => {\n\tif (!isRecord(value)) return false;\n\tconst hasIslands = value['__ABSOLUTE_PAGE_HAS_ISLANDS__'];\n\n\treturn typeof hasIslands === 'boolean' ? hasIslands : false;\n};\n\nconst readDefaultExport = (value: unknown) =>\n\tisRecord(value) ? value.default : undefined;\n\nconst primeSvelteStream = async <T>(stream: ReadableStream<T>) => {\n\tconst reader = stream.getReader();\n\tconst firstChunk = await reader.read();\n\n\treturn { firstChunk, reader };\n};\n\nconst restorePrimedStream = <T>(\n\tfirstChunk: Awaited<ReturnType<ReadableStreamDefaultReader<T>['read']>>,\n\treader: ReadableStreamDefaultReader<T>\n) =>\n\tnew ReadableStream<T>({\n\t\tstart(controller) {\n\t\t\tif (!firstChunk.done) controller.enqueue(firstChunk.value);\n\t\t\tif (firstChunk.done) {\n\t\t\t\tcontroller.close();\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst pumpLoop = () => {\n\t\t\t\treader\n\t\t\t\t\t.read()\n\t\t\t\t\t.then(({ done, value }) =>\n\t\t\t\t\t\tdone\n\t\t\t\t\t\t\t? controller.close()\n\t\t\t\t\t\t\t: (controller.enqueue(value), pumpLoop())\n\t\t\t\t\t)\n\t\t\t\t\t.catch((err) => controller.error(err));\n\t\t\t};\n\t\t\tpumpLoop();\n\t\t}\n\t});\n\nexport type SveltePageRenderOptions = {\n\tcollectStreamingSlots?: boolean;\n\tbodyContent?: string;\n\theadContent?: string;\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} & StreamingSlotEnhancerOptions;\n\ntype HasNoSvelteProps<Props> = [Props] extends [never]\n\t? true\n\t: keyof Props extends never\n\t\t? true\n\t\t: false;\n\nexport type SveltePageRequestInput<\n\tComponent extends SvelteComponent<never> = SvelteComponent<\n\t\tRecord<never, never>\n\t>\n> = SveltePageRenderOptions & {\n\t/** @internal Build-generated mobile identity. Application code must not set this. */\n\t__absoluteMobile?: AbsoluteMobileBuildPageMetadata;\n\tindexPath: string;\n\tpagePath: 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 pass it into\n\t * `<Router url={url}>` without the caller threading it by hand.\n\t * User-supplied `props.url` (if present) takes precedence. */\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} & (HasNoSvelteProps<SveltePropsOf<Component>> extends true\n\t\t? { props?: NoInfer<SveltePropsOf<Component>> }\n\t\t: { props: NoInfer<SveltePropsOf<Component>> });\n\nconst resolveRequestPathname = (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}${parsed.search}`;\n\t} catch {\n\t\treturn undefined;\n\t}\n};\n\nexport const handleSveltePageRequest = async <\n\tComponent extends SvelteComponent<never>\n>(\n\tinput: SveltePageRequestInput<Component>\n) => {\n\t// Dev on-demand pages: `asset()` returned `''` for a page that has not\n\t// been built yet. Build it now and re-read the manifest; otherwise fall\n\t// through to the manifest error so the overlay shows the real cause.\n\tconst deferredAssets =\n\t\tinput.pagePath === '' || input.indexPath === ''\n\t\t\t? await resolveDeferredPageAssets()\n\t\t\t: null;\n\tconst buildFailure = devBuildErrorResponse('svelte', deferredAssets);\n\tif (buildFailure) return buildFailure;\n\tconst resolvedIndexPath =\n\t\tdeferredAssets && input.indexPath === ''\n\t\t\t? deferredAssets.lookup(`${deferredAssets.name}Index`)\n\t\t\t: input.indexPath;\n\tconst resolvedOptions = input;\n\tconst resolvedPagePath =\n\t\tdeferredAssets && input.pagePath === ''\n\t\t\t? deferredAssets.lookup(deferredAssets.name)\n\t\t\t: input.pagePath;\n\tif (resolvedPagePath === '' || resolvedIndexPath === '') {\n\t\tconst missingName = deferredAssets?.name || 'Page';\n\t\tconst missingKey =\n\t\t\tresolvedPagePath === '' ? missingName : `${missingName}Index`;\n\t\tthrow new Error(`Asset \"${missingKey}\" not found in manifest.`);\n\t}\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 `<Router url={url}>` just by\n\t// forwarding `request` instead of unwrapping it themselves.\n\tconst resolvedProps =\n\t\trequestPathname !== undefined &&\n\t\t(!isRecord(userProps) || !('url' in userProps))\n\t\t\t? {\n\t\t\t\t\t...(userProps ?? {}),\n\t\t\t\t\turl: requestPathname\n\t\t\t\t}\n\t\t\t: userProps;\n\tconst pageId =\n\t\tinput.__absoluteMobile?.pageId ?? derivePageName(resolvedPagePath);\n\tconst currentContract =\n\t\tinput.__absoluteMobile?.contract ??\n\t\t`svelte:${pageId}:${ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION}`;\n\tconst mobileResponse = finalizeAbsoluteMobilePage({\n\t\tcompatibility: {\n\t\t\tframework: 'svelte',\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: resolvedProps ?? Object.create(null),\n\t\trequest,\n\t\t// Web route data: the assets a hovered `<Link>` warms before the\n\t\t// click, read back out of the head content this handler is about\n\t\t// to render.\n\t\troute: () => {\n\t\t\tconst head = withDeferredStylesheets(\n\t\t\t\tinput.headContent ?? '',\n\t\t\t\tdeferredAssets\n\t\t\t);\n\t\t\tconst title = readHeadTitle(head);\n\n\t\t\treturn {\n\t\t\t\tassets: {\n\t\t\t\t\tcss: readHeadStylesheets(head),\n\t\t\t\t\tindex: resolvedIndexPath\n\t\t\t\t},\n\t\t\t\t...(title ? { head: { title } } : {})\n\t\t\t};\n\t\t}\n\t});\n\tif (mobileResponse) return mobileResponse;\n\n\ttry {\n\t\tconst spaNotFound = await renderSpaNotFound(\n\t\t\t'svelte',\n\t\t\tderivePageName(resolvedPagePath),\n\t\t\trequest\n\t\t);\n\t\tif (spaNotFound) return withPageCacheHeaders(spaNotFound, request);\n\t\tconst handlerCallsite =\n\t\t\tresolvedOptions?.collectStreamingSlots === true\n\t\t\t\t? undefined\n\t\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\tconst renderPageResponse = async () => {\n\t\t\tconst resolvePageComponent =\n\t\t\t\tasync (): Promise<ResolvedSveltePage> => {\n\t\t\t\t\tconst loadCompiledSourcePath = async (\n\t\t\t\t\t\tsourcePath: string\n\t\t\t\t\t): Promise<ResolvedSveltePage> => {\n\t\t\t\t\t\tconst compiledModulePath =\n\t\t\t\t\t\t\tawait compileSvelteServerModule(sourcePath);\n\t\t\t\t\t\tconst loadedModule: unknown = await import(\n\t\t\t\t\t\t\tcompiledModulePath\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst loadedComponent =\n\t\t\t\t\t\t\treadDefaultExport(loadedModule) ?? loadedModule;\n\t\t\t\t\t\tif (!isGenericSvelteComponent(loadedComponent)) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t`Invalid compiled Svelte page module: ${sourcePath}`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcomponent: loadedComponent,\n\t\t\t\t\t\t\thasIslands: readHasIslands(loadedModule)\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\n\t\t\t\t\tconst importedPageModule: unknown = await import(\n\t\t\t\t\t\tresolvedPagePath\n\t\t\t\t\t);\n\t\t\t\t\tconst importedPageComponent =\n\t\t\t\t\t\treadDefaultExport(importedPageModule) ??\n\t\t\t\t\t\timportedPageModule;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof importedPageComponent === 'string' &&\n\t\t\t\t\t\timportedPageComponent.endsWith('.svelte')\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn loadCompiledSourcePath(importedPageComponent);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!isGenericSvelteComponent(importedPageComponent)) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Invalid Svelte page module: ${resolvedPagePath}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcomponent: importedPageComponent,\n\t\t\t\t\t\thasIslands: readHasIslands(importedPageModule)\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\tconst { renderToReadableStream } =\n\t\t\t\tawait import('./renderToReadableStream');\n\t\t\tconst resolvedPage = await resolvePageComponent();\n\n\t\t\t// Inline per-page compiled CSS so scoped styles ship in the\n\t\t\t// SSR head instead of loading after client hydration. Bun's\n\t\t\t// .svelte loader emits a sibling .css next to each SSR JS\n\t\t\t// during the server bundle pass; we read it here and stitch\n\t\t\t// it into headContent. See utils/inlinePageCss.\n\t\t\tconst siblingCss = await readSiblingCss(resolvedPagePath);\n\t\t\tconst cssBlock = siblingCss\n\t\t\t\t? `<style data-absolute-page-css${nonceAttr()}>${siblingCss}</style>`\n\t\t\t\t: '';\n\t\t\tconst composedHeadContent = `${cssBlock}${withDeferredStylesheets(\n\t\t\t\tresolvedOptions?.headContent ?? '',\n\t\t\t\tdeferredAssets\n\t\t\t)}`;\n\n\t\t\t// The Svelte router's guards and lazy routes are awaited between\n\t\t\t// render passes; a guard's redirect / cancel ends the request here.\n\t\t\tconst routerSsr = createSvelteRouterSsr(request);\n\t\t\tconst stream = await renderToReadableStream(\n\t\t\t\tresolvedPage.component,\n\t\t\t\tresolvedProps,\n\t\t\t\t{\n\t\t\t\t\tbodyContent: resolvedOptions?.bodyContent,\n\t\t\t\t\tcontext: routerSsr.context,\n\t\t\t\t\theadContent: composedHeadContent,\n\t\t\t\t\tsettle: routerSsr.settle,\n\t\t\t\t\tbootstrapScriptContent: () =>\n\t\t\t\t\t\t`${BROWSER_TRANSLATION_BASELINE_SCRIPT}window.__ABS_SLOT_HYDRATION_PENDING__=true;${routerSsr.bootstrapScript()}window.__INITIAL_PROPS__=${JSON.stringify(\n\t\t\t\t\t\t\tresolvedProps\n\t\t\t\t\t\t)};${resolvedIndexPath ? `import(${JSON.stringify(resolvedIndexPath)});` : ''}`\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst routerResponse = routerSsr.response();\n\t\t\tif (routerResponse) return routerResponse;\n\n\t\t\tconst htmlStream = injectIslandPageContextStream(stream, {\n\t\t\t\thasIslands: resolvedPage.hasIslands ? true : undefined\n\t\t\t});\n\t\t\tconst { firstChunk, reader } = await primeSvelteStream(htmlStream);\n\n\t\t\treturn new Response(restorePrimedStream(firstChunk, reader), {\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\tresolvedOptions?.collectStreamingSlots === true\n\t\t\t\t\t? withRegisteredStreamingSlots(renderPageResponse, {\n\t\t\t\t\t\t\t...resolvedOptions,\n\t\t\t\t\t\t\truntimePlacement:\n\t\t\t\t\t\t\t\tresolvedOptions.runtimePlacement ?? 'body'\n\t\t\t\t\t\t})\n\t\t\t\t\t: renderPageResponse(),\n\t\t\t{ 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] Svelte render error:', error);\n\n\t\tconst pageName = derivePageName(resolvedPagePath);\n\t\tconst conventionResponse = await renderConventionError(\n\t\t\t'svelte',\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('svelte', 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",
|
|
62
|
+
"/* 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",
|
|
63
|
+
"import { requestRenderUrl } from '../utils/requestRenderUrl';\nimport { nonceAttr } from '../utils/cspNonceRef';\nimport type { Component as SvelteComponent } from 'svelte';\nimport type { SveltePropsOf } from '../../types/svelte';\nimport { compileSvelteServerModule } from '../core/svelteServerModule';\nimport { injectIslandPageContext } from '../core/islandPageContext';\nimport { getCurrentRouteRegistrationCallsite } from '../core/devRouteRegistrationCallsite';\nimport {\n\tdevBuildErrorResponse,\n\tgetCurrentAbsoluteRequest,\n\tresolveDeferredPageAssets,\n\twithDeferredStylesheets\n} from '../core/requestContext';\nimport type { AbsoluteMobileBuildPageMetadata } from '../mobile/buildMetadata';\nimport {\n\tABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,\n\tfinalizeAbsoluteMobilePage\n} from '../mobile/pageProtocol';\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 { readHeadStylesheets, readHeadTitle } from '../core/routeAssets';\nimport { readSiblingCss } from '../utils/inlinePageCss';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport { renderSpaNotFound } from '../utils/spaRouteManifest';\nimport {\n\tderivePageName,\n\trenderConventionError\n} from '../utils/resolveConvention';\nimport { BROWSER_TRANSLATION_BASELINE_SCRIPT } from '../core/browserTranslation';\nimport { createSvelteRouterSsr } from './routerSsr';\n\ntype GenericSvelteComponent = SvelteComponent<Record<string, unknown>>;\ntype ResolvedSveltePage = {\n\tcomponent: GenericSvelteComponent;\n\thasIslands: boolean;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isGenericSvelteComponent = (\n\tvalue: unknown\n): value is GenericSvelteComponent =>\n\ttypeof value === 'function' || isRecord(value);\n\nconst readHasIslands = (value: unknown) => {\n\tif (!isRecord(value)) return false;\n\tconst hasIslands = value['__ABSOLUTE_PAGE_HAS_ISLANDS__'];\n\n\treturn typeof hasIslands === 'boolean' ? hasIslands : false;\n};\n\nconst readDefaultExport = (value: unknown) =>\n\tisRecord(value) ? value.default : undefined;\n\nexport type SveltePageRenderOptions = {\n\tcollectStreamingSlots?: boolean;\n\tbodyContent?: string;\n\theadContent?: string;\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} & StreamingSlotEnhancerOptions;\n\ntype HasNoSvelteProps<Props> = [Props] extends [never]\n\t? true\n\t: keyof Props extends never\n\t\t? true\n\t\t: false;\n\nexport type SveltePageRequestInput<\n\tComponent extends SvelteComponent<never> = SvelteComponent<\n\t\tRecord<never, never>\n\t>\n> = SveltePageRenderOptions & {\n\t/** @internal Build-generated mobile identity. Application code must not set this. */\n\t__absoluteMobile?: AbsoluteMobileBuildPageMetadata;\n\tindexPath: string;\n\tpagePath: 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 pass it into\n\t * `<Router url={url}>` without the caller threading it by hand.\n\t * User-supplied `props.url` (if present) takes precedence. */\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} & (HasNoSvelteProps<SveltePropsOf<Component>> extends true\n\t\t? { props?: NoInfer<SveltePropsOf<Component>> }\n\t\t: { props: NoInfer<SveltePropsOf<Component>> });\n\nconst resolveRequestPathname = (request: Request | undefined) =>\n\trequestRenderUrl(request);\n\nexport const handleSveltePageRequest = async <\n\tComponent extends SvelteComponent<never>\n>(\n\tinput: SveltePageRequestInput<Component>\n) => {\n\t// Dev on-demand pages: `asset()` returned `''` for a page that has not\n\t// been built yet. Build it now and re-read the manifest; otherwise fall\n\t// through to the manifest error so the overlay shows the real cause.\n\tconst deferredAssets =\n\t\tinput.pagePath === '' || input.indexPath === ''\n\t\t\t? await resolveDeferredPageAssets()\n\t\t\t: null;\n\tconst buildFailure = devBuildErrorResponse('svelte', deferredAssets);\n\tif (buildFailure) return buildFailure;\n\tconst resolvedIndexPath =\n\t\tdeferredAssets && input.indexPath === ''\n\t\t\t? deferredAssets.lookup(`${deferredAssets.name}Index`)\n\t\t\t: input.indexPath;\n\tconst resolvedOptions = input;\n\tconst resolvedPagePath =\n\t\tdeferredAssets && input.pagePath === ''\n\t\t\t? deferredAssets.lookup(deferredAssets.name)\n\t\t\t: input.pagePath;\n\tif (resolvedPagePath === '' || resolvedIndexPath === '') {\n\t\tconst missingName = deferredAssets?.name || 'Page';\n\t\tconst missingKey =\n\t\t\tresolvedPagePath === '' ? missingName : `${missingName}Index`;\n\t\tthrow new Error(`Asset \"${missingKey}\" not found in manifest.`);\n\t}\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 `<Router url={url}>` just by\n\t// forwarding `request` instead of unwrapping it themselves.\n\tconst resolvedProps =\n\t\trequestPathname !== undefined &&\n\t\t(!isRecord(userProps) || !('url' in userProps))\n\t\t\t? {\n\t\t\t\t\t...(userProps ?? {}),\n\t\t\t\t\turl: requestPathname\n\t\t\t\t}\n\t\t\t: userProps;\n\tconst pageId =\n\t\tinput.__absoluteMobile?.pageId ?? derivePageName(resolvedPagePath);\n\tconst currentContract =\n\t\tinput.__absoluteMobile?.contract ??\n\t\t`svelte:${pageId}:${ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION}`;\n\tconst mobileResponse = finalizeAbsoluteMobilePage({\n\t\tcompatibility: {\n\t\t\tframework: 'svelte',\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: resolvedProps ?? Object.create(null),\n\t\trequest,\n\t\t// Web route data: the assets a hovered `<Link>` warms before the\n\t\t// click, read back out of the head content this handler is about\n\t\t// to render.\n\t\troute: () => {\n\t\t\tconst head = withDeferredStylesheets(\n\t\t\t\tinput.headContent ?? '',\n\t\t\t\tdeferredAssets\n\t\t\t);\n\t\t\tconst title = readHeadTitle(head);\n\n\t\t\treturn {\n\t\t\t\tassets: {\n\t\t\t\t\tcss: readHeadStylesheets(head),\n\t\t\t\t\tindex: resolvedIndexPath\n\t\t\t\t},\n\t\t\t\t...(title ? { head: { title } } : {})\n\t\t\t};\n\t\t}\n\t});\n\tif (mobileResponse) return mobileResponse;\n\n\ttry {\n\t\tconst spaNotFound = await renderSpaNotFound(\n\t\t\t'svelte',\n\t\t\tderivePageName(resolvedPagePath),\n\t\t\trequest\n\t\t);\n\t\tif (spaNotFound) return withPageCacheHeaders(spaNotFound, request);\n\t\tconst handlerCallsite =\n\t\t\tresolvedOptions?.collectStreamingSlots === true\n\t\t\t\t? undefined\n\t\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\tconst renderPageResponse = async () => {\n\t\t\tconst resolvePageComponent =\n\t\t\t\tasync (): Promise<ResolvedSveltePage> => {\n\t\t\t\t\tconst loadCompiledSourcePath = async (\n\t\t\t\t\t\tsourcePath: string\n\t\t\t\t\t): Promise<ResolvedSveltePage> => {\n\t\t\t\t\t\tconst compiledModulePath =\n\t\t\t\t\t\t\tawait compileSvelteServerModule(sourcePath);\n\t\t\t\t\t\tconst loadedModule: unknown = await import(\n\t\t\t\t\t\t\tcompiledModulePath\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst loadedComponent =\n\t\t\t\t\t\t\treadDefaultExport(loadedModule) ?? loadedModule;\n\t\t\t\t\t\tif (!isGenericSvelteComponent(loadedComponent)) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t`Invalid compiled Svelte page module: ${sourcePath}`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcomponent: loadedComponent,\n\t\t\t\t\t\t\thasIslands: readHasIslands(loadedModule)\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\n\t\t\t\t\tconst importedPageModule: unknown = await import(\n\t\t\t\t\t\tresolvedPagePath\n\t\t\t\t\t);\n\t\t\t\t\tconst importedPageComponent =\n\t\t\t\t\t\treadDefaultExport(importedPageModule) ??\n\t\t\t\t\t\timportedPageModule;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof importedPageComponent === 'string' &&\n\t\t\t\t\t\timportedPageComponent.endsWith('.svelte')\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn loadCompiledSourcePath(importedPageComponent);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!isGenericSvelteComponent(importedPageComponent)) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Invalid Svelte page module: ${resolvedPagePath}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcomponent: importedPageComponent,\n\t\t\t\t\t\thasIslands: readHasIslands(importedPageModule)\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\tconst { renderToReadableStream } =\n\t\t\t\tawait import('./renderToReadableStream');\n\t\t\tconst resolvedPage = await resolvePageComponent();\n\n\t\t\t// Inline per-page compiled CSS so scoped styles ship in the\n\t\t\t// SSR head instead of loading after client hydration. Bun's\n\t\t\t// .svelte loader emits a sibling .css next to each SSR JS\n\t\t\t// during the server bundle pass; we read it here and stitch\n\t\t\t// it into headContent. See utils/inlinePageCss.\n\t\t\tconst siblingCss = await readSiblingCss(resolvedPagePath);\n\t\t\tconst cssBlock = siblingCss\n\t\t\t\t? `<style data-absolute-page-css${nonceAttr()}>${siblingCss}</style>`\n\t\t\t\t: '';\n\t\t\tconst composedHeadContent = `${cssBlock}${withDeferredStylesheets(\n\t\t\t\tresolvedOptions?.headContent ?? '',\n\t\t\t\tdeferredAssets\n\t\t\t)}`;\n\n\t\t\t// The Svelte router's guards and lazy routes are awaited between\n\t\t\t// render passes; a guard's redirect / cancel ends the request here.\n\t\t\tconst routerSsr = createSvelteRouterSsr(request);\n\t\t\tconst stream = await renderToReadableStream(\n\t\t\t\tresolvedPage.component,\n\t\t\t\tresolvedProps,\n\t\t\t\t{\n\t\t\t\t\tbodyContent: resolvedOptions?.bodyContent,\n\t\t\t\t\tcontext: routerSsr.context,\n\t\t\t\t\theadContent: composedHeadContent,\n\t\t\t\t\tsettle: routerSsr.settle,\n\t\t\t\t\tbootstrapScriptContent: () =>\n\t\t\t\t\t\t`${BROWSER_TRANSLATION_BASELINE_SCRIPT}window.__ABS_SLOT_HYDRATION_PENDING__=true;${routerSsr.bootstrapScript()}window.__INITIAL_PROPS__=${JSON.stringify(\n\t\t\t\t\t\t\tresolvedProps\n\t\t\t\t\t\t)};${resolvedIndexPath ? `import(${JSON.stringify(resolvedIndexPath)});` : ''}`\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst routerResponse = routerSsr.response();\n\t\t\tif (routerResponse) return routerResponse;\n\n\t\t\t// Svelte renders the whole document before its first byte (the\n\t\t\t// stream only chunks it), so the island context (manifest,\n\t\t\t// bootstrap, and the stylesheets of exactly the islands the\n\t\t\t// page renders) goes into its head from the finished HTML.\n\t\t\tconst html = injectIslandPageContext(\n\t\t\t\tawait new Response(stream).text(),\n\t\t\t\t{ hasIslands: resolvedPage.hasIslands ? true : undefined }\n\t\t\t);\n\n\t\t\treturn new Response(html, {\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\tresolvedOptions?.collectStreamingSlots === true\n\t\t\t\t\t? withRegisteredStreamingSlots(renderPageResponse, {\n\t\t\t\t\t\t\t...resolvedOptions,\n\t\t\t\t\t\t\truntimePlacement:\n\t\t\t\t\t\t\t\tresolvedOptions.runtimePlacement ?? 'body'\n\t\t\t\t\t\t})\n\t\t\t\t\t: renderPageResponse(),\n\t\t\t{ 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] Svelte render error:', error);\n\n\t\tconst pageName = derivePageName(resolvedPagePath);\n\t\tconst conventionResponse = await renderConventionError(\n\t\t\t'svelte',\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('svelte', 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",
|
|
63
64
|
"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",
|
|
64
65
|
"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",
|
|
65
66
|
"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",
|
|
@@ -81,7 +82,7 @@
|
|
|
81
82
|
"import type { RuntimeIslandRenderProps } from '../../types/island';\nimport { requireCurrentIslandRegistry } from '../core/currentIslandRegistry';\nimport { renderIslandMarkup } from '../core/renderIslandMarkup';\n\nexport const resolveIslandHtml = (\n\t_slotId: string,\n\tprops: RuntimeIslandRenderProps\n) => renderIslandMarkup(requireCurrentIslandRegistry(), props);\n",
|
|
82
83
|
"export { handleSveltePageRequest } from './pageHandler';\nexport { svelteFileRoute } from './fileRoute';\nexport { getI18n, setI18n } from './i18n';\nexport { createTypedIsland } from './createIsland';\nexport { useIslandStore } from './islandStore';\nexport { renderIsland } from './renderIsland';\nexport { resolveIslandHtml } from './resolveIslandHtml';\nexport { renderToReadableStream } from './renderToReadableStream';\n"
|
|
83
84
|
],
|
|
84
|
-
"mappings": "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",
|
|
85
|
-
"debugId": "
|
|
85
|
+
"mappings": "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",
|
|
86
|
+
"debugId": "1234E6F5317F9A0564756E2164756E21",
|
|
86
87
|
"names": []
|
|
87
88
|
}
|