@absolutejs/absolute 0.19.0-beta.950 → 0.19.0-beta.951

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.
Files changed (39) hide show
  1. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  2. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  3. package/dist/angular/index.js +11 -7
  4. package/dist/angular/index.js.map +4 -4
  5. package/dist/angular/server.js +11 -7
  6. package/dist/angular/server.js.map +4 -4
  7. package/dist/build.js +1235 -717
  8. package/dist/build.js.map +21 -19
  9. package/dist/cli/index.js +159 -92
  10. package/dist/index.js +1330 -794
  11. package/dist/index.js.map +26 -24
  12. package/dist/islands/index.js +5 -5
  13. package/dist/islands/index.js.map +3 -3
  14. package/dist/react/components/browser/index.js +17 -2
  15. package/dist/react/components/index.js +19 -3
  16. package/dist/react/components/index.js.map +5 -4
  17. package/dist/react/index.js +9 -5
  18. package/dist/react/index.js.map +3 -3
  19. package/dist/react/server.js +5 -1
  20. package/dist/react/server.js.map +2 -2
  21. package/dist/src/build/chainInlineSourcemaps.d.ts +13 -0
  22. package/dist/src/build/externalAssetPlugin.d.ts +2 -0
  23. package/dist/src/core/prepare.d.ts +11 -2
  24. package/dist/src/dev/clientManager.d.ts +1 -0
  25. package/dist/src/dev/serverEntryWatcher.d.ts +1 -0
  26. package/dist/src/react/components/Head.d.ts +1 -1
  27. package/dist/src/utils/generateHeadElement.d.ts +1 -1
  28. package/dist/src/utils/jsonLd.d.ts +1 -0
  29. package/dist/svelte/index.js +9 -5
  30. package/dist/svelte/index.js.map +3 -3
  31. package/dist/svelte/server.js +9 -5
  32. package/dist/svelte/server.js.map +3 -3
  33. package/dist/types/globals.d.ts +1 -4
  34. package/dist/types/metadata.d.ts +2 -0
  35. package/dist/vue/index.js +9 -5
  36. package/dist/vue/index.js.map +4 -4
  37. package/dist/vue/server.js +5 -1
  38. package/dist/vue/server.js.map +3 -3
  39. package/package.json +17 -1
@@ -19,7 +19,7 @@
19
19
  "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",
20
20
  "import { BASE_36_RADIX } from '../constants';\n\nconst ISLAND_TAG_RE = /<Island\\b([\\s\\S]*?)\\/>/g;\n\nconst extractBracedExpression = (text: string, braceStart: number) => {\n\tlet depth = 0;\n\tfor (let index = braceStart; index < text.length; index += 1) {\n\t\tconst char = text[index];\n\t\tif (char === '{') depth += 1;\n\t\tif (char === '}') depth -= 1;\n\t\tif (depth === 0) {\n\t\t\treturn text.slice(braceStart + 1, index).trim();\n\t\t}\n\t}\n\n\treturn null;\n};\n\nconst extractIslandAttribute = (attributeString: string, name: string) => {\n\tconst quotedMatch = attributeString.match(\n\t\tnew RegExp(`\\\\b${name}\\\\s*=\\\\s*[\"']([^\"']+)[\"']`)\n\t);\n\tif (quotedMatch?.[1]) {\n\t\treturn { expression: JSON.stringify(quotedMatch[1]), found: true };\n\t}\n\n\tconst attributeIndex = attributeString.search(\n\t\tnew RegExp(`\\\\b${name}\\\\s*=\\\\s*\\\\{`)\n\t);\n\tif (attributeIndex < 0) {\n\t\treturn { expression: '', found: false };\n\t}\n\n\tconst braceStart = attributeString.indexOf('{', attributeIndex);\n\tif (braceStart < 0) {\n\t\treturn { expression: '', found: false };\n\t}\n\n\tconst expression = extractBracedExpression(attributeString, braceStart);\n\tif (expression === null) {\n\t\treturn { expression: '', found: false };\n\t}\n\n\treturn { expression, found: true };\n};\n\nexport const lowerSvelteIslandSyntax = (\n\tsource: string,\n\t_mode: 'server' | 'client' = 'server'\n) => {\n\tif (!source.includes('<Island')) {\n\t\treturn { code: source, transformed: false };\n\t}\n\n\tlet islandIndex = 0;\n\tconst transformedMarkup = source.replace(\n\t\tISLAND_TAG_RE,\n\t\t(fullMatch, attributeString: string) => {\n\t\t\tconst framework = extractIslandAttribute(\n\t\t\t\tattributeString,\n\t\t\t\t'framework'\n\t\t\t);\n\t\t\tconst component = extractIslandAttribute(\n\t\t\t\tattributeString,\n\t\t\t\t'component'\n\t\t\t);\n\t\t\tif (!framework.found || !component.found) {\n\t\t\t\treturn fullMatch;\n\t\t\t}\n\n\t\t\tconst hydrate = extractIslandAttribute(attributeString, 'hydrate');\n\t\t\tconst props = extractIslandAttribute(attributeString, 'props');\n\t\t\tconst slotId = `absolute-svelte-island-${islandIndex.toString(BASE_36_RADIX)}`;\n\t\t\tislandIndex += 1;\n\n\t\t\tconst resolveExpression = `await __absoluteResolveIslandHtml(${JSON.stringify(\n\t\t\t\tslotId\n\t\t\t)}, { component: ${component.expression}, framework: ${framework.expression}, hydrate: ${\n\t\t\t\thydrate.found ? hydrate.expression : JSON.stringify('load')\n\t\t\t}, props: ${props.found ? props.expression : '{}'} })`;\n\n\t\t\treturn `<div data-absolute-island-slot=\"${slotId}\" style=\"display: contents\">{@html ${resolveExpression}}</div>`;\n\t\t}\n\t);\n\n\tconst importLine =\n\t\t'import { resolveIslandHtml as __absoluteResolveIslandHtml } from \"@absolutejs/absolute/svelte\";';\n\n\tif (transformedMarkup.includes('<script')) {\n\t\treturn {\n\t\t\tcode: transformedMarkup.replace(\n\t\t\t\t/<script(\\s[^>]*)?>/,\n\t\t\t\t(match) => `${match}\\n${importLine}\\n`\n\t\t\t),\n\t\t\ttransformed: true\n\t\t};\n\t}\n\n\treturn {\n\t\tcode: `<script lang=\"ts\">\\n${importLine}\\n</script>\\n${transformedMarkup}`,\n\t\ttransformed: true\n\t};\n};\n",
21
21
  "import { BASE_36_RADIX } from '../constants';\n\nconst AWAIT_BLOCK_RE =\n\t/\\{#await\\s+([^}]+)\\}([\\s\\S]*?)\\{:then(?:\\s+([A-Za-z_$][\\w$]*))?\\}([\\s\\S]*?)(?:\\{:catch(?:\\s+([A-Za-z_$][\\w$]*))?\\}([\\s\\S]*?))?\\{\\/await\\}/g;\n\nconst escapeTemplateLiteral = (value: string) =>\n\tvalue\n\t\t.replaceAll('\\\\', '\\\\\\\\')\n\t\t.replaceAll('`', '\\\\`')\n\t\t.replaceAll('${', '\\\\${');\n\nconst markupToTemplateLiteral = (markup: string) => {\n\tconst escaped = escapeTemplateLiteral(markup.trim());\n\tconst withExpressions = escaped.replace(\n\t\t/\\{([^{}]+)\\}/g,\n\t\t(_, expression) => `\\${${String(expression).trim()}}`\n\t);\n\n\treturn `\\`${withExpressions}\\``;\n};\n\nexport const lowerSvelteAwaitSlotSyntax = (source: string) => {\n\tif (!source.includes('{#await')) {\n\t\treturn { code: source, transformed: false };\n\t}\n\n\tlet awaitIndex = 0;\n\tlet transformed = false;\n\tconst lowered = source.replace(\n\t\tAWAIT_BLOCK_RE,\n\t\t(\n\t\t\tfullMatch,\n\t\t\tawaitExpression: string,\n\t\t\tpendingMarkup: string,\n\t\t\tthenIdentifier: string | undefined,\n\t\t\tthenMarkup: string,\n\t\t\tcatchIdentifier: string | undefined,\n\t\t\tcatchMarkup: string | undefined\n\t\t) => {\n\t\t\tconst trimmedAwaitExpression = awaitExpression.trim();\n\t\t\tif (!trimmedAwaitExpression) {\n\t\t\t\treturn fullMatch;\n\t\t\t}\n\n\t\t\tconst slotId = `absolute-svelte-await-${awaitIndex.toString(BASE_36_RADIX)}`;\n\t\t\tawaitIndex += 1;\n\t\t\ttransformed = true;\n\n\t\t\tconst thenValueIdentifier =\n\t\t\t\tthenIdentifier?.trim() || '__awaitValue';\n\t\t\tconst catchValueIdentifier =\n\t\t\t\tcatchIdentifier?.trim() || '__awaitError';\n\t\t\tconst fallbackHtml = markupToTemplateLiteral(pendingMarkup);\n\t\t\tconst resolvedHtml = markupToTemplateLiteral(thenMarkup);\n\t\t\tconst rejectedHtml =\n\t\t\t\ttypeof catchMarkup === 'string'\n\t\t\t\t\t? markupToTemplateLiteral(catchMarkup)\n\t\t\t\t\t: null;\n\t\t\tconst catchBranch = rejectedHtml\n\t\t\t\t? `catch (${catchValueIdentifier}) { return ${rejectedHtml}; }`\n\t\t\t\t: 'catch (_absoluteAwaitError) { throw _absoluteAwaitError; }';\n\n\t\t\treturn `<AbsoluteAwaitSlot id=\"${slotId}\" fallbackHtml={${fallbackHtml}} resolve={async () => { try { const ${thenValueIdentifier} = await (${trimmedAwaitExpression}); return ${resolvedHtml}; } ${catchBranch} }} />`;\n\t\t}\n\t);\n\n\tif (!transformed) {\n\t\treturn { code: source, transformed: false };\n\t}\n\n\tconst importLine =\n\t\t'import AbsoluteAwaitSlot from \"@absolutejs/absolute/svelte/components/AwaitSlot.svelte\";';\n\n\tif (lowered.includes('<script')) {\n\t\treturn {\n\t\t\tcode: lowered.replace(\n\t\t\t\t/<script(\\s[^>]*)?>/,\n\t\t\t\t(match) => `${match}\\n${importLine}\\n`\n\t\t\t),\n\t\t\ttransformed: true\n\t\t};\n\t}\n\n\treturn {\n\t\tcode: `<script lang=\"ts\">\\n${importLine}\\n</script>\\n${lowered}`,\n\t\ttransformed: true\n\t};\n};\n",
