@absolutejs/absolute 0.15.6 → 0.15.8

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.
@@ -1,11 +1,13 @@
1
1
  {
2
- "permissions": {
3
- "allow": [
4
- "WebSearch",
5
- "WebFetch(domain:bun.com)",
6
- "WebFetch(domain:github.com)",
7
- "Bash(bun run typecheck:*)",
8
- "WebFetch(domain:gist.github.com)"
9
- ]
10
- }
2
+ "permissions": {
3
+ "allow": [
4
+ "WebSearch",
5
+ "WebFetch(domain:bun.com)",
6
+ "WebFetch(domain:github.com)",
7
+ "Bash(bun run typecheck:*)",
8
+ "WebFetch(domain:gist.github.com)",
9
+ "WebFetch(domain:vite.dev)",
10
+ "WebFetch(domain:leapcell.io)"
11
+ ]
12
+ }
11
13
  }
package/dist/index.js CHANGED
@@ -550,7 +550,7 @@ var exports_simpleVueHMR = {};
550
550
  __export(exports_simpleVueHMR, {
551
551
  handleVueUpdate: () => handleVueUpdate
552
552
  });
553
- import { basename as basename6, join as join7, resolve as resolve14 } from "path";
553
+ import { basename as basename6, join as join8, resolve as resolve14 } from "path";
554
554
  var handleVueUpdate = async (vueFilePath, manifest, buildDir) => {
555
555
  try {
556
556
  const resolvedPath = resolve14(vueFilePath);
@@ -566,7 +566,7 @@ var handleVueUpdate = async (vueFilePath, manifest, buildDir) => {
566
566
  console.warn("[Vue HMR] Available manifest keys:", Object.keys(manifest).join(", "));
567
567
  return null;
568
568
  }
569
- const absoluteServerPath = resolve14(serverPath) === serverPath || serverPath.startsWith("/") || /^[A-Za-z]:[\\/]/.test(serverPath) ? serverPath : join7(buildDir || process.cwd(), serverPath.replace(/^\//, ""));
569
+ const absoluteServerPath = resolve14(serverPath) === serverPath || serverPath.startsWith("/") || /^[A-Za-z]:[\\/]/.test(serverPath) ? serverPath : join8(buildDir || process.cwd(), serverPath.replace(/^\//, ""));
570
570
  const cacheBuster = `?t=${Date.now()}`;
571
571
  const serverModule = await import(`${absoluteServerPath}${cacheBuster}`);
572
572
  if (!serverModule || !serverModule.default) {
@@ -603,7 +603,7 @@ var exports_simpleSvelteHMR = {};
603
603
  __export(exports_simpleSvelteHMR, {
604
604
  handleSvelteUpdate: () => handleSvelteUpdate
605
605
  });
606
- import { basename as basename7, join as join8, resolve as resolve15 } from "path";
606
+ import { basename as basename7, join as join9, resolve as resolve15 } from "path";
607
607
  var handleSvelteUpdate = async (svelteFilePath, manifest, buildDir) => {
608
608
  try {
609
609
  const resolvedPath = resolve15(svelteFilePath);
@@ -619,7 +619,7 @@ var handleSvelteUpdate = async (svelteFilePath, manifest, buildDir) => {
619
619
  console.warn("[Svelte HMR] Available manifest keys:", Object.keys(manifest).join(", "));
620
620
  return null;
621
621
  }
622
- const absoluteServerPath = resolve15(serverPath) === serverPath || serverPath.startsWith("/") || /^[A-Za-z]:[\\/]/.test(serverPath) ? serverPath : join8(buildDir || process.cwd(), serverPath.replace(/^\//, ""));
622
+ const absoluteServerPath = resolve15(serverPath) === serverPath || serverPath.startsWith("/") || /^[A-Za-z]:[\\/]/.test(serverPath) ? serverPath : join9(buildDir || process.cwd(), serverPath.replace(/^\//, ""));
623
623
  const cacheBuster = `?t=${Date.now()}`;
624
624
  const serverModule = await import(`${absoluteServerPath}${cacheBuster}`);
625
625
  if (!serverModule || !serverModule.default) {
@@ -1315,6 +1315,44 @@ var buildHMRClient = async () => {
1315
1315
  return await result.outputs[0].text();
1316
1316
  };
1317
1317
 
1318
+ // src/build/rewriteReactImports.ts
1319
+ var escapeRegex = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1320
+ var rewriteReactImports = async (outputPaths, vendorPaths) => {
1321
+ const jsFiles = outputPaths.filter((path) => path.endsWith(".js"));
1322
+ if (jsFiles.length === 0)
1323
+ return;
1324
+ const replacements = Object.entries(vendorPaths).sort(([keyA], [keyB]) => keyB.length - keyA.length);
1325
+ for (const filePath of jsFiles) {
1326
+ let content = await Bun.file(filePath).text();
1327
+ let modified = false;
1328
+ for (const [specifier, webPath] of replacements) {
1329
+ const escaped = escapeRegex(specifier);
1330
+ const fromRegex = new RegExp(`(from\\s*["'])${escaped}(["'])`, "g");
1331
+ const newContent = content.replace(fromRegex, `$1${webPath}$2`);
1332
+ if (newContent !== content) {
1333
+ content = newContent;
1334
+ modified = true;
1335
+ }
1336
+ const dynamicRegex = new RegExp(`(import\\s*\\(\\s*["'])${escaped}(["']\\s*\\))`, "g");
1337
+ const newContent2 = content.replace(dynamicRegex, `$1${webPath}$2`);
1338
+ if (newContent2 !== content) {
1339
+ content = newContent2;
1340
+ modified = true;
1341
+ }
1342
+ }
1343
+ if (modified) {
1344
+ await Bun.write(filePath, content);
1345
+ }
1346
+ }
1347
+ };
1348
+
1349
+ // src/core/devVendorPaths.ts
1350
+ var devVendorPaths = null;
1351
+ var setDevVendorPaths = (paths) => {
1352
+ devVendorPaths = paths;
1353
+ };
1354
+ var getDevVendorPaths = () => devVendorPaths;
1355
+
1318
1356
  // src/utils/cleanup.ts
1319
1357
  import { rm as rm2 } from "fs/promises";
1320
1358
  import { join as join4 } from "path";
@@ -1663,6 +1701,7 @@ var build2 = async ({
1663
1701
  reactClientEntryPoints.push(refreshEntry);
1664
1702
  }
1665
1703
  }
1704
+ const vendorPaths = getDevVendorPaths();
1666
1705
  if (reactClientEntryPoints.length > 0) {
1667
1706
  const reactBuildConfig = {
1668
1707
  entrypoints: reactClientEntryPoints,
@@ -1675,6 +1714,9 @@ var build2 = async ({
1675
1714
  target: "browser",
1676
1715
  throw: false
1677
1716
  };
1717
+ if (vendorPaths) {
1718
+ reactBuildConfig.external = Object.keys(vendorPaths);
1719
+ }
1678
1720
  if (hmr) {
1679
1721
  reactBuildConfig.reactFastRefresh = true;
1680
1722
  }
@@ -1690,6 +1732,9 @@ var build2 = async ({
1690
1732
  throw err;
1691
1733
  exit(1);
1692
1734
  }
1735
+ if (vendorPaths) {
1736
+ await rewriteReactImports(reactClientOutputs.map((artifact) => artifact.path), vendorPaths);
1737
+ }
1693
1738
  }
1694
1739
  let nonReactClientLogs = [];
1695
1740
  let nonReactClientOutputs = [];
@@ -1841,9 +1886,73 @@ var build2 = async ({
1841
1886
  return manifest;
1842
1887
  };
1843
1888
  // src/core/devBuild.ts
1889
+ import { readdir as readdir2 } from "fs/promises";
1844
1890
  import { statSync } from "fs";
1845
1891
  import { resolve as resolve18 } from "path";
1846
1892
 
1893
+ // src/build/buildReactVendor.ts
1894
+ import { mkdirSync as mkdirSync2 } from "fs";
1895
+ import { join as join6 } from "path";
1896
+ import { rm as rm4 } from "fs/promises";
1897
+ var {build: bunBuild3 } = globalThis.Bun;
1898
+ var reactSpecifiers = [
1899
+ "react",
1900
+ "react-dom",
1901
+ "react-dom/client",
1902
+ "react/jsx-runtime",
1903
+ "react/jsx-dev-runtime"
1904
+ ];
1905
+ var toSafeFileName = (specifier) => specifier.replace(/\//g, "_");
1906
+ var computeVendorPaths = () => {
1907
+ const paths = {};
1908
+ for (const specifier of reactSpecifiers) {
1909
+ paths[specifier] = `/react/vendor/${toSafeFileName(specifier)}.js`;
1910
+ }
1911
+ return paths;
1912
+ };
1913
+ var generateEntrySource = async (specifier) => {
1914
+ const mod = await import(specifier);
1915
+ const exportNames = Object.keys(mod).filter((key) => key !== "default" && key !== "__esModule");
1916
+ const lines = [];
1917
+ if (exportNames.length > 0) {
1918
+ lines.push(`export { ${exportNames.join(", ")} } from '${specifier}';`);
1919
+ }
1920
+ if ("default" in mod) {
1921
+ lines.push(`export { default } from '${specifier}';`);
1922
+ }
1923
+ return lines.join(`
1924
+ `) + `
1925
+ `;
1926
+ };
1927
+ var buildReactVendor = async (buildDir) => {
1928
+ const vendorDir = join6(buildDir, "react", "vendor");
1929
+ mkdirSync2(vendorDir, { recursive: true });
1930
+ const tmpDir = join6(buildDir, "_vendor_tmp");
1931
+ mkdirSync2(tmpDir, { recursive: true });
1932
+ const entrypoints = [];
1933
+ for (const specifier of reactSpecifiers) {
1934
+ const safeName = toSafeFileName(specifier);
1935
+ const entryPath = join6(tmpDir, `${safeName}.ts`);
1936
+ const source = await generateEntrySource(specifier);
1937
+ await Bun.write(entryPath, source);
1938
+ entrypoints.push(entryPath);
1939
+ }
1940
+ const result = await bunBuild3({
1941
+ entrypoints,
1942
+ format: "esm",
1943
+ minify: false,
1944
+ naming: "[name].[ext]",
1945
+ outdir: vendorDir,
1946
+ splitting: true,
1947
+ target: "browser",
1948
+ throw: false
1949
+ });
1950
+ await rm4(tmpDir, { force: true, recursive: true });
1951
+ if (!result.success) {
1952
+ console.warn("\u26A0\uFE0F React vendor build had errors:", result.logs);
1953
+ }
1954
+ };
1955
+
1847
1956
  // src/dev/dependencyGraph.ts
1848
1957
  import { readFileSync as readFileSync2, readdirSync, existsSync as existsSync4 } from "fs";
1849
1958
  import { resolve as resolve7 } from "path";
@@ -2128,7 +2237,7 @@ var incrementSourceFileVersions = (state, filePaths) => {
2128
2237
  // src/dev/fileWatcher.ts
2129
2238
  import { watch } from "fs";
2130
2239
  import { existsSync as existsSync5 } from "fs";
2131
- import { join as join6, resolve as resolve9 } from "path";
2240
+ import { join as join7, resolve as resolve9 } from "path";
2132
2241
 
2133
2242
  // src/dev/pathUtils.ts
2134
2243
  var getWatchPaths = (config, resolved) => {
@@ -2253,7 +2362,7 @@ var startFileWatching = (state, config, onFileChange) => {
2253
2362
  if (filename === "compiled" || filename === "build" || filename === "indexes" || filename.includes("/compiled") || filename.includes("/build") || filename.includes("/indexes") || filename.endsWith("/")) {
2254
2363
  return;
2255
2364
  }
2256
- const fullPath = join6(absolutePath, filename).replace(/\\/g, "/");
2365
+ const fullPath = join7(absolutePath, filename).replace(/\\/g, "/");
2257
2366
  if (shouldIgnorePath(fullPath)) {
2258
2367
  return;
2259
2368
  }
@@ -3205,6 +3314,9 @@ var devBuild = async (config) => {
3205
3314
  const state = createHMRState(config);
3206
3315
  const watchPaths = getWatchPaths(config, state.resolvedPaths);
3207
3316
  buildInitialDependencyGraph(state.dependencyGraph, watchPaths);
3317
+ if (config.reactDirectory) {
3318
+ setDevVendorPaths(computeVendorPaths());
3319
+ }
3208
3320
  console.log("\uD83D\uDD28 Building AbsoluteJS with HMR...");
3209
3321
  const manifest = await build2({
3210
3322
  ...config,
@@ -3219,6 +3331,18 @@ var devBuild = async (config) => {
3219
3331
  }
3220
3332
  await populateAssetStore(state.assetStore, manifest ?? {}, state.resolvedPaths.buildDir);
3221
3333
  await cleanStaleAssets(state.assetStore, manifest ?? {}, state.resolvedPaths.buildDir);
3334
+ if (config.reactDirectory) {
3335
+ await buildReactVendor(state.resolvedPaths.buildDir);
3336
+ const vendorDir = resolve18(state.resolvedPaths.buildDir, "react", "vendor");
3337
+ try {
3338
+ const entries = await readdir2(vendorDir);
3339
+ for (const entry of entries) {
3340
+ const webPath = `/react/vendor/${entry}`;
3341
+ const bytes = await Bun.file(resolve18(vendorDir, entry)).bytes();
3342
+ state.assetStore.set(webPath, bytes);
3343
+ }
3344
+ } catch {}
3345
+ }
3222
3346
  console.log("\u2705 Build completed successfully");
3223
3347
  startFileWatching(state, config, (filePath) => {
3224
3348
  queueFileChange(state, filePath, config, (newBuildResult) => {
@@ -3470,5 +3594,5 @@ export {
3470
3594
  BUN_BUILD_WARNING_SUPPRESSION
3471
3595
  };
3472
3596
 
3473
- //# debugId=C34FE4C27524DD1E64756E2164756E21
3597
+ //# debugId=8FDC61834737AD4664756E2164756E21
3474
3598
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,6 +1,6 @@
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/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/utils/cleanup.ts", "../src/utils/commonAncestor.ts", "../src/utils/getDurationString.ts", "../src/utils/logger.ts", "../src/utils/validateSafePath.ts", "../src/core/devBuild.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/compileVue.ts", "../src/dev/simpleHTMLHMR.ts", "../src/utils/escapeScriptContent.ts", "../src/svelte/renderToReadableStream.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"],
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",
@@ -17,7 +17,7 @@
17
17
  "/* 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",
18
18
  "/* 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",
19
19
  "export * from '../types';\nexport * from './constants';\nexport * from './core';\nexport * from './plugins/index';\nexport * from './utils/index';\n",
20
- "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 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\tif (isIncremental) {\n\t\tconsole.log(\n\t\t\t`⚡ Incremental build: ${incrementalFiles.length} file(s) to rebuild`\n\t\t);\n\t}\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;\n\tif (svelteDir) serverOutDir = join(buildPath, basename(svelteDir), 'pages');\n\telse if (vueDir) serverOutDir = join(buildPath, basename(vueDir), 'pages');\n\n\tlet serverRoot;\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 only on full builds or if CSS changed\n\tif (\n\t\ttailwind &&\n\t\t(!isIncremental ||\n\t\t\tnormalizedIncrementalFiles?.some((f) => f.endsWith('.css')))\n\t) {\n\t\tawait $`bunx @tailwindcss/cli -i ${tailwind.input} -o ${join(buildPath, tailwind.output)}`;\n\t}\n\n\tconst allReactEntries = reactIndexesPath\n\t\t? await scanEntryPoints(reactIndexesPath, '*.tsx')\n\t\t: [];\n\tconst allHtmlEntries = htmlScriptsPath\n\t\t? await scanEntryPoints(htmlScriptsPath, '*.{js,ts}')\n\t\t: [];\n\tconst allSvelteEntries = sveltePagesPath\n\t\t? await scanEntryPoints(sveltePagesPath, '*.svelte')\n\t\t: [];\n\tconst allVueEntries = vuePagesPath\n\t\t? await scanEntryPoints(vuePagesPath, '*.vue')\n\t\t: [];\n\tconst allAngularEntries = angularPagesPath\n\t\t? await scanEntryPoints(angularPagesPath, '*.ts')\n\t\t: [];\n\n\tconst allHtmlCssEntries = htmlDir\n\t\t? await scanEntryPoints(join(htmlDir, 'styles'), '*.css')\n\t\t: [];\n\tconst allHtmxCssEntries = htmxDir\n\t\t? await scanEntryPoints(join(htmxDir, 'styles'), '*.css')\n\t\t: [];\n\tconst allReactCssEntries = reactDir\n\t\t? await scanEntryPoints(join(reactDir, 'styles'), '*.css')\n\t\t: [];\n\tconst allSvelteCssEntries = svelteDir\n\t\t? await scanEntryPoints(join(svelteDir, 'styles'), '*.css')\n\t\t: [];\n\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\tconst { svelteServerPaths, svelteIndexPaths, svelteClientPaths } = svelteDir\n\t\t? await compileSvelte(svelteEntries, svelteDir, new Map(), hmr)\n\t\t: {\n\t\t\t\tsvelteClientPaths: [],\n\t\t\t\tsvelteIndexPaths: [],\n\t\t\t\tsvelteServerPaths: []\n\t\t\t};\n\n\tconst { vueServerPaths, vueIndexPaths, vueClientPaths, vueCssPaths } =\n\t\tvueDir\n\t\t\t? await compileVue(vueEntries, vueDir, hmr)\n\t\t\t: {\n\t\t\t\t\tvueClientPaths: [],\n\t\t\t\t\tvueCssPaths: [],\n\t\t\t\t\tvueIndexPaths: [],\n\t\t\t\t\tvueServerPaths: []\n\t\t\t\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\tlet serverLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet serverOutputs: BuildArtifact[] = [];\n\n\tif (serverEntryPoints.length > 0) {\n\t\tconst result = await bunBuild({\n\t\t\tentrypoints: serverEntryPoints,\n\t\t\tformat: 'esm',\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: serverOutDir,\n\t\t\troot: serverRoot,\n\t\t\ttarget: 'bun',\n\t\t\tthrow: false\n\t\t});\n\t\tserverLogs = result.logs;\n\t\tserverOutputs = result.outputs;\n\t\tif (!result.success && result.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\tresult.logs.find((l) => l.level === 'error') ?? result.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 = result.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\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\tif (reactClientEntryPoints.length > 0) {\n\t\tconst reactBuildConfig = {\n\t\t\tentrypoints: reactClientEntryPoints,\n\t\t\tformat: 'esm' as const,\n\t\t\tminify: !isDev,\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: buildPath,\n\t\t\troot: clientRoot,\n\t\t\tsplitting: true,\n\t\t\ttarget: 'browser' as const,\n\t\t\tthrow: false\n\t\t};\n\n\t\t// Bun's reactFastRefresh option injects $RefreshReg$/$RefreshSig$\n\t\t// calls for React Fast Refresh support in dev\n\t\tif (hmr) {\n\t\t\t(reactBuildConfig as Record<string, unknown>).reactFastRefresh =\n\t\t\t\ttrue;\n\t\t}\n\n\t\tconst reactClientResult = await bunBuild(reactBuildConfig);\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\t}\n\n\tlet nonReactClientLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet nonReactClientOutputs: BuildArtifact[] = [];\n\n\tif (nonReactClientEntryPoints.length > 0) {\n\t\tconst htmlScriptPlugin = hmr\n\t\t\t? createHTMLScriptHMRPlugin(htmlDir, htmxDir)\n\t\t\t: undefined;\n\n\t\tconst nonReactClientResult = await bunBuild({\n\t\t\tdefine: vueDirectory ? vueFeatureFlags : undefined,\n\t\t\tentrypoints: nonReactClientEntryPoints,\n\t\t\tformat: 'esm',\n\t\t\tminify: !isDev,\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: buildPath,\n\t\t\tplugins: htmlScriptPlugin ? [htmlScriptPlugin] : undefined,\n\t\t\troot: clientRoot,\n\t\t\ttarget: 'browser',\n\t\t\tsplitting: !isDev,\n\t\t\tthrow: false\n\t\t});\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 (cssEntryPoints.length > 0) {\n\t\tconst cssResult = await bunBuild({\n\t\t\tentrypoints: cssEntryPoints,\n\t\t\tnaming: `[name].[hash].[ext]`,\n\t\t\toutdir: join(\n\t\t\t\tbuildPath,\n\t\t\t\tassetsPath ? basename(assetsPath) : 'assets',\n\t\t\t\t'css'\n\t\t\t),\n\t\t\ttarget: 'browser',\n\t\t\tthrow: false\n\t\t});\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// Build HMR client bundle once for HTML/HTMX injection during dev builds\n\tconst hmrClientBundle =\n\t\thmr && (htmlDir || htmxDir) ? await buildHMRClient() : 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\tif (htmlDir && htmlPagesPath) {\n\t\tconst outputHtmlPages = isSingle\n\t\t\t? join(buildPath, 'pages')\n\t\t\t: join(buildPath, basename(htmlDir), 'pages');\n\n\t\tif (shouldCopyHtml) {\n\t\t\tmkdirSync(outputHtmlPages, { recursive: true });\n\t\t\tcpSync(htmlPagesPath, outputHtmlPages, {\n\t\t\t\tforce: true,\n\t\t\t\trecursive: true\n\t\t\t});\n\t\t}\n\n\t\t// Update asset paths if HTML files changed OR CSS changed\n\t\tif (shouldUpdateHtmlAssetPaths) {\n\t\t\tawait updateAssetPaths(manifest, outputHtmlPages);\n\t\t}\n\n\t\t// Add HTML pages to manifest (absolute paths for Bun.file())\n\t\tconst htmlPageFiles = await scanEntryPoints(outputHtmlPages, '*.html');\n\t\tfor (const htmlFile of htmlPageFiles) {\n\t\t\tif (hmr) injectHMRIntoHTMLFile(htmlFile, 'html');\n\t\t\tconst fileName = basename(htmlFile, '.html');\n\t\t\tmanifest[fileName] = htmlFile;\n\t\t}\n\t}\n\n\tif (htmxDir && htmxPagesPath) {\n\t\tconst outputHtmxPages = isSingle\n\t\t\t? join(buildPath, 'pages')\n\t\t\t: join(buildPath, basename(htmxDir), 'pages');\n\n\t\tif (shouldCopyHtmx) {\n\t\t\tmkdirSync(outputHtmxPages, { recursive: true });\n\t\t\tcpSync(htmxPagesPath, outputHtmxPages, {\n\t\t\t\tforce: true,\n\t\t\t\trecursive: true\n\t\t\t});\n\t\t}\n\n\t\tif (shouldCopyHtmx) {\n\t\t\tconst htmxDestDir = isSingle\n\t\t\t\t? buildPath\n\t\t\t\t: join(buildPath, basename(htmxDir));\n\n\t\t\tmkdirSync(htmxDestDir, { recursive: true });\n\n\t\t\tconst glob = new Glob('htmx*.min.js');\n\t\t\tfor (const relPath of glob.scanSync({ cwd: htmxDir })) {\n\t\t\t\tconst src = join(htmxDir, relPath);\n\t\t\t\tconst dest = join(htmxDestDir, 'htmx.min.js');\n\t\t\t\tcopyFileSync(src, dest);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Update asset paths if HTMX files changed OR CSS changed\n\t\tif (shouldUpdateHtmxAssetPaths) {\n\t\t\tawait updateAssetPaths(manifest, outputHtmxPages);\n\t\t}\n\n\t\t// Add HTMX pages to manifest (absolute paths for Bun.file())\n\t\tconst htmxPageFiles = await scanEntryPoints(outputHtmxPages, '*.html');\n\t\tfor (const htmxFile of htmxPageFiles) {\n\t\t\tif (hmr) injectHMRIntoHTMLFile(htmxFile, 'htmx');\n\t\t\tconst fileName = basename(htmxFile, '.html');\n\t\t\tmanifest[fileName] = htmxFile;\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\tconsole.log(\n\t\t`Build completed in ${getDurationString(performance.now() - buildStart)}`\n\t);\n\n\treturn manifest;\n};\n",
20
+ "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\tif (isIncremental) {\n\t\tconsole.log(\n\t\t\t`⚡ Incremental build: ${incrementalFiles.length} file(s) to rebuild`\n\t\t);\n\t}\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;\n\tif (svelteDir) serverOutDir = join(buildPath, basename(svelteDir), 'pages');\n\telse if (vueDir) serverOutDir = join(buildPath, basename(vueDir), 'pages');\n\n\tlet serverRoot;\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 only on full builds or if CSS changed\n\tif (\n\t\ttailwind &&\n\t\t(!isIncremental ||\n\t\t\tnormalizedIncrementalFiles?.some((f) => f.endsWith('.css')))\n\t) {\n\t\tawait $`bunx @tailwindcss/cli -i ${tailwind.input} -o ${join(buildPath, tailwind.output)}`;\n\t}\n\n\tconst allReactEntries = reactIndexesPath\n\t\t? await scanEntryPoints(reactIndexesPath, '*.tsx')\n\t\t: [];\n\tconst allHtmlEntries = htmlScriptsPath\n\t\t? await scanEntryPoints(htmlScriptsPath, '*.{js,ts}')\n\t\t: [];\n\tconst allSvelteEntries = sveltePagesPath\n\t\t? await scanEntryPoints(sveltePagesPath, '*.svelte')\n\t\t: [];\n\tconst allVueEntries = vuePagesPath\n\t\t? await scanEntryPoints(vuePagesPath, '*.vue')\n\t\t: [];\n\tconst allAngularEntries = angularPagesPath\n\t\t? await scanEntryPoints(angularPagesPath, '*.ts')\n\t\t: [];\n\n\tconst allHtmlCssEntries = htmlDir\n\t\t? await scanEntryPoints(join(htmlDir, 'styles'), '*.css')\n\t\t: [];\n\tconst allHtmxCssEntries = htmxDir\n\t\t? await scanEntryPoints(join(htmxDir, 'styles'), '*.css')\n\t\t: [];\n\tconst allReactCssEntries = reactDir\n\t\t? await scanEntryPoints(join(reactDir, 'styles'), '*.css')\n\t\t: [];\n\tconst allSvelteCssEntries = svelteDir\n\t\t? await scanEntryPoints(join(svelteDir, 'styles'), '*.css')\n\t\t: [];\n\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\tconst { svelteServerPaths, svelteIndexPaths, svelteClientPaths } = svelteDir\n\t\t? await compileSvelte(svelteEntries, svelteDir, new Map(), hmr)\n\t\t: {\n\t\t\t\tsvelteClientPaths: [],\n\t\t\t\tsvelteIndexPaths: [],\n\t\t\t\tsvelteServerPaths: []\n\t\t\t};\n\n\tconst { vueServerPaths, vueIndexPaths, vueClientPaths, vueCssPaths } =\n\t\tvueDir\n\t\t\t? await compileVue(vueEntries, vueDir, hmr)\n\t\t\t: {\n\t\t\t\t\tvueClientPaths: [],\n\t\t\t\t\tvueCssPaths: [],\n\t\t\t\t\tvueIndexPaths: [],\n\t\t\t\t\tvueServerPaths: []\n\t\t\t\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\tlet serverLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet serverOutputs: BuildArtifact[] = [];\n\n\tif (serverEntryPoints.length > 0) {\n\t\tconst result = await bunBuild({\n\t\t\tentrypoints: serverEntryPoints,\n\t\t\tformat: 'esm',\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: serverOutDir,\n\t\t\troot: serverRoot,\n\t\t\ttarget: 'bun',\n\t\t\tthrow: false\n\t\t});\n\t\tserverLogs = result.logs;\n\t\tserverOutputs = result.outputs;\n\t\tif (!result.success && result.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\tresult.logs.find((l) => l.level === 'error') ?? result.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 = result.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\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\tif (reactClientEntryPoints.length > 0) {\n\t\tconst reactBuildConfig: Record<string, unknown> = {\n\t\t\tentrypoints: reactClientEntryPoints,\n\t\t\tformat: 'esm' as const,\n\t\t\tminify: !isDev,\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: buildPath,\n\t\t\troot: clientRoot,\n\t\t\tsplitting: true,\n\t\t\ttarget: 'browser' as const,\n\t\t\tthrow: false\n\t\t};\n\n\t\t// When vendor paths are available (dev mode), externalize React so\n\t\t// Bun doesn't bundle it. The bare specifiers in the output are\n\t\t// rewritten to vendor paths after the build completes.\n\t\tif (vendorPaths) {\n\t\t\treactBuildConfig.external = Object.keys(vendorPaths);\n\t\t}\n\n\t\t// Bun's reactFastRefresh option injects $RefreshReg$/$RefreshSig$\n\t\t// calls for React Fast Refresh support in dev\n\t\tif (hmr) {\n\t\t\treactBuildConfig.reactFastRefresh = true;\n\t\t}\n\n\t\tconst reactClientResult = await bunBuild(\n\t\t\treactBuildConfig as unknown as Parameters<typeof bunBuild>[0]\n\t\t);\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 (nonReactClientEntryPoints.length > 0) {\n\t\tconst htmlScriptPlugin = hmr\n\t\t\t? createHTMLScriptHMRPlugin(htmlDir, htmxDir)\n\t\t\t: undefined;\n\n\t\tconst nonReactClientResult = await bunBuild({\n\t\t\tdefine: vueDirectory ? vueFeatureFlags : undefined,\n\t\t\tentrypoints: nonReactClientEntryPoints,\n\t\t\tformat: 'esm',\n\t\t\tminify: !isDev,\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: buildPath,\n\t\t\tplugins: htmlScriptPlugin ? [htmlScriptPlugin] : undefined,\n\t\t\troot: clientRoot,\n\t\t\ttarget: 'browser',\n\t\t\tsplitting: !isDev,\n\t\t\tthrow: false\n\t\t});\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 (cssEntryPoints.length > 0) {\n\t\tconst cssResult = await bunBuild({\n\t\t\tentrypoints: cssEntryPoints,\n\t\t\tnaming: `[name].[hash].[ext]`,\n\t\t\toutdir: join(\n\t\t\t\tbuildPath,\n\t\t\t\tassetsPath ? basename(assetsPath) : 'assets',\n\t\t\t\t'css'\n\t\t\t),\n\t\t\ttarget: 'browser',\n\t\t\tthrow: false\n\t\t});\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// Build HMR client bundle once for HTML/HTMX injection during dev builds\n\tconst hmrClientBundle =\n\t\thmr && (htmlDir || htmxDir) ? await buildHMRClient() : 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\tif (htmlDir && htmlPagesPath) {\n\t\tconst outputHtmlPages = isSingle\n\t\t\t? join(buildPath, 'pages')\n\t\t\t: join(buildPath, basename(htmlDir), 'pages');\n\n\t\tif (shouldCopyHtml) {\n\t\t\tmkdirSync(outputHtmlPages, { recursive: true });\n\t\t\tcpSync(htmlPagesPath, outputHtmlPages, {\n\t\t\t\tforce: true,\n\t\t\t\trecursive: true\n\t\t\t});\n\t\t}\n\n\t\t// Update asset paths if HTML files changed OR CSS changed\n\t\tif (shouldUpdateHtmlAssetPaths) {\n\t\t\tawait updateAssetPaths(manifest, outputHtmlPages);\n\t\t}\n\n\t\t// Add HTML pages to manifest (absolute paths for Bun.file())\n\t\tconst htmlPageFiles = await scanEntryPoints(outputHtmlPages, '*.html');\n\t\tfor (const htmlFile of htmlPageFiles) {\n\t\t\tif (hmr) injectHMRIntoHTMLFile(htmlFile, 'html');\n\t\t\tconst fileName = basename(htmlFile, '.html');\n\t\t\tmanifest[fileName] = htmlFile;\n\t\t}\n\t}\n\n\tif (htmxDir && htmxPagesPath) {\n\t\tconst outputHtmxPages = isSingle\n\t\t\t? join(buildPath, 'pages')\n\t\t\t: join(buildPath, basename(htmxDir), 'pages');\n\n\t\tif (shouldCopyHtmx) {\n\t\t\tmkdirSync(outputHtmxPages, { recursive: true });\n\t\t\tcpSync(htmxPagesPath, outputHtmxPages, {\n\t\t\t\tforce: true,\n\t\t\t\trecursive: true\n\t\t\t});\n\t\t}\n\n\t\tif (shouldCopyHtmx) {\n\t\t\tconst htmxDestDir = isSingle\n\t\t\t\t? buildPath\n\t\t\t\t: join(buildPath, basename(htmxDir));\n\n\t\t\tmkdirSync(htmxDestDir, { recursive: true });\n\n\t\t\tconst glob = new Glob('htmx*.min.js');\n\t\t\tfor (const relPath of glob.scanSync({ cwd: htmxDir })) {\n\t\t\t\tconst src = join(htmxDir, relPath);\n\t\t\t\tconst dest = join(htmxDestDir, 'htmx.min.js');\n\t\t\t\tcopyFileSync(src, dest);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Update asset paths if HTMX files changed OR CSS changed\n\t\tif (shouldUpdateHtmxAssetPaths) {\n\t\t\tawait updateAssetPaths(manifest, outputHtmxPages);\n\t\t}\n\n\t\t// Add HTMX pages to manifest (absolute paths for Bun.file())\n\t\tconst htmxPageFiles = await scanEntryPoints(outputHtmxPages, '*.html');\n\t\tfor (const htmxFile of htmxPageFiles) {\n\t\t\tif (hmr) injectHMRIntoHTMLFile(htmxFile, 'htmx');\n\t\t\tconst fileName = basename(htmxFile, '.html');\n\t\t\tmanifest[fileName] = htmxFile;\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\tconsole.log(\n\t\t`Build completed in ${getDurationString(performance.now() - buildStart)}`\n\t);\n\n\treturn manifest;\n};\n",
21
21
  "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, { dev, filename: src }).js.code\n\t\t\t\t: compile(transpiled, {\n\t\t\t\t\t\tcss: 'injected',\n\t\t\t\t\t\tdev,\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",
22
22
  "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",
23
23
  "/**\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",
@@ -28,12 +28,15 @@
28
28
  "import { Glob } from 'bun';\n\nexport const scanEntryPoints = async (dir: string, pattern: string) => {\n\tconst entryPaths: string[] = [];\n\tconst glob = new Glob(pattern);\n\tfor await (const file of glob.scan({ absolute: true, cwd: dir })) {\n\t\tentryPaths.push(file);\n\t}\n\n\treturn entryPaths;\n};\n",
29
29
  "import { readFile, writeFile } from 'node:fs/promises';\nimport { toPascal } from '../utils/stringModifiers';\nimport { scanEntryPoints } from './scanEntryPoints';\n\nexport const updateAssetPaths = async (\n\tmanifest: Record<string, string>,\n\tdirectory: string\n) => {\n\tconst htmlFiles = await scanEntryPoints(directory, '*.html');\n\tconst assetRegex =\n\t\t/((?:<script[^>]+src=|<link[^>]*?rel=[\"']stylesheet[\"'][^>]*?href=)[\"'])(?!\\/?(?:.*\\/)?htmx\\.min\\.js)(\\/?(?:.*\\/)?)([^./\"']+)(?:\\.[^.\"'/]+)?(\\.(?:js|ts|css))([\"'][^>]*>)/g;\n\n\tconst tasks = htmlFiles.map(async (filePath) => {\n\t\tconst original = await readFile(filePath, 'utf8');\n\t\tconst updated = original.replace(\n\t\t\tassetRegex,\n\t\t\t(match, prefix, dir, name, ext, suffix) => {\n\t\t\t\tconst pascal = toPascal(name);\n\n\t\t\t\tlet key;\n\t\t\t\tif (ext === '.css') {\n\t\t\t\t\tkey = `${pascal}CSS`;\n\t\t\t\t} else if (dir.includes('/indexes/')) {\n\t\t\t\t\tkey = `${pascal}Index`;\n\t\t\t\t} else {\n\t\t\t\t\tkey = pascal;\n\t\t\t\t}\n\n\t\t\t\tconst newPath = manifest[key];\n\t\t\t\tif (newPath) {\n\t\t\t\t\t// For script tags (JS/TS), add type=\"module\" if not already present\n\t\t\t\t\t// Required because Bun bundles with format: 'esm'\n\t\t\t\t\tif (ext === '.js' || ext === '.ts') {\n\t\t\t\t\t\tconst hasTypeModule = /type\\s*=\\s*[\"']module[\"']/i.test(\n\t\t\t\t\t\t\tmatch\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (!hasTypeModule) {\n\t\t\t\t\t\t\t// Inject type=\"module\" before the closing >\n\t\t\t\t\t\t\tconst newSuffix = suffix.replace(\n\t\t\t\t\t\t\t\t/>$/,\n\t\t\t\t\t\t\t\t' type=\"module\">'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn `${prefix}${newPath}${newSuffix}`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn `${prefix}${newPath}${suffix}`;\n\t\t\t\t}\n\n\t\t\t\tconsole.error(\n\t\t\t\t\t`error: no manifest entry for ${ext.slice(1)} \"${name}\" referenced in ${filePath}`\n\t\t\t\t);\n\n\t\t\t\treturn match;\n\t\t\t}\n\t\t);\n\t\tawait writeFile(filePath, updated, 'utf8');\n\t});\n\n\tawait Promise.all(tasks);\n};\n",
30
30
  "import { build as bunBuild } from 'bun';\nimport { resolve } from 'node:path';\n\nexport const buildHMRClient = async () => {\n\tconst entryPoint = resolve(import.meta.dir, 'client/hmrClient.ts');\n\tconst result = await bunBuild({\n\t\tentrypoints: [entryPoint],\n\t\tformat: 'iife',\n\t\tminify: false,\n\t\ttarget: 'browser'\n\t});\n\tif (!result.success) {\n\t\tconsole.error('Failed to build HMR client:', result.logs);\n\t\treturn '// HMR client build failed';\n\t}\n\treturn await result.outputs[0]!.text();\n};\n",
31
+ "/** Post-process bundled output files to rewrite bare React specifiers\n * (e.g. `from \"react\"`) to stable vendor paths (e.g. `from \"/vendor/react.js\"`).\n *\n * This runs after Bun.build() when React is marked as external in dev mode.\n * Bun preserves bare specifiers for external packages, but browsers can't\n * resolve them. Rewriting to absolute URL paths lets the browser load\n * the pre-built vendor files directly. */\n\nconst escapeRegex = (str: string): string =>\n\tstr.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\nexport const rewriteReactImports = async (\n\toutputPaths: string[],\n\tvendorPaths: Record<string, string>\n): Promise<void> => {\n\tconst jsFiles = outputPaths.filter((path) => path.endsWith('.js'));\n\tif (jsFiles.length === 0) return;\n\n\t// Build replacement pairs sorted by specifier length (longest first)\n\t// to avoid partial matches like \"react\" matching before \"react-dom\"\n\tconst replacements = Object.entries(vendorPaths).sort(\n\t\t([keyA], [keyB]) => keyB.length - keyA.length\n\t);\n\n\tfor (const filePath of jsFiles) {\n\t\tlet content = await Bun.file(filePath).text();\n\t\tlet modified = false;\n\n\t\tfor (const [specifier, webPath] of replacements) {\n\t\t\tconst escaped = escapeRegex(specifier);\n\n\t\t\t// Match ES import: from \"react\" / from 'react' / from\"react\"\n\t\t\tconst fromRegex = new RegExp(`(from\\\\s*[\"'])${escaped}([\"'])`, 'g');\n\t\t\tconst newContent = content.replace(fromRegex, `$1${webPath}$2`);\n\n\t\t\tif (newContent !== content) {\n\t\t\t\tcontent = newContent;\n\t\t\t\tmodified = true;\n\t\t\t}\n\n\t\t\t// Match dynamic import: import(\"react\") / import('react')\n\t\t\tconst dynamicRegex = new RegExp(\n\t\t\t\t`(import\\\\s*\\\\(\\\\s*[\"'])${escaped}([\"']\\\\s*\\\\))`,\n\t\t\t\t'g'\n\t\t\t);\n\t\t\tconst newContent2 = content.replace(dynamicRegex, `$1${webPath}$2`);\n\n\t\t\tif (newContent2 !== content) {\n\t\t\t\tcontent = newContent2;\n\t\t\t\tmodified = true;\n\t\t\t}\n\t\t}\n\n\t\tif (modified) {\n\t\t\tawait Bun.write(filePath, content);\n\t\t}\n\t}\n};\n",
32
+ "/** Module-level dev vendor paths state.\n * Set by devBuild() before the initial build so that build() can\n * externalize React and rewrite imports to stable vendor files.\n * Production builds never call setDevVendorPaths, so the getter\n * returns null and build() bundles React normally. */\n\nlet devVendorPaths: Record<string, string> | null = null;\n\nexport const setDevVendorPaths = (paths: Record<string, string>): void => {\n\tdevVendorPaths = paths;\n};\n\nexport const getDevVendorPaths = (): Record<string, string> | null =>\n\tdevVendorPaths;\n",
31
33
  "import { rm } from 'node:fs/promises';\nimport { join } from 'node:path';\n\ntype CleanupProps = {\n\tsvelteDir?: string;\n\tvueDir?: string;\n\treactIndexesPath?: string;\n};\n\nexport const cleanup = async ({\n\tsvelteDir,\n\tvueDir,\n\treactIndexesPath\n}: CleanupProps) => {\n\tif (svelteDir) {\n\t\tawait rm(join(svelteDir, 'compiled'), { force: true, recursive: true });\n\t}\n\n\tif (vueDir) {\n\t\tawait rm(join(vueDir, 'compiled'), { force: true, recursive: true });\n\t}\n\n\tif (reactIndexesPath)\n\t\tawait rm(reactIndexesPath, { force: true, recursive: true });\n};\n",
32
34
  "import { normalizePath } from './normalizePath';\n\nexport const commonAncestor = (paths: string[], fallback?: string) => {\n\tif (paths.length === 0) return fallback;\n\t// Normalize all paths and split by forward slash for cross-platform compatibility\n\tconst segmentsList = paths.map((p) => normalizePath(p).split('/'));\n\tconst [first] = segmentsList;\n\tif (!first) return fallback;\n\tconst commonSegments = first.filter((segment, index) =>\n\t\tsegmentsList.every((pathSegs) => pathSegs[index] === segment)\n\t);\n\n\t// Always join with forward slash for normalized output\n\treturn commonSegments.length ? commonSegments.join('/') : fallback;\n};\n",
33
35
  "import {\n\tMILLISECONDS_IN_A_SECOND,\n\tTIME_PRECISION,\n\tMILLISECONDS_IN_A_MINUTE\n} from '../constants';\n\nexport const getDurationString = (duration: number) => {\n\tlet durationString;\n\n\tif (duration < MILLISECONDS_IN_A_SECOND) {\n\t\tdurationString = `${duration.toFixed(TIME_PRECISION)}ms`;\n\t} else if (duration < MILLISECONDS_IN_A_MINUTE) {\n\t\tdurationString = `${(duration / MILLISECONDS_IN_A_SECOND).toFixed(TIME_PRECISION)}s`;\n\t} else {\n\t\tdurationString = `${(duration / MILLISECONDS_IN_A_MINUTE).toFixed(TIME_PRECISION)}m`;\n\t}\n\n\treturn durationString;\n};\n",
34
36
  "/**\n * Centralized logger utility for AbsoluteJS\n * Provides Vite-style formatted output with ANSI colors and timestamps\n */\n\n// ANSI color codes\nconst colors = {\n\treset: '\\x1b[0m',\n\tbold: '\\x1b[1m',\n\tdim: '\\x1b[2m',\n\n\t// Core colors\n\tcyan: '\\x1b[36m',\n\tgreen: '\\x1b[32m',\n\tyellow: '\\x1b[33m',\n\tred: '\\x1b[31m',\n\tblue: '\\x1b[34m',\n\tmagenta: '\\x1b[35m',\n\twhite: '\\x1b[37m'\n} as const;\n\n// Framework color mapping\nconst frameworkColors: Record<string, string> = {\n\treact: colors.blue,\n\tvue: colors.green,\n\tsvelte: colors.yellow,\n\tangular: colors.magenta,\n\thtml: colors.white,\n\thtmx: colors.white,\n\tcss: colors.cyan,\n\tassets: colors.dim\n};\n\n/**\n * Format timestamp as \"HH:MM:SS AM/PM\" (Vite style)\n */\nconst formatTimestamp = () => {\n\tconst now = new Date();\n\tlet hours = now.getHours();\n\tconst minutes = now.getMinutes().toString().padStart(2, '0');\n\tconst seconds = now.getSeconds().toString().padStart(2, '0');\n\tconst ampm = hours >= 12 ? 'PM' : 'AM';\n\thours = hours % 12 || 12;\n\treturn `${hours}:${minutes}:${seconds} ${ampm}`;\n};\n\n/**\n * Format a file path for display (relative, clean)\n */\nconst formatPath = (filePath: string) => {\n\tconst cwd = process.cwd();\n\tlet relative = filePath.startsWith(cwd)\n\t\t? filePath.slice(cwd.length + 1)\n\t\t: filePath;\n\t// Normalize slashes\n\trelative = relative.replace(/\\\\/g, '/');\n\t// Ensure it starts with / for consistency with Vite\n\tif (!relative.startsWith('/')) {\n\t\trelative = '/' + relative;\n\t}\n\treturn relative;\n};\n\n/**\n * Get color for a framework\n */\nconst getFrameworkColor = (framework: string) => {\n\treturn frameworkColors[framework] || colors.white;\n};\n\n/**\n * Core logging function with Vite-style format\n */\nconst log = (\n\taction: string,\n\toptions?: {\n\t\tframework?: string;\n\t\tduration?: number;\n\t\tpath?: string;\n\t\tcolor?: string;\n\t}\n) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.cyan}[hmr]${colors.reset}`;\n\n\tlet message = action;\n\n\t// Apply framework color to path if present\n\tif (options?.path) {\n\t\tconst pathColor = options.framework\n\t\t\t? getFrameworkColor(options.framework)\n\t\t\t: colors.white;\n\t\tmessage += ` ${pathColor}${formatPath(options.path)}${colors.reset}`;\n\t}\n\n\t// Add duration if present\n\tif (options?.duration !== undefined) {\n\t\tmessage += ` ${colors.dim}(${options.duration}ms)${colors.reset}`;\n\t}\n\n\tconsole.log(`${timestamp} ${tag} ${message}`);\n};\n\n/**\n * Error logging with red color\n */\nconst logError = (message: string, error?: Error | string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.red}[hmr]${colors.reset}`;\n\tconst errorMsg = error instanceof Error ? error.message : error;\n\tconst fullMessage = `${colors.red}error${colors.reset} ${message}${errorMsg ? `: ${errorMsg}` : ''}`;\n\tconsole.error(`${timestamp} ${tag} ${fullMessage}`);\n};\n\n/**\n * Warning logging with yellow color\n */\nconst logWarn = (message: string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.yellow}[hmr]${colors.reset}`;\n\tconsole.warn(\n\t\t`${timestamp} ${tag} ${colors.yellow}warning${colors.reset} ${message}`\n\t);\n};\n\n// Public API\nexport const logger = {\n\t/**\n\t * HMR update message\n\t * Format: \"10:30:45 AM [hmr] hmr update /pages/App.tsx\"\n\t */\n\thmrUpdate(path: string, framework?: string) {\n\t\tlog('hmr update', { path, framework });\n\t},\n\n\t/**\n\t * Page reload message\n\t * Format: \"10:30:45 AM [hmr] page reload /src/App.tsx\"\n\t */\n\tpageReload(path: string, framework?: string) {\n\t\tlog('page reload', { path, framework });\n\t},\n\n\t/**\n\t * CSS update message\n\t * Format: \"10:30:45 AM [hmr] css update /styles/main.css\"\n\t */\n\tcssUpdate(path: string, framework?: string) {\n\t\tlog('css update', { path, framework: framework ?? 'css' });\n\t},\n\n\t/**\n\t * Script update message\n\t * Format: \"10:30:45 AM [hmr] script update /scripts/counter.ts\"\n\t */\n\tscriptUpdate(path: string, framework?: string) {\n\t\tlog('script update', { path, framework });\n\t},\n\n\t/**\n\t * Rebuild complete message\n\t * Format: \"10:30:45 AM [hmr] rebuilt (125ms)\"\n\t */\n\trebuilt(duration: number) {\n\t\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\t\tconst tag = `${colors.cyan}[hmr]${colors.reset}`;\n\t\tconst message = `${colors.green}rebuilt${colors.reset} ${colors.dim}(${duration}ms)${colors.reset}`;\n\t\tconsole.log(`${timestamp} ${tag} ${message}`);\n\t},\n\n\t/**\n\t * Build error\n\t * Format: \"10:30:45 AM [hmr] error Build failed: ...\"\n\t */\n\terror(message: string, error?: Error | string) {\n\t\tlogError(message, error);\n\t},\n\n\t/**\n\t * Warning message\n\t * Format: \"10:30:45 AM [hmr] warning ...\"\n\t */\n\twarn(message: string) {\n\t\tlogWarn(message);\n\t},\n\n\t/**\n\t * Generic info message\n\t */\n\tinfo(message: string) {\n\t\tlog(message);\n\t}\n};\n",
35
37
  "import { resolve, relative } from 'node:path';\nimport { normalizePath } from './normalizePath';\n\nexport const validateSafePath = (targetPath: string, baseDirectory: string) => {\n\tconst absoluteBase = resolve(baseDirectory);\n\tconst absoluteTarget = resolve(baseDirectory, targetPath);\n\t// Normalize relative path for consistent cross-platform traversal check\n\tconst relativePath = normalizePath(relative(absoluteBase, absoluteTarget));\n\n\tif (relativePath.startsWith('../') || relativePath === '..') {\n\t\tthrow new Error(`Unsafe path: ${targetPath}`);\n\t}\n\n\treturn absoluteTarget;\n};\n",
36
- "import { statSync } from 'node:fs';\nimport { resolve } from 'node:path';\nimport { build } from './build';\nimport type { BuildConfig } from '../../types/build';\nimport { createHMRState, type HMRState } from '../dev/clientManager';\nimport { buildInitialDependencyGraph } from '../dev/dependencyGraph';\nimport { startFileWatching } from '../dev/fileWatcher';\nimport { getWatchPaths } from '../dev/pathUtils';\nimport { cleanStaleAssets, populateAssetStore } from '../dev/assetStore';\nimport { queueFileChange } from '../dev/rebuildTrigger';\n\n/* Development mode function - replaces build() during development\n Returns DevResult with manifest, buildDir, asset(), and hmrState for use with the hmr() plugin */\nexport const devBuild = async (config: BuildConfig) => {\n\t// On Bun --hot reload, return cached result instead of rebuilding\n\tconst cached = (globalThis as Record<string, unknown>).__hmrDevResult as\n\t\t| {\n\t\t\t\thmrState: HMRState;\n\t\t\t\tmanifest: Record<string, string>;\n\t\t }\n\t\t| undefined;\n\tif (cached) {\n\t\tconst serverMtime = statSync(resolve(Bun.main)).mtimeMs;\n\t\tconst lastMtime = (globalThis as Record<string, unknown>)\n\t\t\t.__hmrServerMtime as number;\n\t\t(globalThis as Record<string, unknown>).__hmrServerMtime = serverMtime;\n\n\t\tif (serverMtime !== lastMtime) {\n\t\t\tconsole.log('\\x1b[36m[hmr] Server module reloaded\\x1b[0m');\n\t\t} else {\n\t\t\t// Framework file changed — skip server restart, let HMR handle it\n\t\t\t(globalThis as Record<string, unknown>).__hmrSkipServerRestart =\n\t\t\t\ttrue;\n\t\t\tconsole.log('\\x1b[36m[hmr] Hot module update detected\\x1b[0m');\n\t\t}\n\t\treturn cached;\n\t}\n\n\t// Create initial HMR state with config\n\tconst state = createHMRState(config);\n\n\t// Initialize dependency graph by scanning all source files\n\tconst watchPaths = getWatchPaths(config, state.resolvedPaths);\n\tbuildInitialDependencyGraph(state.dependencyGraph, watchPaths);\n\n\tconsole.log('🔨 Building AbsoluteJS with HMR...');\n\n\t// Initial build (HMR client is baked into index files and HTML/HTMX pages)\n\tconst manifest = await build({\n\t\t...config,\n\t\toptions: {\n\t\t\t...config.options,\n\t\t\tinjectHMR: true,\n\t\t\tpreserveIntermediateFiles: true\n\t\t}\n\t});\n\n\tif (!manifest || Object.keys(manifest).length === 0) {\n\t\t// Allow empty manifests for HTML/HTMX-only projects\n\t\tconsole.log(\n\t\t\t'⚠️ Manifest is empty - this is OK for HTML/HTMX-only projects'\n\t\t);\n\t}\n\n\t// Populate in-memory asset store so client assets are served from memory\n\tawait populateAssetStore(\n\t\tstate.assetStore,\n\t\tmanifest ?? {},\n\t\tstate.resolvedPaths.buildDir\n\t);\n\tawait cleanStaleAssets(\n\t\tstate.assetStore,\n\t\tmanifest ?? {},\n\t\tstate.resolvedPaths.buildDir\n\t);\n\n\tconsole.log('✅ Build completed successfully');\n\n\tstartFileWatching(state, config, (filePath: string) => {\n\t\tqueueFileChange(state, filePath, config, (newBuildResult) => {\n\t\t\tObject.assign(manifest, newBuildResult.manifest);\n\t\t});\n\t});\n\n\tconsole.log('👀 File watching: Active');\n\tconsole.log('🔥 HMR: Ready');\n\n\tconst result = {\n\t\thmrState: state,\n\t\tmanifest\n\t};\n\n\t(globalThis as Record<string, unknown>).__hmrServerStartup =\n\t\tDate.now().toString();\n\n\t// Cache for Bun --hot reloads\n\t(globalThis as Record<string, unknown>).__hmrDevResult = result;\n\t(globalThis as Record<string, unknown>).__hmrServerMtime = statSync(\n\t\tresolve(Bun.main)\n\t).mtimeMs;\n\n\treturn result;\n};\n",
38
+ "import { readdir } from 'node:fs/promises';\nimport { statSync } from 'node:fs';\nimport { resolve } from 'node:path';\nimport { build } from './build';\nimport { setDevVendorPaths } from './devVendorPaths';\nimport type { BuildConfig } from '../../types/build';\nimport {\n\tbuildReactVendor,\n\tcomputeVendorPaths\n} from '../build/buildReactVendor';\nimport { createHMRState, type HMRState } from '../dev/clientManager';\nimport { buildInitialDependencyGraph } from '../dev/dependencyGraph';\nimport { startFileWatching } from '../dev/fileWatcher';\nimport { getWatchPaths } from '../dev/pathUtils';\nimport { cleanStaleAssets, populateAssetStore } from '../dev/assetStore';\nimport { queueFileChange } from '../dev/rebuildTrigger';\n\n/* Development mode function - replaces build() during development\n Returns DevResult with manifest, buildDir, asset(), and hmrState for use with the hmr() plugin */\nexport const devBuild = async (config: BuildConfig) => {\n\t// On Bun --hot reload, return cached result instead of rebuilding\n\tconst cached = (globalThis as Record<string, unknown>).__hmrDevResult as\n\t\t| {\n\t\t\t\thmrState: HMRState;\n\t\t\t\tmanifest: Record<string, string>;\n\t\t }\n\t\t| undefined;\n\tif (cached) {\n\t\tconst serverMtime = statSync(resolve(Bun.main)).mtimeMs;\n\t\tconst lastMtime = (globalThis as Record<string, unknown>)\n\t\t\t.__hmrServerMtime as number;\n\t\t(globalThis as Record<string, unknown>).__hmrServerMtime = serverMtime;\n\n\t\tif (serverMtime !== lastMtime) {\n\t\t\tconsole.log('\\x1b[36m[hmr] Server module reloaded\\x1b[0m');\n\t\t} else {\n\t\t\t// Framework file changed — skip server restart, let HMR handle it\n\t\t\t(globalThis as Record<string, unknown>).__hmrSkipServerRestart =\n\t\t\t\ttrue;\n\t\t\tconsole.log('\\x1b[36m[hmr] Hot module update detected\\x1b[0m');\n\t\t}\n\t\treturn cached;\n\t}\n\n\t// Create initial HMR state with config\n\tconst state = createHMRState(config);\n\n\t// Initialize dependency graph by scanning all source files\n\tconst watchPaths = getWatchPaths(config, state.resolvedPaths);\n\tbuildInitialDependencyGraph(state.dependencyGraph, watchPaths);\n\n\t// Pre-compute vendor paths so build() can externalize React.\n\t// The actual vendor files are built after build() creates the output dir.\n\tif (config.reactDirectory) {\n\t\tsetDevVendorPaths(computeVendorPaths());\n\t}\n\n\tconsole.log('🔨 Building AbsoluteJS with HMR...');\n\n\t// Initial build (HMR client is baked into index files and HTML/HTMX pages)\n\tconst manifest = await build({\n\t\t...config,\n\t\toptions: {\n\t\t\t...config.options,\n\t\t\tinjectHMR: true,\n\t\t\tpreserveIntermediateFiles: true\n\t\t}\n\t});\n\n\tif (!manifest || Object.keys(manifest).length === 0) {\n\t\t// Allow empty manifests for HTML/HTMX-only projects\n\t\tconsole.log(\n\t\t\t'⚠️ Manifest is empty - this is OK for HTML/HTMX-only projects'\n\t\t);\n\t}\n\n\t// Populate in-memory asset store so client assets are served from memory\n\tawait populateAssetStore(\n\t\tstate.assetStore,\n\t\tmanifest ?? {},\n\t\tstate.resolvedPaths.buildDir\n\t);\n\tawait cleanStaleAssets(\n\t\tstate.assetStore,\n\t\tmanifest ?? {},\n\t\tstate.resolvedPaths.buildDir\n\t);\n\n\t// Build React vendor files now that the build directory exists.\n\t// These stable files (no content hash) are what the rewritten\n\t// imports in the build output point to.\n\tif (config.reactDirectory) {\n\t\tawait buildReactVendor(state.resolvedPaths.buildDir);\n\n\t\t// Load vendor files into the in-memory asset store\n\t\tconst vendorDir = resolve(\n\t\t\tstate.resolvedPaths.buildDir,\n\t\t\t'react',\n\t\t\t'vendor'\n\t\t);\n\t\ttry {\n\t\t\tconst entries = await readdir(vendorDir);\n\t\t\tfor (const entry of entries) {\n\t\t\t\tconst webPath = `/react/vendor/${entry}`;\n\t\t\t\tconst bytes = await Bun.file(resolve(vendorDir, entry)).bytes();\n\t\t\t\tstate.assetStore.set(webPath, bytes);\n\t\t\t}\n\t\t} catch {\n\t\t\t/* vendor dir may not exist if React build failed */\n\t\t}\n\t}\n\n\tconsole.log('✅ Build completed successfully');\n\n\tstartFileWatching(state, config, (filePath: string) => {\n\t\tqueueFileChange(state, filePath, config, (newBuildResult) => {\n\t\t\tObject.assign(manifest, newBuildResult.manifest);\n\t\t});\n\t});\n\n\tconsole.log('👀 File watching: Active');\n\tconsole.log('🔥 HMR: Ready');\n\n\tconst result = {\n\t\thmrState: state,\n\t\tmanifest\n\t};\n\n\t(globalThis as Record<string, unknown>).__hmrServerStartup =\n\t\tDate.now().toString();\n\n\t// Cache for Bun --hot reloads\n\t(globalThis as Record<string, unknown>).__hmrDevResult = result;\n\t(globalThis as Record<string, unknown>).__hmrServerMtime = statSync(\n\t\tresolve(Bun.main)\n\t).mtimeMs;\n\n\treturn result;\n};\n",
39
+ "import { mkdirSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { rm } from 'node:fs/promises';\nimport { build as bunBuild } from 'bun';\n\n/** Bare specifiers that need stable vendor builds */\nconst reactSpecifiers = [\n\t'react',\n\t'react-dom',\n\t'react-dom/client',\n\t'react/jsx-runtime',\n\t'react/jsx-dev-runtime'\n];\n\n/** Convert a bare specifier to a safe filename: react-dom/client → react-dom_client */\nconst toSafeFileName = (specifier: string): string =>\n\tspecifier.replace(/\\//g, '_');\n\n/** Compute the deterministic vendor paths mapping (no build needed).\n * This can be called before vendor files exist on disk. */\nexport const computeVendorPaths = (): Record<string, string> => {\n\tconst paths: Record<string, string> = {};\n\tfor (const specifier of reactSpecifiers) {\n\t\tpaths[specifier] = `/react/vendor/${toSafeFileName(specifier)}.js`;\n\t}\n\n\treturn paths;\n};\n\n/** Introspect a package's exports at runtime and generate an entry file\n * with explicit named re-exports. This is necessary because React is a\n * CJS module — `export * from 'react'` can't statically determine the\n * export names, so Bun produces an empty re-export. */\nconst generateEntrySource = async (specifier: string): Promise<string> => {\n\tconst mod = await import(specifier);\n\tconst exportNames = Object.keys(mod).filter(\n\t\t(key) => key !== 'default' && key !== '__esModule'\n\t);\n\n\tconst lines: string[] = [];\n\tif (exportNames.length > 0) {\n\t\tlines.push(`export { ${exportNames.join(', ')} } from '${specifier}';`);\n\t}\n\tif ('default' in mod) {\n\t\tlines.push(`export { default } from '${specifier}';`);\n\t}\n\n\treturn lines.join('\\n') + '\\n';\n};\n\n/** Build React packages into stable vendor files (no content hash).\n * Output goes to {buildDir}/react/vendor/ with predictable names like\n * react.js, react-dom_client.js, etc. These files never change between\n * rebuilds, so the browser always loads React from a single source. */\nexport const buildReactVendor = async (buildDir: string): Promise<void> => {\n\tconst vendorDir = join(buildDir, 'react', 'vendor');\n\tmkdirSync(vendorDir, { recursive: true });\n\n\tconst tmpDir = join(buildDir, '_vendor_tmp');\n\tmkdirSync(tmpDir, { recursive: true });\n\n\t// Create temp entry files with explicit named exports\n\tconst entrypoints: string[] = [];\n\tfor (const specifier of reactSpecifiers) {\n\t\tconst safeName = toSafeFileName(specifier);\n\t\tconst entryPath = join(tmpDir, `${safeName}.ts`);\n\t\tconst source = await generateEntrySource(specifier);\n\t\tawait Bun.write(entryPath, source);\n\t\tentrypoints.push(entryPath);\n\t}\n\n\tconst result = await bunBuild({\n\t\tentrypoints,\n\t\tformat: 'esm',\n\t\tminify: false,\n\t\tnaming: '[name].[ext]',\n\t\toutdir: vendorDir,\n\t\tsplitting: true,\n\t\ttarget: 'browser',\n\t\tthrow: false\n\t});\n\n\tawait rm(tmpDir, { force: true, recursive: true });\n\n\tif (!result.success) {\n\t\tconsole.warn('⚠️ React vendor build had errors:', result.logs);\n\t}\n};\n",
37
40
  "import { readFileSync, readdirSync, existsSync } from 'node:fs';\nimport { resolve } from 'node:path';\n\n/* Dependency graph for tracking file relationships\n This handles the \"what depends on what\" problem for incremental HMR */\nexport type DependencyGraph = {\n\t// filePath -> Set of files that depend on this file\n\tdependents: Map<string, Set<string>>;\n\t// filePath -> Set of files this file depends on\n\tdependencies: Map<string, Set<string>>;\n};\n\nexport const createDependencyGraph = () => ({\n\tdependencies: new Map(),\n\tdependents: new Map()\n});\n\n/* Extract import/require statements from a file\n This handles the \"find dependencies\" problem */\nexport const extractDependencies = (filePath: string) => {\n\ttry {\n\t\t// Check if file exists before trying to read\n\t\tif (!existsSync(filePath)) {\n\t\t\treturn [];\n\t\t}\n\t\tconst content = readFileSync(filePath, 'utf-8');\n\t\tconst dependencies: string[] = [];\n\t\tconst lowerPath = filePath.toLowerCase();\n\t\tconst isHtml =\n\t\t\tlowerPath.endsWith('.html') || lowerPath.endsWith('.htm');\n\n\t\t// Special-case HTML/HTMX: detect linked stylesheets so CSS changes map back to pages\n\t\tif (isHtml) {\n\t\t\tconst linkRegex =\n\t\t\t\t/<link\\s+[^>]*rel=[\"']stylesheet[\"'][^>]*href=[\"']([^\"']+)[\"'][^>]*>/gi;\n\t\t\tlet matchLink;\n\t\t\twhile ((matchLink = linkRegex.exec(content)) !== null) {\n\t\t\t\tconst href = matchLink[1];\n\t\t\t\tif (!href) continue;\n\t\t\t\t// Resolve relative to the HTML file\n\t\t\t\tconst resolvedHref = resolveImportPath(href, filePath);\n\t\t\t\tif (resolvedHref) {\n\t\t\t\t\tdependencies.push(resolvedHref);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dependencies;\n\t\t}\n\n\t\t// Match various import patterns\n\t\tconst importRegex = /import\\s+.*?\\s+from\\s+['\"]([^'\"]+)['\"]/g;\n\t\tconst importWithoutFromRegex = /import\\s+['\"]([^'\"]+)['\"]/g; // For CSS and side-effect imports\n\t\tconst requireRegex = /require\\s*\\(\\s*['\"]([^'\"]+)['\"]\\s*\\)/g;\n\t\tconst dynamicImportRegex = /import\\s*\\(\\s*['\"]([^'\"]+)['\"]\\s*\\)/g;\n\n\t\tlet match;\n\n\t\t// Find static imports with 'from'\n\t\twhile ((match = importRegex.exec(content)) !== null) {\n\t\t\tif (match[1]) {\n\t\t\t\tconst resolved = resolveImportPath(match[1], filePath);\n\t\t\t\tif (resolved) dependencies.push(resolved);\n\t\t\t}\n\t\t}\n\n\t\t// Find imports without 'from' (side-effect imports like CSS)\n\t\twhile ((match = importWithoutFromRegex.exec(content)) !== null) {\n\t\t\tif (match[1]) {\n\t\t\t\tconst resolved = resolveImportPath(match[1], filePath);\n\t\t\t\tif (resolved) dependencies.push(resolved);\n\t\t\t}\n\t\t}\n\n\t\t// Find require statements\n\t\twhile ((match = requireRegex.exec(content)) !== null) {\n\t\t\tif (match[1]) {\n\t\t\t\tconst resolved = resolveImportPath(match[1], filePath);\n\t\t\t\tif (resolved) dependencies.push(resolved);\n\t\t\t}\n\t\t}\n\n\t\t// Find dynamic imports\n\t\twhile ((match = dynamicImportRegex.exec(content)) !== null) {\n\t\t\tif (match[1]) {\n\t\t\t\tconst resolved = resolveImportPath(match[1], filePath);\n\t\t\t\tif (resolved) dependencies.push(resolved);\n\t\t\t}\n\t\t}\n\n\t\treturn dependencies;\n\t} catch {\n\t\treturn [];\n\t}\n};\n\n/* Resolve relative import paths to absolute paths\n This handles the \"resolve imports\" problem */\nconst resolveImportPath = (importPath: string, fromFile: string) => {\n\t// Skip external packages\n\tif (!importPath.startsWith('.') && !importPath.startsWith('/')) {\n\t\treturn null;\n\t}\n\n\tconst fromDir = resolve(fromFile, '..');\n\tconst resolved = resolve(fromDir, importPath);\n\n\t// Normalize the path to ensure consistent format (absolute path)\n\tconst normalized = resolve(resolved);\n\n\t// Try common extensions\n\tconst extensions = [\n\t\t'.ts',\n\t\t'.tsx',\n\t\t'.js',\n\t\t'.jsx',\n\t\t'.vue',\n\t\t'.svelte',\n\t\t'.css',\n\t\t'.html'\n\t];\n\n\tfor (const ext of extensions) {\n\t\tconst withExt = normalized + ext;\n\t\ttry {\n\t\t\treadFileSync(withExt);\n\n\t\t\treturn normalized + ext; // Return absolute path\n\t\t} catch {\n\t\t\t// File doesn't exist with this extension\n\t\t}\n\t}\n\n\t// Try without extension\n\ttry {\n\t\treadFileSync(normalized);\n\n\t\treturn normalized; // Return absolute path\n\t} catch {\n\t\treturn null;\n\t}\n};\n\n/* Add a file and its dependencies to the graph\n This handles the \"build graph\" problem */\nexport const addFileToGraph = (graph: DependencyGraph, filePath: string) => {\n\t// Normalize the file path to ensure consistent format\n\tconst normalizedPath = resolve(filePath);\n\n\tif (!existsSync(normalizedPath)) {\n\t\treturn;\n\t}\n\n\tconst dependencies = extractDependencies(normalizedPath);\n\n\t// Clear existing dependencies for this file\n\tconst existingDeps = graph.dependencies.get(normalizedPath);\n\tif (existingDeps) {\n\t\tfor (const dep of existingDeps) {\n\t\t\tconst dependents = graph.dependents.get(dep);\n\t\t\tif (dependents) {\n\t\t\t\tdependents.delete(normalizedPath);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Add new dependencies\n\tconst newDeps = new Set(dependencies);\n\tgraph.dependencies.set(normalizedPath, newDeps);\n\n\t// Update dependents (reverse relationship)\n\tfor (const dep of dependencies) {\n\t\tif (!graph.dependents.has(dep)) {\n\t\t\tgraph.dependents.set(dep, new Set());\n\t\t}\n\t\tgraph.dependents.get(dep)!.add(normalizedPath);\n\t}\n};\n\n/* Get all files that depend on a changed file\n This handles the \"find affected files\" problem */\nexport const getAffectedFiles = (\n\tgraph: DependencyGraph,\n\tchangedFile: string\n) => {\n\t// Normalize the changed file path to ensure consistent lookup\n\tconst normalizedPath = resolve(changedFile);\n\tconst affected = new Set<string>();\n\tconst toProcess = [normalizedPath];\n\n\twhile (toProcess.length > 0) {\n\t\tconst current = toProcess.pop()!;\n\n\t\tif (affected.has(current)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\taffected.add(current);\n\n\t\tconst dependents = graph.dependents.get(current);\n\t\tif (dependents) {\n\t\t\tfor (const dependent of dependents) {\n\t\t\t\ttoProcess.push(dependent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn Array.from(affected);\n};\n\n/* Remove a file from the graph\n This handles the \"cleanup deleted files\" problem */\nexport const removeFileFromGraph = (\n\tgraph: DependencyGraph,\n\tfilePath: string\n) => {\n\t// Normalize the file path to ensure consistent format\n\tconst normalizedPath = resolve(filePath);\n\n\t// Remove from dependencies\n\tconst deps = graph.dependencies.get(normalizedPath);\n\tif (deps) {\n\t\tfor (const dep of deps) {\n\t\t\tconst dependents = graph.dependents.get(dep);\n\t\t\tif (dependents) {\n\t\t\t\tdependents.delete(normalizedPath);\n\t\t\t}\n\t\t}\n\t\tgraph.dependencies.delete(normalizedPath);\n\t}\n\n\t// Remove from dependents\n\tconst dependents = graph.dependents.get(normalizedPath);\n\tif (dependents) {\n\t\tfor (const dependent of dependents) {\n\t\t\tconst depList = graph.dependencies.get(dependent);\n\t\t\tif (depList) {\n\t\t\t\tdepList.delete(normalizedPath);\n\t\t\t}\n\t\t}\n\t\tgraph.dependents.delete(normalizedPath);\n\t}\n};\n\n/* Build dependency graph for all files in a directory\n This handles the \"initialize graph\" problem */\nexport const buildInitialDependencyGraph = (\n\tgraph: DependencyGraph,\n\tdirectories: string[]\n) => {\n\tconst processedFiles = new Set<string>();\n\n\tconst scanDirectory = (dir: string) => {\n\t\t// Normalize directory path\n\t\tconst normalizedDir = resolve(dir);\n\t\ttry {\n\t\t\tconst entries = readdirSync(normalizedDir, { withFileTypes: true });\n\n\t\t\tfor (const entry of entries) {\n\t\t\t\tconst fullPath = resolve(normalizedDir, entry.name);\n\n\t\t\t\t// Skip ignored paths\n\t\t\t\tif (\n\t\t\t\t\tfullPath.includes('/node_modules/') ||\n\t\t\t\t\tfullPath.includes('/.git/') ||\n\t\t\t\t\tfullPath.includes('/build/') ||\n\t\t\t\t\tfullPath.includes('/compiled/') ||\n\t\t\t\t\tfullPath.includes('/indexes/') ||\n\t\t\t\t\tentry.name.startsWith('.')\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (entry.isDirectory()) {\n\t\t\t\t\tscanDirectory(fullPath);\n\t\t\t\t} else if (entry.isFile()) {\n\t\t\t\t\t// Process source files (TypeScript, JavaScript, Vue, Svelte, HTML)\n\t\t\t\t\tconst ext = entry.name.split('.').pop()?.toLowerCase();\n\t\t\t\t\tif (\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t'ts',\n\t\t\t\t\t\t\t'tsx',\n\t\t\t\t\t\t\t'js',\n\t\t\t\t\t\t\t'jsx',\n\t\t\t\t\t\t\t'vue',\n\t\t\t\t\t\t\t'svelte',\n\t\t\t\t\t\t\t'html',\n\t\t\t\t\t\t\t'htm'\n\t\t\t\t\t\t].includes(ext || '')\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (!processedFiles.has(fullPath)) {\n\t\t\t\t\t\t\taddFileToGraph(graph, fullPath);\n\t\t\t\t\t\t\tprocessedFiles.add(fullPath);\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} catch {}\n\t};\n\n\tfor (const dir of directories) {\n\t\tconst resolvedDir = resolve(dir);\n\t\t// Only scan directories that exist\n\t\tif (existsSync(resolvedDir)) {\n\t\t\tscanDirectory(resolvedDir); // Normalize directory paths\n\t\t}\n\t}\n};\n",
38
41
  "/* Module Version Tracker for Server-Client Synchronization\n Tracks module versions to ensure server and client stay in sync */\n\n/* Module version: increments each time a module is updated */\nexport type ModuleVersion = number;\n\n/* Module version map: module path -> version */\nexport type ModuleVersions = Map<string, ModuleVersion>;\n\n/* Global module version counter */\nlet globalVersionCounter = 0;\n\n/* Get next version number */\nexport const getNextVersion = () => ++globalVersionCounter;\n\n/* Create a new module version tracker */\nexport const createModuleVersionTracker = () =>\n\tnew Map<string, ModuleVersion>();\n\n/* Increment version for a module */\nexport const incrementModuleVersion = (\n\tversions: ModuleVersions,\n\tmodulePath: string\n) => {\n\tconst newVersion = getNextVersion();\n\tversions.set(modulePath, newVersion);\n\n\treturn newVersion;\n};\n\n/* Increment versions for multiple modules */\nexport const incrementModuleVersions = (\n\tversions: ModuleVersions,\n\tmodulePaths: string[]\n) => {\n\tconst updated = new Map<string, ModuleVersion>();\n\tfor (const path of modulePaths) {\n\t\tconst version = incrementModuleVersion(versions, path);\n\t\tupdated.set(path, version);\n\t}\n\n\treturn updated;\n};\n\n/* Serialize module versions for transmission */\nexport const serializeModuleVersions = (versions: ModuleVersions) => {\n\tconst serialized: Record<string, number> = {};\n\tfor (const [path, version] of versions.entries()) {\n\t\tserialized[path] = version;\n\t}\n\n\treturn serialized;\n};\n",
39
42
  "import { resolve } from 'node:path';\nimport type { BuildConfig } from '../../types/build';\n\ntype ResolvedPaths = {\n\tbuildDir: string;\n\tassetsDir?: string;\n\treactDir?: string;\n\tsvelteDir?: string;\n\tvueDir?: string;\n\tangularDir?: string;\n\thtmlDir?: string;\n\thtmxDir?: string;\n};\n\n/** Normalize and default build paths so HMR works outside the example app. */\nexport const resolveBuildPaths = (config: BuildConfig) => {\n\tconst cwd = process.cwd();\n\t// Normalize to forward slashes for cross-platform compatibility (Windows uses backslashes)\n\tconst normalize = (path: string) => path.replace(/\\\\/g, '/');\n\tconst withDefault = (value: string | undefined, fallback: string) =>\n\t\tnormalize(resolve(cwd, value ?? fallback));\n\tconst optional = (value: string | undefined) =>\n\t\tvalue ? normalize(resolve(cwd, value)) : undefined;\n\n\treturn {\n\t\tbuildDir: withDefault(config.buildDirectory, 'build'),\n\t\tassetsDir: optional(config.assetsDirectory),\n\t\treactDir: optional(config.reactDirectory),\n\t\tsvelteDir: optional(config.svelteDirectory),\n\t\tvueDir: optional(config.vueDirectory),\n\t\tangularDir: optional(config.angularDirectory),\n\t\thtmlDir: optional(config.htmlDirectory),\n\t\thtmxDir: optional(config.htmxDirectory)\n\t};\n};\n\nexport type ResolvedBuildPaths = ReturnType<typeof resolveBuildPaths>;\n",
@@ -56,7 +59,7 @@
56
59
  "/**\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",
57
60
  "/**\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"
58
61
  ],
59
- "mappings": "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",
60
- "debugId": "C34FE4C27524DD1E64756E2164756E21",
62
+ "mappings": "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",
63
+ "debugId": "8FDC61834737AD4664756E2164756E21",
61
64
  "names": []
62
65
  }
@@ -0,0 +1,8 @@
1
+ /** Compute the deterministic vendor paths mapping (no build needed).
2
+ * This can be called before vendor files exist on disk. */
3
+ export declare const computeVendorPaths: () => Record<string, string>;
4
+ /** Build React packages into stable vendor files (no content hash).
5
+ * Output goes to {buildDir}/react/vendor/ with predictable names like
6
+ * react.js, react-dom_client.js, etc. These files never change between
7
+ * rebuilds, so the browser always loads React from a single source. */
8
+ export declare const buildReactVendor: (buildDir: string) => Promise<void>;
@@ -0,0 +1,8 @@
1
+ /** Post-process bundled output files to rewrite bare React specifiers
2
+ * (e.g. `from "react"`) to stable vendor paths (e.g. `from "/vendor/react.js"`).
3
+ *
4
+ * This runs after Bun.build() when React is marked as external in dev mode.
5
+ * Bun preserves bare specifiers for external packages, but browsers can't
6
+ * resolve them. Rewriting to absolute URL paths lets the browser load
7
+ * the pre-built vendor files directly. */
8
+ export declare const rewriteReactImports: (outputPaths: string[], vendorPaths: Record<string, string>) => Promise<void>;
@@ -0,0 +1,7 @@
1
+ /** Module-level dev vendor paths state.
2
+ * Set by devBuild() before the initial build so that build() can
3
+ * externalize React and rewrite imports to stable vendor files.
4
+ * Production builds never call setDevVendorPaths, so the getter
5
+ * returns null and build() bundles React normally. */
6
+ export declare const setDevVendorPaths: (paths: Record<string, string>) => void;
7
+ export declare const getDevVendorPaths: () => Record<string, string> | null;
package/package.json CHANGED
@@ -41,7 +41,8 @@
41
41
  "name": "@absolutejs/absolute",
42
42
  "peerDependencies": {
43
43
  "elysia": "^1.4.0",
44
- "react": "^19.1.0",
44
+ "react": "^19.2.0",
45
+ "react-dom": "^19.2.0",
45
46
  "svelte": "^5.35.2",
46
47
  "vue": "^3.5.27"
47
48
  },
@@ -62,5 +63,5 @@
62
63
  "typecheck": "bun run tsc --noEmit"
63
64
  },
64
65
  "types": "./dist/src/index.d.ts",
65
- "version": "0.15.6"
66
+ "version": "0.15.8"
66
67
  }