@absolutejs/absolute 0.15.27 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1,25 +1,26 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/constants.ts", "../src/utils/stringModifiers.ts", "../src/build/compileVue.ts", "../src/dev/simpleHTMLHMR.ts", "../src/utils/escapeScriptContent.ts", "../src/svelte/renderToReadableStream.ts", "../src/utils/ssrErrorPage.ts", "../src/core/pageHandlers.ts", "../src/utils/generateHeadElement.ts", "../src/dev/simpleVueHMR.ts", "../src/dev/simpleSvelteHMR.ts", "../src/dev/simpleHTMXHMR.ts", "../types/client.ts", "../types/messages.ts", "../types/websocket.ts", "../src/index.ts", "../src/core/build.ts", "../src/build/compileSvelte.ts", "../src/build/generateManifest.ts", "../src/utils/normalizePath.ts", "../src/build/generateReactIndexes.ts", "../src/build/wrapHTMLScript.ts", "../src/build/htmlScriptHMRPlugin.ts", "../src/build/outputLogs.ts", "../src/build/scanEntryPoints.ts", "../src/build/updateAssetPaths.ts", "../src/dev/buildHMRClient.ts", "../src/build/rewriteReactImports.ts", "../src/core/devVendorPaths.ts", "../src/utils/cleanup.ts", "../src/utils/commonAncestor.ts", "../src/utils/getDurationString.ts", "../src/utils/logger.ts", "../src/utils/validateSafePath.ts", "../src/core/devBuild.ts", "../src/build/buildReactVendor.ts", "../src/dev/dependencyGraph.ts", "../src/dev/moduleVersionTracker.ts", "../src/dev/configResolver.ts", "../src/dev/clientManager.ts", "../src/dev/fileWatcher.ts", "../src/dev/pathUtils.ts", "../src/dev/assetStore.ts", "../src/dev/rebuildTrigger.ts", "../src/dev/fileHashTracker.ts", "../src/dev/moduleMapper.ts", "../src/dev/reactComponentClassifier.ts", "../src/dev/webSocket.ts", "../src/core/lookup.ts", "../src/core/index.ts", "../src/plugins/pageRouter.ts", "../src/plugins/hmr.ts", "../src/plugins/networking.ts", "../src/utils/networking.ts", "../src/utils/getEnv.ts", "../src/utils/registerClientScript.ts", "../src/utils/getRegisterClientScript.ts"],
3
+ "sources": ["../src/constants.ts", "../src/utils/stringModifiers.ts", "../src/build/compileSvelte.ts", "../src/build/compileVue.ts", "../src/dev/simpleHTMLHMR.ts", "../src/utils/ssrErrorPage.ts", "../src/vue/pageHandler.ts", "../src/utils/generateHeadElement.ts", "../src/dev/simpleVueHMR.ts", "../src/utils/escapeScriptContent.ts", "../src/svelte/renderToReadableStream.ts", "../src/svelte/pageHandler.ts", "../src/dev/simpleSvelteHMR.ts", "../src/dev/simpleHTMXHMR.ts", "../types/client.ts", "../types/messages.ts", "../types/websocket.ts", "../src/index.ts", "../src/core/build.ts", "../src/build/generateManifest.ts", "../src/utils/normalizePath.ts", "../src/build/generateReactIndexes.ts", "../src/build/wrapHTMLScript.ts", "../src/build/htmlScriptHMRPlugin.ts", "../src/build/outputLogs.ts", "../src/build/scanEntryPoints.ts", "../src/build/updateAssetPaths.ts", "../src/dev/buildHMRClient.ts", "../src/build/rewriteReactImports.ts", "../src/core/devVendorPaths.ts", "../src/utils/cleanup.ts", "../src/utils/commonAncestor.ts", "../src/utils/getDurationString.ts", "../src/utils/logger.ts", "../src/utils/validateSafePath.ts", "../src/core/devBuild.ts", "../src/build/buildReactVendor.ts", "../src/dev/dependencyGraph.ts", "../src/dev/moduleVersionTracker.ts", "../src/dev/configResolver.ts", "../src/dev/clientManager.ts", "../src/dev/fileWatcher.ts", "../src/dev/pathUtils.ts", "../src/dev/assetStore.ts", "../src/dev/rebuildTrigger.ts", "../src/dev/fileHashTracker.ts", "../src/dev/moduleMapper.ts", "../src/dev/reactComponentClassifier.ts", "../src/dev/webSocket.ts", "../src/core/lookup.ts", "../src/core/pageHandlers.ts", "../src/plugins/pageRouter.ts", "../src/plugins/hmr.ts", "../src/plugins/networking.ts", "../src/utils/networking.ts", "../src/utils/getEnv.ts", "../src/utils/registerClientScript.ts", "../src/utils/getRegisterClientScript.ts"],
4
4
  "sourcesContent": [
5
5
  "export const UNFOUND_INDEX = -1;\nexport const SECONDS_IN_A_MINUTE = 60;\nexport const MILLISECONDS_IN_A_SECOND = 1000;\nexport const MILLISECONDS_IN_A_MINUTE =\n\tMILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE;\nexport const MINUTES_IN_AN_HOUR = 60;\nexport const HOURS_IN_DAY = 24;\nexport const MILLISECONDS_IN_A_DAY =\n\tMILLISECONDS_IN_A_SECOND *\n\tSECONDS_IN_A_MINUTE *\n\tMINUTES_IN_AN_HOUR *\n\tHOURS_IN_DAY;\nexport const TIME_PRECISION = 2;\nexport const TWO_THIRDS = 2 / 3;\nexport const DEFAULT_PORT = 3000;\nexport const DEFAULT_CHUNK_SIZE = 16_384;\nexport const BUN_BUILD_WARNING_SUPPRESSION =\n\t'wildcard sideEffects are not supported yet';\n",
6
6
  "const normalizeSlug = (str: string) =>\n\tstr\n\t\t.trim()\n\t\t.replace(/\\s+/g, '-')\n\t\t.replace(/[^A-Za-z0-9\\-_]+/g, '')\n\t\t.replace(/[-_]{2,}/g, '-');\n\nexport const toPascal = (str: string) => {\n\tif (!str.includes('-') && !str.includes('_')) {\n\t\treturn str.charAt(0).toUpperCase() + str.slice(1);\n\t}\n\n\treturn normalizeSlug(str)\n\t\t.split(/[-_]/)\n\t\t.filter(Boolean)\n\t\t.map(\n\t\t\t(segment) =>\n\t\t\t\tsegment.charAt(0).toUpperCase() + segment.slice(1).toLowerCase()\n\t\t)\n\t\t.join('');\n};\n\nexport const toKebab = (str: string) =>\n\tnormalizeSlug(str)\n\t\t.replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n\t\t.toLowerCase();\n",
7
+ "import { existsSync } from 'node:fs';\nimport { mkdir, stat } from 'node:fs/promises';\nimport {\n\tdirname,\n\tjoin,\n\tbasename,\n\textname,\n\tresolve,\n\trelative,\n\tsep\n} from 'node:path';\nimport { env } from 'node:process';\nimport { write, file, Transpiler } from 'bun';\nimport { compile, compileModule, preprocess } from 'svelte/compiler';\n\nconst devClientDir = (() => {\n\tconst fromSource = resolve(import.meta.dir, '../dev/client');\n\tif (existsSync(fromSource)) return fromSource;\n\n\treturn resolve(import.meta.dir, './dev/client');\n})();\n\nconst hmrClientPath = join(devClientDir, 'hmrClient.ts').replace(/\\\\/g, '/');\n\ntype Built = { ssr: string; client: string };\ntype Cache = Map<string, Built>;\n\nconst transpiler = new Transpiler({ loader: 'ts', target: 'browser' });\n\nconst exists = async (path: string) => {\n\ttry {\n\t\tawait stat(path);\n\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nconst resolveSvelte = async (spec: string, from: string) => {\n\tconst basePath = resolve(dirname(from), spec);\n\tconst explicit = /\\.(svelte|svelte\\.(?:ts|js))$/.test(basePath);\n\n\tif (!explicit) {\n\t\tconst extensions = ['.svelte', '.svelte.ts', '.svelte.js'];\n\t\tconst paths = extensions.map((ext) => `${basePath}${ext}`);\n\t\tconst checks = await Promise.all(paths.map(exists));\n\t\tconst match = paths.find((_, index) => checks[index]);\n\n\t\treturn match ?? null;\n\t}\n\n\tif (await exists(basePath)) return basePath;\n\tif (!basePath.endsWith('.svelte')) return null;\n\n\tconst tsPath = `${basePath}.ts`;\n\tif (await exists(tsPath)) return tsPath;\n\n\tconst jsPath = `${basePath}.js`;\n\tif (await exists(jsPath)) return jsPath;\n\n\treturn null;\n};\n\nexport const compileSvelte = async (\n\tentryPoints: string[],\n\tsvelteRoot: string,\n\tcache: Cache = new Map(),\n\tisDev = false\n) => {\n\tconst compiledRoot = join(svelteRoot, 'compiled');\n\tconst clientDir = join(compiledRoot, 'client');\n\tconst indexDir = join(compiledRoot, 'indexes');\n\tconst pagesDir = join(compiledRoot, 'pages');\n\n\tawait Promise.all(\n\t\t[clientDir, indexDir, pagesDir].map((dir) =>\n\t\t\tmkdir(dir, { recursive: true })\n\t\t)\n\t);\n\n\tconst dev = env.NODE_ENV !== 'production';\n\n\tconst build = async (src: string) => {\n\t\tconst memoized = cache.get(src);\n\t\tif (memoized) return memoized;\n\n\t\tconst raw = await file(src).text();\n\t\tconst isModule =\n\t\t\tsrc.endsWith('.svelte.ts') || src.endsWith('.svelte.js');\n\t\tconst preprocessed = isModule ? raw : (await preprocess(raw, {})).code;\n\t\tconst transpiled =\n\t\t\tsrc.endsWith('.ts') || src.endsWith('.svelte.ts')\n\t\t\t\t? transpiler.transformSync(preprocessed)\n\t\t\t\t: preprocessed;\n\n\t\tconst relDir = dirname(relative(svelteRoot, src)).replace(/\\\\/g, '/');\n\t\tconst baseName = basename(src).replace(/\\.svelte(\\.(ts|js))?$/, '');\n\n\t\tconst importPaths = Array.from(\n\t\t\ttranspiled.matchAll(/from\\s+['\"]([^'\"]+)['\"]/g)\n\t\t)\n\t\t\t.map((match) => match[1])\n\t\t\t.filter((path): path is string => path !== undefined);\n\n\t\tconst resolvedImports = await Promise.all(\n\t\t\timportPaths.map((importPath) => resolveSvelte(importPath, src))\n\t\t);\n\t\tconst childSources = resolvedImports.filter(\n\t\t\t(path): path is string => path !== null\n\t\t);\n\t\tawait Promise.all(childSources.map((child) => build(child)));\n\n\t\tconst generate = (mode: 'server' | 'client') =>\n\t\t\t(isModule\n\t\t\t\t? compileModule(transpiled, {\n\t\t\t\t\t\tdev: mode === 'client' && dev,\n\t\t\t\t\t\tfilename: src\n\t\t\t\t\t}).js.code\n\t\t\t\t: compile(transpiled, {\n\t\t\t\t\t\tcss: 'injected',\n\t\t\t\t\t\tdev: mode === 'client' && dev,\n\t\t\t\t\t\tfilename: src,\n\t\t\t\t\t\tgenerate: mode\n\t\t\t\t\t}).js.code\n\t\t\t).replace(/\\.svelte(?:\\.(?:ts|js))?(['\"])/g, '.js$1');\n\n\t\tconst ssrPath = join(pagesDir, relDir, `${baseName}.js`);\n\t\tconst clientPath = join(clientDir, relDir, `${baseName}.js`);\n\n\t\tawait Promise.all([\n\t\t\tmkdir(dirname(ssrPath), { recursive: true }),\n\t\t\tmkdir(dirname(clientPath), { recursive: true })\n\t\t]);\n\n\t\tif (isModule) {\n\t\t\tconst bundle = generate('client');\n\t\t\tawait Promise.all([\n\t\t\t\twrite(ssrPath, bundle),\n\t\t\t\twrite(clientPath, bundle)\n\t\t\t]);\n\t\t} else {\n\t\t\tconst serverBundle = generate('server');\n\t\t\tconst clientBundle = generate('client');\n\t\t\tawait Promise.all([\n\t\t\t\twrite(ssrPath, serverBundle),\n\t\t\t\twrite(clientPath, clientBundle)\n\t\t\t]);\n\t\t}\n\n\t\tconst built: Built = { client: clientPath, ssr: ssrPath };\n\t\tcache.set(src, built);\n\n\t\treturn built;\n\t};\n\n\tconst roots = await Promise.all(entryPoints.map(build));\n\n\tawait Promise.all(\n\t\troots.map(async ({ client }) => {\n\t\t\tconst relClientDir = dirname(relative(clientDir, client));\n\t\t\tconst name = basename(client, extname(client));\n\t\t\tconst indexPath = join(indexDir, relClientDir, `${name}.js`);\n\t\t\tconst importRaw = relative(dirname(indexPath), client)\n\t\t\t\t.split(sep)\n\t\t\t\t.join('/');\n\t\t\tconst importPath =\n\t\t\t\timportRaw.startsWith('.') || importRaw.startsWith('/')\n\t\t\t\t\t? importRaw\n\t\t\t\t\t: `./${importRaw}`;\n\t\t\tconst hmrImports = isDev\n\t\t\t\t? `window.__HMR_FRAMEWORK__ = \"svelte\";\\nimport \"${hmrClientPath}\";\\n`\n\t\t\t\t: '';\n\t\t\tconst bootstrap = `${hmrImports}import Component from \"${importPath}\";\nimport { hydrate, mount, unmount } from \"svelte\";\n\nvar initialProps = (typeof window !== \"undefined\" && window.__INITIAL_PROPS__) ? window.__INITIAL_PROPS__ : {};\nvar isHMR = typeof window !== \"undefined\" && window.__SVELTE_COMPONENT__ !== undefined;\nvar component;\n\nif (isHMR) {\n var headLinks = document.querySelectorAll('link[rel=\"stylesheet\"]');\n var preservedLinks = [];\n headLinks.forEach(function(link) {\n var clone = link.cloneNode(true);\n clone.setAttribute(\"data-hmr-preserve\", \"true\");\n document.head.appendChild(clone);\n preservedLinks.push(clone);\n });\n if (typeof window.__SVELTE_UNMOUNT__ === \"function\") {\n try { window.__SVELTE_UNMOUNT__(); } catch (err) { console.warn(\"[HMR] unmount error:\", err); }\n }\n var preservedState = window.__HMR_PRESERVED_STATE__;\n if (!preservedState) {\n try {\n var stored = sessionStorage.getItem(\"__SVELTE_HMR_STATE__\");\n if (stored) preservedState = JSON.parse(stored);\n } catch (err) { /* ignore */ }\n }\n var mergedProps = preservedState ? Object.assign({}, initialProps, preservedState) : initialProps;\n component = mount(Component, { target: document.body, props: mergedProps });\n requestAnimationFrame(function() {\n preservedLinks.forEach(function(link) { link.remove(); });\n });\n window.__HMR_PRESERVED_STATE__ = undefined;\n} else {\n component = hydrate(Component, { target: document.body, props: initialProps });\n}\n\nif (typeof window !== \"undefined\") {\n window.__SVELTE_COMPONENT__ = component;\n window.__SVELTE_UNMOUNT__ = function() { unmount(component); };\n}`;\n\n\t\t\tawait mkdir(dirname(indexPath), { recursive: true });\n\n\t\t\treturn write(indexPath, bootstrap);\n\t\t})\n\t);\n\n\treturn {\n\t\t// Index paths (entry points for hydration)\n\t\tsvelteIndexPaths: roots.map(({ client }) => {\n\t\t\tconst rel = dirname(relative(clientDir, client));\n\t\t\treturn join(indexDir, rel, basename(client));\n\t\t}),\n\t\t// Actual client component paths (for official HMR module imports)\n\t\tsvelteClientPaths: roots.map(({ client }) => client),\n\t\tsvelteServerPaths: roots.map(({ ssr }) => ssr)\n\t};\n};\n",
7
8
  "import { existsSync } from 'node:fs';\nimport { mkdir } from 'node:fs/promises';\nimport { basename, dirname, join, relative, resolve } from 'node:path';\nimport {\n\tparse,\n\tcompileScript,\n\tcompileTemplate,\n\tcompileStyle,\n\ttype SFCDescriptor\n} from '@vue/compiler-sfc';\nimport { file, write, Transpiler } from 'bun';\nimport { toKebab } from '../utils/stringModifiers';\n\nconst devClientDir = (() => {\n\tconst fromSource = resolve(import.meta.dir, '../dev/client');\n\tif (existsSync(fromSource)) return fromSource;\n\n\treturn resolve(import.meta.dir, './dev/client');\n})();\n\nconst hmrClientPath = join(devClientDir, 'hmrClient.ts').replace(/\\\\/g, '/');\n\nconst transpiler = new Transpiler({ loader: 'ts', target: 'browser' });\n\ntype BuildResult = {\n\tclientPath: string;\n\tserverPath: string;\n\tcssPaths: string[];\n\tcssCodes: string[];\n\ttsHelperPaths: string[];\n\thmrId: string;\n};\n\n// HMR change type detection\nexport type VueChangeType = 'style-only' | 'template-only' | 'script' | 'full';\n\n// Descriptor caches for change detection\nconst scriptCache = new Map<string, string>();\nconst scriptSetupCache = new Map<string, string>();\nconst templateCache = new Map<string, string>();\nconst styleCache = new Map<string, string>();\n\n// HMR metadata storage (exported for rebuildTrigger to access)\nexport const vueHmrMetadata = new Map<\n\tstring,\n\t{ hmrId: string; changeType: VueChangeType }\n>();\n\n/**\n * Detect what type of change occurred in a Vue component\n * Returns 'template-only' for template changes (supports rerender)\n * Returns 'script' for script/scriptSetup changes (requires reload)\n * Returns 'full' for first compile or when detection fails\n */\nexport const detectVueChangeType = (\n\tfilePath: string,\n\tdescriptor: SFCDescriptor\n): VueChangeType => {\n\tconst prevScript = scriptCache.get(filePath);\n\tconst prevScriptSetup = scriptSetupCache.get(filePath);\n\tconst prevTemplate = templateCache.get(filePath);\n\tconst prevStyle = styleCache.get(filePath);\n\n\tconst currentScript = descriptor.script?.content ?? '';\n\tconst currentScriptSetup = descriptor.scriptSetup?.content ?? '';\n\tconst currentTemplate = descriptor.template?.content ?? '';\n\t// Serialize styles: include scoped flag and content for each style block\n\t// Uses ||| delimiter to detect changes to any block, additions, removals, or reordering\n\tconst currentStyle = descriptor.styles\n\t\t.map((s) => `${s.scoped ? 'scoped:' : ''}${s.content}`)\n\t\t.join('|||');\n\n\t// Update caches with current values\n\tscriptCache.set(filePath, currentScript);\n\tscriptSetupCache.set(filePath, currentScriptSetup);\n\ttemplateCache.set(filePath, currentTemplate);\n\tstyleCache.set(filePath, currentStyle);\n\n\t// First compile - no previous data\n\tif (prevScript === undefined && prevScriptSetup === undefined) {\n\t\treturn 'full';\n\t}\n\n\tconst scriptChanged = prevScript !== currentScript;\n\tconst scriptSetupChanged = prevScriptSetup !== currentScriptSetup;\n\tconst templateChanged = prevTemplate !== currentTemplate;\n\tconst styleChanged = prevStyle !== currentStyle;\n\n\t// Priority order:\n\t// 1. Script changes → 'script' (requires reload)\n\t// 2. Template-only (no script, no style) → 'template-only' (rerender)\n\t// 3. Style-only (no script, no template) → 'style-only' (CSS hot-swap, state preserved)\n\t// 4. Template + style → 'template-only' (CSS swapped alongside rerender)\n\n\t// Script change: script or scriptSetup changed (may also include template/style)\n\tif (scriptChanged || scriptSetupChanged) {\n\t\treturn 'script';\n\t}\n\n\t// Style-only change: only styles changed, no script or template\n\tif (styleChanged && !templateChanged) {\n\t\treturn 'style-only';\n\t}\n\n\t// Template-only change: template changed (with or without styles), script unchanged\n\tif (templateChanged) {\n\t\treturn 'template-only';\n\t}\n\n\t// No changes detected (shouldn't happen in practice)\n\treturn 'full';\n};\n\n/**\n * Generate a stable HMR ID for a Vue component\n * Uses relative path from Vue root without extension\n * Example: \"pages/VueExample\" or \"components/CountButton\"\n */\nexport const generateVueHmrId = (\n\tsourceFilePath: string,\n\tvueRootDir: string\n): string => {\n\treturn relative(vueRootDir, sourceFilePath)\n\t\t.replace(/\\\\/g, '/')\n\t\t.replace(/\\.vue$/, '');\n};\n\n/**\n * Clear HMR caches (useful for testing or full rebuilds)\n */\nexport const clearVueHmrCaches = () => {\n\tscriptCache.clear();\n\tscriptSetupCache.clear();\n\ttemplateCache.clear();\n\tstyleCache.clear();\n\tvueHmrMetadata.clear();\n};\n\nconst extractImports = (sourceCode: string) =>\n\tArray.from(sourceCode.matchAll(/import\\s+[\\s\\S]+?['\"]([^'\"]+)['\"]/g))\n\t\t.map((match) => match[1])\n\t\t.filter((importPath): importPath is string => importPath !== undefined);\n\nconst toJs = (filePath: string) => {\n\tif (filePath.endsWith('.vue')) return filePath.replace(/\\.vue$/, '.js');\n\tif (filePath.endsWith('.ts')) return filePath.replace(/\\.ts$/, '.js');\n\n\treturn `${filePath}.js`;\n};\n\nconst stripExports = (code: string) =>\n\tcode\n\t\t.replace(/export\\s+default/, 'const script =')\n\t\t.replace(/^export\\s+/gm, '');\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 compileVueFile = async (\n\tsourceFilePath: string,\n\toutputDirs: { client: string; server: string; css: string },\n\tcacheMap: Map<string, BuildResult>,\n\tisEntryPoint: boolean,\n\tvueRootDir: string\n) => {\n\tconst cachedResult = cacheMap.get(sourceFilePath);\n\tif (cachedResult) return cachedResult;\n\n\tconst relativeFilePath = relative(vueRootDir, sourceFilePath).replace(\n\t\t/\\\\/g,\n\t\t'/'\n\t);\n\tconst relativeWithoutExtension = relativeFilePath.replace(/\\.vue$/, '');\n\tconst fileBaseName = basename(sourceFilePath, '.vue');\n\tconst componentId = toKebab(fileBaseName);\n\n\tconst sourceContent = await file(sourceFilePath).text();\n\tconst { descriptor } = parse(sourceContent, { filename: sourceFilePath });\n\n\t// Generate HMR ID and detect change type\n\tconst hmrId = generateVueHmrId(sourceFilePath, vueRootDir);\n\tconst changeType = detectVueChangeType(sourceFilePath, descriptor);\n\n\t// Store HMR metadata for rebuildTrigger to access\n\tvueHmrMetadata.set(sourceFilePath, { hmrId, changeType });\n\n\tconst scriptSource =\n\t\tdescriptor.scriptSetup?.content ?? descriptor.script?.content ?? '';\n\n\tconst importPaths = extractImports(scriptSource);\n\tconst childComponentPaths = importPaths.filter(\n\t\t(path) => path.startsWith('.') && path.endsWith('.vue')\n\t);\n\tconst helperModulePaths = importPaths.filter(\n\t\t(path) => path.startsWith('.') && !path.endsWith('.vue')\n\t);\n\n\tconst childBuildResults: BuildResult[] = await Promise.all(\n\t\tchildComponentPaths.map((relativeChildPath) =>\n\t\t\tcompileVueFile(\n\t\t\t\tresolve(dirname(sourceFilePath), relativeChildPath),\n\t\t\t\toutputDirs,\n\t\t\t\tcacheMap,\n\t\t\t\tfalse,\n\t\t\t\tvueRootDir\n\t\t\t)\n\t\t)\n\t);\n\n\tconst compiledScript = compileScript(descriptor, {\n\t\tid: componentId,\n\t\tinlineTemplate: false\n\t});\n\tconst strippedScript = stripExports(compiledScript.content);\n\tconst transpiledScript = transpiler\n\t\t.transformSync(strippedScript)\n\t\t.replace(\n\t\t\t/(['\"])(\\.{1,2}\\/[^'\"]+)(['\"])/g,\n\t\t\t(_, quoteStart, relativeImport, quoteEnd) =>\n\t\t\t\t`${quoteStart}${toJs(relativeImport)}${quoteEnd}`\n\t\t);\n\n\tconst generateRenderFunction = (ssr: boolean) =>\n\t\tcompileTemplate({\n\t\t\tcompilerOptions: {\n\t\t\t\tbindingMetadata: compiledScript.bindings,\n\t\t\t\tprefixIdentifiers: true\n\t\t\t},\n\t\t\tfilename: sourceFilePath,\n\t\t\tid: componentId,\n\t\t\tscoped: descriptor.styles.some((styleBlock) => styleBlock.scoped),\n\t\t\tsource: descriptor.template?.content ?? '',\n\t\t\tssr,\n\t\t\tssrCssVars: descriptor.cssVars\n\t\t}).code.replace(\n\t\t\t/(['\"])(\\.{1,2}\\/[^'\"]+)(['\"])/g,\n\t\t\t(_, quoteStart, relativeImport, quoteEnd) =>\n\t\t\t\t`${quoteStart}${toJs(relativeImport)}${quoteEnd}`\n\t\t);\n\n\tconst localCss = descriptor.styles.map(\n\t\t(styleBlock) =>\n\t\t\tcompileStyle({\n\t\t\t\tfilename: sourceFilePath,\n\t\t\t\tid: componentId,\n\t\t\t\tscoped: styleBlock.scoped,\n\t\t\t\tsource: styleBlock.content,\n\t\t\t\ttrim: true\n\t\t\t}).code\n\t);\n\tconst allCss = [\n\t\t...localCss,\n\t\t...childBuildResults.flatMap((result) => result.cssCodes)\n\t];\n\n\tlet cssOutputPaths: string[] = [];\n\tif (isEntryPoint && allCss.length) {\n\t\tconst cssOutputFile = join(\n\t\t\toutputDirs.css,\n\t\t\t`${toKebab(fileBaseName)}.css`\n\t\t);\n\t\tawait mkdir(dirname(cssOutputFile), { recursive: true });\n\t\tawait write(cssOutputFile, allCss.join('\\n'));\n\t\tcssOutputPaths = [cssOutputFile];\n\t}\n\n\tconst assembleModule = (\n\t\trenderCode: string,\n\t\trenderFnName: 'render' | 'ssrRender',\n\t\tincludeHmr: boolean\n\t) => {\n\t\tconst hasScoped = descriptor.styles.some(\n\t\t\t(styleBlock) => styleBlock.scoped\n\t\t);\n\n\t\t// __scopeId is required for Vue runtime to add scoped style attributes to dynamic elements\n\t\t// Without this, scoped styles only work on static VNodes that have the attribute baked in\n\t\tconst scopeIdCode = hasScoped\n\t\t\t? `script.__scopeId = \"data-v-${componentId}\";`\n\t\t\t: '';\n\n\t\t// For client bundles, inject HMR registration code that uses Vue's native __VUE_HMR_RUNTIME__\n\t\t// This enables state-preserving hot updates via rerender() for template changes\n\t\t// and reload() for script changes\n\t\tconst hmrCode = includeHmr\n\t\t\t? `\n// Vue Native HMR Registration\nscript.__hmrId = ${JSON.stringify(hmrId)};\nif (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {\n __VUE_HMR_RUNTIME__.createRecord(script.__hmrId, script);\n if (typeof window !== 'undefined') {\n window.__VUE_HMR_COMPONENTS__ = window.__VUE_HMR_COMPONENTS__ || {};\n window.__VUE_HMR_COMPONENTS__[script.__hmrId] = script;\n }\n}`\n\t\t\t: '';\n\n\t\treturn mergeVueImports(\n\t\t\t[\n\t\t\t\ttranspiledScript,\n\t\t\t\trenderCode,\n\t\t\t\t`script.${renderFnName} = ${renderFnName};`,\n\t\t\t\tscopeIdCode,\n\t\t\t\thmrCode,\n\t\t\t\t'export default script;'\n\t\t\t].join('\\n')\n\t\t);\n\t};\n\n\t// Client bundles include HMR registration code; server bundles do not\n\tconst clientCode = assembleModule(\n\t\tgenerateRenderFunction(false),\n\t\t'render',\n\t\ttrue\n\t);\n\tconst serverCode = assembleModule(\n\t\tgenerateRenderFunction(true),\n\t\t'ssrRender',\n\t\tfalse\n\t);\n\n\tconst clientOutputPath = join(\n\t\toutputDirs.client,\n\t\t`${relativeWithoutExtension}.js`\n\t);\n\tconst serverOutputPath = join(\n\t\toutputDirs.server,\n\t\t`${relativeWithoutExtension}.js`\n\t);\n\n\tawait mkdir(dirname(clientOutputPath), { recursive: true });\n\tawait mkdir(dirname(serverOutputPath), { recursive: true });\n\tawait write(clientOutputPath, clientCode);\n\tawait write(serverOutputPath, serverCode);\n\n\tconst result: BuildResult = {\n\t\tclientPath: clientOutputPath,\n\t\tcssCodes: allCss,\n\t\tcssPaths: cssOutputPaths,\n\t\tserverPath: serverOutputPath,\n\t\ttsHelperPaths: [\n\t\t\t...helperModulePaths.map((helper) =>\n\t\t\t\tresolve(\n\t\t\t\t\tdirname(sourceFilePath),\n\t\t\t\t\thelper.endsWith('.ts') ? helper : `${helper}.ts`\n\t\t\t\t)\n\t\t\t),\n\t\t\t...childBuildResults.flatMap((child) => child.tsHelperPaths)\n\t\t],\n\t\thmrId\n\t};\n\n\tcacheMap.set(sourceFilePath, result);\n\n\treturn result;\n};\n\nexport const compileVue = async (\n\tentryPoints: string[],\n\tvueRootDir: string,\n\tisDev = false\n) => {\n\tconst compiledOutputRoot = join(vueRootDir, 'compiled');\n\tconst clientOutputDir = join(compiledOutputRoot, 'client');\n\tconst indexOutputDir = join(compiledOutputRoot, 'indexes');\n\tconst serverOutputDir = join(compiledOutputRoot, 'pages');\n\tconst cssOutputDir = join(compiledOutputRoot, 'styles');\n\n\tawait Promise.all([\n\t\tmkdir(clientOutputDir, { recursive: true }),\n\t\tmkdir(indexOutputDir, { recursive: true }),\n\t\tmkdir(serverOutputDir, { recursive: true }),\n\t\tmkdir(cssOutputDir, { recursive: true })\n\t]);\n\n\tconst buildCache = new Map<string, BuildResult>();\n\tconst allTsHelperPaths = new Set<string>();\n\n\tconst compiledPages = await Promise.all(\n\t\tentryPoints.map(async (entryPath) => {\n\t\t\tconst result = await compileVueFile(\n\t\t\t\tresolve(entryPath),\n\t\t\t\t{\n\t\t\t\t\tclient: clientOutputDir,\n\t\t\t\t\tcss: cssOutputDir,\n\t\t\t\t\tserver: serverOutputDir\n\t\t\t\t},\n\t\t\t\tbuildCache,\n\t\t\t\ttrue,\n\t\t\t\tvueRootDir\n\t\t\t);\n\n\t\t\tresult.tsHelperPaths.forEach((path) => allTsHelperPaths.add(path));\n\n\t\t\tconst entryBaseName = basename(entryPath, '.vue');\n\t\t\tconst indexOutputFile = join(indexOutputDir, `${entryBaseName}.js`);\n\t\t\tconst clientOutputFile = join(\n\t\t\t\tclientOutputDir,\n\t\t\t\trelative(vueRootDir, entryPath)\n\t\t\t\t\t.replace(/\\\\/g, '/')\n\t\t\t\t\t.replace(/\\.vue$/, '.js')\n\t\t\t);\n\n\t\t\tawait mkdir(dirname(indexOutputFile), { recursive: true });\n\t\t\tconst vueHmrImports = isDev\n\t\t\t\t? [\n\t\t\t\t\t\t`window.__HMR_FRAMEWORK__ = \"vue\";`,\n\t\t\t\t\t\t`import \"${hmrClientPath}\";`\n\t\t\t\t\t]\n\t\t\t\t: [];\n\t\t\tawait write(\n\t\t\t\tindexOutputFile,\n\t\t\t\t[\n\t\t\t\t\t...vueHmrImports,\n\t\t\t\t\t`import Comp from \"${relative(dirname(indexOutputFile), clientOutputFile).replace(/\\\\/g, '/')}\";`,\n\t\t\t\t\t'import { createSSRApp } from \"vue\";',\n\t\t\t\t\t'',\n\t\t\t\t\t'// HMR State Preservation: Check for preserved state from HMR',\n\t\t\t\t\t'let preservedState = (typeof window !== \"undefined\" && window.__HMR_PRESERVED_STATE__) ? window.__HMR_PRESERVED_STATE__ : {};',\n\t\t\t\t\t'',\n\t\t\t\t\t'// Fallback: check sessionStorage if window state is empty (only during active HMR, not full page refresh)',\n\t\t\t\t\t'if (typeof window !== \"undefined\" && Object.keys(preservedState).length === 0 && sessionStorage.getItem(\"__HMR_ACTIVE__\")) {',\n\t\t\t\t\t' try {',\n\t\t\t\t\t' const stored = sessionStorage.getItem(\"__VUE_HMR_STATE__\");',\n\t\t\t\t\t' if (stored) {',\n\t\t\t\t\t' preservedState = JSON.parse(stored);',\n\t\t\t\t\t' sessionStorage.removeItem(\"__VUE_HMR_STATE__\");',\n\t\t\t\t\t' }',\n\t\t\t\t\t' } catch (e) {}',\n\t\t\t\t\t'}',\n\t\t\t\t\t'// Clean up stale HMR state on full page refresh',\n\t\t\t\t\t'if (typeof window !== \"undefined\" && !sessionStorage.getItem(\"__HMR_ACTIVE__\")) {',\n\t\t\t\t\t' sessionStorage.removeItem(\"__VUE_HMR_STATE__\");',\n\t\t\t\t\t'}',\n\t\t\t\t\t'',\n\t\t\t\t\t'const initialProps = window.__INITIAL_PROPS__ ?? {};',\n\t\t\t\t\t'// Only merge preserved state keys that match declared props (avoids passing refs/components as attributes)',\n\t\t\t\t\t'const mergedProps = { ...initialProps };',\n\t\t\t\t\t'Object.keys(preservedState).forEach(function(key) {',\n\t\t\t\t\t' if (key in initialProps) {',\n\t\t\t\t\t' mergedProps[key] = preservedState[key];',\n\t\t\t\t\t' }',\n\t\t\t\t\t'});',\n\t\t\t\t\t'',\n\t\t\t\t\t'// Use createSSRApp for proper hydration of server-rendered content',\n\t\t\t\t\t'const app = createSSRApp(Comp, mergedProps);',\n\t\t\t\t\t'app.mount(\"#root\");',\n\t\t\t\t\t'',\n\t\t\t\t\t'// Store app instance for HMR - used for manual component updates',\n\t\t\t\t\t'if (typeof window !== \"undefined\") {',\n\t\t\t\t\t' window.__VUE_APP__ = app;',\n\t\t\t\t\t'}',\n\t\t\t\t\t'',\n\t\t\t\t\t'// Post-mount: Apply preserved state to reactive refs in component tree',\n\t\t\t\t\t'// This restores state that lives in refs (like count) rather than props',\n\t\t\t\t\t'if (typeof window !== \"undefined\" && Object.keys(preservedState).length > 0) {',\n\t\t\t\t\t' requestAnimationFrame(function() {',\n\t\t\t\t\t' if (window.__VUE_APP__ && window.__VUE_APP__._instance) {',\n\t\t\t\t\t' applyPreservedState(window.__VUE_APP__._instance, preservedState);',\n\t\t\t\t\t' }',\n\t\t\t\t\t' });',\n\t\t\t\t\t'}',\n\t\t\t\t\t'',\n\t\t\t\t\t'function applyPreservedState(instance, state) {',\n\t\t\t\t\t' // Apply to root component setupState',\n\t\t\t\t\t' if (instance.setupState) {',\n\t\t\t\t\t' Object.keys(state).forEach(function(key) {',\n\t\t\t\t\t' const ref = instance.setupState[key];',\n\t\t\t\t\t' if (ref && typeof ref === \"object\" && \"value\" in ref) {',\n\t\t\t\t\t' ref.value = state[key];',\n\t\t\t\t\t' }',\n\t\t\t\t\t' });',\n\t\t\t\t\t' }',\n\t\t\t\t\t' // Also apply to child components',\n\t\t\t\t\t' if (instance.subTree) {',\n\t\t\t\t\t' walkAndApply(instance.subTree, state);',\n\t\t\t\t\t' }',\n\t\t\t\t\t'}',\n\t\t\t\t\t'',\n\t\t\t\t\t'function walkAndApply(vnode, state) {',\n\t\t\t\t\t' if (!vnode) return;',\n\t\t\t\t\t' if (vnode.component && vnode.component.setupState) {',\n\t\t\t\t\t' Object.keys(state).forEach(function(key) {',\n\t\t\t\t\t' const ref = vnode.component.setupState[key];',\n\t\t\t\t\t' if (ref && typeof ref === \"object\" && \"value\" in ref) {',\n\t\t\t\t\t' ref.value = state[key];',\n\t\t\t\t\t' }',\n\t\t\t\t\t' });',\n\t\t\t\t\t' }',\n\t\t\t\t\t' if (vnode.children && Array.isArray(vnode.children)) {',\n\t\t\t\t\t' vnode.children.forEach(function(child) { walkAndApply(child, state); });',\n\t\t\t\t\t' }',\n\t\t\t\t\t' if (vnode.component && vnode.component.subTree) {',\n\t\t\t\t\t' walkAndApply(vnode.component.subTree, state);',\n\t\t\t\t\t' }',\n\t\t\t\t\t'}',\n\t\t\t\t\t'',\n\t\t\t\t\t'// Clear preserved state after applying',\n\t\t\t\t\t'if (typeof window !== \"undefined\") {',\n\t\t\t\t\t' window.__HMR_PRESERVED_STATE__ = undefined;',\n\t\t\t\t\t'}'\n\t\t\t\t].join('\\n')\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tclientPath: clientOutputFile,\n\t\t\t\tcssPaths: result.cssPaths,\n\t\t\t\tindexPath: indexOutputFile,\n\t\t\t\tserverPath: result.serverPath\n\t\t\t};\n\t\t})\n\t);\n\n\tawait Promise.all(\n\t\tArray.from(allTsHelperPaths).map(async (tsPath) => {\n\t\t\tconst sourceCode = await file(tsPath).text();\n\t\t\tconst transpiledCode = transpiler.transformSync(sourceCode);\n\t\t\tconst relativeJsPath = relative(vueRootDir, tsPath).replace(\n\t\t\t\t/\\.ts$/,\n\t\t\t\t'.js'\n\t\t\t);\n\t\t\tconst outClientPath = join(clientOutputDir, relativeJsPath);\n\t\t\tconst outServerPath = join(serverOutputDir, relativeJsPath);\n\t\t\tawait mkdir(dirname(outClientPath), { recursive: true });\n\t\t\tawait mkdir(dirname(outServerPath), { recursive: true });\n\t\t\tawait write(outClientPath, transpiledCode);\n\t\t\tawait write(outServerPath, transpiledCode);\n\t\t})\n\t);\n\n\treturn {\n\t\tvueClientPaths: compiledPages.map((result) => result.clientPath),\n\t\tvueCssPaths: compiledPages.flatMap((result) => result.cssPaths),\n\t\tvueIndexPaths: compiledPages.map((result) => result.indexPath),\n\t\tvueServerPaths: compiledPages.map((result) => result.serverPath),\n\t\t// Export HMR metadata from vueHmrMetadata map (populated during compilation)\n\t\thmrMetadata: new Map(vueHmrMetadata)\n\t};\n};\n",
8
9
  "/* Simple HTML HMR Implementation\n Lightweight approach: read HTML file → send HTML patch */\n\nimport { readFileSync, existsSync } from 'node:fs';\nimport { resolve } from 'node:path';\n\n/* Simple HTML HMR handler for server-side\n When an HTML file changes:\n 1. Read the HTML file\n 2. Extract body content (or return full HTML)\n 3. Return the HTML for patching */\nexport const handleHTMLUpdate = async (htmlFilePath: string) => {\n\ttry {\n\t\t// The htmlFilePath is now the BUILT file path (e.g., build/html/pages/HTMLExample.html)\n\t\t// This ensures we read HTML with updated CSS paths from updateAssetPaths\n\t\tconst resolvedPath = resolve(htmlFilePath);\n\n\t\tif (!existsSync(resolvedPath)) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Read the HTML file\n\t\tconst htmlContent = readFileSync(resolvedPath, 'utf-8');\n\n\t\t// Extract both head and body content for patching\n\t\t// We need head to update CSS links when CSS changes\n\t\tconst headMatch = htmlContent.match(/<head[^>]*>([\\s\\S]*?)<\\/head>/i);\n\t\tconst bodyMatch = htmlContent.match(/<body[^>]*>([\\s\\S]*)<\\/body>/i);\n\n\t\tif (bodyMatch && bodyMatch[1]) {\n\t\t\tconst bodyContent = bodyMatch[1].trim();\n\t\t\tconst headContent =\n\t\t\t\theadMatch && headMatch[1] ? headMatch[1].trim() : null;\n\n\t\t\t// Return object with both head and body for comprehensive updates\n\t\t\treturn {\n\t\t\t\tbody: bodyContent,\n\t\t\t\thead: headContent\n\t\t\t};\n\t\t}\n\n\t\t// Fallback: return full HTML if body extraction fails\n\n\t\treturn htmlContent;\n\t} catch {\n\t\treturn null;\n\t}\n};\n",
9
- "const ESCAPE_LOOKUP: Record<string, string> = {\n\t'\\u2028': '\\\\u2028',\n\t'\\u2029': '\\\\u2029',\n\t'&': '\\\\u0026',\n\t'<': '\\\\u003C',\n\t'>': '\\\\u003E'\n};\n\nconst ESCAPE_REGEX = /[&><\\u2028\\u2029]/g;\n\nexport const escapeScriptContent = (content: string) =>\n\tcontent.replace(ESCAPE_REGEX, (char) => {\n\t\tconst escaped = ESCAPE_LOOKUP[char];\n\n\t\treturn escaped !== undefined ? escaped : char;\n\t});\n",
10
- "import type { Component } from 'svelte';\nimport { render } from 'svelte/server';\nimport { DEFAULT_CHUNK_SIZE } from '../constants';\nimport { escapeScriptContent } from '../utils/escapeScriptContent';\n\nexport type RenderStreamOptions = {\n\tbootstrapScriptContent?: string;\n\tbootstrapScripts?: string[];\n\tbootstrapModules?: string[];\n\tnonce?: string;\n\tonError?: (error: unknown) => void;\n\tprogressiveChunkSize?: number;\n\tsignal?: AbortSignal;\n\theadContent?: string;\n\tbodyContent?: string;\n};\n\nexport const renderToReadableStream = async <\n\tProps extends Record<string, unknown> = Record<string, never>\n>(\n\tcomponent: Component<Props>,\n\tprops?: Props,\n\t{\n\t\tbootstrapScriptContent,\n\t\tbootstrapScripts = [],\n\t\tbootstrapModules = [],\n\t\tnonce,\n\t\tonError = console.error,\n\t\tprogressiveChunkSize = DEFAULT_CHUNK_SIZE,\n\t\tsignal,\n\t\theadContent,\n\t\tbodyContent\n\t}: RenderStreamOptions = {}\n) => {\n\ttry {\n\t\tconst { head, body } =\n\t\t\ttypeof props === 'undefined'\n\t\t\t\t? // @ts-expect-error Svelte's render function can't determine which overload to choose when the component is generic\n\t\t\t\t\trender(component)\n\t\t\t\t: render(component, { props });\n\t\tconst nonceAttr = nonce ? ` nonce=\"${nonce}\"` : '';\n\t\tconst scripts =\n\t\t\t(bootstrapScriptContent\n\t\t\t\t? `<script${nonceAttr}>${escapeScriptContent(bootstrapScriptContent)}</script>`\n\t\t\t\t: '') +\n\t\t\tbootstrapScripts\n\t\t\t\t.map((src) => `<script${nonceAttr} src=\"${src}\"></script>`)\n\t\t\t\t.join('') +\n\t\t\tbootstrapModules\n\t\t\t\t.map(\n\t\t\t\t\t(src) =>\n\t\t\t\t\t\t`<script${nonceAttr} type=\"module\" src=\"${src}\"></script>`\n\t\t\t\t)\n\t\t\t\t.join('');\n\t\tconst encoder = new TextEncoder();\n\t\t// Warning: this encodes the entire document into memory in one buffer\n\t\tconst full = encoder.encode(\n\t\t\t`<!DOCTYPE html><html lang=\"en\"><head>${head}${headContent ?? ''}</head><body>${body}${scripts}${bodyContent ?? ''}</body></html>`\n\t\t);\n\n\t\tlet offset = 0;\n\n\t\treturn new ReadableStream<Uint8Array>({\n\t\t\ttype: 'bytes',\n\t\t\tcancel(reason) {\n\t\t\t\tonError?.(reason);\n\t\t\t},\n\t\t\tpull(controller) {\n\t\t\t\tif (signal?.aborted) {\n\t\t\t\t\tcontroller.close();\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (offset >= full.length) {\n\t\t\t\t\tcontroller.close();\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst end = Math.min(\n\t\t\t\t\toffset + progressiveChunkSize,\n\t\t\t\t\tfull.length\n\t\t\t\t);\n\t\t\t\tcontroller.enqueue(full.subarray(offset, end));\n\t\t\t\toffset = end;\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\tonError?.(error);\n\t\tthrow error;\n\t}\n};\n",
11
10
  "export const ssrErrorPage = (framework: string, error: unknown): string => {\n\tconst frameworkColors: Record<string, string> = {\n\t\tangular: '#dd0031',\n\t\thtml: '#e34c26',\n\t\thtmx: '#1a365d',\n\t\treact: '#61dafb',\n\t\tsvelte: '#ff3e00',\n\t\tvue: '#42b883'\n\t};\n\n\tconst accent = frameworkColors[framework] ?? '#94a3b8';\n\tconst label = framework.charAt(0).toUpperCase() + framework.slice(1);\n\tconst message = error instanceof Error ? error.message : String(error);\n\n\treturn `<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>SSR Error - AbsoluteJS</title>\n<style>\n*{margin:0;padding:0;box-sizing:border-box}\nbody{min-height:100vh;background:linear-gradient(135deg,rgba(15,23,42,0.98) 0%,rgba(30,41,59,0.98) 100%);color:#e2e8f0;font-family:\"JetBrains Mono\",\"Fira Code\",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.6;display:flex;align-items:flex-start;justify-content:center;padding:32px}\n.card{max-width:720px;width:100%;background:rgba(30,41,59,0.6);border:1px solid rgba(71,85,105,0.5);border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.05);overflow:hidden}\n.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:rgba(15,23,42,0.5);border-bottom:1px solid rgba(71,85,105,0.4)}\n.brand{font-weight:700;font-size:20px;color:#fff;letter-spacing:-0.02em}\n.badge{padding:5px 10px;border-radius:8px;font-size:12px;font-weight:600;background:${accent};color:#fff;opacity:0.95;box-shadow:0 2px 4px rgba(0,0,0,0.2)}\n.kind{color:#94a3b8;font-size:13px;font-weight:500}\n.content{padding:24px}\n.label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#94a3b8;margin-bottom:8px}\n.message{margin:0;padding:16px 20px;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.25);border-radius:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:#fca5a5;font-size:13px;line-height:1.5}\n.hint{margin-top:20px;padding:12px 20px;background:rgba(71,85,105,0.3);border-radius:10px;border:1px solid rgba(71,85,105,0.4);color:#cbd5e1;font-size:13px}\n</style>\n</head>\n<body>\n<div class=\"card\">\n<div class=\"header\">\n<div style=\"display:flex;align-items:center;gap:12px\">\n<span class=\"brand\">AbsoluteJS</span>\n<span class=\"badge\">${label}</span>\n</div>\n<span class=\"kind\">Server Render Error</span>\n</div>\n<div class=\"content\">\n<div class=\"label\">What went wrong</div>\n<pre class=\"message\">${message.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')}</pre>\n<div class=\"hint\">A component threw during server-side rendering. Check the terminal for the full stack trace.</div>\n</div>\n</div>\n</body>\n</html>`;\n};\n",
12
- "import { file } from 'bun';\nimport { ComponentType as ReactComponent, createElement } from 'react';\nimport { renderToReadableStream as renderReactToReadableStream } from 'react-dom/server';\nimport { Component as SvelteComponent } from 'svelte';\nimport { Component as VueComponent, createSSRApp, h } from 'vue';\nimport { renderToWebStream as renderVueToWebStream } from 'vue/server-renderer';\nimport { renderToReadableStream as renderSvelteToReadableStream } from '../svelte/renderToReadableStream';\nimport { PropsArgs } from '../../types/build';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\n\nexport const handleReactPageRequest = async <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(\n\tPageComponent: ReactComponent<Props>,\n\tindex: string,\n\t...props: keyof Props extends never ? [] : [props: Props]\n) => {\n\ttry {\n\t\tconst [maybeProps] = props;\n\t\tconst element =\n\t\t\tmaybeProps !== undefined\n\t\t\t\t? createElement(PageComponent, maybeProps)\n\t\t\t\t: createElement(PageComponent);\n\n\t\tconst stream = await renderReactToReadableStream(element, {\n\t\t\tbootstrapModules: [index],\n\t\t\tbootstrapScriptContent: maybeProps\n\t\t\t\t? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)}`\n\t\t\t\t: undefined,\n\t\t\tonError(error: unknown) {\n\t\t\t\tconsole.error('[SSR] React streaming error:', error);\n\t\t\t}\n\t\t});\n\n\t\treturn new Response(stream, {\n\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('[SSR] React render error:', error);\n\n\t\treturn new Response(ssrErrorPage('react', error), {\n\t\t\tstatus: 500,\n\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t});\n\t}\n};\n\n// Declare overloads matching Svelte's own component API to preserve correct type inference\ntype HandleSveltePageRequest = {\n\t(\n\t\tPageComponent: SvelteComponent<Record<string, never>>,\n\t\tpagePath: string,\n\t\tindexPath: string\n\t): Promise<Response>;\n\t<P extends Record<string, unknown>>(\n\t\tPageComponent: SvelteComponent<P>,\n\t\tpagePath: string,\n\t\tindexPath: string,\n\t\tprops: P\n\t): Promise<Response>;\n};\n\nexport const handleSveltePageRequest: HandleSveltePageRequest = async <\n\tP extends Record<string, unknown>\n>(\n\t_PageComponent: SvelteComponent<P>,\n\tpagePath: string,\n\tindexPath: string,\n\tprops?: P\n) => {\n\ttry {\n\t\tconst { default: ImportedPageComponent } = await import(pagePath);\n\n\t\tconst stream = await renderSvelteToReadableStream(\n\t\t\tImportedPageComponent,\n\t\t\tprops,\n\t\t\t{\n\t\t\t\tbootstrapModules: indexPath ? [indexPath] : [],\n\t\t\t\tbootstrapScriptContent: `window.__INITIAL_PROPS__=${JSON.stringify(\n\t\t\t\t\tprops\n\t\t\t\t)}`\n\t\t\t}\n\t\t);\n\n\t\treturn new Response(stream, {\n\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('[SSR] Svelte render error:', error);\n\n\t\treturn new Response(ssrErrorPage('svelte', error), {\n\t\t\tstatus: 500,\n\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t});\n\t}\n};\n\nexport const handleVuePageRequest = async <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(\n\t_PageComponent: VueComponent<Props>,\n\tpagePath: string,\n\tindexPath: string,\n\theadTag: `<head>${string}</head>` = '<head></head>',\n\t...props: keyof Props extends never ? [] : [props: Props]\n) => {\n\ttry {\n\t\tconst [maybeProps] = props;\n\n\t\tconst { default: ImportedPageComponent } = await import(pagePath);\n\n\t\tconst app = createSSRApp({\n\t\t\trender: () => h(ImportedPageComponent, maybeProps ?? null)\n\t\t});\n\n\t\tconst bodyStream = renderVueToWebStream(app);\n\n\t\tconst head = `<!DOCTYPE html><html>${headTag}<body><div id=\"root\">`;\n\t\tconst tail = `</div><script>window.__INITIAL_PROPS__=${JSON.stringify(\n\t\t\tmaybeProps ?? {}\n\t\t)}</script><script type=\"module\" src=\"${indexPath}\"></script></body></html>`;\n\n\t\tconst stream = new ReadableStream({\n\t\t\tstart(controller) {\n\t\t\t\tcontroller.enqueue(head);\n\t\t\t\tconst reader = bodyStream.getReader();\n\t\t\t\tconst pumpLoop = () => {\n\t\t\t\t\treader\n\t\t\t\t\t\t.read()\n\t\t\t\t\t\t.then(({ done, value }) =>\n\t\t\t\t\t\t\tdone\n\t\t\t\t\t\t\t\t? (controller.enqueue(tail), controller.close())\n\t\t\t\t\t\t\t\t: (controller.enqueue(value), pumpLoop())\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch((err) => controller.error(err));\n\t\t\t\t};\n\t\t\t\tpumpLoop();\n\t\t\t}\n\t\t});\n\n\t\treturn new Response(stream, {\n\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('[SSR] Vue render error:', error);\n\n\t\treturn new Response(ssrErrorPage('vue', error), {\n\t\t\tstatus: 500,\n\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t});\n\t}\n};\n\nexport const handleHTMLPageRequest = (pagePath: string) => file(pagePath);\n\nexport const handleHTMXPageRequest = (pagePath: string) => file(pagePath);\n\nexport const handlePageRequest = <Component>(\n\tPageComponent: Component,\n\t...props: PropsArgs<Component>\n) => {\n\tconsole.log('handlePageRequest coming soon.', PageComponent, props);\n};\n",
11
+ "import { Component as VueComponent, createSSRApp, h } from 'vue';\nimport { renderToWebStream as renderVueToWebStream } from 'vue/server-renderer';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\n\nexport const handleVuePageRequest = async <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(\n\t_PageComponent: VueComponent<Props>,\n\tpagePath: string,\n\tindexPath: string,\n\theadTag: `<head>${string}</head>` = '<head></head>',\n\t...props: keyof Props extends never ? [] : [props: Props]\n) => {\n\ttry {\n\t\tconst [maybeProps] = props;\n\n\t\tconst { default: ImportedPageComponent } = await import(pagePath);\n\n\t\tconst app = createSSRApp({\n\t\t\trender: () => h(ImportedPageComponent, maybeProps ?? null)\n\t\t});\n\n\t\tconst bodyStream = renderVueToWebStream(app);\n\n\t\tconst head = `<!DOCTYPE html><html>${headTag}<body><div id=\"root\">`;\n\t\tconst tail = `</div><script>window.__INITIAL_PROPS__=${JSON.stringify(\n\t\t\tmaybeProps ?? {}\n\t\t)}</script><script type=\"module\" src=\"${indexPath}\"></script></body></html>`;\n\n\t\tconst stream = new ReadableStream({\n\t\t\tstart(controller) {\n\t\t\t\tcontroller.enqueue(head);\n\t\t\t\tconst reader = bodyStream.getReader();\n\t\t\t\tconst pumpLoop = () => {\n\t\t\t\t\treader\n\t\t\t\t\t\t.read()\n\t\t\t\t\t\t.then(({ done, value }) =>\n\t\t\t\t\t\t\tdone\n\t\t\t\t\t\t\t\t? (controller.enqueue(tail), controller.close())\n\t\t\t\t\t\t\t\t: (controller.enqueue(value), pumpLoop())\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch((err) => controller.error(err));\n\t\t\t\t};\n\t\t\t\tpumpLoop();\n\t\t\t}\n\t\t});\n\n\t\treturn new Response(stream, {\n\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('[SSR] Vue render error:', error);\n\n\t\treturn new Response(ssrErrorPage('vue', error), {\n\t\t\tstatus: 500,\n\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t});\n\t}\n};\n",
13
12
  "type GenerateHeadElementProps = {\n\tcssPath?: string;\n\ttitle?: string;\n\ticon?: string;\n\tdescription?: string;\n\tfont?: string;\n};\n\nexport const generateHeadElement = ({\n\tcssPath,\n\ttitle = 'AbsoluteJS',\n\tdescription = 'A page created using AbsoluteJS',\n\tfont,\n\ticon = '/assets/ico/favicon.ico'\n}: GenerateHeadElementProps = {}) =>\n\t`<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>${title}</title>\n <meta name=\"description\" content=\"${description}\">\n <link rel=\"icon\" href=\"${icon}\" type=\"image/x-icon\">\n ${\n\t\tfont\n\t\t\t? `<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n <link href=\"https://fonts.googleapis.com/css2?family=${font}:wght@100..900&display=swap\" rel=\"stylesheet\">`\n\t\t\t: ''\n }\n ${cssPath ? `<link rel=\"stylesheet\" href=\"${cssPath}\" type=\"text/css\">` : ''}\n</head>` as const;\n",
14
- "/* Simple Vue HMR Implementation\n Lightweight approach: use rebuilt files → re-render → send HTML patch */\n\nimport { basename, join, resolve } from 'node:path';\nimport { toPascal } from '../utils/stringModifiers';\n\n/* Simple Vue HMR handler for server-side\n When a Vue file changes:\n 1. The rebuild already compiled Vue and updated the manifest\n 2. Derive manifest keys dynamically from the source file path\n 3. Use manifest paths to import the rebuilt server component\n 4. Re-render the page\n 5. Return the new HTML for patching */\nexport const handleVueUpdate = async (\n\tvueFilePath: string,\n\tmanifest: Record<string, string>,\n\tbuildDir?: string\n) => {\n\ttry {\n\t\tconst resolvedPath = resolve(vueFilePath);\n\n\t\t// Derive manifest keys dynamically from the source file path\n\t\tconst fileName = basename(resolvedPath);\n\t\tconst baseName = fileName.replace(/\\.vue$/, '');\n\t\tconst pascalName = toPascal(baseName);\n\n\t\t// Vue manifest keys follow the pattern:\n\t\t// - {PascalName}: server bundle path\n\t\t// - {PascalName}Index: client bundle path\n\t\t// - {PascalName}CSS: CSS path (optional)\n\t\tconst componentKey = pascalName;\n\t\tconst indexKey = `${pascalName}Index`;\n\t\tconst cssKey = `${pascalName}CSS`;\n\n\t\t// Get server path from manifest (URL path like /vue/compiled/pages/VueExample.abc123.js)\n\t\tconst serverPath = manifest[componentKey];\n\n\t\tif (!serverPath) {\n\t\t\tconsole.warn(\n\t\t\t\t'[Vue HMR] Server path not found in manifest for:',\n\t\t\t\tcomponentKey\n\t\t\t);\n\t\t\tconsole.warn(\n\t\t\t\t'[Vue HMR] Available manifest keys:',\n\t\t\t\tObject.keys(manifest).join(', ')\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\t// Manifest stores absolute paths for Vue server bundles (artifact.path)\n\t\t// Use directly if absolute; otherwise join with buildDir for relative paths\n\t\tconst absoluteServerPath =\n\t\t\tresolve(serverPath) === serverPath ||\n\t\t\tserverPath.startsWith('/') ||\n\t\t\t/^[A-Za-z]:[\\\\/]/.test(serverPath)\n\t\t\t\t? serverPath\n\t\t\t\t: join(\n\t\t\t\t\t\tbuildDir || process.cwd(),\n\t\t\t\t\t\tserverPath.replace(/^\\//, '')\n\t\t\t\t\t);\n\n\t\tconst cacheBuster = `?t=${Date.now()}`;\n\t\tconst serverModule = await import(\n\t\t\t`${absoluteServerPath}${cacheBuster}`\n\t\t);\n\n\t\tif (!serverModule || !serverModule.default) {\n\t\t\tconsole.warn(\n\t\t\t\t'[Vue HMR] Module has no default export:',\n\t\t\t\tabsoluteServerPath\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst indexPath = manifest[indexKey];\n\n\t\tif (!indexPath) {\n\t\t\tconsole.warn(\n\t\t\t\t'[Vue HMR] Index path not found in manifest for:',\n\t\t\t\tindexKey\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { handleVuePageRequest } = await import('../core/pageHandlers');\n\t\tconst { generateHeadElement } = await import(\n\t\t\t'../utils/generateHeadElement'\n\t\t);\n\n\t\tconst response = await handleVuePageRequest(\n\t\t\tserverModule.default,\n\t\t\tserverPath,\n\t\t\tindexPath,\n\t\t\tgenerateHeadElement({\n\t\t\t\tcssPath: manifest[cssKey] || '',\n\t\t\t\ttitle: 'AbsoluteJS + Vue'\n\t\t\t}),\n\t\t\t{ initialCount: 0 }\n\t\t);\n\n\t\tconst html = await response.text();\n\n\t\t// Extract just the body content for patching (not the full HTML document)\n\t\t// Vue renders to <div id=\"root\"> inside <body>\n\t\tconst bodyMatch = html.match(/<body[^>]*>([\\s\\S]*)<\\/body>/i);\n\t\tif (bodyMatch && bodyMatch[1]) {\n\t\t\tconst bodyContent = bodyMatch[1].trim();\n\n\t\t\treturn bodyContent;\n\t\t}\n\n\t\treturn html;\n\t} catch (err) {\n\t\tconsole.error('[Vue HMR] Error in handleVueUpdate:', err);\n\t\treturn null;\n\t}\n};\n",
15
- "/* Simple Svelte HMR Implementation\n Lightweight approach: use rebuilt files → re-render → send HTML patch */\n\nimport { basename, join, resolve } from 'node:path';\nimport { toPascal } from '../utils/stringModifiers';\n\n/* Simple Svelte HMR handler for server-side\n When a Svelte file changes:\n 1. The rebuild already compiled Svelte and updated the manifest\n 2. Derive manifest keys dynamically from the source file path\n 3. Use manifest paths to import the rebuilt server component\n 4. Re-render the page\n 5. Return the new HTML for patching */\nexport const handleSvelteUpdate = async (\n\tsvelteFilePath: string,\n\tmanifest: Record<string, string>,\n\tbuildDir?: string\n) => {\n\ttry {\n\t\tconst resolvedPath = resolve(svelteFilePath);\n\n\t\t// Derive manifest keys dynamically from the source file path\n\t\tconst fileName = basename(resolvedPath);\n\t\tconst baseName = fileName.replace(/\\.svelte$/, '');\n\t\tconst pascalName = toPascal(baseName);\n\n\t\t// Svelte manifest keys follow the pattern:\n\t\t// - {PascalName}: server bundle path\n\t\t// - {PascalName}Index: client bundle path\n\t\t// - {PascalName}CSS: CSS path (optional)\n\t\tconst componentKey = pascalName;\n\t\tconst indexKey = `${pascalName}Index`;\n\t\tconst cssKey = `${pascalName}CSS`;\n\n\t\t// Get server path from manifest (URL path like /svelte/compiled/pages/SvelteExample.abc123.js)\n\t\tconst serverPath = manifest[componentKey];\n\n\t\tif (!serverPath) {\n\t\t\tconsole.warn(\n\t\t\t\t'[Svelte HMR] Server path not found in manifest for:',\n\t\t\t\tcomponentKey\n\t\t\t);\n\t\t\tconsole.warn(\n\t\t\t\t'[Svelte HMR] Available manifest keys:',\n\t\t\t\tObject.keys(manifest).join(', ')\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\t// Manifest stores absolute paths for Svelte server bundles (artifact.path)\n\t\t// Use directly if absolute; otherwise join with buildDir for relative paths\n\t\tconst absoluteServerPath =\n\t\t\tresolve(serverPath) === serverPath ||\n\t\t\tserverPath.startsWith('/') ||\n\t\t\t/^[A-Za-z]:[\\\\/]/.test(serverPath)\n\t\t\t\t? serverPath\n\t\t\t\t: join(\n\t\t\t\t\t\tbuildDir || process.cwd(),\n\t\t\t\t\t\tserverPath.replace(/^\\//, '')\n\t\t\t\t\t);\n\n\t\tconst cacheBuster = `?t=${Date.now()}`;\n\t\tconst serverModule = await import(\n\t\t\t`${absoluteServerPath}${cacheBuster}`\n\t\t);\n\n\t\tif (!serverModule || !serverModule.default) {\n\t\t\tconsole.warn(\n\t\t\t\t'[Svelte HMR] Module has no default export:',\n\t\t\t\tabsoluteServerPath\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst indexPath = manifest[indexKey];\n\n\t\tif (!indexPath) {\n\t\t\tconsole.warn(\n\t\t\t\t'[Svelte HMR] Index path not found in manifest for:',\n\t\t\t\tindexKey\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { handleSveltePageRequest } = await import(\n\t\t\t'../core/pageHandlers'\n\t\t);\n\n\t\tconst response = await handleSveltePageRequest(\n\t\t\tserverModule.default,\n\t\t\tserverPath,\n\t\t\tindexPath,\n\t\t\t{\n\t\t\t\tcssPath: manifest[cssKey] || '',\n\t\t\t\tinitialCount: 0\n\t\t\t}\n\t\t);\n\n\t\tconst html = await response.text();\n\n\t\t// Extract just the body content for patching (not the full HTML document)\n\t\t// Svelte renders to <body> directly\n\t\tconst bodyMatch = html.match(/<body[^>]*>([\\s\\S]*)<\\/body>/i);\n\t\tif (bodyMatch && bodyMatch[1]) {\n\t\t\tconst bodyContent = bodyMatch[1].trim();\n\n\t\t\treturn bodyContent;\n\t\t}\n\n\t\treturn html;\n\t} catch (err) {\n\t\tconsole.error('[Svelte HMR] Error in handleSvelteUpdate:', err);\n\t\treturn null;\n\t}\n};\n",
13
+ "/* Simple Vue HMR Implementation\n Lightweight approach: use rebuilt files → re-render → send HTML patch */\n\nimport { basename, join, resolve } from 'node:path';\nimport { toPascal } from '../utils/stringModifiers';\n\n/* Simple Vue HMR handler for server-side\n When a Vue file changes:\n 1. The rebuild already compiled Vue and updated the manifest\n 2. Derive manifest keys dynamically from the source file path\n 3. Use manifest paths to import the rebuilt server component\n 4. Re-render the page\n 5. Return the new HTML for patching */\nexport const handleVueUpdate = async (\n\tvueFilePath: string,\n\tmanifest: Record<string, string>,\n\tbuildDir?: string\n) => {\n\ttry {\n\t\tconst resolvedPath = resolve(vueFilePath);\n\n\t\t// Derive manifest keys dynamically from the source file path\n\t\tconst fileName = basename(resolvedPath);\n\t\tconst baseName = fileName.replace(/\\.vue$/, '');\n\t\tconst pascalName = toPascal(baseName);\n\n\t\t// Vue manifest keys follow the pattern:\n\t\t// - {PascalName}: server bundle path\n\t\t// - {PascalName}Index: client bundle path\n\t\t// - {PascalName}CSS: CSS path (optional)\n\t\tconst componentKey = pascalName;\n\t\tconst indexKey = `${pascalName}Index`;\n\t\tconst cssKey = `${pascalName}CSS`;\n\n\t\t// Get server path from manifest (URL path like /vue/compiled/pages/VueExample.abc123.js)\n\t\tconst serverPath = manifest[componentKey];\n\n\t\tif (!serverPath) {\n\t\t\tconsole.warn(\n\t\t\t\t'[Vue HMR] Server path not found in manifest for:',\n\t\t\t\tcomponentKey\n\t\t\t);\n\t\t\tconsole.warn(\n\t\t\t\t'[Vue HMR] Available manifest keys:',\n\t\t\t\tObject.keys(manifest).join(', ')\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\t// Manifest stores absolute paths for Vue server bundles (artifact.path)\n\t\t// Use directly if absolute; otherwise join with buildDir for relative paths\n\t\tconst absoluteServerPath =\n\t\t\tresolve(serverPath) === serverPath ||\n\t\t\tserverPath.startsWith('/') ||\n\t\t\t/^[A-Za-z]:[\\\\/]/.test(serverPath)\n\t\t\t\t? serverPath\n\t\t\t\t: join(\n\t\t\t\t\t\tbuildDir || process.cwd(),\n\t\t\t\t\t\tserverPath.replace(/^\\//, '')\n\t\t\t\t\t);\n\n\t\tconst cacheBuster = `?t=${Date.now()}`;\n\t\tconst serverModule = await import(\n\t\t\t`${absoluteServerPath}${cacheBuster}`\n\t\t);\n\n\t\tif (!serverModule || !serverModule.default) {\n\t\t\tconsole.warn(\n\t\t\t\t'[Vue HMR] Module has no default export:',\n\t\t\t\tabsoluteServerPath\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst indexPath = manifest[indexKey];\n\n\t\tif (!indexPath) {\n\t\t\tconsole.warn(\n\t\t\t\t'[Vue HMR] Index path not found in manifest for:',\n\t\t\t\tindexKey\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { handleVuePageRequest } = await import('../vue/pageHandler');\n\t\tconst { generateHeadElement } = await import(\n\t\t\t'../utils/generateHeadElement'\n\t\t);\n\n\t\tconst response = await handleVuePageRequest(\n\t\t\tserverModule.default,\n\t\t\tserverPath,\n\t\t\tindexPath,\n\t\t\tgenerateHeadElement({\n\t\t\t\tcssPath: manifest[cssKey] || '',\n\t\t\t\ttitle: 'AbsoluteJS + Vue'\n\t\t\t}),\n\t\t\t{ initialCount: 0 }\n\t\t);\n\n\t\tconst html = await response.text();\n\n\t\t// Extract just the body content for patching (not the full HTML document)\n\t\t// Vue renders to <div id=\"root\"> inside <body>\n\t\tconst bodyMatch = html.match(/<body[^>]*>([\\s\\S]*)<\\/body>/i);\n\t\tif (bodyMatch && bodyMatch[1]) {\n\t\t\tconst bodyContent = bodyMatch[1].trim();\n\n\t\t\treturn bodyContent;\n\t\t}\n\n\t\treturn html;\n\t} catch (err) {\n\t\tconsole.error('[Vue HMR] Error in handleVueUpdate:', err);\n\t\treturn null;\n\t}\n};\n",
14
+ "const ESCAPE_LOOKUP: Record<string, string> = {\n\t'\\u2028': '\\\\u2028',\n\t'\\u2029': '\\\\u2029',\n\t'&': '\\\\u0026',\n\t'<': '\\\\u003C',\n\t'>': '\\\\u003E'\n};\n\nconst ESCAPE_REGEX = /[&><\\u2028\\u2029]/g;\n\nexport const escapeScriptContent = (content: string) =>\n\tcontent.replace(ESCAPE_REGEX, (char) => {\n\t\tconst escaped = ESCAPE_LOOKUP[char];\n\n\t\treturn escaped !== undefined ? escaped : char;\n\t});\n",
15
+ "import type { Component } from 'svelte';\nimport { render } from 'svelte/server';\nimport { DEFAULT_CHUNK_SIZE } from '../constants';\nimport { escapeScriptContent } from '../utils/escapeScriptContent';\n\nexport type RenderStreamOptions = {\n\tbootstrapScriptContent?: string;\n\tbootstrapScripts?: string[];\n\tbootstrapModules?: string[];\n\tnonce?: string;\n\tonError?: (error: unknown) => void;\n\tprogressiveChunkSize?: number;\n\tsignal?: AbortSignal;\n\theadContent?: string;\n\tbodyContent?: string;\n};\n\nexport const renderToReadableStream = async <\n\tProps extends Record<string, unknown> = Record<string, never>\n>(\n\tcomponent: Component<Props>,\n\tprops?: Props,\n\t{\n\t\tbootstrapScriptContent,\n\t\tbootstrapScripts = [],\n\t\tbootstrapModules = [],\n\t\tnonce,\n\t\tonError = console.error,\n\t\tprogressiveChunkSize = DEFAULT_CHUNK_SIZE,\n\t\tsignal,\n\t\theadContent,\n\t\tbodyContent\n\t}: RenderStreamOptions = {}\n) => {\n\ttry {\n\t\tconst { head, body } =\n\t\t\ttypeof props === 'undefined'\n\t\t\t\t? // @ts-expect-error Svelte's render function can't determine which overload to choose when the component is generic\n\t\t\t\t\trender(component)\n\t\t\t\t: render(component, { props });\n\t\tconst nonceAttr = nonce ? ` nonce=\"${nonce}\"` : '';\n\t\tconst scripts =\n\t\t\t(bootstrapScriptContent\n\t\t\t\t? `<script${nonceAttr}>${escapeScriptContent(bootstrapScriptContent)}</script>`\n\t\t\t\t: '') +\n\t\t\tbootstrapScripts\n\t\t\t\t.map((src) => `<script${nonceAttr} src=\"${src}\"></script>`)\n\t\t\t\t.join('') +\n\t\t\tbootstrapModules\n\t\t\t\t.map(\n\t\t\t\t\t(src) =>\n\t\t\t\t\t\t`<script${nonceAttr} type=\"module\" src=\"${src}\"></script>`\n\t\t\t\t)\n\t\t\t\t.join('');\n\t\tconst encoder = new TextEncoder();\n\t\t// Warning: this encodes the entire document into memory in one buffer\n\t\tconst full = encoder.encode(\n\t\t\t`<!DOCTYPE html><html lang=\"en\"><head>${head}${headContent ?? ''}</head><body>${body}${scripts}${bodyContent ?? ''}</body></html>`\n\t\t);\n\n\t\tlet offset = 0;\n\n\t\treturn new ReadableStream<Uint8Array>({\n\t\t\ttype: 'bytes',\n\t\t\tcancel(reason) {\n\t\t\t\tonError?.(reason);\n\t\t\t},\n\t\t\tpull(controller) {\n\t\t\t\tif (signal?.aborted) {\n\t\t\t\t\tcontroller.close();\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (offset >= full.length) {\n\t\t\t\t\tcontroller.close();\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst end = Math.min(\n\t\t\t\t\toffset + progressiveChunkSize,\n\t\t\t\t\tfull.length\n\t\t\t\t);\n\t\t\t\tcontroller.enqueue(full.subarray(offset, end));\n\t\t\t\toffset = end;\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\tonError?.(error);\n\t\tthrow error;\n\t}\n};\n",
16
+ "import { Component as SvelteComponent } from 'svelte';\nimport { renderToReadableStream as renderSvelteToReadableStream } from './renderToReadableStream';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\n\n// Declare overloads matching Svelte's own component API to preserve correct type inference\nexport type HandleSveltePageRequest = {\n\t(\n\t\tPageComponent: SvelteComponent<Record<string, never>>,\n\t\tpagePath: string,\n\t\tindexPath: string\n\t): Promise<Response>;\n\t<P extends Record<string, unknown>>(\n\t\tPageComponent: SvelteComponent<P>,\n\t\tpagePath: string,\n\t\tindexPath: string,\n\t\tprops: P\n\t): Promise<Response>;\n};\n\nexport const handleSveltePageRequest: HandleSveltePageRequest = async <\n\tP extends Record<string, unknown>\n>(\n\t_PageComponent: SvelteComponent<P>,\n\tpagePath: string,\n\tindexPath: string,\n\tprops?: P\n) => {\n\ttry {\n\t\tconst { default: ImportedPageComponent } = await import(pagePath);\n\n\t\tconst stream = await renderSvelteToReadableStream(\n\t\t\tImportedPageComponent,\n\t\t\tprops,\n\t\t\t{\n\t\t\t\tbootstrapModules: indexPath ? [indexPath] : [],\n\t\t\t\tbootstrapScriptContent: `window.__INITIAL_PROPS__=${JSON.stringify(\n\t\t\t\t\tprops\n\t\t\t\t)}`\n\t\t\t}\n\t\t);\n\n\t\treturn new Response(stream, {\n\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('[SSR] Svelte render error:', error);\n\n\t\treturn new Response(ssrErrorPage('svelte', error), {\n\t\t\tstatus: 500,\n\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t});\n\t}\n};\n",
17
+ "/* Simple Svelte HMR Implementation\n Lightweight approach: use rebuilt files → re-render → send HTML patch */\n\nimport { basename, join, resolve } from 'node:path';\nimport { toPascal } from '../utils/stringModifiers';\n\n/* Simple Svelte HMR handler for server-side\n When a Svelte file changes:\n 1. The rebuild already compiled Svelte and updated the manifest\n 2. Derive manifest keys dynamically from the source file path\n 3. Use manifest paths to import the rebuilt server component\n 4. Re-render the page\n 5. Return the new HTML for patching */\nexport const handleSvelteUpdate = async (\n\tsvelteFilePath: string,\n\tmanifest: Record<string, string>,\n\tbuildDir?: string\n) => {\n\ttry {\n\t\tconst resolvedPath = resolve(svelteFilePath);\n\n\t\t// Derive manifest keys dynamically from the source file path\n\t\tconst fileName = basename(resolvedPath);\n\t\tconst baseName = fileName.replace(/\\.svelte$/, '');\n\t\tconst pascalName = toPascal(baseName);\n\n\t\t// Svelte manifest keys follow the pattern:\n\t\t// - {PascalName}: server bundle path\n\t\t// - {PascalName}Index: client bundle path\n\t\t// - {PascalName}CSS: CSS path (optional)\n\t\tconst componentKey = pascalName;\n\t\tconst indexKey = `${pascalName}Index`;\n\t\tconst cssKey = `${pascalName}CSS`;\n\n\t\t// Get server path from manifest (URL path like /svelte/compiled/pages/SvelteExample.abc123.js)\n\t\tconst serverPath = manifest[componentKey];\n\n\t\tif (!serverPath) {\n\t\t\tconsole.warn(\n\t\t\t\t'[Svelte HMR] Server path not found in manifest for:',\n\t\t\t\tcomponentKey\n\t\t\t);\n\t\t\tconsole.warn(\n\t\t\t\t'[Svelte HMR] Available manifest keys:',\n\t\t\t\tObject.keys(manifest).join(', ')\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\t// Manifest stores absolute paths for Svelte server bundles (artifact.path)\n\t\t// Use directly if absolute; otherwise join with buildDir for relative paths\n\t\tconst absoluteServerPath =\n\t\t\tresolve(serverPath) === serverPath ||\n\t\t\tserverPath.startsWith('/') ||\n\t\t\t/^[A-Za-z]:[\\\\/]/.test(serverPath)\n\t\t\t\t? serverPath\n\t\t\t\t: join(\n\t\t\t\t\t\tbuildDir || process.cwd(),\n\t\t\t\t\t\tserverPath.replace(/^\\//, '')\n\t\t\t\t\t);\n\n\t\tconst cacheBuster = `?t=${Date.now()}`;\n\t\tconst serverModule = await import(\n\t\t\t`${absoluteServerPath}${cacheBuster}`\n\t\t);\n\n\t\tif (!serverModule || !serverModule.default) {\n\t\t\tconsole.warn(\n\t\t\t\t'[Svelte HMR] Module has no default export:',\n\t\t\t\tabsoluteServerPath\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst indexPath = manifest[indexKey];\n\n\t\tif (!indexPath) {\n\t\t\tconsole.warn(\n\t\t\t\t'[Svelte HMR] Index path not found in manifest for:',\n\t\t\t\tindexKey\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { handleSveltePageRequest } = await import(\n\t\t\t'../svelte/pageHandler'\n\t\t);\n\n\t\tconst response = await handleSveltePageRequest(\n\t\t\tserverModule.default,\n\t\t\tserverPath,\n\t\t\tindexPath,\n\t\t\t{\n\t\t\t\tcssPath: manifest[cssKey] || '',\n\t\t\t\tinitialCount: 0\n\t\t\t}\n\t\t);\n\n\t\tconst html = await response.text();\n\n\t\t// Extract just the body content for patching (not the full HTML document)\n\t\t// Svelte renders to <body> directly\n\t\tconst bodyMatch = html.match(/<body[^>]*>([\\s\\S]*)<\\/body>/i);\n\t\tif (bodyMatch && bodyMatch[1]) {\n\t\t\tconst bodyContent = bodyMatch[1].trim();\n\n\t\t\treturn bodyContent;\n\t\t}\n\n\t\treturn html;\n\t} catch (err) {\n\t\tconsole.error('[Svelte HMR] Error in handleSvelteUpdate:', err);\n\t\treturn null;\n\t}\n};\n",
16
18
  "/* Simple HTMX HMR Implementation\n Lightweight approach: read HTMX HTML file → send HTML patch */\n\nimport { readFileSync, existsSync } from 'node:fs';\nimport { resolve } from 'node:path';\n\n/* Simple HTMX HMR handler for server-side\n When an HTMX file changes:\n 1. Read the HTML file\n 2. Extract body content (or return full HTML)\n 3. Return the HTML for patching */\nexport const handleHTMXUpdate = async (htmxFilePath: string) => {\n\ttry {\n\t\tconst resolvedPath = resolve(htmxFilePath);\n\n\t\tif (!existsSync(resolvedPath)) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst htmlContent = readFileSync(resolvedPath, 'utf-8');\n\n\t\t// Extract both head and body content for patching\n\t\t// We need head to update CSS links when CSS changes\n\t\tconst headMatch = htmlContent.match(/<head[^>]*>([\\s\\S]*?)<\\/head>/i);\n\t\tconst bodyMatch = htmlContent.match(/<body[^>]*>([\\s\\S]*)<\\/body>/i);\n\n\t\tif (bodyMatch && bodyMatch[1]) {\n\t\t\tconst bodyContent = bodyMatch[1].trim();\n\t\t\tconst headContent =\n\t\t\t\theadMatch && headMatch[1] ? headMatch[1].trim() : null;\n\n\t\t\t// Return object with both head and body for comprehensive updates\n\t\t\treturn {\n\t\t\t\tbody: bodyContent,\n\t\t\t\thead: headContent\n\t\t\t};\n\t\t}\n\n\t\treturn htmlContent;\n\t} catch {\n\t\treturn null;\n\t}\n};\n",
17
19
  "/* Client-side HMR type definitions */\n\nexport interface ErrorOverlayOptions {\n\tcolumn?: number;\n\tfile?: string;\n\tframework?: string;\n\tkind?: 'compilation' | 'runtime';\n\tline?: number;\n\tlineText?: string;\n\tmessage?: string;\n}\n\nexport interface DOMStateEntry {\n\tchecked?: boolean;\n\tid?: string;\n\tidx: number;\n\tname?: string;\n\topen?: boolean;\n\tselEnd?: number;\n\tselStart?: number;\n\tselected?: boolean;\n\ttag: string;\n\ttext?: string;\n\ttype?: string;\n\tvalue?: string;\n\tvalues?: string[];\n}\n\nexport interface DOMStateSnapshot {\n\tactiveKey: string | null;\n\titems: DOMStateEntry[];\n}\n\nexport interface SavedComponentState {\n\tcount: number;\n}\n\nexport interface SavedState {\n\tcomponentState: SavedComponentState;\n\tforms: Record<string, Record<string, boolean | string>>;\n\tscroll: { window: { x: number; y: number } };\n}\n\nexport interface ScriptInfo {\n\tsrc: string;\n\ttype: string;\n}\n\nexport interface CSSUpdateResult {\n\tlinksToActivate: HTMLLinkElement[];\n\tlinksToRemove: HTMLLinkElement[];\n\tlinksToWaitFor: Promise<void>[];\n}\n\n/* Shared mutable state for the HMR client */\nexport const hmrState = {\n\tisConnected: false,\n\tisFirstHMRUpdate: true,\n\tisHMRUpdating: false,\n\tpingInterval: null as ReturnType<typeof setInterval> | null,\n\treconnectTimeout: null as ReturnType<typeof setTimeout> | null\n};\n\n/* Window interface extensions for HMR globals */\ndeclare global {\n\tinterface Window {\n\t\t$RefreshReg$?: (type: unknown, id: string) => void;\n\t\t$RefreshRuntime$?: {\n\t\t\tcreateSignatureFunctionForTransform: () => (\n\t\t\t\ttype: unknown\n\t\t\t) => unknown;\n\t\t\tinjectIntoGlobalHook: (win: Window) => void;\n\t\t\tperformReactRefresh: () => void;\n\t\t\tregister: (type: unknown, id: string) => void;\n\t\t};\n\t\t$RefreshSig$?: () => (type: unknown) => unknown;\n\t\t__HMR_DOM_STATE__?: { count?: number; [key: string]: unknown };\n\t\t__HMR_FRAMEWORK__?: string;\n\t\t__HMR_MANIFEST__?: Record<string, string>;\n\t\t__HMR_MODULE_UPDATES__?: Array<unknown>;\n\t\t__HMR_MODULE_VERSIONS__?: Record<string, number>;\n\t\t__HMR_PRESERVED_STATE__?: Record<string, unknown>;\n\t\t__HMR_SERVER_VERSIONS__?: Record<string, number>;\n\t\t__HMR_UPDATE_COUNT__?: number;\n\t\t__HMR_WS__?: WebSocket;\n\t\t__ERROR_BOUNDARY__?: { reset: () => void };\n\t\t__INITIAL_PROPS__?: Record<string, unknown>;\n\t\t__REACT_ROOT__?: { render: (element: unknown) => void };\n\t\t__SVELTE_COMPONENT__?: Record<string, unknown>;\n\t\t__SVELTE_UNMOUNT__?: () => void;\n\t\t__VUE_APP__?:\n\t\t\t| ({\n\t\t\t\t\tunmount: () => void;\n\t\t\t\t\t_instance?: {\n\t\t\t\t\t\tsetupState?: Record<string, unknown>;\n\t\t\t\t\t\tsubTree?: {\n\t\t\t\t\t\t\tchildren?: unknown[];\n\t\t\t\t\t\t\tcomponent?: {\n\t\t\t\t\t\t\t\tsetupState?: Record<string, unknown>;\n\t\t\t\t\t\t\t\tsubTree?: unknown;\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t } & Record<string, unknown>)\n\t\t\t| null;\n\t\t__VUE_HMR_COMPONENTS__?: Record<string, unknown>;\n\t\thtmx?: { process: (element: HTMLElement | Document) => void };\n\t}\n}\n\nexport {};\n",
18
20
  "/* HMR message types for client-server communication */\n\n/* Client-to-server message types */\nexport type PingMessage = {\n\ttype: 'ping';\n};\n\nexport type ReadyMessage = {\n\ttype: 'ready';\n\tframework?: string | null;\n};\n\nexport type RequestRebuildMessage = {\n\ttype: 'request-rebuild';\n};\n\nexport type HydrationErrorMessage = {\n\ttype: 'hydration-error';\n\tdata?: {\n\t\tcomponentName?: string;\n\t\tcomponentPath?: string;\n\t\terror?: string;\n\t};\n};\n\nexport type HMRClientMessage =\n\t| PingMessage\n\t| ReadyMessage\n\t| RequestRebuildMessage\n\t| HydrationErrorMessage;\n\n/* Server-to-client message types */\nexport type ManifestMessage = {\n\ttype: 'manifest';\n\tdata: {\n\t\tmanifest: Record<string, string>;\n\t\tserverVersions?: Record<string, number>;\n\t};\n\ttimestamp: number;\n};\n\nexport type RebuildStartMessage = {\n\ttype: 'rebuild-start';\n\tdata: {\n\t\taffectedFrameworks: string[];\n\t};\n\ttimestamp: number;\n};\n\nexport type RebuildCompleteMessage = {\n\ttype: 'rebuild-complete';\n\tdata: {\n\t\taffectedFrameworks: string[];\n\t\tmanifest: Record<string, string>;\n\t};\n\ttimestamp: number;\n};\n\nexport type FrameworkUpdateMessage = {\n\ttype: 'framework-update';\n\tdata: {\n\t\tframework: string;\n\t\tmanifest?: Record<string, string>;\n\t};\n\ttimestamp: number;\n};\n\nexport type ModuleUpdateMessage = {\n\ttype: 'module-update';\n\tdata: {\n\t\tframework: string;\n\t\tmanifest?: Record<string, string>;\n\t\tmodules?: Array<{\n\t\t\tsourceFile: string;\n\t\t\tmoduleKeys: string[];\n\t\t\tmodulePaths: Record<string, string>;\n\t\t\tcomponentType?: 'client' | 'server';\n\t\t\tversion?: number;\n\t\t}>;\n\t\tmoduleVersions?: Record<string, number>;\n\t\tserverVersions?: Record<string, number>;\n\t};\n\ttimestamp: number;\n};\n\nexport type ReactUpdateMessage = {\n\ttype: 'react-update';\n\tdata: {\n\t\tsourceFile: string;\n\t\thtml?: string;\n\t\tmanifest?: Record<string, string>;\n\t};\n\ttimestamp: number;\n};\n\nexport type HTMLUpdateMessage = {\n\ttype: 'html-update';\n\tdata: {\n\t\tsourceFile: string;\n\t\thtml?: string;\n\t};\n\ttimestamp: number;\n};\n\nexport type HTMXUpdateMessage = {\n\ttype: 'htmx-update';\n\tdata: {\n\t\tsourceFile: string;\n\t\thtml?: string;\n\t};\n\ttimestamp: number;\n};\n\nexport type SvelteUpdateMessage = {\n\ttype: 'svelte-update';\n\tdata: {\n\t\tsourceFile: string;\n\t\thtml?: string;\n\t\tmanifest?: Record<string, string>;\n\t\tcssUrl?: string;\n\t\tcssBaseName?: string;\n\t\tupdateType?: string;\n\t};\n\ttimestamp: number;\n};\n\nexport type VueUpdateMessage = {\n\ttype: 'vue-update';\n\tdata: {\n\t\tsourceFile: string;\n\t\thtml?: string;\n\t\tmanifest?: Record<string, string>;\n\t\t// Native Vue HMR fields\n\t\thmrId?: string;\n\t\tchangeType?: 'style-only' | 'template-only' | 'script' | 'full';\n\t\tcomponentPath?: string;\n\t\tcssUrl?: string;\n\t\tcssBaseName?: string;\n\t\tupdateType?: 'css-only' | 'full';\n\t};\n\ttimestamp: number;\n};\n\nexport type RebuildErrorMessage = {\n\ttype: 'rebuild-error';\n\tdata: {\n\t\taffectedFrameworks: string[];\n\t\terror: string;\n\t};\n\ttimestamp: number;\n};\n\nexport type PongMessage = {\n\ttype: 'pong';\n\ttimestamp: number;\n};\n\nexport type ConnectedMessage = {\n\ttype: 'connected';\n\tmessage?: string;\n\ttimestamp: number;\n};\n\nexport type HMRServerMessage =\n\t| ManifestMessage\n\t| RebuildStartMessage\n\t| RebuildCompleteMessage\n\t| FrameworkUpdateMessage\n\t| ModuleUpdateMessage\n\t| ReactUpdateMessage\n\t| HTMLUpdateMessage\n\t| HTMXUpdateMessage\n\t| SvelteUpdateMessage\n\t| VueUpdateMessage\n\t| RebuildErrorMessage\n\t| PongMessage\n\t| ConnectedMessage;\n\n/* Type guard for client messages */\nexport const isValidHMRClientMessage = (\n\tdata: unknown\n): data is HMRClientMessage => {\n\tif (!data || typeof data !== 'object') {\n\t\treturn false;\n\t}\n\n\tconst message = data as Record<string, unknown>;\n\n\tif (!('type' in message) || typeof message.type !== 'string') {\n\t\treturn false;\n\t}\n\n\tswitch (message.type) {\n\t\tcase 'ping':\n\t\t\treturn true;\n\t\tcase 'ready':\n\t\t\treturn true;\n\t\tcase 'request-rebuild':\n\t\t\treturn true;\n\t\tcase 'hydration-error':\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n",
19
21
  "/* WebSocket types for HMR */\n\n/* WebSocket ready state constant */\nexport const WS_READY_STATE_OPEN = 1;\n\n/* Minimal WebSocket interface for HMR clients\n Compatible with Elysia's WebSocket implementation */\nexport interface HMRWebSocket {\n\tsend(data: string): void;\n\tclose(code?: number, reason?: string): void;\n\treadyState: number;\n}\n",
20
22
  "export * from '../types';\nexport * from './constants';\nexport * from './core';\nexport * from './plugins/index';\nexport * from './utils/index';\n",
21
- "import {\n\tcopyFileSync,\n\tcpSync,\n\tmkdirSync,\n\treadFileSync,\n\twriteFileSync\n} from 'node:fs';\nimport { rm } from 'node:fs/promises';\nimport { basename, join, resolve, dirname, relative } from 'node:path';\nimport { cwd, env, exit } from 'node:process';\nimport { $, build as bunBuild, BuildArtifact, Glob } from 'bun';\nimport { compileSvelte } from '../build/compileSvelte';\nimport { compileVue } from '../build/compileVue';\nimport { generateManifest } from '../build/generateManifest';\nimport { generateReactIndexFiles } from '../build/generateReactIndexes';\nimport { createHTMLScriptHMRPlugin } from '../build/htmlScriptHMRPlugin';\nimport { outputLogs } from '../build/outputLogs';\nimport { scanEntryPoints } from '../build/scanEntryPoints';\nimport { updateAssetPaths } from '../build/updateAssetPaths';\nimport { buildHMRClient } from '../dev/buildHMRClient';\nimport { rewriteReactImports } from '../build/rewriteReactImports';\nimport { getDevVendorPaths } from './devVendorPaths';\nimport type { BuildConfig } from '../../types/build';\nimport { cleanup } from '../utils/cleanup';\nimport { commonAncestor } from '../utils/commonAncestor';\nimport { getDurationString } from '../utils/getDurationString';\nimport { logger } from '../utils/logger';\nimport { normalizePath } from '../utils/normalizePath';\nimport { toPascal } from '../utils/stringModifiers';\nimport { validateSafePath } from '../utils/validateSafePath';\n\nconst isDev = env.NODE_ENV === 'development';\n\nconst vueFeatureFlags: Record<string, string> = {\n\t__VUE_OPTIONS_API__: 'true',\n\t__VUE_PROD_DEVTOOLS__: isDev ? 'true' : 'false',\n\t__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: isDev ? 'true' : 'false'\n};\n\nexport const build = async ({\n\tbuildDirectory = 'build',\n\tassetsDirectory,\n\tpublicDirectory,\n\treactDirectory,\n\thtmlDirectory,\n\thtmxDirectory,\n\tangularDirectory,\n\tsvelteDirectory,\n\tvueDirectory,\n\ttailwind,\n\toptions,\n\tincrementalFiles\n}: BuildConfig) => {\n\tconst buildStart = performance.now();\n\tconst projectRoot = cwd();\n\tconst isIncremental = incrementalFiles && incrementalFiles.length > 0;\n\n\t// Normalize incrementalFiles for consistent cross-platform path checking\n\tconst normalizedIncrementalFiles = incrementalFiles?.map(normalizePath);\n\n\tconst throwOnError = options?.throwOnError === true;\n\tconst hmr = options?.injectHMR === true;\n\tconst buildPath = validateSafePath(buildDirectory, projectRoot);\n\tconst assetsPath =\n\t\tassetsDirectory && validateSafePath(assetsDirectory, projectRoot);\n\tconst reactDir =\n\t\treactDirectory && validateSafePath(reactDirectory, projectRoot);\n\tconst htmlDir =\n\t\thtmlDirectory && validateSafePath(htmlDirectory, projectRoot);\n\tconst htmxDir =\n\t\thtmxDirectory && validateSafePath(htmxDirectory, projectRoot);\n\tconst svelteDir =\n\t\tsvelteDirectory && validateSafePath(svelteDirectory, projectRoot);\n\tconst vueDir = vueDirectory && validateSafePath(vueDirectory, projectRoot);\n\tconst angularDir =\n\t\tangularDirectory && validateSafePath(angularDirectory, projectRoot);\n\n\tconst reactIndexesPath = reactDir && join(reactDir, 'indexes');\n\tconst reactPagesPath = reactDir && join(reactDir, 'pages');\n\tconst htmlPagesPath = htmlDir && join(htmlDir, 'pages');\n\tconst htmlScriptsPath = htmlDir && join(htmlDir, 'scripts');\n\tconst sveltePagesPath = svelteDir && join(svelteDir, 'pages');\n\tconst vuePagesPath = vueDir && join(vueDir, 'pages');\n\tconst htmxPagesPath = htmxDir && join(htmxDir, 'pages');\n\tconst angularPagesPath = angularDir && join(angularDir, 'pages');\n\n\tconst frontends = [\n\t\treactDir,\n\t\thtmlDir,\n\t\thtmxDir,\n\t\tsvelteDir,\n\t\tvueDir,\n\t\tangularDir\n\t].filter(Boolean);\n\tconst isSingle = frontends.length === 1;\n\n\t// Shared root for all client builds so output paths preserve framework directory names.\n\t// generateManifest detects frameworks by checking for \"react\"/\"svelte\"/\"vue\" path segments.\n\tconst clientRoots: string[] = [\n\t\treactDir,\n\t\tsvelteDir,\n\t\thtmlDir,\n\t\tvueDir,\n\t\tangularDir\n\t].filter((dir): dir is string => Boolean(dir));\n\tconst clientRoot = isSingle\n\t\t? (clientRoots[0] ?? projectRoot)\n\t\t: commonAncestor(clientRoots, projectRoot);\n\n\tlet serverOutDir: string | undefined;\n\tif (svelteDir) serverOutDir = join(buildPath, basename(svelteDir), 'pages');\n\telse if (vueDir) serverOutDir = join(buildPath, basename(vueDir), 'pages');\n\n\tlet serverRoot: string | undefined;\n\tif (sveltePagesPath) serverRoot = sveltePagesPath;\n\telse if (vuePagesPath) serverRoot = vuePagesPath;\n\n\tconst publicPath =\n\t\tpublicDirectory && validateSafePath(publicDirectory, projectRoot);\n\n\t// Only delete build directory for full builds, not incremental\n\tif (!isIncremental) {\n\t\tawait rm(buildPath, { force: true, recursive: true });\n\t}\n\tmkdirSync(buildPath, { recursive: true });\n\n\tif (publicPath)\n\t\tcpSync(publicPath, buildPath, { force: true, recursive: true });\n\n\t// Helper to find matching entry points for incremental files\n\t// The dependency graph already includes all dependent files in incrementalFiles\n\tconst filterToIncrementalEntries = (\n\t\tentryPoints: string[],\n\t\tmapToSource: (entry: string) => string | null\n\t) => {\n\t\tif (!isIncremental || !incrementalFiles) return entryPoints;\n\n\t\tconst normalizedIncremental = new Set(\n\t\t\tincrementalFiles.map((f) => resolve(f))\n\t\t);\n\t\tconst matchingEntries: string[] = [];\n\n\t\tfor (const entry of entryPoints) {\n\t\t\tconst sourceFile = mapToSource(entry);\n\t\t\tif (sourceFile && normalizedIncremental.has(resolve(sourceFile))) {\n\t\t\t\tmatchingEntries.push(entry);\n\t\t\t}\n\t\t}\n\n\t\treturn matchingEntries;\n\t};\n\n\t// For incremental React builds, only generate indexes for changed files\n\t// NOTE: We always regenerate index files to ensure they have the latest hydration error handling logic\n\tif (reactIndexesPath && reactPagesPath) {\n\t\t// Always regenerate React index files to ensure latest error handling is included\n\t\t// This is safe because index files are small and generation is fast\n\t\tawait generateReactIndexFiles(reactPagesPath, reactIndexesPath, hmr);\n\t}\n\n\t// Copy assets on full builds or if assets changed\n\tif (\n\t\tassetsPath &&\n\t\t(!isIncremental ||\n\t\t\tnormalizedIncrementalFiles?.some((f) => f.includes('/assets/')))\n\t) {\n\t\tcpSync(assetsPath, join(buildPath, 'assets'), {\n\t\t\tforce: true,\n\t\t\trecursive: true\n\t\t});\n\t}\n\n\t// Tailwind + entry point scanning run in parallel (they're independent)\n\tconst tailwindPromise =\n\t\ttailwind &&\n\t\t(!isIncremental ||\n\t\t\tnormalizedIncrementalFiles?.some((f) => f.endsWith('.css')))\n\t\t\t? $`bunx @tailwindcss/cli -i ${tailwind.input} -o ${join(buildPath, tailwind.output)}`\n\t\t\t: undefined;\n\n\tconst [\n\t\t,\n\t\tallReactEntries,\n\t\tallHtmlEntries,\n\t\tallSvelteEntries,\n\t\tallVueEntries,\n\t\tallAngularEntries,\n\t\tallHtmlCssEntries,\n\t\tallHtmxCssEntries,\n\t\tallReactCssEntries,\n\t\tallSvelteCssEntries\n\t] = await Promise.all([\n\t\ttailwindPromise,\n\t\treactIndexesPath ? scanEntryPoints(reactIndexesPath, '*.tsx') : [],\n\t\thtmlScriptsPath ? scanEntryPoints(htmlScriptsPath, '*.{js,ts}') : [],\n\t\tsveltePagesPath ? scanEntryPoints(sveltePagesPath, '*.svelte') : [],\n\t\tvuePagesPath ? scanEntryPoints(vuePagesPath, '*.vue') : [],\n\t\tangularPagesPath ? scanEntryPoints(angularPagesPath, '*.ts') : [],\n\t\thtmlDir ? scanEntryPoints(join(htmlDir, 'styles'), '*.css') : [],\n\t\thtmxDir ? scanEntryPoints(join(htmxDir, 'styles'), '*.css') : [],\n\t\treactDir ? scanEntryPoints(join(reactDir, 'styles'), '*.css') : [],\n\t\tsvelteDir ? scanEntryPoints(join(svelteDir, 'styles'), '*.css') : []\n\t]);\n\t// When HTML/HTMX pages change, we must include their CSS and scripts in the build\n\t// so the manifest has those entries for updateAssetPaths. Otherwise incremental\n\t// builds drop them and updateAssetPaths fails with \"no manifest entry\".\n\tconst shouldIncludeHtmlAssets =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/html/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\tconst shouldIncludeHtmxAssets =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/htmx/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\n\t// Filter entries for incremental builds\n\t// For React: map index entries back to their source pages\n\tconst reactEntries =\n\t\tisIncremental && reactIndexesPath && reactPagesPath\n\t\t\t? filterToIncrementalEntries(allReactEntries, (entry) => {\n\t\t\t\t\t// Map index entry (indexes/ReactExample.tsx) to source page (pages/ReactExample.tsx)\n\t\t\t\t\tif (entry.startsWith(resolve(reactIndexesPath))) {\n\t\t\t\t\t\tconst pageName = basename(entry, '.tsx');\n\t\t\t\t\t\treturn join(reactPagesPath, `${pageName}.tsx`);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})\n\t\t\t: allReactEntries;\n\n\tconst htmlEntries =\n\t\tisIncremental && htmlScriptsPath && !shouldIncludeHtmlAssets\n\t\t\t? filterToIncrementalEntries(allHtmlEntries, (entry) => entry)\n\t\t\t: allHtmlEntries;\n\n\t// For Svelte/Vue/Angular: entries are the page files themselves\n\tconst svelteEntries = isIncremental\n\t\t? filterToIncrementalEntries(allSvelteEntries, (entry) => entry)\n\t\t: allSvelteEntries;\n\n\tconst vueEntries = isIncremental\n\t\t? filterToIncrementalEntries(allVueEntries, (entry) => entry)\n\t\t: allVueEntries;\n\n\tconst angularEntries = isIncremental\n\t\t? filterToIncrementalEntries(allAngularEntries, (entry) => entry)\n\t\t: allAngularEntries;\n\n\t// CSS entries - entries are the CSS files themselves\n\tconst htmlCssEntries =\n\t\tisIncremental && !shouldIncludeHtmlAssets\n\t\t\t? filterToIncrementalEntries(allHtmlCssEntries, (entry) => entry)\n\t\t\t: allHtmlCssEntries;\n\tconst htmxCssEntries =\n\t\tisIncremental && !shouldIncludeHtmxAssets\n\t\t\t? filterToIncrementalEntries(allHtmxCssEntries, (entry) => entry)\n\t\t\t: allHtmxCssEntries;\n\tconst reactCssEntries = isIncremental\n\t\t? filterToIncrementalEntries(allReactCssEntries, (entry) => entry)\n\t\t: allReactCssEntries;\n\tconst svelteCssEntries = isIncremental\n\t\t? filterToIncrementalEntries(allSvelteCssEntries, (entry) => entry)\n\t\t: allSvelteCssEntries;\n\n\t// Start HMR client build early — it has no dependency on compile/bunBuild\n\t// results and will resolve during the compile phase for free.\n\tconst hmrClientBundlePromise =\n\t\thmr && (htmlDir || htmxDir) ? buildHMRClient() : undefined;\n\n\tconst [\n\t\t{ svelteServerPaths, svelteIndexPaths, svelteClientPaths },\n\t\t{ vueServerPaths, vueIndexPaths, vueClientPaths, vueCssPaths }\n\t] = await Promise.all([\n\t\tsvelteDir\n\t\t\t? compileSvelte(svelteEntries, svelteDir, new Map(), hmr)\n\t\t\t: {\n\t\t\t\t\tsvelteClientPaths: [] as string[],\n\t\t\t\t\tsvelteIndexPaths: [] as string[],\n\t\t\t\t\tsvelteServerPaths: [] as string[]\n\t\t\t\t},\n\t\tvueDir\n\t\t\t? compileVue(vueEntries, vueDir, hmr)\n\t\t\t: {\n\t\t\t\t\tvueClientPaths: [] as string[],\n\t\t\t\t\tvueCssPaths: [] as string[],\n\t\t\t\t\tvueIndexPaths: [] as string[],\n\t\t\t\t\tvueServerPaths: [] as string[]\n\t\t\t\t}\n\t]);\n\n\tconst serverEntryPoints = [...svelteServerPaths, ...vueServerPaths];\n\tconst reactClientEntryPoints = [...reactEntries];\n\tconst nonReactClientEntryPoints = [\n\t\t...svelteIndexPaths,\n\t\t...svelteClientPaths,\n\t\t...htmlEntries,\n\t\t...vueIndexPaths,\n\t\t...vueClientPaths\n\t];\n\tconst cssEntryPoints = [\n\t\t...vueCssPaths,\n\t\t...reactCssEntries,\n\t\t...svelteCssEntries,\n\t\t...htmlCssEntries,\n\t\t...htmxCssEntries\n\t];\n\n\tif (\n\t\tserverEntryPoints.length === 0 &&\n\t\treactClientEntryPoints.length === 0 &&\n\t\tnonReactClientEntryPoints.length === 0 &&\n\t\thtmxDir === undefined &&\n\t\thtmlDir === undefined\n\t) {\n\t\tlogger.warn('No entry points found, manifest will be empty');\n\n\t\treturn {};\n\t}\n\n\t// In dev, add the _refresh entry to force React into a shared chunk\n\t// so HMR can re-import component entries without duplicating React.\n\t// Only add when React entries exist (i.e. React files actually changed\n\t// or this is a full build) to avoid producing stale React outputs\n\t// during non-React incremental rebuilds.\n\tif (hmr && reactIndexesPath && reactClientEntryPoints.length > 0) {\n\t\tconst refreshEntry = join(reactIndexesPath, '_refresh.tsx');\n\t\tif (!reactClientEntryPoints.includes(refreshEntry)) {\n\t\t\treactClientEntryPoints.push(refreshEntry);\n\t\t}\n\t}\n\n\t// In dev mode, check if vendor paths are set. When set, React is\n\t// externalized and imports are rewritten to stable vendor file paths\n\t// after the build. This prevents duplicate React instances during HMR.\n\tconst vendorPaths = getDevVendorPaths();\n\n\tconst htmlScriptPlugin = hmr\n\t\t? createHTMLScriptHMRPlugin(htmlDir, htmxDir)\n\t\t: undefined;\n\n\t// Build React config before parallel execution\n\tconst reactBuildConfig: Record<string, unknown> | undefined =\n\t\treactClientEntryPoints.length > 0\n\t\t\t? (() => {\n\t\t\t\t\tconst cfg: Record<string, unknown> = {\n\t\t\t\t\t\tentrypoints: reactClientEntryPoints,\n\t\t\t\t\t\tformat: 'esm' as const,\n\t\t\t\t\t\tminify: !isDev,\n\t\t\t\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\t\t\t\toutdir: buildPath,\n\t\t\t\t\t\troot: clientRoot,\n\t\t\t\t\t\tsplitting: true,\n\t\t\t\t\t\ttarget: 'browser' as const,\n\t\t\t\t\t\tthrow: false\n\t\t\t\t\t};\n\n\t\t\t\t\t// When vendor paths are available (dev mode), externalize React so\n\t\t\t\t\t// Bun doesn't bundle it. The bare specifiers in the output are\n\t\t\t\t\t// rewritten to vendor paths after the build completes.\n\t\t\t\t\tif (vendorPaths) {\n\t\t\t\t\t\tcfg.external = Object.keys(vendorPaths);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Bun's reactFastRefresh option injects $RefreshReg$/$RefreshSig$\n\t\t\t\t\t// calls for React Fast Refresh support in dev\n\t\t\t\t\tif (hmr) {\n\t\t\t\t\t\tcfg.reactFastRefresh = true;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn cfg;\n\t\t\t\t})()\n\t\t\t: undefined;\n\n\t// Run all 4 Bun.build passes in parallel — they write to different\n\t// directories and have independent entry points.\n\tconst [serverResult, reactClientResult, nonReactClientResult, cssResult] =\n\t\tawait Promise.all([\n\t\t\tserverEntryPoints.length > 0\n\t\t\t\t? bunBuild({\n\t\t\t\t\t\tentrypoints: serverEntryPoints,\n\t\t\t\t\t\texternal: ['svelte', 'svelte/*', 'vue', 'vue/*'],\n\t\t\t\t\t\tformat: 'esm',\n\t\t\t\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\t\t\t\toutdir: serverOutDir,\n\t\t\t\t\t\troot: serverRoot,\n\t\t\t\t\t\ttarget: 'bun',\n\t\t\t\t\t\tthrow: false\n\t\t\t\t\t})\n\t\t\t\t: undefined,\n\t\t\treactBuildConfig\n\t\t\t\t? bunBuild(\n\t\t\t\t\t\treactBuildConfig as unknown as Parameters<\n\t\t\t\t\t\t\ttypeof bunBuild\n\t\t\t\t\t\t>[0]\n\t\t\t\t\t)\n\t\t\t\t: undefined,\n\t\t\tnonReactClientEntryPoints.length > 0\n\t\t\t\t? bunBuild({\n\t\t\t\t\t\tdefine: vueDirectory ? vueFeatureFlags : undefined,\n\t\t\t\t\t\tentrypoints: nonReactClientEntryPoints,\n\t\t\t\t\t\tformat: 'esm',\n\t\t\t\t\t\tminify: !isDev,\n\t\t\t\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\t\t\t\toutdir: buildPath,\n\t\t\t\t\t\tplugins: htmlScriptPlugin\n\t\t\t\t\t\t\t? [htmlScriptPlugin]\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\troot: clientRoot,\n\t\t\t\t\t\ttarget: 'browser',\n\t\t\t\t\t\tsplitting: !isDev,\n\t\t\t\t\t\tthrow: false\n\t\t\t\t\t})\n\t\t\t\t: undefined,\n\t\t\tcssEntryPoints.length > 0\n\t\t\t\t? bunBuild({\n\t\t\t\t\t\tentrypoints: cssEntryPoints,\n\t\t\t\t\t\tnaming: `[name].[hash].[ext]`,\n\t\t\t\t\t\toutdir: join(\n\t\t\t\t\t\t\tbuildPath,\n\t\t\t\t\t\t\tassetsPath ? basename(assetsPath) : 'assets',\n\t\t\t\t\t\t\t'css'\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttarget: 'browser',\n\t\t\t\t\t\tthrow: false\n\t\t\t\t\t})\n\t\t\t\t: undefined\n\t\t]);\n\n\t// Check each build result for errors\n\tlet serverLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet serverOutputs: BuildArtifact[] = [];\n\n\tif (serverResult) {\n\t\tserverLogs = serverResult.logs;\n\t\tserverOutputs = serverResult.outputs;\n\t\tif (!serverResult.success && serverResult.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\tserverResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\tserverResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs = serverResult.logs;\n\t\t\tlogger.error('Server build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tlet reactClientLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet reactClientOutputs: BuildArtifact[] = [];\n\n\tif (reactClientResult) {\n\t\treactClientLogs = reactClientResult.logs;\n\t\treactClientOutputs = reactClientResult.outputs;\n\t\tif (!reactClientResult.success && reactClientResult.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\treactClientResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\treactClientResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs = reactClientResult.logs;\n\t\t\tlogger.error('React client build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\n\t\t// Post-process: rewrite bare React specifiers to vendor paths.\n\t\t// Bun outputs `from \"react\"` for externals — browsers can't resolve\n\t\t// bare specifiers, so we rewrite them to `/vendor/react.js` etc.\n\t\tif (vendorPaths) {\n\t\t\tawait rewriteReactImports(\n\t\t\t\treactClientOutputs.map((artifact) => artifact.path),\n\t\t\t\tvendorPaths\n\t\t\t);\n\t\t}\n\t}\n\n\tlet nonReactClientLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet nonReactClientOutputs: BuildArtifact[] = [];\n\n\tif (nonReactClientResult) {\n\t\tnonReactClientLogs = nonReactClientResult.logs;\n\t\tnonReactClientOutputs = nonReactClientResult.outputs;\n\t\tif (\n\t\t\t!nonReactClientResult.success &&\n\t\t\tnonReactClientResult.logs.length > 0\n\t\t) {\n\t\t\tconst errLog =\n\t\t\t\tnonReactClientResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\tnonReactClientResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs =\n\t\t\t\tnonReactClientResult.logs;\n\t\t\tlogger.error('Non-React client build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tlet cssLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet cssOutputs: BuildArtifact[] = [];\n\n\tif (cssResult) {\n\t\tcssLogs = cssResult.logs;\n\t\tcssOutputs = cssResult.outputs;\n\t\tif (!cssResult.success && cssResult.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\tcssResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\tcssResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs = cssResult.logs;\n\t\t\tlogger.error('CSS build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tconst allLogs = [\n\t\t...serverLogs,\n\t\t...reactClientLogs,\n\t\t...nonReactClientLogs,\n\t\t...cssLogs\n\t];\n\toutputLogs(allLogs);\n\n\tconst manifest = generateManifest(\n\t\t[\n\t\t\t...serverOutputs,\n\t\t\t...reactClientOutputs,\n\t\t\t...nonReactClientOutputs,\n\t\t\t...cssOutputs\n\t\t],\n\t\tbuildPath\n\t);\n\n\t// Svelte/Vue server pages need absolute file paths for SSR import(),\n\t// not web-relative paths. Overwrite with absolute paths like HTML/HTMX.\n\tfor (const artifact of serverOutputs) {\n\t\tconst fileWithHash = basename(artifact.path);\n\t\tconst [baseName] = fileWithHash.split(`.${artifact.hash}.`);\n\t\tif (!baseName) continue;\n\t\tmanifest[toPascal(baseName)] = artifact.path;\n\t}\n\n\t// For HTML/HTMX, copy pages on full builds or if HTML/HTMX files changed\n\t// Also update asset paths if CSS changed (to update CSS links in HTML files)\n\tconst htmlOrHtmlCssChanged =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/html/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\tconst htmxOrHtmxCssChanged =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/htmx/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\n\tconst shouldCopyHtml = htmlOrHtmlCssChanged;\n\tconst shouldCopyHtmx = htmxOrHtmxCssChanged;\n\n\t// Update asset paths if CSS changed (even if HTML files didn't change)\n\tconst shouldUpdateHtmlAssetPaths =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/html/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\tconst shouldUpdateHtmxAssetPaths =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/htmx/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\n\t// Await the HMR client bundle that was started before the compile phase\n\tconst hmrClientBundle = hmrClientBundlePromise\n\t\t? await hmrClientBundlePromise\n\t\t: null;\n\n\tconst injectHMRIntoHTMLFile = (filePath: string, framework: string) => {\n\t\tif (!hmrClientBundle) return;\n\t\tlet html = readFileSync(filePath, 'utf-8');\n\t\tif (html.includes('data-hmr-client')) return;\n\t\tconst tag =\n\t\t\t`<script>window.__HMR_FRAMEWORK__=\"${framework}\";</script>` +\n\t\t\t`<script data-hmr-client>${hmrClientBundle}</script>`;\n\t\tconst bodyClose = /<\\/body\\s*>/i.exec(html);\n\t\thtml = bodyClose\n\t\t\t? html.slice(0, bodyClose.index) + tag + html.slice(bodyClose.index)\n\t\t\t: html + tag;\n\t\twriteFileSync(filePath, html);\n\t};\n\n\t// HTML + HTMX post-processing run in parallel (independent directories)\n\tawait Promise.all([\n\t\t(async () => {\n\t\t\tif (!(htmlDir && htmlPagesPath)) return;\n\t\t\tconst outputHtmlPages = isSingle\n\t\t\t\t? join(buildPath, 'pages')\n\t\t\t\t: join(buildPath, basename(htmlDir), 'pages');\n\n\t\t\tif (shouldCopyHtml) {\n\t\t\t\tmkdirSync(outputHtmlPages, { recursive: true });\n\t\t\t\tcpSync(htmlPagesPath, outputHtmlPages, {\n\t\t\t\t\tforce: true,\n\t\t\t\t\trecursive: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Update asset paths if HTML files changed OR CSS changed\n\t\t\tif (shouldUpdateHtmlAssetPaths) {\n\t\t\t\tawait updateAssetPaths(manifest, outputHtmlPages);\n\t\t\t}\n\n\t\t\t// Add HTML pages to manifest (absolute paths for Bun.file())\n\t\t\tconst htmlPageFiles = await scanEntryPoints(\n\t\t\t\toutputHtmlPages,\n\t\t\t\t'*.html'\n\t\t\t);\n\t\t\tfor (const htmlFile of htmlPageFiles) {\n\t\t\t\tif (hmr) injectHMRIntoHTMLFile(htmlFile, 'html');\n\t\t\t\tconst fileName = basename(htmlFile, '.html');\n\t\t\t\tmanifest[fileName] = htmlFile;\n\t\t\t}\n\t\t})(),\n\t\t(async () => {\n\t\t\tif (!(htmxDir && htmxPagesPath)) return;\n\t\t\tconst outputHtmxPages = isSingle\n\t\t\t\t? join(buildPath, 'pages')\n\t\t\t\t: join(buildPath, basename(htmxDir), 'pages');\n\n\t\t\tif (shouldCopyHtmx) {\n\t\t\t\tmkdirSync(outputHtmxPages, { recursive: true });\n\t\t\t\tcpSync(htmxPagesPath, outputHtmxPages, {\n\t\t\t\t\tforce: true,\n\t\t\t\t\trecursive: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (shouldCopyHtmx) {\n\t\t\t\tconst htmxDestDir = isSingle\n\t\t\t\t\t? buildPath\n\t\t\t\t\t: join(buildPath, basename(htmxDir));\n\n\t\t\t\tmkdirSync(htmxDestDir, { recursive: true });\n\n\t\t\t\tconst glob = new Glob('htmx*.min.js');\n\t\t\t\tfor (const relPath of glob.scanSync({ cwd: htmxDir })) {\n\t\t\t\t\tconst src = join(htmxDir, relPath);\n\t\t\t\t\tconst dest = join(htmxDestDir, 'htmx.min.js');\n\t\t\t\t\tcopyFileSync(src, dest);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Update asset paths if HTMX files changed OR CSS changed\n\t\t\tif (shouldUpdateHtmxAssetPaths) {\n\t\t\t\tawait updateAssetPaths(manifest, outputHtmxPages);\n\t\t\t}\n\n\t\t\t// Add HTMX pages to manifest (absolute paths for Bun.file())\n\t\t\tconst htmxPageFiles = await scanEntryPoints(\n\t\t\t\toutputHtmxPages,\n\t\t\t\t'*.html'\n\t\t\t);\n\t\t\tfor (const htmxFile of htmxPageFiles) {\n\t\t\t\tif (hmr) injectHMRIntoHTMLFile(htmxFile, 'htmx');\n\t\t\t\tconst fileName = basename(htmxFile, '.html');\n\t\t\t\tmanifest[fileName] = htmxFile;\n\t\t\t}\n\t\t})()\n\t]);\n\n\tif (!options?.preserveIntermediateFiles)\n\t\tawait cleanup({\n\t\t\treactIndexesPath,\n\t\t\tsvelteDir,\n\t\t\tvueDir\n\t\t});\n\n\tif (!isIncremental && !options?.injectHMR) {\n\t\tconsole.log(\n\t\t\t`Build completed in ${getDurationString(performance.now() - buildStart)}`\n\t\t);\n\t}\n\n\treturn manifest;\n};\n",
22
- "import { existsSync } from 'node:fs';\nimport { mkdir, stat } from 'node:fs/promises';\nimport {\n\tdirname,\n\tjoin,\n\tbasename,\n\textname,\n\tresolve,\n\trelative,\n\tsep\n} from 'node:path';\nimport { env } from 'node:process';\nimport { write, file, Transpiler } from 'bun';\nimport { compile, compileModule, preprocess } from 'svelte/compiler';\n\nconst devClientDir = (() => {\n\tconst fromSource = resolve(import.meta.dir, '../dev/client');\n\tif (existsSync(fromSource)) return fromSource;\n\n\treturn resolve(import.meta.dir, './dev/client');\n})();\n\nconst hmrClientPath = join(devClientDir, 'hmrClient.ts').replace(/\\\\/g, '/');\n\ntype Built = { ssr: string; client: string };\ntype Cache = Map<string, Built>;\n\nconst transpiler = new Transpiler({ loader: 'ts', target: 'browser' });\n\nconst exists = async (path: string) => {\n\ttry {\n\t\tawait stat(path);\n\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nconst resolveSvelte = async (spec: string, from: string) => {\n\tconst basePath = resolve(dirname(from), spec);\n\tconst explicit = /\\.(svelte|svelte\\.(?:ts|js))$/.test(basePath);\n\n\tif (!explicit) {\n\t\tconst extensions = ['.svelte', '.svelte.ts', '.svelte.js'];\n\t\tconst paths = extensions.map((ext) => `${basePath}${ext}`);\n\t\tconst checks = await Promise.all(paths.map(exists));\n\t\tconst match = paths.find((_, index) => checks[index]);\n\n\t\treturn match ?? null;\n\t}\n\n\tif (await exists(basePath)) return basePath;\n\tif (!basePath.endsWith('.svelte')) return null;\n\n\tconst tsPath = `${basePath}.ts`;\n\tif (await exists(tsPath)) return tsPath;\n\n\tconst jsPath = `${basePath}.js`;\n\tif (await exists(jsPath)) return jsPath;\n\n\treturn null;\n};\n\nexport const compileSvelte = async (\n\tentryPoints: string[],\n\tsvelteRoot: string,\n\tcache: Cache = new Map(),\n\tisDev = false\n) => {\n\tconst compiledRoot = join(svelteRoot, 'compiled');\n\tconst clientDir = join(compiledRoot, 'client');\n\tconst indexDir = join(compiledRoot, 'indexes');\n\tconst pagesDir = join(compiledRoot, 'pages');\n\n\tawait Promise.all(\n\t\t[clientDir, indexDir, pagesDir].map((dir) =>\n\t\t\tmkdir(dir, { recursive: true })\n\t\t)\n\t);\n\n\tconst dev = env.NODE_ENV !== 'production';\n\n\tconst build = async (src: string) => {\n\t\tconst memoized = cache.get(src);\n\t\tif (memoized) return memoized;\n\n\t\tconst raw = await file(src).text();\n\t\tconst isModule =\n\t\t\tsrc.endsWith('.svelte.ts') || src.endsWith('.svelte.js');\n\t\tconst preprocessed = isModule ? raw : (await preprocess(raw, {})).code;\n\t\tconst transpiled =\n\t\t\tsrc.endsWith('.ts') || src.endsWith('.svelte.ts')\n\t\t\t\t? transpiler.transformSync(preprocessed)\n\t\t\t\t: preprocessed;\n\n\t\tconst relDir = dirname(relative(svelteRoot, src)).replace(/\\\\/g, '/');\n\t\tconst baseName = basename(src).replace(/\\.svelte(\\.(ts|js))?$/, '');\n\n\t\tconst importPaths = Array.from(\n\t\t\ttranspiled.matchAll(/from\\s+['\"]([^'\"]+)['\"]/g)\n\t\t)\n\t\t\t.map((match) => match[1])\n\t\t\t.filter((path): path is string => path !== undefined);\n\n\t\tconst resolvedImports = await Promise.all(\n\t\t\timportPaths.map((importPath) => resolveSvelte(importPath, src))\n\t\t);\n\t\tconst childSources = resolvedImports.filter(\n\t\t\t(path): path is string => path !== null\n\t\t);\n\t\tawait Promise.all(childSources.map((child) => build(child)));\n\n\t\tconst generate = (mode: 'server' | 'client') =>\n\t\t\t(isModule\n\t\t\t\t? compileModule(transpiled, {\n\t\t\t\t\t\tdev: mode === 'client' && dev,\n\t\t\t\t\t\tfilename: src\n\t\t\t\t\t}).js.code\n\t\t\t\t: compile(transpiled, {\n\t\t\t\t\t\tcss: 'injected',\n\t\t\t\t\t\tdev: mode === 'client' && dev,\n\t\t\t\t\t\tfilename: src,\n\t\t\t\t\t\tgenerate: mode\n\t\t\t\t\t}).js.code\n\t\t\t).replace(/\\.svelte(?:\\.(?:ts|js))?(['\"])/g, '.js$1');\n\n\t\tconst ssrPath = join(pagesDir, relDir, `${baseName}.js`);\n\t\tconst clientPath = join(clientDir, relDir, `${baseName}.js`);\n\n\t\tawait Promise.all([\n\t\t\tmkdir(dirname(ssrPath), { recursive: true }),\n\t\t\tmkdir(dirname(clientPath), { recursive: true })\n\t\t]);\n\n\t\tif (isModule) {\n\t\t\tconst bundle = generate('client');\n\t\t\tawait Promise.all([\n\t\t\t\twrite(ssrPath, bundle),\n\t\t\t\twrite(clientPath, bundle)\n\t\t\t]);\n\t\t} else {\n\t\t\tconst serverBundle = generate('server');\n\t\t\tconst clientBundle = generate('client');\n\t\t\tawait Promise.all([\n\t\t\t\twrite(ssrPath, serverBundle),\n\t\t\t\twrite(clientPath, clientBundle)\n\t\t\t]);\n\t\t}\n\n\t\tconst built: Built = { client: clientPath, ssr: ssrPath };\n\t\tcache.set(src, built);\n\n\t\treturn built;\n\t};\n\n\tconst roots = await Promise.all(entryPoints.map(build));\n\n\tawait Promise.all(\n\t\troots.map(async ({ client }) => {\n\t\t\tconst relClientDir = dirname(relative(clientDir, client));\n\t\t\tconst name = basename(client, extname(client));\n\t\t\tconst indexPath = join(indexDir, relClientDir, `${name}.js`);\n\t\t\tconst importRaw = relative(dirname(indexPath), client)\n\t\t\t\t.split(sep)\n\t\t\t\t.join('/');\n\t\t\tconst importPath =\n\t\t\t\timportRaw.startsWith('.') || importRaw.startsWith('/')\n\t\t\t\t\t? importRaw\n\t\t\t\t\t: `./${importRaw}`;\n\t\t\tconst hmrImports = isDev\n\t\t\t\t? `window.__HMR_FRAMEWORK__ = \"svelte\";\\nimport \"${hmrClientPath}\";\\n`\n\t\t\t\t: '';\n\t\t\tconst bootstrap = `${hmrImports}import Component from \"${importPath}\";\nimport { hydrate, mount, unmount } from \"svelte\";\n\nvar initialProps = (typeof window !== \"undefined\" && window.__INITIAL_PROPS__) ? window.__INITIAL_PROPS__ : {};\nvar isHMR = typeof window !== \"undefined\" && window.__SVELTE_COMPONENT__ !== undefined;\nvar component;\n\nif (isHMR) {\n var headLinks = document.querySelectorAll('link[rel=\"stylesheet\"]');\n var preservedLinks = [];\n headLinks.forEach(function(link) {\n var clone = link.cloneNode(true);\n clone.setAttribute(\"data-hmr-preserve\", \"true\");\n document.head.appendChild(clone);\n preservedLinks.push(clone);\n });\n if (typeof window.__SVELTE_UNMOUNT__ === \"function\") {\n try { window.__SVELTE_UNMOUNT__(); } catch (err) { console.warn(\"[HMR] unmount error:\", err); }\n }\n var preservedState = window.__HMR_PRESERVED_STATE__;\n if (!preservedState) {\n try {\n var stored = sessionStorage.getItem(\"__SVELTE_HMR_STATE__\");\n if (stored) preservedState = JSON.parse(stored);\n } catch (err) { /* ignore */ }\n }\n var mergedProps = preservedState ? Object.assign({}, initialProps, preservedState) : initialProps;\n component = mount(Component, { target: document.body, props: mergedProps });\n requestAnimationFrame(function() {\n preservedLinks.forEach(function(link) { link.remove(); });\n });\n window.__HMR_PRESERVED_STATE__ = undefined;\n} else {\n component = hydrate(Component, { target: document.body, props: initialProps });\n}\n\nif (typeof window !== \"undefined\") {\n window.__SVELTE_COMPONENT__ = component;\n window.__SVELTE_UNMOUNT__ = function() { unmount(component); };\n}`;\n\n\t\t\tawait mkdir(dirname(indexPath), { recursive: true });\n\n\t\t\treturn write(indexPath, bootstrap);\n\t\t})\n\t);\n\n\treturn {\n\t\t// Index paths (entry points for hydration)\n\t\tsvelteIndexPaths: roots.map(({ client }) => {\n\t\t\tconst rel = dirname(relative(clientDir, client));\n\t\t\treturn join(indexDir, rel, basename(client));\n\t\t}),\n\t\t// Actual client component paths (for official HMR module imports)\n\t\tsvelteClientPaths: roots.map(({ client }) => client),\n\t\tsvelteServerPaths: roots.map(({ ssr }) => ssr)\n\t};\n};\n",
23
+ "import {\n\tcopyFileSync,\n\tcpSync,\n\tmkdirSync,\n\treadFileSync,\n\twriteFileSync\n} from 'node:fs';\nimport { rm } from 'node:fs/promises';\nimport { basename, join, resolve } from 'node:path';\nimport { cwd, env, exit } from 'node:process';\nimport { $, build as bunBuild, BuildArtifact, Glob } from 'bun';\nimport type { compileSvelte } from '../build/compileSvelte';\nimport type { compileVue } from '../build/compileVue';\nimport { generateManifest } from '../build/generateManifest';\nimport { generateReactIndexFiles } from '../build/generateReactIndexes';\nimport { createHTMLScriptHMRPlugin } from '../build/htmlScriptHMRPlugin';\nimport { outputLogs } from '../build/outputLogs';\nimport { scanEntryPoints } from '../build/scanEntryPoints';\nimport { updateAssetPaths } from '../build/updateAssetPaths';\nimport { buildHMRClient } from '../dev/buildHMRClient';\nimport { rewriteReactImports } from '../build/rewriteReactImports';\nimport { getDevVendorPaths } from './devVendorPaths';\nimport type { BuildConfig } from '../../types/build';\nimport { cleanup } from '../utils/cleanup';\nimport { commonAncestor } from '../utils/commonAncestor';\nimport { getDurationString } from '../utils/getDurationString';\nimport { logger } from '../utils/logger';\nimport { normalizePath } from '../utils/normalizePath';\nimport { toPascal } from '../utils/stringModifiers';\nimport { validateSafePath } from '../utils/validateSafePath';\n\nconst isDev = env.NODE_ENV === 'development';\n\nconst vueFeatureFlags: Record<string, string> = {\n\t__VUE_OPTIONS_API__: 'true',\n\t__VUE_PROD_DEVTOOLS__: isDev ? 'true' : 'false',\n\t__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: isDev ? 'true' : 'false'\n};\n\nexport const build = async ({\n\tbuildDirectory = 'build',\n\tassetsDirectory,\n\tpublicDirectory,\n\treactDirectory,\n\thtmlDirectory,\n\thtmxDirectory,\n\tangularDirectory,\n\tsvelteDirectory,\n\tvueDirectory,\n\ttailwind,\n\toptions,\n\tincrementalFiles\n}: BuildConfig) => {\n\tconst buildStart = performance.now();\n\tconst projectRoot = cwd();\n\tconst isIncremental = incrementalFiles && incrementalFiles.length > 0;\n\n\t// Normalize incrementalFiles for consistent cross-platform path checking\n\tconst normalizedIncrementalFiles = incrementalFiles?.map(normalizePath);\n\n\tconst throwOnError = options?.throwOnError === true;\n\tconst hmr = options?.injectHMR === true;\n\tconst buildPath = validateSafePath(buildDirectory, projectRoot);\n\tconst assetsPath =\n\t\tassetsDirectory && validateSafePath(assetsDirectory, projectRoot);\n\tconst reactDir =\n\t\treactDirectory && validateSafePath(reactDirectory, projectRoot);\n\tconst htmlDir =\n\t\thtmlDirectory && validateSafePath(htmlDirectory, projectRoot);\n\tconst htmxDir =\n\t\thtmxDirectory && validateSafePath(htmxDirectory, projectRoot);\n\tconst svelteDir =\n\t\tsvelteDirectory && validateSafePath(svelteDirectory, projectRoot);\n\tconst vueDir = vueDirectory && validateSafePath(vueDirectory, projectRoot);\n\tconst angularDir =\n\t\tangularDirectory && validateSafePath(angularDirectory, projectRoot);\n\n\tconst reactIndexesPath = reactDir && join(reactDir, 'indexes');\n\tconst reactPagesPath = reactDir && join(reactDir, 'pages');\n\tconst htmlPagesPath = htmlDir && join(htmlDir, 'pages');\n\tconst htmlScriptsPath = htmlDir && join(htmlDir, 'scripts');\n\tconst sveltePagesPath = svelteDir && join(svelteDir, 'pages');\n\tconst vuePagesPath = vueDir && join(vueDir, 'pages');\n\tconst htmxPagesPath = htmxDir && join(htmxDir, 'pages');\n\tconst angularPagesPath = angularDir && join(angularDir, 'pages');\n\n\tconst frontends = [\n\t\treactDir,\n\t\thtmlDir,\n\t\thtmxDir,\n\t\tsvelteDir,\n\t\tvueDir,\n\t\tangularDir\n\t].filter(Boolean);\n\tconst isSingle = frontends.length === 1;\n\n\t// Shared root for all client builds so output paths preserve framework directory names.\n\t// generateManifest detects frameworks by checking for \"react\"/\"svelte\"/\"vue\" path segments.\n\tconst clientRoots: string[] = [\n\t\treactDir,\n\t\tsvelteDir,\n\t\thtmlDir,\n\t\tvueDir,\n\t\tangularDir\n\t].filter((dir): dir is string => Boolean(dir));\n\tconst clientRoot = isSingle\n\t\t? (clientRoots[0] ?? projectRoot)\n\t\t: commonAncestor(clientRoots, projectRoot);\n\n\tlet serverOutDir: string | undefined;\n\tif (svelteDir) serverOutDir = join(buildPath, basename(svelteDir), 'pages');\n\telse if (vueDir) serverOutDir = join(buildPath, basename(vueDir), 'pages');\n\n\tlet serverRoot: string | undefined;\n\tif (sveltePagesPath) serverRoot = sveltePagesPath;\n\telse if (vuePagesPath) serverRoot = vuePagesPath;\n\n\tconst publicPath =\n\t\tpublicDirectory && validateSafePath(publicDirectory, projectRoot);\n\n\t// Only delete build directory for full builds, not incremental\n\tif (!isIncremental) {\n\t\tawait rm(buildPath, { force: true, recursive: true });\n\t}\n\tmkdirSync(buildPath, { recursive: true });\n\n\tif (publicPath)\n\t\tcpSync(publicPath, buildPath, { force: true, recursive: true });\n\n\t// Helper to find matching entry points for incremental files\n\t// The dependency graph already includes all dependent files in incrementalFiles\n\tconst filterToIncrementalEntries = (\n\t\tentryPoints: string[],\n\t\tmapToSource: (entry: string) => string | null\n\t) => {\n\t\tif (!isIncremental || !incrementalFiles) return entryPoints;\n\n\t\tconst normalizedIncremental = new Set(\n\t\t\tincrementalFiles.map((f) => resolve(f))\n\t\t);\n\t\tconst matchingEntries: string[] = [];\n\n\t\tfor (const entry of entryPoints) {\n\t\t\tconst sourceFile = mapToSource(entry);\n\t\t\tif (sourceFile && normalizedIncremental.has(resolve(sourceFile))) {\n\t\t\t\tmatchingEntries.push(entry);\n\t\t\t}\n\t\t}\n\n\t\treturn matchingEntries;\n\t};\n\n\t// For incremental React builds, only generate indexes for changed files\n\t// NOTE: We always regenerate index files to ensure they have the latest hydration error handling logic\n\tif (reactIndexesPath && reactPagesPath) {\n\t\t// Always regenerate React index files to ensure latest error handling is included\n\t\t// This is safe because index files are small and generation is fast\n\t\tawait generateReactIndexFiles(reactPagesPath, reactIndexesPath, hmr);\n\t}\n\n\t// Copy assets on full builds or if assets changed\n\tif (\n\t\tassetsPath &&\n\t\t(!isIncremental ||\n\t\t\tnormalizedIncrementalFiles?.some((f) => f.includes('/assets/')))\n\t) {\n\t\tcpSync(assetsPath, join(buildPath, 'assets'), {\n\t\t\tforce: true,\n\t\t\trecursive: true\n\t\t});\n\t}\n\n\t// Tailwind + entry point scanning run in parallel (they're independent)\n\tconst tailwindPromise =\n\t\ttailwind &&\n\t\t(!isIncremental ||\n\t\t\tnormalizedIncrementalFiles?.some((f) => f.endsWith('.css')))\n\t\t\t? $`bunx @tailwindcss/cli -i ${tailwind.input} -o ${join(buildPath, tailwind.output)}`\n\t\t\t: undefined;\n\n\tconst [\n\t\t,\n\t\tallReactEntries,\n\t\tallHtmlEntries,\n\t\tallSvelteEntries,\n\t\tallVueEntries,\n\t\tallAngularEntries,\n\t\tallHtmlCssEntries,\n\t\tallHtmxCssEntries,\n\t\tallReactCssEntries,\n\t\tallSvelteCssEntries\n\t] = await Promise.all([\n\t\ttailwindPromise,\n\t\treactIndexesPath ? scanEntryPoints(reactIndexesPath, '*.tsx') : [],\n\t\thtmlScriptsPath ? scanEntryPoints(htmlScriptsPath, '*.{js,ts}') : [],\n\t\tsveltePagesPath ? scanEntryPoints(sveltePagesPath, '*.svelte') : [],\n\t\tvuePagesPath ? scanEntryPoints(vuePagesPath, '*.vue') : [],\n\t\tangularPagesPath ? scanEntryPoints(angularPagesPath, '*.ts') : [],\n\t\thtmlDir ? scanEntryPoints(join(htmlDir, 'styles'), '*.css') : [],\n\t\thtmxDir ? scanEntryPoints(join(htmxDir, 'styles'), '*.css') : [],\n\t\treactDir ? scanEntryPoints(join(reactDir, 'styles'), '*.css') : [],\n\t\tsvelteDir ? scanEntryPoints(join(svelteDir, 'styles'), '*.css') : []\n\t]);\n\t// When HTML/HTMX pages change, we must include their CSS and scripts in the build\n\t// so the manifest has those entries for updateAssetPaths. Otherwise incremental\n\t// builds drop them and updateAssetPaths fails with \"no manifest entry\".\n\tconst shouldIncludeHtmlAssets =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/html/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\tconst shouldIncludeHtmxAssets =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/htmx/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\n\t// Filter entries for incremental builds\n\t// For React: map index entries back to their source pages\n\tconst reactEntries =\n\t\tisIncremental && reactIndexesPath && reactPagesPath\n\t\t\t? filterToIncrementalEntries(allReactEntries, (entry) => {\n\t\t\t\t\t// Map index entry (indexes/ReactExample.tsx) to source page (pages/ReactExample.tsx)\n\t\t\t\t\tif (entry.startsWith(resolve(reactIndexesPath))) {\n\t\t\t\t\t\tconst pageName = basename(entry, '.tsx');\n\t\t\t\t\t\treturn join(reactPagesPath, `${pageName}.tsx`);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})\n\t\t\t: allReactEntries;\n\n\tconst htmlEntries =\n\t\tisIncremental && htmlScriptsPath && !shouldIncludeHtmlAssets\n\t\t\t? filterToIncrementalEntries(allHtmlEntries, (entry) => entry)\n\t\t\t: allHtmlEntries;\n\n\t// For Svelte/Vue/Angular: entries are the page files themselves\n\tconst svelteEntries = isIncremental\n\t\t? filterToIncrementalEntries(allSvelteEntries, (entry) => entry)\n\t\t: allSvelteEntries;\n\n\tconst vueEntries = isIncremental\n\t\t? filterToIncrementalEntries(allVueEntries, (entry) => entry)\n\t\t: allVueEntries;\n\n\tconst angularEntries = isIncremental\n\t\t? filterToIncrementalEntries(allAngularEntries, (entry) => entry)\n\t\t: allAngularEntries;\n\n\t// CSS entries - entries are the CSS files themselves\n\tconst htmlCssEntries =\n\t\tisIncremental && !shouldIncludeHtmlAssets\n\t\t\t? filterToIncrementalEntries(allHtmlCssEntries, (entry) => entry)\n\t\t\t: allHtmlCssEntries;\n\tconst htmxCssEntries =\n\t\tisIncremental && !shouldIncludeHtmxAssets\n\t\t\t? filterToIncrementalEntries(allHtmxCssEntries, (entry) => entry)\n\t\t\t: allHtmxCssEntries;\n\tconst reactCssEntries = isIncremental\n\t\t? filterToIncrementalEntries(allReactCssEntries, (entry) => entry)\n\t\t: allReactCssEntries;\n\tconst svelteCssEntries = isIncremental\n\t\t? filterToIncrementalEntries(allSvelteCssEntries, (entry) => entry)\n\t\t: allSvelteCssEntries;\n\n\t// Start HMR client build early — it has no dependency on compile/bunBuild\n\t// results and will resolve during the compile phase for free.\n\tconst hmrClientBundlePromise =\n\t\thmr && (htmlDir || htmxDir) ? buildHMRClient() : undefined;\n\n\tconst [\n\t\t{ svelteServerPaths, svelteIndexPaths, svelteClientPaths },\n\t\t{ vueServerPaths, vueIndexPaths, vueClientPaths, vueCssPaths }\n\t] = await Promise.all([\n\t\tsvelteDir\n\t\t\t? import('../build/compileSvelte').then(\n\t\t\t\t\t(mod) =>\n\t\t\t\t\t\tmod.compileSvelte(\n\t\t\t\t\t\t\tsvelteEntries,\n\t\t\t\t\t\t\tsvelteDir,\n\t\t\t\t\t\t\tnew Map(),\n\t\t\t\t\t\t\thmr\n\t\t\t\t\t\t) as ReturnType<typeof compileSvelte>\n\t\t\t\t)\n\t\t\t: {\n\t\t\t\t\tsvelteClientPaths: [] as string[],\n\t\t\t\t\tsvelteIndexPaths: [] as string[],\n\t\t\t\t\tsvelteServerPaths: [] as string[]\n\t\t\t\t},\n\t\tvueDir\n\t\t\t? import('../build/compileVue').then(\n\t\t\t\t\t(mod) =>\n\t\t\t\t\t\tmod.compileVue(vueEntries, vueDir, hmr) as ReturnType<\n\t\t\t\t\t\t\ttypeof compileVue\n\t\t\t\t\t\t>\n\t\t\t\t)\n\t\t\t: {\n\t\t\t\t\tvueClientPaths: [] as string[],\n\t\t\t\t\tvueCssPaths: [] as string[],\n\t\t\t\t\tvueIndexPaths: [] as string[],\n\t\t\t\t\tvueServerPaths: [] as string[]\n\t\t\t\t}\n\t]);\n\n\tconst serverEntryPoints = [...svelteServerPaths, ...vueServerPaths];\n\tconst reactClientEntryPoints = [...reactEntries];\n\tconst nonReactClientEntryPoints = [\n\t\t...svelteIndexPaths,\n\t\t...svelteClientPaths,\n\t\t...htmlEntries,\n\t\t...vueIndexPaths,\n\t\t...vueClientPaths\n\t];\n\tconst cssEntryPoints = [\n\t\t...vueCssPaths,\n\t\t...reactCssEntries,\n\t\t...svelteCssEntries,\n\t\t...htmlCssEntries,\n\t\t...htmxCssEntries\n\t];\n\n\tif (\n\t\tserverEntryPoints.length === 0 &&\n\t\treactClientEntryPoints.length === 0 &&\n\t\tnonReactClientEntryPoints.length === 0 &&\n\t\thtmxDir === undefined &&\n\t\thtmlDir === undefined\n\t) {\n\t\tlogger.warn('No entry points found, manifest will be empty');\n\n\t\treturn {};\n\t}\n\n\t// In dev, add the _refresh entry to force React into a shared chunk\n\t// so HMR can re-import component entries without duplicating React.\n\t// Only add when React entries exist (i.e. React files actually changed\n\t// or this is a full build) to avoid producing stale React outputs\n\t// during non-React incremental rebuilds.\n\tif (hmr && reactIndexesPath && reactClientEntryPoints.length > 0) {\n\t\tconst refreshEntry = join(reactIndexesPath, '_refresh.tsx');\n\t\tif (!reactClientEntryPoints.includes(refreshEntry)) {\n\t\t\treactClientEntryPoints.push(refreshEntry);\n\t\t}\n\t}\n\n\t// In dev mode, check if vendor paths are set. When set, React is\n\t// externalized and imports are rewritten to stable vendor file paths\n\t// after the build. This prevents duplicate React instances during HMR.\n\tconst vendorPaths = getDevVendorPaths();\n\n\tconst htmlScriptPlugin = hmr\n\t\t? createHTMLScriptHMRPlugin(htmlDir, htmxDir)\n\t\t: undefined;\n\n\t// Build React config before parallel execution\n\tconst reactBuildConfig: Record<string, unknown> | undefined =\n\t\treactClientEntryPoints.length > 0\n\t\t\t? (() => {\n\t\t\t\t\tconst cfg: Record<string, unknown> = {\n\t\t\t\t\t\tentrypoints: reactClientEntryPoints,\n\t\t\t\t\t\tformat: 'esm' as const,\n\t\t\t\t\t\tminify: !isDev,\n\t\t\t\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\t\t\t\toutdir: buildPath,\n\t\t\t\t\t\troot: clientRoot,\n\t\t\t\t\t\tsplitting: true,\n\t\t\t\t\t\ttarget: 'browser' as const,\n\t\t\t\t\t\tthrow: false\n\t\t\t\t\t};\n\n\t\t\t\t\t// When vendor paths are available (dev mode), externalize React so\n\t\t\t\t\t// Bun doesn't bundle it. The bare specifiers in the output are\n\t\t\t\t\t// rewritten to vendor paths after the build completes.\n\t\t\t\t\tif (vendorPaths) {\n\t\t\t\t\t\tcfg.external = Object.keys(vendorPaths);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Bun's reactFastRefresh option injects $RefreshReg$/$RefreshSig$\n\t\t\t\t\t// calls for React Fast Refresh support in dev\n\t\t\t\t\tif (hmr) {\n\t\t\t\t\t\tcfg.reactFastRefresh = true;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn cfg;\n\t\t\t\t})()\n\t\t\t: undefined;\n\n\t// Run all 4 Bun.build passes in parallel — they write to different\n\t// directories and have independent entry points.\n\tconst [serverResult, reactClientResult, nonReactClientResult, cssResult] =\n\t\tawait Promise.all([\n\t\t\tserverEntryPoints.length > 0\n\t\t\t\t? bunBuild({\n\t\t\t\t\t\tentrypoints: serverEntryPoints,\n\t\t\t\t\t\texternal: ['svelte', 'svelte/*', 'vue', 'vue/*'],\n\t\t\t\t\t\tformat: 'esm',\n\t\t\t\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\t\t\t\toutdir: serverOutDir,\n\t\t\t\t\t\troot: serverRoot,\n\t\t\t\t\t\ttarget: 'bun',\n\t\t\t\t\t\tthrow: false\n\t\t\t\t\t})\n\t\t\t\t: undefined,\n\t\t\treactBuildConfig\n\t\t\t\t? bunBuild(\n\t\t\t\t\t\treactBuildConfig as unknown as Parameters<\n\t\t\t\t\t\t\ttypeof bunBuild\n\t\t\t\t\t\t>[0]\n\t\t\t\t\t)\n\t\t\t\t: undefined,\n\t\t\tnonReactClientEntryPoints.length > 0\n\t\t\t\t? bunBuild({\n\t\t\t\t\t\tdefine: vueDirectory ? vueFeatureFlags : undefined,\n\t\t\t\t\t\tentrypoints: nonReactClientEntryPoints,\n\t\t\t\t\t\tformat: 'esm',\n\t\t\t\t\t\tminify: !isDev,\n\t\t\t\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\t\t\t\toutdir: buildPath,\n\t\t\t\t\t\tplugins: htmlScriptPlugin\n\t\t\t\t\t\t\t? [htmlScriptPlugin]\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\troot: clientRoot,\n\t\t\t\t\t\ttarget: 'browser',\n\t\t\t\t\t\tsplitting: !isDev,\n\t\t\t\t\t\tthrow: false\n\t\t\t\t\t})\n\t\t\t\t: undefined,\n\t\t\tcssEntryPoints.length > 0\n\t\t\t\t? bunBuild({\n\t\t\t\t\t\tentrypoints: cssEntryPoints,\n\t\t\t\t\t\tnaming: `[name].[hash].[ext]`,\n\t\t\t\t\t\toutdir: join(\n\t\t\t\t\t\t\tbuildPath,\n\t\t\t\t\t\t\tassetsPath ? basename(assetsPath) : 'assets',\n\t\t\t\t\t\t\t'css'\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttarget: 'browser',\n\t\t\t\t\t\tthrow: false\n\t\t\t\t\t})\n\t\t\t\t: undefined\n\t\t]);\n\n\t// Check each build result for errors\n\tlet serverLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet serverOutputs: BuildArtifact[] = [];\n\n\tif (serverResult) {\n\t\tserverLogs = serverResult.logs;\n\t\tserverOutputs = serverResult.outputs;\n\t\tif (!serverResult.success && serverResult.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\tserverResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\tserverResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs = serverResult.logs;\n\t\t\tlogger.error('Server build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tlet reactClientLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet reactClientOutputs: BuildArtifact[] = [];\n\n\tif (reactClientResult) {\n\t\treactClientLogs = reactClientResult.logs;\n\t\treactClientOutputs = reactClientResult.outputs;\n\t\tif (!reactClientResult.success && reactClientResult.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\treactClientResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\treactClientResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs = reactClientResult.logs;\n\t\t\tlogger.error('React client build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\n\t\t// Post-process: rewrite bare React specifiers to vendor paths.\n\t\t// Bun outputs `from \"react\"` for externals — browsers can't resolve\n\t\t// bare specifiers, so we rewrite them to `/vendor/react.js` etc.\n\t\tif (vendorPaths) {\n\t\t\tawait rewriteReactImports(\n\t\t\t\treactClientOutputs.map((artifact) => artifact.path),\n\t\t\t\tvendorPaths\n\t\t\t);\n\t\t}\n\t}\n\n\tlet nonReactClientLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet nonReactClientOutputs: BuildArtifact[] = [];\n\n\tif (nonReactClientResult) {\n\t\tnonReactClientLogs = nonReactClientResult.logs;\n\t\tnonReactClientOutputs = nonReactClientResult.outputs;\n\t\tif (\n\t\t\t!nonReactClientResult.success &&\n\t\t\tnonReactClientResult.logs.length > 0\n\t\t) {\n\t\t\tconst errLog =\n\t\t\t\tnonReactClientResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\tnonReactClientResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs =\n\t\t\t\tnonReactClientResult.logs;\n\t\t\tlogger.error('Non-React client build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tlet cssLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet cssOutputs: BuildArtifact[] = [];\n\n\tif (cssResult) {\n\t\tcssLogs = cssResult.logs;\n\t\tcssOutputs = cssResult.outputs;\n\t\tif (!cssResult.success && cssResult.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\tcssResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\tcssResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs = cssResult.logs;\n\t\t\tlogger.error('CSS build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tconst allLogs = [\n\t\t...serverLogs,\n\t\t...reactClientLogs,\n\t\t...nonReactClientLogs,\n\t\t...cssLogs\n\t];\n\toutputLogs(allLogs);\n\n\tconst manifest = generateManifest(\n\t\t[\n\t\t\t...serverOutputs,\n\t\t\t...reactClientOutputs,\n\t\t\t...nonReactClientOutputs,\n\t\t\t...cssOutputs\n\t\t],\n\t\tbuildPath\n\t);\n\n\t// Svelte/Vue server pages need absolute file paths for SSR import(),\n\t// not web-relative paths. Overwrite with absolute paths like HTML/HTMX.\n\tfor (const artifact of serverOutputs) {\n\t\tconst fileWithHash = basename(artifact.path);\n\t\tconst [baseName] = fileWithHash.split(`.${artifact.hash}.`);\n\t\tif (!baseName) continue;\n\t\tmanifest[toPascal(baseName)] = artifact.path;\n\t}\n\n\t// For HTML/HTMX, copy pages on full builds or if HTML/HTMX files changed\n\t// Also update asset paths if CSS changed (to update CSS links in HTML files)\n\tconst htmlOrHtmlCssChanged =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/html/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\tconst htmxOrHtmxCssChanged =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/htmx/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\n\tconst shouldCopyHtml = htmlOrHtmlCssChanged;\n\tconst shouldCopyHtmx = htmxOrHtmxCssChanged;\n\n\t// Update asset paths if CSS changed (even if HTML files didn't change)\n\tconst shouldUpdateHtmlAssetPaths =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/html/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\tconst shouldUpdateHtmxAssetPaths =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/htmx/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\n\t// Await the HMR client bundle that was started before the compile phase\n\tconst hmrClientBundle = hmrClientBundlePromise\n\t\t? await hmrClientBundlePromise\n\t\t: null;\n\n\tconst injectHMRIntoHTMLFile = (filePath: string, framework: string) => {\n\t\tif (!hmrClientBundle) return;\n\t\tlet html = readFileSync(filePath, 'utf-8');\n\t\tif (html.includes('data-hmr-client')) return;\n\t\tconst tag =\n\t\t\t`<script>window.__HMR_FRAMEWORK__=\"${framework}\";</script>` +\n\t\t\t`<script data-hmr-client>${hmrClientBundle}</script>`;\n\t\tconst bodyClose = /<\\/body\\s*>/i.exec(html);\n\t\thtml = bodyClose\n\t\t\t? html.slice(0, bodyClose.index) + tag + html.slice(bodyClose.index)\n\t\t\t: html + tag;\n\t\twriteFileSync(filePath, html);\n\t};\n\n\t// HTML + HTMX post-processing run in parallel (independent directories)\n\tawait Promise.all([\n\t\t(async () => {\n\t\t\tif (!(htmlDir && htmlPagesPath)) return;\n\t\t\tconst outputHtmlPages = isSingle\n\t\t\t\t? join(buildPath, 'pages')\n\t\t\t\t: join(buildPath, basename(htmlDir), 'pages');\n\n\t\t\tif (shouldCopyHtml) {\n\t\t\t\tmkdirSync(outputHtmlPages, { recursive: true });\n\t\t\t\tcpSync(htmlPagesPath, outputHtmlPages, {\n\t\t\t\t\tforce: true,\n\t\t\t\t\trecursive: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Update asset paths if HTML files changed OR CSS changed\n\t\t\tif (shouldUpdateHtmlAssetPaths) {\n\t\t\t\tawait updateAssetPaths(manifest, outputHtmlPages);\n\t\t\t}\n\n\t\t\t// Add HTML pages to manifest (absolute paths for Bun.file())\n\t\t\tconst htmlPageFiles = await scanEntryPoints(\n\t\t\t\toutputHtmlPages,\n\t\t\t\t'*.html'\n\t\t\t);\n\t\t\tfor (const htmlFile of htmlPageFiles) {\n\t\t\t\tif (hmr) injectHMRIntoHTMLFile(htmlFile, 'html');\n\t\t\t\tconst fileName = basename(htmlFile, '.html');\n\t\t\t\tmanifest[fileName] = htmlFile;\n\t\t\t}\n\t\t})(),\n\t\t(async () => {\n\t\t\tif (!(htmxDir && htmxPagesPath)) return;\n\t\t\tconst outputHtmxPages = isSingle\n\t\t\t\t? join(buildPath, 'pages')\n\t\t\t\t: join(buildPath, basename(htmxDir), 'pages');\n\n\t\t\tif (shouldCopyHtmx) {\n\t\t\t\tmkdirSync(outputHtmxPages, { recursive: true });\n\t\t\t\tcpSync(htmxPagesPath, outputHtmxPages, {\n\t\t\t\t\tforce: true,\n\t\t\t\t\trecursive: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (shouldCopyHtmx) {\n\t\t\t\tconst htmxDestDir = isSingle\n\t\t\t\t\t? buildPath\n\t\t\t\t\t: join(buildPath, basename(htmxDir));\n\n\t\t\t\tmkdirSync(htmxDestDir, { recursive: true });\n\n\t\t\t\tconst glob = new Glob('htmx*.min.js');\n\t\t\t\tfor (const relPath of glob.scanSync({ cwd: htmxDir })) {\n\t\t\t\t\tconst src = join(htmxDir, relPath);\n\t\t\t\t\tconst dest = join(htmxDestDir, 'htmx.min.js');\n\t\t\t\t\tcopyFileSync(src, dest);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Update asset paths if HTMX files changed OR CSS changed\n\t\t\tif (shouldUpdateHtmxAssetPaths) {\n\t\t\t\tawait updateAssetPaths(manifest, outputHtmxPages);\n\t\t\t}\n\n\t\t\t// Add HTMX pages to manifest (absolute paths for Bun.file())\n\t\t\tconst htmxPageFiles = await scanEntryPoints(\n\t\t\t\toutputHtmxPages,\n\t\t\t\t'*.html'\n\t\t\t);\n\t\t\tfor (const htmxFile of htmxPageFiles) {\n\t\t\t\tif (hmr) injectHMRIntoHTMLFile(htmxFile, 'htmx');\n\t\t\t\tconst fileName = basename(htmxFile, '.html');\n\t\t\t\tmanifest[fileName] = htmxFile;\n\t\t\t}\n\t\t})()\n\t]);\n\n\tif (!options?.preserveIntermediateFiles)\n\t\tawait cleanup({\n\t\t\treactIndexesPath,\n\t\t\tsvelteDir,\n\t\t\tvueDir\n\t\t});\n\n\tif (!isIncremental && !options?.injectHMR) {\n\t\tconsole.log(\n\t\t\t`Build completed in ${getDurationString(performance.now() - buildStart)}`\n\t\t);\n\t}\n\n\treturn manifest;\n};\n",
23
24
  "import { extname } from 'node:path';\nimport { BuildArtifact } from 'bun';\nimport { UNFOUND_INDEX } from '../constants';\nimport { normalizePath } from '../utils/normalizePath';\nimport { toPascal } from '../utils/stringModifiers';\n\nexport const generateManifest = (outputs: BuildArtifact[], buildPath: string) =>\n\toutputs.reduce<Record<string, string>>((manifest, artifact) => {\n\t\t// Normalize both paths for consistent comparison across platforms\n\t\tconst normalizedArtifactPath = normalizePath(artifact.path);\n\t\tconst normalizedBuildPath = normalizePath(buildPath);\n\n\t\tlet relative = normalizedArtifactPath.startsWith(normalizedBuildPath)\n\t\t\t? normalizedArtifactPath.slice(normalizedBuildPath.length)\n\t\t\t: normalizedArtifactPath;\n\t\trelative = relative.replace(/^\\/+/, '');\n\n\t\tconst segments = relative.split('/');\n\t\tconst fileWithHash = segments.pop();\n\t\tif (!fileWithHash) return manifest;\n\n\t\tconst [baseName] = fileWithHash.split(`.${artifact.hash}.`);\n\t\tif (!baseName) return manifest;\n\n\t\tconst pascalName = toPascal(baseName);\n\t\tconst ext = extname(fileWithHash);\n\n\t\tif (ext === '.css') {\n\t\t\tmanifest[`${pascalName}CSS`] = `/${relative}`;\n\n\t\t\treturn manifest;\n\t\t}\n\n\t\tconst idx = segments.findIndex(\n\t\t\t(seg) => seg === 'indexes' || seg === 'pages' || seg === 'client'\n\t\t);\n\t\tconst folder = idx > UNFOUND_INDEX ? segments[idx] : segments[0];\n\n\t\t// Detect framework from path segments\n\t\tconst isReact = segments.some((seg) => seg === 'react');\n\t\tconst isVue = segments.some((seg) => seg === 'vue');\n\t\tconst isSvelte = segments.some((seg) => seg === 'svelte');\n\n\t\t// Check if this is a client component (for official HMR)\n\t\tconst isClientComponent = segments.includes('client');\n\n\t\tif (folder === 'indexes') {\n\t\t\tmanifest[`${pascalName}Index`] = `/${relative}`;\n\t\t} else if (isClientComponent) {\n\t\t\t// Client components get {Name}Client key for HMR module imports\n\t\t\tmanifest[`${pascalName}Client`] = `/${relative}`;\n\t\t} else if (folder === 'pages') {\n\t\t\t// Only add \"Page\" suffix for React pages\n\t\t\t// Vue and Svelte pages use their base PascalCase name\n\t\t\tif (isReact) {\n\t\t\t\tmanifest[`${pascalName}Page`] = `/${relative}`;\n\t\t\t} else if (isVue || isSvelte) {\n\t\t\t\t// Vue/Svelte pages use base name without suffix\n\t\t\t\tmanifest[pascalName] = `/${relative}`;\n\t\t\t} else {\n\t\t\t\t// Default behavior for other frameworks\n\t\t\t\tmanifest[`${pascalName}Page`] = `/${relative}`;\n\t\t\t}\n\t\t} else {\n\t\t\tmanifest[pascalName] = `/${relative}`;\n\t\t}\n\n\t\treturn manifest;\n\t}, {});\n",
24
25
  "/**\n * Normalize file paths to use forward slashes for cross-platform compatibility.\n * Windows uses backslashes, but this codebase standardizes on forward slashes.\n */\nexport const normalizePath = (path: string) => path.replace(/\\\\/g, '/');\n\n/**\n * Normalize all paths in an array.\n */\nexport const normalizePaths = (paths: string[]) => paths.map(normalizePath);\n",
25
26
  "import { existsSync } from 'fs';\nimport { mkdir, rm, writeFile } from 'fs/promises';\nimport { basename, join, resolve } from 'path';\nimport { Glob } from 'bun';\n\nconst devClientDir = (() => {\n\tconst fromSource = resolve(import.meta.dir, '../dev/client');\n\tif (existsSync(fromSource)) return fromSource;\n\n\treturn resolve(import.meta.dir, './dev/client');\n})();\n\nconst errorOverlayPath = join(devClientDir, 'errorOverlay.ts').replace(\n\t/\\\\/g,\n\t'/'\n);\n\nconst hmrClientPath = join(devClientDir, 'hmrClient.ts').replace(/\\\\/g, '/');\n\nconst refreshSetupPath = join(devClientDir, 'reactRefreshSetup.ts').replace(\n\t/\\\\/g,\n\t'/'\n);\n\nexport const generateReactIndexFiles = async (\n\treactPagesDirectory: string,\n\treactIndexesDirectory: string,\n\tisDev = false\n) => {\n\tawait rm(reactIndexesDirectory, { force: true, recursive: true });\n\tawait mkdir(reactIndexesDirectory);\n\n\tconst pagesGlob = new Glob('*.*');\n\tconst files: string[] = [];\n\tfor await (const file of pagesGlob.scan({ cwd: reactPagesDirectory })) {\n\t\tfiles.push(file);\n\t}\n\tconst promises = files.map(async (file) => {\n\t\tconst fileName = basename(file);\n\t\tconst [componentName] = fileName.split('.');\n\n\t\tconst hmrPreamble = isDev\n\t\t\t? [\n\t\t\t\t\t`window.__HMR_FRAMEWORK__ = \"react\";`,\n\t\t\t\t\t`window.__REACT_COMPONENT_KEY__ = \"${componentName}Index\";`,\n\t\t\t\t\t`import '${refreshSetupPath}';`,\n\t\t\t\t\t`import '${hmrClientPath}';`,\n\t\t\t\t\t`import { showErrorOverlay, hideErrorOverlay } from '${errorOverlayPath}';\\n`\n\t\t\t\t]\n\t\t\t: [];\n\n\t\tconst reactImports = isDev\n\t\t\t? [\n\t\t\t\t\t`import { hydrateRoot, createRoot } from 'react-dom/client';`,\n\t\t\t\t\t`import { createElement, Component } from 'react';`\n\t\t\t\t]\n\t\t\t: [\n\t\t\t\t\t`import { hydrateRoot, createRoot } from 'react-dom/client';`,\n\t\t\t\t\t`import { createElement } from 'react';`\n\t\t\t\t];\n\n\t\tconst errorBoundaryDef = isDev\n\t\t\t? [\n\t\t\t\t\t`\\n// Dev-only Error Boundary to catch React render errors`,\n\t\t\t\t\t`class ErrorBoundary extends Component {`,\n\t\t\t\t\t`\\tconstructor(props) {`,\n\t\t\t\t\t`\\t\\tsuper(props);`,\n\t\t\t\t\t`\\t\\tthis.state = { hasError: false };`,\n\t\t\t\t\t`\\t\\twindow.__ERROR_BOUNDARY__ = this;`,\n\t\t\t\t\t`\\t}`,\n\t\t\t\t\t`\\tstatic getDerivedStateFromError() {`,\n\t\t\t\t\t`\\t\\treturn { hasError: true };`,\n\t\t\t\t\t`\\t}`,\n\t\t\t\t\t`\\tcomponentDidCatch(error) {`,\n\t\t\t\t\t`\\t\\tshowErrorOverlay({`,\n\t\t\t\t\t`\\t\\t\\tframework: 'react',`,\n\t\t\t\t\t`\\t\\t\\tkind: 'runtime',`,\n\t\t\t\t\t`\\t\\t\\tmessage: error && error.stack ? error.stack : String(error)`,\n\t\t\t\t\t`\\t\\t});`,\n\t\t\t\t\t`\\t}`,\n\t\t\t\t\t`\\tcomponentDidUpdate(prevProps, prevState) {`,\n\t\t\t\t\t`\\t\\tif (prevState.hasError && !this.state.hasError) {`,\n\t\t\t\t\t`\\t\\t\\thideErrorOverlay();`,\n\t\t\t\t\t`\\t\\t}`,\n\t\t\t\t\t`\\t}`,\n\t\t\t\t\t`\\treset() {`,\n\t\t\t\t\t`\\t\\tthis.setState({ hasError: false });`,\n\t\t\t\t\t`\\t}`,\n\t\t\t\t\t`\\trender() {`,\n\t\t\t\t\t`\\t\\tif (this.state.hasError) return null;`,\n\t\t\t\t\t``,\n\t\t\t\t\t`\\t\\treturn this.props.children;`,\n\t\t\t\t\t`\\t}`,\n\t\t\t\t\t`}\\n`\n\t\t\t\t]\n\t\t\t: [];\n\n\t\tconst content = [\n\t\t\t...hmrPreamble,\n\t\t\t...reactImports,\n\t\t\t`import type { ComponentType } from 'react'`,\n\t\t\t`import { ${componentName} } from '../pages/${componentName}';\\n`,\n\t\t\t`type PropsOf<C> = C extends ComponentType<infer P> ? P : never;\\n`,\n\t\t\t`declare global {`,\n\t\t\t`\\tinterface Window {`,\n\t\t\t`\\t\\t__INITIAL_PROPS__?: PropsOf<typeof ${componentName}>`,\n\t\t\t`\\t\\t__REACT_ROOT__?: ReturnType<typeof hydrateRoot | typeof createRoot>`,\n\t\t\t`\\t\\t__HMR_CLIENT_ONLY_MODE__?: boolean`,\n\t\t\t`\\t}`,\n\t\t\t`}\\n`,\n\t\t\t...errorBoundaryDef,\n\t\t\t`// Hydration with error handling and fallback`,\n\t\t\t`const isDev = ${isDev};`,\n\t\t\t`const componentPath = '../pages/${componentName}';\\n`,\n\t\t\t`function isHydrationError(error) {`,\n\t\t\t`\\tif (!error) return false;`,\n\t\t\t`\\tconst errorMessage = error instanceof Error ? error.message : String(error);`,\n\t\t\t`\\tconst errorString = String(error);`,\n\t\t\t`\\tconst fullMessage = errorMessage + ' ' + errorString;`,\n\t\t\t`\\tconst hydrationKeywords = ['hydration', 'Hydration', 'mismatch', 'Mismatch', 'did not match', 'server rendered HTML', 'server HTML', 'client HTML', 'Hydration failed'];`,\n\t\t\t`\\tconst isHydration = hydrationKeywords.some(keyword => fullMessage.includes(keyword));`,\n\t\t\t`\\t`,\n\t\t\t`\\t// Ignore whitespace-only mismatches in <head> - these are harmless formatting differences`,\n\t\t\t`\\t// The error often shows: + <link...> vs - {\"\\\\n \"} which is just formatting`,\n\t\t\t`\\tif (isHydration) {`,\n\t\t\t`\\t\\t// Check if this is a head/link/stylesheet related mismatch`,\n\t\t\t`\\t\\tconst isHeadRelated = fullMessage.includes('<head') || fullMessage.includes('</head>') || fullMessage.includes('head>') || fullMessage.includes('<link') || fullMessage.includes('link>') || fullMessage.includes('stylesheet') || fullMessage.includes('fonts.googleapis') || fullMessage.includes('rel=\"stylesheet\"');`,\n\t\t\t`\\t\\t`,\n\t\t\t`\\t\\t// Check if the mismatch involves only whitespace/newlines`,\n\t\t\t`\\t\\t// Pattern: looks for {\"\\\\n\"} or {\"\\\\n \"} or similar whitespace-only content`,\n\t\t\t`\\t\\t// Also check for patterns like: - {\"\\\\n \"} or + <link...>`,\n\t\t\t`\\t\\tconst hasWhitespacePattern = /\\\\{\\\\s*[\"']\\\\\\\\n[^\"']*[\"']\\\\s*\\\\}/.test(fullMessage) || /\\\\{\\\\s*[\"'][\\\\\\\\n\\\\\\\\r\\\\\\\\s]+[\"']\\\\s*\\\\}/.test(fullMessage) || /-\\\\s*\\\\{\\\\s*[\"'][\\\\\\\\n\\\\\\\\r\\\\\\\\s]+[\"']\\\\s*\\\\}/.test(fullMessage);`,\n\t\t\t`\\t\\tconst isWhitespaceOnly = /^[\\\\s\\\\n\\\\r]*$/.test(errorString) || /^[\\\\s\\\\n\\\\r]*$/.test(errorMessage);`,\n\t\t\t`\\t\\tconst hasNewlinePattern = fullMessage.includes('\\\\\\\\n') || fullMessage.includes('\\\\\\\\r') || fullMessage.includes('\\\\n') || fullMessage.includes('\\\\r');`,\n\t\t\t`\\t\\t`,\n\t\t\t`\\t\\t// If it's head-related and involves whitespace/newlines, ignore it`,\n\t\t\t`\\t\\tif (isHeadRelated && (hasWhitespacePattern || isWhitespaceOnly || hasNewlinePattern)) {`,\n\t\t\t`\\t\\t\\treturn false; // Don't treat whitespace-only head mismatches as errors`,\n\t\t\t`\\t\\t}`,\n\t\t\t`\\t}`,\n\t\t\t`\\treturn isHydration;`,\n\t\t\t`}\\n`,\n\t\t\t`function logHydrationError(error, componentName) {`,\n\t\t\t`\\tif (!isDev) return;`,\n\t\t\t`\\tif (window.__HMR_WS__ && window.__HMR_WS__.readyState === WebSocket.OPEN) {`,\n\t\t\t`\\t\\ttry {`,\n\t\t\t`\\t\\t\\twindow.__HMR_WS__.send(JSON.stringify({`,\n\t\t\t`\\t\\t\\t\\ttype: 'hydration-error',`,\n\t\t\t`\\t\\t\\t\\tdata: {`,\n\t\t\t`\\t\\t\\t\\t\\tcomponentName: '${componentName}',`,\n\t\t\t`\\t\\t\\t\\t\\tcomponentPath: componentPath,`,\n\t\t\t`\\t\\t\\t\\t\\terror: error instanceof Error ? error.message : String(error),`,\n\t\t\t`\\t\\t\\t\\t\\ttimestamp: Date.now()`,\n\t\t\t`\\t\\t\\t\\t}`,\n\t\t\t`\\t\\t\\t}));`,\n\t\t\t`\\t\\t} catch (err) {}`,\n\t\t\t`\\t}`,\n\t\t\t`}\\n`,\n\t\t\t`// Track if we've already switched to client-only mode`,\n\t\t\t`let hasSwitchedToClientOnly = false;`,\n\t\t\t`let hydrationErrorDetected = false;\\n`,\n\t\t\t`function handleHydrationFallback(error) {`,\n\t\t\t`\\tif (hasSwitchedToClientOnly) return; // Already handled`,\n\t\t\t`\\thasSwitchedToClientOnly = true;`,\n\t\t\t`\\thydrationErrorDetected = true;\\n`,\n\t\t\t`\\tlogHydrationError(error, '${componentName}');\\n`,\n\t\t\t`\\t// Fallback: client-only render (no hydration)`,\n\t\t\t`\\ttry {`,\n\t\t\t`\\t\\t// Unmount existing root if it exists`,\n\t\t\t`\\t\\tif (window.__REACT_ROOT__ && typeof window.__REACT_ROOT__.unmount === 'function') {`,\n\t\t\t`\\t\\t\\ttry {`,\n\t\t\t`\\t\\t\\twindow.__REACT_ROOT__.unmount();`,\n\t\t\t`\\t\\t\\t} catch (e) {`,\n\t\t\t`\\t\\t\\t\\t// Ignore unmount errors`,\n\t\t\t`\\t\\t\\t}`,\n\t\t\t`\\t\\t}\\n`,\n\t\t\t`\\t\\t// Render into the same root container when falling back to client-only`,\n\t\t\t`\\t\\tconst root = createRoot(container);`,\n\t\t\t`\\t\\troot.render(${isDev ? `createElement(ErrorBoundary, null, createElement(${componentName}, mergedProps))` : `createElement(${componentName}, mergedProps)`});`,\n\t\t\t`\\t\\twindow.__REACT_ROOT__ = root;`,\n\t\t\t`\\t\\twindow.__HMR_CLIENT_ONLY_MODE__ = true;`,\n\t\t\t`\\t} catch (fallbackError) {`,\n\t\t\t`\\t\\twindow.location.reload();`,\n\t\t\t`\\t}`,\n\t\t\t`}\\n`,\n\t\t\t`// HMR State Preservation: Check for preserved state and merge with initial props`,\n\t\t\t`// This allows state to be preserved across HMR updates without modifying component files`,\n\t\t\t`let preservedState = (typeof window !== 'undefined' && window.__HMR_PRESERVED_STATE__) ? window.__HMR_PRESERVED_STATE__ : {};\\n`,\n\t\t\t`// Also check sessionStorage for state that survived a page reload (for React HMR)`,\n\t\t\t`if (typeof window !== 'undefined' && typeof sessionStorage !== 'undefined') {`,\n\t\t\t`\\tconst hmrStateJson = sessionStorage.getItem('__REACT_HMR_STATE__');`,\n\t\t\t`\\tif (hmrStateJson) {`,\n\t\t\t`\\t\\ttry {`,\n\t\t\t`\\t\\t\\tconst hmrState = JSON.parse(hmrStateJson);`,\n\t\t\t`\\t\\t\\tpreservedState = { ...preservedState, ...hmrState };`,\n\t\t\t`\\t\\t\\tsessionStorage.removeItem('__REACT_HMR_STATE__');`,\n\t\t\t`\\t\\t} catch (e) {}`,\n\t\t\t`\\t}`,\n\t\t\t`}\\n`,\n\t\t\t`const mergedProps = { ...(window.__INITIAL_PROPS__ || {}), ...preservedState };`,\n\t\t\t`// Clear preserved state after using it (so it doesn't persist across multiple updates)`,\n\t\t\t`if (typeof window !== 'undefined') {`,\n\t\t\t`\\twindow.__HMR_PRESERVED_STATE__ = undefined;`,\n\t\t\t`}\\n`,\n\t\t\t`// Attempt hydration with error handling`,\n\t\t\t`// Use document (not document.body) when the page renders <html><head><body>`,\n\t\t\t`// to avoid \"In HTML, <html> cannot be a child of <body>\" hydration error`,\n\t\t\t`const container = typeof document !== 'undefined' ? document : null;`,\n\t\t\t`if (!container) {`,\n\t\t\t`\\tthrow new Error('React root container not found: document is null');`,\n\t\t\t`}\\n`,\n\t\t\t`// Guard: only hydrate on first load. During HMR re-imports, skip hydration`,\n\t\t\t`// so React Fast Refresh can swap components in-place and preserve state.`,\n\t\t\t`if (!window.__REACT_ROOT__) {`,\n\t\t\t`\\tlet root;`,\n\t\t\t`\\ttry {`,\n\t\t\t`\\t\\t// Use onRecoverableError to catch hydration errors (React 19)`,\n\t\t\t`\\t\\troot = hydrateRoot(`,\n\t\t\t`\\t\\t\\tcontainer,`,\n\t\t\t`\\t\\t\\t${isDev ? `createElement(ErrorBoundary, null, createElement(${componentName}, mergedProps))` : `createElement(${componentName}, mergedProps)`},`,\n\t\t\t`\\t\\t\\t{`,\n\t\t\t`\\t\\t\\t\\tonRecoverableError: (error) => {`,\n\t\t\t`\\t\\t\\t\\t\\t// Check if this is a hydration error (isHydrationError filters out whitespace-only head mismatches)`,\n\t\t\t`\\t\\t\\t\\t\\tif (isDev && isHydrationError(error)) {`,\n\t\t\t`\\t\\t\\t\\t\\t\\t// Real hydration error - handle it`,\n\t\t\t`\\t\\t\\t\\t\\t\\thandleHydrationFallback(error);`,\n\t\t\t`\\t\\t\\t\\t\\t} else {`,\n\t\t\t`\\t\\t\\t\\t\\t\\t// Not a hydration error, or it's a whitespace-only mismatch that was filtered out`,\n\t\t\t`\\t\\t\\t\\t\\t\\t// Check if it's a whitespace-only head mismatch using the same logic as isHydrationError`,\n\t\t\t`\\t\\t\\t\\t\\t\\tconst errorMessage = error instanceof Error ? error.message : String(error);`,\n\t\t\t`\\t\\t\\t\\t\\t\\tconst errorString = String(error);`,\n\t\t\t`\\t\\t\\t\\t\\t\\tconst fullMessage = errorMessage + ' ' + errorString;`,\n\t\t\t`\\t\\t\\t\\t\\t\\tconst hydrationKeywords = ['hydration', 'Hydration', 'mismatch', 'Mismatch', 'did not match', 'server rendered HTML', 'server HTML', 'client HTML', 'Hydration failed'];`,\n\t\t\t`\\t\\t\\t\\t\\t\\tconst isHydration = hydrationKeywords.some(keyword => fullMessage.includes(keyword));`,\n\t\t\t`\\t\\t\\t\\t\\t\\tif (isHydration) {`,\n\t\t\t`\\t\\t\\t\\t\\t\\t\\t// Check if this is a head/link/stylesheet related mismatch`,\n\t\t\t`\\t\\t\\t\\t\\t\\t\\tconst isHeadRelated = fullMessage.includes('<head') || fullMessage.includes('</head>') || fullMessage.includes('head>') || fullMessage.includes('<link') || fullMessage.includes('link>') || fullMessage.includes('stylesheet') || fullMessage.includes('fonts.googleapis') || fullMessage.includes('rel=\"stylesheet\"');`,\n\t\t\t`\\t\\t\\t\\t\\t\\t\\t// Check if the mismatch involves only whitespace/newlines`,\n\t\t\t`\\t\\t\\t\\t\\t\\t\\tconst hasWhitespacePattern = /\\\\{\\\\s*[\"']\\\\\\\\n[^\"']*[\"']\\\\s*\\\\}/.test(fullMessage) || /\\\\{\\\\s*[\"'][\\\\\\\\n\\\\\\\\r\\\\\\\\s]+[\"']\\\\s*\\\\}/.test(fullMessage) || /-\\\\s*\\\\{\\\\s*[\"'][\\\\\\\\n\\\\\\\\r\\\\\\\\s]+[\"']\\\\s*\\\\}/.test(fullMessage);`,\n\t\t\t`\\t\\t\\t\\t\\t\\t\\tconst isWhitespaceOnly = /^[\\\\s\\\\n\\\\r]*$/.test(errorString) || /^[\\\\s\\\\n\\\\r]*$/.test(errorMessage);`,\n\t\t\t`\\t\\t\\t\\t\\t\\t\\tconst hasNewlinePattern = fullMessage.includes('\\\\\\\\n') || fullMessage.includes('\\\\\\\\r') || fullMessage.includes('\\\\n') || fullMessage.includes('\\\\r');`,\n\t\t\t`\\t\\t\\t\\t\\t\\t\\t// If it's head-related and involves whitespace/newlines, silently ignore it`,\n\t\t\t`\\t\\t\\t\\t\\t\\t\\tif (isHeadRelated && (hasWhitespacePattern || isWhitespaceOnly || hasNewlinePattern)) {`,\n\t\t\t`\\t\\t\\t\\t\\t\\t\\t\\t// Already logged by isHydrationError, just return silently`,\n\t\t\t`\\t\\t\\t\\t\\t\\t\\t\\treturn;`,\n\t\t\t`\\t\\t\\t\\t\\t\\t\\t}`,\n\t\t\t`\\t\\t\\t\\t\\t\\t}`,\n\t\t\t`\\t\\t\\t\\t\\t\\t// Log other recoverable errors`,\n\t\t\t`\\t\\t\\t\\t\\t\\tconsole.error('React recoverable error:', error);`,\n\t\t\t`\\t\\t\\t\\t\\t}`,\n\t\t\t`\\t\\t\\t\\t}`,\n\t\t\t`\\t\\t\\t}`,\n\t\t\t`\\t\\t);`,\n\t\t\t`\\t\\twindow.__REACT_ROOT__ = root;`,\n\t\t\t`\\t} catch (error) {`,\n\t\t\t`\\t\\t// Catch synchronous errors (shouldn't happen with hydrateRoot, but safety net)`,\n\t\t\t`\\t\\tif (isDev && isHydrationError(error)) {`,\n\t\t\t`\\t\\t\\thandleHydrationFallback(error);`,\n\t\t\t`\\t\\t} else {`,\n\t\t\t`\\t\\t\\tthrow error;`,\n\t\t\t`\\t\\t}`,\n\t\t\t`\\t}\\n`,\n\t\t\t`\\t// Also listen for hydration errors via console.error (React logs them there)`,\n\t\t\t`\\tif (isDev) {`,\n\t\t\t`\\t\\tconst originalError = console.error;`,\n\t\t\t`\\t\\tconsole.error = function(...args) {`,\n\t\t\t`\\t\\t\\tconst errorMessage = args.map(arg => {`,\n\t\t\t`\\t\\t\\t\\tif (arg instanceof Error) return arg.message;`,\n\t\t\t`\\t\\t\\t\\treturn String(arg);`,\n\t\t\t`\\t\\t\\t}).join(' ');`,\n\t\t\t`\\t\\t\\t`,\n\t\t\t`\\t\\t\\t// Check if this is a hydration error`,\n\t\t\t`\\t\\t\\tif (isHydrationError({ message: errorMessage }) && !hydrationErrorDetected) {`,\n\t\t\t`\\t\\t\\t\\thydrationErrorDetected = true;`,\n\t\t\t`\\t\\t\\t\\t// Create a synthetic error for fallback`,\n\t\t\t`\\t\\t\\t\\tconst syntheticError = new Error(errorMessage);`,\n\t\t\t`\\t\\t\\t\\t// Use setTimeout to ensure this happens after React's error handling`,\n\t\t\t`\\t\\t\\t\\tsetTimeout(() => {`,\n\t\t\t`\\t\\t\\t\\t\\thandleHydrationFallback(syntheticError);`,\n\t\t\t`\\t\\t\\t\\t}, 0);`,\n\t\t\t`\\t\\t\\t}`,\n\t\t\t`\\t\\t\\t`,\n\t\t\t`\\t\\t\\t// Call original console.error`,\n\t\t\t`\\t\\t\\toriginalError.apply(console, args);`,\n\t\t\t`\\t\\t};`,\n\t\t\t`\\t}`,\n\t\t\t`}`\n\t\t].join('\\n');\n\n\t\treturn writeFile(\n\t\t\tjoin(reactIndexesDirectory, `${componentName}.tsx`),\n\t\t\tcontent\n\t\t);\n\t});\n\tawait Promise.all(promises);\n\n\t// Generate a dummy entry that imports React so code splitting extracts\n\t// React into a shared chunk. This lets HMR re-import component entries\n\t// without creating a duplicate React instance.\n\tif (isDev) {\n\t\tawait writeFile(\n\t\t\tjoin(reactIndexesDirectory, '_refresh.tsx'),\n\t\t\t`import 'react';\\nimport 'react-dom/client';\\n`\n\t\t);\n\t}\n};\n",
@@ -51,7 +52,7 @@
51
52
  "import { resolve } from 'node:path';\n\n/* Component classification for React Fast Refresh\n Distinguishes between Client Components and Server Components */\nexport type ComponentType = 'client' | 'server';\n\n/* Classify a React component file as either 'client' or 'server'\n \n Rules:\n - Files in /react/pages/ → 'server' (Server Components - rendered on server)\n - Files in /react/components/ → 'client' (Client Components - client-only)\n - Files in /react/composables/ → 'client' (Client Components - client-only)\n - All other React files → 'client' (default to client for safety)\n \n This classification determines how HMR updates are handled:\n - Server Components: Re-render on server, send flight data, patch DOM\n - Client Components: Hot-replace module, re-render in client tree\n*/\nexport const classifyComponent = (filePath: string) => {\n\tconst normalizedPath = resolve(filePath);\n\n\t// Server Components: Pages are rendered on the server\n\tif (normalizedPath.includes('/react/pages/')) {\n\t\treturn 'server';\n\t}\n\n\t// Client Components: Components and composables are client-only\n\tif (\n\t\tnormalizedPath.includes('/react/components/') ||\n\t\tnormalizedPath.includes('/react/composables/')\n\t) {\n\t\treturn 'client';\n\t}\n\n\t// Default to 'client' for any other React files\n\t// This is safer than defaulting to 'server' because client components\n\t// can always be hot-replaced, but server components require special handling\n\treturn 'client';\n};\n",
52
53
  "import type { HMRState } from './clientManager';\nimport { serializeModuleVersions } from './moduleVersionTracker';\nimport type { HMRWebSocket } from '../../types/websocket';\nimport { WS_READY_STATE_OPEN } from '../../types/websocket';\nimport type { HMRClientMessage } from '../../types/messages';\nimport { isValidHMRClientMessage } from '../../types/messages';\n\n/* Magic pt. 2 - when a browser connects to our WebSocket\n We send them the current manifest so they know what files exist\n Like giving them a menu of all the dishes we can serve */\nexport const handleClientConnect = (\n\tstate: HMRState,\n\tclient: HMRWebSocket,\n\tmanifest: Record<string, string>\n) => {\n\tstate.connectedClients.add(client);\n\n\t// Send them the current state of the menu (manifest) and module versions\n\tconst serverVersions = serializeModuleVersions(state.moduleVersions);\n\tclient.send(\n\t\tJSON.stringify({\n\t\t\tdata: {\n\t\t\t\tmanifest,\n\t\t\t\tserverVersions\n\t\t\t},\n\t\t\ttimestamp: Date.now(),\n\t\t\ttype: 'manifest'\n\t\t})\n\t);\n\n\t// And confirm they're connected\n\tclient.send(\n\t\tJSON.stringify({\n\t\t\tmessage: 'HMR client connected successfully',\n\t\t\ttimestamp: Date.now(),\n\t\t\ttype: 'connected'\n\t\t})\n\t);\n};\n\n/* When a client disconnects, remove them from our tracking\n This prevents memory leaks and keeps our client list clean */\nexport const handleClientDisconnect = (\n\tstate: HMRState,\n\tclient: HMRWebSocket\n) => {\n\tstate.connectedClients.delete(client);\n};\n\n/* Handle messages from clients - they might ping us or request rebuilds\n We need to handle different message types because WebSocket is just a pipe/stream */\nexport const handleHMRMessage = (\n\tstate: HMRState,\n\tclient: HMRWebSocket,\n\tmessage: unknown\n) => {\n\ttry {\n\t\t/* WebSocket messages can come in different formats\n sometimes they're strings, sometimes they're Buffers, sometimes they're objects...\n we need to handle all of them because JavaScript is weird like that */\n\t\tlet parsedData: unknown;\n\n\t\tif (typeof message === 'string') {\n\t\t\tparsedData = JSON.parse(message);\n\t\t} else if (message instanceof Buffer) {\n\t\t\tparsedData = JSON.parse(message.toString());\n\t\t} else if (message instanceof ArrayBuffer) {\n\t\t\tparsedData = JSON.parse(\n\t\t\t\tnew TextDecoder().decode(new Uint8Array(message))\n\t\t\t);\n\t\t} else if (ArrayBuffer.isView(message)) {\n\t\t\tparsedData = JSON.parse(\n\t\t\t\tnew TextDecoder().decode(message as Uint8Array)\n\t\t\t);\n\t\t} else if (typeof message === 'object' && message !== null) {\n\t\t\t// Message is already an object - no parsing needed\n\t\t\tparsedData = message;\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isValidHMRClientMessage(parsedData)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst data: HMRClientMessage = parsedData;\n\n\t\tswitch (data.type) {\n\t\t\tcase 'ping':\n\t\t\t\t// Client is checking if we're alive - respond with pong\n\t\t\t\tclient.send(\n\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t\ttype: 'pong'\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase 'request-rebuild':\n\t\t\t\t// Note: triggerRebuild would be called from outside\n\t\t\t\tbreak;\n\n\t\t\tcase 'ready':\n\t\t\t\tbreak;\n\n\t\t\tcase 'hydration-error':\n\t\t\t\tbreak;\n\t\t}\n\t} catch {}\n};\n\n/* Send messages to all connected WebSocket clients\n this is how we notify browsers when files change */\nexport const broadcastToClients = (\n\tstate: HMRState,\n\tmessage: { type: string; [key: string]: any }\n) => {\n\tconst messageStr = JSON.stringify({\n\t\t...message,\n\t\ttimestamp: Date.now()\n\t});\n\n\tlet sentCount = 0;\n\tconst clientsToRemove: HMRWebSocket[] = [];\n\n\tfor (const client of state.connectedClients) {\n\t\tif (client.readyState === WS_READY_STATE_OPEN) {\n\t\t\ttry {\n\t\t\t\tclient.send(messageStr);\n\t\t\t\tsentCount++;\n\t\t\t} catch {\n\t\t\t\tclientsToRemove.push(client);\n\t\t\t}\n\t\t} else {\n\t\t\t// Mark closed clients for removal\n\t\t\tclientsToRemove.push(client);\n\t\t}\n\t}\n\n\t// Remove closed/failed clients\n\tfor (const client of clientsToRemove) {\n\t\tstate.connectedClients.delete(client);\n\t}\n};\n",
53
54
  "const isWrapped = (\n\tsource: Record<string, string> | { manifest: Record<string, string> }\n): source is { manifest: Record<string, string> } =>\n\t'manifest' in source &&\n\ttypeof source.manifest === 'object' &&\n\t!Array.isArray(source.manifest);\n\nexport const asset = (\n\tsource: Record<string, string> | { manifest: Record<string, string> },\n\tname: string\n) => {\n\tconst assetPath = isWrapped(source) ? source.manifest[name] : source[name];\n\n\tif (assetPath === undefined) {\n\t\tthrow new Error(`Asset \"${name}\" not found in manifest.`);\n\t}\n\n\treturn assetPath;\n};\n",
54
- "export * from './build';\nexport * from './devBuild';\nexport * from './lookup';\nexport * from './pageHandlers';\n",
55
+ "import { file } from 'bun';\n\nexport const handleHTMLPageRequest = (pagePath: string) => file(pagePath);\n\nexport const handleHTMXPageRequest = (pagePath: string) => file(pagePath);\n",
55
56
  "export const pageRouterPlugin = () => {\n\tconsole.log('Page Router Plugin Not Implemented Yet');\n};\n",
56
57
  "import Elysia from 'elysia';\nimport { HMRState } from '../dev/clientManager';\nimport { getMimeType, lookupAsset } from '../dev/assetStore';\nimport {\n\thandleClientConnect,\n\thandleClientDisconnect,\n\thandleHMRMessage\n} from '../dev/webSocket';\n\nconst STORE_KEY = '__elysiaStore';\n\n/* Preserve Elysia store across bun --hot reloads.\n globalThis survives re-evaluation, so we save the store reference\n before each reload and restore values into the fresh instance. */\nconst restoreStore = (app: Elysia) => {\n\tconst saved = (globalThis as Record<string, unknown>)[STORE_KEY] as\n\t\t| Record<string, unknown>\n\t\t| undefined;\n\n\tif (saved) {\n\t\tconst store = app.store as Record<string, unknown>;\n\t\tfor (const key of Object.keys(saved)) {\n\t\t\tstore[key] = saved[key];\n\t\t}\n\t}\n\n\t(globalThis as Record<string, unknown>)[STORE_KEY] = app.store;\n};\n\n/* HMR plugin for Elysia\n Adds WebSocket endpoint and status endpoint.\n HMR client code is baked into framework index files (React/Svelte/Vue)\n and injected into HTML/HTMX files at build time.\n Also preserves Elysia store state across hot reloads. */\nexport const hmr = (hmrState: HMRState, manifest: Record<string, string>) => {\n\treturn (app: Elysia) => {\n\t\trestoreStore(app);\n\n\t\treturn app\n\t\t\t.onBeforeHandle(({ request }) => {\n\t\t\t\t/* Fast path: only parse URL for requests that could be assets.\n\t\t\t\t Asset paths always start with / and contain a dot (extension).\n\t\t\t\t Skip API routes, WebSocket upgrades, and page navigations. */\n\t\t\t\tconst rawUrl = request.url;\n\t\t\t\tconst qIdx = rawUrl.indexOf('?');\n\t\t\t\tconst pathEnd = qIdx === -1 ? rawUrl.length : qIdx;\n\t\t\t\t/* URL is absolute (http://host/path), find the path portion */\n\t\t\t\tconst pathStart = rawUrl.indexOf('/', rawUrl.indexOf('//') + 2);\n\t\t\t\tconst pathname = rawUrl.slice(pathStart, pathEnd);\n\n\t\t\t\tconst bytes = lookupAsset(hmrState.assetStore, pathname);\n\t\t\t\tif (bytes) {\n\t\t\t\t\treturn new Response(new Uint8Array(bytes).buffer, {\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Cache-Control':\n\t\t\t\t\t\t\t\t'public, max-age=31536000, immutable',\n\t\t\t\t\t\t\t'Content-Type': getMimeType(pathname)\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.ws('/hmr', {\n\t\t\t\tclose: (ws) => handleClientDisconnect(hmrState, ws),\n\t\t\t\tmessage: (ws, msg) => handleHMRMessage(hmrState, ws, msg),\n\t\t\t\topen: (ws) => handleClientConnect(hmrState, ws, manifest)\n\t\t\t})\n\t\t\t.get('/hmr-status', () => ({\n\t\t\t\tconnectedClients: hmrState.connectedClients.size,\n\t\t\t\tisRebuilding: hmrState.isRebuilding,\n\t\t\t\tmanifestKeys: Object.keys(manifest),\n\t\t\t\trebuildQueue: Array.from(hmrState.rebuildQueue),\n\t\t\t\ttimestamp: Date.now()\n\t\t\t}));\n\t};\n};\n",
57
58
  "import { argv } from 'node:process';\nimport { env } from 'bun';\nimport { Elysia } from 'elysia';\nimport { DEFAULT_PORT } from '../constants';\nimport { getLocalIPAddress } from '../utils/networking';\nimport { logger } from '../utils/logger';\n\nlet host = env.HOST ?? 'localhost';\nconst port = env.PORT ?? DEFAULT_PORT;\nlet localIP: string | undefined;\n\nconst args = argv;\nconst hostFlag = args.includes('--host');\n\nif (hostFlag) {\n\tlocalIP = getLocalIPAddress();\n\thost = '0.0.0.0';\n}\n\nexport const networking = (app: Elysia) =>\n\tapp.listen(\n\t\t{\n\t\t\thostname: host,\n\t\t\tport: port\n\t\t},\n\t\t() => {\n\t\t\t// Skip logging on Bun --hot reloads (HMR handles its own output)\n\t\t\tconst isHotReload = !!(globalThis as Record<string, unknown>)\n\t\t\t\t.__hmrServerStartup;\n\t\t\t(globalThis as Record<string, unknown>).__hmrServerStartup = true;\n\t\t\tif (isHotReload) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst buildDuration =\n\t\t\t\t((globalThis as Record<string, unknown>).__hmrBuildDuration as\n\t\t\t\t\t| number\n\t\t\t\t\t| undefined) ?? 0;\n\n\t\t\tconst version =\n\t\t\t\t((globalThis as Record<string, unknown>).__absoluteVersion as\n\t\t\t\t\t| string\n\t\t\t\t\t| undefined) ?? '';\n\n\t\t\tlogger.ready({\n\t\t\t\tduration: buildDuration,\n\t\t\t\thost,\n\t\t\t\tnetworkUrl: hostFlag ? `http://${localIP}:${port}/` : undefined,\n\t\t\t\tport,\n\t\t\t\tversion\n\t\t\t});\n\t\t}\n\t);\n",
@@ -60,7 +61,7 @@
60
61
  "/**\n * Utility for registering client-side scripts that need to run after Angular SSR hydration.\n *\n * This is necessary because Angular's lifecycle hooks don't always run reliably on the client\n * after SSR hydration, especially for event listeners attached to DOM elements.\n *\n * Usage in Angular components:\n * ```typescript\n * import { registerClientScript } from '@absolutejs/absolute';\n *\n * // Register an event listener script\n * registerClientScript(() => {\n * const element = document.querySelector('.my-element');\n * if (element) {\n * element.addEventListener('click', () => {\n * console.log('Clicked!');\n * });\n * }\n * });\n * ```\n *\n * The script will be automatically injected into the HTML response and executed on the client.\n */\n\n// Request-scoped registry for client scripts\n// Each request gets its own set of scripts to inject\nconst scriptRegistry = new Map<string, Set<() => void>>();\n\n// Generate a unique request ID for tracking scripts per request\nlet requestCounter = 0;\nconst getRequestId = () => `req_${Date.now()}_${++requestCounter}`;\n\n/**\n * Register a client-side script to be injected into the HTML response.\n *\n * @param script - A function containing the client-side code to execute\n * @param requestId - Optional request ID. If not provided, uses the current request context.\n * @returns The request ID for this script registration\n */\nexport const registerClientScript = (\n\tscript: () => void,\n\trequestId?: string\n) => {\n\t// If no requestId provided, try to get it from global context (set by page handler during SSR)\n\tconst id =\n\t\trequestId ||\n\t\t(globalThis as any).__absolutejs_requestId ||\n\t\tgetRequestId();\n\n\tif (!scriptRegistry.has(id)) {\n\t\tscriptRegistry.set(id, new Set());\n\t}\n\n\tscriptRegistry.get(id)!.add(script);\n\n\treturn id;\n};\n\n// Make registerClientScript available globally during SSR for Angular components\n// Using type assertion for globalThis extension\nif (typeof globalThis !== 'undefined') {\n\t(\n\t\tglobalThis as {\n\t\t\tregisterClientScript?: (script: () => void) => string;\n\t\t}\n\t).registerClientScript = registerClientScript;\n}\n\n/**\n * Get all registered scripts for a request and clear them.\n * This is called by the page handler after rendering.\n *\n * @param requestId - The request ID to get scripts for\n * @returns Array of script functions, or empty array if none registered\n */\nexport const getAndClearClientScripts = (requestId: string) => {\n\tconst scripts = scriptRegistry.get(requestId);\n\tif (!scripts) {\n\t\treturn [];\n\t}\n\n\tconst scriptArray = Array.from(scripts);\n\tscriptRegistry.delete(requestId);\n\n\treturn scriptArray;\n};\n\n/**\n * Generate JavaScript code from registered scripts.\n * Wraps each script in an IIFE and combines them.\n *\n * @param scripts - Array of script functions\n * @returns JavaScript code string to inject\n */\nexport const generateClientScriptCode = (scripts: (() => void)[]) => {\n\tif (scripts.length === 0) {\n\t\treturn '';\n\t}\n\n\t// Convert functions to strings and wrap in IIFE\n\tconst scriptCode = scripts\n\t\t.map((script, index) => {\n\t\t\t// Get the function body as a string\n\t\t\tconst funcString = script.toString();\n\n\t\t\t// Extract the body (everything between { and })\n\t\t\tconst bodyMatch = funcString.match(/\\{([\\s\\S]*)\\}/);\n\t\t\tif (!bodyMatch || !bodyMatch[1]) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tconst body = bodyMatch[1].trim();\n\n\t\t\t// Wrap in IIFE with retry logic for DOM readiness\n\t\t\treturn `\n\t(function() {\n\t\tfunction executeScript_${index}() {\n\t\t\t${body}\n\t\t}\n\t\t\n\t\t// Try executing immediately if DOM is ready\n\t\tif (document.readyState === 'complete' || document.readyState === 'interactive') {\n\t\t\texecuteScript_${index}();\n\t\t} else {\n\t\t\tdocument.addEventListener('DOMContentLoaded', executeScript_${index});\n\t\t}\n\t\t\n\t\t// Also try with delays to ensure element is available after hydration\n\t\tsetTimeout(executeScript_${index}, 100);\n\t\tsetTimeout(executeScript_${index}, 300);\n\t\tsetTimeout(executeScript_${index}, 500);\n\t\tsetTimeout(executeScript_${index}, 1000);\n\t\t\n\t\t// Fallback on window load\n\t\twindow.addEventListener('load', executeScript_${index});\n\t})();`;\n\t\t})\n\t\t.join('\\n');\n\n\treturn `<script>\n(function() {\n${scriptCode}\n})();\n</script>`;\n};\n\n/**\n * Clear all registered scripts (useful for cleanup or testing)\n */\nexport const clearAllClientScripts = () => {\n\tscriptRegistry.clear();\n};\n",
61
62
  "/**\n * Type-safe helper to get the registerClientScript function during SSR.\n *\n * This function safely accesses the global registerClientScript that's made\n * available during Angular SSR rendering. It returns null if not available\n * (e.g., when running outside of SSR context).\n *\n * @returns The registerClientScript function if available, null otherwise\n */\nexport const getRegisterClientScript = () => {\n\t// Type-safe access to global registerClientScript\n\tconst globalRegister = (\n\t\tglobalThis as {\n\t\t\tregisterClientScript?: (script: () => void) => string;\n\t\t}\n\t).registerClientScript;\n\n\tif (globalRegister && typeof globalRegister === 'function') {\n\t\treturn globalRegister;\n\t}\n\n\treturn null;\n};\n"
62
63
  ],
63
- "mappings": "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",
64
- "debugId": "A1A92847E82134CE64756E2164756E21",
64
+ "mappings": "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",
65
+ "debugId": "05B6DFB97B78673E64756E2164756E21",
65
66
  "names": []
66
67
  }