22
- "import { createHash } from 'node:crypto';\nimport { existsSync, readFileSync } from 'node:fs';\nimport { readFile } from 'node:fs/promises';\nimport { createRequire } from 'node:module';\nimport {\n\tdirname,\n\textname,\n\tisAbsolute,\n\tjoin,\n\trelative,\n\tresolve\n} from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport type { BunPlugin } from 'bun';\nimport type {\n\tLessPreprocessorOptions,\n\tPostCSSConfig,\n\tSassPreprocessorOptions,\n\tStylePreprocessorConfig,\n\tStylusPreprocessorOptions\n} from '../../types/build';\n\nconst CSS_EXTENSION_PATTERN = /\\.css$/i;\nconst STYLE_EXTENSION_PATTERN = /\\.(s[ac]ss|less|styl(?:us)?)$/i;\nconst STYLE_MODULE_EXTENSION_PATTERN = /\\.module\\.(s[ac]ss|less|styl(?:us)?)$/i;\nconst STYLE_LANGUAGE_PATTERN = /^(s[ac]ss|less|styl(?:us)?)$/i;\nconst importOptionalPeer = new Function(\n\t'specifier',\n\t'return import(specifier)'\n) as <T>(specifier: string) => Promise<T>;\nconst requireOptionalPeer = new Function(\n\t'specifier',\n\t'return require(specifier)'\n) as <T>(specifier: string) => T;\nconst requireFromCwd = createRequire(join(process.cwd(), 'package.json'));\n\nexport const isPreprocessableStylePath = (filePath: string) =>\n\tSTYLE_EXTENSION_PATTERN.test(filePath);\n\nexport const isStyleModulePath = (filePath: string) =>\n\tSTYLE_MODULE_EXTENSION_PATTERN.test(filePath);\n\nexport const isStylePath = (filePath: string) =>\n\t/\\.(css|s[ac]ss|less|styl(?:us)?)$/i.test(filePath);\n\nexport const getStyleBaseName = (filePath: string) =>\n\tfilePath.replace(/\\.(css|s[ac]ss|less|styl(?:us)?)$/i, '');\n\nconst getStyleLanguage = (filePathOrLanguage: string) => {\n\tconst normalized = filePathOrLanguage.toLowerCase();\n\tif (normalized === 'scss' || normalized.endsWith('.scss')) return 'scss';\n\tif (normalized === 'sass' || normalized.endsWith('.sass')) return 'sass';\n\tif (normalized === 'less' || normalized.endsWith('.less')) return 'less';\n\tif (\n\t\tnormalized === 'styl' ||\n\t\tnormalized === 'stylus' ||\n\t\tnormalized.endsWith('.styl') ||\n\t\tnormalized.endsWith('.stylus')\n\t)\n\t\treturn 'stylus';\n\n\treturn null;\n};\n\nconst missingDependencyError = (name: string, filePath: string) =>\n\tnew Error(\n\t\t`Unable to compile ${filePath}: install optional dependency \"${name}\" to use this stylesheet preprocessor.`\n\t);\n\n/* Re-throw a preprocessor error with the filename + a one-line summary\n prefixed so the dev server's `[hmr] error` log doesn't print\n `Server error: undefined`. Sass / Less / Stylus all attach useful\n metadata (line, column, snippet) to their errors but the property\n names differ — we surface whatever's available. */\nconst throwPreprocessorError = (\n\terror: unknown,\n\tfilePath: string,\n\tlanguage: StyleLanguage\n): never => {\n\tif (!(error instanceof Error)) {\n\t\tthrow new Error(\n\t\t\t`${language} compile failed in ${filePath}: ${String(error)}`\n\t\t);\n\t}\n\n\tconst detail = error as Error & {\n\t\tline?: number;\n\t\tcolumn?: number;\n\t\textract?: string[];\n\t\tformatted?: string;\n\t\tspan?: { start?: { line?: number; column?: number } };\n\t};\n\tconst sassLine = detail.span?.start?.line;\n\tconst sassCol = detail.span?.start?.column;\n\tconst line = detail.line ?? sassLine;\n\tconst column = detail.column ?? sassCol;\n\tconst location =\n\t\ttypeof line === 'number'\n\t\t\t? `:${line}${typeof column === 'number' ? `:${column}` : ''}`\n\t\t\t: '';\n\tconst message = detail.formatted ?? detail.message;\n\tconst wrapped = new Error(\n\t\t`${language} compile failed in ${filePath}${location}\\n${message}`\n\t);\n\twrapped.cause = error;\n\tthrow wrapped;\n};\n\nconst requireOptionalPeerSync = <T>(specifier: string) => {\n\ttry {\n\t\treturn requireFromCwd(specifier) as T;\n\t} catch {\n\t\treturn requireOptionalPeer<T>(specifier);\n\t}\n};\n\nconst normalizeLoadPaths = (filePath: string, paths: string[] = []) => [\n\tdirname(filePath),\n\tprocess.cwd(),\n\t...paths.map((path) => resolve(process.cwd(), path))\n];\n\ntype StyleLanguage = NonNullable<ReturnType<typeof getStyleLanguage>>;\n\ntype AliasEntry = {\n\tpattern: string;\n\treplacements: string[];\n};\n\nlet tsconfigAliasCache:\n\t| { cwd: string; aliases: AliasEntry[]; baseUrl: string }\n\t| undefined;\n\nconst stripJsonComments = (source: string) =>\n\tsource.replace(/\\/\\*[\\s\\S]*?\\*\\//g, '').replace(/(^|[^:])\\/\\/.*$/gm, '$1');\n\nconst normalizeAliasEntries = (\n\taliases: Record<string, string | string[]> | undefined\n) =>\n\tObject.entries(aliases ?? {}).map(([pattern, value]) => ({\n\t\tpattern,\n\t\treplacements: Array.isArray(value) ? value : [value]\n\t}));\n\nconst readTsconfigAliases = () => {\n\tconst cwd = process.cwd();\n\tif (tsconfigAliasCache?.cwd === cwd) return tsconfigAliasCache;\n\n\tconst tsconfigPath = resolve(cwd, 'tsconfig.json');\n\tconst empty = { aliases: [], baseUrl: cwd, cwd };\n\tif (!existsSync(tsconfigPath)) {\n\t\ttsconfigAliasCache = empty;\n\t\treturn empty;\n\t}\n\n\ttry {\n\t\tconst parsed = JSON.parse(\n\t\t\tstripJsonComments(readFileSync(tsconfigPath, 'utf-8'))\n\t\t);\n\t\tconst compilerOptions = parsed.compilerOptions ?? {};\n\t\tconst baseUrl = resolve(cwd, compilerOptions.baseUrl ?? '.');\n\t\ttsconfigAliasCache = {\n\t\t\taliases: normalizeAliasEntries(compilerOptions.paths),\n\t\t\tbaseUrl,\n\t\t\tcwd\n\t\t};\n\t} catch {\n\t\ttsconfigAliasCache = empty;\n\t}\n\n\treturn tsconfigAliasCache;\n};\n\nconst getAliasEntries = (config: StylePreprocessorConfig | undefined) => {\n\tconst tsconfig = readTsconfigAliases();\n\treturn {\n\t\taliases: [\n\t\t\t...normalizeAliasEntries(config?.aliases),\n\t\t\t...tsconfig.aliases\n\t\t],\n\t\tbaseUrl: tsconfig.baseUrl\n\t};\n};\n\nconst aliasPatternToRegExp = (pattern: string) =>\n\tnew RegExp(\n\t\t`^${pattern\n\t\t\t.split('*')\n\t\t\t.map((part) => part.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'))\n\t\t\t.join('(.+)')}$`\n\t);\n\nconst resolveAliasTargets = (\n\tspecifier: string,\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst { aliases, baseUrl } = getAliasEntries(config);\n\tconst targets: string[] = [];\n\n\tfor (const alias of aliases) {\n\t\tconst match = specifier.match(aliasPatternToRegExp(alias.pattern));\n\t\tif (!match) continue;\n\t\tconst wildcard = match[1] ?? '';\n\t\tfor (const replacement of alias.replacements) {\n\t\t\ttargets.push(resolve(baseUrl, replacement.replace('*', wildcard)));\n\t\t}\n\t}\n\n\treturn targets;\n};\n\nconst getLanguageExtensions = (language: StyleLanguage) => {\n\tif (language === 'less') return ['.less', '.css'];\n\tif (language === 'stylus') return ['.styl', '.stylus', '.css'];\n\treturn ['.scss', '.sass', '.css'];\n};\n\nconst getCandidatePaths = (basePath: string, language: StyleLanguage) => {\n\tconst ext = extname(basePath);\n\tconst paths = ext\n\t\t? [basePath]\n\t\t: getLanguageExtensions(language).flatMap((extension) => [\n\t\t\t\t`${basePath}${extension}`,\n\t\t\t\tjoin(basePath, `index${extension}`)\n\t\t\t]);\n\n\tif (language === 'scss' || language === 'sass') {\n\t\treturn paths.flatMap((path) => {\n\t\t\tconst dir = dirname(path);\n\t\t\tconst base = path.slice(dir.length + 1);\n\t\t\treturn [path, join(dir, `_${base}`)];\n\t\t});\n\t}\n\n\treturn paths;\n};\n\nconst resolveImportPath = (\n\tspecifier: string,\n\tfromDirectory: string,\n\tloadPaths: string[],\n\tlanguage: StyleLanguage,\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst rawCandidates = [\n\t\t...resolveAliasTargets(specifier, config),\n\t\tisAbsolute(specifier) ? specifier : resolve(fromDirectory, specifier),\n\t\t...loadPaths.map((path) => resolve(path, specifier))\n\t];\n\n\tfor (const candidate of rawCandidates.flatMap((path) =>\n\t\tgetCandidatePaths(path, language)\n\t)) {\n\t\tif (existsSync(candidate)) return candidate;\n\t}\n\n\treturn null;\n};\n\nconst isExternalCssUrl = (url: string) =>\n\t/^(?:[a-z][a-z0-9+.-]*:|\\/\\/|#|\\/)/i.test(url);\n\nconst splitCssUrl = (url: string) => {\n\tconst markerIndex = url.search(/[?#]/);\n\tif (markerIndex === -1) return { marker: '', path: url };\n\treturn {\n\t\tmarker: url.slice(markerIndex),\n\t\tpath: url.slice(0, markerIndex)\n\t};\n};\n\nconst rebaseCssUrls = (\n\tcontents: string,\n\tsourceFile: string,\n\tentryFile: string\n) => {\n\tconst sourceDir = dirname(sourceFile);\n\tconst entryDir = dirname(entryFile);\n\tif (sourceDir === entryDir) return contents;\n\n\treturn contents.replace(\n\t\t/url\\(\\s*(['\"]?)([^'\")]+)\\1\\s*\\)/gi,\n\t\t(match, quote: string, rawUrl: string) => {\n\t\t\tconst trimmedUrl = rawUrl.trim();\n\t\t\tif (!trimmedUrl || isExternalCssUrl(trimmedUrl)) return match;\n\t\t\tconst { marker, path } = splitCssUrl(trimmedUrl);\n\t\t\tconst rebased = relative(\n\t\t\t\tentryDir,\n\t\t\t\tresolve(sourceDir, path)\n\t\t\t).replace(/\\\\/g, '/');\n\t\t\tconst normalized = rebased.startsWith('.')\n\t\t\t\t? rebased\n\t\t\t\t: `./${rebased}`;\n\t\t\tconst nextQuote = quote || '\"';\n\t\t\treturn `url(${nextQuote}${normalized}${marker}${nextQuote})`;\n\t\t}\n\t);\n};\n\nconst rewriteAliasedStyleImports = (\n\tcontents: string,\n\tsourceFile: string,\n\tloadPaths: string[],\n\tlanguage: StyleLanguage,\n\tconfig: StylePreprocessorConfig | undefined\n) =>\n\tcontents.replace(\n\t\t/(@(?:use|forward|import|require)\\s+)([\"'])([^\"']+)\\2/g,\n\t\t(match, prefix: string, quote: string, specifier: string) => {\n\t\t\tif (\n\t\t\t\tspecifier.startsWith('.') ||\n\t\t\t\tisAbsolute(specifier) ||\n\t\t\t\tisExternalCssUrl(specifier)\n\t\t\t)\n\t\t\t\treturn match;\n\n\t\t\tconst resolved = resolveImportPath(\n\t\t\t\tspecifier,\n\t\t\t\tdirname(sourceFile),\n\t\t\t\tloadPaths,\n\t\t\t\tlanguage,\n\t\t\t\tconfig\n\t\t\t);\n\t\t\treturn resolved ? `${prefix}${quote}${resolved}${quote}` : match;\n\t\t}\n\t);\n\nconst preprocessLoadedStyle = (\n\tcontents: string,\n\tsourceFile: string,\n\tentryFile: string,\n\tloadPaths: string[] = [],\n\tlanguage?: StyleLanguage,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tconst rebased = rebaseCssUrls(contents, sourceFile, entryFile);\n\treturn language\n\t\t? rewriteAliasedStyleImports(\n\t\t\t\trebased,\n\t\t\t\tsourceFile,\n\t\t\t\tloadPaths,\n\t\t\t\tlanguage,\n\t\t\t\tconfig\n\t\t\t)\n\t\t: rebased;\n};\n\nconst extractCssModuleExports = (css: string) => {\n\tconst exports: Record<string, string> = {};\n\tconst nextCss = css.replace(/:export\\s*\\{([^}]*)\\}/g, (_, body: string) => {\n\t\tfor (const declaration of body.split(';')) {\n\t\t\tconst separator = declaration.indexOf(':');\n\t\t\tif (separator === -1) continue;\n\t\t\tconst key = declaration.slice(0, separator).trim();\n\t\t\tconst value = declaration.slice(separator + 1).trim();\n\t\t\tif (key && value) exports[key] = value;\n\t\t}\n\t\treturn '';\n\t});\n\n\treturn { css: nextCss, exports };\n};\n\nconst getSassOptions = (\n\tconfig: StylePreprocessorConfig | undefined,\n\tlanguage: 'sass' | 'scss'\n): SassPreprocessorOptions => ({\n\t...(config?.sass ?? {}),\n\t...(language === 'scss' ? (config?.scss ?? {}) : {})\n});\n\nconst getLessOptions = (\n\tconfig: StylePreprocessorConfig | undefined\n): LessPreprocessorOptions => config?.less ?? {};\n\nconst getStylusOptions = (\n\tconfig: StylePreprocessorConfig | undefined\n): StylusPreprocessorOptions => config?.stylus ?? {};\n\nexport const createStyleTransformConfig = (\n\tstylePreprocessors?: StylePreprocessorConfig,\n\tpostcss?: PostCSSConfig\n): StylePreprocessorConfig | undefined =>\n\tpostcss === undefined\n\t\t? stylePreprocessors\n\t\t: { ...(stylePreprocessors ?? {}), postcss };\n\nconst withAdditionalData = (\n\tcontents: string,\n\tadditionalData: string | undefined\n) => (additionalData ? `${additionalData}\\n${contents}` : contents);\n\ntype PostCSSRuntimeConfig = {\n\toptions?: Record<string, unknown>;\n\tplugins?: unknown[] | Record<string, unknown>;\n};\n\nconst normalizePostcssModule = (mod: unknown) => {\n\tif (mod && typeof mod === 'object' && 'default' in mod) {\n\t\treturn (mod as { default?: unknown }).default ?? mod;\n\t}\n\n\treturn mod;\n};\n\nconst loadPostcssConfigFile = async (\n\tconfigPath: string\n): Promise<PostCSSRuntimeConfig> => {\n\tconst resolved = resolve(process.cwd(), configPath);\n\tconst loaded =\n\t\tresolved.endsWith('.cjs') || resolved.endsWith('.cts')\n\t\t\t? requireOptionalPeerSync<unknown>(resolved)\n\t\t\t: await importOptionalPeer<unknown>(\n\t\t\t\t\t`${new URL(`file://${resolved}`).href}?t=${Date.now()}`\n\t\t\t\t);\n\tconst config = normalizePostcssModule(loaded);\n\tconst value =\n\t\ttypeof config === 'function'\n\t\t\t? await (\n\t\t\t\t\tconfig as (context: {\n\t\t\t\t\t\tcwd: string;\n\t\t\t\t\t\tenv?: string;\n\t\t\t\t\t}) => unknown\n\t\t\t\t)({\n\t\t\t\t\tcwd: process.cwd(),\n\t\t\t\t\tenv: process.env.NODE_ENV\n\t\t\t\t})\n\t\t\t: config;\n\n\treturn (normalizePostcssModule(value) ?? {}) as PostCSSRuntimeConfig;\n};\n\nconst normalizePostcssPlugins = (\n\tplugins: unknown[] | Record<string, unknown> | undefined\n) => {\n\tif (!plugins) return [];\n\tif (Array.isArray(plugins)) return plugins.filter(Boolean);\n\n\tconst resolved: unknown[] = [];\n\tfor (const [specifier, options] of Object.entries(plugins)) {\n\t\tif (options === false) continue;\n\t\tconst mod = normalizePostcssModule(\n\t\t\trequireOptionalPeerSync<unknown>(specifier)\n\t\t);\n\t\tconst plugin =\n\t\t\ttypeof mod === 'function'\n\t\t\t\t? (mod as (options?: unknown) => unknown)(\n\t\t\t\t\t\toptions === true ? undefined : options\n\t\t\t\t\t)\n\t\t\t\t: mod;\n\t\tif (plugin) resolved.push(plugin);\n\t}\n\n\treturn resolved;\n};\n\nconst resolvePostcssConfig = async (\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst inlineConfig = config?.postcss;\n\tif (!inlineConfig) return null;\n\n\tconst fileConfig = inlineConfig.config\n\t\t? await loadPostcssConfigFile(inlineConfig.config)\n\t\t: {};\n\tconst plugins = [\n\t\t...normalizePostcssPlugins(fileConfig.plugins),\n\t\t...normalizePostcssPlugins(inlineConfig.plugins)\n\t];\n\n\tif (plugins.length === 0) return null;\n\n\treturn {\n\t\toptions: {\n\t\t\t...(fileConfig.options ?? {}),\n\t\t\t...(inlineConfig.options ?? {})\n\t\t},\n\t\tplugins\n\t};\n};\n\nconst runPostcss = async (\n\tcss: string,\n\tfilePath: string,\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst postcssConfig = await resolvePostcssConfig(config);\n\tif (!postcssConfig) return css;\n\n\tlet postcssModule: typeof import('postcss') & {\n\t\tdefault?: typeof import('postcss');\n\t};\n\ttry {\n\t\tpostcssModule =\n\t\t\tawait importOptionalPeer<typeof postcssModule>('postcss');\n\t} catch {\n\t\tthrow missingDependencyError('postcss', filePath);\n\t}\n\tconst postcss = postcssModule.default ?? postcssModule;\n\tconst result = await postcss(\n\t\tpostcssConfig.plugins as import('postcss').AcceptedPlugin[]\n\t).process(css, {\n\t\tfrom: filePath,\n\t\tmap: false,\n\t\t...postcssConfig.options\n\t});\n\n\treturn result.css;\n};\n\nconst createSassImporter = (\n\tentryFile: string,\n\tloadPaths: string[],\n\tlanguage: 'sass' | 'scss',\n\tconfig: StylePreprocessorConfig | undefined,\n\tdeps?: Set<string>\n) => ({\n\tcanonicalize(specifier: string, options: { containingUrl?: URL | null }) {\n\t\tconst fromDirectory = options.containingUrl\n\t\t\t? dirname(fileURLToPath(options.containingUrl))\n\t\t\t: dirname(entryFile);\n\t\tconst resolved = resolveImportPath(\n\t\t\tspecifier,\n\t\t\tfromDirectory,\n\t\t\tloadPaths,\n\t\t\tlanguage,\n\t\t\tconfig\n\t\t);\n\t\treturn resolved ? new URL(`file://${resolved}`) : null;\n\t},\n\tload(canonicalUrl: URL) {\n\t\tconst filePath = fileURLToPath(canonicalUrl);\n\t\tdeps?.add(filePath);\n\t\tconst fileLanguage = getStyleLanguage(filePath);\n\t\tif (\n\t\t\tfileLanguage !== 'scss' &&\n\t\t\tfileLanguage !== 'sass' &&\n\t\t\tfileLanguage !== null\n\t\t)\n\t\t\treturn null;\n\n\t\treturn {\n\t\t\tcontents: preprocessLoadedStyle(\n\t\t\t\treadFileSync(filePath, 'utf-8'),\n\t\t\t\tfilePath,\n\t\t\t\tentryFile,\n\t\t\t\tloadPaths,\n\t\t\t\tlanguage,\n\t\t\t\tconfig\n\t\t\t),\n\t\t\tsyntax: filePath.endsWith('.sass')\n\t\t\t\t? ('indented' as const)\n\t\t\t\t: ('scss' as const)\n\t\t};\n\t}\n});\n\nconst createLessFileManager = (\n\tentryFile: string,\n\tloadPaths: string[],\n\tconfig: StylePreprocessorConfig | undefined,\n\tdeps?: Set<string>\n) => ({\n\tinstall(\n\t\tless: { FileManager: new () => Record<string, unknown> },\n\t\tpluginManager: { addFileManager(manager: unknown): void }\n\t) {\n\t\tconst baseManager = new less.FileManager();\n\t\tconst manager = Object.create(baseManager) as Record<string, unknown>;\n\t\tmanager.supports = (filename: string, currentDirectory: string) =>\n\t\t\tBoolean(\n\t\t\t\tresolveImportPath(\n\t\t\t\t\tfilename,\n\t\t\t\t\tresolve(currentDirectory),\n\t\t\t\t\tloadPaths,\n\t\t\t\t\t'less',\n\t\t\t\t\tconfig\n\t\t\t\t)\n\t\t\t);\n\t\tmanager.loadFile = async (\n\t\t\tfilename: string,\n\t\t\tcurrentDirectory: string\n\t\t) => {\n\t\t\tconst resolved = resolveImportPath(\n\t\t\t\tfilename,\n\t\t\t\tresolve(currentDirectory),\n\t\t\t\tloadPaths,\n\t\t\t\t'less',\n\t\t\t\tconfig\n\t\t\t);\n\t\t\tif (!resolved) {\n\t\t\t\tthrow new Error(`Unable to resolve Less import \"${filename}\"`);\n\t\t\t}\n\t\t\tdeps?.add(resolved);\n\n\t\t\treturn {\n\t\t\t\tcontents: preprocessLoadedStyle(\n\t\t\t\t\tawait readFile(resolved, 'utf-8'),\n\t\t\t\t\tresolved,\n\t\t\t\t\tentryFile,\n\t\t\t\t\tloadPaths,\n\t\t\t\t\t'less',\n\t\t\t\t\tconfig\n\t\t\t\t),\n\t\t\t\tfilename: resolved\n\t\t\t};\n\t\t};\n\t\tpluginManager.addFileManager(manager);\n\t}\n});\n\nconst renderStylus = async (\n\tcontents: string,\n\tfilePath: string,\n\tloadPaths: string[],\n\toptions: StylusPreprocessorOptions,\n\tdeps?: Set<string>\n) => {\n\tlet stylus: typeof import('stylus');\n\ttry {\n\t\tconst stylusModule = await importOptionalPeer<\n\t\t\ttypeof import('stylus') & { default?: typeof import('stylus') }\n\t\t>('stylus');\n\t\tstylus = stylusModule.default ?? stylusModule;\n\t} catch {\n\t\tthrow missingDependencyError('stylus', filePath);\n\t}\n\n\treturn new Promise<string>((resolveCss, reject) => {\n\t\tconst renderer = stylus(contents);\n\t\trenderer.set('filename', filePath);\n\t\tfor (const [key, value] of Object.entries(options.options ?? {})) {\n\t\t\trenderer.set(key, value);\n\t\t}\n\t\tfor (const path of loadPaths) renderer.include(path);\n\t\trenderer.render((error, css) => {\n\t\t\tif (error) {\n\t\t\t\treject(error);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Stylus exposes its dependency list after a successful render.\n\t\t\tif (deps) {\n\t\t\t\tconst stylusDeps = (\n\t\t\t\t\trenderer as unknown as { deps?: () => string[] }\n\t\t\t\t).deps?.();\n\t\t\t\tif (Array.isArray(stylusDeps)) {\n\t\t\t\t\tfor (const dep of stylusDeps) deps.add(resolve(dep));\n\t\t\t\t}\n\t\t\t}\n\t\t\tresolveCss(css ?? '');\n\t\t});\n\t});\n};\n\n/* Compile-time bookkeeping shared with the dev server.\n\n `styleDependencyGraph` maps every entry stylesheet (anything that ran\n through `compileStyleSource`) to the absolute paths of every partial\n it imported during that compile. The dev rebuild trigger reads this to\n know which entries to invalidate when a partial like `_tokens.scss`\n changes.\n\n `styleOutputHashes` records the SHA-1 of each entry's last-emitted CSS\n so callers can skip re-broadcasting / re-writing identical output. */\nconst styleDependencyGraph = new Map<string, Set<string>>();\nconst styleOutputHashes = new Map<string, string>();\n\nconst recordStyleDeps = (entry: string, deps: Set<string>) => {\n\tconst key = resolve(entry);\n\tconst stripped = new Set<string>();\n\tfor (const dep of deps) {\n\t\tconst resolved = resolve(dep);\n\t\tif (resolved !== key) stripped.add(resolved);\n\t}\n\tstyleDependencyGraph.set(key, stripped);\n};\n\n/* Record that a JS/TS/Vue/Svelte/etc. file imports a stylesheet (typically\n a `.module.scss` or other style import via JS). This is the JS-side dep\n tracking that complements the CSS-side `@import` graph: when the style\n file changes, the dev server uses `findStyleEntriesImporting` to find\n the JS file that imports it and queues that for rebuild. Without this,\n editing `Foo.module.scss` would only re-emit the CSS module's own\n compiled output without re-running the bundler against the importing\n component, so the new hashed class names never reach the bundle. */\nexport const addStyleImporter = (importerPath: string, stylePath: string) => {\n\tconst key = resolve(importerPath);\n\tconst target = resolve(stylePath);\n\tconst deps = styleDependencyGraph.get(key) ?? new Set<string>();\n\tdeps.add(target);\n\tstyleDependencyGraph.set(key, deps);\n};\n\n/* Files that import the given path. Used by the dev server to rebuild\n importers when a partial changes — there's no import-graph traversal,\n so callers should pass already-resolved absolute paths. */\nexport const findStyleEntriesImporting = (changedPath: string) => {\n\tconst target = resolve(changedPath);\n\tconst importers: string[] = [];\n\tfor (const [entry, deps] of styleDependencyGraph) {\n\t\tif (deps.has(target)) importers.push(entry);\n\t}\n\n\treturn importers;\n};\n\n/* Hash the just-emitted CSS for an entry; returns `true` only when the\n output actually differs from the previous compile. The dev path uses\n this to suppress style-update broadcasts on whitespace-only edits. */\nexport const recordStyleOutput = (entry: string, css: string) => {\n\tconst key = resolve(entry);\n\tconst hash = createHash('sha1').update(css).digest('hex');\n\tconst previous = styleOutputHashes.get(key);\n\tstyleOutputHashes.set(key, hash);\n\n\treturn previous !== hash;\n};\n\n/* Drop cached state for an entry — used when the file is deleted or the\n dev server is shutting down. */\nexport const forgetStyleEntry = (entry: string) => {\n\tconst key = resolve(entry);\n\tstyleDependencyGraph.delete(key);\n\tstyleOutputHashes.delete(key);\n};\n\nexport const compileStyleSource = async (\n\tfilePath: string,\n\tsource?: string,\n\tlanguageHint?: string,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tconst language = getStyleLanguage(languageHint ?? filePath);\n\tconst rawContents = source ?? (await readFile(filePath, 'utf-8'));\n\t// Collect every partial / @import / @use that the compiler touches.\n\t// Stored on `styleDependencyGraph` after compile so the dev server\n\t// can invalidate this entry when one of its imports changes.\n\tconst deps = new Set<string>();\n\n\tif (language === 'scss' || language === 'sass') {\n\t\tconst options = getSassOptions(config, language);\n\t\tconst packageName = options.implementation ?? 'sass';\n\t\tlet sass: typeof import('sass');\n\t\ttry {\n\t\t\tsass = await importOptionalPeer<typeof import('sass')>(packageName);\n\t\t} catch {\n\t\t\tthrow missingDependencyError(packageName, filePath);\n\t\t}\n\n\t\tconst contents = withAdditionalData(\n\t\t\trawContents,\n\t\t\toptions.additionalData\n\t\t);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.loadPaths);\n\t\ttry {\n\t\t\tconst result = sass.compileString(contents, {\n\t\t\t\timporters: [\n\t\t\t\t\tcreateSassImporter(\n\t\t\t\t\t\tfilePath,\n\t\t\t\t\t\tloadPaths,\n\t\t\t\t\t\tlanguage,\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tdeps\n\t\t\t\t\t)\n\t\t\t\t],\n\t\t\t\tloadPaths,\n\t\t\t\tstyle: 'expanded',\n\t\t\t\tsyntax: language === 'sass' ? 'indented' : 'scss',\n\t\t\t\turl: new URL(`file://${filePath}`)\n\t\t\t});\n\n\t\t\tconst css = await runPostcss(result.css, filePath, config);\n\t\t\t// Augment `deps` with `result.loadedUrls`. Detail:\n\t\t\t// resolves a relative `@use './partial'` via the\n\t\t\t// built-in filesystem loader (which it does whenever\n\t\t\t// the source has a `url:` set, which we always do),\n\t\t\t// the custom importer's `canonicalize`/`load` callbacks\n\t\t\t// don't fire — so `deps` would otherwise be empty.\n\t\t\t// `loadedUrls` always reflects every file Sass actually\n\t\t\t// touched, including the entry, so we filter the entry\n\t\t\t// out and add the rest.\n\t\t\tconst loadedUrls = (result.loadedUrls ?? []) as URL[];\n\t\t\tfor (const url of loadedUrls) {\n\t\t\t\tif (url.protocol !== 'file:') continue;\n\t\t\t\tconst dep = fileURLToPath(url);\n\t\t\t\tif (resolve(dep) === resolve(filePath)) continue;\n\t\t\t\tdeps.add(dep);\n\t\t\t}\n\t\t\trecordStyleDeps(filePath, deps);\n\n\t\t\treturn css;\n\t\t} catch (error) {\n\t\t\tthrowPreprocessorError(error, filePath, language);\n\t\t}\n\t}\n\n\tif (language === 'less') {\n\t\tconst options = getLessOptions(config);\n\t\ttype LessRender = typeof import('less').render;\n\t\tlet lessModule: {\n\t\t\tdefault?: { render: LessRender };\n\t\t\trender?: LessRender;\n\t\t};\n\t\ttry {\n\t\t\tlessModule = await importOptionalPeer<typeof lessModule>('less');\n\t\t} catch {\n\t\t\tthrow missingDependencyError('less', filePath);\n\t\t}\n\t\tconst less = lessModule.render ? lessModule : lessModule.default;\n\t\tconst render = less?.render;\n\t\tif (!render) throw missingDependencyError('less', filePath);\n\n\t\tconst contents = withAdditionalData(\n\t\t\trawContents,\n\t\t\toptions.additionalData\n\t\t);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.paths);\n\t\ttry {\n\t\t\tconst result = await render(contents, {\n\t\t\t\t...(options.options ?? {}),\n\t\t\t\tfilename: filePath,\n\t\t\t\tpaths: loadPaths,\n\t\t\t\tplugins: [\n\t\t\t\t\t...((options.options?.plugins as unknown[]) ?? []),\n\t\t\t\t\tcreateLessFileManager(filePath, loadPaths, config, deps)\n\t\t\t\t]\n\t\t\t});\n\n\t\t\tconst css = await runPostcss(result.css, filePath, config);\n\t\t\trecordStyleDeps(filePath, deps);\n\n\t\t\treturn css;\n\t\t} catch (error) {\n\t\t\tthrowPreprocessorError(error, filePath, 'less');\n\t\t}\n\t}\n\n\tif (language === 'stylus') {\n\t\tconst options = getStylusOptions(config);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.paths);\n\t\tconst contents = withAdditionalData(\n\t\t\tpreprocessLoadedStyle(\n\t\t\t\trawContents,\n\t\t\t\tfilePath,\n\t\t\t\tfilePath,\n\t\t\t\tloadPaths,\n\t\t\t\t'stylus',\n\t\t\t\tconfig\n\t\t\t),\n\t\t\toptions.additionalData\n\t\t);\n\n\t\ttry {\n\t\t\tconst css = await runPostcss(\n\t\t\t\tawait renderStylus(\n\t\t\t\t\tcontents,\n\t\t\t\t\tfilePath,\n\t\t\t\t\tloadPaths,\n\t\t\t\t\toptions,\n\t\t\t\t\tdeps\n\t\t\t\t),\n\t\t\t\tfilePath,\n\t\t\t\tconfig\n\t\t\t);\n\t\t\trecordStyleDeps(filePath, deps);\n\n\t\t\treturn css;\n\t\t} catch (error) {\n\t\t\tthrowPreprocessorError(error, filePath, 'stylus');\n\t\t}\n\t}\n\n\treturn runPostcss(rawContents, filePath, config);\n};\n\nexport const createStylePreprocessorPlugin = (\n\tconfig?: StylePreprocessorConfig\n): BunPlugin => ({\n\tname: 'absolute-style-preprocessor',\n\tsetup(build) {\n\t\tconst cssModuleSources = new Map<\n\t\t\tstring,\n\t\t\t{ css: string; exports: Record<string, string> }\n\t\t>();\n\n\t\tbuild.onResolve({ filter: /^absolute-style-module:/ }, ({ path }) => ({\n\t\t\tnamespace: 'absolute-style-module',\n\t\t\tpath: path.slice('absolute-style-module:'.length)\n\t\t}));\n\n\t\tbuild.onLoad(\n\t\t\t{ filter: /\\.module\\.css$/i, namespace: 'absolute-style-module' },\n\t\t\tasync ({ path }) => {\n\t\t\t\tconst source = cssModuleSources.get(path);\n\t\t\t\tif (!source) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Unable to resolve CSS module source for ${path}`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tcontents: source.css,\n\t\t\t\t\tloader: 'css'\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\n\t\tbuild.onLoad({ filter: STYLE_EXTENSION_PATTERN }, async ({ path }) => {\n\t\t\tif (isStyleModulePath(path)) {\n\t\t\t\tconst cssModulePath = path.replace(\n\t\t\t\t\tSTYLE_EXTENSION_PATTERN,\n\t\t\t\t\t'.css'\n\t\t\t\t);\n\t\t\t\tconst compiled = await compileStyleSource(\n\t\t\t\t\tpath,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tconfig\n\t\t\t\t);\n\t\t\t\tconst { css, exports } = extractCssModuleExports(compiled);\n\t\t\t\tcssModuleSources.set(cssModulePath, { css, exports });\n\t\t\t\tconst exportSource =\n\t\t\t\t\tObject.keys(exports).length > 0\n\t\t\t\t\t\t? `import styles from ${JSON.stringify(`absolute-style-module:${cssModulePath}`)}; export default Object.assign({}, styles, ${JSON.stringify(exports)});`\n\t\t\t\t\t\t: `export { default } from ${JSON.stringify(`absolute-style-module:${cssModulePath}`)};`;\n\n\t\t\t\treturn {\n\t\t\t\t\tcontents: exportSource,\n\t\t\t\t\tloader: 'js'\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcontents: await compileStyleSource(\n\t\t\t\t\tpath,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tconfig\n\t\t\t\t),\n\t\t\t\tloader: 'css'\n\t\t\t};\n\t\t});\n\n\t\tbuild.onLoad({ filter: CSS_EXTENSION_PATTERN }, async ({ path }) => ({\n\t\t\tcontents: await compileStyleSource(\n\t\t\t\tpath,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\tconfig\n\t\t\t),\n\t\t\tloader: 'css'\n\t\t}));\n\t}\n});\n\nexport const stylePreprocessorPlugin = createStylePreprocessorPlugin();\n\nexport const createSvelteStylePreprocessor = (\n\tconfig?: StylePreprocessorConfig\n) => ({\n\tstyle: async ({\n\t\tattributes,\n\t\tcontent,\n\t\tfilename\n\t}: {\n\t\tattributes: Record<string, string | boolean>;\n\t\tcontent: string;\n\t\tfilename?: string;\n\t}) => {\n\t\tconst language =\n\t\t\ttypeof attributes.lang === 'string'\n\t\t\t\t? attributes.lang\n\t\t\t\t: typeof attributes.type === 'string'\n\t\t\t\t\t? attributes.type.replace(/^text\\//, '')\n\t\t\t\t\t: null;\n\t\tif (!language || !STYLE_LANGUAGE_PATTERN.test(language)) return;\n\n\t\tconst path = filename ?? `style.${language}`;\n\n\t\treturn {\n\t\t\tcode: await compileStyleSource(path, content, language, config)\n\t\t};\n\t}\n});\n\n/* Pattern shared by `resolveCssImports{Sync,Async}` — top-level\n * `@import \"<path>\";` only. `@import url(...)` and media-qualified\n * imports pass through unchanged. */\n\nconst CSS_IMPORT_PATTERN = /@import\\s+[\"']([^\"']+)[\"']\\s*;?/g;\n\n/* Async counterpart to `resolveCssImportsSync`. Reads imported files\n * via `node:fs/promises.readFile` so the call doesn't block the dev\n * server's event loop on a deep `@import` chain. Same failure modes:\n * `@import url(...)` and media-qualified imports pass through. */\n\nconst resolveCssImportsAsync = async (\n\tcontent: string,\n\tbaseDir: string,\n\tvisited: Set<string>\n): Promise<string> => {\n\tconst matches = Array.from(content.matchAll(CSS_IMPORT_PATTERN));\n\tif (matches.length === 0) return content;\n\n\tlet cursor = 0;\n\tconst parts: string[] = [];\n\tfor (const match of matches) {\n\t\tconst importPath = match[1];\n\t\tif (importPath === undefined) continue;\n\t\tconst start = match.index ?? 0;\n\t\tconst end = start + match[0].length;\n\t\tparts.push(content.slice(cursor, start));\n\n\t\tconst fullPath = isAbsolute(importPath)\n\t\t\t? importPath\n\t\t\t: resolve(baseDir, importPath);\n\t\tif (visited.has(fullPath) || !existsSync(fullPath)) {\n\t\t\tparts.push(visited.has(fullPath) ? '' : match[0]);\n\t\t\tcursor = end;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst nextVisited = new Set(visited);\n\t\tnextVisited.add(fullPath);\n\t\tconst imported = await readFile(fullPath, 'utf-8');\n\t\tparts.push(\n\t\t\tawait resolveCssImportsAsync(\n\t\t\t\timported,\n\t\t\t\tdirname(fullPath),\n\t\t\t\tnextVisited\n\t\t\t)\n\t\t);\n\t\tcursor = end;\n\t}\n\tparts.push(content.slice(cursor));\n\n\treturn parts.join('');\n};\n\nexport const compileStyleFileIfNeeded = async (\n\tfilePath: string,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tif (!isPreprocessableStylePath(filePath)) {\n\t\tconst raw = await readFile(filePath, 'utf-8');\n\t\tconst processed = await runPostcss(raw, filePath, config);\n\t\t// PostCSS only resolves `@import` when configured with\n\t\t// `postcss-import`. We always resolve them here so the inlined\n\t\t// `ɵcmp.styles` content is self-contained — no browser-side\n\t\t// fetch of bare CSS paths that would hit the dev server's\n\t\t// SPA wildcard route and trip Angular's router.\n\t\treturn resolveCssImportsAsync(\n\t\t\tprocessed,\n\t\t\tdirname(filePath),\n\t\t\tnew Set([filePath])\n\t\t);\n\t}\n\n\tconst compiled = await compileStyleSource(\n\t\tfilePath,\n\t\tundefined,\n\t\tundefined,\n\t\tconfig\n\t);\n\t// Sass leaves plain `.css` `@import` statements as-is per CSS spec;\n\t// post-Sass output may still contain them.\n\treturn resolveCssImportsAsync(\n\t\tcompiled,\n\t\tdirname(filePath),\n\t\tnew Set([filePath])\n\t);\n};\n\n/* Resolve top-level CSS `@import \"<path>\";` statements by reading the\n * imported file and inlining its content recursively. Necessary for\n * the sync styleUrls path because Angular component styles get\n * baked into `ɵcmp.styles[]` as plain strings — any unresolved\n * `@import` survives to the rendered `<style>` tag, where the browser\n * tries to fetch the bare path. The dev server has no static file at\n * that path (component CSS is bundled as JS in dev), so the request\n * falls through to the SSR catch-all and Angular's router throws\n * NG04002.\n *\n * Sass / SCSS files don't need this — Sass compiles its own\n * `@import / @use` graph in `sass.compileString`. This helper only\n * applies to plain `.css` content (and the post-Sass output, which\n * may itself contain plain CSS `@import \"x.css\"` statements that\n * Sass leaves as-is when the path ends in `.css`).\n *\n * Tracks visited paths to break cycles. Skips `@import url(...)`,\n * `@import \"...\" screen`, and other forms that need media-query\n * preservation — those fall through unchanged for now (Phase 3\n * follow-up). */\n\nconst resolveCssImportsSync = (\n\tcontent: string,\n\tbaseDir: string,\n\tvisited: Set<string>\n): string => {\n\treturn content.replace(CSS_IMPORT_PATTERN, (match, importPath) => {\n\t\tconst fullPath = isAbsolute(importPath)\n\t\t\t? importPath\n\t\t\t: resolve(baseDir, importPath);\n\t\tif (visited.has(fullPath)) return '';\n\t\tif (!existsSync(fullPath)) return match;\n\n\t\tconst nextVisited = new Set(visited);\n\t\tnextVisited.add(fullPath);\n\t\tconst imported = readFileSync(fullPath, 'utf-8');\n\n\t\treturn resolveCssImportsSync(imported, dirname(fullPath), nextVisited);\n\t});\n};\n\nexport const compileStyleFileIfNeededSync = (\n\tfilePath: string,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tconst rawContents = readFileSync(filePath, 'utf-8');\n\tconst language = getStyleLanguage(filePath);\n\tif (config?.postcss) {\n\t\tthrow new Error(\n\t\t\t`Unable to compile ${filePath}: PostCSS preprocessing is async-only.`\n\t\t);\n\t}\n\tif (language === 'scss' || language === 'sass') {\n\t\tconst options = getSassOptions(config, language);\n\t\tconst packageName = options.implementation ?? 'sass';\n\t\tlet sass: typeof import('sass');\n\t\ttry {\n\t\t\tsass = requireOptionalPeerSync<typeof import('sass')>(packageName);\n\t\t} catch {\n\t\t\tthrow missingDependencyError(packageName, filePath);\n\t\t}\n\n\t\tconst contents = withAdditionalData(\n\t\t\trawContents,\n\t\t\toptions.additionalData\n\t\t);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.loadPaths);\n\t\tconst result = sass.compileString(contents, {\n\t\t\timporters: [\n\t\t\t\tcreateSassImporter(filePath, loadPaths, language, config)\n\t\t\t],\n\t\t\tloadPaths,\n\t\t\tstyle: 'expanded',\n\t\t\tsyntax: language === 'sass' ? 'indented' : 'scss',\n\t\t\turl: new URL(`file://${filePath}`)\n\t\t});\n\t\t// Track every `@use` / `@import` dependency Sass loaded so\n\t\t// downstream HMR can find the entry stylesheet that needs to\n\t\t// re-emit when a shared partial (`_shared.scss`,\n\t\t// `_tokens.scss`) changes. `result.loadedUrls` includes the\n\t\t// entry itself plus everything it pulled in. Without this,\n\t\t// editing a shared partial silently keeps the entry's stale\n\t\t// CSS until a full restart.\n\t\tconst loadedUrls = (result.loadedUrls ?? []) as URL[];\n\t\tfor (const url of loadedUrls) {\n\t\t\tif (url.protocol !== 'file:') continue;\n\t\t\tconst dep = fileURLToPath(url);\n\t\t\tif (resolve(dep) === resolve(filePath)) continue;\n\t\t\taddStyleImporter(filePath, dep);\n\t\t}\n\t\t// Sass leaves plain `.css` `@import` statements alone (per CSS\n\t\t// spec, those are runtime-resolved). Resolve them here so the\n\t\t// inlined `ɵcmp.styles` content is self-contained.\n\t\treturn resolveCssImportsSync(\n\t\t\tresult.css,\n\t\t\tdirname(filePath),\n\t\t\tnew Set([filePath])\n\t\t);\n\t}\n\tif (language === 'less') {\n\t\tthrow new Error(\n\t\t\t`Unable to compile ${filePath}: Less styleUrl preprocessing is async-only. Import the Less file from a bundled entrypoint or use SCSS/CSS for Angular styleUrl.`\n\t\t);\n\t}\n\tif (language === 'stylus') {\n\t\tthrow new Error(\n\t\t\t`Unable to compile ${filePath}: Stylus styleUrl preprocessing is async-only. Import the Stylus file from a bundled entrypoint or use SCSS/CSS for Angular styleUrl.`\n\t\t);\n\t}\n\n\treturn resolveCssImportsSync(\n\t\trawContents,\n\t\tdirname(filePath),\n\t\tnew Set([filePath])\n\t);\n};\n\nexport const getCssOutputExtension = (filePath: string) =>\n\tisPreprocessableStylePath(filePath) ? '.css' : extname(filePath);\n",
22
+ "import { createHash } from 'node:crypto';\nimport { existsSync, readFileSync } from 'node:fs';\nimport { readFile } from 'node:fs/promises';\nimport { createRequire } from 'node:module';\nimport {\n\tdirname,\n\textname,\n\tisAbsolute,\n\tjoin,\n\trelative,\n\tresolve\n} from 'node:path';\nimport { fileURLToPath, pathToFileURL } from 'node:url';\nimport type { BunPlugin } from 'bun';\nimport type {\n\tLessPreprocessorOptions,\n\tPostCSSConfig,\n\tSassPreprocessorOptions,\n\tStylePreprocessorConfig,\n\tStylusPreprocessorOptions\n} from '../../types/build';\n\nconst CSS_EXTENSION_PATTERN = /\\.css$/i;\nconst STYLE_EXTENSION_PATTERN = /\\.(s[ac]ss|less|styl(?:us)?)$/i;\nconst STYLE_MODULE_EXTENSION_PATTERN = /\\.module\\.(s[ac]ss|less|styl(?:us)?)$/i;\nconst STYLE_LANGUAGE_PATTERN = /^(s[ac]ss|less|styl(?:us)?)$/i;\nconst importOptionalPeer = new Function(\n\t'specifier',\n\t'return import(specifier)'\n) as <T>(specifier: string) => Promise<T>;\nconst requireOptionalPeer = new Function(\n\t'specifier',\n\t'return require(specifier)'\n) as <T>(specifier: string) => T;\nconst requireFromCwd = createRequire(join(process.cwd(), 'package.json'));\n\nexport const isPreprocessableStylePath = (filePath: string) =>\n\tSTYLE_EXTENSION_PATTERN.test(filePath);\n\nexport const isStyleModulePath = (filePath: string) =>\n\tSTYLE_MODULE_EXTENSION_PATTERN.test(filePath);\n\nexport const isStylePath = (filePath: string) =>\n\t/\\.(css|s[ac]ss|less|styl(?:us)?)$/i.test(filePath);\n\nexport const getStyleBaseName = (filePath: string) =>\n\tfilePath.replace(/\\.(css|s[ac]ss|less|styl(?:us)?)$/i, '');\n\nconst getStyleLanguage = (filePathOrLanguage: string) => {\n\tconst normalized = filePathOrLanguage.toLowerCase();\n\tif (normalized === 'scss' || normalized.endsWith('.scss')) return 'scss';\n\tif (normalized === 'sass' || normalized.endsWith('.sass')) return 'sass';\n\tif (normalized === 'less' || normalized.endsWith('.less')) return 'less';\n\tif (\n\t\tnormalized === 'styl' ||\n\t\tnormalized === 'stylus' ||\n\t\tnormalized.endsWith('.styl') ||\n\t\tnormalized.endsWith('.stylus')\n\t)\n\t\treturn 'stylus';\n\n\treturn null;\n};\n\nconst missingDependencyError = (name: string, filePath: string) =>\n\tnew Error(\n\t\t`Unable to compile ${filePath}: install optional dependency \"${name}\" to use this stylesheet preprocessor.`\n\t);\n\n/* Re-throw a preprocessor error with the filename + a one-line summary\n prefixed so the dev server's `[hmr] error` log doesn't print\n `Server error: undefined`. Sass / Less / Stylus all attach useful\n metadata (line, column, snippet) to their errors but the property\n names differ — we surface whatever's available. */\nconst throwPreprocessorError = (\n\terror: unknown,\n\tfilePath: string,\n\tlanguage: StyleLanguage\n): never => {\n\tif (!(error instanceof Error)) {\n\t\tthrow new Error(\n\t\t\t`${language} compile failed in ${filePath}: ${String(error)}`\n\t\t);\n\t}\n\n\tconst detail = error as Error & {\n\t\tline?: number;\n\t\tcolumn?: number;\n\t\textract?: string[];\n\t\tformatted?: string;\n\t\tspan?: { start?: { line?: number; column?: number } };\n\t};\n\tconst sassLine = detail.span?.start?.line;\n\tconst sassCol = detail.span?.start?.column;\n\tconst line = detail.line ?? sassLine;\n\tconst column = detail.column ?? sassCol;\n\tconst location =\n\t\ttypeof line === 'number'\n\t\t\t? `:${line}${typeof column === 'number' ? `:${column}` : ''}`\n\t\t\t: '';\n\tconst message = detail.formatted ?? detail.message;\n\tconst wrapped = new Error(\n\t\t`${language} compile failed in ${filePath}${location}\\n${message}`\n\t);\n\twrapped.cause = error;\n\tthrow wrapped;\n};\n\nconst requireOptionalPeerSync = <T>(specifier: string) => {\n\ttry {\n\t\treturn requireFromCwd(specifier) as T;\n\t} catch {\n\t\treturn requireOptionalPeer<T>(specifier);\n\t}\n};\n\nconst normalizeLoadPaths = (filePath: string, paths: string[] = []) => [\n\tdirname(filePath),\n\tprocess.cwd(),\n\t...paths.map((path) => resolve(process.cwd(), path))\n];\n\ntype StyleLanguage = NonNullable<ReturnType<typeof getStyleLanguage>>;\n\ntype AliasEntry = {\n\tpattern: string;\n\treplacements: string[];\n};\n\nlet tsconfigAliasCache:\n\t| { cwd: string; aliases: AliasEntry[]; baseUrl: string }\n\t| undefined;\n\nconst stripJsonComments = (source: string) =>\n\tsource.replace(/\\/\\*[\\s\\S]*?\\*\\//g, '').replace(/(^|[^:])\\/\\/.*$/gm, '$1');\n\nconst normalizeAliasEntries = (\n\taliases: Record<string, string | string[]> | undefined\n) =>\n\tObject.entries(aliases ?? {}).map(([pattern, value]) => ({\n\t\tpattern,\n\t\treplacements: Array.isArray(value) ? value : [value]\n\t}));\n\nconst readTsconfigAliases = () => {\n\tconst cwd = process.cwd();\n\tif (tsconfigAliasCache?.cwd === cwd) return tsconfigAliasCache;\n\n\tconst tsconfigPath = resolve(cwd, 'tsconfig.json');\n\tconst empty = { aliases: [], baseUrl: cwd, cwd };\n\tif (!existsSync(tsconfigPath)) {\n\t\ttsconfigAliasCache = empty;\n\t\treturn empty;\n\t}\n\n\ttry {\n\t\tconst parsed = JSON.parse(\n\t\t\tstripJsonComments(readFileSync(tsconfigPath, 'utf-8'))\n\t\t);\n\t\tconst compilerOptions = parsed.compilerOptions ?? {};\n\t\tconst baseUrl = resolve(cwd, compilerOptions.baseUrl ?? '.');\n\t\ttsconfigAliasCache = {\n\t\t\taliases: normalizeAliasEntries(compilerOptions.paths),\n\t\t\tbaseUrl,\n\t\t\tcwd\n\t\t};\n\t} catch {\n\t\ttsconfigAliasCache = empty;\n\t}\n\n\treturn tsconfigAliasCache;\n};\n\nconst getAliasEntries = (config: StylePreprocessorConfig | undefined) => {\n\tconst tsconfig = readTsconfigAliases();\n\treturn {\n\t\taliases: [\n\t\t\t...normalizeAliasEntries(config?.aliases),\n\t\t\t...tsconfig.aliases\n\t\t],\n\t\tbaseUrl: tsconfig.baseUrl\n\t};\n};\n\nconst aliasPatternToRegExp = (pattern: string) =>\n\tnew RegExp(\n\t\t`^${pattern\n\t\t\t.split('*')\n\t\t\t.map((part) => part.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'))\n\t\t\t.join('(.+)')}$`\n\t);\n\nconst resolveAliasTargets = (\n\tspecifier: string,\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst { aliases, baseUrl } = getAliasEntries(config);\n\tconst targets: string[] = [];\n\n\tfor (const alias of aliases) {\n\t\tconst match = specifier.match(aliasPatternToRegExp(alias.pattern));\n\t\tif (!match) continue;\n\t\tconst wildcard = match[1] ?? '';\n\t\tfor (const replacement of alias.replacements) {\n\t\t\ttargets.push(resolve(baseUrl, replacement.replace('*', wildcard)));\n\t\t}\n\t}\n\n\treturn targets;\n};\n\nconst getLanguageExtensions = (language: StyleLanguage) => {\n\tif (language === 'less') return ['.less', '.css'];\n\tif (language === 'stylus') return ['.styl', '.stylus', '.css'];\n\treturn ['.scss', '.sass', '.css'];\n};\n\nconst getCandidatePaths = (basePath: string, language: StyleLanguage) => {\n\tconst ext = extname(basePath);\n\tconst paths = ext\n\t\t? [basePath]\n\t\t: getLanguageExtensions(language).flatMap((extension) => [\n\t\t\t\t`${basePath}${extension}`,\n\t\t\t\tjoin(basePath, `index${extension}`)\n\t\t\t]);\n\n\tif (language === 'scss' || language === 'sass') {\n\t\treturn paths.flatMap((path) => {\n\t\t\tconst dir = dirname(path);\n\t\t\tconst base = path.slice(dir.length + 1);\n\t\t\treturn [path, join(dir, `_${base}`)];\n\t\t});\n\t}\n\n\treturn paths;\n};\n\nconst resolveImportPath = (\n\tspecifier: string,\n\tfromDirectory: string,\n\tloadPaths: string[],\n\tlanguage: StyleLanguage,\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst rawCandidates = [\n\t\t...resolveAliasTargets(specifier, config),\n\t\tisAbsolute(specifier) ? specifier : resolve(fromDirectory, specifier),\n\t\t...loadPaths.map((path) => resolve(path, specifier))\n\t];\n\n\tfor (const candidate of rawCandidates.flatMap((path) =>\n\t\tgetCandidatePaths(path, language)\n\t)) {\n\t\tif (existsSync(candidate)) return candidate;\n\t}\n\n\treturn null;\n};\n\nconst isExternalCssUrl = (url: string) =>\n\t/^(?:[a-z][a-z0-9+.-]*:|\\/\\/|#|\\/)/i.test(url);\n\nconst splitCssUrl = (url: string) => {\n\tconst markerIndex = url.search(/[?#]/);\n\tif (markerIndex === -1) return { marker: '', path: url };\n\treturn {\n\t\tmarker: url.slice(markerIndex),\n\t\tpath: url.slice(0, markerIndex)\n\t};\n};\n\nconst rebaseCssUrls = (\n\tcontents: string,\n\tsourceFile: string,\n\tentryFile: string\n) => {\n\tconst sourceDir = dirname(sourceFile);\n\tconst entryDir = dirname(entryFile);\n\tif (sourceDir === entryDir) return contents;\n\n\treturn contents.replace(\n\t\t/url\\(\\s*(['\"]?)([^'\")]+)\\1\\s*\\)/gi,\n\t\t(match, quote: string, rawUrl: string) => {\n\t\t\tconst trimmedUrl = rawUrl.trim();\n\t\t\tif (!trimmedUrl || isExternalCssUrl(trimmedUrl)) return match;\n\t\t\tconst { marker, path } = splitCssUrl(trimmedUrl);\n\t\t\tconst rebased = relative(\n\t\t\t\tentryDir,\n\t\t\t\tresolve(sourceDir, path)\n\t\t\t).replace(/\\\\/g, '/');\n\t\t\tconst normalized = rebased.startsWith('.')\n\t\t\t\t? rebased\n\t\t\t\t: `./${rebased}`;\n\t\t\tconst nextQuote = quote || '\"';\n\t\t\treturn `url(${nextQuote}${normalized}${marker}${nextQuote})`;\n\t\t}\n\t);\n};\n\nconst rewriteAliasedStyleImports = (\n\tcontents: string,\n\tsourceFile: string,\n\tloadPaths: string[],\n\tlanguage: StyleLanguage,\n\tconfig: StylePreprocessorConfig | undefined\n) =>\n\tcontents.replace(\n\t\t/(@(?:use|forward|import|require)\\s+)([\"'])([^\"']+)\\2/g,\n\t\t(match, prefix: string, quote: string, specifier: string) => {\n\t\t\tif (\n\t\t\t\tspecifier.startsWith('.') ||\n\t\t\t\tisAbsolute(specifier) ||\n\t\t\t\tisExternalCssUrl(specifier)\n\t\t\t)\n\t\t\t\treturn match;\n\n\t\t\tconst resolved = resolveImportPath(\n\t\t\t\tspecifier,\n\t\t\t\tdirname(sourceFile),\n\t\t\t\tloadPaths,\n\t\t\t\tlanguage,\n\t\t\t\tconfig\n\t\t\t);\n\t\t\treturn resolved ? `${prefix}${quote}${resolved}${quote}` : match;\n\t\t}\n\t);\n\nconst preprocessLoadedStyle = (\n\tcontents: string,\n\tsourceFile: string,\n\tentryFile: string,\n\tloadPaths: string[] = [],\n\tlanguage?: StyleLanguage,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tconst rebased = rebaseCssUrls(contents, sourceFile, entryFile);\n\treturn language\n\t\t? rewriteAliasedStyleImports(\n\t\t\t\trebased,\n\t\t\t\tsourceFile,\n\t\t\t\tloadPaths,\n\t\t\t\tlanguage,\n\t\t\t\tconfig\n\t\t\t)\n\t\t: rebased;\n};\n\nconst extractCssModuleExports = (css: string) => {\n\tconst exports: Record<string, string> = {};\n\tconst nextCss = css.replace(/:export\\s*\\{([^}]*)\\}/g, (_, body: string) => {\n\t\tfor (const declaration of body.split(';')) {\n\t\t\tconst separator = declaration.indexOf(':');\n\t\t\tif (separator === -1) continue;\n\t\t\tconst key = declaration.slice(0, separator).trim();\n\t\t\tconst value = declaration.slice(separator + 1).trim();\n\t\t\tif (key && value) exports[key] = value;\n\t\t}\n\t\treturn '';\n\t});\n\n\treturn { css: nextCss, exports };\n};\n\nconst getSassOptions = (\n\tconfig: StylePreprocessorConfig | undefined,\n\tlanguage: 'sass' | 'scss'\n): SassPreprocessorOptions => ({\n\t...(config?.sass ?? {}),\n\t...(language === 'scss' ? (config?.scss ?? {}) : {})\n});\n\nconst getLessOptions = (\n\tconfig: StylePreprocessorConfig | undefined\n): LessPreprocessorOptions => config?.less ?? {};\n\nconst getStylusOptions = (\n\tconfig: StylePreprocessorConfig | undefined\n): StylusPreprocessorOptions => config?.stylus ?? {};\n\nexport const createStyleTransformConfig = (\n\tstylePreprocessors?: StylePreprocessorConfig,\n\tpostcss?: PostCSSConfig\n): StylePreprocessorConfig | undefined =>\n\tpostcss === undefined\n\t\t? stylePreprocessors\n\t\t: { ...(stylePreprocessors ?? {}), postcss };\n\nconst withAdditionalData = (\n\tcontents: string,\n\tadditionalData: string | undefined\n) => (additionalData ? `${additionalData}\\n${contents}` : contents);\n\ntype PostCSSRuntimeConfig = {\n\toptions?: Record<string, unknown>;\n\tplugins?: unknown[] | Record<string, unknown>;\n};\n\nconst normalizePostcssModule = (mod: unknown) => {\n\tif (mod && typeof mod === 'object' && 'default' in mod) {\n\t\treturn (mod as { default?: unknown }).default ?? mod;\n\t}\n\n\treturn mod;\n};\n\nconst loadPostcssConfigFile = async (\n\tconfigPath: string\n): Promise<PostCSSRuntimeConfig> => {\n\tconst resolved = resolve(process.cwd(), configPath);\n\tconst loaded =\n\t\tresolved.endsWith('.cjs') || resolved.endsWith('.cts')\n\t\t\t? requireOptionalPeerSync<unknown>(resolved)\n\t\t\t: await importOptionalPeer<unknown>(\n\t\t\t\t\t`${new URL(`file://${resolved}`).href}?t=${Date.now()}`\n\t\t\t\t);\n\tconst config = normalizePostcssModule(loaded);\n\tconst value =\n\t\ttypeof config === 'function'\n\t\t\t? await (\n\t\t\t\t\tconfig as (context: {\n\t\t\t\t\t\tcwd: string;\n\t\t\t\t\t\tenv?: string;\n\t\t\t\t\t}) => unknown\n\t\t\t\t)({\n\t\t\t\t\tcwd: process.cwd(),\n\t\t\t\t\tenv: process.env.NODE_ENV\n\t\t\t\t})\n\t\t\t: config;\n\n\treturn (normalizePostcssModule(value) ?? {}) as PostCSSRuntimeConfig;\n};\n\nconst normalizePostcssPlugins = (\n\tplugins: unknown[] | Record<string, unknown> | undefined\n) => {\n\tif (!plugins) return [];\n\tif (Array.isArray(plugins)) return plugins.filter(Boolean);\n\n\tconst resolved: unknown[] = [];\n\tfor (const [specifier, options] of Object.entries(plugins)) {\n\t\tif (options === false) continue;\n\t\tconst mod = normalizePostcssModule(\n\t\t\trequireOptionalPeerSync<unknown>(specifier)\n\t\t);\n\t\tconst plugin =\n\t\t\ttypeof mod === 'function'\n\t\t\t\t? (mod as (options?: unknown) => unknown)(\n\t\t\t\t\t\toptions === true ? undefined : options\n\t\t\t\t\t)\n\t\t\t\t: mod;\n\t\tif (plugin) resolved.push(plugin);\n\t}\n\n\treturn resolved;\n};\n\nconst resolvePostcssConfig = async (\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst inlineConfig = config?.postcss;\n\tif (!inlineConfig) return null;\n\n\tconst fileConfig = inlineConfig.config\n\t\t? await loadPostcssConfigFile(inlineConfig.config)\n\t\t: {};\n\tconst plugins = [\n\t\t...normalizePostcssPlugins(fileConfig.plugins),\n\t\t...normalizePostcssPlugins(inlineConfig.plugins)\n\t];\n\n\tif (plugins.length === 0) return null;\n\n\treturn {\n\t\toptions: {\n\t\t\t...(fileConfig.options ?? {}),\n\t\t\t...(inlineConfig.options ?? {})\n\t\t},\n\t\tplugins\n\t};\n};\n\nconst runPostcss = async (\n\tcss: string,\n\tfilePath: string,\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst postcssConfig = await resolvePostcssConfig(config);\n\tif (!postcssConfig) return css;\n\n\tlet postcssModule: typeof import('postcss') & {\n\t\tdefault?: typeof import('postcss');\n\t};\n\ttry {\n\t\tpostcssModule =\n\t\t\tawait importOptionalPeer<typeof postcssModule>('postcss');\n\t} catch {\n\t\tthrow missingDependencyError('postcss', filePath);\n\t}\n\tconst postcss = postcssModule.default ?? postcssModule;\n\tconst result = await postcss(\n\t\tpostcssConfig.plugins as import('postcss').AcceptedPlugin[]\n\t).process(css, {\n\t\tfrom: filePath,\n\t\tmap: false,\n\t\t...postcssConfig.options\n\t});\n\n\treturn result.css;\n};\n\nconst createSassImporter = (\n\tentryFile: string,\n\tloadPaths: string[],\n\tlanguage: 'sass' | 'scss',\n\tconfig: StylePreprocessorConfig | undefined,\n\tdeps?: Set<string>\n) => ({\n\tcanonicalize(specifier: string, options: { containingUrl?: URL | null }) {\n\t\tconst fromDirectory = options.containingUrl\n\t\t\t? dirname(fileURLToPath(options.containingUrl))\n\t\t\t: dirname(entryFile);\n\t\tconst resolved = resolveImportPath(\n\t\t\tspecifier,\n\t\t\tfromDirectory,\n\t\t\tloadPaths,\n\t\t\tlanguage,\n\t\t\tconfig\n\t\t);\n\t\treturn resolved ? new URL(pathToFileURL(resolve(resolved)).href) : null;\n\t},\n\tload(canonicalUrl: URL) {\n\t\tconst filePath = fileURLToPath(canonicalUrl);\n\t\tdeps?.add(filePath);\n\t\tconst fileLanguage = getStyleLanguage(filePath);\n\t\tif (\n\t\t\tfileLanguage !== 'scss' &&\n\t\t\tfileLanguage !== 'sass' &&\n\t\t\tfileLanguage !== null\n\t\t)\n\t\t\treturn null;\n\n\t\treturn {\n\t\t\tcontents: preprocessLoadedStyle(\n\t\t\t\treadFileSync(filePath, 'utf-8'),\n\t\t\t\tfilePath,\n\t\t\t\tentryFile,\n\t\t\t\tloadPaths,\n\t\t\t\tlanguage,\n\t\t\t\tconfig\n\t\t\t),\n\t\t\tsyntax: filePath.endsWith('.sass')\n\t\t\t\t? ('indented' as const)\n\t\t\t\t: ('scss' as const)\n\t\t};\n\t}\n});\n\nconst createLessFileManager = (\n\tentryFile: string,\n\tloadPaths: string[],\n\tconfig: StylePreprocessorConfig | undefined,\n\tdeps?: Set<string>\n) => ({\n\tinstall(\n\t\tless: { FileManager: new () => Record<string, unknown> },\n\t\tpluginManager: { addFileManager(manager: unknown): void }\n\t) {\n\t\tconst baseManager = new less.FileManager();\n\t\tconst manager = Object.create(baseManager) as Record<string, unknown>;\n\t\tmanager.supports = (filename: string, currentDirectory: string) =>\n\t\t\tBoolean(\n\t\t\t\tresolveImportPath(\n\t\t\t\t\tfilename,\n\t\t\t\t\tresolve(currentDirectory),\n\t\t\t\t\tloadPaths,\n\t\t\t\t\t'less',\n\t\t\t\t\tconfig\n\t\t\t\t)\n\t\t\t);\n\t\tmanager.loadFile = async (\n\t\t\tfilename: string,\n\t\t\tcurrentDirectory: string\n\t\t) => {\n\t\t\tconst resolved = resolveImportPath(\n\t\t\t\tfilename,\n\t\t\t\tresolve(currentDirectory),\n\t\t\t\tloadPaths,\n\t\t\t\t'less',\n\t\t\t\tconfig\n\t\t\t);\n\t\t\tif (!resolved) {\n\t\t\t\tthrow new Error(`Unable to resolve Less import \"${filename}\"`);\n\t\t\t}\n\t\t\tdeps?.add(resolved);\n\n\t\t\treturn {\n\t\t\t\tcontents: preprocessLoadedStyle(\n\t\t\t\t\tawait readFile(resolved, 'utf-8'),\n\t\t\t\t\tresolved,\n\t\t\t\t\tentryFile,\n\t\t\t\t\tloadPaths,\n\t\t\t\t\t'less',\n\t\t\t\t\tconfig\n\t\t\t\t),\n\t\t\t\tfilename: resolved\n\t\t\t};\n\t\t};\n\t\tpluginManager.addFileManager(manager);\n\t}\n});\n\nconst renderStylus = async (\n\tcontents: string,\n\tfilePath: string,\n\tloadPaths: string[],\n\toptions: StylusPreprocessorOptions,\n\tdeps?: Set<string>\n) => {\n\tlet stylus: typeof import('stylus');\n\ttry {\n\t\tconst stylusModule = await importOptionalPeer<\n\t\t\ttypeof import('stylus') & { default?: typeof import('stylus') }\n\t\t>('stylus');\n\t\tstylus = stylusModule.default ?? stylusModule;\n\t} catch {\n\t\tthrow missingDependencyError('stylus', filePath);\n\t}\n\n\treturn new Promise<string>((resolveCss, reject) => {\n\t\tconst renderer = stylus(contents);\n\t\trenderer.set('filename', filePath);\n\t\tfor (const [key, value] of Object.entries(options.options ?? {})) {\n\t\t\trenderer.set(key, value);\n\t\t}\n\t\tfor (const path of loadPaths) renderer.include(path);\n\t\trenderer.render((error, css) => {\n\t\t\tif (error) {\n\t\t\t\treject(error);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Stylus exposes its dependency list after a successful render.\n\t\t\tif (deps) {\n\t\t\t\tconst stylusDeps = (\n\t\t\t\t\trenderer as unknown as { deps?: () => string[] }\n\t\t\t\t).deps?.();\n\t\t\t\tif (Array.isArray(stylusDeps)) {\n\t\t\t\t\tfor (const dep of stylusDeps) deps.add(resolve(dep));\n\t\t\t\t}\n\t\t\t}\n\t\t\tresolveCss(css ?? '');\n\t\t});\n\t});\n};\n\n/* Compile-time bookkeeping shared with the dev server.\n\n `styleDependencyGraph` maps every entry stylesheet (anything that ran\n through `compileStyleSource`) to the absolute paths of every partial\n it imported during that compile. The dev rebuild trigger reads this to\n know which entries to invalidate when a partial like `_tokens.scss`\n changes.\n\n `styleOutputHashes` records the SHA-1 of each entry's last-emitted CSS\n so callers can skip re-broadcasting / re-writing identical output. */\nconst styleDependencyGraph = new Map<string, Set<string>>();\nconst styleOutputHashes = new Map<string, string>();\n\nconst recordStyleDeps = (entry: string, deps: Set<string>) => {\n\tconst key = resolve(entry);\n\tconst stripped = new Set<string>();\n\tfor (const dep of deps) {\n\t\tconst resolved = resolve(dep);\n\t\tif (resolved !== key) stripped.add(resolved);\n\t}\n\tstyleDependencyGraph.set(key, stripped);\n};\n\n/* Record that a JS/TS/Vue/Svelte/etc. file imports a stylesheet (typically\n a `.module.scss` or other style import via JS). This is the JS-side dep\n tracking that complements the CSS-side `@import` graph: when the style\n file changes, the dev server uses `findStyleEntriesImporting` to find\n the JS file that imports it and queues that for rebuild. Without this,\n editing `Foo.module.scss` would only re-emit the CSS module's own\n compiled output without re-running the bundler against the importing\n component, so the new hashed class names never reach the bundle. */\nexport const addStyleImporter = (importerPath: string, stylePath: string) => {\n\tconst key = resolve(importerPath);\n\tconst target = resolve(stylePath);\n\tconst deps = styleDependencyGraph.get(key) ?? new Set<string>();\n\tdeps.add(target);\n\tstyleDependencyGraph.set(key, deps);\n};\n\n/* Files that import the given path. Used by the dev server to rebuild\n importers when a partial changes — there's no import-graph traversal,\n so callers should pass already-resolved absolute paths. */\nexport const findStyleEntriesImporting = (changedPath: string) => {\n\tconst target = resolve(changedPath);\n\tconst importers: string[] = [];\n\tfor (const [entry, deps] of styleDependencyGraph) {\n\t\tif (deps.has(target)) importers.push(entry);\n\t}\n\n\treturn importers;\n};\n\n/* Hash the just-emitted CSS for an entry; returns `true` only when the\n output actually differs from the previous compile. The dev path uses\n this to suppress style-update broadcasts on whitespace-only edits. */\nexport const recordStyleOutput = (entry: string, css: string) => {\n\tconst key = resolve(entry);\n\tconst hash = createHash('sha1').update(css).digest('hex');\n\tconst previous = styleOutputHashes.get(key);\n\tstyleOutputHashes.set(key, hash);\n\n\treturn previous !== hash;\n};\n\n/* Drop cached state for an entry — used when the file is deleted or the\n dev server is shutting down. */\nexport const forgetStyleEntry = (entry: string) => {\n\tconst key = resolve(entry);\n\tstyleDependencyGraph.delete(key);\n\tstyleOutputHashes.delete(key);\n};\n\nexport const compileStyleSource = async (\n\tfilePath: string,\n\tsource?: string,\n\tlanguageHint?: string,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tconst language = getStyleLanguage(languageHint ?? filePath);\n\tconst rawContents = source ?? (await readFile(filePath, 'utf-8'));\n\t// Collect every partial / @import / @use that the compiler touches.\n\t// Stored on `styleDependencyGraph` after compile so the dev server\n\t// can invalidate this entry when one of its imports changes.\n\tconst deps = new Set<string>();\n\n\tif (language === 'scss' || language === 'sass') {\n\t\tconst options = getSassOptions(config, language);\n\t\tconst packageName = options.implementation ?? 'sass';\n\t\tlet sass: typeof import('sass');\n\t\ttry {\n\t\t\tsass = await importOptionalPeer<typeof import('sass')>(packageName);\n\t\t} catch {\n\t\t\tthrow missingDependencyError(packageName, filePath);\n\t\t}\n\n\t\tconst contents = withAdditionalData(\n\t\t\trawContents,\n\t\t\toptions.additionalData\n\t\t);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.loadPaths);\n\t\ttry {\n\t\t\tconst result = sass.compileString(contents, {\n\t\t\t\timporters: [\n\t\t\t\t\tcreateSassImporter(\n\t\t\t\t\t\tfilePath,\n\t\t\t\t\t\tloadPaths,\n\t\t\t\t\t\tlanguage,\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tdeps\n\t\t\t\t\t)\n\t\t\t\t],\n\t\t\t\tloadPaths,\n\t\t\t\tstyle: 'expanded',\n\t\t\t\tsyntax: language === 'sass' ? 'indented' : 'scss',\n\t\t\t\turl: new URL(pathToFileURL(resolve(filePath)).href)\n\t\t\t});\n\n\t\t\tconst css = await runPostcss(result.css, filePath, config);\n\t\t\t// Augment `deps` with `result.loadedUrls`. Detail:\n\t\t\t// resolves a relative `@use './partial'` via the\n\t\t\t// built-in filesystem loader (which it does whenever\n\t\t\t// the source has a `url:` set, which we always do),\n\t\t\t// the custom importer's `canonicalize`/`load` callbacks\n\t\t\t// don't fire — so `deps` would otherwise be empty.\n\t\t\t// `loadedUrls` always reflects every file Sass actually\n\t\t\t// touched, including the entry, so we filter the entry\n\t\t\t// out and add the rest.\n\t\t\tconst loadedUrls = (result.loadedUrls ?? []) as URL[];\n\t\t\tfor (const url of loadedUrls) {\n\t\t\t\tif (url.protocol !== 'file:') continue;\n\t\t\t\tconst dep = fileURLToPath(url);\n\t\t\t\tif (resolve(dep) === resolve(filePath)) continue;\n\t\t\t\tdeps.add(dep);\n\t\t\t}\n\t\t\trecordStyleDeps(filePath, deps);\n\n\t\t\treturn css;\n\t\t} catch (error) {\n\t\t\tthrowPreprocessorError(error, filePath, language);\n\t\t}\n\t}\n\n\tif (language === 'less') {\n\t\tconst options = getLessOptions(config);\n\t\ttype LessRender = typeof import('less').render;\n\t\tlet lessModule: {\n\t\t\tdefault?: { render: LessRender };\n\t\t\trender?: LessRender;\n\t\t};\n\t\ttry {\n\t\t\tlessModule = await importOptionalPeer<typeof lessModule>('less');\n\t\t} catch {\n\t\t\tthrow missingDependencyError('less', filePath);\n\t\t}\n\t\tconst less = lessModule.render ? lessModule : lessModule.default;\n\t\tconst render = less?.render;\n\t\tif (!render) throw missingDependencyError('less', filePath);\n\n\t\tconst contents = withAdditionalData(\n\t\t\trawContents,\n\t\t\toptions.additionalData\n\t\t);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.paths);\n\t\ttry {\n\t\t\tconst result = await render(contents, {\n\t\t\t\t...(options.options ?? {}),\n\t\t\t\tfilename: filePath,\n\t\t\t\tpaths: loadPaths,\n\t\t\t\tplugins: [\n\t\t\t\t\t...((options.options?.plugins as unknown[]) ?? []),\n\t\t\t\t\tcreateLessFileManager(filePath, loadPaths, config, deps)\n\t\t\t\t]\n\t\t\t});\n\n\t\t\tconst css = await runPostcss(result.css, filePath, config);\n\t\t\trecordStyleDeps(filePath, deps);\n\n\t\t\treturn css;\n\t\t} catch (error) {\n\t\t\tthrowPreprocessorError(error, filePath, 'less');\n\t\t}\n\t}\n\n\tif (language === 'stylus') {\n\t\tconst options = getStylusOptions(config);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.paths);\n\t\tconst contents = withAdditionalData(\n\t\t\tpreprocessLoadedStyle(\n\t\t\t\trawContents,\n\t\t\t\tfilePath,\n\t\t\t\tfilePath,\n\t\t\t\tloadPaths,\n\t\t\t\t'stylus',\n\t\t\t\tconfig\n\t\t\t),\n\t\t\toptions.additionalData\n\t\t);\n\n\t\ttry {\n\t\t\tconst css = await runPostcss(\n\t\t\t\tawait renderStylus(\n\t\t\t\t\tcontents,\n\t\t\t\t\tfilePath,\n\t\t\t\t\tloadPaths,\n\t\t\t\t\toptions,\n\t\t\t\t\tdeps\n\t\t\t\t),\n\t\t\t\tfilePath,\n\t\t\t\tconfig\n\t\t\t);\n\t\t\trecordStyleDeps(filePath, deps);\n\n\t\t\treturn css;\n\t\t} catch (error) {\n\t\t\tthrowPreprocessorError(error, filePath, 'stylus');\n\t\t}\n\t}\n\n\treturn runPostcss(rawContents, filePath, config);\n};\n\nexport const createStylePreprocessorPlugin = (\n\tconfig?: StylePreprocessorConfig\n): BunPlugin => ({\n\tname: 'absolute-style-preprocessor',\n\tsetup(build) {\n\t\tconst cssModuleSources = new Map<\n\t\t\tstring,\n\t\t\t{ css: string; exports: Record<string, string> }\n\t\t>();\n\n\t\tbuild.onResolve({ filter: /^absolute-style-module:/ }, ({ path }) => ({\n\t\t\tnamespace: 'absolute-style-module',\n\t\t\tpath: path.slice('absolute-style-module:'.length)\n\t\t}));\n\n\t\tbuild.onLoad(\n\t\t\t{ filter: /\\.module\\.css$/i, namespace: 'absolute-style-module' },\n\t\t\tasync ({ path }) => {\n\t\t\t\tconst source = cssModuleSources.get(path);\n\t\t\t\tif (!source) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Unable to resolve CSS module source for ${path}`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tcontents: source.css,\n\t\t\t\t\tloader: 'css'\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\n\t\tbuild.onLoad({ filter: STYLE_EXTENSION_PATTERN }, async ({ path }) => {\n\t\t\tif (isStyleModulePath(path)) {\n\t\t\t\tconst cssModulePath = path.replace(\n\t\t\t\t\tSTYLE_EXTENSION_PATTERN,\n\t\t\t\t\t'.css'\n\t\t\t\t);\n\t\t\t\tconst compiled = await compileStyleSource(\n\t\t\t\t\tpath,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tconfig\n\t\t\t\t);\n\t\t\t\tconst { css, exports } = extractCssModuleExports(compiled);\n\t\t\t\tcssModuleSources.set(cssModulePath, { css, exports });\n\t\t\t\tconst exportSource =\n\t\t\t\t\tObject.keys(exports).length > 0\n\t\t\t\t\t\t? `import styles from ${JSON.stringify(`absolute-style-module:${cssModulePath}`)}; export default Object.assign({}, styles, ${JSON.stringify(exports)});`\n\t\t\t\t\t\t: `export { default } from ${JSON.stringify(`absolute-style-module:${cssModulePath}`)};`;\n\n\t\t\t\treturn {\n\t\t\t\t\tcontents: exportSource,\n\t\t\t\t\tloader: 'js'\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcontents: await compileStyleSource(\n\t\t\t\t\tpath,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tconfig\n\t\t\t\t),\n\t\t\t\tloader: 'css'\n\t\t\t};\n\t\t});\n\n\t\tbuild.onLoad({ filter: CSS_EXTENSION_PATTERN }, async ({ path }) => ({\n\t\t\tcontents: await compileStyleSource(\n\t\t\t\tpath,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\tconfig\n\t\t\t),\n\t\t\tloader: 'css'\n\t\t}));\n\t}\n});\n\nexport const stylePreprocessorPlugin = createStylePreprocessorPlugin();\n\nexport const createSvelteStylePreprocessor = (\n\tconfig?: StylePreprocessorConfig\n) => ({\n\tstyle: async ({\n\t\tattributes,\n\t\tcontent,\n\t\tfilename\n\t}: {\n\t\tattributes: Record<string, string | boolean>;\n\t\tcontent: string;\n\t\tfilename?: string;\n\t}) => {\n\t\tconst language =\n\t\t\ttypeof attributes.lang === 'string'\n\t\t\t\t? attributes.lang\n\t\t\t\t: typeof attributes.type === 'string'\n\t\t\t\t\t? attributes.type.replace(/^text\\//, '')\n\t\t\t\t\t: null;\n\t\tif (!language || !STYLE_LANGUAGE_PATTERN.test(language)) return;\n\n\t\tconst path = filename ?? `style.${language}`;\n\n\t\treturn {\n\t\t\tcode: await compileStyleSource(path, content, language, config)\n\t\t};\n\t}\n});\n\n/* Pattern shared by `resolveCssImports{Sync,Async}` — top-level\n * `@import \"<path>\";` only. `@import url(...)` and media-qualified\n * imports pass through unchanged. */\n\nconst CSS_IMPORT_PATTERN = /@import\\s+[\"']([^\"']+)[\"']\\s*;?/g;\n\n/* Async counterpart to `resolveCssImportsSync`. Reads imported files\n * via `node:fs/promises.readFile` so the call doesn't block the dev\n * server's event loop on a deep `@import` chain. Same failure modes:\n * `@import url(...)` and media-qualified imports pass through. */\n\nconst resolveCssImportsAsync = async (\n\tcontent: string,\n\tbaseDir: string,\n\tvisited: Set<string>\n): Promise<string> => {\n\tconst matches = Array.from(content.matchAll(CSS_IMPORT_PATTERN));\n\tif (matches.length === 0) return content;\n\n\tlet cursor = 0;\n\tconst parts: string[] = [];\n\tfor (const match of matches) {\n\t\tconst importPath = match[1];\n\t\tif (importPath === undefined) continue;\n\t\tconst start = match.index ?? 0;\n\t\tconst end = start + match[0].length;\n\t\tparts.push(content.slice(cursor, start));\n\n\t\tconst fullPath = isAbsolute(importPath)\n\t\t\t? importPath\n\t\t\t: resolve(baseDir, importPath);\n\t\tif (visited.has(fullPath) || !existsSync(fullPath)) {\n\t\t\tparts.push(visited.has(fullPath) ? '' : match[0]);\n\t\t\tcursor = end;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst nextVisited = new Set(visited);\n\t\tnextVisited.add(fullPath);\n\t\tconst imported = await readFile(fullPath, 'utf-8');\n\t\tparts.push(\n\t\t\tawait resolveCssImportsAsync(\n\t\t\t\timported,\n\t\t\t\tdirname(fullPath),\n\t\t\t\tnextVisited\n\t\t\t)\n\t\t);\n\t\tcursor = end;\n\t}\n\tparts.push(content.slice(cursor));\n\n\treturn parts.join('');\n};\n\nexport const compileStyleFileIfNeeded = async (\n\tfilePath: string,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tif (!isPreprocessableStylePath(filePath)) {\n\t\tconst raw = await readFile(filePath, 'utf-8');\n\t\tconst processed = await runPostcss(raw, filePath, config);\n\t\t// PostCSS only resolves `@import` when configured with\n\t\t// `postcss-import`. We always resolve them here so the inlined\n\t\t// `ɵcmp.styles` content is self-contained — no browser-side\n\t\t// fetch of bare CSS paths that would hit the dev server's\n\t\t// SPA wildcard route and trip Angular's router.\n\t\treturn resolveCssImportsAsync(\n\t\t\tprocessed,\n\t\t\tdirname(filePath),\n\t\t\tnew Set([filePath])\n\t\t);\n\t}\n\n\tconst compiled = await compileStyleSource(\n\t\tfilePath,\n\t\tundefined,\n\t\tundefined,\n\t\tconfig\n\t);\n\t// Sass leaves plain `.css` `@import` statements as-is per CSS spec;\n\t// post-Sass output may still contain them.\n\treturn resolveCssImportsAsync(\n\t\tcompiled,\n\t\tdirname(filePath),\n\t\tnew Set([filePath])\n\t);\n};\n\n/* Resolve top-level CSS `@import \"<path>\";` statements by reading the\n * imported file and inlining its content recursively. Necessary for\n * the sync styleUrls path because Angular component styles get\n * baked into `ɵcmp.styles[]` as plain strings — any unresolved\n * `@import` survives to the rendered `<style>` tag, where the browser\n * tries to fetch the bare path. The dev server has no static file at\n * that path (component CSS is bundled as JS in dev), so the request\n * falls through to the SSR catch-all and Angular's router throws\n * NG04002.\n *\n * Sass / SCSS files don't need this — Sass compiles its own\n * `@import / @use` graph in `sass.compileString`. This helper only\n * applies to plain `.css` content (and the post-Sass output, which\n * may itself contain plain CSS `@import \"x.css\"` statements that\n * Sass leaves as-is when the path ends in `.css`).\n *\n * Tracks visited paths to break cycles. Skips `@import url(...)`,\n * `@import \"...\" screen`, and other forms that need media-query\n * preservation — those fall through unchanged for now (Phase 3\n * follow-up). */\n\nconst resolveCssImportsSync = (\n\tcontent: string,\n\tbaseDir: string,\n\tvisited: Set<string>\n): string => {\n\treturn content.replace(CSS_IMPORT_PATTERN, (match, importPath) => {\n\t\tconst fullPath = isAbsolute(importPath)\n\t\t\t? importPath\n\t\t\t: resolve(baseDir, importPath);\n\t\tif (visited.has(fullPath)) return '';\n\t\tif (!existsSync(fullPath)) return match;\n\n\t\tconst nextVisited = new Set(visited);\n\t\tnextVisited.add(fullPath);\n\t\tconst imported = readFileSync(fullPath, 'utf-8');\n\n\t\treturn resolveCssImportsSync(imported, dirname(fullPath), nextVisited);\n\t});\n};\n\nexport const compileStyleFileIfNeededSync = (\n\tfilePath: string,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tconst rawContents = readFileSync(filePath, 'utf-8');\n\tconst language = getStyleLanguage(filePath);\n\tif (config?.postcss) {\n\t\tthrow new Error(\n\t\t\t`Unable to compile ${filePath}: PostCSS preprocessing is async-only.`\n\t\t);\n\t}\n\tif (language === 'scss' || language === 'sass') {\n\t\tconst options = getSassOptions(config, language);\n\t\tconst packageName = options.implementation ?? 'sass';\n\t\tlet sass: typeof import('sass');\n\t\ttry {\n\t\t\tsass = requireOptionalPeerSync<typeof import('sass')>(packageName);\n\t\t} catch {\n\t\t\tthrow missingDependencyError(packageName, filePath);\n\t\t}\n\n\t\tconst contents = withAdditionalData(\n\t\t\trawContents,\n\t\t\toptions.additionalData\n\t\t);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.loadPaths);\n\t\tconst result = sass.compileString(contents, {\n\t\t\timporters: [\n\t\t\t\tcreateSassImporter(filePath, loadPaths, language, config)\n\t\t\t],\n\t\t\tloadPaths,\n\t\t\tstyle: 'expanded',\n\t\t\tsyntax: language === 'sass' ? 'indented' : 'scss',\n\t\t\turl: new URL(pathToFileURL(resolve(filePath)).href)\n\t\t});\n\t\t// Track every `@use` / `@import` dependency Sass loaded so\n\t\t// downstream HMR can find the entry stylesheet that needs to\n\t\t// re-emit when a shared partial (`_shared.scss`,\n\t\t// `_tokens.scss`) changes. `result.loadedUrls` includes the\n\t\t// entry itself plus everything it pulled in. Without this,\n\t\t// editing a shared partial silently keeps the entry's stale\n\t\t// CSS until a full restart.\n\t\tconst loadedUrls = (result.loadedUrls ?? []) as URL[];\n\t\tfor (const url of loadedUrls) {\n\t\t\tif (url.protocol !== 'file:') continue;\n\t\t\tconst dep = fileURLToPath(url);\n\t\t\tif (resolve(dep) === resolve(filePath)) continue;\n\t\t\taddStyleImporter(filePath, dep);\n\t\t}\n\t\t// Sass leaves plain `.css` `@import` statements alone (per CSS\n\t\t// spec, those are runtime-resolved). Resolve them here so the\n\t\t// inlined `ɵcmp.styles` content is self-contained.\n\t\treturn resolveCssImportsSync(\n\t\t\tresult.css,\n\t\t\tdirname(filePath),\n\t\t\tnew Set([filePath])\n\t\t);\n\t}\n\tif (language === 'less') {\n\t\tthrow new Error(\n\t\t\t`Unable to compile ${filePath}: Less styleUrl preprocessing is async-only. Import the Less file from a bundled entrypoint or use SCSS/CSS for Angular styleUrl.`\n\t\t);\n\t}\n\tif (language === 'stylus') {\n\t\tthrow new Error(\n\t\t\t`Unable to compile ${filePath}: Stylus styleUrl preprocessing is async-only. Import the Stylus file from a bundled entrypoint or use SCSS/CSS for Angular styleUrl.`\n\t\t);\n\t}\n\n\treturn resolveCssImportsSync(\n\t\trawContents,\n\t\tdirname(filePath),\n\t\tnew Set([filePath])\n\t);\n};\n\nexport const getCssOutputExtension = (filePath: string) =>\n\tisPreprocessableStylePath(filePath) ? '.css' : extname(filePath);\n",
23
23
  "import type { Dirent } from 'node:fs';\nimport { mkdir, readdir } from 'node:fs/promises';\nimport { basename, dirname, extname, join, relative, resolve } from 'node:path';\nimport { resolvePackageImport } from '../build/resolvePackageImport';\nimport { lowerSvelteIslandSyntax } from '../svelte/lowerIslandSyntax';\nimport { lowerSvelteAwaitSlotSyntax } from '../svelte/lowerAwaitSlotSyntax';\nimport { createSvelteStylePreprocessor } from '../build/stylePreprocessor';\n\nconst serverCacheRoot = join(process.cwd(), '.absolutejs', 'islands', 'svelte');\n\nconst compiledModuleCache = new Map<string, string>();\nconst originalSourcePathCache = new Map<string, string>();\n\nconst transpiler = new Bun.Transpiler({\n\tloader: 'ts',\n\ttarget: 'browser'\n});\n\nconst ensureRelativeImportPath = (from: string, target: string) => {\n\tconst importPath = relative(dirname(from), target).replace(/\\\\/g, '/');\n\n\treturn importPath.startsWith('.') ? importPath : `./${importPath}`;\n};\n\nconst processDirectoryEntries = (\n\tentries: Dirent<string>[],\n\tdir: string,\n\ttargetFileName: string,\n\tstack: string[]\n) => {\n\tfor (const entry of entries) {\n\t\tconst entryPath = join(dir, entry.name);\n\t\tif (entry.isDirectory()) stack.push(entryPath);\n\n\t\tif (entry.isFile() && entry.name === targetFileName) {\n\t\t\treturn entryPath;\n\t\t}\n\t}\n\n\treturn null;\n};\n\nconst searchDirectoryLevel = async (dirs: string[], targetFileName: string) => {\n\tif (dirs.length === 0) return null;\n\n\tconst nextStack: string[] = [];\n\tconst dirEntries = await Promise.all(\n\t\tdirs.map(async (dir) => ({\n\t\t\tdir,\n\t\t\tentries: await readdir(dir, {\n\t\t\t\tencoding: 'utf-8',\n\t\t\t\twithFileTypes: true\n\t\t\t})\n\t\t}))\n\t);\n\n\tfor (const { dir, entries } of dirEntries) {\n\t\tconst found = processDirectoryEntries(\n\t\t\tentries,\n\t\t\tdir,\n\t\t\ttargetFileName,\n\t\t\tnextStack\n\t\t);\n\t\tif (found) return found;\n\t}\n\n\treturn searchDirectoryLevel(nextStack, targetFileName);\n};\n\nconst findSourceFileByBasename = async (\n\tsearchRoot: string,\n\ttargetFileName: string\n) => searchDirectoryLevel([searchRoot], targetFileName);\n\nconst normalizeBuiltSvelteFileName = (sourcePath: string) =>\n\tbasename(sourcePath).replace(/-[a-z0-9]{6,}(?=\\.svelte$)/i, '');\n\nconst resolveOriginalSourcePath = async (sourcePath: string) => {\n\tconst cachedPath = originalSourcePathCache.get(sourcePath);\n\tif (cachedPath !== undefined) {\n\t\treturn cachedPath;\n\t}\n\n\tif (\n\t\t!sourcePath.includes(\n\t\t\t`${join(process.cwd(), 'build')}${process.platform === 'win32' ? '' : '/'}`\n\t\t) &&\n\t\t!sourcePath.includes('/build/')\n\t) {\n\t\toriginalSourcePathCache.set(sourcePath, sourcePath);\n\n\t\treturn sourcePath;\n\t}\n\n\tconst resolvedSourcePath = await findSourceFileByBasename(\n\t\tjoin(process.cwd(), 'src'),\n\t\tnormalizeBuiltSvelteFileName(sourcePath)\n\t);\n\tconst nextPath = resolvedSourcePath ?? sourcePath;\n\toriginalSourcePathCache.set(sourcePath, nextPath);\n\n\treturn nextPath;\n};\n\nconst resolveRelativeModule = async (spec: string, from: string) => {\n\tif (!spec.startsWith('.')) {\n\t\treturn null;\n\t}\n\n\tconst basePath = resolve(dirname(from), spec);\n\tconst candidates = [\n\t\tbasePath,\n\t\t`${basePath}.ts`,\n\t\t`${basePath}.js`,\n\t\t`${basePath}.mjs`,\n\t\t`${basePath}.cjs`,\n\t\t`${basePath}.json`,\n\t\tjoin(basePath, 'index.ts'),\n\t\tjoin(basePath, 'index.js'),\n\t\tjoin(basePath, 'index.mjs'),\n\t\tjoin(basePath, 'index.cjs'),\n\t\tjoin(basePath, 'index.json')\n\t];\n\n\tconst existResults = await Promise.all(\n\t\tcandidates.map((candidate) => Bun.file(candidate).exists())\n\t);\n\tconst foundIndex = existResults.indexOf(true);\n\n\treturn foundIndex >= 0 ? (candidates[foundIndex] ?? null) : null;\n};\n\nconst getCachedModulePath = (sourcePath: string) => {\n\tconst relativeSourcePath = relative(process.cwd(), sourcePath).replace(\n\t\t/\\\\/g,\n\t\t'/'\n\t);\n\tconst normalizedSourcePath = relativeSourcePath.startsWith('..')\n\t\t? sourcePath.replace(/[:\\\\/]/g, '_')\n\t\t: relativeSourcePath;\n\n\treturn join(serverCacheRoot, `${normalizedSourcePath}.server.js`);\n};\n\nconst resolveSvelteImport = async (spec: string, from: string) => {\n\tif (!spec.startsWith('.') && !spec.startsWith('/')) {\n\t\tconst resolved = resolvePackageImport(spec);\n\n\t\treturn resolved && resolved.endsWith('.svelte') ? resolved : null;\n\t}\n\n\tif (spec.startsWith('/')) {\n\t\treturn spec;\n\t}\n\n\tif (!spec.startsWith('.')) {\n\t\treturn null;\n\t}\n\n\tconst explicitPath = resolve(dirname(from), spec);\n\tif (extname(explicitPath) === '.svelte') {\n\t\treturn explicitPath;\n\t}\n\n\tconst candidate = `${explicitPath}.svelte`;\n\tif ((await Bun.file(candidate).exists()) === true) {\n\t\treturn candidate;\n\t}\n\n\treturn null;\n};\n\nconst writeIfChanged = async (path: string, content: string) => {\n\tconst targetFile = Bun.file(path);\n\tconst exists = await targetFile.exists();\n\tif (exists) {\n\t\tconst currentContent = await targetFile.text();\n\t\tif (currentContent === content) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tawait Bun.write(path, content);\n};\n\nexport const compileSvelteServerModule = async (sourcePath: string) => {\n\tconst cachedModulePath = compiledModuleCache.get(sourcePath);\n\tif (cachedModulePath) {\n\t\treturn cachedModulePath;\n\t}\n\n\tconst resolutionSourcePath = await resolveOriginalSourcePath(sourcePath);\n\tconst source = await Bun.file(sourcePath).text();\n\tconst { compile, preprocess } = await import('svelte/compiler');\n\tconst loweredAwaitSource = lowerSvelteAwaitSlotSyntax(source);\n\tconst loweredSource = lowerSvelteIslandSyntax(\n\t\tloweredAwaitSource.code,\n\t\t'server'\n\t);\n\tconst preprocessed = await preprocess(\n\t\tloweredSource.code,\n\t\tcreateSvelteStylePreprocessor()\n\t);\n\tlet transpiled =\n\t\tsourcePath.endsWith('.ts') || sourcePath.endsWith('.svelte.ts')\n\t\t\t? transpiler.transformSync(preprocessed.code)\n\t\t\t: preprocessed.code;\n\tconst childImportSpecs = Array.from(\n\t\ttranspiled.matchAll(/from\\s+['\"]([^'\"]+)['\"]/g)\n\t)\n\t\t.map((match) => match[1])\n\t\t.filter((value): value is string => value !== undefined);\n\tconst resolvedChildModules = await Promise.all(\n\t\tchildImportSpecs.map((spec) =>\n\t\t\tresolveSvelteImport(spec, resolutionSourcePath)\n\t\t)\n\t);\n\tconst resolvedModuleImports = await Promise.all(\n\t\tchildImportSpecs.map((spec) =>\n\t\t\tresolveRelativeModule(spec, resolutionSourcePath)\n\t\t)\n\t);\n\tconst childModulePaths = new Map<string, string>();\n\tconst rewrittenModulePaths = new Map<string, string>();\n\n\tconst compiledChildren = await Promise.all(\n\t\tchildImportSpecs.map(async (spec, index) => {\n\t\t\tconst resolvedChild = resolvedChildModules[index];\n\t\t\tif (!spec || !resolvedChild) return null;\n\n\t\t\treturn {\n\t\t\t\tcompiledPath: await compileSvelteServerModule(resolvedChild),\n\t\t\t\tresolvedChild,\n\t\t\t\tspec\n\t\t\t};\n\t\t})\n\t);\n\n\tfor (const result of compiledChildren) {\n\t\tif (!result) continue;\n\t\tchildModulePaths.set(result.spec, result.compiledPath);\n\t\tchildModulePaths.set(result.resolvedChild, result.compiledPath);\n\t}\n\n\tfor (let index = 0; index < childImportSpecs.length; index += 1) {\n\t\tconst spec = childImportSpecs[index];\n\t\tconst resolvedModuleImport = resolvedModuleImports[index];\n\t\tif (!spec || !resolvedModuleImport) continue;\n\t\tif (resolvedChildModules[index]) continue;\n\n\t\trewrittenModulePaths.set(\n\t\t\tspec,\n\t\t\tensureRelativeImportPath(\n\t\t\t\tgetCachedModulePath(sourcePath),\n\t\t\t\tresolvedModuleImport\n\t\t\t)\n\t\t);\n\t}\n\n\tfor (const [spec, resolvedModuleImport] of rewrittenModulePaths) {\n\t\ttranspiled = transpiled.replaceAll(spec, resolvedModuleImport);\n\t}\n\n\tlet compiledCode = compile(transpiled, {\n\t\tcss: 'injected',\n\t\texperimental: {\n\t\t\tasync: loweredAwaitSource.transformed || loweredSource.transformed\n\t\t},\n\t\tfilename: resolutionSourcePath,\n\t\tgenerate: 'server'\n\t}).js.code;\n\n\tfor (const [spec, compiledChildPath] of childModulePaths) {\n\t\tcompiledCode = compiledCode.replaceAll(\n\t\t\tspec,\n\t\t\tensureRelativeImportPath(\n\t\t\t\tgetCachedModulePath(sourcePath),\n\t\t\t\tcompiledChildPath\n\t\t\t)\n\t\t);\n\t}\n\n\tfor (const [spec, resolvedModuleImport] of rewrittenModulePaths) {\n\t\tcompiledCode = compiledCode.replaceAll(spec, resolvedModuleImport);\n\t}\n\n\tconst compiledModulePath = getCachedModulePath(sourcePath);\n\tawait mkdir(dirname(compiledModulePath), { recursive: true });\n\tawait writeIfChanged(compiledModulePath, compiledCode);\n\tcompiledModuleCache.set(sourcePath, compiledModulePath);\n\n\treturn compiledModulePath;\n};\n",
