@absolutejs/absolute 0.19.0-beta.740 → 0.19.0-beta.741
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/dist/angular/index.js +14 -4
- package/dist/angular/index.js.map +4 -4
- package/dist/angular/server.js +14 -4
- package/dist/angular/server.js.map +4 -4
- package/dist/build.js +3 -3
- package/dist/build.js.map +3 -3
- package/dist/client/index.js +3 -3
- package/dist/client/index.js.map +3 -3
- package/dist/index.js +3 -3
- package/dist/index.js.map +3 -3
- package/dist/islands/index.js +3 -3
- package/dist/islands/index.js.map +3 -3
- package/dist/react/index.js +3 -3
- package/dist/react/index.js.map +3 -3
- package/dist/src/angular/pageHandler.d.ts +5 -0
- package/dist/src/angular/ssrRender.d.ts +1 -1
- package/dist/svelte/index.js +3 -3
- package/dist/svelte/index.js.map +3 -3
- package/dist/vue/index.js +3 -3
- package/dist/vue/index.js.map +3 -3
- package/package.json +1 -1
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"import { resolveAngularPackage } from './resolveAngularPackage';\n\n// Patches Angular SSR's DominoAdapter to guard against null doc.head\n\nconst ensureHead = (doc: Document) => {\n\tif (!doc || doc.head || !doc.documentElement) {\n\t\treturn;\n\t}\n\n\tconst head = doc.createElement('head');\n\tdoc.documentElement.insertBefore(head, doc.documentElement.firstChild);\n};\n\n// Domino's Element does not implement layout APIs that browser components\n// (e.g. ngx-datatable, swiper, drag-drop) call eagerly during change detection.\n// Returning a zeroed DOMRect lets those components render in SSR without\n// crashing — the real values get computed once the page hydrates client-side.\nconst SSR_LAYOUT_RECT = Object.freeze({\n\tbottom: 0,\n\theight: 0,\n\tleft: 0,\n\tright: 0,\n\ttop: 0,\n\twidth: 0,\n\tx: 0,\n\ty: 0,\n\ttoJSON() {\n\t\treturn this;\n\t}\n});\nlet layoutPatchApplied = false;\nconst collectPrototypeChain = (instance: object | null) => {\n\tconst protos: object[] = [];\n\tlet current: object | null = instance\n\t\t? Object.getPrototypeOf(instance)\n\t\t: null;\n\twhile (current && current !== Object.prototype) {\n\t\tprotos.push(current);\n\t\tcurrent = Object.getPrototypeOf(current);\n\t}\n\n\treturn protos;\n};\n\nconst patchElementLayout = (doc: Document) => {\n\tif (layoutPatchApplied || !doc) {\n\t\treturn;\n\t}\n\tlet element: Element;\n\ttry {\n\t\telement = doc.createElement('div');\n\t} catch {\n\t\treturn;\n\t}\n\t// Walk the entire prototype chain so HTMLElement → Element → Node all get\n\t// the layout shims. Domino's base Element.prototype is several hops above\n\t// HTMLDivElement.prototype, and 3rd-party libs call methods anywhere along\n\t// the chain.\n\tconst protos = collectPrototypeChain(element);\n\tif (protos.length === 0) return;\n\n\tconst copyLayoutRect = (rect: typeof SSR_LAYOUT_RECT) => ({ ...rect });\n\tconst createLayoutRect = () => copyLayoutRect(SSR_LAYOUT_RECT);\n\tconst getClientRects = () => [];\n\tconst noop = () => undefined;\n\tconst numericProps = [\n\t\t'clientWidth',\n\t\t'clientHeight',\n\t\t'clientLeft',\n\t\t'clientTop',\n\t\t'offsetWidth',\n\t\t'offsetHeight',\n\t\t'offsetLeft',\n\t\t'offsetTop',\n\t\t'scrollWidth',\n\t\t'scrollHeight',\n\t\t'scrollLeft',\n\t\t'scrollTop'\n\t];\n\n\tfor (const proto of protos) {\n\t\tconst define = (name: string, value: unknown) => {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(proto, name);\n\t\t\tif (typeof descriptor?.value === 'function') return;\n\n\t\t\tObject.defineProperty(proto, name, {\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue,\n\t\t\t\twritable: true\n\t\t\t});\n\t\t};\n\n\t\tdefine('getBoundingClientRect', createLayoutRect);\n\t\tdefine('getClientRects', getClientRects);\n\t\tdefine('scrollTo', noop);\n\t\tdefine('scrollBy', noop);\n\t\tdefine('scrollIntoView', noop);\n\t\tdefine('focus', noop);\n\t\tdefine('blur', noop);\n\n\t\tfor (const prop of numericProps) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(proto, prop);\n\t\t\tif (desc) continue;\n\t\t\tObject.defineProperty(proto, prop, {\n\t\t\t\tconfigurable: true,\n\t\t\t\tget: () => 0\n\t\t\t});\n\t\t}\n\t}\n\n\tlayoutPatchApplied = true;\n};\n\nexport const applyPatches = async () => {\n\tconst { ɵDominoAdapter } = await import(\n\t\tresolveAngularPackage('@angular/platform-server')\n\t);\n\tif (!ɵDominoAdapter?.prototype) {\n\t\tconsole.warn(\n\t\t\t'[Angular Patch] ɵDominoAdapter not found, skipping patches'\n\t\t);\n\n\t\treturn false;\n\t}\n\n\t// Patch the layout shims onto Domino's Element prototypes immediately\n\t// (don't wait for the first createHtmlDocument call). Components that\n\t// hold an ElementRef from the very first change-detection pass call\n\t// these methods before the lazy patch path would have run.\n\ttry {\n\t\tconst adapter = new ɵDominoAdapter();\n\t\tconst seedDoc =\n\t\t\ttypeof adapter.createHtmlDocument === 'function'\n\t\t\t\t? adapter.createHtmlDocument()\n\t\t\t\t: typeof adapter.getDefaultDocument === 'function'\n\t\t\t\t\t? adapter.getDefaultDocument()\n\t\t\t\t\t: null;\n\t\tif (seedDoc) {\n\t\t\tpatchElementLayout(seedDoc);\n\t\t\tconst probe = seedDoc.createElement('div') as Element & {\n\t\t\t\tgetBoundingClientRect?: () => DOMRect;\n\t\t\t};\n\t\t\tif (typeof probe.getBoundingClientRect !== 'function') {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'[Angular Patch] Layout shim did not stick on probe element prototype chain'\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\tconsole.warn(\n\t\t\t'[Angular Patch] Could not eagerly patch Element prototypes:',\n\t\t\terror\n\t\t);\n\t}\n\n\tconst proto = ɵDominoAdapter.prototype;\n\n\tconst origGetBaseHref = proto.getBaseHref;\n\tproto.getBaseHref = function (doc: Document) {\n\t\tif (!doc || !doc.head || typeof doc.head.children === 'undefined') {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn origGetBaseHref.call(this, doc);\n\t};\n\n\tconst origCreateHtmlDocument = proto.createHtmlDocument;\n\tproto.createHtmlDocument = function () {\n\t\tconst doc = origCreateHtmlDocument.call(this);\n\t\tensureHead(doc);\n\t\tpatchElementLayout(doc);\n\n\t\treturn doc;\n\t};\n\n\tconst origGetDefaultDocument = proto.getDefaultDocument;\n\tproto.getDefaultDocument = function () {\n\t\tconst doc = origGetDefaultDocument.call(this);\n\t\tensureHead(doc);\n\t\tpatchElementLayout(doc);\n\n\t\treturn doc;\n\t};\n\n\treturn true;\n};\n",
|
|
11
11
|
"import type { AngularDeps, SsrDepsResult } from '../../types/angular';\nimport { patchAngularInjectorSingleton } from './injectorPatch';\nimport { resolveAngularPackage } from './resolveAngularPackage';\n\nconst initDominoAdapter = (platformServer: SsrDepsResult['platformServer']) => {\n\ttry {\n\t\tconst DominoAdapter: { makeCurrent?: () => void } | undefined =\n\t\t\tplatformServer.ɵDominoAdapter;\n\t\tDominoAdapter?.makeCurrent?.();\n\t} catch (err) {\n\t\tconsole.error('Failed to initialize DominoAdapter:', err);\n\t}\n};\n\nconst loadAngularDeps = async () => {\n\t// Patch Angular's _currentInjector to use globalThis BEFORE any\n\t// Angular module is loaded — this prevents NG0203 when Bun's --hot\n\t// mode creates duplicate module instances during HMR rebuilds.\n\tpatchAngularInjectorSingleton();\n\n\t// JIT compiler MUST be fully loaded before any other Angular import.\n\t// Angular packages like @angular/common contain partially compiled\n\t// injectables (e.g. PlatformLocation) that need the JIT compiler\n\t// facade to be registered first.\n\tawait import(resolveAngularPackage('@angular/compiler'));\n\n\t// angularPatch imports @angular/platform-server internally, so it\n\t// must also run after the compiler is available.\n\tconst { applyPatches } = await import('./angularPatch');\n\tawait applyPatches();\n\n\t// Now safe to load all Angular packages in parallel\n\tconst [platformBrowser, platformServer, common, core] = await Promise.all([\n\t\timport(resolveAngularPackage('@angular/platform-browser')),\n\t\timport(resolveAngularPackage('@angular/platform-server')),\n\t\timport(resolveAngularPackage('@angular/common')),\n\t\timport(resolveAngularPackage('@angular/core'))\n\t]);\n\n\tif (process.env.NODE_ENV !== 'development') {\n\t\tcore.enableProdMode();\n\t}\n\n\tinitDominoAdapter(platformServer);\n\n\treturn {\n\t\tAPP_BASE_HREF: common.APP_BASE_HREF,\n\t\tbootstrapApplication: platformBrowser.bootstrapApplication,\n\t\tDomSanitizer: platformBrowser.DomSanitizer,\n\t\tprovideClientHydration: platformBrowser.provideClientHydration,\n\t\tprovideServerRendering: platformServer.provideServerRendering,\n\t\tprovideZonelessChangeDetection: core.provideZonelessChangeDetection,\n\t\treflectComponentType: core.reflectComponentType,\n\t\trenderApplication: platformServer.renderApplication,\n\t\tSanitizer: core.Sanitizer,\n\t\tSecurityContext: core.SecurityContext\n\t};\n};\n\nlet angularDeps: Promise<AngularDeps> | null = null;\n\nexport const getAngularDeps = () => {\n\tif (!angularDeps) {\n\t\tangularDeps = loadAngularDeps();\n\t}\n\n\treturn angularDeps;\n};\n",
|
|
12
12
|
"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",
|
|
13
|
-
"import type { EnvironmentProviders, Provider, Type } from '@angular/core';\nimport type { BootstrapContext } from '@angular/platform-browser';\nimport type {\n\tAngularDeps,\n\tCachedRouteData,\n\tSsrDepsResult\n} from '../../types/angular';\nimport { toScreamingSnake } from '../utils/stringModifiers';\nimport {\n\tgetAndClearClientScripts,\n\tgenerateClientScriptCode\n} from '../utils/registerClientScript';\n\n// --- Last-used props cache for HMR ---\n// Stores { props, headTag } from the most recent real request per route\n// so HMR re-renders with the same data the user last saw (Vite/Next behavior).\n\nconst routePropsCache = new Map<string, CachedRouteData>();\n\nexport const cacheRouteData = (pagePath: string, data: CachedRouteData) => {\n\tconst cacheKey = pagePath.split('?')[0] ?? pagePath;\n\troutePropsCache.set(cacheKey, data);\n};\nexport const getCachedRouteData = (pagePath: string) =>\n\troutePropsCache.get(pagePath);\n\n// --- Selector cache ---\n\nconst selectorCache = new Map<string, string>();\n\nexport const buildDeps = (\n\tssrResult: SsrDepsResult | null,\n\tbaseDeps: AngularDeps\n) => {\n\tif (!ssrResult?.core) {\n\t\treturn baseDeps;\n\t}\n\n\tconst { common, core, platformBrowser, platformServer } = ssrResult;\n\n\treturn {\n\t\tAPP_BASE_HREF: common?.APP_BASE_HREF ?? baseDeps.APP_BASE_HREF,\n\t\tbootstrapApplication:\n\t\t\tplatformBrowser?.bootstrapApplication ??\n\t\t\tbaseDeps.bootstrapApplication,\n\t\tDomSanitizer: platformBrowser?.DomSanitizer ?? baseDeps.DomSanitizer,\n\t\tprovideClientHydration:\n\t\t\tplatformBrowser?.provideClientHydration ??\n\t\t\tbaseDeps.provideClientHydration,\n\t\tprovideServerRendering:\n\t\t\tplatformServer?.provideServerRendering ??\n\t\t\tbaseDeps.provideServerRendering,\n\t\tprovideZonelessChangeDetection: core.provideZonelessChangeDetection,\n\t\treflectComponentType: core.reflectComponentType,\n\t\trenderApplication:\n\t\t\tplatformServer?.renderApplication ?? baseDeps.renderApplication,\n\t\tSanitizer: core.Sanitizer,\n\t\tSecurityContext: core.SecurityContext\n\t} satisfies AngularDeps;\n};\nexport const buildProviders = (\n\tdeps: AngularDeps,\n\tsanitizer: InstanceType<AngularDeps['DomSanitizer']>,\n\tmaybeProps: Record<string, unknown> | undefined,\n\ttokenMap: Map<string, unknown>,\n\tuserProviders: ReadonlyArray<Provider | EnvironmentProviders> = []\n) => {\n\tconst providers: (Provider | EnvironmentProviders)[] = [\n\t\tdeps.provideServerRendering(),\n\t\tdeps.provideClientHydration(),\n\t\tdeps.provideZonelessChangeDetection(),\n\t\t{ provide: deps.APP_BASE_HREF, useValue: '/' },\n\t\t{\n\t\t\tprovide: deps.DomSanitizer,\n\t\t\tuseValue: sanitizer\n\t\t},\n\t\t{ provide: deps.Sanitizer, useValue: sanitizer },\n\t\t...userProviders\n\t];\n\n\tif (!maybeProps) {\n\t\treturn providers;\n\t}\n\n\tconst propProviders = Object.entries(maybeProps)\n\t\t.map(([propName, propValue]) => ({\n\t\t\ttoken: tokenMap.get(toScreamingSnake(propName)),\n\t\t\tvalue: propValue\n\t\t}))\n\t\t.filter((entry) => entry.token)\n\t\t.map((entry) => ({ provide: entry.token, useValue: entry.value }));\n\n\treturn [...providers, ...propProviders];\n};\nexport const clearSelectorCache = () => selectorCache.clear();\n\nconst isInjectionToken = (value: unknown) => {\n\tif (!value || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\t'ngMetadataName' in value && value.ngMetadataName === 'InjectionToken'\n\t);\n};\n\nexport const discoverTokens = (pageModule: Record<string, unknown>) =>\n\tnew Map(\n\t\tObject.entries(pageModule).filter(([, value]) =>\n\t\t\tisInjectionToken(value)\n\t\t)\n\t);\nexport const loadSsrDeps = async (pagePath: string) => {\n\tconst ssrDepsPath = (pagePath.split('?')[0] ?? pagePath).replace(\n\t\t/\\.js$/,\n\t\t'.ssr-deps.js'\n\t);\n\n\ttry {\n\t\tconst ssrDeps = await import(ssrDepsPath);\n\n\t\tconst result: SsrDepsResult = {\n\t\t\tcommon: ssrDeps.__angularCommon,\n\t\t\tcore: ssrDeps.__angularCore,\n\t\t\tplatformBrowser: ssrDeps.__angularPlatformBrowser,\n\t\t\tplatformServer: ssrDeps.__angularPlatformServer\n\t\t};\n\n\t\treturn result;\n\t} catch {\n\t\treturn null;\n\t}\n};\nexport const resolveSelector = (\n\tdeps: AngularDeps,\n\tpagePath: string,\n\tPageComponent: Type<unknown>\n) => {\n\tconst cached = selectorCache.get(pagePath);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\tconst selector =\n\t\tdeps.reflectComponentType(PageComponent)?.selector ?? 'ng-app';\n\tselectorCache.set(pagePath, selector);\n\n\treturn selector;\n};\n\n// --- Inject HTML helper ---\n\nconst injectBeforeClose = (html: string, snippet: string) => {\n\tif (html.includes('</body>')) {\n\t\treturn html.replace('</body>', `${snippet}</body>`);\n\t}\n\tif (html.includes('</html>')) {\n\t\treturn html.replace('</html>', `${snippet}</html>`);\n\t}\n\n\treturn html + snippet;\n};\n\n// --- Post-render HTML injection ---\n\nexport const injectSsrScripts = (\n\thtml: string,\n\trequestId: string,\n\tindexPath: string,\n\tprops?: Record<string, unknown>\n) => {\n\tlet result = html;\n\n\tconst registeredScripts = getAndClearClientScripts(requestId);\n\tif (registeredScripts.length > 0) {\n\t\tresult = injectBeforeClose(\n\t\t\tresult,\n\t\t\tgenerateClientScriptCode(registeredScripts)\n\t\t);\n\t}\n\n\tif (props) {\n\t\tresult = injectBeforeClose(\n\t\t\tresult,\n\t\t\t`<script>window.__ABS_ANGULAR_PAGE_PROPS__ = ${JSON.stringify(props)};</script>`\n\t\t);\n\t}\n\n\tif (indexPath) {\n\t\tconst escapedIndexPath = JSON.stringify(indexPath);\n\t\tresult = injectBeforeClose(\n\t\t\tresult,\n\t\t\t`<script>import(${escapedIndexPath});</script>`\n\t\t);\n\t}\n\n\treturn result;\n};\nexport const renderAngularApp = async (\n\tdeps: AngularDeps,\n\tPageComponent: Type<unknown>,\n\tproviders: (Provider | EnvironmentProviders)[],\n\tdocument: string | Document\n) => {\n\tconst bootstrap = (context: BootstrapContext) =>\n\t\tdeps.bootstrapApplication(PageComponent, { providers }, context);\n\n\treturn withSuppressedAngularDevLogs(() =>\n\t\tdeps.renderApplication(bootstrap, {\n\t\t\tdocument,\n\t\t\tplatformProviders: [],\n\t\t\turl
|
|
13
|
+
"import type { EnvironmentProviders, Provider, Type } from '@angular/core';\nimport type { BootstrapContext } from '@angular/platform-browser';\nimport type {\n\tAngularDeps,\n\tCachedRouteData,\n\tSsrDepsResult\n} from '../../types/angular';\nimport { toScreamingSnake } from '../utils/stringModifiers';\nimport {\n\tgetAndClearClientScripts,\n\tgenerateClientScriptCode\n} from '../utils/registerClientScript';\n\n// --- Last-used props cache for HMR ---\n// Stores { props, headTag } from the most recent real request per route\n// so HMR re-renders with the same data the user last saw (Vite/Next behavior).\n\nconst routePropsCache = new Map<string, CachedRouteData>();\n\nexport const cacheRouteData = (pagePath: string, data: CachedRouteData) => {\n\tconst cacheKey = pagePath.split('?')[0] ?? pagePath;\n\troutePropsCache.set(cacheKey, data);\n};\nexport const getCachedRouteData = (pagePath: string) =>\n\troutePropsCache.get(pagePath);\n\n// --- Selector cache ---\n\nconst selectorCache = new Map<string, string>();\n\nexport const buildDeps = (\n\tssrResult: SsrDepsResult | null,\n\tbaseDeps: AngularDeps\n) => {\n\tif (!ssrResult?.core) {\n\t\treturn baseDeps;\n\t}\n\n\tconst { common, core, platformBrowser, platformServer } = ssrResult;\n\n\treturn {\n\t\tAPP_BASE_HREF: common?.APP_BASE_HREF ?? baseDeps.APP_BASE_HREF,\n\t\tbootstrapApplication:\n\t\t\tplatformBrowser?.bootstrapApplication ??\n\t\t\tbaseDeps.bootstrapApplication,\n\t\tDomSanitizer: platformBrowser?.DomSanitizer ?? baseDeps.DomSanitizer,\n\t\tprovideClientHydration:\n\t\t\tplatformBrowser?.provideClientHydration ??\n\t\t\tbaseDeps.provideClientHydration,\n\t\tprovideServerRendering:\n\t\t\tplatformServer?.provideServerRendering ??\n\t\t\tbaseDeps.provideServerRendering,\n\t\tprovideZonelessChangeDetection: core.provideZonelessChangeDetection,\n\t\treflectComponentType: core.reflectComponentType,\n\t\trenderApplication:\n\t\t\tplatformServer?.renderApplication ?? baseDeps.renderApplication,\n\t\tSanitizer: core.Sanitizer,\n\t\tSecurityContext: core.SecurityContext\n\t} satisfies AngularDeps;\n};\nexport const buildProviders = (\n\tdeps: AngularDeps,\n\tsanitizer: InstanceType<AngularDeps['DomSanitizer']>,\n\tmaybeProps: Record<string, unknown> | undefined,\n\ttokenMap: Map<string, unknown>,\n\tuserProviders: ReadonlyArray<Provider | EnvironmentProviders> = []\n) => {\n\tconst providers: (Provider | EnvironmentProviders)[] = [\n\t\tdeps.provideServerRendering(),\n\t\tdeps.provideClientHydration(),\n\t\tdeps.provideZonelessChangeDetection(),\n\t\t{ provide: deps.APP_BASE_HREF, useValue: '/' },\n\t\t{\n\t\t\tprovide: deps.DomSanitizer,\n\t\t\tuseValue: sanitizer\n\t\t},\n\t\t{ provide: deps.Sanitizer, useValue: sanitizer },\n\t\t...userProviders\n\t];\n\n\tif (!maybeProps) {\n\t\treturn providers;\n\t}\n\n\tconst propProviders = Object.entries(maybeProps)\n\t\t.map(([propName, propValue]) => ({\n\t\t\ttoken: tokenMap.get(toScreamingSnake(propName)),\n\t\t\tvalue: propValue\n\t\t}))\n\t\t.filter((entry) => entry.token)\n\t\t.map((entry) => ({ provide: entry.token, useValue: entry.value }));\n\n\treturn [...providers, ...propProviders];\n};\nexport const clearSelectorCache = () => selectorCache.clear();\n\nconst isInjectionToken = (value: unknown) => {\n\tif (!value || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\t'ngMetadataName' in value && value.ngMetadataName === 'InjectionToken'\n\t);\n};\n\nexport const discoverTokens = (pageModule: Record<string, unknown>) =>\n\tnew Map(\n\t\tObject.entries(pageModule).filter(([, value]) =>\n\t\t\tisInjectionToken(value)\n\t\t)\n\t);\nexport const loadSsrDeps = async (pagePath: string) => {\n\tconst ssrDepsPath = (pagePath.split('?')[0] ?? pagePath).replace(\n\t\t/\\.js$/,\n\t\t'.ssr-deps.js'\n\t);\n\n\ttry {\n\t\tconst ssrDeps = await import(ssrDepsPath);\n\n\t\tconst result: SsrDepsResult = {\n\t\t\tcommon: ssrDeps.__angularCommon,\n\t\t\tcore: ssrDeps.__angularCore,\n\t\t\tplatformBrowser: ssrDeps.__angularPlatformBrowser,\n\t\t\tplatformServer: ssrDeps.__angularPlatformServer\n\t\t};\n\n\t\treturn result;\n\t} catch {\n\t\treturn null;\n\t}\n};\nexport const resolveSelector = (\n\tdeps: AngularDeps,\n\tpagePath: string,\n\tPageComponent: Type<unknown>\n) => {\n\tconst cached = selectorCache.get(pagePath);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\tconst selector =\n\t\tdeps.reflectComponentType(PageComponent)?.selector ?? 'ng-app';\n\tselectorCache.set(pagePath, selector);\n\n\treturn selector;\n};\n\n// --- Inject HTML helper ---\n\nconst injectBeforeClose = (html: string, snippet: string) => {\n\tif (html.includes('</body>')) {\n\t\treturn html.replace('</body>', `${snippet}</body>`);\n\t}\n\tif (html.includes('</html>')) {\n\t\treturn html.replace('</html>', `${snippet}</html>`);\n\t}\n\n\treturn html + snippet;\n};\n\n// --- Post-render HTML injection ---\n\nexport const injectSsrScripts = (\n\thtml: string,\n\trequestId: string,\n\tindexPath: string,\n\tprops?: Record<string, unknown>\n) => {\n\tlet result = html;\n\n\tconst registeredScripts = getAndClearClientScripts(requestId);\n\tif (registeredScripts.length > 0) {\n\t\tresult = injectBeforeClose(\n\t\t\tresult,\n\t\t\tgenerateClientScriptCode(registeredScripts)\n\t\t);\n\t}\n\n\tif (props) {\n\t\tresult = injectBeforeClose(\n\t\t\tresult,\n\t\t\t`<script>window.__ABS_ANGULAR_PAGE_PROPS__ = ${JSON.stringify(props)};</script>`\n\t\t);\n\t}\n\n\tif (indexPath) {\n\t\tconst escapedIndexPath = JSON.stringify(indexPath);\n\t\tresult = injectBeforeClose(\n\t\t\tresult,\n\t\t\t`<script>import(${escapedIndexPath});</script>`\n\t\t);\n\t}\n\n\treturn result;\n};\nexport const renderAngularApp = async (\n\tdeps: AngularDeps,\n\tPageComponent: Type<unknown>,\n\tproviders: (Provider | EnvironmentProviders)[],\n\tdocument: string | Document,\n\turl: string = '/'\n) => {\n\tconst bootstrap = (context: BootstrapContext) =>\n\t\tdeps.bootstrapApplication(PageComponent, { providers }, context);\n\n\treturn withSuppressedAngularDevLogs(() =>\n\t\tdeps.renderApplication(bootstrap, {\n\t\t\tdocument,\n\t\t\tplatformProviders: [],\n\t\t\turl\n\t\t})\n\t);\n};\nexport const withSuppressedAngularDevLogs = async <T>(\n\trender: () => Promise<T>\n) => {\n\tconst origLog = console.log;\n\tconsole.log = (...args: unknown[]) => {\n\t\tif (\n\t\t\ttypeof args[0] === 'string' &&\n\t\t\targs[0].includes('development mode')\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\torigLog.apply(console, args);\n\t};\n\n\ttry {\n\t\treturn await render();\n\t} finally {\n\t\tconsole.log = origLog;\n\t}\n};\n",
|
|
14
14
|
"import { getAngularDeps } from './angularDeps';\nimport { withSuppressedAngularDevLogs } from './ssrRender';\nimport { getSsrContextId } from '../utils/registerClientScript';\n\nconst angularIslandSelector = 'abs-angular-island';\n\nexport const getAngularIslandSelector = (_islandId: string) =>\n\tangularIslandSelector;\n\nconst getSelectorFromRenderedIsland = (rootElement: HTMLElement) => {\n\tconst firstChild = rootElement.firstElementChild;\n\tif (!(firstChild instanceof HTMLElement)) {\n\t\treturn null;\n\t}\n\n\tconst selector = firstChild.tagName.toLowerCase();\n\n\treturn selector.length > 0 ? selector : null;\n};\n\nconst getClientAngularComponentSelector = (\n\tcomponent: import('@angular/core').Type<object>\n) => {\n\tconst maybeDef = Reflect.get(component, 'ɵcmp');\n\tif (typeof maybeDef !== 'object' || maybeDef === null) {\n\t\treturn null;\n\t}\n\n\tconst maybeSelectors = Reflect.get(maybeDef, 'selectors');\n\tif (!Array.isArray(maybeSelectors)) {\n\t\treturn null;\n\t}\n\n\tconst [firstSelectorGroup] = maybeSelectors;\n\tif (!Array.isArray(firstSelectorGroup)) {\n\t\treturn null;\n\t}\n\n\tconst [selector] = firstSelectorGroup;\n\n\treturn typeof selector === 'string' && selector.length > 0\n\t\t? selector\n\t\t: null;\n};\n\nconst createAngularIslandApp = async () => {\n\tconst { EnvironmentInjector, provideZonelessChangeDetection } =\n\t\tawait import('@angular/core');\n\tconst { createApplication } = await import('@angular/platform-browser');\n\tconst app = await createApplication({\n\t\tproviders: [provideZonelessChangeDetection()]\n\t});\n\tconst environmentInjector = app.injector.get(EnvironmentInjector);\n\n\treturn { app, environmentInjector };\n};\n\nlet angularIslandAppPromise: Promise<{\n\tapp: import('@angular/core').ApplicationRef;\n\tenvironmentInjector: import('@angular/core').EnvironmentInjector;\n}> | null = null;\n\nconst getAngularIslandApp = async () => {\n\tif (!angularIslandAppPromise) {\n\t\tangularIslandAppPromise = createAngularIslandApp();\n\t}\n\n\treturn angularIslandAppPromise;\n};\n\ntype AngularIslandWrapperMetadata = {\n\tdeps: Awaited<ReturnType<typeof getAngularDeps>>;\n\tpropsToken: import('@angular/core').InjectionToken<Record<string, unknown>>;\n\tselector: string;\n\tWrapperComponent: import('@angular/core').Type<object>;\n};\n\nconst wrapperMetadataCache = new Map<\n\tstring,\n\tPromise<AngularIslandWrapperMetadata>\n>();\nconst requestRenderCache = new Map<string, Map<string, string>>();\n\nconst getRequestRenderCache = () => {\n\tconst requestId = getSsrContextId();\n\tif (!requestId) {\n\t\treturn null;\n\t}\n\n\tconst cached = requestRenderCache.get(requestId);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\tconst renderCache = new Map<string, string>();\n\trequestRenderCache.set(requestId, renderCache);\n\n\treturn renderCache;\n};\n\nconst getAngularIslandWrapperKey = (\n\tcomponent: import('@angular/core').Type<object>,\n\t_islandId: string\n) => {\n\tconst componentName =\n\t\ttypeof component.name === 'string' && component.name.length > 0\n\t\t\t? component.name\n\t\t\t: 'AngularIsland';\n\n\treturn `${componentName}:${angularIslandSelector}`;\n};\n\nconst getIslandRenderCacheKey = (\n\tcomponent: import('@angular/core').Type<object>,\n\tprops: Record<string, unknown>\n) => {\n\tconst componentName =\n\t\ttypeof component.name === 'string' && component.name.length > 0\n\t\t\t? component.name\n\t\t\t: 'AngularIsland';\n\n\treturn `${componentName}:${JSON.stringify(props)}`;\n};\n\nconst buildAngularIslandWrapperMetadata = async (\n\tcomponent: import('@angular/core').Type<object>,\n\tislandId: string,\n\twrapperKey: string\n) => {\n\tconst { Component, InjectionToken, inject } = await import('@angular/core');\n\tconst { NgComponentOutlet } = await import('@angular/common');\n\tconst deps = await getAngularDeps();\n\tconst selector = getAngularIslandSelector(islandId);\n\tconst propsToken = new InjectionToken<Record<string, unknown>>(\n\t\t`${wrapperKey}:props`\n\t);\n\n\tclass AngularIslandWrapperComponent {\n\t\tcomponent = component;\n\t\tprops = inject(propsToken);\n\t}\n\n\treturn {\n\t\tdeps,\n\t\tpropsToken,\n\t\tselector,\n\t\tWrapperComponent: Component({\n\t\t\timports: [NgComponentOutlet, component],\n\t\t\tselector,\n\t\t\tstandalone: true,\n\t\t\ttemplate:\n\t\t\t\t'<ng-container *ngComponentOutlet=\"component; inputs: props\"></ng-container>'\n\t\t})(AngularIslandWrapperComponent)\n\t};\n};\n\nconst createAngularIslandWrapper = async (\n\tcomponent: import('@angular/core').Type<object>,\n\tislandId: string\n) => {\n\tconst wrapperKey = getAngularIslandWrapperKey(component, islandId);\n\tconst cached = wrapperMetadataCache.get(wrapperKey);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\tconst metadataPromise = buildAngularIslandWrapperMetadata(\n\t\tcomponent,\n\t\tislandId,\n\t\twrapperKey\n\t);\n\n\twrapperMetadataCache.set(wrapperKey, metadataPromise);\n\n\treturn metadataPromise;\n};\n\nconst extractAngularIslandRoot = (html: string, selector: string) => {\n\tconst openTag = `<${selector}`;\n\tconst start = html.indexOf(openTag);\n\tif (start < 0) {\n\t\tthrow new Error(`Could not find Angular island root \"${selector}\".`);\n\t}\n\n\tconst endTag = `</${selector}>`;\n\tconst end = html.indexOf(endTag, start);\n\tif (end < 0) {\n\t\tthrow new Error(`Could not close Angular island root \"${selector}\".`);\n\t}\n\n\treturn html.slice(start, end + endTag.length);\n};\n\nexport const mountAngularIsland = async <Props extends Record<string, unknown>>(\n\tcomponent: import('@angular/core').Type<object>,\n\telement: HTMLElement,\n\tprops: Props,\n\tislandId: string\n) => {\n\tawait import('@angular/compiler');\n\tconst { createComponent, inputBinding } = await import('@angular/core');\n\tconst selector = getAngularIslandSelector(islandId);\n\tconst { app, environmentInjector } = await getAngularIslandApp();\n\n\tlet rootElement = element.querySelector(selector);\n\tif (!(rootElement instanceof HTMLElement)) {\n\t\telement.innerHTML = `<${selector}></${selector}>`;\n\t\trootElement = element.querySelector(selector);\n\t}\n\tif (!(rootElement instanceof HTMLElement)) return app;\n\n\tconst componentSelector =\n\t\tgetClientAngularComponentSelector(component) ??\n\t\tgetSelectorFromRenderedIsland(rootElement);\n\tif (!componentSelector) return app;\n\n\trootElement.innerHTML = `<${componentSelector}></${componentSelector}>`;\n\tconst hostElement = rootElement.querySelector(componentSelector);\n\tif (!(hostElement instanceof HTMLElement)) return app;\n\n\tconst bindings = Object.entries(props).map(([key, value]) =>\n\t\tinputBinding(key, () => value)\n\t);\n\tconst componentRef = createComponent(component, {\n\t\tbindings,\n\t\tenvironmentInjector,\n\t\thostElement\n\t});\n\tapp.attachView(componentRef.hostView);\n\tcomponentRef.changeDetectorRef.detectChanges();\n\twindow.__ABS_ANGULAR_ISLAND_APPS__ ??= [];\n\twindow.__ABS_ANGULAR_ISLAND_APPS__.push(app);\n\n\treturn app;\n};\nexport const renderAngularIslandToHtml = async <\n\tProps extends Record<string, unknown>\n>(\n\tcomponent: import('@angular/core').Type<object>,\n\tprops: Props,\n\tislandId: string\n) => {\n\tconst requestCache = getRequestRenderCache();\n\tconst renderCacheKey = getIslandRenderCacheKey(component, props);\n\tconst cachedHtml = requestCache?.get(renderCacheKey);\n\tif (cachedHtml) {\n\t\treturn cachedHtml;\n\t}\n\n\tconst { deps, propsToken, selector, WrapperComponent } =\n\t\tawait createAngularIslandWrapper(component, islandId);\n\n\tconst providers: (\n\t\t| import('@angular/core').Provider\n\t\t| import('@angular/core').EnvironmentProviders\n\t)[] = [\n\t\tdeps.provideServerRendering(),\n\t\tdeps.provideZonelessChangeDetection(),\n\t\t{ provide: deps.APP_BASE_HREF, useValue: '/' },\n\t\t{ provide: propsToken, useValue: props }\n\t];\n\tconst document = `<!DOCTYPE html><html><body><${selector}></${selector}></body></html>`;\n\tconst html = await withSuppressedAngularDevLogs(() =>\n\t\tdeps.renderApplication(\n\t\t\t(context) =>\n\t\t\t\tdeps.bootstrapApplication(\n\t\t\t\t\tWrapperComponent,\n\t\t\t\t\t{ providers },\n\t\t\t\t\tcontext\n\t\t\t\t),\n\t\t\t{\n\t\t\t\tdocument,\n\t\t\t\tplatformProviders: [],\n\t\t\t\turl: '/'\n\t\t\t}\n\t\t)\n\t);\n\tconst islandHtml = extractAngularIslandRoot(html, selector);\n\trequestCache?.set(renderCacheKey, islandHtml);\n\n\treturn islandHtml;\n};\n",
|
|
15
15
|
"type ReactComponentType<Props extends Record<string, unknown>> =\n\timport('react').ComponentType<Props>;\n\nconst renderAngularIslandToHtmlInternal = async (\n\tcomponent: import('@angular/core').Type<object>,\n\tprops: Record<string, unknown>,\n\tislandId: string\n) => {\n\tconst { renderAngularIslandToHtml } = await import('../angular/islands');\n\n\treturn renderAngularIslandToHtml(component, props, islandId);\n};\nexport const renderAngularIslandToHtml = renderAngularIslandToHtmlInternal;\nexport const renderReactIslandToHtml = <Props extends Record<string, unknown>>(\n\tcomponent: ReactComponentType<Props>,\n\tprops: Props\n) =>\n\timport('react').then(({ createElement }) =>\n\t\timport('react-dom/server').then(({ renderToStaticMarkup }) =>\n\t\t\trenderToStaticMarkup(createElement(component, props))\n\t\t)\n\t);\nexport const renderSvelteIslandToHtml = <Props extends Record<string, unknown>>(\n\tcomponent: import('svelte').Component<Props>,\n\tprops: Props\n) =>\n\timport('svelte/server').then(({ render }) => {\n\t\tconst { body } = render(component, { props });\n\n\t\treturn body;\n\t});\nexport const renderVueIslandToHtml = <Props extends Record<string, unknown>>(\n\tcomponent: import('vue').Component<Props>,\n\tprops: Props\n) =>\n\timport('vue').then(({ createSSRApp, h: createVueVNode }) => {\n\t\tconst app = createSSRApp({\n\t\t\trender: () => createVueVNode(component, props)\n\t\t});\n\n\t\treturn import('vue/server-renderer').then(({ renderToString }) =>\n\t\t\trenderToString(app)\n\t\t);\n\t});\n",
|
|
16
16
|
"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 = (\n\tentry: unknown,\n\tconditions: ExportConditions[]\n) => {\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 ? parts.slice(2).join('/') : 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 ?? resolve(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",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"import { existsSync, readFileSync, promises as fs } from 'fs';\nimport { join, basename, sep, dirname, resolve, relative } from 'path';\nimport type { CompilerOptions } from '@angular/compiler-cli';\nimport ts from 'typescript';\nimport { BASE_36_RADIX } from '../constants';\nimport { toPascal } from '../utils/stringModifiers';\nimport { createHash } from 'crypto';\nimport { buildIslandMetadataExports } from '../islands/sourceMetadata';\nimport {\n\tlowerAngularDeferSyntax,\n\ttype LoweredAngularDeferSlot\n} from '../angular/lowerDeferSyntax';\nimport {\n\tcompileStyleFileIfNeeded,\n\tcompileStyleFileIfNeededSync\n} from './stylePreprocessor';\nimport type { StylePreprocessorConfig } from '../../types/build';\n\ntype SyncReadFile = (fileName: string) => string | undefined;\n\n// Angular HMR Optimization — Compiler cache interface\n// Persists compiler host and options across incremental rebuilds to avoid\n// expensive re-creation of TypeScript compiler host (lib dir resolution,\n// source file overrides). Only used during dev/HMR; production always fresh.\ntype AngularCompilerCache = {\n\thost: ts.CompilerHost;\n\toptions: CompilerOptions;\n\tconfigHash: string;\n\ttsLibDir: string;\n\tlastUsed: number;\n};\n\ntype TsconfigPathAlias = {\n\tpattern: string;\n\treplacements: string[];\n};\n\n// Angular HMR Optimization — Global cache for compiler state\ndeclare global {\n\tvar __angularCompilerCache: AngularCompilerCache | undefined;\n}\n\n/** Compute a fast hash of tsconfig.json content for cache invalidation */\nconst computeConfigHash = () => {\n\ttry {\n\t\tconst content = readFileSync('./tsconfig.json', 'utf-8');\n\n\t\treturn createHash('md5').update(content).digest('hex');\n\t} catch {\n\t\treturn '';\n\t}\n};\n\nconst readTsconfigPathAliases = () => {\n\ttry {\n\t\tconst configPath = resolve(process.cwd(), 'tsconfig.json');\n\t\tconst config = ts.readConfigFile(configPath, ts.sys.readFile).config as\n\t\t\t| {\n\t\t\t\t\tcompilerOptions?: {\n\t\t\t\t\t\tbaseUrl?: string;\n\t\t\t\t\t\tpaths?: Record<string, string[]>;\n\t\t\t\t\t};\n\t\t\t }\n\t\t\t| undefined;\n\t\tconst compilerOptions = config?.compilerOptions ?? {};\n\t\tconst baseUrl = resolve(\n\t\t\tprocess.cwd(),\n\t\t\tcompilerOptions.baseUrl ?? '.'\n\t\t);\n\t\tconst aliases: TsconfigPathAlias[] = Object.entries(\n\t\t\tcompilerOptions.paths ?? {}\n\t\t).map(([pattern, replacements]) => ({ pattern, replacements }));\n\n\t\treturn { aliases, baseUrl };\n\t} catch {\n\t\treturn { aliases: [] as TsconfigPathAlias[], baseUrl: process.cwd() };\n\t}\n};\n\nconst matchTsconfigAlias = (\n\tspecifier: string,\n\taliases: TsconfigPathAlias[],\n\tbaseUrl: string,\n\tresolveSourceFile: (candidate: string) => string | undefined\n) => {\n\tfor (const alias of aliases) {\n\t\tconst wildcardIndex = alias.pattern.indexOf('*');\n\t\tconst exactMatch = wildcardIndex === -1;\n\t\tif (exactMatch && specifier !== alias.pattern) continue;\n\n\t\tconst prefix = exactMatch ? alias.pattern : alias.pattern.slice(0, wildcardIndex);\n\t\tconst suffix = exactMatch ? '' : alias.pattern.slice(wildcardIndex + 1);\n\t\tif (\n\t\t\t!exactMatch &&\n\t\t\t(!specifier.startsWith(prefix) || !specifier.endsWith(suffix))\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst wildcardValue = exactMatch\n\t\t\t? ''\n\t\t\t: specifier.slice(prefix.length, specifier.length - suffix.length);\n\t\tfor (const replacement of alias.replacements) {\n\t\t\tconst candidate = replacement.replace('*', wildcardValue);\n\t\t\tconst resolved = resolveSourceFile(resolve(baseUrl, candidate));\n\t\t\tif (resolved) return resolved;\n\t\t}\n\t}\n\n\treturn undefined;\n};\n\nconst resolveDevClientDir = () => {\n\tconst projectRoot = process.cwd();\n\tconst fromSource = resolve(import.meta.dir, '../dev/client');\n\n\tif (existsSync(fromSource) && fromSource.startsWith(projectRoot)) {\n\t\treturn fromSource;\n\t}\n\n\tconst fromNodeModules = resolve(\n\t\tprojectRoot,\n\t\t'node_modules/@absolutejs/absolute/dist/dev/client'\n\t);\n\tif (existsSync(fromNodeModules)) return fromNodeModules;\n\n\treturn resolve(import.meta.dir, './dev/client');\n};\n\nconst devClientDir = resolveDevClientDir();\n\nconst hmrClientPath = join(devClientDir, 'hmrClient.ts').replace(/\\\\/g, '/');\n\n// Angular HMR Runtime Layer (Level 3) — Path to runtime module\nconst hmrRuntimePath = join(\n\tdevClientDir,\n\t'handlers',\n\t'angularRuntime.ts'\n).replace(/\\\\/g, '/');\n\n/** Angular HMR Runtime Layer (Level 3) — Inject HMR registration calls into compiled component JS.\n * Detects exported Angular component classes and appends register() calls.\n * Only active when hmr=true (dev mode). */\nconst injectHMRRegistration = (content: string, sourceId: string) => {\n\t// Find exported component classes: `export class XxxComponent` or `class XxxComponent`\n\tconst componentClassRegex = /(?:export\\s+)?class\\s+(\\w+Component)\\s/g;\n\tconst componentNames: string[] = [];\n\tlet match;\n\twhile ((match = componentClassRegex.exec(content)) !== null) {\n\t\tif (match[1]) componentNames.push(match[1]);\n\t}\n\n\tif (componentNames.length === 0) return content;\n\n\t// Build registration code block\n\tconst registrations = componentNames\n\t\t.map(\n\t\t\t(name) =>\n\t\t\t\t` if (typeof ${name} === 'function') window.__ANGULAR_HMR__.register('${sourceId}#${name}', ${name});`\n\t\t)\n\t\t.join('\\n');\n\n\tconst hmrBlock = `\\n// Angular HMR Runtime Layer (Level 3) — Auto-registration\\nif (typeof window !== 'undefined' && window.__ANGULAR_HMR__) {\\n${registrations}\\n}\\n`;\n\n\treturn content + hmrBlock;\n};\n\nconst formatDiagnosticMessage = (diagnostic: ts.Diagnostic) => {\n\ttry {\n\t\treturn ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n');\n\t} catch {\n\t\treturn String(diagnostic.messageText || 'Unknown error');\n\t}\n};\n\nconst throwOnCompilationErrors = (\n\tdiagnostics: readonly ts.Diagnostic[] | undefined\n) => {\n\tif (!diagnostics?.length) return;\n\n\tconst errors = diagnostics.filter(\n\t\t(diag) => diag.category === ts.DiagnosticCategory.Error\n\t);\n\tif (!errors.length) return;\n\n\tconst fullMessage = errors.map(formatDiagnosticMessage).join('\\n');\n\tconsole.error('Angular compilation errors:', fullMessage);\n\tthrow new Error(fullMessage);\n};\n\nconst resolveRelativePath = (\n\tfileName: string,\n\tresolvedOutDir: string,\n\toutDir: string\n) => {\n\tif (fileName.startsWith(resolvedOutDir))\n\t\treturn fileName.substring(resolvedOutDir.length + 1);\n\tif (fileName.startsWith(outDir))\n\t\treturn fileName.substring(outDir.length + 1);\n\n\treturn fileName;\n};\n\nconst isRelativeModuleSpecifier = (specifier: string) =>\n\tspecifier.startsWith('./') || specifier.startsWith('../');\n\nconst extractLocalImportSpecifiers = (source: string, fileName: string) => {\n\tconst sourceFile = ts.createSourceFile(\n\t\tfileName,\n\t\tsource,\n\t\tts.ScriptTarget.Latest,\n\t\ttrue,\n\t\tts.ScriptKind.TS\n\t);\n\tconst specifiers: string[] = [];\n\tconst addSpecifier = (node: ts.Node | undefined) => {\n\t\tif (!node || !ts.isStringLiteralLike(node)) return;\n\t\tconst specifier = node.text;\n\t\tif (isRelativeModuleSpecifier(specifier)) specifiers.push(specifier);\n\t};\n\n\tconst visit = (node: ts.Node) => {\n\t\tif (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) {\n\t\t\taddSpecifier(node.moduleSpecifier);\n\t\t} else if (\n\t\t\tts.isCallExpression(node) &&\n\t\t\tnode.expression.kind === ts.SyntaxKind.ImportKeyword\n\t\t) {\n\t\t\taddSpecifier(node.arguments[0]);\n\t\t}\n\t\tts.forEachChild(node, visit);\n\t};\n\tvisit(sourceFile);\n\n\treturn specifiers;\n};\n\nconst resolveLocalTsImport = (fromFile: string, specifier: string) => {\n\tif (!isRelativeModuleSpecifier(specifier)) return null;\n\tconst basePath = resolve(dirname(fromFile), specifier);\n\tconst candidates = /\\.[cm]?[tj]sx?$/.test(basePath)\n\t\t? [basePath]\n\t\t: [\n\t\t\t\t`${basePath}.ts`,\n\t\t\t\t`${basePath}.tsx`,\n\t\t\t\t`${basePath}.mts`,\n\t\t\t\t`${basePath}.cts`,\n\t\t\t\tjoin(basePath, 'index.ts'),\n\t\t\t\tjoin(basePath, 'index.tsx'),\n\t\t\t\tjoin(basePath, 'index.mts'),\n\t\t\t\tjoin(basePath, 'index.cts')\n\t\t\t];\n\n\treturn (\n\t\tcandidates\n\t\t\t.map((candidate) => resolve(candidate))\n\t\t\t.find(\n\t\t\t\t(candidate) =>\n\t\t\t\t\texistsSync(candidate) && !candidate.endsWith('.d.ts')\n\t\t\t) ?? null\n\t);\n};\n\nconst readFileForAotTransform = async (\n\tfileName: string,\n\treadFile: SyncReadFile | undefined\n) => {\n\tconst hostSource = readFile?.(fileName);\n\tif (typeof hostSource === 'string') return hostSource;\n\n\treturn fs.readFile(fileName, 'utf-8');\n};\n\nconst precomputeAotResourceTransforms = async (\n\tinputPath: string,\n\treadFile: SyncReadFile | undefined,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst transformedSources = new Map<string, string>();\n\tconst visited = new Set<string>();\n\n\tconst transformFile = async (filePath: string) => {\n\t\tconst resolvedPath = resolve(filePath);\n\t\tif (visited.has(resolvedPath)) return;\n\t\tvisited.add(resolvedPath);\n\t\tif (!existsSync(resolvedPath) || resolvedPath.endsWith('.d.ts')) return;\n\n\t\tconst source = await readFileForAotTransform(resolvedPath, readFile);\n\t\tconst transformed = await inlineResources(\n\t\t\tsource,\n\t\t\tdirname(resolvedPath),\n\t\t\tstylePreprocessors\n\t\t);\n\t\ttransformedSources.set(resolvedPath, transformed.source);\n\n\t\tconst imports = extractLocalImportSpecifiers(source, resolvedPath);\n\t\tawait Promise.all(\n\t\t\timports.map(async (specifier) => {\n\t\t\t\tconst resolvedImport = resolveLocalTsImport(\n\t\t\t\t\tresolvedPath,\n\t\t\t\t\tspecifier\n\t\t\t\t);\n\t\t\t\tif (resolvedImport) await transformFile(resolvedImport);\n\t\t\t})\n\t\t);\n\t};\n\n\tawait transformFile(inputPath);\n\n\treturn transformedSources;\n};\n\nexport const compileAngularFile = async (\n\tinputPath: string,\n\toutDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst islandMetadataExports = buildIslandMetadataExports(\n\t\treadFileSync(inputPath, 'utf-8')\n\t);\n\tconst { readConfiguration, performCompilation, EmitFlags } = await import(\n\t\t'@angular/compiler-cli'\n\t);\n\n\t// Angular HMR Optimization — Reuse cached compiler host/options when tsconfig unchanged\n\tconst configHash = computeConfigHash();\n\tconst cached = globalThis.__angularCompilerCache;\n\n\tlet host: ts.CompilerHost;\n\tlet options: CompilerOptions;\n\tlet tsLibDir: string;\n\n\tif (cached && cached.configHash === configHash) {\n\t\t// Cache hit — reuse host and options, only update outDir\n\t\t({ host } = cached);\n\t\toptions = { ...cached.options, outDir, rootDir: process.cwd() };\n\t\t({ tsLibDir } = cached);\n\t\tcached.lastUsed = Date.now();\n\t} else {\n\t\t// Cache miss — create fresh compiler host and options\n\t\t// Resolve TypeScript lib directory dynamically (prevents hardcoded paths)\n\t\tconst tsPath = require.resolve('typescript');\n\t\tconst tsRootDir = dirname(tsPath);\n\t\ttsLibDir = tsRootDir.endsWith('lib')\n\t\t\t? tsRootDir\n\t\t\t: resolve(tsRootDir, 'lib');\n\n\t\t// Read configuration from tsconfig.json to get angularCompilerOptions\n\t\tconst config = readConfiguration('./tsconfig.json');\n\n\t\t// Build options object with newLine FIRST, then spread config\n\t\t// IMPORTANT: target MUST be ES2022 (not ESNext) to avoid hardcoded lib.esnext.full.d.ts path\n\t\toptions = {\n\t\t\temitDecoratorMetadata: true,\n\t\t\tesModuleInterop: true,\n\t\t\texperimentalDecorators: true,\n\t\t\tmodule: ts.ModuleKind.ESNext,\n\t\t\tmoduleResolution: ts.ModuleResolutionKind.Bundler,\n\t\t\tnewLine: ts.NewLineKind.LineFeed, // Set FIRST - critical for createCompilerHost\n\t\t\tnoLib: false,\n\t\t\toutDir,\n\t\t\tskipLibCheck: true,\n\t\t\ttarget: ts.ScriptTarget.ES2022, // Use ES2022 instead of ESNext to avoid hardcoded lib paths\n\t\t\t...config.options // Spread AFTER to add Angular options\n\t\t};\n\n\t\t// CRITICAL: Force target to ES2022 AFTER spread to ensure it's not overwritten\n\t\t// ESNext target causes hardcoded lib.esnext.full.d.ts path issues\n\t\toptions.target = ts.ScriptTarget.ES2022;\n\n\t\t// Force TypeScript legacy decorators required by Angular 21's DI system\n\t\toptions.experimentalDecorators = true;\n\t\toptions.emitDecoratorMetadata = true;\n\n\t\t// Force newLine again after spread to ensure it's not overwritten\n\t\toptions.newLine = ts.NewLineKind.LineFeed;\n\n\t\t// Force outDir after spread — config.options may contain an absolute \"dist\" path\n\t\t// that overwrites our outDir, causing deeply nested compiled output\n\t\toptions.outDir = outDir;\n\n\t\t// Production examples commonly use noEmit=true for editor/typecheck flows.\n\t\t// AOT compilation must override that or Angular silently produces no JS.\n\t\toptions.noEmit = false;\n\n\t\t// Explicit rootDir prevents TypeScript from computing it from the single entry file,\n\t\t// which would cause imports from other directories to get absolute-path-based output\n\t\toptions.rootDir = process.cwd();\n\n\t\t// Use TypeScript's createCompilerHost directly\n\t\thost = ts.createCompilerHost(options);\n\n\t\t// Override lib resolution to use dynamic paths\n\t\tconst originalGetDefaultLibLocation = host.getDefaultLibLocation;\n\t\thost.getDefaultLibLocation = () =>\n\t\t\ttsLibDir ||\n\t\t\t(originalGetDefaultLibLocation\n\t\t\t\t? originalGetDefaultLibLocation()\n\t\t\t\t: '');\n\n\t\tconst originalGetDefaultLibFileName = host.getDefaultLibFileName;\n\t\thost.getDefaultLibFileName = (opts: ts.CompilerOptions) => {\n\t\t\tconst fileName = originalGetDefaultLibFileName\n\t\t\t\t? originalGetDefaultLibFileName(opts)\n\t\t\t\t: 'lib.d.ts';\n\n\t\t\treturn basename(fileName);\n\t\t};\n\n\t\tconst originalGetSourceFile = host.getSourceFile;\n\t\thost.getSourceFile = (\n\t\t\tfileName: string,\n\t\t\tlanguageVersion: ts.ScriptTarget,\n\t\t\tonError?: (message: string) => void\n\t\t) => {\n\t\t\tif (\n\t\t\t\tfileName.startsWith('lib.') &&\n\t\t\t\tfileName.endsWith('.d.ts') &&\n\t\t\t\ttsLibDir\n\t\t\t) {\n\t\t\t\tconst resolvedPath = join(tsLibDir, fileName);\n\n\t\t\t\treturn originalGetSourceFile?.call(\n\t\t\t\t\thost,\n\t\t\t\t\tresolvedPath,\n\t\t\t\t\tlanguageVersion,\n\t\t\t\t\tonError\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn originalGetSourceFile?.call(\n\t\t\t\thost,\n\t\t\t\tfileName,\n\t\t\t\tlanguageVersion,\n\t\t\t\tonError\n\t\t\t);\n\t\t};\n\n\t\t// Angular HMR Optimization — Persist cache for next rebuild\n\t\tglobalThis.__angularCompilerCache = {\n\t\t\tconfigHash,\n\t\t\thost,\n\t\t\tlastUsed: Date.now(),\n\t\t\toptions: { ...options },\n\t\t\ttsLibDir\n\t\t};\n\t}\n\n\tconst emitted: Record<string, string> = {};\n\tconst resolvedOutDir = resolve(outDir);\n\thost.writeFile = (fileName, text) => {\n\t\tconst relativePath = resolveRelativePath(\n\t\t\tfileName,\n\t\t\tresolvedOutDir,\n\t\t\toutDir\n\t\t);\n\t\temitted[relativePath] = text;\n\t};\n\tconst originalReadFile = host.readFile;\n\tconst aotTransformedSources = await precomputeAotResourceTransforms(\n\t\tinputPath,\n\t\toriginalReadFile?.bind(host),\n\t\tstylePreprocessors\n\t);\n\thost.readFile = (fileName: string) => {\n\t\tconst source = originalReadFile\n\t\t\t? originalReadFile.call(host, fileName)\n\t\t\t: undefined;\n\t\tif (typeof source !== 'string') return source;\n\t\tif (!fileName.endsWith('.ts') || fileName.endsWith('.d.ts')) {\n\t\t\treturn source;\n\t\t}\n\t\tconst resolvedPath = resolve(fileName);\n\n\t\treturn aotTransformedSources.get(resolvedPath) ?? source;\n\t};\n\tconst originalGetSourceFileForCompile = host.getSourceFile;\n\thost.getSourceFile = (\n\t\tfileName: string,\n\t\tlanguageVersion: ts.ScriptTarget,\n\t\tonError?: (message: string) => void\n\t) => {\n\t\tconst source = host.readFile(fileName);\n\t\tif (typeof source === 'string') {\n\t\t\treturn ts.createSourceFile(fileName, source, languageVersion, true);\n\t\t}\n\n\t\treturn originalGetSourceFileForCompile?.call(\n\t\t\thost,\n\t\t\tfileName,\n\t\t\tlanguageVersion,\n\t\t\tonError\n\t\t);\n\t};\n\n\tlet diagnostics: readonly ts.Diagnostic[] | undefined;\n\ttry {\n\t\t({ diagnostics } = performCompilation({\n\t\t\temitFlags: EmitFlags.Default,\n\t\t\thost,\n\t\t\toptions,\n\t\t\trootNames: [inputPath]\n\t\t}));\n\t} finally {\n\t\thost.readFile = originalReadFile;\n\t\thost.getSourceFile = originalGetSourceFileForCompile;\n\t}\n\n\tthrowOnCompilationErrors(diagnostics);\n\n\tconst entries = Object.entries(emitted)\n\t\t.filter(([fileName]) => fileName.endsWith('.js'))\n\t\t.map(([fileName, content]) => {\n\t\t\tconst target = join(outDir, fileName);\n\n\t\t\t// Post-process the compiled output:\n\t\t\t// 1. Add .js extensions to imports\n\t\t\tlet processedContent = content.replace(\n\t\t\t\t/from\\s+(['\"])(\\.\\.?\\/[^'\"]+)(\\1)/g,\n\t\t\t\t(match, quote, path) => {\n\t\t\t\t\tif (!path.match(/\\.(js|ts|mjs|cjs)$/)) {\n\t\t\t\t\t\treturn `from ${quote}${path}.js${quote}`;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn match;\n\t\t\t\t}\n\t\t\t);\n\n\t\t\t// 2. Fix Angular ɵɵdom* functions to standard ɵɵ* functions\n\t\t\tprocessedContent = processedContent\n\t\t\t\t.replace(/ɵɵdomElementStart/g, 'ɵɵelementStart')\n\t\t\t\t.replace(/ɵɵdomElementEnd/g, 'ɵɵelementEnd')\n\t\t\t\t.replace(/ɵɵdomElement\\(/g, 'ɵɵelement(')\n\t\t\t\t.replace(/ɵɵdomProperty/g, 'ɵɵproperty')\n\t\t\t\t.replace(/ɵɵdomListener/g, 'ɵɵlistener');\n\n\t\t\t// 3. Fix InjectFlags -> InternalInjectFlags (Angular 21+ compatibility)\n\t\t\t// Replace in import statements\n\t\t\tprocessedContent = processedContent.replace(\n\t\t\t\t/import\\s*{\\s*([^}]*)\\bInjectFlags\\b([^}]*)\\s*}\\s*from\\s*['\"]@angular\\/core['\"]/g,\n\t\t\t\t(match, before, after) => {\n\t\t\t\t\tconst cleaned = (before + after)\n\t\t\t\t\t\t.replace(/,\\s*,/g, ',')\n\t\t\t\t\t\t.replace(/^\\s*,\\s*/, '')\n\t\t\t\t\t\t.replace(/,\\s*$/, '');\n\n\t\t\t\t\treturn cleaned\n\t\t\t\t\t\t? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'`\n\t\t\t\t\t\t: `import { InternalInjectFlags } from '@angular/core'`;\n\t\t\t\t}\n\t\t\t);\n\t\t\t// Replace usage of InjectFlags\n\t\t\tprocessedContent = processedContent.replace(\n\t\t\t\t/\\b(?<!Internal)InjectFlags\\b/g,\n\t\t\t\t'InternalInjectFlags'\n\t\t\t);\n\t\t\tprocessedContent += islandMetadataExports;\n\n\t\t\treturn { content: processedContent, target };\n\t\t});\n\n\tawait Promise.all(\n\t\tentries.map(({ target }) =>\n\t\t\tfs.mkdir(dirname(target), { recursive: true })\n\t\t)\n\t);\n\tawait Promise.all(\n\t\tentries.map(({ target, content }) =>\n\t\t\tfs.writeFile(target, content, 'utf-8')\n\t\t)\n\t);\n\n\treturn entries.map(({ target }) => target);\n};\n\n// Module-level cache: source content hash → compiled output path.\n// Skips re-transpilation of unchanged files during HMR, preventing\n// bun --hot from re-evaluating the growing module graph on each change.\nconst jitContentCache = new Map<string, string>();\n\n// Angular HMR Optimization — Cache the wrapper output (server file content\n// + index file content) so we can skip re-reading, rewriting, and index\n// generation when only transpilation changed but the wrapper output is identical.\nconst wrapperOutputCache = new Map<\n\tstring,\n\t{ serverHash: string; indexHash: string }\n>();\n\nconst escapeTemplateContent = (content: string) =>\n\tcontent\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/`/g, '\\\\`')\n\t\t.replace(/\\$\\{/g, '\\\\${');\n\n/** Find the next templateUrl/styleUrl/styleUrls property reference in `source`\n * whose line is not commented out with a leading `//`. Returns the match data\n * in the same shape RegExp.exec produces, or null if none. Catches the most\n * common case where users prefix the line with `//` to disable inlining\n * (otherwise our regex-based replacement would inline the template inside the\n * comment and the rest of the HTML would leak into source). */\nconst findUncommentedMatch = (source: string, pattern: RegExp) => {\n\tconst re = new RegExp(pattern.source, pattern.flags.includes('g') ? pattern.flags : pattern.flags + 'g');\n\tlet match: RegExpExecArray | null;\n\twhile ((match = re.exec(source)) !== null) {\n\t\tconst lineStart = source.lastIndexOf('\\n', match.index - 1) + 1;\n\t\tconst beforeMatch = source.slice(lineStart, match.index);\n\t\tif (!/^\\s*\\/\\//.test(beforeMatch)) return match;\n\t}\n\n\treturn null;\n};\n\nconst resolveAngularDeferImportSpecifier = () => {\n\tconst sourceEntry = resolve(\n\t\timport.meta.dir,\n\t\t'../angular/components/index.ts'\n\t);\n\tif (existsSync(sourceEntry)) {\n\t\treturn sourceEntry.replace(/\\\\/g, '/');\n\t}\n\n\treturn '@absolutejs/absolute/angular/components';\n};\n\nconst ensureDeferSlotImport = (\n\tsource: string,\n\timportSpecifier = '@absolutejs/absolute/angular/components'\n) => {\n\tif (source.includes('DeferSlotComponent')) return source;\n\tconst resolvedImportSpecifier = JSON.stringify(importSpecifier);\n\tconst importLine = `import { DeferErrorTemplateDirective, DeferFallbackTemplateDirective, DeferResolvedTemplateDirective, DeferSlotComponent } from ${resolvedImportSpecifier};\\n`;\n\tconst lastImportMatch = [...source.matchAll(/^import[\\s\\S]*?;$/gm)].pop();\n\tif (!lastImportMatch || lastImportMatch.index === undefined) {\n\t\treturn importLine + source;\n\t}\n\tconst insertAt = lastImportMatch.index + lastImportMatch[0].length;\n\n\treturn `${source.slice(0, insertAt)}\\n${importLine}${source.slice(insertAt)}`;\n};\n\nconst ensureComponentImportsHasDeferSlot = (source: string) => {\n\tconst importListMatch = source.match(/imports\\s*:\\s*\\[([\\s\\S]*?)\\]/);\n\tif (importListMatch) {\n\t\tif (\n\t\t\t/\\bDeferSlotComponent\\b/.test(importListMatch[1] ?? '') &&\n\t\t\t/\\bDeferResolvedTemplateDirective\\b/.test(\n\t\t\t\timportListMatch[1] ?? ''\n\t\t\t) &&\n\t\t\t/\\bDeferFallbackTemplateDirective\\b/.test(\n\t\t\t\timportListMatch[1] ?? ''\n\t\t\t) &&\n\t\t\t/\\bDeferErrorTemplateDirective\\b/.test(importListMatch[1] ?? '')\n\t\t) {\n\t\t\treturn source;\n\t\t}\n\n\t\treturn source.replace(\n\t\t\t/imports\\s*:\\s*\\[([\\s\\S]*?)\\]/,\n\t\t\t(match, importsContent: string) => {\n\t\t\t\tconst trimmed = importsContent.trim();\n\t\t\t\tconst entries = trimmed\n\t\t\t\t\t.split(',')\n\t\t\t\t\t.map((entry) => entry.trim())\n\t\t\t\t\t.filter(Boolean);\n\t\t\t\tfor (const requiredImport of [\n\t\t\t\t\t'DeferSlotComponent',\n\t\t\t\t\t'DeferResolvedTemplateDirective',\n\t\t\t\t\t'DeferFallbackTemplateDirective',\n\t\t\t\t\t'DeferErrorTemplateDirective'\n\t\t\t\t]) {\n\t\t\t\t\tif (!entries.includes(requiredImport)) {\n\t\t\t\t\t\tentries.push(requiredImport);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst nextContent = entries.join(', ');\n\n\t\t\t\treturn `imports: [${nextContent}]`;\n\t\t\t}\n\t\t);\n\t}\n\n\treturn source.replace(\n\t\t/@Component\\(\\s*{/,\n\t\t'@Component({\\n\\timports: [DeferSlotComponent, DeferResolvedTemplateDirective, DeferFallbackTemplateDirective, DeferErrorTemplateDirective],'\n\t);\n};\n\nconst escapeTemplateLiteralValue = (value: string) =>\n\tvalue.replace(/\\\\/g, '\\\\\\\\').replace(/`/g, '\\\\`').replace(/\\$\\{/g, '\\\\${');\n\nconst skipInterpolatedExpression = (value: string, start: number) => {\n\tconst cursor = start + 2;\n\twhile (cursor < value.length - 1) {\n\t\tconst end = value.indexOf('}}', cursor);\n\t\tif (end < 0) {\n\t\t\treturn value.length;\n\t\t}\n\n\t\treturn end + 2;\n\t}\n\n\treturn value.length;\n};\n\nconst buildResolverTemplateLiteral = (value: string) => {\n\tconst parts: string[] = [];\n\tlet cursor = 0;\n\n\twhile (cursor < value.length) {\n\t\tconst interpolationStart = value.indexOf('{{', cursor);\n\t\tif (interpolationStart < 0) {\n\t\t\tparts.push(escapeTemplateLiteralValue(value.slice(cursor)));\n\n\t\t\tbreak;\n\t\t}\n\n\t\tparts.push(\n\t\t\tescapeTemplateLiteralValue(value.slice(cursor, interpolationStart))\n\t\t);\n\n\t\tconst nextCursor = skipInterpolatedExpression(\n\t\t\tvalue,\n\t\t\tinterpolationStart\n\t\t);\n\t\tif (nextCursor >= value.length) {\n\t\t\tparts.push(\n\t\t\t\tescapeTemplateLiteralValue(value.slice(interpolationStart))\n\t\t\t);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tconst rawExpression = value\n\t\t\t.slice(interpolationStart + 2, nextCursor - 2)\n\t\t\t.trim();\n\t\tconst expression = rawExpression.length === 0 ? \"''\" : rawExpression;\n\t\tconst expressionLiteral = JSON.stringify(expression);\n\n\t\tparts.push(\n\t\t\t`\\${this.__absoluteDeferResolveTemplateExpression(${expressionLiteral})}`\n\t\t);\n\t\tcursor = nextCursor;\n\t}\n\n\treturn parts.join('');\n};\n\nconst buildDeferSlotTemplateResolver = () =>\n\t'\\t__absoluteDeferTemplateExpressionCache = new Map<string, string>();\\n' +\n\t'\\t__absoluteDeferResolveTemplateExpression(expression: string) {\\n' +\n\t'\\t\\tconst cached = this.__absoluteDeferTemplateExpressionCache.get(expression);\\n' +\n\t'\\t\\tif (cached !== undefined) return cached;\\n' +\n\t'\\n' +\n\t'\\t\\tconst scope = new Proxy(this, {\\n' +\n\t'\\t\\t\\tget: (_target, property) => {\\n' +\n\t'\\t\\t\\t\\tconst value = (this as Record<PropertyKey, unknown>)[property];\\n' +\n\t'\\t\\t\\t\\treturn typeof value === \"function\" ? value.bind(this) : value;\\n' +\n\t'\\t\\t\\t}\\n' +\n\t'\\t\\t});\\n' +\n\t\"\\t\\tlet value = '';\\n\" +\n\t'\\t\\ttry {\\n' +\n\t'\\t\\t\\tconst evaluate = new Function(\\n' +\n\t\"\\t\\t\\t\\t'scope',\\n\" +\n\t'\\t\\t\\t\\t\"with (scope) { return (\" + expression + \"); }\"\\n' +\n\t'\\t\\t\\t);\\n' +\n\t'\\n' +\n\t'\\t\\t\\tconst resolvedValue = evaluate(scope);\\n' +\n\t\"\\t\\t\\tvalue = resolvedValue == null ? '' : String(resolvedValue);\\n\" +\n\t'\\t\\t} catch (_error) {\\n' +\n\t\"\\t\\t\\tvalue = '';\\n\" +\n\t'\\t\\t}\\n' +\n\t'\\t\\tthis.__absoluteDeferTemplateExpressionCache.set(expression, value);\\n' +\n\t'\\t\\treturn value;\\n' +\n\t'\\t}\\n\\n';\n\nconst buildDeferSlotFields = (slots: LoweredAngularDeferSlot[]) =>\n\t[\n\t\tbuildDeferSlotTemplateResolver(),\n\t\t...slots.map((slot, index) => {\n\t\t\tconst htmlField = `\\t__absoluteDeferHtml${index} = () => \\`${buildResolverTemplateLiteral(slot.resolvedHtml)}\\`;\\n`;\n\t\t\tconst dataField =\n\t\t\t\tslot.resolvedBindings.length > 0\n\t\t\t\t\t? `\\t__absoluteDeferData${index} = () => ({\\n${slot.resolvedBindings\n\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t(binding) =>\n\t\t\t\t\t\t\t\t\t`\\t\\t\"${binding.key}\": this.__absoluteDeferResolveTemplateExpression(${JSON.stringify(binding.expression)})`\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.join(',\\n')}\\n\\t});\\n`\n\t\t\t\t\t: `\\t__absoluteDeferData${index} = () => ({});\\n`;\n\n\t\t\treturn (\n\t\t\t\t`${\n\t\t\t\t\thtmlField + dataField\n\t\t\t\t}\\t__absoluteDeferResolvePayload${index} = () => new Promise<any>((resolve) => {\\n` +\n\t\t\t\t`\\t\\tsetTimeout(() => resolve({ kind: 'angular-defer', state: 'resolved', html: this.__absoluteDeferHtml${index}(), data: this.__absoluteDeferData${index}() }), ${slot.delayMs});\\n` +\n\t\t\t\t`\\t});\\n`\n\t\t\t);\n\t\t})\n\t].join('\\n');\n\nconst injectDeferSlotFields = (\n\tsource: string,\n\tslots: LoweredAngularDeferSlot[],\n\timportSpecifier = '@absolutejs/absolute/angular'\n) => {\n\tif (slots.length === 0) return source;\n\tlet rewritten = ensureDeferSlotImport(source, importSpecifier);\n\trewritten = ensureComponentImportsHasDeferSlot(rewritten);\n\tconst fields = buildDeferSlotFields(slots);\n\n\treturn rewritten.replace(\n\t\t/export(?:\\s+default)?\\s+class\\s+([A-Za-z_$][\\w$]*)\\s*{/,\n\t\t(match) => `${match}\\n${fields}\\n`\n\t);\n};\n\nconst readAndEscapeFile = async (\n\tfilePath: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tif (!existsSync(filePath)) {\n\t\tthrow new Error(\n\t\t\t`Unable to inline Angular style resource: file not found at ${filePath}`\n\t\t);\n\t}\n\tconst content = await compileStyleFileIfNeeded(\n\t\tfilePath,\n\t\tstylePreprocessors\n\t);\n\n\treturn escapeTemplateContent(content);\n};\n\nconst inlineTemplateAndLowerDefer = async (source: string, fileDir: string) => {\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) {\n\t\tconst templatePath = join(fileDir, templateUrlMatch[1]);\n\t\tif (!existsSync(templatePath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Unable to inline Angular templateUrl \"${templateUrlMatch[1]}\": file not found at ${templatePath}`\n\t\t\t);\n\t\t}\n\t\tconst templateRaw = await fs.readFile(templatePath, 'utf-8');\n\t\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\t\tconst escaped = escapeTemplateContent(lowered.template);\n\t\tconst replacedSource =\n\t\t\tsource.slice(0, templateUrlMatch.index) +\n\t\t\t`template: \\`${escaped}\\`` +\n\t\t\tsource.slice(templateUrlMatch.index + templateUrlMatch[0].length);\n\n\t\treturn {\n\t\t\tdeferSlots: lowered.slots,\n\t\t\tsource: injectDeferSlotFields(\n\t\t\t\treplacedSource,\n\t\t\t\tlowered.slots,\n\t\t\t\tresolveAngularDeferImportSpecifier()\n\t\t\t)\n\t\t};\n\t}\n\n\tconst inlineTemplateMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/template\\s*:\\s*(`([\\s\\S]*?)`|'([^']*)'|\"([^\"]*)\")/\n\t);\n\tif (!inlineTemplateMatch) {\n\t\treturn { deferSlots: [] as LoweredAngularDeferSlot[], source };\n\t}\n\tconst templateRaw =\n\t\tinlineTemplateMatch[2] ??\n\t\tinlineTemplateMatch[3] ??\n\t\tinlineTemplateMatch[4] ??\n\t\t'';\n\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\tif (lowered.slots.length === 0 && lowered.template === templateRaw) {\n\t\treturn { deferSlots: lowered.slots, source };\n\t}\n\tconst escaped = escapeTemplateContent(lowered.template);\n\tconst replacedSource =\n\t\tsource.slice(0, inlineTemplateMatch.index) +\n\t\t`template: \\`${escaped}\\`` +\n\t\tsource.slice(\n\t\t\tinlineTemplateMatch.index + inlineTemplateMatch[0].length\n\t\t);\n\n\treturn {\n\t\tdeferSlots: lowered.slots,\n\t\tsource: injectDeferSlotFields(\n\t\t\treplacedSource,\n\t\t\tlowered.slots,\n\t\t\tresolveAngularDeferImportSpecifier()\n\t\t)\n\t};\n};\n\nconst inlineTemplateAndLowerDeferSync = (source: string, fileDir: string) => {\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) {\n\t\tconst templatePath = join(fileDir, templateUrlMatch[1]);\n\t\tif (!existsSync(templatePath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Unable to inline Angular templateUrl \"${templateUrlMatch[1]}\": file not found at ${templatePath}`\n\t\t\t);\n\t\t}\n\t\tconst templateRaw = readFileSync(templatePath, 'utf-8');\n\t\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\t\tconst escaped = escapeTemplateContent(lowered.template);\n\t\tconst replacedSource =\n\t\t\tsource.slice(0, templateUrlMatch.index) +\n\t\t\t`template: \\`${escaped}\\`` +\n\t\t\tsource.slice(templateUrlMatch.index + templateUrlMatch[0].length);\n\n\t\treturn {\n\t\t\tdeferSlots: lowered.slots,\n\t\t\tsource: injectDeferSlotFields(\n\t\t\t\treplacedSource,\n\t\t\t\tlowered.slots,\n\t\t\t\tresolveAngularDeferImportSpecifier()\n\t\t\t)\n\t\t};\n\t}\n\n\tconst inlineTemplateMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/template\\s*:\\s*(`([\\s\\S]*?)`|'([^']*)'|\"([^\"]*)\")/\n\t);\n\tif (!inlineTemplateMatch) {\n\t\treturn { deferSlots: [] as LoweredAngularDeferSlot[], source };\n\t}\n\tconst templateRaw =\n\t\tinlineTemplateMatch[2] ??\n\t\tinlineTemplateMatch[3] ??\n\t\tinlineTemplateMatch[4] ??\n\t\t'';\n\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\tif (lowered.slots.length === 0 && lowered.template === templateRaw) {\n\t\treturn { deferSlots: lowered.slots, source };\n\t}\n\tconst escaped = escapeTemplateContent(lowered.template);\n\tconst replacedSource =\n\t\tsource.slice(0, inlineTemplateMatch.index) +\n\t\t`template: \\`${escaped}\\`` +\n\t\tsource.slice(\n\t\t\tinlineTemplateMatch.index + inlineTemplateMatch[0].length\n\t\t);\n\n\treturn {\n\t\tdeferSlots: lowered.slots,\n\t\tsource: injectDeferSlotFields(\n\t\t\treplacedSource,\n\t\t\tlowered.slots,\n\t\t\tresolveAngularDeferImportSpecifier()\n\t\t)\n\t};\n};\n\nconst readAndEscapeFileSync = (\n\tfilePath: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tif (!existsSync(filePath)) {\n\t\tthrow new Error(\n\t\t\t`Unable to inline Angular style resource: file not found at ${filePath}`\n\t\t);\n\t}\n\tconst content = compileStyleFileIfNeededSync(\n\t\tfilePath,\n\t\tstylePreprocessors\n\t);\n\n\treturn escapeTemplateContent(content);\n};\n\nconst inlineStyleUrlsSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tif (!styleUrlsMatch?.[1]) return source;\n\n\tconst urlMatches = styleUrlsMatch[1].match(/['\"]([^'\"]+)['\"]/g);\n\tif (!urlMatches) return source;\n\n\tconst inlinedStyles = urlMatches\n\t\t.map((urlMatch) => {\n\t\t\tconst styleUrl = urlMatch.replace(/['\"]/g, '');\n\n\t\t\treturn readAndEscapeFileSync(\n\t\t\t\tjoin(fileDir, styleUrl),\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\t\t})\n\t\t.filter(Boolean)\n\t\t.map((escaped) => `\\`${escaped}\\``);\n\tif (inlinedStyles.length === 0) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlsMatch.index) +\n\t\t`styles: [${inlinedStyles.join(', ')}]` +\n\t\tsource.slice(styleUrlsMatch.index + styleUrlsMatch[0].length)\n\t);\n};\n\nconst inlineSingleStyleUrlSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (!styleUrlMatch?.[1]) return source;\n\n\tconst escaped = readAndEscapeFileSync(\n\t\tjoin(fileDir, styleUrlMatch[1]),\n\t\tstylePreprocessors\n\t);\n\tif (!escaped) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlMatch.index) +\n\t\t`styles: [\\`${escaped}\\`]` +\n\t\tsource.slice(styleUrlMatch.index + styleUrlMatch[0].length)\n\t);\n};\n\nconst inlineResourcesSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst inlinedTemplate = inlineTemplateAndLowerDeferSync(source, fileDir);\n\tlet result = inlinedTemplate.source;\n\tresult = inlineStyleUrlsSync(result, fileDir, stylePreprocessors);\n\tresult = inlineSingleStyleUrlSync(result, fileDir, stylePreprocessors);\n\n\treturn {\n\t\tdeferSlots: inlinedTemplate.deferSlots,\n\t\tsource: result\n\t};\n};\n\nconst inlineStyleUrls = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tif (!styleUrlsMatch?.[1]) return source;\n\n\tconst urlMatches = styleUrlsMatch[1].match(/['\"]([^'\"]+)['\"]/g);\n\tif (!urlMatches) return source;\n\n\tconst stylePromises = urlMatches.map((urlMatch) => {\n\t\tconst styleUrl = urlMatch.replace(/['\"]/g, '');\n\n\t\treturn readAndEscapeFile(join(fileDir, styleUrl), stylePreprocessors);\n\t});\n\tconst results = await Promise.all(stylePromises);\n\tconst inlinedStyles = results\n\t\t.filter(Boolean)\n\t\t.map((escaped) => `\\`${escaped}\\``);\n\tif (inlinedStyles.length === 0) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlsMatch.index) +\n\t\t`styles: [${inlinedStyles.join(', ')}]` +\n\t\tsource.slice(styleUrlsMatch.index + styleUrlsMatch[0].length)\n\t);\n};\n\nconst inlineSingleStyleUrl = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (!styleUrlMatch?.[1]) return source;\n\n\tconst escaped = await readAndEscapeFile(\n\t\tjoin(fileDir, styleUrlMatch[1]),\n\t\tstylePreprocessors\n\t);\n\tif (!escaped) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlMatch.index) +\n\t\t`styles: [\\`${escaped}\\`]` +\n\t\tsource.slice(styleUrlMatch.index + styleUrlMatch[0].length)\n\t);\n};\n\n/** Inline templateUrl and styleUrls/styleUrl from external files */\nconst inlineResources = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst inlinedTemplate = await inlineTemplateAndLowerDefer(source, fileDir);\n\tlet result = inlinedTemplate.source;\n\tresult = await inlineStyleUrls(result, fileDir, stylePreprocessors);\n\tresult = await inlineSingleStyleUrl(result, fileDir, stylePreprocessors);\n\n\treturn {\n\t\tdeferSlots: inlinedTemplate.deferSlots,\n\t\tsource: result\n\t};\n};\n\n/** Angular HMR Runtime Layer (Level 3) — JIT-mode compilation for dev/HMR builds.\n * Uses ts.transpileModule() instead of Angular AOT performCompilation().\n * Inlines templateUrl → template and styleUrls → styles from disk.\n * Recursively transpiles all local imports so Bun's bundler can resolve them.\n * ~50-100ms for a tree of ~10 files vs ~500-700ms for AOT. */\nexport const compileAngularFileJIT = async (\n\tinputPath: string,\n\toutDir: string,\n\trootDir?: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst entryPath = resolve(inputPath);\n\tconst allOutputs: string[] = [];\n\tconst visited = new Set<string>();\n\tconst baseDir = resolve(rootDir ?? process.cwd());\n\n\tconst angularTranspiler = new Bun.Transpiler({\n\t\tloader: 'ts',\n\t\ttsconfig: JSON.stringify({\n\t\t\tcompilerOptions: {\n\t\t\t\temitDecoratorMetadata: true,\n\t\t\t\texperimentalDecorators: true\n\t\t\t}\n\t\t})\n\t});\n\tconst tsconfigAliases = readTsconfigPathAliases();\n\n\tconst resolveSourceFile = (candidate: string) => {\n\t\tconst candidates = candidate.match(/\\.[cm]?[tj]sx?$/)\n\t\t\t? [candidate]\n\t\t\t: [\n\t\t\t\t\t`${candidate}.ts`,\n\t\t\t\t\t`${candidate}.tsx`,\n\t\t\t\t\t`${candidate}.js`,\n\t\t\t\t\t`${candidate}.jsx`,\n\t\t\t\t\tjoin(candidate, 'index.ts'),\n\t\t\t\t\tjoin(candidate, 'index.tsx'),\n\t\t\t\t\tjoin(candidate, 'index.js'),\n\t\t\t\t\tjoin(candidate, 'index.jsx')\n\t\t\t\t];\n\n\t\treturn candidates.find((file) => existsSync(file));\n\t};\n\n\tconst resolveLocalImport = (specifier: string, fromDir: string) => {\n\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\treturn resolveSourceFile(resolve(fromDir, specifier));\n\t\t}\n\n\t\tconst aliased = matchTsconfigAlias(\n\t\t\tspecifier,\n\t\t\ttsconfigAliases.aliases,\n\t\t\ttsconfigAliases.baseUrl,\n\t\t\tresolveSourceFile\n\t\t);\n\t\tif (aliased) return aliased;\n\n\t\ttry {\n\t\t\tconst resolved = Bun.resolveSync(specifier, fromDir);\n\t\t\tif (resolved.includes('/node_modules/')) return undefined;\n\t\t\tconst absolute = resolve(resolved);\n\t\t\tif (!absolute.startsWith(baseDir)) return undefined;\n\n\t\t\treturn resolveSourceFile(absolute);\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t};\n\n\tconst toOutputPath = (sourcePath: string) => {\n\t\tconst inputDir = dirname(sourcePath);\n\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t: inputDir;\n\t\tconst fileBase = basename(sourcePath).replace(/\\.[cm]?[tj]sx?$/, '.js');\n\n\t\treturn join(outDir, relativeDir, fileBase);\n\t};\n\n\tconst transpileAndRewrite = (\n\t\tsourceCode: string,\n\t\trelativeDir: string,\n\t\tactualPath: string,\n\t\timportRewrites: Map<string, string>\n\t) => {\n\t\tlet processedContent = angularTranspiler.transformSync(sourceCode);\n\t\tconst rewriteBareImport = (\n\t\t\tprefix: string,\n\t\t\tspecifier: string,\n\t\t\tsuffix: string\n\t\t) => {\n\t\t\tconst rewritten = importRewrites.get(specifier);\n\t\t\tif (rewritten) {\n\t\t\t\treturn `${prefix}${rewritten}${suffix}`;\n\t\t\t}\n\t\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\t\treturn `${prefix}${specifier}${suffix}`;\n\t\t\t}\n\n\t\t\treturn `${prefix}${specifier}${suffix}`;\n\t\t};\n\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(from\\s+['\"])([^'\"]+)(['\"])/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(import\\s+['\"])([^'\"]+)(['\"])/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(import\\(\\s*['\"])([^'\"]+)(['\"]\\s*\\))/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/from\\s+(['\"])(\\.\\.?\\/[^'\"]+)(\\1)/g,\n\t\t\t(match, quote, path) => {\n\t\t\t\tif (!path.match(/\\.(js|ts|mjs|cjs)$/)) {\n\t\t\t\t\treturn `from ${quote}${path}.js${quote}`;\n\t\t\t\t}\n\t\t\t\tif (path.endsWith('.ts')) {\n\t\t\t\t\treturn `from ${quote}${path.replace(/\\.ts$/, '.js')}${quote}`;\n\t\t\t\t}\n\n\t\t\t\treturn match;\n\t\t\t}\n\t\t);\n\n\t\tconst relDepth =\n\t\t\trelativeDir === '' || relativeDir === '.'\n\t\t\t\t? 0\n\t\t\t\t: relativeDir.split('/').length;\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(from\\s+['\"])(\\.\\.\\/(?:\\.\\.\\/)*)/g,\n\t\t\t(_, prefix, dots) => {\n\t\t\t\tconst upCount = dots.split('/').length - 1;\n\t\t\t\tif (upCount <= relDepth) return `${prefix}${dots}`;\n\n\t\t\t\treturn `${prefix}../${dots}`;\n\t\t\t}\n\t\t);\n\t\tif (resolve(actualPath) === entryPath) {\n\t\t\tprocessedContent += buildIslandMetadataExports(sourceCode);\n\t\t}\n\n\t\treturn processedContent;\n\t};\n\n\t/** Transpile a single .ts file and recursively process its local imports */\n\tconst transpileFile = async (filePath: string) => {\n\t\tconst resolved = resolve(filePath);\n\t\tif (visited.has(resolved)) return;\n\t\tvisited.add(resolved);\n\n\t\t// Only transpile .ts files that exist\n\t\tlet actualPath = resolved;\n\t\tif (!actualPath.endsWith('.ts')) actualPath += '.ts';\n\t\tif (!existsSync(actualPath)) return;\n\n\t\tlet sourceCode = await fs.readFile(actualPath, 'utf-8');\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Inline templateUrl and styleUrls\n\t\t// This resolves external resources at transpile time so Angular JIT\n\t\t// doesn't try to fetch them via HTTP (which fails on the server)\n\t\tconst inlined = await inlineResources(\n\t\t\tsourceCode,\n\t\t\tdirname(actualPath),\n\t\t\tstylePreprocessors\n\t\t);\n\t\tsourceCode = inlineTemplateAndLowerDeferSync(\n\t\t\tinlined.source,\n\t\t\tdirname(actualPath)\n\t\t).source;\n\n\t\t// Compute output path preserving directory structure\n\t\tconst inputDir = dirname(actualPath);\n\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t: inputDir;\n\t\tconst fileBase = basename(actualPath).replace(/\\.[cm]?[tj]sx?$/, '.js');\n\t\tconst targetDir = join(outDir, relativeDir);\n\t\tconst targetPath = toOutputPath(actualPath);\n\n\t\t// Find all relative imports to process recursively (needed\n\t\t// even when skipping transpilation for cache-hit files).\n\t\t// Catches: import/export ... from './x', export * from './x',\n\t\t// import './x' (side-effect), and dynamic import('./x').\n\t\tconst localImports: string[] = [];\n\t\tconst importRewrites = new Map<string, string>();\n\t\tconst fromRegex =\n\t\t\t/(?:from|import)\\s+['\"]([^'\".][^'\"]*|\\.\\.?\\/[^'\"]+)['\"]/g;\n\t\tconst dynamicImportRegex =\n\t\t\t/import\\(\\s*['\"]([^'\".][^'\"]*|\\.\\.?\\/[^'\"]+)['\"]\\s*\\)/g;\n\t\tlet importMatch;\n\t\twhile ((importMatch = fromRegex.exec(sourceCode)) !== null) {\n\t\t\tif (importMatch[1]) localImports.push(importMatch[1]);\n\t\t}\n\t\twhile ((importMatch = dynamicImportRegex.exec(sourceCode)) !== null) {\n\t\t\tif (importMatch[1]) localImports.push(importMatch[1]);\n\t\t}\n\t\tconst localImportPaths = localImports\n\t\t\t.map((specifier) => {\n\t\t\t\tconst resolved = resolveLocalImport(specifier, inputDir);\n\t\t\t\tif (!resolved) return null;\n\t\t\t\tconst relativeImport = relative(targetDir, toOutputPath(resolved))\n\t\t\t\t\t.replace(/\\\\/g, '/')\n\t\t\t\t\t.replace(/\\.js$/, '');\n\t\t\t\timportRewrites.set(\n\t\t\t\t\tspecifier,\n\t\t\t\t\trelativeImport.startsWith('.')\n\t\t\t\t\t\t? relativeImport\n\t\t\t\t\t\t: `./${relativeImport}`\n\t\t\t\t);\n\n\t\t\t\treturn resolved;\n\t\t\t})\n\t\t\t.filter((path): path is string => Boolean(path));\n\n\t\t// Skip transpilation if source content hasn't changed — the\n\t\t// compiled output on disk is already up-to-date. This avoids\n\t\t// unnecessary disk writes that trigger bun --hot re-evaluation\n\t\t// and cause progressively slower compile times.\n\t\tconst contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);\n\t\tconst cacheKey = actualPath;\n\t\tif (\n\t\t\tjitContentCache.get(cacheKey) === contentHash &&\n\t\t\texistsSync(targetPath)\n\t\t) {\n\t\t\tallOutputs.push(targetPath);\n\t\t} else {\n\t\t\tconst processedContent = transpileAndRewrite(\n\t\t\t\tsourceCode,\n\t\t\t\trelativeDir,\n\t\t\t\tactualPath,\n\t\t\t\timportRewrites\n\t\t\t);\n\n\t\t\tawait fs.mkdir(targetDir, { recursive: true });\n\t\t\tawait fs.writeFile(targetPath, processedContent, 'utf-8');\n\t\t\tallOutputs.push(targetPath);\n\t\t\tjitContentCache.set(cacheKey, contentHash);\n\t\t}\n\n\t\t// Recursively transpile local imports\n\t\tawait Promise.all(\n\t\t\tlocalImportPaths.map((importPath) => transpileFile(importPath))\n\t\t);\n\t};\n\n\tawait transpileFile(inputPath);\n\n\treturn allOutputs;\n};\n\nexport const compileAngular = async (\n\tentryPoints: string[],\n\toutRoot: string,\n\thmr = false,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst compiledParent = join(outRoot, 'generated');\n\n\tif (entryPoints.length === 0) {\n\t\tconst emptyPaths: string[] = [];\n\n\t\treturn { clientPaths: [...emptyPaths], serverPaths: [...emptyPaths] };\n\t}\n\n\t// Compile to .absolutejs/generated/angular/. Server files are bundled by\n\t// Bun's server pass (same as Svelte/Vue) and cleanup() removes generated/\n\t// after bundling. In dev/HMR, a fixed path avoids duplicate Angular\n\t// module instances (different file paths → different ESM cache entries),\n\t// preventing NG0201/NG0203 token identity mismatches.\n\tconst compiledRoot = compiledParent;\n\tconst indexesDir = join(compiledParent, 'indexes');\n\n\tawait fs.mkdir(indexesDir, { recursive: true });\n\n\tconst compileTasks = entryPoints.map(async (entry) => {\n\t\tconst resolvedEntry = resolve(entry);\n\t\tconst relativeEntry = relative(outRoot, resolvedEntry).replace(\n\t\t\t/\\.[tj]s$/,\n\t\t\t'.js'\n\t\t);\n\t\tconst compileEntry = () =>\n\t\t\thmr\n\t\t\t\t? compileAngularFileJIT(\n\t\t\t\t\t\tresolvedEntry,\n\t\t\t\t\t\tcompiledRoot,\n\t\t\t\t\t\toutRoot,\n\t\t\t\t\t\tstylePreprocessors\n\t\t\t\t\t)\n\t\t\t\t: compileAngularFile(\n\t\t\t\t\t\tresolvedEntry,\n\t\t\t\t\t\tcompiledRoot,\n\t\t\t\t\t\tstylePreprocessors\n\t\t\t\t\t);\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Use JIT compilation for dev/HMR builds.\n\t\t// JIT uses ts.transpileModule() with template/style inlining (~50-100ms)\n\t\t// instead of AOT performCompilation() (~500-700ms).\n\t\tlet outputs = await compileEntry();\n\t\tconst fileBase = basename(resolvedEntry).replace(/\\.[tj]s$/, '');\n\t\tconst jsName = `${fileBase}.js`;\n\t\tconst compiledFallbackPaths = [\n\t\t\tjoin(compiledRoot, relativeEntry),\n\t\t\tjoin(compiledRoot, 'pages', jsName),\n\t\t\tjoin(compiledRoot, jsName)\n\t\t].map((file) => resolve(file));\n\t\tconst resolveRawServerFile = (candidatePaths: string[]) => {\n\t\t\tconst normalizedCandidates = [\n\t\t\t\t...candidatePaths.map((file) => resolve(file)),\n\t\t\t\t...compiledFallbackPaths\n\t\t\t];\n\t\t\tlet candidate = normalizedCandidates.find(\n\t\t\t\t(file) =>\n\t\t\t\t\texistsSync(file) &&\n\t\t\t\t\tfile.endsWith(`${sep}pages${sep}${jsName}`)\n\t\t\t);\n\t\t\tif (!candidate) {\n\t\t\t\tcandidate = normalizedCandidates.find(\n\t\t\t\t\t(file) =>\n\t\t\t\t\t\texistsSync(file) && file.endsWith(`${sep}${jsName}`)\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!candidate) {\n\t\t\t\tcandidate = normalizedCandidates.find((file) =>\n\t\t\t\t\texistsSync(file)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn candidate;\n\t\t};\n\n\t\tlet rawServerFile = resolveRawServerFile(outputs);\n\t\tif (!rawServerFile) {\n\t\t\trawServerFile = resolveRawServerFile([]);\n\t\t}\n\t\tif (rawServerFile && !existsSync(rawServerFile)) {\n\t\t\toutputs = await compileEntry();\n\t\t\trawServerFile = resolveRawServerFile(outputs);\n\t\t}\n\n\t\tif (!rawServerFile || !existsSync(rawServerFile)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Compiled output not found for ${entry}. Looking for: ${jsName}. Available: ${[\n\t\t\t\t\t...outputs,\n\t\t\t\t\t...compiledFallbackPaths\n\t\t\t\t].join(', ')}`\n\t\t\t);\n\t\t}\n\n\t\tconst original = await fs.readFile(rawServerFile, 'utf-8');\n\n\t\t// Detect the actual exported class so the generated `export default`\n\t\t// (and the client-bundle wrappers below) reference a real symbol.\n\t\t// Without this, files whose class name doesn't follow the\n\t\t// `<Pascal(filename)>Component` convention (e.g. resources.ts\n\t\t// exporting `ContentComponent`, admin-debug.ts exporting\n\t\t// `AdminLogsComponent`) get a dangling `export default\n\t\t// ResourcesComponent` appended, which throws\n\t\t// `ReferenceError: <X> is not defined` at module-evaluation time.\n\t\t//\n\t\t// In Bun ≤1.3.13 this fails only on the first request — sequential\n\t\t// `import()` after an evaluation throw silently returns a\n\t\t// partially-initialized module instead of re-throwing. Fixed on\n\t\t// Bun main in PR oven-sh/bun#29393, awaiting 1.3.14. Tracked as\n\t\t// oven-sh/bun#29791; see UPSTREAM_ISSUES.md.\n\t\tconst detectExportedComponentClass = (\n\t\t\tsource: string,\n\t\t\tfallback: string\n\t\t): string => {\n\t\t\tconst defaultMatch = source.match(\n\t\t\t\t/export\\s+default\\s+([A-Za-z_$][\\w$]*)\\s*;/\n\t\t\t);\n\t\t\tif (defaultMatch) return defaultMatch[1]!;\n\t\t\tconst exportClassMatch = source.match(\n\t\t\t\t/export\\s+(?:default\\s+)?class\\s+([A-Za-z_$][\\w$]*)/\n\t\t\t);\n\t\t\tif (exportClassMatch) return exportClassMatch[1]!;\n\t\t\treturn fallback;\n\t\t};\n\t\tconst componentClassName = detectExportedComponentClass(\n\t\t\toriginal,\n\t\t\t`${toPascal(fileBase)}Component`\n\t\t);\n\n\t\t// Angular HMR Optimization — Hash the compiled server file content.\n\t\t// If it hasn't changed since last HMR cycle, skip all the rewriting,\n\t\t// HMR registration injection, SSR deps writing, and index regeneration.\n\t\t// This eliminates ~100-500ms of wrapper overhead on cache hits.\n\t\tconst serverContentHash = Bun.hash(original).toString(BASE_36_RADIX);\n\t\tconst cachedWrapper = wrapperOutputCache.get(resolvedEntry);\n\t\tconst clientFile = join(indexesDir, jsName);\n\t\tif (\n\t\t\thmr &&\n\t\t\tcachedWrapper &&\n\t\t\tcachedWrapper.serverHash === serverContentHash &&\n\t\t\texistsSync(clientFile)\n\t\t) {\n\t\t\treturn {\n\t\t\t\tclientPath: clientFile,\n\t\t\t\tindexUnchanged: true,\n\t\t\t\tserverPath: rawServerFile\n\t\t\t};\n\t\t}\n\n\t\t// Ensure the JIT compiler side effect runs before any Angular package\n\t\t// imports in generated page modules. Consumer pages usually import\n\t\t// @angular/common first, which otherwise trips partial-compile JIT mode.\n\t\tlet rewritten = original;\n\t\tif (!rewritten.includes(`import '@angular/compiler';`)) {\n\t\t\trewritten = `import '@angular/compiler';\\n${rewritten}`;\n\t\t}\n\n\t\t// Replace templateUrl if it exists\n\t\trewritten = rewritten.replace(\n\t\t\tnew RegExp(`templateUrl:\\\\s*['\"]\\\\.\\\\/${fileBase}\\\\.html['\"]`),\n\t\t\t`templateUrl: '../../pages/${fileBase}.html'`\n\t\t);\n\n\t\t// Only add default export if one doesn't already exist\n\t\tif (!rewritten.includes('export default')) {\n\t\t\trewritten += `\\nexport default ${componentClassName};\\n`;\n\t\t}\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Inject HMR registration in dev mode\n\t\tif (hmr) {\n\t\t\trewritten = injectHMRRegistration(rewritten, resolvedEntry);\n\n\t\t\t// Write Angular dependency re-exports to a SEPARATE file so\n\t\t\t// they don't leak into the client bundle (require() doesn't\n\t\t\t// work in browsers). handleAngularPageRequest imports this\n\t\t\t// sibling file for identity-safe SSR rendering.\n\t\t\tconst ssrDepsFile = rawServerFile.replace(/\\.js$/, '.ssr-deps.js');\n\t\t\tconst ssrDepsContent = [\n\t\t\t\t'// HMR SSR: re-export Angular deps for identity-safe SSR rendering.',\n\t\t\t\t'// Separate file to avoid bundling require() calls into client code.',\n\t\t\t\t'export const __angularCore = require(\"@angular/core\");',\n\t\t\t\t'export const __angularPlatformServer = require(\"@angular/platform-server\");',\n\t\t\t\t'export const __angularPlatformBrowser = require(\"@angular/platform-browser\");',\n\t\t\t\t'export const __angularCommon = require(\"@angular/common\");',\n\t\t\t\t''\n\t\t\t].join('\\n');\n\t\t\tawait fs.writeFile(ssrDepsFile, ssrDepsContent, 'utf-8');\n\t\t}\n\n\t\tawait fs.writeFile(rawServerFile, rewritten, 'utf-8');\n\n\t\t// Calculate relative path from indexes directory to the server file\n\t\t// This handles deeply nested paths that Angular compiler may create\n\t\tconst relativePath = relative(indexesDir, rawServerFile).replace(\n\t\t\t/\\\\/g,\n\t\t\t'/'\n\t\t);\n\t\t// Ensure it starts with ./ or ../ for relative imports\n\t\tconst normalizedImportPath = relativePath.startsWith('.')\n\t\t\t? relativePath\n\t\t\t: `./${relativePath}`;\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Import runtime before HMR client\n\t\tconst hmrPreamble = hmr\n\t\t\t? `window.__HMR_FRAMEWORK__ = \"angular\";\\nimport \"${hmrRuntimePath}\";\\nimport \"${hmrClientPath}\";\\n`\n\t\t\t: '';\n\t\tconst hydration = hmr\n\t\t\t? `${hmrPreamble}\nimport '@angular/compiler';\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideClientHydration } from '@angular/platform-browser';\nimport { provideZonelessChangeDetection } from '@angular/core';\nimport * as pageModule from '${normalizedImportPath}';\n\nvar ${componentClassName} = pageModule.default;\nvar toScreamingSnake = function(str) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n};\nvar isInjectionToken = function(value) {\n return Boolean(value) && typeof value === 'object' && value.ngMetadataName === 'InjectionToken';\n};\nvar pageProps = window.__ABS_ANGULAR_PAGE_PROPS__ || {};\nvar pageHasIslands = Boolean(pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__) || Boolean(document.querySelector('[data-island=\"true\"]'));\nvar pageHasRawStreamingSlots = Boolean(document.querySelector('[data-absolute-raw-slot=\"true\"]'));\nvar pageHasStreamingSlots = Boolean(document.querySelector('[data-absolute-slot=\"true\"]'));\nvar propProviders = Object.entries(pageProps).map(function(entry) {\n var propName = entry[0];\n var propValue = entry[1];\n var token = pageModule[toScreamingSnake(propName)];\n return isInjectionToken(token) ? { provide: token, useValue: propValue } : null;\n}).filter(Boolean);\n// Page-level providers, opt-in via \\`export const providers = [...]\\` in the\n// page module. Required so DI tokens that the component (or any service it\n// injects) needs are available client-side too — without these, services\n// that worked in SSR fail with NG0201 after hydration.\nvar maybePageProviders = Reflect.get(pageModule, 'providers');\nvar pageProviders = Array.isArray(maybePageProviders) ? maybePageProviders : [];\n\n// Re-Bootstrap HMR with View Transitions API\nif (window.__ANGULAR_APP__) {\n try { window.__ANGULAR_APP__.destroy(); } catch (_err) { /* ignore */ }\n window.__ANGULAR_APP__ = null;\n}\n\n// Ensure root element exists after destroy (Angular removes it)\nvar _sel = ${componentClassName}.ɵcmp?.selectors?.[0]?.[0] || 'ng-app';\nif (!document.querySelector(_sel)) {\n (document.getElementById('root') || document.body).appendChild(document.createElement(_sel));\n}\n\nvar providers = [provideZonelessChangeDetection()];\nif (!window.__HMR_SKIP_HYDRATION__ && !pageHasIslands) {\n providers.push(provideClientHydration());\n}\ndelete window.__HMR_SKIP_HYDRATION__;\nproviders.push.apply(providers, pageProviders);\nproviders.push.apply(providers, propProviders);\nwindow.__ABS_SLOT_HYDRATION_PENDING__ = pageHasRawStreamingSlots;\n\nif (pageHasRawStreamingSlots) {\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n} else {\n bootstrapApplication(${componentClassName}, {\n providers: providers\n }).then(function (appRef) {\n window.__ANGULAR_APP__ = appRef;\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n });\n}\n`.trim()\n\t\t\t: `\nimport '@angular/compiler';\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideClientHydration } from '@angular/platform-browser';\nimport { enableProdMode, provideZonelessChangeDetection } from '@angular/core';\nimport * as pageModule from '${normalizedImportPath}';\n\nvar ${componentClassName} = pageModule.default;\nvar toScreamingSnake = function(str) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n};\nvar isInjectionToken = function(value) {\n return Boolean(value) && typeof value === 'object' && value.ngMetadataName === 'InjectionToken';\n};\nvar pageProps = window.__ABS_ANGULAR_PAGE_PROPS__ || {};\nvar pageHasIslands = Boolean(pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__) || Boolean(document.querySelector('[data-island=\"true\"]'));\nvar pageHasRawStreamingSlots = Boolean(document.querySelector('[data-absolute-raw-slot=\"true\"]'));\nvar pageHasStreamingSlots = Boolean(document.querySelector('[data-absolute-slot=\"true\"]'));\nvar propProviders = Object.entries(pageProps).map(function(entry) {\n var propName = entry[0];\n var propValue = entry[1];\n var token = pageModule[toScreamingSnake(propName)];\n return isInjectionToken(token) ? { provide: token, useValue: propValue } : null;\n}).filter(Boolean);\n// Page-level providers, opt-in via \\`export const providers = [...]\\` in the\n// page module. Required so DI tokens that the component (or any service it\n// injects) needs are available client-side too — without these, services\n// that worked in SSR fail with NG0201 after hydration.\nvar maybePageProviders = Reflect.get(pageModule, 'providers');\nvar pageProviders = Array.isArray(maybePageProviders) ? maybePageProviders : [];\n\nenableProdMode();\n\nvar providers = [provideZonelessChangeDetection()].concat(pageProviders).concat(propProviders);\nif (!pageHasIslands) {\n providers.unshift(provideClientHydration());\n}\nwindow.__ABS_SLOT_HYDRATION_PENDING__ = pageHasRawStreamingSlots;\n\nif (pageHasRawStreamingSlots) {\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n} else {\n bootstrapApplication(${componentClassName}, {\n providers: providers\n }).then(function (appRef) {\n window.__ANGULAR_APP__ = appRef;\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n });\n}\n`.trim();\n\n\t\t// Angular HMR Optimization — Hash index content to detect if bundling\n\t\t// can be skipped (index content is deterministic for a given import path).\n\t\tconst indexHash = Bun.hash(hydration).toString(BASE_36_RADIX);\n\t\tconst indexUnchanged = cachedWrapper?.indexHash === indexHash;\n\n\t\tawait fs.writeFile(clientFile, hydration, 'utf-8');\n\n\t\t// Update wrapper cache\n\t\twrapperOutputCache.set(resolvedEntry, {\n\t\t\tindexHash,\n\t\t\tserverHash: serverContentHash\n\t\t});\n\n\t\treturn {\n\t\t\tclientPath: clientFile,\n\t\t\tindexUnchanged,\n\t\t\tserverPath: rawServerFile\n\t\t};\n\t});\n\n\tconst results = await Promise.all(compileTasks);\n\tconst serverPaths = results.map((r) => r.serverPath);\n\tconst clientPaths = results.map((r) => r.clientPath);\n\n\treturn {\n\t\t// Angular HMR Optimization — Signal to rebuildTrigger that bundling\n\t\t// can be skipped when all index files are unchanged.\n\t\tallIndexesUnchanged: hmr && results.every((r) => r.indexUnchanged),\n\t\tclientPaths,\n\t\tserverPaths\n\t};\n};\n",
|
|
36
36
|
"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};\nexport const warnMissingStreamingSlotCollector = (primitiveName: string) => {\n\tif (\n\t\tprocess.env.NODE_ENV === 'production' ||\n\t\tisStreamingSlotCollectionActive()\n\t) {\n\t\treturn;\n\t}\n\n\tgetWarningController()?.maybeWarn(primitiveName);\n};\n",
|
|
37
37
|
"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",
|
|
38
|
-
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { mkdir, symlink } from 'node:fs/promises';\nimport { tmpdir } from 'node:os';\nimport { basename, dirname, join, resolve } from 'node:path';\nimport type { EnvironmentProviders, Provider, Type } from '@angular/core';\nimport type { AngularPagePropsOf } from '../../types/angular';\nimport { BASE_36_RADIX, RANDOM_ID_END_INDEX } from '../constants';\nimport { injectIslandPageContext } from '../core/islandPageContext';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport {\n\tderivePageName,\n\trenderConventionError\n} from '../utils/resolveConvention';\nimport { setSsrContextGetter } from '../utils/registerClientScript';\nimport { getAngularDeps } from './angularDeps';\nimport { lowerAngularServerIslands } from './lowerServerIslands';\nimport { getCurrentRouteRegistrationCallsite } from '../core/devRouteRegistrationCallsite';\nimport { getSsrSanitizer, resetSsrSanitizer } from './ssrSanitizer';\nimport {\n\ttype StreamingSlotEnhancerOptions,\n\twithRegisteredStreamingSlots\n} from '../core/responseEnhancers';\nimport {\n\tcaptureStreamingSlotWarningCallsite,\n\trunWithStreamingSlotWarningScope\n} from '../core/streamingSlotWarningScope';\nimport { isSsrCacheDirty, markSsrCacheDirty } from '../core/ssrCache';\nimport {\n\tbuildDeps,\n\tbuildProviders,\n\tcacheRouteData,\n\tclearSelectorCache,\n\tdiscoverTokens,\n\tinjectSsrScripts,\n\tloadSsrDeps,\n\trenderAngularApp,\n\tresolveSelector\n} from './ssrRender';\n\nlet lastSelector = 'angular-page';\ntype AngularPageRenderOptions = StreamingSlotEnhancerOptions & {\n\tcollectStreamingSlots?: boolean;\n};\ntype IsAny<T> = 0 extends 1 & T ? true : false;\ntype HasNoRequiredAngularProps<Props> =\n\tIsAny<Props> extends true ? true : keyof Props extends never ? true : false;\ntype AngularPageHasOptionalProps<Page> = Page extends {\n\tfactory: (...args: infer Args) => unknown;\n}\n\t? [] extends Args\n\t\t? true\n\t\t: HasNoRequiredAngularProps<AngularPagePropsOf<Page>>\n\t: HasNoRequiredAngularProps<AngularPagePropsOf<Page>>;\nexport type AngularPageRequestInput<\n\tPage = { factory: (props: Record<never, never>) => unknown }\n> = AngularPageRenderOptions & {\n\theadTag?: `<head>${string}</head>`;\n\tindexPath: string;\n\tpagePath: string;\n\tproviders?: ReadonlyArray<Provider | EnvironmentProviders>;\n} & (AngularPageHasOptionalProps<Page> extends true\n\t\t? { props?: NoInfer<AngularPagePropsOf<Page>> }\n\t\t: { props: NoInfer<AngularPagePropsOf<Page>> });\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isAngularComponent = (value: unknown): value is Type<unknown> =>\n\ttypeof value === 'function';\n\nconst resolvePageComponent = (pageModule: Record<string, unknown>) => {\n\tif (isAngularComponent(pageModule.default)) {\n\t\treturn pageModule.default;\n\t}\n\n\treturn Object.values(pageModule).find((value) => isAngularComponent(value));\n};\n\nlet compilerImportPromise: Promise<unknown> | null = null;\nconst ensureAngularCompiler = () => {\n\tif (!compilerImportPromise) {\n\t\tcompilerImportPromise = import('@angular/compiler');\n\t}\n\n\treturn compilerImportPromise;\n};\n\nconst readAngularPageModule = (value: unknown) =>\n\tisRecord(value) ? value : null;\n\nconst resolveAngularSsrOutDir = () =>\n\tprocess.env.ABSOLUTE_ANGULAR_SSR_OUTDIR ??\n\tjoin(tmpdir(), 'absolutejs', 'generated', 'angular-ssr');\n\nconst ensureAngularSsrNodeModules = async (outDir: string) => {\n\tconst outRoot = resolve(dirname(dirname(outDir)));\n\tconst nodeModulesLink = join(outRoot, 'node_modules');\n\tif (process.env.ABSOLUTE_ANGULAR_SSR_OUTDIR) {\n\t\treturn;\n\t}\n\tif (nodeModulesLink === resolve(process.cwd(), 'node_modules')) {\n\t\treturn;\n\t}\n\tif (await Bun.file(nodeModulesLink).exists()) {\n\t\treturn;\n\t}\n\n\tawait mkdir(outRoot, { recursive: true });\n\ttry {\n\t\tawait symlink(\n\t\t\tresolve(process.cwd(), 'node_modules'),\n\t\t\tnodeModulesLink,\n\t\t\t'dir'\n\t\t);\n\t} catch (error) {\n\t\tif (\n\t\t\t!(error instanceof Error) ||\n\t\t\t!('code' in error) ||\n\t\t\terror.code !== 'EEXIST'\n\t\t) {\n\t\t\tthrow error;\n\t\t}\n\t}\n};\n\nconst resolveRuntimeAngularModulePath = async (pagePath: string) => {\n\tif (!pagePath.endsWith('.ts')) {\n\t\treturn pagePath;\n\t}\n\n\tconst outDir = resolveAngularSsrOutDir();\n\tawait ensureAngularSsrNodeModules(outDir);\n\tconst { compileAngularFileJIT } = await import('../build/compileAngular');\n\tconst outputs = await compileAngularFileJIT(\n\t\tpagePath,\n\t\toutDir,\n\t\tprocess.cwd()\n\t);\n\tconst expectedFileName = basename(pagePath).replace(/\\.ts$/, '.js');\n\n\treturn (\n\t\toutputs.find((output) => output.endsWith(`/${expectedFileName}`)) ??\n\t\toutputs.find((output) => output.endsWith(`\\\\${expectedFileName}`)) ??\n\t\toutputs[0] ??\n\t\tpagePath\n\t);\n};\n\nexport const invalidateAngularSsrCache = () => {\n\tmarkSsrCacheDirty('angular');\n\tclearSelectorCache();\n};\n\nconst angularSsrContext = new AsyncLocalStorage<string>();\nsetSsrContextGetter(() => angularSsrContext.getStore());\n\nexport const handleAngularPageRequest = async <\n\tPage = { factory: (props: Record<never, never>) => unknown }\n>(\n\tinput: AngularPageRequestInput<Page>\n) => {\n\tconst requestId = `angular_${Date.now()}_${Math.random().toString(BASE_36_RADIX).substring(2, RANDOM_ID_END_INDEX)}`;\n\n\treturn angularSsrContext.run(requestId, async () => {\n\t\tawait ensureAngularCompiler();\n\n\t\tconst resolvedHeadTag = input.headTag ?? '<head></head>';\n\t\tconst resolvedIndexPath = input.indexPath;\n\t\tconst options = input;\n\t\tconst resolvedPagePath = input.pagePath;\n\t\tconst maybeProps = input.props;\n\t\tconst userProviders = input.providers;\n\n\t\t// Cache props + headTag for HMR replay — strip query strings\n\t\t// so cache-busted HMR paths match the original manifest path.\n\t\tcacheRouteData(resolvedPagePath, {\n\t\t\theadTag: resolvedHeadTag,\n\t\t\tprops: maybeProps\n\t\t});\n\n\t\tif (isSsrCacheDirty('angular')) {\n\t\t\tclearSelectorCache();\n\t\t\tconst script = resolvedIndexPath\n\t\t\t\t? `<script>import(${JSON.stringify(resolvedIndexPath)});</script>`\n\t\t\t\t: '';\n\t\t\tconst html = `<!DOCTYPE html><html>${resolvedHeadTag}<body><${lastSelector}></${lastSelector}>${script}</body></html>`;\n\n\t\t\treturn new Response(html, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t\t});\n\t\t}\n\n\t\ttry {\n\t\t\tconst handlerCallsite =\n\t\t\t\toptions?.collectStreamingSlots === true\n\t\t\t\t\t? undefined\n\t\t\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\t\tconst renderPageResponse = async () => {\n\t\t\t\tconst baseDeps = await getAngularDeps();\n\t\t\t\tconst runtimePagePath =\n\t\t\t\t\tawait resolveRuntimeAngularModulePath(resolvedPagePath);\n\t\t\t\tconst importedPageModule: unknown = await import(\n\t\t\t\t\truntimePagePath\n\t\t\t\t);\n\t\t\t\tconst pageModule = readAngularPageModule(importedPageModule);\n\t\t\t\tif (!pageModule) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Invalid Angular page module: ${resolvedPagePath}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst PageComponent = resolvePageComponent(pageModule);\n\t\t\t\tif (!isAngularComponent(PageComponent)) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Angular page module must export an Angular component: ${resolvedPagePath}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst hasIslands =\n\t\t\t\t\ttypeof pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__ ===\n\t\t\t\t\t'boolean'\n\t\t\t\t\t\t? pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__\n\t\t\t\t\t\t: false;\n\n\t\t\t\tconst ssrResult = await loadSsrDeps(runtimePagePath);\n\t\t\t\tconst deps = buildDeps(ssrResult, baseDeps);\n\n\t\t\t\tconst tokenMap = discoverTokens(pageModule);\n\t\t\t\tconst selector = resolveSelector(\n\t\t\t\t\tdeps,\n\t\t\t\t\tresolvedPagePath,\n\t\t\t\t\tPageComponent\n\t\t\t\t);\n\t\t\t\tlastSelector = selector;\n\n\t\t\t\tconst htmlString = `<!DOCTYPE html><html>${resolvedHeadTag}<body><${selector}></${selector}></body></html>`;\n\n\t\t\t\tif (ssrResult?.core) resetSsrSanitizer();\n\t\t\t\tconst sanitizer = getSsrSanitizer(deps);\n\t\t\t\tconst providers = buildProviders(\n\t\t\t\t\tdeps,\n\t\t\t\t\tsanitizer,\n\t\t\t\t\tmaybeProps,\n\t\t\t\t\ttokenMap,\n\t\t\t\t\tuserProviders\n\t\t\t\t);\n\n\t\t\t\tconst rawHtml: string = await renderAngularApp(\n\t\t\t\t\tdeps,\n\t\t\t\t\tPageComponent,\n\t\t\t\t\tproviders,\n\t\t\t\t\thtmlString\n\t\t\t\t);\n\t\t\t\tconst shouldProcessIslands =\n\t\t\t\t\thasIslands || rawHtml.includes('<absolute-island');\n\t\t\t\tconst htmlWithLoweredIslands = shouldProcessIslands\n\t\t\t\t\t? await lowerAngularServerIslands(rawHtml)\n\t\t\t\t\t: rawHtml;\n\n\t\t\t\tconst html = injectIslandPageContext(\n\t\t\t\t\tinjectSsrScripts(\n\t\t\t\t\t\thtmlWithLoweredIslands,\n\t\t\t\t\t\trequestId,\n\t\t\t\t\t\tresolvedIndexPath,\n\t\t\t\t\t\tmaybeProps\n\t\t\t\t\t),\n\t\t\t\t\t{ hasIslands: shouldProcessIslands }\n\t\t\t\t);\n\n\t\t\t\treturn new Response(html, {\n\t\t\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t\t\t});\n\t\t\t};\n\n\t\t\treturn runWithStreamingSlotWarningScope(\n\t\t\t\t() =>\n\t\t\t\t\toptions?.collectStreamingSlots === true\n\t\t\t\t\t\t? withRegisteredStreamingSlots(\n\t\t\t\t\t\t\t\trenderPageResponse,\n\t\t\t\t\t\t\t\toptions\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: renderPageResponse(),\n\t\t\t\t{ handlerCallsite }\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tconsole.error('[SSR] Angular render error:', error);\n\n\t\t\tconst pageName = derivePageName(resolvedPagePath);\n\t\t\tconst conventionResponse = await renderConventionError(\n\t\t\t\t'angular',\n\t\t\t\tpageName,\n\t\t\t\terror\n\t\t\t);\n\t\t\tif (conventionResponse) return conventionResponse;\n\n\t\t\treturn new Response(ssrErrorPage('angular', error), {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t});\n\t\t}\n\t});\n};\n",
|
|
38
|
+
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { mkdir, symlink } from 'node:fs/promises';\nimport { tmpdir } from 'node:os';\nimport { basename, dirname, join, resolve } from 'node:path';\nimport type { EnvironmentProviders, Provider, Type } from '@angular/core';\nimport type { AngularPagePropsOf } from '../../types/angular';\nimport { BASE_36_RADIX, RANDOM_ID_END_INDEX } from '../constants';\nimport { injectIslandPageContext } from '../core/islandPageContext';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport {\n\tderivePageName,\n\trenderConventionError\n} from '../utils/resolveConvention';\nimport { setSsrContextGetter } from '../utils/registerClientScript';\nimport { getAngularDeps } from './angularDeps';\nimport { lowerAngularServerIslands } from './lowerServerIslands';\nimport { getCurrentRouteRegistrationCallsite } from '../core/devRouteRegistrationCallsite';\nimport { getSsrSanitizer, resetSsrSanitizer } from './ssrSanitizer';\nimport {\n\ttype StreamingSlotEnhancerOptions,\n\twithRegisteredStreamingSlots\n} from '../core/responseEnhancers';\nimport {\n\tcaptureStreamingSlotWarningCallsite,\n\trunWithStreamingSlotWarningScope\n} from '../core/streamingSlotWarningScope';\nimport { isSsrCacheDirty, markSsrCacheDirty } from '../core/ssrCache';\nimport {\n\tbuildDeps,\n\tbuildProviders,\n\tcacheRouteData,\n\tclearSelectorCache,\n\tdiscoverTokens,\n\tinjectSsrScripts,\n\tloadSsrDeps,\n\trenderAngularApp,\n\tresolveSelector\n} from './ssrRender';\n\nlet lastSelector = 'angular-page';\ntype AngularPageRenderOptions = StreamingSlotEnhancerOptions & {\n\tcollectStreamingSlots?: boolean;\n};\ntype IsAny<T> = 0 extends 1 & T ? true : false;\ntype HasNoRequiredAngularProps<Props> =\n\tIsAny<Props> extends true ? true : keyof Props extends never ? true : false;\ntype AngularPageHasOptionalProps<Page> = Page extends {\n\tfactory: (...args: infer Args) => unknown;\n}\n\t? [] extends Args\n\t\t? true\n\t\t: HasNoRequiredAngularProps<AngularPagePropsOf<Page>>\n\t: HasNoRequiredAngularProps<AngularPagePropsOf<Page>>;\nexport type AngularPageRequestInput<\n\tPage = { factory: (props: Record<never, never>) => unknown }\n> = AngularPageRenderOptions & {\n\theadTag?: `<head>${string}</head>`;\n\tindexPath: string;\n\tpagePath: string;\n\tproviders?: ReadonlyArray<Provider | EnvironmentProviders>;\n\t/** The incoming request. When provided, its URL is forwarded to\n\t * Angular's `renderApplication`, so `LocationStrategy.path()` and\n\t * Angular Router both see the real URL instead of `/`. Without it,\n\t * Router-based pages can't match anything but the root route. */\n\trequest?: Request;\n} & (AngularPageHasOptionalProps<Page> extends true\n\t\t? { props?: NoInfer<AngularPagePropsOf<Page>> }\n\t\t: { props: NoInfer<AngularPagePropsOf<Page>> });\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isAngularComponent = (value: unknown): value is Type<unknown> =>\n\ttypeof value === 'function';\n\nconst resolvePageComponent = (pageModule: Record<string, unknown>) => {\n\tif (isAngularComponent(pageModule.default)) {\n\t\treturn pageModule.default;\n\t}\n\n\treturn Object.values(pageModule).find((value) => isAngularComponent(value));\n};\n\nlet compilerImportPromise: Promise<unknown> | null = null;\nconst ensureAngularCompiler = () => {\n\tif (!compilerImportPromise) {\n\t\tcompilerImportPromise = import('@angular/compiler');\n\t}\n\n\treturn compilerImportPromise;\n};\n\nconst readAngularPageModule = (value: unknown) =>\n\tisRecord(value) ? value : null;\n\nconst resolveAngularSsrOutDir = () =>\n\tprocess.env.ABSOLUTE_ANGULAR_SSR_OUTDIR ??\n\tjoin(tmpdir(), 'absolutejs', 'generated', 'angular-ssr');\n\nconst ensureAngularSsrNodeModules = async (outDir: string) => {\n\tconst outRoot = resolve(dirname(dirname(outDir)));\n\tconst nodeModulesLink = join(outRoot, 'node_modules');\n\tif (process.env.ABSOLUTE_ANGULAR_SSR_OUTDIR) {\n\t\treturn;\n\t}\n\tif (nodeModulesLink === resolve(process.cwd(), 'node_modules')) {\n\t\treturn;\n\t}\n\tif (await Bun.file(nodeModulesLink).exists()) {\n\t\treturn;\n\t}\n\n\tawait mkdir(outRoot, { recursive: true });\n\ttry {\n\t\tawait symlink(\n\t\t\tresolve(process.cwd(), 'node_modules'),\n\t\t\tnodeModulesLink,\n\t\t\t'dir'\n\t\t);\n\t} catch (error) {\n\t\tif (\n\t\t\t!(error instanceof Error) ||\n\t\t\t!('code' in error) ||\n\t\t\terror.code !== 'EEXIST'\n\t\t) {\n\t\t\tthrow error;\n\t\t}\n\t}\n};\n\nconst resolveRuntimeAngularModulePath = async (pagePath: string) => {\n\tif (!pagePath.endsWith('.ts')) {\n\t\treturn pagePath;\n\t}\n\n\tconst outDir = resolveAngularSsrOutDir();\n\tawait ensureAngularSsrNodeModules(outDir);\n\tconst { compileAngularFileJIT } = await import('../build/compileAngular');\n\tconst outputs = await compileAngularFileJIT(\n\t\tpagePath,\n\t\toutDir,\n\t\tprocess.cwd()\n\t);\n\tconst expectedFileName = basename(pagePath).replace(/\\.ts$/, '.js');\n\n\treturn (\n\t\toutputs.find((output) => output.endsWith(`/${expectedFileName}`)) ??\n\t\toutputs.find((output) => output.endsWith(`\\\\${expectedFileName}`)) ??\n\t\toutputs[0] ??\n\t\tpagePath\n\t);\n};\n\nexport const invalidateAngularSsrCache = () => {\n\tmarkSsrCacheDirty('angular');\n\tclearSelectorCache();\n};\n\nconst angularSsrContext = new AsyncLocalStorage<string>();\nsetSsrContextGetter(() => angularSsrContext.getStore());\n\nexport const handleAngularPageRequest = async <\n\tPage = { factory: (props: Record<never, never>) => unknown }\n>(\n\tinput: AngularPageRequestInput<Page>\n) => {\n\tconst requestId = `angular_${Date.now()}_${Math.random().toString(BASE_36_RADIX).substring(2, RANDOM_ID_END_INDEX)}`;\n\n\treturn angularSsrContext.run(requestId, async () => {\n\t\tawait ensureAngularCompiler();\n\n\t\tconst resolvedHeadTag = input.headTag ?? '<head></head>';\n\t\tconst resolvedIndexPath = input.indexPath;\n\t\tconst options = input;\n\t\tconst resolvedPagePath = input.pagePath;\n\t\tconst maybeProps = input.props;\n\t\tconst userProviders = input.providers;\n\t\tconst resolvedUrl = (() => {\n\t\t\tif (!input.request) return '/';\n\t\t\ttry {\n\t\t\t\tconst parsed = new URL(input.request.url);\n\t\t\t\treturn `${parsed.pathname}${parsed.search}`;\n\t\t\t} catch {\n\t\t\t\treturn '/';\n\t\t\t}\n\t\t})();\n\n\t\t// Cache props + headTag for HMR replay — strip query strings\n\t\t// so cache-busted HMR paths match the original manifest path.\n\t\tcacheRouteData(resolvedPagePath, {\n\t\t\theadTag: resolvedHeadTag,\n\t\t\tprops: maybeProps\n\t\t});\n\n\t\tif (isSsrCacheDirty('angular')) {\n\t\t\tclearSelectorCache();\n\t\t\tconst script = resolvedIndexPath\n\t\t\t\t? `<script>import(${JSON.stringify(resolvedIndexPath)});</script>`\n\t\t\t\t: '';\n\t\t\tconst html = `<!DOCTYPE html><html>${resolvedHeadTag}<body><${lastSelector}></${lastSelector}>${script}</body></html>`;\n\n\t\t\treturn new Response(html, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t\t});\n\t\t}\n\n\t\ttry {\n\t\t\tconst handlerCallsite =\n\t\t\t\toptions?.collectStreamingSlots === true\n\t\t\t\t\t? undefined\n\t\t\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\t\tconst renderPageResponse = async () => {\n\t\t\t\tconst baseDeps = await getAngularDeps();\n\t\t\t\tconst runtimePagePath =\n\t\t\t\t\tawait resolveRuntimeAngularModulePath(resolvedPagePath);\n\t\t\t\tconst importedPageModule: unknown = await import(\n\t\t\t\t\truntimePagePath\n\t\t\t\t);\n\t\t\t\tconst pageModule = readAngularPageModule(importedPageModule);\n\t\t\t\tif (!pageModule) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Invalid Angular page module: ${resolvedPagePath}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst PageComponent = resolvePageComponent(pageModule);\n\t\t\t\tif (!isAngularComponent(PageComponent)) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Angular page module must export an Angular component: ${resolvedPagePath}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst hasIslands =\n\t\t\t\t\ttypeof pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__ ===\n\t\t\t\t\t'boolean'\n\t\t\t\t\t\t? pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__\n\t\t\t\t\t\t: false;\n\n\t\t\t\tconst ssrResult = await loadSsrDeps(runtimePagePath);\n\t\t\t\tconst deps = buildDeps(ssrResult, baseDeps);\n\n\t\t\t\tconst tokenMap = discoverTokens(pageModule);\n\t\t\t\tconst selector = resolveSelector(\n\t\t\t\t\tdeps,\n\t\t\t\t\tresolvedPagePath,\n\t\t\t\t\tPageComponent\n\t\t\t\t);\n\t\t\t\tlastSelector = selector;\n\n\t\t\t\tconst htmlString = `<!DOCTYPE html><html>${resolvedHeadTag}<body><${selector}></${selector}></body></html>`;\n\n\t\t\t\tif (ssrResult?.core) resetSsrSanitizer();\n\t\t\t\tconst sanitizer = getSsrSanitizer(deps);\n\t\t\t\tconst providers = buildProviders(\n\t\t\t\t\tdeps,\n\t\t\t\t\tsanitizer,\n\t\t\t\t\tmaybeProps,\n\t\t\t\t\ttokenMap,\n\t\t\t\t\tuserProviders\n\t\t\t\t);\n\n\t\t\t\tconst rawHtml: string = await renderAngularApp(\n\t\t\t\t\tdeps,\n\t\t\t\t\tPageComponent,\n\t\t\t\t\tproviders,\n\t\t\t\t\thtmlString,\n\t\t\t\t\tresolvedUrl\n\t\t\t\t);\n\t\t\t\tconst shouldProcessIslands =\n\t\t\t\t\thasIslands || rawHtml.includes('<absolute-island');\n\t\t\t\tconst htmlWithLoweredIslands = shouldProcessIslands\n\t\t\t\t\t? await lowerAngularServerIslands(rawHtml)\n\t\t\t\t\t: rawHtml;\n\n\t\t\t\tconst html = injectIslandPageContext(\n\t\t\t\t\tinjectSsrScripts(\n\t\t\t\t\t\thtmlWithLoweredIslands,\n\t\t\t\t\t\trequestId,\n\t\t\t\t\t\tresolvedIndexPath,\n\t\t\t\t\t\tmaybeProps\n\t\t\t\t\t),\n\t\t\t\t\t{ hasIslands: shouldProcessIslands }\n\t\t\t\t);\n\n\t\t\t\treturn new Response(html, {\n\t\t\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t\t\t});\n\t\t\t};\n\n\t\t\treturn runWithStreamingSlotWarningScope(\n\t\t\t\t() =>\n\t\t\t\t\toptions?.collectStreamingSlots === true\n\t\t\t\t\t\t? withRegisteredStreamingSlots(\n\t\t\t\t\t\t\t\trenderPageResponse,\n\t\t\t\t\t\t\t\toptions\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: renderPageResponse(),\n\t\t\t\t{ handlerCallsite }\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tconsole.error('[SSR] Angular render error:', error);\n\n\t\t\tconst pageName = derivePageName(resolvedPagePath);\n\t\t\tconst conventionResponse = await renderConventionError(\n\t\t\t\t'angular',\n\t\t\t\tpageName,\n\t\t\t\terror\n\t\t\t);\n\t\t\tif (conventionResponse) return conventionResponse;\n\n\t\t\treturn new Response(ssrErrorPage('angular', error), {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t});\n\t\t}\n\t});\n};\n",
|
|
39
39
|
"import { BYTES_PER_KILOBYTE } from '../constants';\n\nconst BOOTSTRAP_MANIFEST_KEY = 'BootstrapClient';\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\t| Record<string, Record<string, unknown>>\n\t\t| undefined;\n}\n\nconst buildIslandsHeadMarkup = (manifest: Record<string, string>) => {\n\tconst manifestScript = `<script>window.__ABSOLUTE_MANIFEST__ = ${JSON.stringify(manifest)}</script>`;\n\tconst islandStateScript = `<script>window.__ABS_ISLAND_STATE__ = ${JSON.stringify(globalThis.__ABS_ISLAND_STATE__ ?? {})}</script>`;\n\tconst bootstrapPath = manifest[BOOTSTRAP_MANIFEST_KEY];\n\tconst bootstrapScript = bootstrapPath\n\t\t? `<script 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\nconst pipeStreamWithIslandMarkerDetection = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tmarkup: string\n) => {\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\t// Keep enough context to catch split markers and find the start tag.\n\tconst lookbehind = Math.max(ISLAND_MARKER.length, BYTES_PER_KILOBYTE);\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 markerIndex = pending.indexOf(ISLAND_MARKER);\n\t\tif (markerIndex >= 0) {\n\t\t\tconst tagStart = pending.lastIndexOf('<', markerIndex);\n\t\t\tconst injectAt = tagStart >= 0 ? tagStart : markerIndex;\n\t\t\tconst next = `${pending.slice(0, injectAt)}${markup}${pending.slice(injectAt)}`;\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 finishIslandMarkerStream = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string\n\t) => {\n\t\tconst finalPending = pending + decoder.decode();\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 consumeIslandChunk = 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 runIslandMarkerLoop = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>\n\t) => {\n\t\tconst consumeNextIslandChunk = async (\n\t\t\tinjected: boolean,\n\t\t\tpending: string\n\t\t) => {\n\t\t\tconst consumed = await consumeIslandChunk(\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 consumeNextIslandChunk(\n\t\t\t\tnextState.injected,\n\t\t\t\tnextState.pending\n\t\t\t);\n\t\t};\n\n\t\treturn consumeNextIslandChunk(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 { pending } = await runIslandMarkerLoop(\n\t\t\t\t\tcontroller,\n\t\t\t\t\treader\n\t\t\t\t);\n\t\t\t\tfinishIslandMarkerStream(controller, pending);\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\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\treturn pipeStreamWithHeadInjection(stream, markup);\n\t}\n\tif (options?.hasIslands === false) {\n\t\treturn stream;\n\t}\n\n\treturn pipeStreamWithIslandMarkerDetection(stream, markup);\n};\nexport const setCurrentIslandManifest = (manifest: Record<string, string>) => {\n\tglobalThis.__absoluteManifest = manifest;\n};\n",
|
|
40
40
|
"export const ssrErrorPage = (framework: string, error: unknown) => {\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\tconst message = error instanceof Error ? error.message : String(error);\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>\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\">Server Render Error</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\">A component threw during server-side rendering. Check the terminal for the full stack trace.</div>\n</div>\n</div>\n</body>\n</html>`;\n};\n",
|
|
41
41
|
"import { basename } from 'node:path';\nimport type { ConventionsMap } from '../../types/conventions';\nimport { toPascal } from './stringModifiers';\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();\nexport const resolveErrorConventionPath = (\n\tframework: keyof ConventionsMap,\n\tpageName: string\n) => {\n\tconst conventions = getMap()[framework];\n\tif (!conventions) return undefined;\n\n\treturn conventions.pages?.[pageName]?.error ?? 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 = () => process.env.NODE_ENV === 'development';\n\nconst buildErrorProps = (error: unknown) => {\n\tconst message = error instanceof Error ? error.message : String(error);\n\tconst stack = isDev() && error instanceof Error ? error.stack : undefined;\n\n\treturn { error: { message, stack } };\n};\n\nconst renderReactError = async (\n\tconventionPath: string,\n\terrorProps: ReturnType<typeof buildErrorProps>\n) => {\n\tconst { createElement } = await import('react');\n\tconst { renderToReadableStream } = await import('react-dom/server');\n\tconst mod = await import(conventionPath);\n\tconst [firstKey] = Object.keys(mod);\n\tconst ErrorComponent =\n\t\tmod.default ?? (firstKey ? mod[firstKey] : undefined);\n\tconst element = createElement(ErrorComponent, errorProps);\n\tconst stream = await renderToReadableStream(element);\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: ReturnType<typeof buildErrorProps>\n) => {\n\tconst { render } = await import('svelte/server');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tconst { head, body } = render(ErrorComponent, {\n\t\tprops: errorProps\n\t});\n\tconst html = `<!DOCTYPE html><html><head>${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>${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: ReturnType<typeof buildErrorProps>\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\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: ReturnType<typeof buildErrorProps>\n) => {\n\t// Angular error pages are rendered as plain HTML templates\n\t// since the full Angular SSR pipeline is too heavy for error pages\n\tconst mod = await import(conventionPath);\n\tconst renderError = mod.default ?? mod.renderError;\n\tif (typeof renderError !== 'function') return null;\n\n\tconst html = renderError(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\nconst ERROR_RENDERERS: Record<\n\tkeyof ConventionsMap,\n\t(\n\t\tconventionPath: string,\n\t\terrorProps: ReturnType<typeof buildErrorProps>\n\t) => Promise<Response | null>\n> = {\n\tangular: renderAngularError,\n\treact: renderReactError,\n\tsvelte: renderSvelteError,\n\tvue: renderVueError\n};\n\nexport const renderConventionError = async (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\terror: unknown\n) => {\n\tconst conventionPath = resolveErrorConventionPath(framework, pageName);\n\tif (!conventionPath) return null;\n\n\tconst errorProps = buildErrorProps(error);\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\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 [nfKey] = Object.keys(mod);\n\tconst NotFoundComponent = mod.default ?? (nfKey ? mod[nfKey] : undefined);\n\tconst element = createElement(NotFoundComponent);\n\tconst stream = await renderToReadableStream(element);\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\tconst { head, body } = render(NotFoundComponent);\n\tconst html = `<!DOCTYPE html><html><head>${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\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 renderNotFound = mod.default ?? mod.renderNotFound;\n\tif (typeof renderNotFound !== 'function') return null;\n\n\tconst html = renderNotFound();\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\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];\n\nexport const renderFirstNotFound = async () => {\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(NOT_FOUND_PRIORITY);\n};\n",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"import {\n\tappendStreamingSlotPatchesToStream,\n\ttype AppendStreamingSlotsOptions,\n\ttype StreamingSlotPolicy,\n\ttype StreamingSlot\n} from '../utils/streamingSlots';\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\treturn new Response(body, {\n\t\theaders: cloneHeaders(response),\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\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\n\treturn withStreamingSlots(result, {\n\t\t...options,\n\t\tstreamingSlots: mergeStreamingSlots(slots, explicit)\n\t});\n};\n",
|
|
45
45
|
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { logWarn } from '../utils/logger';\nimport { setStreamingSlotWarningController } from './streamingSlotRegistrar';\n\ntype WarningStore = {\n\thandlerCallsite?: string;\n\thasWarned: boolean;\n};\n\ntype WarningStorage = AsyncLocalStorage<WarningStore>;\n\nconst STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotWarningAsyncLocalStorage'\n);\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isAsyncLocalStorage = (value: unknown): value is WarningStorage =>\n\tisObjectRecord(value) &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst getWarningStorage = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') {\n\t\treturn undefined;\n\t}\n\n\treturn isAsyncLocalStorage(value) ? value : undefined;\n};\n\nconst ensureWarningStorage = () => {\n\tconst existing = getWarningStorage();\n\tif (existing) {\n\t\treturn existing;\n\t}\n\n\tconst storage = new AsyncLocalStorage<WarningStore>();\n\tReflect.set(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY, storage);\n\n\treturn storage;\n};\n\nconst normalizeCallsitePath = (value: string) =>\n\tvalue\n\t\t.replace(`${process.cwd()}/`, '')\n\t\t.replace(process.cwd(), '')\n\t\t.replace(/^\\.\\/+/, '');\n\nconst formatWarningCallsite = (callsite: string) => {\n\tconst match = callsite.match(/^(.*?)(:\\d+:\\d+)$/);\n\tif (!match) {\n\t\treturn `\\x1b[36m${callsite}\\x1b[0m`;\n\t}\n\n\treturn `\\x1b[36m${match[1]}\\x1b[33m${match[2]}\\x1b[0m`;\n};\n\nconst shouldIgnoreWarningFrame = (frame: string) =>\n\tframe.includes('/node_modules/') ||\n\tframe.includes('/dist/') ||\n\tframe.includes('/src/react/pageHandler.') ||\n\tframe.includes('/src/vue/pageHandler.') ||\n\tframe.includes('/src/svelte/pageHandler.') ||\n\tframe.includes('/src/angular/pageHandler.') ||\n\tframe.includes('/src/core/streamingSlotWarningScope.');\n\nconst getWarningLocation = (frame: string) =>\n\tframe.match(/\\((\\/[^)]+:\\d+:\\d+)\\)$/)?.[1] ??\n\tframe.match(/at (\\/[^ ]+:\\d+:\\d+)$/)?.[1];\n\nconst extractCallsiteFromStack = (stack: string) => {\n\tconst location = stack\n\t\t.split('\\n')\n\t\t.slice(1)\n\t\t.map((line) => line.trim())\n\t\t.filter((frame) => !shouldIgnoreWarningFrame(frame))\n\t\t.map((frame) => getWarningLocation(frame))\n\t\t.find((frameLocation) => frameLocation !== undefined);\n\n\treturn location ? normalizeCallsitePath(location) : undefined;\n};\n\nconst buildMissingCollectorWarning = (\n\tprimitiveName: string,\n\thandlerCallsite?: string\n) =>\n\t`${primitiveName} rendered during SSR without streaming slot collection enabled. Add { collectStreamingSlots: true } to this page handler to enable out-of-order streaming for this route.${handlerCallsite ? ` Update ${formatWarningCallsite(handlerCallsite)}.` : ''}`;\n\nsetStreamingSlotWarningController({\n\tmaybeWarn: (primitiveName: string) => {\n\t\tconst store = getWarningStorage()?.getStore();\n\t\tif (!store || store.hasWarned) {\n\t\t\treturn;\n\t\t}\n\n\t\tstore.hasWarned = true;\n\t\tlogWarn(\n\t\t\tbuildMissingCollectorWarning(primitiveName, store.handlerCallsite)\n\t\t);\n\t}\n});\n\nexport const captureStreamingSlotWarningCallsite = () => {\n\tif (process.env.NODE_ENV === 'production') {\n\t\treturn undefined;\n\t}\n\n\tconst { stack } = new Error();\n\tif (!stack) {\n\t\treturn undefined;\n\t}\n\n\treturn extractCallsiteFromStack(stack);\n};\n\nexport const runWithStreamingSlotWarningScope = <T>(\n\ttask: () => Promise<T> | T,\n\tmetadata?: {\n\t\thandlerCallsite?: string;\n\t}\n) =>\n\tensureWarningStorage().run(\n\t\t{ handlerCallsite: metadata?.handlerCallsite, hasWarned: false },\n\t\ttask\n\t);\n"
|
|
46
46
|
],
|
|
47
|
-
"mappings": "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",
|
|
48
|
-
"debugId": "
|
|
47
|
+
"mappings": "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",
|
|
48
|
+
"debugId": "A711B02EC18980AE64756E2164756E21",
|
|
49
49
|
"names": []
|
|
50
50
|
}
|