24
24
  "import { mkdir } from 'node:fs/promises';\nimport { dirname, join, relative, resolve } from 'node:path';\nimport { Transpiler } from 'bun';\nimport { BASE_36_RADIX } from '../constants';\n\nconst ISLAND_COMPONENT_ID_LENGTH = 8;\n\nconst serverCacheRoot = join(process.cwd(), '.absolutejs', 'islands', 'vue');\n\nconst compiledModuleCache = new Map<string, string>();\n\nconst transpiler = new Transpiler({ loader: 'ts', target: 'browser' });\n\nconst ensureRelativeImportPath = (from: string, target: string) => {\n\tconst importPath = relative(dirname(from), target).replace(/\\\\/g, '/');\n\n\treturn importPath.startsWith('.') ? importPath : `./${importPath}`;\n};\n\nconst getCachedModulePath = (sourcePath: string) => {\n\tconst relativeSourcePath = relative(process.cwd(), sourcePath).replace(\n\t\t/\\\\/g,\n\t\t'/'\n\t);\n\tconst normalizedSourcePath = relativeSourcePath.startsWith('..')\n\t\t? sourcePath.replace(/[:\\\\/]/g, '_')\n\t\t: relativeSourcePath;\n\n\treturn join(serverCacheRoot, `${normalizedSourcePath}.server.js`);\n};\n\nconst writeIfChanged = async (path: string, content: string) => {\n\tconst targetFile = Bun.file(path);\n\tif (await targetFile.exists()) {\n\t\tconst currentContent = await targetFile.text();\n\t\tif (currentContent === content) return;\n\t}\n\n\tawait Bun.write(path, content);\n};\n\nconst stripExports = (code: string) =>\n\tcode.replace(/export\\s+default/, 'const script =');\n\nconst mergeVueImports = (code: string) => {\n\tconst lines = code.split('\\n');\n\tconst specifierSet = new Set<string>();\n\tconst vueImportRegex = /^import\\s+{([^}]+)}\\s+from\\s+['\"]vue['\"];?$/;\n\n\tlines.forEach((line) => {\n\t\tconst match = line.match(vueImportRegex);\n\t\tif (match?.[1])\n\t\t\tmatch[1]\n\t\t\t\t.split(',')\n\t\t\t\t.forEach((importSpecifier) =>\n\t\t\t\t\tspecifierSet.add(importSpecifier.trim())\n\t\t\t\t);\n\t});\n\n\tconst nonVueLines = lines.filter((line) => !vueImportRegex.test(line));\n\n\treturn specifierSet.size\n\t\t? [\n\t\t\t\t`import { ${[...specifierSet].join(', ')} } from \"vue\";`,\n\t\t\t\t...nonVueLines\n\t\t\t].join('\\n')\n\t\t: nonVueLines.join('\\n');\n};\n\nconst extractRelativeVueImports = (sourceCode: string) =>\n\tArray.from(sourceCode.matchAll(/import\\s+[\\s\\S]+?['\"]([^'\"]+)['\"]/g))\n\t\t.map((match) => match[1])\n\t\t.filter(\n\t\t\t(importPath): importPath is string =>\n\t\t\t\ttypeof importPath === 'string' &&\n\t\t\t\timportPath.startsWith('.') &&\n\t\t\t\timportPath.endsWith('.vue')\n\t\t);\n\n/* Compile a `.vue` SFC source file into a JS module suitable for a\n server-side `await import(...)`. Mirrors `compileSvelteServerModule`:\n the build-time pipeline already emits compiled SFCs to `build/...`,\n but the runtime SSR resolver may be handed a build reference that\n points back to the original `.vue` source (Vue island registry\n entries use the source path as their build reference). Bun has no\n runtime `.vue` loader, so this helper produces a cached JS file the\n resolver can dynamically import. */\nexport const compileVueServerModule = async (sourcePath: string) => {\n\tconst cachedModulePath = compiledModuleCache.get(sourcePath);\n\tif (cachedModulePath) return cachedModulePath;\n\n\tconst compiler = await import('@vue/compiler-sfc');\n\tconst source = await Bun.file(sourcePath).text();\n\tconst { descriptor } = compiler.parse(source, { filename: sourcePath });\n\tconst componentId = Bun.hash(sourcePath)\n\t\t.toString(BASE_36_RADIX)\n\t\t.slice(0, ISLAND_COMPONENT_ID_LENGTH);\n\n\tconst hasScript = descriptor.script || descriptor.scriptSetup;\n\tconst compiledScript = hasScript\n\t\t? compiler.compileScript(descriptor, {\n\t\t\t\tid: componentId,\n\t\t\t\tinlineTemplate: false\n\t\t\t})\n\t\t: { bindings: {}, content: 'export default {};' };\n\n\tconst renderCode = descriptor.template\n\t\t? compiler.compileTemplate({\n\t\t\t\tcompilerOptions: {\n\t\t\t\t\tbindingMetadata: compiledScript.bindings,\n\t\t\t\t\texpressionPlugins: ['typescript'],\n\t\t\t\t\tprefixIdentifiers: true,\n\t\t\t\t\tisCustomElement: (tag) => tag === 'absolute-island'\n\t\t\t\t},\n\t\t\t\tfilename: sourcePath,\n\t\t\t\tid: componentId,\n\t\t\t\tscoped: descriptor.styles.some(\n\t\t\t\t\t(styleBlock) => styleBlock.scoped\n\t\t\t\t),\n\t\t\t\tsource: descriptor.template.content,\n\t\t\t\tssr: true,\n\t\t\t\tssrCssVars: descriptor.cssVars\n\t\t\t}).code\n\t\t: 'const ssrRender = () => {};';\n\n\tconst childImportPaths = extractRelativeVueImports(compiledScript.content);\n\tconst compiledChildren = await Promise.all(\n\t\tchildImportPaths.map(async (relativeImport) => ({\n\t\t\tcompiledPath: await compileVueServerModule(\n\t\t\t\tresolve(dirname(sourcePath), relativeImport)\n\t\t\t),\n\t\t\tspec: relativeImport\n\t\t}))\n\t);\n\n\tconst strippedScript = stripExports(compiledScript.content);\n\tconst transpiledScript = transpiler.transformSync(strippedScript);\n\n\tconst assembled = mergeVueImports(\n\t\t[\n\t\t\ttranspiledScript,\n\t\t\trenderCode,\n\t\t\t'script.ssrRender = ssrRender;',\n\t\t\t'export default script;'\n\t\t].join('\\n')\n\t);\n\n\tconst compiledModulePath = getCachedModulePath(sourcePath);\n\tlet rewritten = assembled;\n\tfor (const child of compiledChildren) {\n\t\trewritten = rewritten.replaceAll(\n\t\t\tchild.spec,\n\t\t\tensureRelativeImportPath(compiledModulePath, child.compiledPath)\n\t\t);\n\t}\n\n\tawait mkdir(dirname(compiledModulePath), { recursive: true });\n\tawait writeIfChanged(compiledModulePath, rewritten);\n\tcompiledModuleCache.set(sourcePath, compiledModulePath);\n\n\treturn compiledModulePath;\n};\n",
25
25
  "import type { IslandFramework } from '../../types/island';\n\nconst toIslandFrameworkSegment = (framework: IslandFramework) =>\n\tframework[0]?.toUpperCase() + framework.slice(1);\n\nconst collectFrameworkIslands = (\n\tmanifest: Record<string, string>,\n\tprefix: string\n) => {\n\tconst entries: Record<string, string> = {};\n\tlet found = false;\n\n\tfor (const [key, value] of Object.entries(manifest)) {\n\t\tif (!key.startsWith(prefix)) continue;\n\n\t\tconst component = key.slice(prefix.length);\n\t\tif (!component) continue;\n\n\t\tentries[component] = value;\n\t\tfound = true;\n\t}\n\n\treturn found ? entries : undefined;\n};\n\nexport const getIslandManifestEntries = (manifest: Record<string, string>) => {\n\tconst islands: Partial<Record<IslandFramework, Record<string, string>>> =\n\t\t{};\n\tconst frameworks: IslandFramework[] = ['react', 'svelte', 'vue', 'angular'];\n\n\tfor (const framework of frameworks) {\n\t\tconst prefix = `Island${toIslandFrameworkSegment(framework)}`;\n\t\tconst entries = collectFrameworkIslands(manifest, prefix);\n\t\tif (entries) islands[framework] = entries;\n\t}\n\n\treturn islands;\n};\nexport const getIslandManifestKey = (\n\tframework: IslandFramework,\n\tcomponent: string\n) => `Island${toIslandFrameworkSegment(framework)}${component}`;\n",
@@ -36,7 +36,7 @@
36
36
  "import type { IslandFramework, IslandHydrate } from '../../types/island';\n\nexport type PageIslandUsage = {\n\tcomponent: string;\n\tframework: IslandFramework;\n\thydrate?: IslandHydrate;\n\tsource?: string;\n};\n\nconst islandFrameworks: IslandFramework[] = [\n\t'react',\n\t'svelte',\n\t'vue',\n\t'angular'\n];\n\nconst islandHydrationModes: IslandHydrate[] = [\n\t'load',\n\t'idle',\n\t'visible',\n\t'none'\n];\n\nconst isIslandFramework = (value: string): value is IslandFramework =>\n\tislandFrameworks.some((framework) => framework === value);\n\nconst isIslandHydrate = (value: string): value is IslandHydrate =>\n\tislandHydrationModes.some((hydrate) => hydrate === value);\n\nconst parseIslandTagAttributes = (attributeString: string) => {\n\tconst frameworkMatch = attributeString.match(\n\t\t/\\bframework\\s*=\\s*[\"']([^\"']+)[\"']/\n\t);\n\tconst componentMatch = attributeString.match(\n\t\t/\\bcomponent\\s*=\\s*[\"']([^\"']+)[\"']/\n\t);\n\tconst hydrateMatch = attributeString.match(\n\t\t/\\bhydrate\\s*=\\s*[\"']([^\"']+)[\"']/\n\t);\n\tconst framework = frameworkMatch?.[1];\n\tconst component = componentMatch?.[1];\n\tif (!framework || !component) {\n\t\treturn null;\n\t}\n\tif (!isIslandFramework(framework)) {\n\t\treturn null;\n\t}\n\n\tconst hydrateCandidate = hydrateMatch?.[1];\n\n\treturn {\n\t\tcomponent,\n\t\tframework,\n\t\thydrate:\n\t\t\thydrateCandidate && isIslandHydrate(hydrateCandidate)\n\t\t\t\t? hydrateCandidate\n\t\t\t\t: undefined\n\t} satisfies PageIslandUsage;\n};\n\nconst normalizeUsage = (usage: PageIslandUsage) =>\n\t`${usage.framework}:${usage.component}:${usage.hydrate ?? ''}`;\n\nconst addUsage = (\n\tusageMap: Map<string, PageIslandUsage>,\n\tusage: PageIslandUsage | null\n) => {\n\tif (!usage) return;\n\tusageMap.set(normalizeUsage(usage), usage);\n};\n\nconst addRenderCallUsage = (\n\tusageMap: Map<string, PageIslandUsage>,\n\tmatch: RegExpExecArray\n) => {\n\tconst [, framework, component, hydrate] = match;\n\tif (!framework || !component || !isIslandFramework(framework)) {\n\t\treturn;\n\t}\n\n\taddUsage(usageMap, {\n\t\tcomponent,\n\t\tframework,\n\t\thydrate: hydrate && isIslandHydrate(hydrate) ? hydrate : undefined\n\t});\n};\n\nexport const buildIslandMetadataExports = (source: string) => {\n\tconst usages = extractIslandUsagesFromSource(source);\n\tconst serialized = JSON.stringify(usages);\n\n\treturn `\\nexport const __ABSOLUTE_PAGE_ISLANDS__ = ${serialized};\\nexport const __ABSOLUTE_PAGE_HAS_ISLANDS__ = ${usages.length > 0};\\n`;\n};\nexport const extractIslandUsagesFromSource = (source: string) => {\n\tconst usageMap = new Map<string, PageIslandUsage>();\n\n\tconst islandTagRegex =\n\t\t/<Island\\b([\\s\\S]*?)(?:\\/>|>(?:[\\s\\S]*?)<\\/Island>)/g;\n\tlet islandTagMatch = islandTagRegex.exec(source);\n\twhile (islandTagMatch) {\n\t\taddUsage(usageMap, parseIslandTagAttributes(islandTagMatch[1] ?? ''));\n\t\tislandTagMatch = islandTagRegex.exec(source);\n\t}\n\n\tconst absoluteIslandTagRegex =\n\t\t/<absolute-island\\b([\\s\\S]*?)(?:\\/>|>(?:[\\s\\S]*?)<\\/absolute-island>)/g;\n\tlet absoluteIslandMatch = absoluteIslandTagRegex.exec(source);\n\twhile (absoluteIslandMatch) {\n\t\taddUsage(\n\t\t\tusageMap,\n\t\t\tparseIslandTagAttributes(absoluteIslandMatch[1] ?? '')\n\t\t);\n\t\tabsoluteIslandMatch = absoluteIslandTagRegex.exec(source);\n\t}\n\n\tconst staticRenderCallRegex =\n\t\t/renderIsland\\s*\\(\\s*\\{[\\s\\S]*?\\bframework\\s*:\\s*['\"]([^'\"]+)['\"][\\s\\S]*?\\bcomponent\\s*:\\s*['\"]([^'\"]+)['\"](?:[\\s\\S]*?\\bhydrate\\s*:\\s*['\"]([^'\"]+)['\"])?[\\s\\S]*?\\}\\s*\\)/g;\n\tlet renderMatch = staticRenderCallRegex.exec(source);\n\twhile (renderMatch) {\n\t\taddRenderCallUsage(usageMap, renderMatch);\n\t\trenderMatch = staticRenderCallRegex.exec(source);\n\t}\n\n\treturn [...usageMap.values()];\n};\nexport const hasIslandUsageInSource = (source: string) =>\n\textractIslandUsagesFromSource(source).length > 0;\n",
37
37
  "import { BASE_36_RADIX, MILLISECONDS_IN_A_SECOND } from '../constants';\n\nexport type LoweredAngularDeferSlot = {\n\tdelayMs: number;\n\terrorHtml: string | null;\n\tfallbackHtml: string;\n\tid: string;\n\tresolvedBindings: Array<{\n\t\texpression: string;\n\t\tkey: string;\n\t}>;\n\tresolvedHtml: string;\n\tresolvedTemplate: string;\n};\n\nexport type LoweredAngularDeferResult = {\n\tslots: LoweredAngularDeferSlot[];\n\ttemplate: string;\n\ttransformed: boolean;\n};\n\nconst isInterpolatedExpressionStart = (value: string, index: number) =>\n\tvalue[index] === '{' && value[index + 1] === '{';\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 updateBlockDepth = (char: string, depth: number) => {\n\tif (char === '{') {\n\t\treturn depth + 1;\n\t}\n\n\tif (char === '}') {\n\t\treturn depth - 1;\n\t}\n\n\treturn depth;\n};\n\nconst updateParenthesisDepth = (char: string, depth: number) => {\n\tif (char === '(') {\n\t\treturn depth + 1;\n\t}\n\n\tif (char === ')') {\n\t\treturn depth - 1;\n\t}\n\n\treturn depth;\n};\n\nconst appendResolvedChunk = (\n\tvalue: string,\n\ttemplate: string,\n\tcursor: number,\n\tinterpolationStart: number\n) => {\n\tconst nextTemplate = template + value.slice(cursor, interpolationStart);\n\tconst nextCursor = skipInterpolatedExpression(value, interpolationStart);\n\tif (nextCursor > value.length) {\n\t\treturn {\n\t\t\tbindings: undefined,\n\t\t\tcursor: value.length,\n\t\t\tdone: true,\n\t\t\ttemplate: nextTemplate + value.slice(interpolationStart)\n\t\t};\n\t}\n\n\tconst expression = value\n\t\t.slice(interpolationStart + 2, nextCursor - 2)\n\t\t.trim();\n\n\treturn {\n\t\tbindings: expression,\n\t\tcursor: nextCursor,\n\t\tdone: false,\n\t\ttemplate: nextTemplate\n\t};\n};\n\nconst appendTrailingTemplate = (\n\tvalue: string,\n\ttemplate: string,\n\tcursor: number\n) => template + value.slice(cursor);\n\nconst consumeDeferredAuxiliaryBlock = (input: {\n\tcursorAfterResolved: number;\n\tkeyword: '@error' | '@placeholder';\n\ttemplate: string;\n}) => {\n\tconst parsedBlock = parseDeferredAuxiliaryBlock(\n\t\tinput.template,\n\t\tinput.cursorAfterResolved,\n\t\tinput.keyword\n\t);\n\tif (!parsedBlock) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tcontent: parsedBlock.content.trim(),\n\t\tnextIndex:\n\t\t\tinput.keyword === '@placeholder'\n\t\t\t\t? skipWhitespace(input.template, parsedBlock.nextIndex)\n\t\t\t\t: parsedBlock.nextIndex\n\t};\n};\n\nconst resolveDeferSlotStart = (\n\ttemplate: string,\n\tdeferIndex: number,\n\tmarkerCursor: number\n) => {\n\tconst nextMarkerCursor = skipWhitespace(template, markerCursor);\n\tif (template[nextMarkerCursor] === '{') {\n\t\treturn {\n\t\t\tchanged: false,\n\t\t\tcursor: deferIndex,\n\t\t\tmarkerCursor: nextMarkerCursor,\n\t\t\ttemplatePrefix: ''\n\t\t};\n\t}\n\n\treturn {\n\t\tchanged: true,\n\t\tcursor: deferIndex + '@defer'.length,\n\t\tmarkerCursor: nextMarkerCursor,\n\t\ttemplatePrefix: '&#64;defer'\n\t};\n};\n\nconst consumeBlockCursor = (\n\tvalue: string,\n\tstart: number,\n\tcursor: number,\n\tdepth: number\n) => {\n\tif (isInterpolatedExpressionStart(value, cursor)) {\n\t\treturn {\n\t\t\tcursor: skipInterpolatedExpression(value, cursor),\n\t\t\tdepth,\n\t\t\tresult: null\n\t\t};\n\t}\n\n\tconst char = value[cursor] ?? '';\n\tconst nextDepth = updateBlockDepth(char, depth);\n\tif (char === '}' && nextDepth === 0) {\n\t\treturn {\n\t\t\tcursor,\n\t\t\tdepth,\n\t\t\tresult: {\n\t\t\t\tcontent: value.slice(start + 1, cursor),\n\t\t\t\tnextIndex: cursor + 1\n\t\t\t}\n\t\t};\n\t}\n\n\treturn {\n\t\tcursor: cursor + 1,\n\t\tdepth: nextDepth,\n\t\tresult: null\n\t};\n};\n\nconst consumeResolvedTemplateChunk = (\n\tvalue: string,\n\ttemplate: string,\n\tcursor: number,\n\tbindingsLength: number\n) => {\n\tconst interpolationStart = value.indexOf('{{', cursor);\n\tif (interpolationStart < 0) {\n\t\treturn {\n\t\t\tbinding: null,\n\t\t\tcursor,\n\t\t\tdone: true,\n\t\t\ttemplate: appendTrailingTemplate(value, template, cursor)\n\t\t};\n\t}\n\n\tconst nextChunk = appendResolvedChunk(\n\t\tvalue,\n\t\ttemplate,\n\t\tcursor,\n\t\tinterpolationStart\n\t);\n\tif (nextChunk.done || nextChunk.bindings === undefined) {\n\t\treturn {\n\t\t\tbinding: null,\n\t\t\tcursor,\n\t\t\tdone: true,\n\t\t\ttemplate: nextChunk.template\n\t\t};\n\t}\n\n\tconst key = `e${bindingsLength.toString(BASE_36_RADIX)}`;\n\n\treturn {\n\t\tbinding: {\n\t\t\texpression: nextChunk.bindings,\n\t\t\tkey\n\t\t},\n\t\tcursor: nextChunk.cursor,\n\t\tdone: false,\n\t\ttemplate: `${nextChunk.template}{{ slotData[\"${key}\"] }}`\n\t};\n};\n\nconst readNextDeferBlock = (template: string, cursor: number) => {\n\tconst deferIndex = template.indexOf('@defer', cursor);\n\tif (deferIndex < 0) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tdeferIndex,\n\t\tprefix: template.slice(cursor, deferIndex)\n\t};\n};\n\nconst buildDeferredSlot = (input: {\n\tcursorAfterResolved: number;\n\terrorHtml: string | null;\n\tplaceholderHtml: string;\n\tresolvedBlock: { content: string; nextIndex: number };\n\tslotIndex: number;\n\ttriggerExpression: string | undefined;\n}) => {\n\tconst {\n\t\tcursorAfterResolved,\n\t\terrorHtml,\n\t\tplaceholderHtml,\n\t\tresolvedBlock,\n\t\tslotIndex,\n\t\ttriggerExpression\n\t} = input;\n\tconst resolvedHtml = resolvedBlock.content.trim();\n\tconst transformedResolved = transformResolvedTemplate(resolvedHtml);\n\tconst id = `absolute-angular-defer-${slotIndex.toString(BASE_36_RADIX)}`;\n\tconst slot: LoweredAngularDeferSlot = {\n\t\tdelayMs: parseDelayMs(triggerExpression),\n\t\terrorHtml,\n\t\tfallbackHtml: placeholderHtml,\n\t\tid,\n\t\tresolvedBindings: transformedResolved.bindings,\n\t\tresolvedHtml,\n\t\tresolvedTemplate: transformedResolved.template\n\t};\n\n\treturn {\n\t\tcursorAfterResolved,\n\t\tmarkup: `<abs-defer-slot [id]=\"'${id}'\" [resolve]=\"__absoluteDeferResolvePayload${slotIndex}\">${buildSlotTemplates(slot)}</abs-defer-slot>`,\n\t\tslot\n\t};\n};\n\nconst applyConsumedResolvedTemplateChunk = (\n\tbindings: Array<{ expression: string; key: string }>,\n\tnextChunk: {\n\t\tbinding: { expression: string; key: string } | null;\n\t\tcursor: number;\n\t\tdone: boolean;\n\t\ttemplate: string;\n\t}\n) => {\n\tif (nextChunk.binding) {\n\t\tbindings.push(nextChunk.binding);\n\t}\n\n\treturn {\n\t\tcursor: nextChunk.done ? Number.POSITIVE_INFINITY : nextChunk.cursor,\n\t\tdone: nextChunk.done,\n\t\ttemplate: nextChunk.template\n\t};\n};\n\nconst applyConsumedDeferredBlock = (\n\tcontent: string | null,\n\tparsedBlock: { content: string; nextIndex: number } | null,\n\tcursorAfterResolved: number\n) => {\n\tif (!parsedBlock) {\n\t\treturn {\n\t\t\tcontent,\n\t\t\tcursorAfterResolved\n\t\t};\n\t}\n\n\treturn {\n\t\tcontent: parsedBlock.content || null,\n\t\tcursorAfterResolved: parsedBlock.nextIndex\n\t};\n};\n\nconst applyConsumedPlaceholderBlock = (\n\tplaceholderHtml: string,\n\tparsedBlock: { content: string; nextIndex: number } | null,\n\tcursorAfterResolved: number\n) => {\n\tconst nextState = applyConsumedDeferredBlock(\n\t\tplaceholderHtml,\n\t\tparsedBlock,\n\t\tcursorAfterResolved\n\t);\n\n\treturn {\n\t\tcursorAfterResolved: nextState.cursorAfterResolved,\n\t\tplaceholderHtml: nextState.content ?? ''\n\t};\n};\n\nconst applyConsumedErrorBlock = (\n\terrorHtml: string | null,\n\tparsedBlock: { content: string; nextIndex: number } | null,\n\tcursorAfterResolved: number\n) => {\n\tconst nextState = applyConsumedDeferredBlock(\n\t\terrorHtml,\n\t\tparsedBlock,\n\t\tcursorAfterResolved\n\t);\n\n\treturn {\n\t\tcursorAfterResolved: nextState.cursorAfterResolved,\n\t\terrorHtml: nextState.content\n\t};\n};\n\nconst resolveNextLoweredTemplateChunk = (template: string, cursor: number) => {\n\tconst nextDeferBlock = readNextDeferBlock(template, cursor);\n\tif (nextDeferBlock) {\n\t\treturn nextDeferBlock;\n\t}\n\n\treturn {\n\t\tdeferIndex: -1,\n\t\tprefix: template.slice(cursor)\n\t};\n};\n\nconst applyInvalidDeferSlotStart = (\n\tloweredTemplate: string,\n\tslotStart: {\n\t\tchanged: boolean;\n\t\tcursor: number;\n\t\tmarkerCursor: number;\n\t\ttemplatePrefix: string;\n\t}\n) => {\n\tif (!slotStart.changed) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tchanged: true,\n\t\tcursor: slotStart.cursor,\n\t\ttemplate: loweredTemplate + slotStart.templatePrefix\n\t};\n};\n\nconst applyEmptyResolvedBlock = (\n\tloweredTemplate: string,\n\ttemplate: string,\n\tdeferIndex: number,\n\tresolvedBlock: { content: string; nextIndex: number }\n) => {\n\tif (resolvedBlock.content.trim()) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tcursor: resolvedBlock.nextIndex,\n\t\ttemplate:\n\t\t\tloweredTemplate +\n\t\t\ttemplate.slice(deferIndex, resolvedBlock.nextIndex)\n\t};\n};\n\nconst applyNextLoweredTemplateChunk = (\n\tloweredTemplate: string,\n\tnextDeferBlock: { deferIndex: number; prefix: string }\n) => ({\n\tdeferIndex: nextDeferBlock.deferIndex,\n\tdone: nextDeferBlock.deferIndex < 0,\n\ttemplate: loweredTemplate + nextDeferBlock.prefix\n});\n\nconst applyParsedSlotStart = (\n\tchanged: boolean,\n\tcursor: number,\n\tloweredTemplate: string,\n\tslotStart: {\n\t\tchanged: boolean;\n\t\tcursor: number;\n\t\tmarkerCursor: number;\n\t\ttemplatePrefix: string;\n\t}\n) => {\n\tconst invalidSlotStart = applyInvalidDeferSlotStart(\n\t\tloweredTemplate,\n\t\tslotStart\n\t);\n\tif (!invalidSlotStart) {\n\t\treturn {\n\t\t\tchanged,\n\t\t\tcursor,\n\t\t\ttemplate: loweredTemplate\n\t\t};\n\t}\n\n\treturn {\n\t\tchanged: true,\n\t\tcursor: invalidSlotStart.cursor,\n\t\ttemplate: invalidSlotStart.template\n\t};\n};\n\nconst applyResolvedBlockState = (\n\tcursor: number,\n\tloweredTemplate: string,\n\ttemplate: string,\n\tdeferIndex: number,\n\tresolvedBlock: { content: string; nextIndex: number }\n) => {\n\tconst emptyResolvedBlock = applyEmptyResolvedBlock(\n\t\tloweredTemplate,\n\t\ttemplate,\n\t\tdeferIndex,\n\t\tresolvedBlock\n\t);\n\tif (!emptyResolvedBlock) {\n\t\treturn {\n\t\t\tcursor,\n\t\t\ttemplate: loweredTemplate\n\t\t};\n\t}\n\n\treturn emptyResolvedBlock;\n};\n\nconst consumeResolvedTemplateStep = (\n\tvalue: string,\n\ttemplate: string,\n\tcursor: number,\n\tbindings: Array<{ expression: string; key: string }>\n) => {\n\tconst nextChunk = consumeResolvedTemplateChunk(\n\t\tvalue,\n\t\ttemplate,\n\t\tcursor,\n\t\tbindings.length\n\t);\n\n\treturn applyConsumedResolvedTemplateChunk(bindings, nextChunk);\n};\n\nconst consumeLoweredDeferStep = (input: {\n\tchanged: boolean;\n\tcursor: number;\n\tloweredTemplate: string;\n\tslotIndex: number;\n\tslots: LoweredAngularDeferSlot[];\n\ttemplate: string;\n}) => {\n\tconst { changed, cursor, loweredTemplate, slotIndex, slots, template } =\n\t\tinput;\n\tconst nextDeferBlock = resolveNextLoweredTemplateChunk(template, cursor);\n\tconst nextLoweredChunk = applyNextLoweredTemplateChunk(\n\t\tloweredTemplate,\n\t\tnextDeferBlock\n\t);\n\tif (nextLoweredChunk.done) {\n\t\treturn null;\n\t}\n\n\tconst { deferIndex } = nextLoweredChunk;\n\tlet markerCursor = deferIndex + '@defer'.length;\n\tconst triggerInfo = parseOptionalTriggerExpression(template, markerCursor);\n\tconst { triggerExpression } = triggerInfo;\n\t({ markerCursor } = triggerInfo);\n\tconst slotStart = resolveDeferSlotStart(template, deferIndex, markerCursor);\n\t({ markerCursor } = slotStart);\n\tconst slotStartState = applyParsedSlotStart(\n\t\tchanged,\n\t\tcursor,\n\t\tnextLoweredChunk.template,\n\t\tslotStart\n\t);\n\tif (slotStartState.changed !== changed) {\n\t\treturn {\n\t\t\tchanged: slotStartState.changed,\n\t\t\tcursor: slotStartState.cursor,\n\t\t\tslotIndex,\n\t\t\ttemplate: slotStartState.template\n\t\t};\n\t}\n\n\tconst resolvedBlock = skipMatchingBlock(template, markerCursor);\n\tconst resolvedBlockState = applyResolvedBlockState(\n\t\tcursor,\n\t\tnextLoweredChunk.template,\n\t\ttemplate,\n\t\tdeferIndex,\n\t\tresolvedBlock\n\t);\n\tif (resolvedBlockState.cursor !== cursor) {\n\t\treturn {\n\t\t\tchanged,\n\t\t\tcursor: resolvedBlockState.cursor,\n\t\t\tslotIndex,\n\t\t\ttemplate: resolvedBlockState.template\n\t\t};\n\t}\n\n\tconst blockContent = parsePlaceholderAndErrorBlocks(\n\t\ttemplate,\n\t\tskipWhitespace(template, resolvedBlock.nextIndex)\n\t);\n\tconst builtSlot = buildDeferredSlot({\n\t\tcursorAfterResolved: blockContent.cursorAfterResolved,\n\t\terrorHtml: blockContent.errorHtml,\n\t\tplaceholderHtml: blockContent.placeholderHtml,\n\t\tresolvedBlock,\n\t\tslotIndex,\n\t\ttriggerExpression\n\t});\n\tslots.push(builtSlot.slot);\n\n\treturn {\n\t\tchanged: true,\n\t\tcursor: builtSlot.cursorAfterResolved,\n\t\tslotIndex: slotIndex + 1,\n\t\ttemplate: nextLoweredChunk.template + builtSlot.markup\n\t};\n};\n\nconst skipMatchingBlock = (\n\tvalue: string,\n\tstart: number\n): { content: string; nextIndex: number } => {\n\tif (value[start] !== '{') {\n\t\treturn { content: '', nextIndex: start };\n\t}\n\n\tlet cursor = start + 1;\n\tlet depth = 1;\n\n\twhile (cursor < value.length) {\n\t\tconst consumed = consumeBlockCursor(value, start, cursor, depth);\n\t\tif (consumed.result) {\n\t\t\treturn consumed.result;\n\t\t}\n\n\t\t({ cursor, depth } = consumed);\n\t}\n\n\treturn { content: value.slice(start + 1), nextIndex: value.length };\n};\n\nconst skipWhitespace = (value: string, index: number) => {\n\tlet cursor = index;\n\twhile (cursor < value.length && /\\s/.test(value[cursor] ?? '')) {\n\t\tcursor += 1;\n\t}\n\n\treturn cursor;\n};\n\nconst parseOptionalParenthesizedBlock = (\n\tvalue: string,\n\tindex: number\n): { expression: string; nextIndex: number } | null => {\n\tlet cursor = skipWhitespace(value, index);\n\tif (value[cursor] !== '(') {\n\t\treturn null;\n\t}\n\n\tcursor += 1;\n\tlet depth = 1;\n\tconst start = cursor;\n\n\twhile (cursor < value.length) {\n\t\tconst char = value[cursor] ?? '';\n\t\tconst nextDepth = updateParenthesisDepth(char, depth);\n\t\tif (char === ')' && nextDepth === 0) {\n\t\t\treturn {\n\t\t\t\texpression: value.slice(start, cursor),\n\t\t\t\tnextIndex: cursor + 1\n\t\t\t};\n\t\t}\n\n\t\tdepth = nextDepth;\n\t\tcursor += 1;\n\t}\n\n\treturn { expression: value.slice(start), nextIndex: value.length };\n};\n\nconst parseDelayMs = (triggerExpression: string | undefined) => {\n\tif (!triggerExpression) return 0;\n\tconst timerMsMatch = triggerExpression.match(/timer\\(\\s*(\\d+)\\s*ms\\s*\\)/i);\n\tif (timerMsMatch?.[1]) return Number.parseInt(timerMsMatch[1], 10);\n\tconst timerSecondsMatch = triggerExpression.match(\n\t\t/timer\\(\\s*(\\d+)\\s*s\\s*\\)/i\n\t);\n\tif (timerSecondsMatch?.[1]) {\n\t\treturn (\n\t\t\tNumber.parseInt(timerSecondsMatch[1], 10) * MILLISECONDS_IN_A_SECOND\n\t\t);\n\t}\n\n\tif (/\\bon\\s+immediate\\b/i.test(triggerExpression)) return 0;\n\tif (/\\bon\\s+idle\\b/i.test(triggerExpression)) return 1;\n\n\treturn 0;\n};\n\nconst transformResolvedTemplate = (value: string) => {\n\tconst bindings: Array<{ expression: string; key: string }> = [];\n\tlet template = '';\n\tlet cursor = 0;\n\n\twhile (cursor < value.length) {\n\t\tconst appliedChunk = consumeResolvedTemplateStep(\n\t\t\tvalue,\n\t\t\ttemplate,\n\t\t\tcursor,\n\t\t\tbindings\n\t\t);\n\t\t({ cursor, template } = appliedChunk);\n\t}\n\n\treturn {\n\t\tbindings,\n\t\ttemplate\n\t};\n};\n\nconst parseOptionalTriggerExpression = (\n\ttemplate: string,\n\tmarkerCursor: number\n) => {\n\tconst parsedTrigger = parseOptionalParenthesizedBlock(\n\t\ttemplate,\n\t\tmarkerCursor\n\t);\n\tif (!parsedTrigger) {\n\t\treturn {\n\t\t\tmarkerCursor,\n\t\t\ttriggerExpression: undefined\n\t\t};\n\t}\n\n\treturn {\n\t\tmarkerCursor: parsedTrigger.nextIndex,\n\t\ttriggerExpression: parsedTrigger.expression.trim()\n\t};\n};\n\nconst parseDeferredAuxiliaryBlock = (\n\ttemplate: string,\n\tcursorAfterResolved: number,\n\tkeyword: '@error' | '@placeholder'\n) => {\n\tif (!template.startsWith(keyword, cursorAfterResolved)) {\n\t\treturn null;\n\t}\n\n\tconst blockKeywordCursor = cursorAfterResolved + keyword.length;\n\tconst blockStart = skipWhitespace(template, blockKeywordCursor);\n\tif (template[blockStart] !== '{') {\n\t\treturn null;\n\t}\n\n\treturn skipMatchingBlock(template, blockStart);\n};\n\nconst parsePlaceholderAndErrorBlocks = (\n\ttemplate: string,\n\tstartCursor: number\n) => {\n\tlet cursorAfterResolved = startCursor;\n\tlet placeholderHtml = '';\n\tlet errorHtml: string | null = null;\n\n\tconst parsedPlaceholder = consumeDeferredAuxiliaryBlock({\n\t\tcursorAfterResolved,\n\t\tkeyword: '@placeholder',\n\t\ttemplate\n\t});\n\t({ placeholderHtml, cursorAfterResolved } = applyConsumedPlaceholderBlock(\n\t\tplaceholderHtml,\n\t\tparsedPlaceholder,\n\t\tcursorAfterResolved\n\t));\n\n\tconst parsedError = consumeDeferredAuxiliaryBlock({\n\t\tcursorAfterResolved,\n\t\tkeyword: '@error',\n\t\ttemplate\n\t});\n\t({ errorHtml, cursorAfterResolved } = applyConsumedErrorBlock(\n\t\terrorHtml,\n\t\tparsedError,\n\t\tcursorAfterResolved\n\t));\n\n\treturn {\n\t\tcursorAfterResolved,\n\t\terrorHtml,\n\t\tplaceholderHtml\n\t};\n};\n\nconst buildSlotTemplates = (slot: LoweredAngularDeferSlot) => {\n\tconst templates = [\n\t\t`<ng-template absDeferResolved let-slotData>${slot.resolvedTemplate}</ng-template>`\n\t];\n\n\tif (slot.fallbackHtml.length > 0) {\n\t\ttemplates.push(\n\t\t\t`<ng-template absDeferFallback>${slot.fallbackHtml}</ng-template>`\n\t\t);\n\t}\n\tif (slot.errorHtml) {\n\t\ttemplates.push(\n\t\t\t`<ng-template absDeferError>${slot.errorHtml}</ng-template>`\n\t\t);\n\t}\n\n\treturn templates.join('');\n};\n\nexport const lowerAngularDeferSyntax = (\n\ttemplate: string\n): LoweredAngularDeferResult => {\n\tif (!template.includes('@defer')) {\n\t\treturn {\n\t\t\tslots: [],\n\t\t\ttemplate,\n\t\t\ttransformed: false\n\t\t};\n\t}\n\n\tlet cursor = 0;\n\tlet slotIndex = 0;\n\tconst slots: LoweredAngularDeferSlot[] = [];\n\tlet loweredTemplate = '';\n\tlet changed = false;\n\tlet nextState = consumeLoweredDeferStep({\n\t\tchanged,\n\t\tcursor,\n\t\tloweredTemplate,\n\t\tslotIndex,\n\t\tslots,\n\t\ttemplate\n\t});\n\twhile (nextState) {\n\t\t({ changed, cursor, slotIndex, template: loweredTemplate } = nextState);\n\t\tnextState = consumeLoweredDeferStep({\n\t\t\tchanged,\n\t\t\tcursor,\n\t\t\tloweredTemplate,\n\t\t\tslotIndex,\n\t\t\tslots,\n\t\t\ttemplate\n\t\t});\n\t}\n\n\tconst transformedTemplate =\n\t\tslots.length > 0\n\t\t\t? loweredTemplate + template.slice(cursor)\n\t\t\t: template.replaceAll('@defer', '&#64;defer');\n\n\treturn {\n\t\tslots,\n\t\ttemplate: transformedTemplate,\n\t\ttransformed: slots.length > 0\n\t};\n};\n",
38
38
  "/* Single source of truth for the per-framework JIT/AOT intermediate\n * output location.\n *\n * Historically each framework compiler wrote its compiled output to\n * `<frameworkRoot>/generated/`, which leaked into the user's source\n * tree (e.g. `src/frontend/generated/`). The new convention places\n * every framework's intermediate output under\n * `<projectRoot>/.absolutejs/generated/<framework>/`, keeping `src/`\n * clean and centralizing all build cache state in one gitignored\n * directory.\n *\n * The relative-import semantics inside generated files are preserved:\n * the whole tree moves together, so a generated module's\n * `../foo.service.js` still resolves to a sibling generated file. The\n * load-bearing constraint is that `compileFramework` and the\n * downstream `core/build.ts` server/client root math both compute the\n * SAME path — which is what this helper guarantees. */\n\nimport { join } from 'node:path';\n\nexport type GeneratedFramework =\n\t| 'angular'\n\t| 'vue'\n\t| 'svelte'\n\t| 'react'\n\t| 'ember';\n\nconst GENERATED_DIR_NAME = 'generated';\nconst ABSOLUTE_CACHE_DIR_NAME = '.absolutejs';\n\nexport const getGeneratedRoot = (projectRoot: string = process.cwd()) =>\n\tjoin(projectRoot, ABSOLUTE_CACHE_DIR_NAME, GENERATED_DIR_NAME);\n\nexport const getFrameworkGeneratedDir = (\n\tframework: GeneratedFramework,\n\tprojectRoot: string = process.cwd()\n) => join(getGeneratedRoot(projectRoot), framework);\n",
39
- "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 { Glob } from 'bun';\nimport ts from 'typescript';\nimport { BASE_36_RADIX } from '../constants';\nimport { toPascal } from '../utils/stringModifiers';\nimport { buildIslandMetadataExports } from '../islands/sourceMetadata';\nimport {\n\tlowerAngularDeferSyntax,\n\ttype LoweredAngularDeferSlot\n} from '../angular/lowerDeferSyntax';\nimport {\n\tcompileStyleFileIfNeeded,\n\tcompileStyleFileIfNeededSync\n} from './stylePreprocessor';\nimport { getFrameworkGeneratedDir } from '../utils/generatedDir';\nimport type { StylePreprocessorConfig } from '../../types/build';\n\ntype SyncReadFile = (fileName: string) => string | undefined;\n\ntype BuildTracePhase = <T>(\n\tname: string,\n\tfn: () => Promise<T> | T,\n\tmetadata?: Record<string, unknown>\n) => Promise<T>;\n\nconst traceAngularPhase: BuildTracePhase = async (name, fn, metadata) => {\n\tconst tracePhase = (\n\t\tglobalThis as typeof globalThis & {\n\t\t\t__absoluteBuildTracePhase?: BuildTracePhase;\n\t\t}\n\t).__absoluteBuildTracePhase;\n\n\treturn tracePhase\n\t\t? tracePhase(`compile/angular/${name}`, fn, metadata)\n\t\t: await fn();\n};\n\ntype TsconfigPathAlias = {\n\tpattern: string;\n\treplacements: string[];\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(process.cwd(), compilerOptions.baseUrl ?? '.');\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\n\t\t\t? alias.pattern\n\t\t\t: 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 resolveSourceFile = (candidate: string) => {\n\tconst candidates = candidate.match(/\\.[cm]?[tj]sx?$/)\n\t\t? [candidate]\n\t\t: [\n\t\t\t\t`${candidate}.ts`,\n\t\t\t\t`${candidate}.tsx`,\n\t\t\t\t`${candidate}.js`,\n\t\t\t\t`${candidate}.jsx`,\n\t\t\t\tjoin(candidate, 'index.ts'),\n\t\t\t\tjoin(candidate, 'index.tsx'),\n\t\t\t\tjoin(candidate, 'index.js'),\n\t\t\t\tjoin(candidate, 'index.jsx')\n\t\t\t];\n\n\treturn candidates.find((file) => existsSync(file));\n};\n\nconst createLegacyAngularAnimationUsageResolver = (rootDir: string) => {\n\tconst baseDir = resolve(rootDir);\n\tconst tsconfigAliases = readTsconfigPathAliases();\n\tconst transpiler = new Bun.Transpiler({ loader: 'tsx' });\n\tconst scanCache = new Map<\n\t\tstring,\n\t\tPromise<{ imports: string[]; usesLegacyAnimations: boolean }>\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 scanFile = (filePath: string) => {\n\t\tconst actualPath = resolveSourceFile(filePath);\n\t\tif (!actualPath) {\n\t\t\treturn Promise.resolve({\n\t\t\t\timports: [],\n\t\t\t\tusesLegacyAnimations: false\n\t\t\t});\n\t\t}\n\t\tconst resolved = resolve(actualPath);\n\t\tconst cached = scanCache.get(resolved);\n\t\tif (cached) return cached;\n\n\t\tconst promise = (async () => {\n\t\t\tlet sourceCode: string;\n\t\t\ttry {\n\t\t\t\tsourceCode = await fs.readFile(resolved, 'utf-8');\n\t\t\t} catch {\n\t\t\t\treturn { imports: [], usesLegacyAnimations: false };\n\t\t\t}\n\n\t\t\tlet imports;\n\t\t\ttry {\n\t\t\t\timports = transpiler.scanImports(sourceCode);\n\t\t\t} catch {\n\t\t\t\treturn { imports: [], usesLegacyAnimations: false };\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\timports: imports.map((imp) => imp.path),\n\t\t\t\tusesLegacyAnimations: imports.some(\n\t\t\t\t\t(imp) => imp.path === '@angular/animations'\n\t\t\t\t)\n\t\t\t};\n\t\t})();\n\n\t\tscanCache.set(resolved, promise);\n\n\t\treturn promise;\n\t};\n\n\tconst visit = async (\n\t\tfilePath: string,\n\t\tvisited = new Set<string>()\n\t): Promise<boolean> => {\n\t\tconst actualPath = resolveSourceFile(filePath);\n\t\tif (!actualPath) return false;\n\t\tconst resolved = resolve(actualPath);\n\t\tif (visited.has(resolved)) return false;\n\t\tvisited.add(resolved);\n\n\t\tconst scan = await scanFile(resolved);\n\t\tif (scan.usesLegacyAnimations) return true;\n\n\t\tfor (const specifier of scan.imports) {\n\t\t\tconst importedPath = resolveLocalImport(\n\t\t\t\tspecifier,\n\t\t\t\tdirname(resolved)\n\t\t\t);\n\t\t\tif (importedPath && (await visit(importedPath, visited))) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t};\n\n\treturn (entryPath: string) => visit(entryPath);\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/* Removed in favor of SURGICAL_HMR (§3.3 — Tier 0 / Tier 1\n * dispatch). The old proto-swap pipeline registered every\n * Component / Service / Directive / Pipe class on a global\n * `window.__ANGULAR_HMR__` registry so the client could attempt\n * an in-place prototype patch on edits. With surgical\n * `ɵɵreplaceMetadata` covering component edits and re-bootstrap\n * covering structural changes, neither code path consumes the\n * registry anymore — keeping the injection just produces dead\n * `if (window.__ANGULAR_HMR__) ...` blocks. The Bun loader plugin\n * (`src/dev/angular/hmrInjectionPlugin.ts`) is the only place\n * that still appends per-component HMR scaffolding, and it does\n * so for the surgical `__ng_hmr_load` listener instead. */\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\n/* Extensions that are valid module-import targets without rewriting.\n * `.json` is included so `import data from './foo.json'` survives the\n * angular compile pipeline's path rewriter — without it, the rewriter\n * would append `.js` to make `./foo.json.js`, which doesn't exist on\n * disk, and the dev module server returns 500 on the resulting URL. */\nconst hasJsLikeExtension = (path: string) =>\n\t/\\.(js|ts|mjs|cjs|json)$/.test(path);\n\nconst splitSpecifierAndQuery = (specifier: string) => {\n\tconst separator = specifier.indexOf('?');\n\tif (separator === -1) {\n\t\treturn {\n\t\t\tpath: specifier,\n\t\t\tquery: ''\n\t\t};\n\t}\n\n\treturn {\n\t\tpath: specifier.substring(0, separator),\n\t\tquery: specifier.substring(separator)\n\t};\n};\n\nconst rewriteRelativeJsSpecifier = (\n\timporterOutputPath: string,\n\tspecifier: string,\n\toutputFiles?: Set<string>\n) => {\n\tconst { path, query } = splitSpecifierAndQuery(specifier);\n\tif (path.endsWith('.ts')) return `${path.replace(/\\.ts$/, '.js')}${query}`;\n\tif (hasJsLikeExtension(path)) return `${path}${query}`;\n\n\tconst importerDir = dirname(importerOutputPath);\n\tconst fileCandidate = resolve(importerDir, `${path}.js`);\n\tif (outputFiles?.has(fileCandidate) || existsSync(fileCandidate)) {\n\t\treturn `${path}.js${query}`;\n\t}\n\n\tconst indexCandidate = resolve(importerDir, path, 'index.js');\n\tif (outputFiles?.has(indexCandidate) || existsSync(indexCandidate)) {\n\t\treturn `${path}/index.js${query}`;\n\t}\n\n\treturn `${path}.js${query}`;\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\ntype AotResourceTransformCacheEntry = {\n\tsource: string;\n\tversion: 1;\n};\n\ntype AotResourceTransformStats = {\n\tcacheHits: number;\n\tcacheMisses: number;\n\tfilesVisited: number;\n\ttransformedFiles: number;\n};\n\nconst safeStableStringify = (value: unknown): string => {\n\tconst seen = new WeakSet<object>();\n\n\treturn JSON.stringify(value, (_key, entry) => {\n\t\tif (typeof entry === 'function') return `[Function:${entry.name}]`;\n\t\tif (!entry || typeof entry !== 'object') return entry;\n\t\tif (seen.has(entry)) return '[Circular]';\n\t\tseen.add(entry);\n\n\t\tif (Array.isArray(entry)) return entry;\n\n\t\treturn Object.fromEntries(\n\t\t\tObject.entries(entry).sort(([left], [right]) =>\n\t\t\t\tleft.localeCompare(right)\n\t\t\t)\n\t\t);\n\t});\n};\n\nconst collectAngularResourcePaths = (source: string, fileDir: string) => {\n\tconst paths: string[] = [];\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) paths.push(join(fileDir, templateUrlMatch[1]));\n\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (styleUrlMatch?.[1]) paths.push(join(fileDir, styleUrlMatch[1]));\n\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tconst urlMatches = styleUrlsMatch?.[1]?.match(/['\"]([^'\"]+)['\"]/g);\n\tif (urlMatches) {\n\t\tfor (const urlMatch of urlMatches) {\n\t\t\tpaths.push(join(fileDir, urlMatch.replace(/['\"]/g, '')));\n\t\t}\n\t}\n\n\treturn paths.map((path) => resolve(path));\n};\n\nconst readResourceCacheFile = async (cachePath: string) => {\n\ttry {\n\t\tconst entry = JSON.parse(\n\t\t\tawait fs.readFile(cachePath, 'utf-8')\n\t\t) as AotResourceTransformCacheEntry;\n\t\tif (entry.version !== 1 || typeof entry.source !== 'string') {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn entry;\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nconst writeResourceCacheFile = async (cachePath: string, source: string) => {\n\tawait fs.mkdir(dirname(cachePath), { recursive: true });\n\tawait fs.writeFile(\n\t\tcachePath,\n\t\tJSON.stringify({\n\t\t\tsource,\n\t\t\tversion: 1\n\t\t} satisfies AotResourceTransformCacheEntry),\n\t\t'utf-8'\n\t);\n};\n\nconst resolveResourceTransformCachePath = async (\n\tfilePath: string,\n\tsource: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst resourcePaths = collectAngularResourcePaths(\n\t\tsource,\n\t\tdirname(filePath)\n\t);\n\tconst resourceContents = await Promise.all(\n\t\tresourcePaths.map(async (resourcePath) => {\n\t\t\tconst content = await fs.readFile(resourcePath, 'utf-8');\n\n\t\t\treturn `${resourcePath}\\0${content}`;\n\t\t})\n\t);\n\tconst cacheInput = [\n\t\t'v1',\n\t\tfilePath,\n\t\tsource,\n\t\t...resourceContents,\n\t\tsafeStableStringify(stylePreprocessors ?? null)\n\t].join('\\0');\n\tconst cacheKey = Bun.hash(cacheInput).toString(BASE_36_RADIX);\n\n\treturn join(\n\t\tprocess.cwd(),\n\t\t'.absolutejs',\n\t\t'cache',\n\t\t'angular-resources',\n\t\t`${cacheKey}.json`\n\t);\n};\n\nconst precomputeAotResourceTransforms = async (\n\tinputPaths: string[],\n\treadFile: SyncReadFile | undefined,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst transformedSources = new Map<string, string>();\n\tconst visited = new Set<string>();\n\tconst stats: AotResourceTransformStats = {\n\t\tcacheHits: 0,\n\t\tcacheMisses: 0,\n\t\tfilesVisited: 0,\n\t\ttransformedFiles: 0\n\t};\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\t\tstats.filesVisited += 1;\n\n\t\tconst source = await readFileForAotTransform(resolvedPath, readFile);\n\t\tconst cachePath = await resolveResourceTransformCachePath(\n\t\t\tresolvedPath,\n\t\t\tsource,\n\t\t\tstylePreprocessors\n\t\t);\n\t\tconst cached = await readResourceCacheFile(cachePath);\n\t\tlet transformedSource: string;\n\t\tif (cached) {\n\t\t\tstats.cacheHits += 1;\n\t\t\ttransformedSource = cached.source;\n\t\t} else {\n\t\t\tstats.cacheMisses += 1;\n\t\t\tconst transformed = await inlineResources(\n\t\t\t\tsource,\n\t\t\t\tdirname(resolvedPath),\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\t\t\ttransformedSource = transformed.source;\n\t\t\tawait writeResourceCacheFile(cachePath, transformedSource);\n\t\t}\n\t\tif (transformedSource !== source) {\n\t\t\tstats.transformedFiles += 1;\n\t\t\ttransformedSources.set(resolvedPath, transformedSource);\n\t\t}\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 Promise.all(inputPaths.map((inputPath) => transformFile(inputPath)));\n\n\treturn { stats, transformedSources };\n};\n\nexport const compileAngularFiles = async (\n\tinputPaths: string[],\n\toutDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst islandMetadataByOutputPath = await traceAngularPhase(\n\t\t'aot/island-metadata',\n\t\t() =>\n\t\t\tnew Map(\n\t\t\t\tinputPaths.map((inputPath) => {\n\t\t\t\t\tconst outputPath = resolve(\n\t\t\t\t\t\tjoin(\n\t\t\t\t\t\t\toutDir,\n\t\t\t\t\t\t\trelative(process.cwd(), resolve(inputPath)).replace(\n\t\t\t\t\t\t\t\t/\\.[cm]?[tj]sx?$/,\n\t\t\t\t\t\t\t\t'.js'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\treturn [\n\t\t\t\t\t\toutputPath,\n\t\t\t\t\t\tbuildIslandMetadataExports(\n\t\t\t\t\t\t\treadFileSync(inputPath, 'utf-8')\n\t\t\t\t\t\t)\n\t\t\t\t\t] as const;\n\t\t\t\t})\n\t\t\t),\n\t\t{ entries: inputPaths.length }\n\t);\n\t// Load `@angular/compiler` BEFORE anything that transitively pulls in\n\t// `@angular/common` (which `@angular/compiler-cli` does). The compiler's\n\t// top-level `publishFacade(globalThis)` registers the JIT compiler facade\n\t// on `globalThis.ng` — without that, partial-AOT chunks like\n\t// `_platform_location-chunk.mjs` crash on import with\n\t// \"JIT compilation failed for [class PlatformLocation]\" because they\n\t// call `ɵɵngDeclareFactory` at module load time, which requires the\n\t// facade to be present.\n\tawait traceAngularPhase(\n\t\t'aot/preload-compiler',\n\t\t() => import('@angular/compiler')\n\t);\n\tconst { readConfiguration, performCompilation, EmitFlags } =\n\t\tawait traceAngularPhase(\n\t\t\t'aot/import-compiler-cli',\n\t\t\t() => import('@angular/compiler-cli')\n\t\t);\n\n\tconst tsLibDir = await traceAngularPhase(\n\t\t'aot/resolve-typescript-lib',\n\t\t() => {\n\t\t\t// Resolve TypeScript lib directory dynamically (prevents hardcoded paths)\n\t\t\tconst tsPath = require.resolve('typescript');\n\t\t\tconst tsRootDir = dirname(tsPath);\n\n\t\t\treturn tsRootDir.endsWith('lib')\n\t\t\t\t? tsRootDir\n\t\t\t\t: resolve(tsRootDir, 'lib');\n\t\t}\n\t);\n\n\t// Read configuration from tsconfig.json to get angularCompilerOptions\n\tconst config = await traceAngularPhase('aot/read-configuration', () =>\n\t\treadConfiguration('./tsconfig.json')\n\t);\n\n\t// Build options object with newLine FIRST, then spread config.\n\t// IMPORTANT: target MUST be ES2022 (not ESNext) to avoid hardcoded lib.esnext.full.d.ts path.\n\tconst options: CompilerOptions = {\n\t\temitDecoratorMetadata: true,\n\t\tesModuleInterop: true,\n\t\texperimentalDecorators: true,\n\t\tmodule: ts.ModuleKind.ESNext,\n\t\tmoduleResolution: ts.ModuleResolutionKind.Bundler,\n\t\tnewLine: ts.NewLineKind.LineFeed, // Set FIRST - critical for createCompilerHost\n\t\tnoLib: false,\n\t\toutDir,\n\t\tskipLibCheck: true,\n\t\ttarget: ts.ScriptTarget.ES2022, // Use ES2022 instead of ESNext to avoid hardcoded lib paths\n\t\t...config.options // Spread AFTER to add Angular options\n\t};\n\n\t// CRITICAL: Force target to ES2022 AFTER spread to ensure it's not overwritten.\n\t// ESNext target causes hardcoded lib.esnext.full.d.ts path issues.\n\toptions.target = ts.ScriptTarget.ES2022;\n\n\t// Force TypeScript legacy decorators required by Angular 21's DI system.\n\toptions.experimentalDecorators = true;\n\toptions.emitDecoratorMetadata = true;\n\n\t// Force newLine again after spread to ensure it's not overwritten.\n\toptions.newLine = ts.NewLineKind.LineFeed;\n\n\t// Force outDir after spread — config.options may contain an absolute \"dist\" path\n\t// that overwrites our outDir, causing deeply nested compiled output.\n\toptions.outDir = outDir;\n\n\t// Production examples commonly use noEmit=true for editor/typecheck flows.\n\t// AOT compilation must override that or Angular silently produces no JS.\n\toptions.noEmit = false;\n\n\t// AOT emits into a generated directory that may be cleaned between builds.\n\t// Reusing the project's incremental tsbuildinfo can make TypeScript skip\n\t// files that need to be emitted again.\n\toptions.incremental = false;\n\toptions.tsBuildInfoFile = undefined;\n\n\t// Explicit rootDir prevents TypeScript from computing it from the single entry file,\n\t// which would cause imports from other directories to get absolute-path-based output.\n\toptions.rootDir = process.cwd();\n\n\t// Use TypeScript's createCompilerHost directly. Keep this host local to the\n\t// current AOT pass because the overrides below mutate host methods.\n\tconst host = await traceAngularPhase('aot/create-compiler-host', () =>\n\t\tts.createCompilerHost(options)\n\t);\n\n\t// Override lib resolution to use dynamic paths.\n\tconst originalGetDefaultLibLocation = host.getDefaultLibLocation;\n\thost.getDefaultLibLocation = () =>\n\t\ttsLibDir ||\n\t\t(originalGetDefaultLibLocation ? originalGetDefaultLibLocation() : '');\n\n\tconst originalGetDefaultLibFileName = host.getDefaultLibFileName;\n\thost.getDefaultLibFileName = (opts: ts.CompilerOptions) => {\n\t\tconst fileName = originalGetDefaultLibFileName\n\t\t\t? originalGetDefaultLibFileName(opts)\n\t\t\t: 'lib.d.ts';\n\n\t\treturn basename(fileName);\n\t};\n\n\tconst originalGetSourceFile = host.getSourceFile;\n\thost.getSourceFile = (\n\t\tfileName: string,\n\t\tlanguageVersion: ts.ScriptTarget,\n\t\tonError?: (message: string) => void\n\t) => {\n\t\tif (\n\t\t\tfileName.startsWith('lib.') &&\n\t\t\tfileName.endsWith('.d.ts') &&\n\t\t\ttsLibDir\n\t\t) {\n\t\t\tconst resolvedPath = join(tsLibDir, fileName);\n\n\t\t\treturn originalGetSourceFile?.call(\n\t\t\t\thost,\n\t\t\t\tresolvedPath,\n\t\t\t\tlanguageVersion,\n\t\t\t\tonError\n\t\t\t);\n\t\t}\n\n\t\treturn originalGetSourceFile?.call(\n\t\t\thost,\n\t\t\tfileName,\n\t\t\tlanguageVersion,\n\t\t\tonError\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 { stats: aotResourceTransformStats, transformedSources } =\n\t\tawait traceAngularPhase(\n\t\t\t'aot/precompute-resources',\n\t\t\t() =>\n\t\t\t\tprecomputeAotResourceTransforms(\n\t\t\t\t\tinputPaths,\n\t\t\t\t\toriginalReadFile?.bind(host),\n\t\t\t\t\tstylePreprocessors\n\t\t\t\t),\n\t\t\t{ entries: inputPaths.length }\n\t\t);\n\tawait traceAngularPhase('aot/resource-cache-summary', () => undefined, {\n\t\tcacheHits: aotResourceTransformStats.cacheHits,\n\t\tcacheMisses: aotResourceTransformStats.cacheMisses,\n\t\tfilesVisited: aotResourceTransformStats.filesVisited,\n\t\ttransformedFiles: aotResourceTransformStats.transformedFiles\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 transformedSources.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 = transformedSources.get(resolve(fileName));\n\t\tif (source) {\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 } = await traceAngularPhase(\n\t\t\t'aot/perform-compilation',\n\t\t\t() =>\n\t\t\t\tperformCompilation({\n\t\t\t\t\temitFlags: EmitFlags.Default,\n\t\t\t\t\thost,\n\t\t\t\t\toptions,\n\t\t\t\t\trootNames: inputPaths\n\t\t\t\t}),\n\t\t\t{ entries: inputPaths.length }\n\t\t));\n\t} finally {\n\t\thost.readFile = originalReadFile;\n\t\thost.getSourceFile = originalGetSourceFileForCompile;\n\t}\n\n\tawait traceAngularPhase('aot/check-diagnostics', () =>\n\t\tthrowOnCompilationErrors(diagnostics)\n\t);\n\n\tconst entries = await traceAngularPhase(\n\t\t'aot/postprocess-emitted-js',\n\t\t() => {\n\t\t\tconst rawEntries = Object.entries(emitted)\n\t\t\t\t.filter(([fileName]) => fileName.endsWith('.js'))\n\t\t\t\t.map(([fileName, content]) => ({\n\t\t\t\t\tcontent,\n\t\t\t\t\ttarget: join(outDir, fileName)\n\t\t\t\t}));\n\t\t\tconst outputFiles = new Set(\n\t\t\t\trawEntries.map(({ target }) => resolve(target))\n\t\t\t);\n\n\t\t\treturn rawEntries.map(({ content, target }) => {\n\t\t\t\t// Post-process the compiled output:\n\t\t\t\t// 1. Add .js extensions to imports\n\t\t\t\tlet processedContent = content.replace(\n\t\t\t\t\t/from\\s+(['\"])(\\.\\.?\\/[^'\"]+)(\\1)/g,\n\t\t\t\t\t(match, quote, path) => {\n\t\t\t\t\t\tconst rewritten = rewriteRelativeJsSpecifier(\n\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\toutputFiles\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (rewritten !== path) {\n\t\t\t\t\t\t\treturn `from ${quote}${rewritten}${quote}`;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn match;\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// 2. Fix Angular ɵɵdom* functions to standard ɵɵ* functions\n\t\t\t\tprocessedContent = processedContent\n\t\t\t\t\t.replace(/ɵɵdomElementStart/g, 'ɵɵelementStart')\n\t\t\t\t\t.replace(/ɵɵdomElementEnd/g, 'ɵɵelementEnd')\n\t\t\t\t\t.replace(/ɵɵdomElement\\(/g, 'ɵɵelement(')\n\t\t\t\t\t.replace(/ɵɵdomProperty/g, 'ɵɵproperty')\n\t\t\t\t\t.replace(/ɵɵdomListener/g, 'ɵɵlistener');\n\n\t\t\t\t// 3. Fix InjectFlags -> InternalInjectFlags (Angular 21+ compatibility)\n\t\t\t\t// Replace in import statements\n\t\t\t\tprocessedContent = processedContent.replace(\n\t\t\t\t\t/import\\s*{\\s*([^}]*)\\bInjectFlags\\b([^}]*)\\s*}\\s*from\\s*['\"]@angular\\/core['\"]/g,\n\t\t\t\t\t(match, before, after) => {\n\t\t\t\t\t\tconst cleaned = (before + after)\n\t\t\t\t\t\t\t.replace(/,\\s*,/g, ',')\n\t\t\t\t\t\t\t.replace(/^\\s*,\\s*/, '')\n\t\t\t\t\t\t\t.replace(/,\\s*$/, '');\n\n\t\t\t\t\t\treturn cleaned\n\t\t\t\t\t\t\t? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'`\n\t\t\t\t\t\t\t: `import { InternalInjectFlags } from '@angular/core'`;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\t// Replace usage of InjectFlags\n\t\t\t\tprocessedContent = processedContent.replace(\n\t\t\t\t\t/\\b(?<!Internal)InjectFlags\\b/g,\n\t\t\t\t\t'InternalInjectFlags'\n\t\t\t\t);\n\t\t\t\tprocessedContent +=\n\t\t\t\t\tislandMetadataByOutputPath.get(resolve(target)) ?? '';\n\n\t\t\t\treturn { content: processedContent, target };\n\t\t\t});\n\t\t}\n\t);\n\n\tawait traceAngularPhase(\n\t\t'aot/write-output',\n\t\t() =>\n\t\t\tPromise.all(\n\t\t\t\tentries.map(async ({ target, content }) => {\n\t\t\t\t\tawait fs.mkdir(dirname(target), { recursive: true });\n\t\t\t\t\tawait fs.writeFile(target, content, 'utf-8');\n\t\t\t\t})\n\t\t\t),\n\t\t{ outputs: entries.length }\n\t);\n\n\treturn await traceAngularPhase(\n\t\t'aot/collect-output-paths',\n\t\t() => entries.map(({ target }) => target),\n\t\t{ outputs: entries.length }\n\t);\n};\n\nexport const compileAngularFile = async (\n\tinputPath: string,\n\toutDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => compileAngularFiles([inputPath], outDir, stylePreprocessors);\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/* Drop the content-hash entry for a single file so the next\n * `compileAngularFileJIT` call re-writes it even if the source\n * .ts hasn't changed. Used by the HMR disk-refresh path when an\n * inlined resource (template/style) changed underneath a stable\n * component .ts — the cache would otherwise short-circuit the\n * rewrite and leave a stale on-disk component.\n *\n * Preferred over passing a `cacheBuster` to compileAngularFileJIT\n * for that case, because cacheBuster has a *second* effect —\n * appending `?t=…` to every import specifier in the emitted\n * file — that wedges any later bundle pass that doesn't know\n * the cacheBuster value (Bun.build can't resolve\n * `../components/Foo.js?t=…`). */\nexport const invalidateAngularJitCache = (filePath: string) => {\n\tjitContentCache.delete(resolve(filePath));\n};\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(\n\t\tpattern.source,\n\t\tpattern.flags.includes('g') ? pattern.flags : pattern.flags + 'g'\n\t);\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(inlineTemplateMatch.index + inlineTemplateMatch[0].length);\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(inlineTemplateMatch.index + inlineTemplateMatch[0].length);\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(filePath, stylePreprocessors);\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\tcacheBuster?: string\n) => {\n\tconst entryPath = resolve(inputPath);\n\tconst allOutputs: string[] = [];\n\tconst visited = new Set<string>();\n\tconst baseDir = resolve(rootDir ?? process.cwd());\n\tlet usesLegacyAnimations = false;\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?|json)$/)\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\t`${candidate}.json`,\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\t// `.ts/.tsx/.js/.jsx` → `.js`. `.json` is preserved\n\t\t// (the angular generated tree mirrors the source layout for\n\t\t// JSON imports so `import x from './x.json'` resolves).\n\t\tconst fileBase = basename(sourcePath).replace(/\\.[cm]?[tj]sx?$/, '.js');\n\n\t\treturn join(outDir, relativeDir, fileBase);\n\t};\n\n\tconst withCacheBuster = (specifier: string) => {\n\t\tif (!cacheBuster) return specifier;\n\t\treturn specifier.includes('?')\n\t\t\t? `${specifier}&t=${cacheBuster}`\n\t\t\t: `${specifier}?t=${cacheBuster}`;\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 outputPath = toOutputPath(actualPath);\n\t\tconst rewriteBareImport = (\n\t\t\tprefix: string,\n\t\t\tspecifier: string,\n\t\t\tsuffix: string\n\t) => {\n\t\t\tconst rewritten = importRewrites.get(specifier);\n\t\t\tif (rewritten) {\n\t\t\t\treturn `${prefix}${withCacheBuster(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\tconst rewritten = rewriteRelativeJsSpecifier(outputPath, path);\n\t\t\t\tif (rewritten !== path) {\n\t\t\t\t\treturn `from ${quote}${rewritten}${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// JSON files: copy to the generated tree unchanged so a\n\t\t// consumer's `import x from './x.json'` can resolve relative\n\t\t// to its compiled `.js` location at SSR / module-server time.\n\t\t// No imports inside JSON, so no recursion.\n\t\tif (resolved.endsWith('.json') && existsSync(resolved)) {\n\t\t\tconst inputDir = dirname(resolved);\n\t\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t\t: inputDir;\n\t\t\tconst targetDir = join(outDir, relativeDir);\n\t\t\tconst targetPath = join(targetDir, basename(resolved));\n\t\t\tawait fs.mkdir(targetDir, { recursive: true });\n\t\t\tawait fs.copyFile(resolved, targetPath);\n\t\t\tallOutputs.push(targetPath);\n\t\t\treturn;\n\t\t}\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\tif (localImports.includes('@angular/animations')) {\n\t\t\tusesLegacyAnimations = true;\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(\n\t\t\t\t\ttargetDir,\n\t\t\t\t\ttoOutputPath(resolved)\n\t\t\t\t)\n\t\t\t\t\t.replace(/\\\\/g, '/')\n\t\t\t\t\t.replace(/\\.js$/, '');\n\t\t\t\tconst relativeRewrite = relativeImport.startsWith('.')\n\t\t\t\t\t? relativeImport\n\t\t\t\t\t: `./${relativeImport}`;\n\t\t\t\timportRewrites.set(specifier, relativeRewrite);\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\t//\n\t\t// `cacheBuster` only forces rewrite of the *entry* file, not\n\t\t// recursively-traversed imports. The HMR disk-refresh path\n\t\t// uses it when an HTML/CSS resource changed without a TS edit\n\t\t// (so the TS hash is stale on the inlined-template view); we\n\t\t// don't want it to invalidate the whole import graph too.\n\t\tconst isEntry = resolve(actualPath) === resolve(entryPath);\n\t\tconst contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);\n\t\tconst cacheKey = actualPath;\n\t\tconst shouldWriteFile = cacheBuster && isEntry\n\t\t\t? true\n\t\t\t: jitContentCache.get(cacheKey) !== contentHash ||\n\t\t\t\t!existsSync(targetPath);\n\t\tif (shouldWriteFile) {\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\tjitContentCache.set(cacheKey, contentHash);\n\t\t}\n\n\t\tallOutputs.push(targetPath);\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\tconst entryOutputPath = toOutputPath(entryPath);\n\tif (existsSync(entryOutputPath)) {\n\t\tconst entryOutput = await fs.readFile(entryOutputPath, 'utf-8');\n\t\tconst withoutLegacyFlag = entryOutput.replace(\n\t\t\t/\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n?/g,\n\t\t\t'\\n'\n\t\t);\n\t\tconst nextEntryOutput = usesLegacyAnimations\n\t\t\t? `${withoutLegacyFlag}\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n`\n\t\t\t: withoutLegacyFlag;\n\t\tif (nextEntryOutput !== entryOutput) {\n\t\t\tawait fs.writeFile(entryOutputPath, nextEntryOutput, 'utf-8');\n\t\t}\n\t}\n\n\treturn allOutputs;\n};\n\nexport const compileAngular = async (\n\tentryPoints: string[],\n\toutRoot: string,\n\thmr = false,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\t// Compile to <projectRoot>/.absolutejs/generated/angular/. The\n\t// previous layout wrote into <angularDir>/generated/, leaking into\n\t// the user's source tree. Path math inside this function keeps\n\t// using `outRoot` (the user's angular source dir) for relative\n\t// computations — only the *destination root* moves.\n\tconst compiledParent = getFrameworkGeneratedDir('angular');\n\n\tif (entryPoints.length === 0) {\n\t\tconst emptyPaths: string[] = [];\n\n\t\treturn { clientPaths: [...emptyPaths], serverPaths: [...emptyPaths] };\n\t}\n\n\t// In dev/HMR a fixed path is required: different file paths produce\n\t// different ESM cache entries in Bun, which would split Angular into\n\t// duplicate module instances and trip NG0201/NG0203 token-identity\n\t// mismatches. Pinning to the gitignored `.absolutejs/generated/`\n\t// satisfies the constraint while keeping `src/` clean.\n\tconst compiledRoot = compiledParent;\n\tconst indexesDir = join(compiledParent, 'indexes');\n\n\tawait traceAngularPhase('setup/create-indexes-dir', () =>\n\t\tfs.mkdir(indexesDir, { recursive: true })\n\t);\n\n\tconst aotOutputs = hmr\n\t\t? []\n\t\t: await traceAngularPhase(\n\t\t\t\t'aot/compile-files',\n\t\t\t\t() =>\n\t\t\t\t\tcompileAngularFiles(\n\t\t\t\t\t\tentryPoints.map((entry) => resolve(entry)),\n\t\t\t\t\t\tcompiledRoot,\n\t\t\t\t\t\tstylePreprocessors\n\t\t\t\t\t),\n\t\t\t\t{ entries: entryPoints.length }\n\t\t\t);\n\t// AOT mirrors the source tree under `compiledRoot/<rel-from-cwd>/`, so\n\t// `import x from '../data/foo.json'` from a compiled component must\n\t// resolve a copy of the JSON in the same relative location. The JIT\n\t// path copies these inline (see `transpileFile` below); AOT skipped\n\t// them and the prod server bundle then failed with\n\t// `Could not resolve: \"../data/labels.json\"`. Walk the user's angular\n\t// source dir and mirror every `.json` to the AOT tree.\n\tif (!hmr) {\n\t\tawait traceAngularPhase('aot/copy-json-resources', async () => {\n\t\t\tconst cwd = process.cwd();\n\t\t\tconst angularSrcDir = resolve(outRoot);\n\t\t\tif (!existsSync(angularSrcDir)) return;\n\t\t\tconst jsonGlob = new Glob('**/*.json');\n\t\t\tfor (const rel of jsonGlob.scanSync({\n\t\t\t\tabsolute: false,\n\t\t\t\tcwd: angularSrcDir\n\t\t\t})) {\n\t\t\t\tconst sourcePath = join(angularSrcDir, rel);\n\t\t\t\tconst cwdRel = relative(cwd, sourcePath);\n\t\t\t\tconst targetPath = join(compiledRoot, cwdRel);\n\t\t\t\tawait fs.mkdir(dirname(targetPath), { recursive: true });\n\t\t\t\tawait fs.copyFile(sourcePath, targetPath);\n\t\t\t}\n\t\t});\n\t}\n\tconst usesLegacyAngularAnimations = await traceAngularPhase(\n\t\t'setup/legacy-animation-resolver',\n\t\t() => createLegacyAngularAnimationUsageResolver(outRoot)\n\t);\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\tcompileAngularFileJIT(\n\t\t\t\tresolvedEntry,\n\t\t\t\tcompiledRoot,\n\t\t\t\toutRoot,\n\t\t\t\tstylePreprocessors\n\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 = hmr\n\t\t\t? await traceAngularPhase('jit/compile-entry', compileEntry, {\n\t\t\t\t\tentry: resolvedEntry\n\t\t\t\t})\n\t\t\t: aotOutputs;\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\t// Match by the page's full source-relative path (e.g.\n\t\t\t// `src/frontend/pages/admin/admin.js`). Required for the\n\t\t\t// folder-per-page layout, where basename-only matching can\n\t\t\t// collide with same-named files elsewhere in the project\n\t\t\t// (e.g. `src/types/admin/admin.ts`).\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}${relativeEntry}`)\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) &&\n\t\t\t\t\t\tfile.endsWith(`${sep}pages${sep}${jsName}`)\n\t\t\t\t);\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 = await traceAngularPhase(\n\t\t\t'wrapper/resolve-server-output',\n\t\t\t() => resolveRawServerFile(outputs),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\t\tif (!rawServerFile) {\n\t\t\trawServerFile = await traceAngularPhase(\n\t\t\t\t'wrapper/resolve-server-output-fallback',\n\t\t\t\t() => resolveRawServerFile([]),\n\t\t\t\t{ entry: resolvedEntry }\n\t\t\t);\n\t\t}\n\t\tif (rawServerFile && !existsSync(rawServerFile)) {\n\t\t\toutputs = hmr ? await compileEntry() : aotOutputs;\n\t\t\trawServerFile = await traceAngularPhase(\n\t\t\t\t'wrapper/resolve-server-output-retry',\n\t\t\t\t() => resolveRawServerFile(outputs),\n\t\t\t\t{ entry: resolvedEntry }\n\t\t\t);\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 traceAngularPhase(\n\t\t\t'wrapper/read-server-output',\n\t\t\t() => fs.readFile(rawServerFile, 'utf-8'),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\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): string | null => {\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 null;\n\t\t};\n\t\tconst detectedClassName = await traceAngularPhase(\n\t\t\t'wrapper/detect-component-class',\n\t\t\t() => detectExportedComponentClass(original),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\t\t// `not-found.ts` and similar convention pages export a render\n\t\t// function (`renderNotFound`/`renderError`/etc.) instead of a\n\t\t// component class. Falling back to a guessed `<Pascal>Component`\n\t\t// name when nothing is detected emits a dangling\n\t\t// `export default NotFoundComponent;` and the bundle throws\n\t\t// `ReferenceError: NotFoundComponent is not defined` at module\n\t\t// evaluation. Use the fallback ONLY for the bundle-internal\n\t\t// references that need *some* placeholder symbol — and skip the\n\t\t// trailing default-export append entirely when nothing real was\n\t\t// found.\n\t\tconst componentClassName =\n\t\t\tdetectedClassName ?? `${toPascal(fileBase)}Component`;\n\t\tconst usesLegacyAnimations = await traceAngularPhase(\n\t\t\t'wrapper/detect-legacy-animations',\n\t\t\t() => usesLegacyAngularAnimations(resolvedEntry),\n\t\t\t{ entry: resolvedEntry }\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\t(usesLegacyAnimations ||\n\t\t\t\t!original.includes(\n\t\t\t\t\t'__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__'\n\t\t\t\t)) &&\n\t\t\t(!usesLegacyAnimations ||\n\t\t\t\toriginal.includes('__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__'))\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\trewritten = rewritten.replace(\n\t\t\t/\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n?/g,\n\t\t\t'\\n'\n\t\t);\n\t\tif (!rewritten.includes(`import '@angular/compiler';`)) {\n\t\t\trewritten = `import '@angular/compiler';\\n${rewritten}`;\n\t\t}\n\n\t\t// Only add default export if one doesn't already exist AND we\n\t\t// actually detected a real class to point it at — convention\n\t\t// pages that export a render function (e.g. not-found.ts's\n\t\t// `renderNotFound`) intentionally have no default class export.\n\t\tif (detectedClassName && !rewritten.includes('export default')) {\n\t\t\trewritten += `\\nexport default ${componentClassName};\\n`;\n\t\t}\n\t\tif (usesLegacyAnimations) {\n\t\t\trewritten +=\n\t\t\t\t'\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n';\n\t\t}\n\n\t\t// Note: proto-swap registration was here. SURGICAL_HMR §3.3\n\t\t// replaced it with `hmrInjectionPlugin.ts`, which appends a\n\t\t// per-component `__ng_hmr_load` listener at bundle time.\n\n\t\tawait traceAngularPhase(\n\t\t\t'wrapper/write-server-output',\n\t\t\t() => fs.writeFile(rawServerFile, rewritten, 'utf-8'),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\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 \"${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 { withHttpTransferCacheOptions } 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 : [];\nvar absoluteHttpTransferCacheOptions = {\n includePostRequests: false,\n includeRequestsWithAuthHeaders: false,\n filter: function(request) {\n return !request.headers.has('x-skip-transfer-cache');\n }\n};\n\n// SURGICAL_HMR Tier 1 — Re-bootstrap hook. The dev client invokes\n// \\`window.__ABS_ANGULAR_REBOOTSTRAP__()\\` when it receives an\n// \\`angular:rebootstrap\\` WS message; the hook looks up this page's\n// freshly-built bundle URL (the rebuild already broadcast its\n// updated manifest, so window.__HMR_MANIFEST__ is current) and\n// dynamic-imports it. Re-importing the chunk re-runs the\n// destroy+bootstrap block below — no special path needed because\n// chunk eval is the bootstrap.\nwindow.__ABS_ANGULAR_PAGE_BUNDLE_ID__ = '${toPascal(fileBase)}Index';\nwindow.__ABS_ANGULAR_REBOOTSTRAP__ = async function() {\n var id = window.__ABS_ANGULAR_PAGE_BUNDLE_ID__;\n var manifest = window.__HMR_MANIFEST__ || {};\n var newUrl = manifest[id];\n if (!newUrl) {\n console.warn('[absolutejs] no bundle URL in manifest for', id, '— full reload');\n window.location.reload();\n return;\n }\n await import(newUrl + '?t=' + Date.now());\n};\n\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(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));\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 { withHttpTransferCacheOptions } 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 : [];\nvar absoluteHttpTransferCacheOptions = {\n includePostRequests: false,\n includeRequestsWithAuthHeaders: false,\n filter: function(request) {\n return !request.headers.has('x-skip-transfer-cache');\n }\n};\n\nenableProdMode();\n\nvar providers = [provideZonelessChangeDetection()].concat(pageProviders).concat(propProviders);\nif (!pageHasIslands) {\n providers.unshift(provideClientHydration(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));\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 traceAngularPhase(\n\t\t\t'wrapper/write-client-index',\n\t\t\t() => fs.writeFile(clientFile, hydration, 'utf-8'),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\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 traceAngularPhase(\n\t\t'wrapper/process-entries',\n\t\t() => Promise.all(compileTasks),\n\t\t{ entries: entryPoints.length }\n\t);\n\tconst { clientPaths, serverPaths } = await traceAngularPhase(\n\t\t'wrapper/collect-paths',\n\t\t() => ({\n\t\t\tclientPaths: results.map((r) => r.clientPath),\n\t\t\tserverPaths: results.map((r) => r.serverPath)\n\t\t}),\n\t\t{ entries: results.length }\n\t);\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",
39
+ "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 { Glob } from 'bun';\nimport ts from 'typescript';\nimport { BASE_36_RADIX } from '../constants';\nimport { toPascal } from '../utils/stringModifiers';\nimport { buildIslandMetadataExports } from '../islands/sourceMetadata';\nimport {\n\tlowerAngularDeferSyntax,\n\ttype LoweredAngularDeferSlot\n} from '../angular/lowerDeferSyntax';\nimport {\n\tcompileStyleFileIfNeeded,\n\tcompileStyleFileIfNeededSync\n} from './stylePreprocessor';\nimport { getFrameworkGeneratedDir } from '../utils/generatedDir';\nimport type { StylePreprocessorConfig } from '../../types/build';\n\ntype SyncReadFile = (fileName: string) => string | undefined;\n\ntype BuildTracePhase = <T>(\n\tname: string,\n\tfn: () => Promise<T> | T,\n\tmetadata?: Record<string, unknown>\n) => Promise<T>;\n\nconst traceAngularPhase: BuildTracePhase = async (name, fn, metadata) => {\n\tconst tracePhase = (\n\t\tglobalThis as typeof globalThis & {\n\t\t\t__absoluteBuildTracePhase?: BuildTracePhase;\n\t\t}\n\t).__absoluteBuildTracePhase;\n\n\treturn tracePhase\n\t\t? tracePhase(`compile/angular/${name}`, fn, metadata)\n\t\t: await fn();\n};\n\ntype TsconfigPathAlias = {\n\tpattern: string;\n\treplacements: string[];\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(process.cwd(), compilerOptions.baseUrl ?? '.');\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\n\t\t\t? alias.pattern\n\t\t\t: 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 resolveSourceFile = (candidate: string) => {\n\tconst candidates = candidate.match(/\\.[cm]?[tj]sx?$/)\n\t\t? [candidate]\n\t\t: [\n\t\t\t\t`${candidate}.ts`,\n\t\t\t\t`${candidate}.tsx`,\n\t\t\t\t`${candidate}.js`,\n\t\t\t\t`${candidate}.jsx`,\n\t\t\t\tjoin(candidate, 'index.ts'),\n\t\t\t\tjoin(candidate, 'index.tsx'),\n\t\t\t\tjoin(candidate, 'index.js'),\n\t\t\t\tjoin(candidate, 'index.jsx')\n\t\t\t];\n\n\treturn candidates.find((file) => existsSync(file));\n};\n\nconst createLegacyAngularAnimationUsageResolver = (rootDir: string) => {\n\tconst baseDir = resolve(rootDir);\n\tconst tsconfigAliases = readTsconfigPathAliases();\n\tconst transpiler = new Bun.Transpiler({ loader: 'tsx' });\n\tconst scanCache = new Map<\n\t\tstring,\n\t\tPromise<{ imports: string[]; usesLegacyAnimations: boolean }>\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 scanFile = (filePath: string) => {\n\t\tconst actualPath = resolveSourceFile(filePath);\n\t\tif (!actualPath) {\n\t\t\treturn Promise.resolve({\n\t\t\t\timports: [],\n\t\t\t\tusesLegacyAnimations: false\n\t\t\t});\n\t\t}\n\t\tconst resolved = resolve(actualPath);\n\t\tconst cached = scanCache.get(resolved);\n\t\tif (cached) return cached;\n\n\t\tconst promise = (async () => {\n\t\t\tlet sourceCode: string;\n\t\t\ttry {\n\t\t\t\tsourceCode = await fs.readFile(resolved, 'utf-8');\n\t\t\t} catch {\n\t\t\t\treturn { imports: [], usesLegacyAnimations: false };\n\t\t\t}\n\n\t\t\tlet imports;\n\t\t\ttry {\n\t\t\t\timports = transpiler.scanImports(sourceCode);\n\t\t\t} catch {\n\t\t\t\treturn { imports: [], usesLegacyAnimations: false };\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\timports: imports.map((imp) => imp.path),\n\t\t\t\tusesLegacyAnimations: imports.some(\n\t\t\t\t\t(imp) => imp.path === '@angular/animations'\n\t\t\t\t)\n\t\t\t};\n\t\t})();\n\n\t\tscanCache.set(resolved, promise);\n\n\t\treturn promise;\n\t};\n\n\tconst visit = async (\n\t\tfilePath: string,\n\t\tvisited = new Set<string>()\n\t): Promise<boolean> => {\n\t\tconst actualPath = resolveSourceFile(filePath);\n\t\tif (!actualPath) return false;\n\t\tconst resolved = resolve(actualPath);\n\t\tif (visited.has(resolved)) return false;\n\t\tvisited.add(resolved);\n\n\t\tconst scan = await scanFile(resolved);\n\t\tif (scan.usesLegacyAnimations) return true;\n\n\t\tfor (const specifier of scan.imports) {\n\t\t\tconst importedPath = resolveLocalImport(\n\t\t\t\tspecifier,\n\t\t\t\tdirname(resolved)\n\t\t\t);\n\t\t\tif (importedPath && (await visit(importedPath, visited))) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t};\n\n\treturn (entryPath: string) => visit(entryPath);\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/* Removed in favor of SURGICAL_HMR (§3.3 — Tier 0 / Tier 1\n * dispatch). The old proto-swap pipeline registered every\n * Component / Service / Directive / Pipe class on a global\n * `window.__ANGULAR_HMR__` registry so the client could attempt\n * an in-place prototype patch on edits. With surgical\n * `ɵɵreplaceMetadata` covering component edits and re-bootstrap\n * covering structural changes, neither code path consumes the\n * registry anymore — keeping the injection just produces dead\n * `if (window.__ANGULAR_HMR__) ...` blocks. The Bun loader plugin\n * (`src/dev/angular/hmrInjectionPlugin.ts`) is the only place\n * that still appends per-component HMR scaffolding, and it does\n * so for the surgical `__ng_hmr_load` listener instead. */\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\n/* Extensions that are valid module-import targets without rewriting.\n * `.json` is included so `import data from './foo.json'` survives the\n * angular compile pipeline's path rewriter — without it, the rewriter\n * would append `.js` to make `./foo.json.js`, which doesn't exist on\n * disk, and the dev module server returns 500 on the resulting URL. */\nconst hasJsLikeExtension = (path: string) =>\n\t/\\.(js|ts|mjs|cjs|json)$/.test(path);\n\nconst splitSpecifierAndQuery = (specifier: string) => {\n\tconst separator = specifier.indexOf('?');\n\tif (separator === -1) {\n\t\treturn {\n\t\t\tpath: specifier,\n\t\t\tquery: ''\n\t\t};\n\t}\n\n\treturn {\n\t\tpath: specifier.substring(0, separator),\n\t\tquery: specifier.substring(separator)\n\t};\n};\n\nconst rewriteRelativeJsSpecifier = (\n\timporterOutputPath: string,\n\tspecifier: string,\n\toutputFiles?: Set<string>\n) => {\n\tconst { path, query } = splitSpecifierAndQuery(specifier);\n\tif (path.endsWith('.ts')) return `${path.replace(/\\.ts$/, '.js')}${query}`;\n\tif (hasJsLikeExtension(path)) return `${path}${query}`;\n\n\tconst importerDir = dirname(importerOutputPath);\n\tconst fileCandidate = resolve(importerDir, `${path}.js`);\n\tif (outputFiles?.has(fileCandidate) || existsSync(fileCandidate)) {\n\t\treturn `${path}.js${query}`;\n\t}\n\n\tconst indexCandidate = resolve(importerDir, path, 'index.js');\n\tif (outputFiles?.has(indexCandidate) || existsSync(indexCandidate)) {\n\t\treturn `${path}/index.js${query}`;\n\t}\n\n\treturn `${path}.js${query}`;\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\ntype AotResourceTransformCacheEntry = {\n\tsource: string;\n\tversion: 1;\n};\n\ntype AotResourceTransformStats = {\n\tcacheHits: number;\n\tcacheMisses: number;\n\tfilesVisited: number;\n\ttransformedFiles: number;\n};\n\nconst safeStableStringify = (value: unknown): string => {\n\tconst seen = new WeakSet<object>();\n\n\treturn JSON.stringify(value, (_key, entry) => {\n\t\tif (typeof entry === 'function') return `[Function:${entry.name}]`;\n\t\tif (!entry || typeof entry !== 'object') return entry;\n\t\tif (seen.has(entry)) return '[Circular]';\n\t\tseen.add(entry);\n\n\t\tif (Array.isArray(entry)) return entry;\n\n\t\treturn Object.fromEntries(\n\t\t\tObject.entries(entry).sort(([left], [right]) =>\n\t\t\t\tleft.localeCompare(right)\n\t\t\t)\n\t\t);\n\t});\n};\n\nconst collectAngularResourcePaths = (source: string, fileDir: string) => {\n\tconst paths: string[] = [];\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) paths.push(join(fileDir, templateUrlMatch[1]));\n\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (styleUrlMatch?.[1]) paths.push(join(fileDir, styleUrlMatch[1]));\n\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tconst urlMatches = styleUrlsMatch?.[1]?.match(/['\"]([^'\"]+)['\"]/g);\n\tif (urlMatches) {\n\t\tfor (const urlMatch of urlMatches) {\n\t\t\tpaths.push(join(fileDir, urlMatch.replace(/['\"]/g, '')));\n\t\t}\n\t}\n\n\treturn paths.map((path) => resolve(path));\n};\n\nconst readResourceCacheFile = async (cachePath: string) => {\n\ttry {\n\t\tconst entry = JSON.parse(\n\t\t\tawait fs.readFile(cachePath, 'utf-8')\n\t\t) as AotResourceTransformCacheEntry;\n\t\tif (entry.version !== 1 || typeof entry.source !== 'string') {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn entry;\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nconst writeResourceCacheFile = async (cachePath: string, source: string) => {\n\tawait fs.mkdir(dirname(cachePath), { recursive: true });\n\tawait fs.writeFile(\n\t\tcachePath,\n\t\tJSON.stringify({\n\t\t\tsource,\n\t\t\tversion: 1\n\t\t} satisfies AotResourceTransformCacheEntry),\n\t\t'utf-8'\n\t);\n};\n\nconst resolveResourceTransformCachePath = async (\n\tfilePath: string,\n\tsource: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst resourcePaths = collectAngularResourcePaths(\n\t\tsource,\n\t\tdirname(filePath)\n\t);\n\tconst resourceContents = await Promise.all(\n\t\tresourcePaths.map(async (resourcePath) => {\n\t\t\tconst content = await fs.readFile(resourcePath, 'utf-8');\n\n\t\t\treturn `${resourcePath}\\0${content}`;\n\t\t})\n\t);\n\tconst cacheInput = [\n\t\t'v1',\n\t\tfilePath,\n\t\tsource,\n\t\t...resourceContents,\n\t\tsafeStableStringify(stylePreprocessors ?? null)\n\t].join('\\0');\n\tconst cacheKey = Bun.hash(cacheInput).toString(BASE_36_RADIX);\n\n\treturn join(\n\t\tprocess.cwd(),\n\t\t'.absolutejs',\n\t\t'cache',\n\t\t'angular-resources',\n\t\t`${cacheKey}.json`\n\t);\n};\n\nconst precomputeAotResourceTransforms = async (\n\tinputPaths: string[],\n\treadFile: SyncReadFile | undefined,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst transformedSources = new Map<string, string>();\n\tconst visited = new Set<string>();\n\tconst stats: AotResourceTransformStats = {\n\t\tcacheHits: 0,\n\t\tcacheMisses: 0,\n\t\tfilesVisited: 0,\n\t\ttransformedFiles: 0\n\t};\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\t\tstats.filesVisited += 1;\n\n\t\tconst source = await readFileForAotTransform(resolvedPath, readFile);\n\t\tconst cachePath = await resolveResourceTransformCachePath(\n\t\t\tresolvedPath,\n\t\t\tsource,\n\t\t\tstylePreprocessors\n\t\t);\n\t\tconst cached = await readResourceCacheFile(cachePath);\n\t\tlet transformedSource: string;\n\t\tif (cached) {\n\t\t\tstats.cacheHits += 1;\n\t\t\ttransformedSource = cached.source;\n\t\t} else {\n\t\t\tstats.cacheMisses += 1;\n\t\t\tconst transformed = await inlineResources(\n\t\t\t\tsource,\n\t\t\t\tdirname(resolvedPath),\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\t\t\ttransformedSource = transformed.source;\n\t\t\tawait writeResourceCacheFile(cachePath, transformedSource);\n\t\t}\n\t\tif (transformedSource !== source) {\n\t\t\tstats.transformedFiles += 1;\n\t\t\ttransformedSources.set(resolvedPath, transformedSource);\n\t\t}\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 Promise.all(inputPaths.map((inputPath) => transformFile(inputPath)));\n\n\treturn { stats, transformedSources };\n};\n\nexport const compileAngularFiles = async (\n\tinputPaths: string[],\n\toutDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst islandMetadataByOutputPath = await traceAngularPhase(\n\t\t'aot/island-metadata',\n\t\t() =>\n\t\t\tnew Map(\n\t\t\t\tinputPaths.map((inputPath) => {\n\t\t\t\t\tconst outputPath = resolve(\n\t\t\t\t\t\tjoin(\n\t\t\t\t\t\t\toutDir,\n\t\t\t\t\t\t\trelative(process.cwd(), resolve(inputPath)).replace(\n\t\t\t\t\t\t\t\t/\\.[cm]?[tj]sx?$/,\n\t\t\t\t\t\t\t\t'.js'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\treturn [\n\t\t\t\t\t\toutputPath,\n\t\t\t\t\t\tbuildIslandMetadataExports(\n\t\t\t\t\t\t\treadFileSync(inputPath, 'utf-8')\n\t\t\t\t\t\t)\n\t\t\t\t\t] as const;\n\t\t\t\t})\n\t\t\t),\n\t\t{ entries: inputPaths.length }\n\t);\n\t// Load `@angular/compiler` BEFORE anything that transitively pulls in\n\t// `@angular/common` (which `@angular/compiler-cli` does). The compiler's\n\t// top-level `publishFacade(globalThis)` registers the JIT compiler facade\n\t// on `globalThis.ng` — without that, partial-AOT chunks like\n\t// `_platform_location-chunk.mjs` crash on import with\n\t// \"JIT compilation failed for [class PlatformLocation]\" because they\n\t// call `ɵɵngDeclareFactory` at module load time, which requires the\n\t// facade to be present.\n\tawait traceAngularPhase(\n\t\t'aot/preload-compiler',\n\t\t() => import('@angular/compiler')\n\t);\n\tconst { readConfiguration, performCompilation, EmitFlags } =\n\t\tawait traceAngularPhase(\n\t\t\t'aot/import-compiler-cli',\n\t\t\t() => import('@angular/compiler-cli')\n\t\t);\n\n\tconst tsLibDir = await traceAngularPhase(\n\t\t'aot/resolve-typescript-lib',\n\t\t() => {\n\t\t\t// Resolve TypeScript lib directory dynamically (prevents hardcoded paths)\n\t\t\tconst tsPath = require.resolve('typescript');\n\t\t\tconst tsRootDir = dirname(tsPath);\n\n\t\t\treturn tsRootDir.endsWith('lib')\n\t\t\t\t? tsRootDir\n\t\t\t\t: resolve(tsRootDir, 'lib');\n\t\t}\n\t);\n\n\t// Read configuration from tsconfig.json to get angularCompilerOptions\n\tconst config = await traceAngularPhase('aot/read-configuration', () =>\n\t\treadConfiguration('./tsconfig.json')\n\t);\n\n\t// Build options object with newLine FIRST, then spread config.\n\t// IMPORTANT: target MUST be ES2022 (not ESNext) to avoid hardcoded lib.esnext.full.d.ts path.\n\tconst options: CompilerOptions = {\n\t\temitDecoratorMetadata: true,\n\t\tesModuleInterop: true,\n\t\texperimentalDecorators: true,\n\t\tmodule: ts.ModuleKind.ESNext,\n\t\tmoduleResolution: ts.ModuleResolutionKind.Bundler,\n\t\tnewLine: ts.NewLineKind.LineFeed, // Set FIRST - critical for createCompilerHost\n\t\tnoLib: false,\n\t\toutDir,\n\t\tskipLibCheck: true,\n\t\ttarget: ts.ScriptTarget.ES2022, // Use ES2022 instead of ESNext to avoid hardcoded lib paths\n\t\t...config.options // Spread AFTER to add Angular options\n\t};\n\n\t// CRITICAL: Force target to ES2022 AFTER spread to ensure it's not overwritten.\n\t// ESNext target causes hardcoded lib.esnext.full.d.ts path issues.\n\toptions.target = ts.ScriptTarget.ES2022;\n\n\t// Force TypeScript legacy decorators required by Angular 21's DI system.\n\toptions.experimentalDecorators = true;\n\toptions.emitDecoratorMetadata = true;\n\n\t// Force newLine again after spread to ensure it's not overwritten.\n\toptions.newLine = ts.NewLineKind.LineFeed;\n\n\t// Force outDir after spread — config.options may contain an absolute \"dist\" path\n\t// that overwrites our outDir, causing deeply nested compiled output.\n\toptions.outDir = outDir;\n\n\t// Production examples commonly use noEmit=true for editor/typecheck flows.\n\t// AOT compilation must override that or Angular silently produces no JS.\n\toptions.noEmit = false;\n\n\t// AOT emits into a generated directory that may be cleaned between builds.\n\t// Reusing the project's incremental tsbuildinfo can make TypeScript skip\n\t// files that need to be emitted again.\n\toptions.incremental = false;\n\toptions.tsBuildInfoFile = undefined;\n\n\t// Explicit rootDir prevents TypeScript from computing it from the single entry file,\n\t// which would cause imports from other directories to get absolute-path-based output.\n\toptions.rootDir = process.cwd();\n\n\t// Use TypeScript's createCompilerHost directly. Keep this host local to the\n\t// current AOT pass because the overrides below mutate host methods.\n\tconst host = await traceAngularPhase('aot/create-compiler-host', () =>\n\t\tts.createCompilerHost(options)\n\t);\n\n\t// Override lib resolution to use dynamic paths.\n\tconst originalGetDefaultLibLocation = host.getDefaultLibLocation;\n\thost.getDefaultLibLocation = () =>\n\t\ttsLibDir ||\n\t\t(originalGetDefaultLibLocation ? originalGetDefaultLibLocation() : '');\n\n\tconst originalGetDefaultLibFileName = host.getDefaultLibFileName;\n\thost.getDefaultLibFileName = (opts: ts.CompilerOptions) => {\n\t\tconst fileName = originalGetDefaultLibFileName\n\t\t\t? originalGetDefaultLibFileName(opts)\n\t\t\t: 'lib.d.ts';\n\n\t\treturn basename(fileName);\n\t};\n\n\tconst originalGetSourceFile = host.getSourceFile;\n\thost.getSourceFile = (\n\t\tfileName: string,\n\t\tlanguageVersion: ts.ScriptTarget,\n\t\tonError?: (message: string) => void\n\t) => {\n\t\tif (\n\t\t\tfileName.startsWith('lib.') &&\n\t\t\tfileName.endsWith('.d.ts') &&\n\t\t\ttsLibDir\n\t\t) {\n\t\t\tconst resolvedPath = join(tsLibDir, fileName);\n\n\t\t\treturn originalGetSourceFile?.call(\n\t\t\t\thost,\n\t\t\t\tresolvedPath,\n\t\t\t\tlanguageVersion,\n\t\t\t\tonError\n\t\t\t);\n\t\t}\n\n\t\treturn originalGetSourceFile?.call(\n\t\t\thost,\n\t\t\tfileName,\n\t\t\tlanguageVersion,\n\t\t\tonError\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 { stats: aotResourceTransformStats, transformedSources } =\n\t\tawait traceAngularPhase(\n\t\t\t'aot/precompute-resources',\n\t\t\t() =>\n\t\t\t\tprecomputeAotResourceTransforms(\n\t\t\t\t\tinputPaths,\n\t\t\t\t\toriginalReadFile?.bind(host),\n\t\t\t\t\tstylePreprocessors\n\t\t\t\t),\n\t\t\t{ entries: inputPaths.length }\n\t\t);\n\tawait traceAngularPhase('aot/resource-cache-summary', () => undefined, {\n\t\tcacheHits: aotResourceTransformStats.cacheHits,\n\t\tcacheMisses: aotResourceTransformStats.cacheMisses,\n\t\tfilesVisited: aotResourceTransformStats.filesVisited,\n\t\ttransformedFiles: aotResourceTransformStats.transformedFiles\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 transformedSources.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 = transformedSources.get(resolve(fileName));\n\t\tif (source) {\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 } = await traceAngularPhase(\n\t\t\t'aot/perform-compilation',\n\t\t\t() =>\n\t\t\t\tperformCompilation({\n\t\t\t\t\temitFlags: EmitFlags.Default,\n\t\t\t\t\thost,\n\t\t\t\t\toptions,\n\t\t\t\t\trootNames: inputPaths\n\t\t\t\t}),\n\t\t\t{ entries: inputPaths.length }\n\t\t));\n\t} finally {\n\t\thost.readFile = originalReadFile;\n\t\thost.getSourceFile = originalGetSourceFileForCompile;\n\t}\n\n\tawait traceAngularPhase('aot/check-diagnostics', () =>\n\t\tthrowOnCompilationErrors(diagnostics)\n\t);\n\n\tconst entries = await traceAngularPhase(\n\t\t'aot/postprocess-emitted-js',\n\t\t() => {\n\t\t\tconst rawEntries = Object.entries(emitted)\n\t\t\t\t.filter(([fileName]) => fileName.endsWith('.js'))\n\t\t\t\t.map(([fileName, content]) => ({\n\t\t\t\t\tcontent,\n\t\t\t\t\ttarget: join(outDir, fileName)\n\t\t\t\t}));\n\t\t\tconst outputFiles = new Set(\n\t\t\t\trawEntries.map(({ target }) => resolve(target))\n\t\t\t);\n\n\t\t\treturn rawEntries.map(({ content, target }) => {\n\t\t\t\t// Post-process the compiled output:\n\t\t\t\t// 1. Add .js extensions to imports\n\t\t\t\tlet processedContent = content.replace(\n\t\t\t\t\t/from\\s+(['\"])(\\.\\.?\\/[^'\"]+)(\\1)/g,\n\t\t\t\t\t(match, quote, path) => {\n\t\t\t\t\t\tconst rewritten = rewriteRelativeJsSpecifier(\n\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\toutputFiles\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (rewritten !== path) {\n\t\t\t\t\t\t\treturn `from ${quote}${rewritten}${quote}`;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn match;\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// 2. Fix Angular ɵɵdom* functions to standard ɵɵ* functions\n\t\t\t\tprocessedContent = processedContent\n\t\t\t\t\t.replace(/ɵɵdomElementStart/g, 'ɵɵelementStart')\n\t\t\t\t\t.replace(/ɵɵdomElementEnd/g, 'ɵɵelementEnd')\n\t\t\t\t\t.replace(/ɵɵdomElement\\(/g, 'ɵɵelement(')\n\t\t\t\t\t.replace(/ɵɵdomProperty/g, 'ɵɵproperty')\n\t\t\t\t\t.replace(/ɵɵdomListener/g, 'ɵɵlistener');\n\n\t\t\t\t// 3. Fix InjectFlags -> InternalInjectFlags (Angular 21+ compatibility)\n\t\t\t\t// Replace in import statements\n\t\t\t\tprocessedContent = processedContent.replace(\n\t\t\t\t\t/import\\s*{\\s*([^}]*)\\bInjectFlags\\b([^}]*)\\s*}\\s*from\\s*['\"]@angular\\/core['\"]/g,\n\t\t\t\t\t(match, before, after) => {\n\t\t\t\t\t\tconst cleaned = (before + after)\n\t\t\t\t\t\t\t.replace(/,\\s*,/g, ',')\n\t\t\t\t\t\t\t.replace(/^\\s*,\\s*/, '')\n\t\t\t\t\t\t\t.replace(/,\\s*$/, '');\n\n\t\t\t\t\t\treturn cleaned\n\t\t\t\t\t\t\t? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'`\n\t\t\t\t\t\t\t: `import { InternalInjectFlags } from '@angular/core'`;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\t// Replace usage of InjectFlags\n\t\t\t\tprocessedContent = processedContent.replace(\n\t\t\t\t\t/\\b(?<!Internal)InjectFlags\\b/g,\n\t\t\t\t\t'InternalInjectFlags'\n\t\t\t\t);\n\t\t\t\tprocessedContent +=\n\t\t\t\t\tislandMetadataByOutputPath.get(resolve(target)) ?? '';\n\n\t\t\t\treturn { content: processedContent, target };\n\t\t\t});\n\t\t}\n\t);\n\n\tawait traceAngularPhase(\n\t\t'aot/write-output',\n\t\t() =>\n\t\t\tPromise.all(\n\t\t\t\tentries.map(async ({ target, content }) => {\n\t\t\t\t\tawait fs.mkdir(dirname(target), { recursive: true });\n\t\t\t\t\tawait fs.writeFile(target, content, 'utf-8');\n\t\t\t\t})\n\t\t\t),\n\t\t{ outputs: entries.length }\n\t);\n\n\treturn await traceAngularPhase(\n\t\t'aot/collect-output-paths',\n\t\t() => entries.map(({ target }) => target),\n\t\t{ outputs: entries.length }\n\t);\n};\n\nexport const compileAngularFile = async (\n\tinputPath: string,\n\toutDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => compileAngularFiles([inputPath], outDir, stylePreprocessors);\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/* Drop the content-hash entry for a single file so the next\n * `compileAngularFileJIT` call re-writes it even if the source\n * .ts hasn't changed. Used by the HMR disk-refresh path when an\n * inlined resource (template/style) changed underneath a stable\n * component .ts — the cache would otherwise short-circuit the\n * rewrite and leave a stale on-disk component.\n *\n * Preferred over passing a `cacheBuster` to compileAngularFileJIT\n * for that case, because cacheBuster has a *second* effect —\n * appending `?t=…` to every import specifier in the emitted\n * file — that wedges any later bundle pass that doesn't know\n * the cacheBuster value (Bun.build can't resolve\n * `../components/Foo.js?t=…`). */\nexport const invalidateAngularJitCache = (filePath: string) => {\n\tjitContentCache.delete(resolve(filePath));\n};\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(\n\t\tpattern.source,\n\t\tpattern.flags.includes('g') ? pattern.flags : pattern.flags + 'g'\n\t);\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(inlineTemplateMatch.index + inlineTemplateMatch[0].length);\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(inlineTemplateMatch.index + inlineTemplateMatch[0].length);\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(filePath, stylePreprocessors);\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\tcacheBuster?: string\n) => {\n\tconst entryPath = resolve(inputPath);\n\tconst allOutputs: string[] = [];\n\tconst visited = new Set<string>();\n\tconst baseDir = resolve(rootDir ?? process.cwd());\n\tlet usesLegacyAnimations = false;\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?|json)$/)\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\t`${candidate}.json`,\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\t// `.ts/.tsx/.js/.jsx` → `.js`. `.json` is preserved\n\t\t// (the angular generated tree mirrors the source layout for\n\t\t// JSON imports so `import x from './x.json'` resolves).\n\t\tconst fileBase = basename(sourcePath).replace(/\\.[cm]?[tj]sx?$/, '.js');\n\n\t\treturn join(outDir, relativeDir, fileBase);\n\t};\n\n\tconst withCacheBuster = (specifier: string) => {\n\t\tif (!cacheBuster) return specifier;\n\t\treturn specifier.includes('?')\n\t\t\t? `${specifier}&t=${cacheBuster}`\n\t\t\t: `${specifier}?t=${cacheBuster}`;\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 outputPath = toOutputPath(actualPath);\n\t\tconst rewriteBareImport = (\n\t\t\tprefix: string,\n\t\t\tspecifier: string,\n\t\t\tsuffix: string\n\t) => {\n\t\t\tconst rewritten = importRewrites.get(specifier);\n\t\t\tif (rewritten) {\n\t\t\t\treturn `${prefix}${withCacheBuster(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\tconst rewritten = rewriteRelativeJsSpecifier(outputPath, path);\n\t\t\t\tif (rewritten !== path) {\n\t\t\t\t\treturn `from ${quote}${rewritten}${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// JSON files: copy to the generated tree unchanged so a\n\t\t// consumer's `import x from './x.json'` can resolve relative\n\t\t// to its compiled `.js` location at SSR / module-server time.\n\t\t// No imports inside JSON, so no recursion.\n\t\tif (resolved.endsWith('.json') && existsSync(resolved)) {\n\t\t\tconst inputDir = dirname(resolved);\n\t\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t\t: inputDir;\n\t\t\tconst targetDir = join(outDir, relativeDir);\n\t\t\tconst targetPath = join(targetDir, basename(resolved));\n\t\t\tawait fs.mkdir(targetDir, { recursive: true });\n\t\t\tawait fs.copyFile(resolved, targetPath);\n\t\t\tallOutputs.push(targetPath);\n\t\t\treturn;\n\t\t}\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\tif (localImports.includes('@angular/animations')) {\n\t\t\tusesLegacyAnimations = true;\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(\n\t\t\t\t\ttargetDir,\n\t\t\t\t\ttoOutputPath(resolved)\n\t\t\t\t)\n\t\t\t\t\t.replace(/\\\\/g, '/')\n\t\t\t\t\t.replace(/\\.js$/, '');\n\t\t\t\tconst relativeRewrite = relativeImport.startsWith('.')\n\t\t\t\t\t? relativeImport\n\t\t\t\t\t: `./${relativeImport}`;\n\t\t\t\timportRewrites.set(specifier, relativeRewrite);\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\t//\n\t\t// `cacheBuster` only forces rewrite of the *entry* file, not\n\t\t// recursively-traversed imports. The HMR disk-refresh path\n\t\t// uses it when an HTML/CSS resource changed without a TS edit\n\t\t// (so the TS hash is stale on the inlined-template view); we\n\t\t// don't want it to invalidate the whole import graph too.\n\t\tconst isEntry = resolve(actualPath) === resolve(entryPath);\n\t\tconst contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);\n\t\tconst cacheKey = actualPath;\n\t\tconst shouldWriteFile = cacheBuster && isEntry\n\t\t\t? true\n\t\t\t: jitContentCache.get(cacheKey) !== contentHash ||\n\t\t\t\t!existsSync(targetPath);\n\t\tif (shouldWriteFile) {\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\t// No inline sourcemap on the intermediate for Angular.\n\t\t\t// Bun.Transpiler doesn't emit sourcemaps, and the\n\t\t\t// decorator-metadata rewrite reshapes the class body\n\t\t\t// aggressively enough that content-matching the\n\t\t\t// original .ts to the transpiled output produces only\n\t\t\t// trivial mappings (imports). Server-side stack frames\n\t\t\t// therefore point at the on-disk intermediate `.js`\n\t\t\t// under `.absolutejs/generated/angular/...` — a real\n\t\t\t// file the developer can open. See HMR_COVERAGE.md\n\t\t\t// open-issues for the path forward (switch the per-file\n\t\t\t// transpile to a Bun.build pass so we get its native\n\t\t\t// sourcemap output).\n\t\t\tawait fs.mkdir(targetDir, { recursive: true });\n\t\t\tawait fs.writeFile(targetPath, processedContent, 'utf-8');\n\t\t\tjitContentCache.set(cacheKey, contentHash);\n\t\t}\n\n\t\tallOutputs.push(targetPath);\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\tconst entryOutputPath = toOutputPath(entryPath);\n\tif (existsSync(entryOutputPath)) {\n\t\tconst entryOutput = await fs.readFile(entryOutputPath, 'utf-8');\n\t\tconst withoutLegacyFlag = entryOutput.replace(\n\t\t\t/\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n?/g,\n\t\t\t'\\n'\n\t\t);\n\t\tconst nextEntryOutput = usesLegacyAnimations\n\t\t\t? `${withoutLegacyFlag}\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n`\n\t\t\t: withoutLegacyFlag;\n\t\tif (nextEntryOutput !== entryOutput) {\n\t\t\tawait fs.writeFile(entryOutputPath, nextEntryOutput, 'utf-8');\n\t\t}\n\t}\n\n\treturn allOutputs;\n};\n\nexport const compileAngular = async (\n\tentryPoints: string[],\n\toutRoot: string,\n\thmr = false,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\t// Compile to <projectRoot>/.absolutejs/generated/angular/. The\n\t// previous layout wrote into <angularDir>/generated/, leaking into\n\t// the user's source tree. Path math inside this function keeps\n\t// using `outRoot` (the user's angular source dir) for relative\n\t// computations — only the *destination root* moves.\n\tconst compiledParent = getFrameworkGeneratedDir('angular');\n\n\tif (entryPoints.length === 0) {\n\t\tconst emptyPaths: string[] = [];\n\n\t\treturn { clientPaths: [...emptyPaths], serverPaths: [...emptyPaths] };\n\t}\n\n\t// In dev/HMR a fixed path is required: different file paths produce\n\t// different ESM cache entries in Bun, which would split Angular into\n\t// duplicate module instances and trip NG0201/NG0203 token-identity\n\t// mismatches. Pinning to the gitignored `.absolutejs/generated/`\n\t// satisfies the constraint while keeping `src/` clean.\n\tconst compiledRoot = compiledParent;\n\tconst indexesDir = join(compiledParent, 'indexes');\n\n\tawait traceAngularPhase('setup/create-indexes-dir', () =>\n\t\tfs.mkdir(indexesDir, { recursive: true })\n\t);\n\n\tconst aotOutputs = hmr\n\t\t? []\n\t\t: await traceAngularPhase(\n\t\t\t\t'aot/compile-files',\n\t\t\t\t() =>\n\t\t\t\t\tcompileAngularFiles(\n\t\t\t\t\t\tentryPoints.map((entry) => resolve(entry)),\n\t\t\t\t\t\tcompiledRoot,\n\t\t\t\t\t\tstylePreprocessors\n\t\t\t\t\t),\n\t\t\t\t{ entries: entryPoints.length }\n\t\t\t);\n\t// AOT mirrors the source tree under `compiledRoot/<rel-from-cwd>/`, so\n\t// `import x from '../data/foo.json'` from a compiled component must\n\t// resolve a copy of the JSON in the same relative location. The JIT\n\t// path copies these inline (see `transpileFile` below); AOT skipped\n\t// them and the prod server bundle then failed with\n\t// `Could not resolve: \"../data/labels.json\"`. Walk the user's angular\n\t// source dir and mirror every `.json` to the AOT tree.\n\tif (!hmr) {\n\t\tawait traceAngularPhase('aot/copy-json-resources', async () => {\n\t\t\tconst cwd = process.cwd();\n\t\t\tconst angularSrcDir = resolve(outRoot);\n\t\t\tif (!existsSync(angularSrcDir)) return;\n\t\t\tconst jsonGlob = new Glob('**/*.json');\n\t\t\tfor (const rel of jsonGlob.scanSync({\n\t\t\t\tabsolute: false,\n\t\t\t\tcwd: angularSrcDir\n\t\t\t})) {\n\t\t\t\tconst sourcePath = join(angularSrcDir, rel);\n\t\t\t\tconst cwdRel = relative(cwd, sourcePath);\n\t\t\t\tconst targetPath = join(compiledRoot, cwdRel);\n\t\t\t\tawait fs.mkdir(dirname(targetPath), { recursive: true });\n\t\t\t\tawait fs.copyFile(sourcePath, targetPath);\n\t\t\t}\n\t\t});\n\t}\n\tconst usesLegacyAngularAnimations = await traceAngularPhase(\n\t\t'setup/legacy-animation-resolver',\n\t\t() => createLegacyAngularAnimationUsageResolver(outRoot)\n\t);\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\tcompileAngularFileJIT(\n\t\t\t\tresolvedEntry,\n\t\t\t\tcompiledRoot,\n\t\t\t\toutRoot,\n\t\t\t\tstylePreprocessors\n\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 = hmr\n\t\t\t? await traceAngularPhase('jit/compile-entry', compileEntry, {\n\t\t\t\t\tentry: resolvedEntry\n\t\t\t\t})\n\t\t\t: aotOutputs;\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\t// Match by the page's full source-relative path (e.g.\n\t\t\t// `src/frontend/pages/admin/admin.js`). Required for the\n\t\t\t// folder-per-page layout, where basename-only matching can\n\t\t\t// collide with same-named files elsewhere in the project\n\t\t\t// (e.g. `src/types/admin/admin.ts`).\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}${relativeEntry}`)\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) &&\n\t\t\t\t\t\tfile.endsWith(`${sep}pages${sep}${jsName}`)\n\t\t\t\t);\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 = await traceAngularPhase(\n\t\t\t'wrapper/resolve-server-output',\n\t\t\t() => resolveRawServerFile(outputs),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\t\tif (!rawServerFile) {\n\t\t\trawServerFile = await traceAngularPhase(\n\t\t\t\t'wrapper/resolve-server-output-fallback',\n\t\t\t\t() => resolveRawServerFile([]),\n\t\t\t\t{ entry: resolvedEntry }\n\t\t\t);\n\t\t}\n\t\tif (rawServerFile && !existsSync(rawServerFile)) {\n\t\t\toutputs = hmr ? await compileEntry() : aotOutputs;\n\t\t\trawServerFile = await traceAngularPhase(\n\t\t\t\t'wrapper/resolve-server-output-retry',\n\t\t\t\t() => resolveRawServerFile(outputs),\n\t\t\t\t{ entry: resolvedEntry }\n\t\t\t);\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 traceAngularPhase(\n\t\t\t'wrapper/read-server-output',\n\t\t\t() => fs.readFile(rawServerFile, 'utf-8'),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\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): string | null => {\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 null;\n\t\t};\n\t\tconst detectedClassName = await traceAngularPhase(\n\t\t\t'wrapper/detect-component-class',\n\t\t\t() => detectExportedComponentClass(original),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\t\t// `not-found.ts` and similar convention pages export a render\n\t\t// function (`renderNotFound`/`renderError`/etc.) instead of a\n\t\t// component class. Falling back to a guessed `<Pascal>Component`\n\t\t// name when nothing is detected emits a dangling\n\t\t// `export default NotFoundComponent;` and the bundle throws\n\t\t// `ReferenceError: NotFoundComponent is not defined` at module\n\t\t// evaluation. Use the fallback ONLY for the bundle-internal\n\t\t// references that need *some* placeholder symbol — and skip the\n\t\t// trailing default-export append entirely when nothing real was\n\t\t// found.\n\t\tconst componentClassName =\n\t\t\tdetectedClassName ?? `${toPascal(fileBase)}Component`;\n\t\tconst usesLegacyAnimations = await traceAngularPhase(\n\t\t\t'wrapper/detect-legacy-animations',\n\t\t\t() => usesLegacyAngularAnimations(resolvedEntry),\n\t\t\t{ entry: resolvedEntry }\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\t(usesLegacyAnimations ||\n\t\t\t\t!original.includes(\n\t\t\t\t\t'__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__'\n\t\t\t\t)) &&\n\t\t\t(!usesLegacyAnimations ||\n\t\t\t\toriginal.includes('__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__'))\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\trewritten = rewritten.replace(\n\t\t\t/\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n?/g,\n\t\t\t'\\n'\n\t\t);\n\t\tif (!rewritten.includes(`import '@angular/compiler';`)) {\n\t\t\trewritten = `import '@angular/compiler';\\n${rewritten}`;\n\t\t}\n\n\t\t// Only add default export if one doesn't already exist AND we\n\t\t// actually detected a real class to point it at — convention\n\t\t// pages that export a render function (e.g. not-found.ts's\n\t\t// `renderNotFound`) intentionally have no default class export.\n\t\tif (detectedClassName && !rewritten.includes('export default')) {\n\t\t\trewritten += `\\nexport default ${componentClassName};\\n`;\n\t\t}\n\t\tif (usesLegacyAnimations) {\n\t\t\trewritten +=\n\t\t\t\t'\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n';\n\t\t}\n\n\t\t// Note: proto-swap registration was here. SURGICAL_HMR §3.3\n\t\t// replaced it with `hmrInjectionPlugin.ts`, which appends a\n\t\t// per-component `__ng_hmr_load` listener at bundle time.\n\n\t\tawait traceAngularPhase(\n\t\t\t'wrapper/write-server-output',\n\t\t\t() => fs.writeFile(rawServerFile, rewritten, 'utf-8'),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\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 \"${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 { withHttpTransferCacheOptions } 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 : [];\nvar absoluteHttpTransferCacheOptions = {\n includePostRequests: false,\n includeRequestsWithAuthHeaders: false,\n filter: function(request) {\n return !request.headers.has('x-skip-transfer-cache');\n }\n};\n\n// SURGICAL_HMR Tier 1 — Re-bootstrap hook. The dev client invokes\n// \\`window.__ABS_ANGULAR_REBOOTSTRAP__()\\` when it receives an\n// \\`angular:rebootstrap\\` WS message; the hook looks up this page's\n// freshly-built bundle URL (the rebuild already broadcast its\n// updated manifest, so window.__HMR_MANIFEST__ is current) and\n// dynamic-imports it. Re-importing the chunk re-runs the\n// destroy+bootstrap block below — no special path needed because\n// chunk eval is the bootstrap.\nwindow.__ABS_ANGULAR_PAGE_BUNDLE_ID__ = '${toPascal(fileBase)}Index';\nwindow.__ABS_ANGULAR_REBOOTSTRAP__ = async function() {\n var id = window.__ABS_ANGULAR_PAGE_BUNDLE_ID__;\n var manifest = window.__HMR_MANIFEST__ || {};\n var newUrl = manifest[id];\n if (!newUrl) {\n console.warn('[absolutejs] no bundle URL in manifest for', id, '— full reload');\n window.location.reload();\n return;\n }\n await import(newUrl + '?t=' + Date.now());\n};\n\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(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));\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 { withHttpTransferCacheOptions } 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 : [];\nvar absoluteHttpTransferCacheOptions = {\n includePostRequests: false,\n includeRequestsWithAuthHeaders: false,\n filter: function(request) {\n return !request.headers.has('x-skip-transfer-cache');\n }\n};\n\nenableProdMode();\n\nvar providers = [provideZonelessChangeDetection()].concat(pageProviders).concat(propProviders);\nif (!pageHasIslands) {\n providers.unshift(provideClientHydration(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));\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 traceAngularPhase(\n\t\t\t'wrapper/write-client-index',\n\t\t\t() => fs.writeFile(clientFile, hydration, 'utf-8'),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\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 traceAngularPhase(\n\t\t'wrapper/process-entries',\n\t\t() => Promise.all(compileTasks),\n\t\t{ entries: entryPoints.length }\n\t);\n\tconst { clientPaths, serverPaths } = await traceAngularPhase(\n\t\t'wrapper/collect-paths',\n\t\t() => ({\n\t\t\tclientPaths: results.map((r) => r.clientPath),\n\t\t\tserverPaths: results.map((r) => r.serverPath)\n\t\t}),\n\t\t{ entries: results.length }\n\t);\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",
40
40
  "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",
41
41
  "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",
42
42
  "import { InjectionToken } from '@angular/core';\n\nconst DEFAULT_DETERMINISTIC_SEED = 'absolute-angular';\nconst DEFAULT_DETERMINISTIC_NOW = 0;\nconst HASH_MULTIPLIER = 31;\nconst FNV_OFFSET_BASIS = 2166136261;\nconst FNV_PRIME = 16777619;\nconst XORSHIFT_LEFT_1 = 13;\nconst XORSHIFT_LEFT_2 = 5;\nconst XORSHIFT_RIGHT = 17;\nconst UINT32_MAX = 0x100000000;\n\nexport type DeterministicRandom = () => number;\n\nexport type DeterministicEnvOptions = {\n\tnow?: Date | number | string;\n\tseed?: number | string;\n};\n\nexport const DETERMINISTIC_NOW = new InjectionToken<number>(\n\t'DETERMINISTIC_NOW'\n);\nexport const DETERMINISTIC_RANDOM = new InjectionToken<DeterministicRandom>(\n\t'DETERMINISTIC_RANDOM'\n);\nexport const DETERMINISTIC_SEED = new InjectionToken<string>(\n\t'DETERMINISTIC_SEED'\n);\n\nconst hashSeed = (seed: number | string) => {\n\tconst seedText = String(seed);\n\tlet hash = FNV_OFFSET_BASIS;\n\n\tfor (const char of seedText) {\n\t\thash = Math.imul(hash ^ char.charCodeAt(0), FNV_PRIME);\n\t}\n\n\treturn hash >>> 0 || HASH_MULTIPLIER;\n};\n\nexport const createDeterministicRandom = (\n\tseed: number | string = DEFAULT_DETERMINISTIC_SEED\n) => {\n\tlet state = hashSeed(seed);\n\n\treturn () => {\n\t\tstate ^= state << XORSHIFT_LEFT_1;\n\t\tstate ^= state >>> XORSHIFT_RIGHT;\n\t\tstate ^= state << XORSHIFT_LEFT_2;\n\n\t\treturn (state >>> 0) / UINT32_MAX;\n\t};\n};\n\nconst normalizeNow = (now: Date | number | string | undefined) => {\n\tif (now instanceof Date) return now.getTime();\n\tif (typeof now === 'string') return new Date(now).getTime();\n\tif (typeof now === 'number') return now;\n\n\treturn DEFAULT_DETERMINISTIC_NOW;\n};\n\nexport const provideDeterministicEnv = (\n\toptions: DeterministicEnvOptions = {}\n) => {\n\tconst seed = String(options.seed ?? DEFAULT_DETERMINISTIC_SEED);\n\tconst now = normalizeNow(options.now);\n\n\treturn [\n\t\t{ provide: DETERMINISTIC_SEED, useValue: seed },\n\t\t{ provide: DETERMINISTIC_NOW, useValue: now },\n\t\t{\n\t\t\tdeps: [DETERMINISTIC_SEED],\n\t\t\tprovide: DETERMINISTIC_RANDOM,\n\t\t\tuseFactory: createDeterministicRandom\n\t\t}\n\t];\n};\n",
@@ -52,7 +52,7 @@
52
52
  "import type { Type } from '@angular/core';\nimport type { AngularPageDefinition } from '../../types/angular';\n\nexport const defineAngularPage = <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(definition: {\n\tcomponent: Type<unknown>;\n}) => definition as AngularPageDefinition<Props>;\n",
53
53
  "import { inject, PendingTasks } from '@angular/core';\n\nexport const withPendingTask = async <Value>(work: () => Promise<Value>) => {\n\tconst removeTask = inject(PendingTasks).add();\n\n\ttry {\n\t\treturn await work();\n\t} finally {\n\t\tremoveTask();\n\t}\n};\n"
54
54
  ],
55
- "mappings": "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",
56
- "debugId": "5F6BCB17E0588FD664756E2164756E21",
55
+ "mappings": "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",
56
+ "debugId": "5C499A0635BF4E6264756E2164756E21",
57
57
  "names": []
58
58
  }