@absolutejs/absolute 0.20.0-beta.126 → 0.20.0-beta.128

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +19 -0
  3. package/changelog.json +36 -0
  4. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  5. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  6. package/dist/angular/index.js +88 -35
  7. package/dist/angular/index.js.map +8 -7
  8. package/dist/angular/server.js +88 -35
  9. package/dist/angular/server.js.map +8 -7
  10. package/dist/build/buildWorker.js +9 -3
  11. package/dist/build.js +342 -263
  12. package/dist/build.js.map +14 -12
  13. package/dist/cli/{compile-smcnjyhb.js → compile-0epdbdcx.js} +1 -1
  14. package/dist/cli/config/server.js +91 -52
  15. package/dist/cli/{index-9q8yn5ax.js → index-54q7pxcx.js} +1 -0
  16. package/dist/cli/{index-fx42yxhy.js → index-79ppyst7.js} +1 -1
  17. package/dist/cli/index.js +4 -4
  18. package/dist/cli/{mobile-50c5tahh.js → mobile-49hyrgrj.js} +1 -1
  19. package/dist/cli/{prerender-vvrj9vjg.js → prerender-yex2zwj3.js} +1 -1
  20. package/dist/cli/{start-pdacfgcc.js → start-m0p0qbep.js} +1 -1
  21. package/dist/index.js +362 -279
  22. package/dist/index.js.map +17 -14
  23. package/dist/islands/index.js +10 -4
  24. package/dist/islands/index.js.map +5 -4
  25. package/dist/mobile/remoteMacAgentEntry.js +1 -1
  26. package/dist/react/index.js +114 -61
  27. package/dist/react/index.js.map +8 -7
  28. package/dist/react/server.js +105 -58
  29. package/dist/react/server.js.map +6 -6
  30. package/dist/src/core/requestContext.d.ts +5 -10
  31. package/dist/src/dev/restartScope.d.ts +1 -0
  32. package/dist/src/utils/index.d.ts +1 -0
  33. package/dist/src/utils/isFile.d.ts +4 -0
  34. package/dist/src/utils/isPrerendering.d.ts +5 -0
  35. package/dist/src/utils/ssrErrorPage.d.ts +3 -0
  36. package/dist/svelte/index.js +114 -61
  37. package/dist/svelte/index.js.map +8 -7
  38. package/dist/svelte/server.js +105 -58
  39. package/dist/svelte/server.js.map +6 -6
  40. package/dist/vue/index.js +114 -61
  41. package/dist/vue/index.js.map +8 -7
  42. package/dist/vue/server.js +105 -58
  43. package/dist/vue/server.js.map +6 -6
  44. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -5944,7 +5944,96 @@ var init_compileTailwind = __esm(() => {
5944
5944
  // src/utils/runtimeMode.ts
5945
5945
  var ENV_VAR = "NODE_ENV", isDevelopmentRuntime = () => process.env[ENV_VAR] === "development", isProductionRuntime = () => process.env[ENV_VAR] === "production";
5946
5946
 
5947
+ // src/utils/ssrErrorPage.ts
5948
+ var exports_ssrErrorPage = {};
5949
+ __export(exports_ssrErrorPage, {
5950
+ buildErrorPage: () => buildErrorPage,
5951
+ ssrErrorPage: () => ssrErrorPage
5952
+ });
5953
+ var errorPageHtml = ({
5954
+ framework,
5955
+ hint,
5956
+ kind,
5957
+ message,
5958
+ script = ""
5959
+ }) => {
5960
+ const frameworkColors = {
5961
+ angular: "#dd0031",
5962
+ html: "#e34c26",
5963
+ htmx: "#1a365d",
5964
+ react: "#61dafb",
5965
+ svelte: "#ff3e00",
5966
+ vue: "#42b883"
5967
+ };
5968
+ const accent = frameworkColors[framework] ?? "#94a3b8";
5969
+ const label = framework.charAt(0).toUpperCase() + framework.slice(1);
5970
+ return `<!DOCTYPE html>
5971
+ <html>
5972
+ <head>
5973
+ <meta charset="utf-8">
5974
+ <meta name="viewport" content="width=device-width, initial-scale=1">
5975
+ <title>SSR Error - AbsoluteJS</title>
5976
+ <style>
5977
+ *{margin:0;padding:0;box-sizing:border-box}
5978
+ body{min-height:100vh;background:linear-gradient(135deg,rgba(15,23,42,0.98) 0%,rgba(30,41,59,0.98) 100%);color:#e2e8f0;font-family:"JetBrains Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.6;display:flex;align-items:flex-start;justify-content:center;padding:32px}
5979
+ .card{max-width:720px;width:100%;background:rgba(30,41,59,0.6);border:1px solid rgba(71,85,105,0.5);border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.05);overflow:hidden}
5980
+ .header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:rgba(15,23,42,0.5);border-bottom:1px solid rgba(71,85,105,0.4)}
5981
+ .brand{font-weight:700;font-size:20px;color:#fff;letter-spacing:-0.02em}
5982
+ .badge{padding:5px 10px;border-radius:8px;font-size:12px;font-weight:600;background:${accent};color:#fff;opacity:0.95;box-shadow:0 2px 4px rgba(0,0,0,0.2)}
5983
+ .kind{color:#94a3b8;font-size:13px;font-weight:500}
5984
+ .content{padding:24px}
5985
+ .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#94a3b8;margin-bottom:8px}
5986
+ .message{margin:0;padding:16px 20px;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.25);border-radius:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:#fca5a5;font-size:13px;line-height:1.5}
5987
+ .hint{margin-top:20px;padding:12px 20px;background:rgba(71,85,105,0.3);border-radius:10px;border:1px solid rgba(71,85,105,0.4);color:#cbd5e1;font-size:13px}
5988
+ </style>
5989
+ </head>
5990
+ <body>
5991
+ <div class="card">
5992
+ <div class="header">
5993
+ <div style="display:flex;align-items:center;gap:12px">
5994
+ <span class="brand">AbsoluteJS</span>
5995
+ <span class="badge">${label}</span>
5996
+ </div>
5997
+ <span class="kind">${kind}</span>
5998
+ </div>
5999
+ <div class="content">
6000
+ <div class="label">What went wrong</div>
6001
+ <pre class="message">${message.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;")}</pre>
6002
+ <div class="hint">${hint}</div>
6003
+ </div>
6004
+ </div>
6005
+ ${script}
6006
+ </body>
6007
+ </html>`;
6008
+ }, RELOAD_ON_REBUILD = `<script>(()=>{const url=(location.protocol==='https:'?'wss://':'ws://')+location.host+'/hmr';let seen=false;const connect=()=>{const socket=new WebSocket(url);socket.onopen=()=>{if(seen)location.reload();seen=true;};socket.onmessage=(event)=>{try{const message=JSON.parse(event.data);const type=message&&typeof message.type==='string'?message.type:'';if(type==='rebuild-complete'||type==='server-entry-reloaded'||type.endsWith('-update'))location.reload();}catch{}};socket.onclose=()=>setTimeout(connect,500);};connect();})();</script>`, buildErrorPage = (framework, pageName, error) => errorPageHtml({
6009
+ framework,
6010
+ hint: "Fix the file and save. This page reloads by itself when the build succeeds.",
6011
+ kind: "Build Error",
6012
+ message: `${pageName || "This page"} could not be built.
6013
+
6014
+ ${error ?? "The dev-server terminal has the build output."}`,
6015
+ script: RELOAD_ON_REBUILD
6016
+ }), ssrErrorPage = (framework, error) => errorPageHtml({
6017
+ framework,
6018
+ hint: "A component threw during server-side rendering. Check the terminal for the full stack trace.",
6019
+ kind: "Server Render Error",
6020
+ message: error instanceof Error ? error.message : String(error)
6021
+ });
6022
+
5947
6023
  // src/core/requestContext.ts
6024
+ var exports_requestContext = {};
6025
+ __export(exports_requestContext, {
6026
+ absoluteRequestContext: () => absoluteRequestContext,
6027
+ devBuildErrorResponse: () => devBuildErrorResponse,
6028
+ getCurrentAbsoluteRequest: () => getCurrentAbsoluteRequest,
6029
+ getDevPageWarmer: () => getDevPageWarmer,
6030
+ getMissingAssets: () => getMissingAssets,
6031
+ recordMissingAsset: () => recordMissingAsset,
6032
+ resolveDeferredPageAssets: () => resolveDeferredPageAssets,
6033
+ runWithAbsoluteRequest: () => runWithAbsoluteRequest,
6034
+ setDevPageWarmer: () => setDevPageWarmer,
6035
+ withDeferredStylesheets: () => withDeferredStylesheets
6036
+ });
5948
6037
  import { AsyncLocalStorage } from "async_hooks";
5949
6038
  import { Elysia } from "elysia";
5950
6039
  var REQUEST_STORAGE_KEY, PAGE_WARMER_KEY, isAbsoluteRequestStorage = (value) => typeof value === "object" && value !== null && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function", getRequestStorage = () => {
@@ -5957,7 +6046,17 @@ var REQUEST_STORAGE_KEY, PAGE_WARMER_KEY, isAbsoluteRequestStorage = (value) =>
5957
6046
  const storage = new AsyncLocalStorage;
5958
6047
  Reflect.set(globalThis, REQUEST_STORAGE_KEY, storage);
5959
6048
  return storage;
5960
- }, absoluteRequestContext, getCurrentAbsoluteRequest = () => getRequestStorage()?.getStore()?.request, runWithAbsoluteRequest = (request, callback) => ensureRequestStorage().run({ request }, callback), CSS_KEY_RE, isDevPageWarmer = (value) => typeof value === "object" && value !== null && ("describe" in value) && typeof value.describe === "function" && ("warm" in value) && typeof value.warm === "function" && ("lookup" in value) && typeof value.lookup === "function", getDevPageWarmer = () => {
6049
+ }, absoluteRequestContext, getCurrentAbsoluteRequest = () => getRequestStorage()?.getStore()?.request, runWithAbsoluteRequest = (request, callback) => ensureRequestStorage().run({ request }, callback), CSS_KEY_RE, isDevPageWarmer = (value) => typeof value === "object" && value !== null && ("describe" in value) && typeof value.describe === "function" && ("warm" in value) && typeof value.warm === "function" && ("lookup" in value) && typeof value.lookup === "function", devBuildErrorResponse = (framework, assets) => {
6050
+ if (!assets?.failed)
6051
+ return null;
6052
+ return new Response(buildErrorPage(framework, assets.name, assets.error), {
6053
+ headers: {
6054
+ "cache-control": "no-store",
6055
+ "content-type": "text/html; charset=utf-8"
6056
+ },
6057
+ status: 500
6058
+ });
6059
+ }, getDevPageWarmer = () => {
5961
6060
  const value = Reflect.get(globalThis, PAGE_WARMER_KEY);
5962
6061
  return isDevPageWarmer(value) ? value : undefined;
5963
6062
  }, getMissingAssets = () => {
@@ -5987,6 +6086,7 @@ var REQUEST_STORAGE_KEY, PAGE_WARMER_KEY, isAbsoluteRequestStorage = (value) =>
5987
6086
  const cssHrefs = () => cssKeys.map(lookup).filter((href) => href.length > 0 && href.startsWith("/"));
5988
6087
  const assets = {
5989
6088
  cssHrefs,
6089
+ error: failed ? warmer.lastError?.() : undefined,
5990
6090
  failed,
5991
6091
  lookup,
5992
6092
  name: described.name
@@ -8205,6 +8305,11 @@ var init_svelteServerModule = __esm(() => {
8205
8305
  });
8206
8306
  });
8207
8307
 
8308
+ // src/utils/isFile.ts
8309
+ import { statSync } from "fs";
8310
+ var isFile = (path) => statSync(path, { throwIfNoEntry: false })?.isFile() ?? false;
8311
+ var init_isFile = () => {};
8312
+
8208
8313
  // src/utils/vueCompiler.ts
8209
8314
  var exports_vueCompiler = {};
8210
8315
  __export(exports_vueCompiler, {
@@ -8223,7 +8328,7 @@ var createVueCompiler = async () => {
8223
8328
  };
8224
8329
 
8225
8330
  // src/core/vueServerModule.ts
8226
- import { existsSync as existsSync6, readFileSync as readFileSync6, realpathSync } from "fs";
8331
+ import { readFileSync as readFileSync6, realpathSync } from "fs";
8227
8332
  import { mkdir as mkdir4 } from "fs/promises";
8228
8333
  import { dirname as dirname7, join as join9, relative as relative4, resolve as resolve7 } from "path";
8229
8334
  var {Transpiler } = globalThis.Bun;
@@ -8270,9 +8375,9 @@ var ISLAND_COMPONENT_ID_LENGTH = 8, serverCacheRoot3, compiledModuleCache3, tran
8270
8375
  const hasScript = descriptor.script || descriptor.scriptSetup;
8271
8376
  const compiledScript = hasScript ? compiler.compileScript(descriptor, {
8272
8377
  fs: {
8273
- fileExists: existsSync6,
8378
+ fileExists: isFile,
8274
8379
  realpath: realpathSync,
8275
- readFile: (file) => existsSync6(file) ? readFileSync6(file, "utf-8") : undefined
8380
+ readFile: (file) => isFile(file) ? readFileSync6(file, "utf-8") : undefined
8276
8381
  },
8277
8382
  id: componentId,
8278
8383
  inlineTemplate: false
@@ -8317,6 +8422,7 @@ var ISLAND_COMPONENT_ID_LENGTH = 8, serverCacheRoot3, compiledModuleCache3, tran
8317
8422
  };
8318
8423
  var init_vueServerModule = __esm(() => {
8319
8424
  init_constants();
8425
+ init_isFile();
8320
8426
  serverCacheRoot3 = join9(process.cwd(), ".absolutejs", "islands", "vue");
8321
8427
  compiledModuleCache3 = new Map;
8322
8428
  transpiler2 = new Transpiler({ loader: "ts", target: "browser" });
@@ -9594,11 +9700,11 @@ var BOOTSTRAP_MANIFEST_KEY = "BootstrapClient", ISLAND_MARKER = 'data-island="tr
9594
9700
  };
9595
9701
 
9596
9702
  // src/plugins/openApiPlugin.ts
9597
- import { existsSync as existsSync7, readFileSync as readFileSync8 } from "fs";
9703
+ import { existsSync as existsSync6, readFileSync as readFileSync8 } from "fs";
9598
9704
  import { join as join11 } from "path";
9599
9705
  var FALLBACK_NAME = "AbsoluteJS API", FALLBACK_VERSION = "1.0.0", projectInfo = (cwd) => {
9600
9706
  const path = join11(cwd, "package.json");
9601
- if (!existsSync7(path)) {
9707
+ if (!existsSync6(path)) {
9602
9708
  return { name: FALLBACK_NAME, version: FALLBACK_VERSION };
9603
9709
  }
9604
9710
  try {
@@ -9651,11 +9757,11 @@ var FALLBACK_NAME = "AbsoluteJS API", FALLBACK_VERSION = "1.0.0", projectInfo =
9651
9757
  var init_openApiPlugin = () => {};
9652
9758
 
9653
9759
  // src/plugins/telemetryPlugin.ts
9654
- import { existsSync as existsSync8, readFileSync as readFileSync9 } from "fs";
9760
+ import { existsSync as existsSync7, readFileSync as readFileSync9 } from "fs";
9655
9761
  import { join as join12 } from "path";
9656
9762
  var OTEL_PACKAGE = "@elysia/opentelemetry", readPackageName = (cwd) => {
9657
9763
  const path = join12(cwd, "package.json");
9658
- if (!existsSync8(path))
9764
+ if (!existsSync7(path))
9659
9765
  return null;
9660
9766
  try {
9661
9767
  const pkg = JSON.parse(readFileSync9(path, "utf-8"));
@@ -9832,10 +9938,10 @@ var init_loadIslandRegistry = __esm(() => {
9832
9938
  });
9833
9939
 
9834
9940
  // src/build/scanEntryPoints.ts
9835
- import { existsSync as existsSync9 } from "fs";
9941
+ import { existsSync as existsSync8 } from "fs";
9836
9942
  var {Glob } = globalThis.Bun;
9837
9943
  var scanEntryPoints = async (dir, pattern) => {
9838
- if (!existsSync9(dir))
9944
+ if (!existsSync8(dir))
9839
9945
  return [];
9840
9946
  const entryPaths = [];
9841
9947
  const glob = new Glob(pattern);
@@ -11371,12 +11477,12 @@ var init_associationFiles = __esm(() => {
11371
11477
  });
11372
11478
 
11373
11479
  // src/cli/scripts/telemetry.ts
11374
- import { existsSync as existsSync10, mkdirSync as mkdirSync2, readFileSync as readFileSync12, writeFileSync as writeFileSync4 } from "fs";
11480
+ import { existsSync as existsSync9, mkdirSync as mkdirSync2, readFileSync as readFileSync12, writeFileSync as writeFileSync4 } from "fs";
11375
11481
  import { homedir } from "os";
11376
11482
  import { join as join13 } from "path";
11377
11483
  var configDir, configPath, getTelemetryConfig = () => {
11378
11484
  try {
11379
- if (!existsSync10(configPath))
11485
+ if (!existsSync9(configPath))
11380
11486
  return null;
11381
11487
  const raw = readFileSync12(configPath, "utf-8");
11382
11488
  const config = JSON.parse(raw);
@@ -11391,11 +11497,11 @@ var init_telemetry = __esm(() => {
11391
11497
  });
11392
11498
 
11393
11499
  // src/cli/telemetryEvent.ts
11394
- import { existsSync as existsSync11, readFileSync as readFileSync13 } from "fs";
11500
+ import { existsSync as existsSync10, readFileSync as readFileSync13 } from "fs";
11395
11501
  import { arch, platform } from "os";
11396
11502
  import { dirname as dirname10, join as join14, parse } from "path";
11397
11503
  var checkCandidate = (candidate) => {
11398
- if (!existsSync11(candidate)) {
11504
+ if (!existsSync10(candidate)) {
11399
11505
  return null;
11400
11506
  }
11401
11507
  const pkg = JSON.parse(readFileSync13(candidate, "utf-8"));
@@ -11527,7 +11633,7 @@ var init_mobilePreview = __esm(() => {
11527
11633
  });
11528
11634
 
11529
11635
  // src/mobile/deviceCapabilities.ts
11530
- import { existsSync as existsSync12, readFileSync as readFileSync14 } from "fs";
11636
+ import { existsSync as existsSync11, readFileSync as readFileSync14 } from "fs";
11531
11637
  import { extname as extname5, join as join15, relative as relative6, resolve as resolve14 } from "path";
11532
11638
  import { fileURLToPath as fileURLToPath2 } from "url";
11533
11639
  import ts2 from "typescript";
@@ -11731,7 +11837,7 @@ var DEVICES_PACKAGE = "@absolutejs/devices", ABSOLUTE_MOBILE_SHELL_DEVICE_CAPABI
11731
11837
  return packages;
11732
11838
  }, discoverAbsoluteDeviceCapabilities = (projectRoot, providers = loadAbsoluteDeviceCapabilityProviders(projectRoot)) => {
11733
11839
  const root = resolve14(projectRoot);
11734
- if (!existsSync12(root))
11840
+ if (!existsSync11(root))
11735
11841
  return [];
11736
11842
  const known = new Set(Object.keys(providers));
11737
11843
  const capabilities = new Set;
@@ -14558,22 +14664,22 @@ var init_verifyAngularCoreUniqueness = __esm(() => {
14558
14664
  });
14559
14665
 
14560
14666
  // src/build/generateReactIndexes.ts
14561
- import { existsSync as existsSync13, mkdirSync as mkdirSync3 } from "fs";
14667
+ import { existsSync as existsSync12, mkdirSync as mkdirSync3 } from "fs";
14562
14668
  import { readdir as readdir3, rm as rm3, writeFile as writeFile3 } from "fs/promises";
14563
14669
  import { basename as basename4, join as join20, relative as relative8, resolve as resolve18, sep as sep2 } from "path";
14564
14670
  var {Glob: Glob2 } = globalThis.Bun;
14565
14671
  var indexContentCache, resolveDevClientDir = () => {
14566
14672
  const projectRoot = process.cwd();
14567
14673
  const fromPackage = resolve18(import.meta.dir, "../dev/client");
14568
- if (existsSync13(fromPackage)) {
14674
+ if (existsSync12(fromPackage)) {
14569
14675
  return fromPackage;
14570
14676
  }
14571
14677
  const fromNodeModules = resolve18(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
14572
- if (existsSync13(fromNodeModules))
14678
+ if (existsSync12(fromNodeModules))
14573
14679
  return fromNodeModules;
14574
14680
  return resolve18(import.meta.dir, "./dev/client");
14575
14681
  }, devClientDir, errorOverlayPath, hmrClientPath, refreshSetupPath, reactRefreshRuntimePath, generateReactIndexFiles = async (reactPagesDirectory, reactIndexesDirectory, isDev2 = false) => {
14576
- if (!existsSync13(reactIndexesDirectory)) {
14682
+ if (!existsSync12(reactIndexesDirectory)) {
14577
14683
  mkdirSync3(reactIndexesDirectory, { recursive: true });
14578
14684
  }
14579
14685
  const CONVENTION_RE = /^(?:(.+)\.)?(error|loading|not-found)\.[^.]+$/;
@@ -14919,7 +15025,7 @@ var indexContentCache, resolveDevClientDir = () => {
14919
15025
  const hasher = new Bun.CryptoHasher("md5");
14920
15026
  hasher.update(content);
14921
15027
  const contentHash = hasher.digest("hex");
14922
- if (indexContentCache.get(indexPath) === contentHash && existsSync13(indexPath)) {
15028
+ if (indexContentCache.get(indexPath) === contentHash && existsSync12(indexPath)) {
14923
15029
  return;
14924
15030
  }
14925
15031
  indexContentCache.set(indexPath, contentHash);
@@ -14930,7 +15036,7 @@ var indexContentCache, resolveDevClientDir = () => {
14930
15036
  return;
14931
15037
  }
14932
15038
  const refreshPath = join20(reactIndexesDirectory, "_refresh.tsx");
14933
- if (!existsSync13(refreshPath)) {
15039
+ if (!existsSync12(refreshPath)) {
14934
15040
  await writeFile3(refreshPath, `import '${refreshSetupPath}';
14935
15041
  import 'react';
14936
15042
  import 'react-dom/client';
@@ -15009,14 +15115,14 @@ var init_outputLogs = __esm(() => {
15009
15115
  });
15010
15116
 
15011
15117
  // src/build/stampedFileCache.ts
15012
- import { statSync } from "fs";
15118
+ import { statSync as statSync2 } from "fs";
15013
15119
  var STAMP_SETTLE_MS = 2000, createStampedFileCache = () => {
15014
15120
  const entries = new Map;
15015
15121
  const seen = new Set;
15016
15122
  const read = (path2, compute) => {
15017
15123
  let stamp;
15018
15124
  try {
15019
- const stats = statSync(path2);
15125
+ const stats = statSync2(path2);
15020
15126
  stamp = { mtimeMs: stats.mtimeMs, size: stats.size };
15021
15127
  } catch {
15022
15128
  return compute();
@@ -15048,7 +15154,7 @@ var init_stampedFileCache = () => {};
15048
15154
  // src/build/scanConventions.ts
15049
15155
  import { basename as basename5 } from "path";
15050
15156
  var {Glob: Glob3 } = globalThis.Bun;
15051
- import { existsSync as existsSync14 } from "fs";
15157
+ import { existsSync as existsSync13 } from "fs";
15052
15158
  var CONVENTION_RE, classifyFile = (file2, pageFiles, defaults, pages) => {
15053
15159
  const fileName = basename5(file2);
15054
15160
  const match = CONVENTION_RE.exec(fileName);
@@ -15073,7 +15179,7 @@ var CONVENTION_RE, classifyFile = (file2, pageFiles, defaults, pages) => {
15073
15179
  else if (kind === "loading")
15074
15180
  pages[pageName].loading = file2;
15075
15181
  }, scanConventions = async (pagesDir, pattern) => {
15076
- if (!existsSync14(pagesDir)) {
15182
+ if (!existsSync13(pagesDir)) {
15077
15183
  const pageFiles2 = [];
15078
15184
  return { conventions: undefined, pageFiles: pageFiles2 };
15079
15185
  }
@@ -15135,7 +15241,7 @@ __export(exports_serverExternals, {
15135
15241
  createDevServerExternalsPlugin: () => createDevServerExternalsPlugin,
15136
15242
  packageNameOf: () => packageNameOf
15137
15243
  });
15138
- import { existsSync as existsSync15, readdirSync, readFileSync as readFileSync17 } from "fs";
15244
+ import { existsSync as existsSync14, readdirSync, readFileSync as readFileSync17 } from "fs";
15139
15245
  import { isBuiltin } from "module";
15140
15246
  import { dirname as dirname14, extname as extname7, join as join21 } from "path";
15141
15247
  var DEFAULT_BUNDLED_SERVER_DEPENDENCIES, buildServerBundleExternals = (angularVendorPaths) => {
@@ -15194,7 +15300,7 @@ var DEFAULT_BUNDLED_SERVER_DEPENDENCIES, buildServerBundleExternals = (angularVe
15194
15300
  let dir = dirname14(filePath);
15195
15301
  while (true) {
15196
15302
  const manifestPath = join21(dir, "package.json");
15197
- if (existsSync15(manifestPath) && hasPackageName(manifestPath))
15303
+ if (existsSync14(manifestPath) && hasPackageName(manifestPath))
15198
15304
  return dir;
15199
15305
  const parent = dirname14(dir);
15200
15306
  if (parent === dir)
@@ -15463,7 +15569,7 @@ var exports_staticAnalyzeSpaRoutes = {};
15463
15569
  __export(exports_staticAnalyzeSpaRoutes, {
15464
15570
  analyzeAngularSpaRoutes: () => analyzeAngularSpaRoutes
15465
15571
  });
15466
- import { existsSync as existsSync16, promises as fs } from "fs";
15572
+ import { existsSync as existsSync15, promises as fs } from "fs";
15467
15573
  import { join as join23 } from "path";
15468
15574
  import ts4 from "typescript";
15469
15575
  var DYNAMIC_SEGMENT_PATTERN, pathHasDynamic = (path2) => path2.split("/").some((seg) => DYNAMIC_SEGMENT_PATTERN.test(seg) || seg === "**"), importsSymbolFrom = (sourceFile, localName, moduleSpecifier) => {
@@ -15670,7 +15776,7 @@ var DYNAMIC_SEGMENT_PATTERN, pathHasDynamic = (path2) => path2.split("/").some((
15670
15776
  }
15671
15777
  await Promise.all(directories.map((directory) => walkTsFiles(directory, files)));
15672
15778
  }, analyzeAngularSpaRoutes = async (angularDirectory) => {
15673
- if (!existsSync16(angularDirectory))
15779
+ if (!existsSync15(angularDirectory))
15674
15780
  return [];
15675
15781
  const tsFiles = [];
15676
15782
  await walkTsFiles(angularDirectory, tsFiles);
@@ -15695,7 +15801,7 @@ var exports_staticAnalyzeSpaRoutes2 = {};
15695
15801
  __export(exports_staticAnalyzeSpaRoutes2, {
15696
15802
  analyzeReactSpaRoutes: () => analyzeReactSpaRoutes
15697
15803
  });
15698
- import { existsSync as existsSync17, promises as fs2 } from "fs";
15804
+ import { existsSync as existsSync16, promises as fs2 } from "fs";
15699
15805
  import { join as join24 } from "path";
15700
15806
  import ts5 from "typescript";
15701
15807
  var DYNAMIC_SEGMENT_PATTERN2, pathHasDynamic2 = (path2) => path2.split("/").some((seg) => DYNAMIC_SEGMENT_PATTERN2.test(seg) || seg === "**"), readStringLiteral2 = (expression) => {
@@ -15884,7 +15990,7 @@ var DYNAMIC_SEGMENT_PATTERN2, pathHasDynamic2 = (path2) => path2.split("/").some
15884
15990
  }
15885
15991
  await Promise.all(directories.map((directory) => walkSourceFiles(directory, files)));
15886
15992
  }, analyzeReactSpaRoutes = async (reactDirectory) => {
15887
- if (!existsSync17(reactDirectory))
15993
+ if (!existsSync16(reactDirectory))
15888
15994
  return [];
15889
15995
  const files = [];
15890
15996
  await walkSourceFiles(reactDirectory, files);
@@ -15909,7 +16015,7 @@ var exports_staticAnalyzeSpaRoutes3 = {};
15909
16015
  __export(exports_staticAnalyzeSpaRoutes3, {
15910
16016
  analyzeSvelteSpaRoutes: () => analyzeSvelteSpaRoutes
15911
16017
  });
15912
- import { existsSync as existsSync18, promises as fs3 } from "fs";
16018
+ import { existsSync as existsSync17, promises as fs3 } from "fs";
15913
16019
  import { join as join25 } from "path";
15914
16020
  var DYNAMIC_SEGMENT_PATTERN3, pathHasDynamic3 = (path2) => path2.split("/").some((seg) => DYNAMIC_SEGMENT_PATTERN3.test(seg) || seg === "**"), joinSegments3 = (parent, child) => {
15915
16021
  if (!child)
@@ -15992,7 +16098,7 @@ var DYNAMIC_SEGMENT_PATTERN3, pathHasDynamic3 = (path2) => path2.split("/").some
15992
16098
  }
15993
16099
  await Promise.all(directories.map((directory) => walkSvelteFiles(directory, files)));
15994
16100
  }, analyzeSvelteSpaRoutes = async (svelteDirectory) => {
15995
- if (!existsSync18(svelteDirectory))
16101
+ if (!existsSync17(svelteDirectory))
15996
16102
  return [];
15997
16103
  const files = [];
15998
16104
  await walkSvelteFiles(svelteDirectory, files);
@@ -16019,7 +16125,7 @@ var exports_staticAnalyzeSpaRoutes4 = {};
16019
16125
  __export(exports_staticAnalyzeSpaRoutes4, {
16020
16126
  analyzeVueSpaRoutes: () => analyzeVueSpaRoutes
16021
16127
  });
16022
- import { existsSync as existsSync19, promises as fs4 } from "fs";
16128
+ import { existsSync as existsSync18, promises as fs4 } from "fs";
16023
16129
  import { join as join26 } from "path";
16024
16130
  import ts6 from "typescript";
16025
16131
  var DYNAMIC_SEGMENT_PATTERN4, pathHasDynamic4 = (path2) => path2.split("/").some((seg) => DYNAMIC_SEGMENT_PATTERN4.test(seg) || seg === "**"), readStringLiteral3 = (expression) => {
@@ -16262,7 +16368,7 @@ var DYNAMIC_SEGMENT_PATTERN4, pathHasDynamic4 = (path2) => path2.split("/").some
16262
16368
  }
16263
16369
  await Promise.all(directories.map((directory) => walkSourceFiles2(directory, files)));
16264
16370
  }, analyzeVueSpaRoutes = async (vueDirectory) => {
16265
- if (!existsSync19(vueDirectory))
16371
+ if (!existsSync18(vueDirectory))
16266
16372
  return [];
16267
16373
  const files = [];
16268
16374
  await walkSourceFiles2(vueDirectory, files);
@@ -16519,10 +16625,10 @@ var init_generateSitemap = __esm(() => {
16519
16625
  });
16520
16626
 
16521
16627
  // src/build/scanCssEntryPoints.ts
16522
- import { existsSync as existsSync20 } from "fs";
16628
+ import { existsSync as existsSync19 } from "fs";
16523
16629
  var {Glob: Glob4 } = globalThis.Bun;
16524
16630
  var scanCssEntryPoints = async (dir, ignore) => {
16525
- if (!existsSync20(dir))
16631
+ if (!existsSync19(dir))
16526
16632
  return [];
16527
16633
  const entryPaths = [];
16528
16634
  const glob = new Glob4("**/*.{css,scss,sass,less,styl,stylus}");
@@ -16539,7 +16645,7 @@ var init_scanCssEntryPoints = __esm(() => {
16539
16645
  });
16540
16646
 
16541
16647
  // src/utils/imageProcessing.ts
16542
- import { existsSync as existsSync21, mkdirSync as mkdirSync4, readFileSync as readFileSync19, writeFileSync as writeFileSync5 } from "fs";
16648
+ import { existsSync as existsSync20, mkdirSync as mkdirSync4, readFileSync as readFileSync19, writeFileSync as writeFileSync5 } from "fs";
16543
16649
  import { join as join27, resolve as resolve20 } from "path";
16544
16650
  var DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, DEFAULT_QUALITY, OPTIMIZATION_ENDPOINT = "/_absolute/image", BLUR_DEVIATION = 20, sharpModule = undefined, sharpLoaded = false, sharpWarned = false, snapToSize = (target, sizes) => {
16545
16651
  for (const size of sizes) {
@@ -16598,7 +16704,7 @@ var DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, DEFAULT_QUALITY, OPTIMIZATION_END
16598
16704
  return [...device, ...image2].sort((left, right) => left - right);
16599
16705
  }, getCacheDir = (buildDir, cacheDirectory) => {
16600
16706
  const dir = cacheDirectory ? resolve20(cacheDirectory) : join27(buildDir, ".cache", "images");
16601
- if (!existsSync21(dir))
16707
+ if (!existsSync20(dir))
16602
16708
  mkdirSync4(dir, { recursive: true });
16603
16709
  return dir;
16604
16710
  }, getCacheKey = (url, width, quality, format) => {
@@ -16690,7 +16796,7 @@ var DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, DEFAULT_QUALITY, OPTIMIZATION_END
16690
16796
  }, readFromCache = (cacheDir, cacheKey2) => {
16691
16797
  const metaPath = join27(cacheDir, `${cacheKey2}.meta`);
16692
16798
  const dataPath = join27(cacheDir, `${cacheKey2}.data`);
16693
- if (!existsSync21(metaPath) || !existsSync21(dataPath))
16799
+ if (!existsSync20(metaPath) || !existsSync20(dataPath))
16694
16800
  return null;
16695
16801
  try {
16696
16802
  const meta = JSON.parse(readFileSync19(metaPath, "utf-8"));
@@ -16861,17 +16967,17 @@ var exports_buildHMRClient = {};
16861
16967
  __export(exports_buildHMRClient, {
16862
16968
  buildHMRClient: () => buildHMRClient
16863
16969
  });
16864
- import { existsSync as existsSync22 } from "fs";
16970
+ import { existsSync as existsSync21 } from "fs";
16865
16971
  import { resolve as resolve21 } from "path";
16866
16972
  var {build: bunBuild } = globalThis.Bun;
16867
16973
  var resolveHmrClientPath = () => {
16868
16974
  const projectRoot = process.cwd();
16869
16975
  const fromSource = resolve21(import.meta.dir, "client/hmrClient.ts");
16870
- if (existsSync22(fromSource) && fromSource.startsWith(projectRoot)) {
16976
+ if (existsSync21(fromSource) && fromSource.startsWith(projectRoot)) {
16871
16977
  return fromSource;
16872
16978
  }
16873
16979
  const fromNodeModules = resolve21(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client/hmrClient.ts");
16874
- if (existsSync22(fromNodeModules))
16980
+ if (existsSync21(fromNodeModules))
16875
16981
  return fromNodeModules;
16876
16982
  return resolve21(import.meta.dir, "dev/client/hmrClient.ts");
16877
16983
  }, hmrClientPath2, buildHMRClient = async () => {
@@ -17021,10 +17127,10 @@ var devVendorPaths = null, getDevVendorPaths = () => devVendorPaths, setDevVendo
17021
17127
  };
17022
17128
 
17023
17129
  // src/dev/lazyPages.ts
17024
- import { existsSync as existsSync23 } from "fs";
17130
+ import { existsSync as existsSync22 } from "fs";
17025
17131
  import { basename as basename8, extname as extname8, isAbsolute as isAbsolute4, join as join28, resolve as resolve22 } from "path";
17026
17132
  var PAGE_EXTENSIONS, KEY_SUFFIXES, SRC_URL_PREFIX = "/@src/", isTruthyFlag2 = (value) => value === "1" || value === "true", looksLikePath = (value) => value.includes("/") || value.includes("\\") || value.startsWith("."), probeDirForName = ({ dir, framework }, name) => {
17027
- const extension = PAGE_EXTENSIONS[framework].find((ext) => existsSync23(join28(dir, `${name}${ext}`)));
17133
+ const extension = PAGE_EXTENSIONS[framework].find((ext) => existsSync22(join28(dir, `${name}${ext}`)));
17028
17134
  return extension === undefined ? undefined : toDevPageEntry(framework, join28(dir, `${name}${extension}`));
17029
17135
  }, resolveSourcePath = (keyOrPath) => {
17030
17136
  const stripped = keyOrPath.startsWith(SRC_URL_PREFIX) ? keyOrPath.slice(SRC_URL_PREFIX.length).split("?")[0] ?? "" : keyOrPath;
@@ -17132,7 +17238,7 @@ var init_lazyPages = __esm(() => {
17132
17238
  });
17133
17239
 
17134
17240
  // src/build/angularLinkerPlugin.ts
17135
- import { existsSync as existsSync24, mkdirSync as mkdirSync5, readFileSync as readFileSync20, writeFileSync as writeFileSync6 } from "fs";
17241
+ import { existsSync as existsSync23, mkdirSync as mkdirSync5, readFileSync as readFileSync20, writeFileSync as writeFileSync6 } from "fs";
17136
17242
  import { dirname as dirname15, join as join29, relative as relative10, resolve as resolve23 } from "path";
17137
17243
  import { createHash as createHash6 } from "crypto";
17138
17244
  var CACHE_ROOT, ANGULAR_LINKER_CANDIDATE_RE, createAngularLinkerPlugin = (linkerJitMode) => ({
@@ -17155,7 +17261,7 @@ var CACHE_ROOT, ANGULAR_LINKER_CANDIDATE_RE, createAngularLinkerPlugin = (linker
17155
17261
  }
17156
17262
  const hash = createHash6("md5").update(source).digest("hex");
17157
17263
  const cachePath = join29(cacheDir, `${hash}.js`);
17158
- if (existsSync24(cachePath)) {
17264
+ if (existsSync23(cachePath)) {
17159
17265
  return {
17160
17266
  contents: readFileSync20(cachePath, "utf-8"),
17161
17267
  loader: "js"
@@ -17172,7 +17278,7 @@ var CACHE_ROOT, ANGULAR_LINKER_CANDIDATE_RE, createAngularLinkerPlugin = (linker
17172
17278
  linkerPlugin = mod.createEs2015LinkerPlugin({
17173
17279
  fileSystem: {
17174
17280
  dirname: dirname15,
17175
- exists: existsSync24,
17281
+ exists: existsSync23,
17176
17282
  readFile: readFileSync20,
17177
17283
  relative: relative10,
17178
17284
  resolve: resolve23
@@ -17287,7 +17393,7 @@ var init_bunStringRawUnicodePlugin = __esm(() => {
17287
17393
  });
17288
17394
 
17289
17395
  // src/build/externalAssetPlugin.ts
17290
- import { copyFileSync, existsSync as existsSync25, mkdirSync as mkdirSync6, statSync as statSync2 } from "fs";
17396
+ import { copyFileSync, existsSync as existsSync24, mkdirSync as mkdirSync6, statSync as statSync3 } from "fs";
17291
17397
  import { basename as basename9, dirname as dirname16, join as join30, resolve as resolve24 } from "path";
17292
17398
  var createExternalAssetPlugin = (outDir, userSourceRoots = []) => ({
17293
17399
  name: "absolute-external-asset",
@@ -17309,12 +17415,12 @@ var createExternalAssetPlugin = (outDir, userSourceRoots = []) => ({
17309
17415
  if (!relPath)
17310
17416
  continue;
17311
17417
  const assetPath = resolve24(sourceDir, relPath);
17312
- if (!existsSync25(assetPath))
17418
+ if (!existsSync24(assetPath))
17313
17419
  continue;
17314
- if (!statSync2(assetPath).isFile())
17420
+ if (!statSync3(assetPath).isFile())
17315
17421
  continue;
17316
17422
  const targetPath = join30(outDir, basename9(assetPath));
17317
- if (existsSync25(targetPath))
17423
+ if (existsSync24(targetPath))
17318
17424
  continue;
17319
17425
  mkdirSync6(dirname16(targetPath), { recursive: true });
17320
17426
  copyFileSync(assetPath, targetPath);
@@ -17542,7 +17648,7 @@ var vueModuleOutputPath = (outputDir, sourcePath) => {
17542
17648
  var init_vueModuleOutputPath = () => {};
17543
17649
 
17544
17650
  // src/build/injectVueComposableTracking.ts
17545
- import { existsSync as existsSync26, readFileSync as readFileSync21, writeFileSync as writeFileSync7 } from "fs";
17651
+ import { existsSync as existsSync25, readFileSync as readFileSync21, writeFileSync as writeFileSync7 } from "fs";
17546
17652
  import { basename as basename11, isAbsolute as isAbsolute6, relative as relative12, resolve as resolve26 } from "path";
17547
17653
  var VUE_HMR_RUNTIME, USE_DECLARATION, MODULE_COMMENT, LINE_TERMINATOR, STATEMENT_OPENER, SOURCE_EXTENSIONS2, CHUNK_REFERENCE, isSharedChunkFile = (fileName) => fileName.startsWith("chunk-") && fileName.endsWith(".js"), collectModuleComments = (content) => Array.from(content.matchAll(MODULE_COMMENT), (match) => ({
17548
17654
  index: match.index,
@@ -17657,7 +17763,7 @@ ${wrapped.slice(insertAt)}`);
17657
17763
  if (!sourcePath)
17658
17764
  return absolutePath;
17659
17765
  const stem = sourcePath.replace(/\.[cm]?js$/, "");
17660
- const existing = SOURCE_EXTENSIONS2.map((extension) => `${stem}${extension}`).find((candidate) => existsSync26(candidate));
17766
+ const existing = SOURCE_EXTENSIONS2.map((extension) => `${stem}${extension}`).find((candidate) => existsSync25(candidate));
17661
17767
  return existing ?? `${stem}.ts`;
17662
17768
  };
17663
17769
  var init_injectVueComposableTracking = __esm(() => {
@@ -19073,7 +19179,7 @@ __export(exports_fastHmrCompiler, {
19073
19179
  takePendingModule: () => takePendingModule,
19074
19180
  tryFastHmr: () => tryFastHmr
19075
19181
  });
19076
- import { existsSync as existsSync27, readFileSync as readFileSync23, statSync as statSync3 } from "fs";
19182
+ import { existsSync as existsSync26, readFileSync as readFileSync23, statSync as statSync4 } from "fs";
19077
19183
  import { dirname as dirname19, extname as extname10, relative as relative15, resolve as resolve30 } from "path";
19078
19184
  import ts12 from "typescript";
19079
19185
  var fail = (reason, detail, location) => ({
@@ -19397,7 +19503,7 @@ var fail = (reason, detail, location) => ({
19397
19503
  `${base}/index.tsx`
19398
19504
  ];
19399
19505
  for (const candidate of candidates) {
19400
- if (!existsSync27(candidate))
19506
+ if (!existsSync26(candidate))
19401
19507
  continue;
19402
19508
  let content;
19403
19509
  try {
@@ -19980,7 +20086,7 @@ var fail = (reason, detail, location) => ({
19980
20086
  const cacheKey2 = `ts:${filePath}:${className}`;
19981
20087
  let stat3;
19982
20088
  try {
19983
- stat3 = statSync3(filePath);
20089
+ stat3 = statSync4(filePath);
19984
20090
  } catch {
19985
20091
  return null;
19986
20092
  }
@@ -20034,7 +20140,7 @@ var fail = (reason, detail, location) => ({
20034
20140
  const cacheKey2 = `dts:${dtsPath}:${className}`;
20035
20141
  let stat3;
20036
20142
  try {
20037
- stat3 = statSync3(dtsPath);
20143
+ stat3 = statSync4(dtsPath);
20038
20144
  } catch {
20039
20145
  return null;
20040
20146
  }
@@ -20162,7 +20268,7 @@ var fail = (reason, detail, location) => ({
20162
20268
  if (visited.has(startDtsPath))
20163
20269
  return null;
20164
20270
  visited.add(startDtsPath);
20165
- if (!existsSync27(startDtsPath))
20271
+ if (!existsSync26(startDtsPath))
20166
20272
  return null;
20167
20273
  let content;
20168
20274
  try {
@@ -20215,16 +20321,16 @@ var fail = (reason, detail, location) => ({
20215
20321
  `${base}/index.d.cts`
20216
20322
  ];
20217
20323
  for (const c of candidates) {
20218
- if (existsSync27(c))
20324
+ if (existsSync26(c))
20219
20325
  return c;
20220
20326
  }
20221
20327
  return null;
20222
20328
  }, findPackageDtsForJs = (jsPath) => {
20223
20329
  const sibling = jsPath.replace(/\.[mc]?js$/, ".d.ts");
20224
- if (existsSync27(sibling))
20330
+ if (existsSync26(sibling))
20225
20331
  return sibling;
20226
20332
  const mirror = jsPath.replace(/\/dist\//, "/dist/src/").replace(/\.[mc]?js$/, ".d.ts");
20227
- if (existsSync27(mirror))
20333
+ if (existsSync26(mirror))
20228
20334
  return mirror;
20229
20335
  return null;
20230
20336
  }, resolveChildComponentInfo = (className, spec, componentDir, projectRoot) => {
@@ -20237,7 +20343,7 @@ var fail = (reason, detail, location) => ({
20237
20343
  `${base}/index.tsx`
20238
20344
  ];
20239
20345
  for (const candidate of candidates) {
20240
- if (!existsSync27(candidate))
20346
+ if (!existsSync26(candidate))
20241
20347
  continue;
20242
20348
  const info = getChildComponentInfoFromTsSource(candidate, className);
20243
20349
  if (info)
@@ -20375,7 +20481,7 @@ var fail = (reason, detail, location) => ({
20375
20481
  }, providerProbeCache, fileHasModuleProviders = (filePath) => {
20376
20482
  let stat3;
20377
20483
  try {
20378
- stat3 = statSync3(filePath);
20484
+ stat3 = statSync4(filePath);
20379
20485
  } catch {
20380
20486
  return true;
20381
20487
  }
@@ -20451,11 +20557,11 @@ var fail = (reason, detail, location) => ({
20451
20557
  const resolved = resolve30(componentDir, spec);
20452
20558
  for (const ext of TS_EXTENSIONS) {
20453
20559
  const candidate = resolved + ext;
20454
- if (existsSync27(candidate))
20560
+ if (existsSync26(candidate))
20455
20561
  return candidate;
20456
20562
  }
20457
20563
  const indexCandidate = resolve30(resolved, "index.ts");
20458
- if (existsSync27(indexCandidate))
20564
+ if (existsSync26(indexCandidate))
20459
20565
  return indexCandidate;
20460
20566
  }
20461
20567
  return null;
@@ -20693,7 +20799,7 @@ ${transpiled}
20693
20799
  }${staticPatch}`;
20694
20800
  }, STYLE_PREPROCESSED_EXT, resolveAndReadStyleResource = (componentDir, url) => {
20695
20801
  const abs = resolve30(componentDir, url);
20696
- if (!existsSync27(abs))
20802
+ if (!existsSync26(abs))
20697
20803
  return null;
20698
20804
  const ext = extname10(abs).toLowerCase();
20699
20805
  if (!STYLE_PREPROCESSED_EXT.has(ext) || ext === ".css") {
@@ -20733,7 +20839,7 @@ ${block}
20733
20839
  return cached;
20734
20840
  const tsconfigPath = resolve30(projectRoot, "tsconfig.json");
20735
20841
  const opts = {};
20736
- if (existsSync27(tsconfigPath)) {
20842
+ if (existsSync26(tsconfigPath)) {
20737
20843
  try {
20738
20844
  const text3 = readFileSync23(tsconfigPath, "utf8");
20739
20845
  const parsed = ts12.parseConfigFileTextToJson(tsconfigPath, text3);
@@ -20760,7 +20866,7 @@ ${block}
20760
20866
  }, tryFastHmr = async (params) => {
20761
20867
  const { componentFilePath, className } = params;
20762
20868
  const projectRoot = params.projectRoot ?? process.cwd();
20763
- if (!existsSync27(componentFilePath)) {
20869
+ if (!existsSync26(componentFilePath)) {
20764
20870
  return fail("file-not-found", componentFilePath);
20765
20871
  }
20766
20872
  let compiler;
@@ -20816,7 +20922,7 @@ ${block}
20816
20922
  templatePath = componentFilePath;
20817
20923
  } else if (decoratorMeta.templateUrl) {
20818
20924
  const tplAbs = resolve30(componentDir, decoratorMeta.templateUrl);
20819
- if (!existsSync27(tplAbs)) {
20925
+ if (!existsSync26(tplAbs)) {
20820
20926
  return fail("template-resource-not-found", `Template file not found: ${tplAbs}`, { file: componentFilePath });
20821
20927
  }
20822
20928
  templateText = readFileSync23(tplAbs, "utf8");
@@ -21567,7 +21673,7 @@ var exports_parseAngularConfigImports = {};
21567
21673
  __export(exports_parseAngularConfigImports, {
21568
21674
  parseAngularProvidersImport: () => parseAngularProvidersImport
21569
21675
  });
21570
- import { existsSync as existsSync28, readFileSync as readFileSync27 } from "fs";
21676
+ import { existsSync as existsSync27, readFileSync as readFileSync27 } from "fs";
21571
21677
  import { dirname as dirname20, isAbsolute as isAbsolute7, join as join39 } from "path";
21572
21678
  import ts16 from "typescript";
21573
21679
  var findDefineConfigCall = (sf) => {
@@ -21624,7 +21730,7 @@ var findDefineConfigCall = (sf) => {
21624
21730
  const envOverride = process.env.ABSOLUTE_CONFIG;
21625
21731
  if (envOverride) {
21626
21732
  const resolved = isAbsolute7(envOverride) ? envOverride : join39(projectRoot, envOverride);
21627
- if (existsSync28(resolved))
21733
+ if (existsSync27(resolved))
21628
21734
  return resolved;
21629
21735
  }
21630
21736
  const candidates = [
@@ -21634,7 +21740,7 @@ var findDefineConfigCall = (sf) => {
21634
21740
  join39(projectRoot, "absolute.config.mjs")
21635
21741
  ];
21636
21742
  for (const candidate of candidates) {
21637
- if (existsSync28(candidate))
21743
+ if (existsSync27(candidate))
21638
21744
  return candidate;
21639
21745
  }
21640
21746
  return null;
@@ -21735,7 +21841,7 @@ __export(exports_compileSvelte, {
21735
21841
  clearSvelteCompilerCache: () => clearSvelteCompilerCache,
21736
21842
  compileSvelte: () => compileSvelte
21737
21843
  });
21738
- import { existsSync as existsSync29 } from "fs";
21844
+ import { existsSync as existsSync28 } from "fs";
21739
21845
  import { mkdir as mkdir8, stat as stat3 } from "fs/promises";
21740
21846
  import {
21741
21847
  dirname as dirname21,
@@ -21751,11 +21857,11 @@ var {write: write2, file: file2, Transpiler: Transpiler2 } = globalThis.Bun;
21751
21857
  var resolveDevClientDir2 = () => {
21752
21858
  const projectRoot = process.cwd();
21753
21859
  const fromSource = resolve31(import.meta.dir, "../dev/client");
21754
- if (existsSync29(fromSource) && fromSource.startsWith(projectRoot)) {
21860
+ if (existsSync28(fromSource) && fromSource.startsWith(projectRoot)) {
21755
21861
  return fromSource;
21756
21862
  }
21757
21863
  const fromNodeModules = resolve31(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
21758
- if (existsSync29(fromNodeModules))
21864
+ if (existsSync28(fromNodeModules))
21759
21865
  return fromNodeModules;
21760
21866
  return resolve31(import.meta.dir, "./dev/client");
21761
21867
  }, devClientDir2, hmrClientPath3, persistentCache, sourceHashCache, clearSvelteCompilerCache = () => {
@@ -21858,7 +21964,7 @@ var resolveDevClientDir2 = () => {
21858
21964
  const contentHash = Bun.hash(raw).toString(BASE_36_RADIX);
21859
21965
  const prevHash = sourceHashCache.get(src);
21860
21966
  const persistent = persistentCache.get(src);
21861
- if (prevHash === contentHash && persistent && existsSync29(persistent.ssr) && existsSync29(persistent.client)) {
21967
+ if (prevHash === contentHash && persistent && existsSync28(persistent.ssr) && existsSync28(persistent.client)) {
21862
21968
  cache.set(src, persistent);
21863
21969
  return persistent;
21864
21970
  }
@@ -22589,7 +22695,7 @@ var init_chainInlineSourcemaps = __esm(() => {
22589
22695
 
22590
22696
  // src/build/vueCompileCache.ts
22591
22697
  import { createHash as createHash7 } from "crypto";
22592
- import { existsSync as existsSync30, readFileSync as readFileSync29 } from "fs";
22698
+ import { existsSync as existsSync29, readFileSync as readFileSync29 } from "fs";
22593
22699
  import { mkdir as mkdir9, rename as rename2, writeFile as writeFile8 } from "fs/promises";
22594
22700
  import { join as join41, resolve as resolve32 } from "path";
22595
22701
  var CACHE_DIR_NAME = "compile-cache", ABSOLUTE_CACHE_DIR_NAME2 = ".absolutejs", CACHE_FORMAT_VERSION = 2, FILE_NAME_HASH_LENGTH = 32, vueCompileCacheEnabled = () => process.env.ABSOLUTE_COMPILE_CACHE !== "0", hashContent = (content) => createHash7("sha256").update(content).digest("hex"), hashParts = (parts) => {
@@ -22650,7 +22756,7 @@ var CACHE_DIR_NAME = "compile-cache", ABSOLUTE_CACHE_DIR_NAME2 = ".absolutejs",
22650
22756
  if (!vueCompileCacheEnabled())
22651
22757
  return null;
22652
22758
  const entryFile = entryFileFor(sourceFilePath, projectRoot);
22653
- if (!existsSync30(entryFile))
22759
+ if (!existsSync29(entryFile))
22654
22760
  return null;
22655
22761
  try {
22656
22762
  const parsed = JSON.parse(readFileSync29(entryFile, "utf-8"));
@@ -22681,7 +22787,7 @@ __export(exports_emitTsHelpers, {
22681
22787
  emitTsHelpers: () => emitTsHelpers
22682
22788
  });
22683
22789
  var {file: file3, Transpiler: Transpiler3, write: write3 } = globalThis.Bun;
22684
- import { copyFileSync as copyFileSync2, existsSync as existsSync31, readdirSync as readdirSync6 } from "fs";
22790
+ import { copyFileSync as copyFileSync2, existsSync as existsSync30, readdirSync as readdirSync6 } from "fs";
22685
22791
  import { mkdir as mkdir10, rename as rename3, writeFile as writeFile9 } from "fs/promises";
22686
22792
  import { dirname as dirname22, join as join42 } from "path";
22687
22793
  var CACHE_DIR_NAME2 = "vue-helpers", CACHE_FORMAT_VERSION2 = 1, HASH_LENGTH = 24, transpiler4, cacheDir = () => join42(process.cwd(), ".absolutejs", "compile-cache", CACHE_DIR_NAME2), cacheKey2 = (sourcePath, sourceCode) => {
@@ -22753,7 +22859,7 @@ var CACHE_DIR_NAME2 = "vue-helpers", CACHE_FORMAT_VERSION2 = 1, HASH_LENGTH = 24
22753
22859
  const directory = cacheDir();
22754
22860
  const fileName = key ? `${key.path}-${key.content}.js` : null;
22755
22861
  const cachedPath = fileName ? join42(directory, fileName) : null;
22756
- if (cachedPath && existsSync31(cachedPath)) {
22862
+ if (cachedPath && existsSync30(cachedPath)) {
22757
22863
  await copyBoth(clientOutputPath, serverOutputPath, cachedPath);
22758
22864
  return;
22759
22865
  }
@@ -22780,7 +22886,7 @@ var exports_compileVueSfc = {};
22780
22886
  __export(exports_compileVueSfc, {
22781
22887
  compileVueSfc: () => compileVueSfc
22782
22888
  });
22783
- import { existsSync as existsSync32, readFileSync as readFileSync30, realpathSync as realpathSync2 } from "fs";
22889
+ import { existsSync as existsSync31, readFileSync as readFileSync30, realpathSync as realpathSync2 } from "fs";
22784
22890
  import { dirname as dirname23, relative as relative17, resolve as resolve33 } from "path";
22785
22891
  var {Transpiler: Transpiler4 } = globalThis.Bun;
22786
22892
  var transpiler5, inlineCssImports = (cssContent, cssFilePath, visited = new Set) => {
@@ -22791,7 +22897,7 @@ var transpiler5, inlineCssImports = (cssContent, cssFilePath, visited = new Set)
22791
22897
  const importRegex = /@import\s+(?:url\(\s*)?(['"])(\.{1,2}\/[^'"]+)\1\s*\)?\s*;?/g;
22792
22898
  return cssContent.replace(importRegex, (match, _quote, relPath) => {
22793
22899
  const importedPath = resolve33(dirname23(cssFilePath), relPath);
22794
- if (!existsSync32(importedPath))
22900
+ if (!isFile(importedPath))
22795
22901
  return match;
22796
22902
  const importedContent = readFileSync30(importedPath, "utf-8");
22797
22903
  return inlineCssImports(importedContent, importedPath, visited);
@@ -22809,10 +22915,10 @@ var transpiler5, inlineCssImports = (cssContent, cssFilePath, visited = new Set)
22809
22915
  }
22810
22916
  if (sourceDir && (filePath.startsWith("./") || filePath.startsWith("../"))) {
22811
22917
  const directTs = resolve33(sourceDir, `${filePath}.ts`);
22812
- if (existsSync32(directTs))
22918
+ if (existsSync31(directTs))
22813
22919
  return `${filePath}.js`;
22814
22920
  const indexedTs = resolve33(sourceDir, filePath, "index.ts");
22815
- if (existsSync32(indexedTs))
22921
+ if (existsSync31(indexedTs))
22816
22922
  return `${filePath}/index.js`;
22817
22923
  }
22818
22924
  return `${filePath}.js`;
@@ -22878,10 +22984,10 @@ const ${localName} = (source) => ${importedName}(
22878
22984
  const typeDepHashes = {};
22879
22985
  const compiledScript = hasScript ? compiler.compileScript(descriptor, {
22880
22986
  fs: {
22881
- fileExists: existsSync32,
22987
+ fileExists: isFile,
22882
22988
  realpath: realpathSync2,
22883
22989
  readFile: (file4) => {
22884
- if (!existsSync32(file4))
22990
+ if (!isFile(file4))
22885
22991
  return;
22886
22992
  const content = readFileSync30(file4, "utf-8");
22887
22993
  typeDepHashes[file4] = hashContent(content);
@@ -22894,7 +23000,7 @@ const ${localName} = (source) => ${importedName}(
22894
23000
  }) : { bindings: {}, content: "export default {};", map: undefined };
22895
23001
  const typeDependencies = "deps" in compiledScript ? compiledScript.deps ?? [] : [];
22896
23002
  for (const dep of typeDependencies) {
22897
- if (dep in typeDepHashes || !existsSync32(dep))
23003
+ if (dep in typeDepHashes || !existsSync31(dep))
22898
23004
  continue;
22899
23005
  typeDepHashes[dep] = hashContent(readFileSync30(dep, "utf-8"));
22900
23006
  }
@@ -22986,6 +23092,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
22986
23092
  };
22987
23093
  var init_compileVueSfc = __esm(() => {
22988
23094
  init_sourceMetadata();
23095
+ init_isFile();
22989
23096
  init_chainInlineSourcemaps();
22990
23097
  init_stylePreprocessor();
22991
23098
  init_vueCompileCache();
@@ -23058,7 +23165,7 @@ __export(exports_workerPool, {
23058
23165
  resolveBuildWorkerCount: () => resolveBuildWorkerCount,
23059
23166
  resolveBuildWorkerEntry: () => resolveBuildWorkerEntry
23060
23167
  });
23061
- import { existsSync as existsSync33, readFileSync as readFileSync31 } from "fs";
23168
+ import { existsSync as existsSync32, readFileSync as readFileSync31 } from "fs";
23062
23169
  import { availableParallelism, freemem } from "os";
23063
23170
  import { dirname as dirname24, join as join43 } from "path";
23064
23171
  import { pathToFileURL as pathToFileURL3 } from "url";
@@ -23078,7 +23185,7 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
23078
23185
  return Math.max(MIN_WORKERS, Math.min(byCpu, byMemory));
23079
23186
  }, isOwnPackageRoot = (dir) => {
23080
23187
  const packageFile = join43(dir, "package.json");
23081
- if (!existsSync33(packageFile))
23188
+ if (!existsSync32(packageFile))
23082
23189
  return false;
23083
23190
  try {
23084
23191
  const pkg = JSON.parse(readFileSync31(packageFile, "utf-8"));
@@ -23105,7 +23212,7 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
23105
23212
  const sourceEntry = join43(root, "src", "build", "buildWorker.ts");
23106
23213
  const runningFromDist = fromDir.startsWith(join43(root, "dist"));
23107
23214
  const ordered = runningFromDist ? [distEntry, sourceEntry] : [sourceEntry, distEntry];
23108
- return ordered.find((candidate) => existsSync33(candidate)) ?? null;
23215
+ return ordered.find((candidate) => existsSync32(candidate)) ?? null;
23109
23216
  }, formatPercent = (ratio) => `${Math.round(ratio * PERCENT)}%`, createBuildWorkerPool = (options = {}) => {
23110
23217
  const size = options.size ?? resolveBuildWorkerCount();
23111
23218
  const entry = options.entry === undefined ? resolveBuildWorkerEntry() : options.entry;
@@ -23396,7 +23503,7 @@ __export(exports_compileVue, {
23396
23503
  generateVueHmrId: () => generateVueHmrId,
23397
23504
  vueHmrMetadata: () => vueHmrMetadata
23398
23505
  });
23399
- import { existsSync as existsSync34 } from "fs";
23506
+ import { existsSync as existsSync33 } from "fs";
23400
23507
  import { mkdir as mkdir11 } from "fs/promises";
23401
23508
  import {
23402
23509
  basename as basename14,
@@ -23410,11 +23517,11 @@ var {file: file4, write: write4 } = globalThis.Bun;
23410
23517
  var resolveDevClientDir3 = () => {
23411
23518
  const projectRoot = process.cwd();
23412
23519
  const fromSource = resolve34(import.meta.dir, "../dev/client");
23413
- if (existsSync34(fromSource) && fromSource.startsWith(projectRoot)) {
23520
+ if (existsSync33(fromSource) && fromSource.startsWith(projectRoot)) {
23414
23521
  return fromSource;
23415
23522
  }
23416
23523
  const fromNodeModules = resolve34(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
23417
- if (existsSync34(fromNodeModules))
23524
+ if (existsSync33(fromNodeModules))
23418
23525
  return fromNodeModules;
23419
23526
  return resolve34(import.meta.dir, "./dev/client");
23420
23527
  }, devClientDir3, hmrClientPath4, scriptCache, scriptSetupCache, templateCache, styleCache, persistentBuildCache, vueSourceHashCache, vueHmrMetadata, clearVueHmrCaches = () => {
@@ -23467,10 +23574,10 @@ var resolveDevClientDir3 = () => {
23467
23574
  if (helper.endsWith(".ts"))
23468
23575
  return resolve34(sourceDir, helper);
23469
23576
  const direct = resolve34(sourceDir, `${helper}.ts`);
23470
- if (existsSync34(direct))
23577
+ if (existsSync33(direct))
23471
23578
  return direct;
23472
23579
  const indexed = resolve34(sourceDir, helper, "index.ts");
23473
- if (existsSync34(indexed))
23580
+ if (existsSync33(indexed))
23474
23581
  return indexed;
23475
23582
  return direct;
23476
23583
  }, HELPER_JOB_MIN_BATCH = 24, runHelperEmit = async (files) => {
@@ -23600,7 +23707,7 @@ var resolveDevClientDir3 = () => {
23600
23707
  const contentHash = Bun.hash(sourceContent).toString(BASE_36_RADIX);
23601
23708
  const prevHash = vueSourceHashCache.get(sourceFilePath);
23602
23709
  const persistent = persistentBuildCache.get(sourceFilePath);
23603
- if (prevHash === contentHash && persistent && existsSync34(persistent.clientPath) && existsSync34(persistent.serverPath)) {
23710
+ if (prevHash === contentHash && persistent && existsSync33(persistent.clientPath) && existsSync33(persistent.serverPath)) {
23604
23711
  cacheMap.set(sourceFilePath, persistent);
23605
23712
  return persistent;
23606
23713
  }
@@ -23760,7 +23867,7 @@ var resolveDevClientDir3 = () => {
23760
23867
  const routes = parseVueSpaRoutes(descriptor.script?.content ?? "");
23761
23868
  for (const { importPath } of routes) {
23762
23869
  const childPath = resolve34(dirname25(entryPath), importPath);
23763
- if (expanded.has(childPath) || !existsSync34(childPath)) {
23870
+ if (expanded.has(childPath) || !existsSync33(childPath)) {
23764
23871
  continue;
23765
23872
  }
23766
23873
  expanded.add(childPath);
@@ -23967,7 +24074,7 @@ var resolveDevClientDir3 = () => {
23967
24074
  }));
23968
24075
  vueCompileProfile.stagePagesMs = performance.now() - stageStartedAt;
23969
24076
  stageStartedAt = performance.now();
23970
- const helperDependencies = (tsPath, sourceCode) => extractImports(sourceCode).filter((dep) => dep.startsWith(".") && !isStylePath(dep) && !dep.endsWith(".vue")).map((dep) => resolveHelperTsPath(dirname25(tsPath), dep)).filter((resolved) => existsSync34(resolved) && !allTsHelperPaths.has(resolved));
24077
+ const helperDependencies = (tsPath, sourceCode) => extractImports(sourceCode).filter((dep) => dep.startsWith(".") && !isStylePath(dep) && !dep.endsWith(".vue")).map((dep) => resolveHelperTsPath(dirname25(tsPath), dep)).filter((resolved) => existsSync33(resolved) && !allTsHelperPaths.has(resolved));
23971
24078
  const readHelperWave = (paths) => Promise.all(paths.map((tsPath) => file4(tsPath).text().then((sourceCode) => helperDependencies(tsPath, sourceCode)).catch(() => [])));
23972
24079
  const expandHelpers = async (frontier) => {
23973
24080
  if (frontier.length === 0)
@@ -24539,7 +24646,7 @@ __export(exports_compileAngular, {
24539
24646
  compileAngularFiles: () => compileAngularFiles,
24540
24647
  invalidateAngularJitCache: () => invalidateAngularJitCache
24541
24648
  });
24542
- import { existsSync as existsSync35, readFileSync as readFileSync32, promises as fs5 } from "fs";
24649
+ import { existsSync as existsSync34, readFileSync as readFileSync32, promises as fs5 } from "fs";
24543
24650
  import { join as join45, basename as basename15, sep as sep5, dirname as dirname26, resolve as resolve35, relative as relative19 } from "path";
24544
24651
  var {Glob: Glob6 } = globalThis.Bun;
24545
24652
  import ts18 from "typescript";
@@ -24596,7 +24703,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24596
24703
  join45(candidate, "index.js"),
24597
24704
  join45(candidate, "index.jsx")
24598
24705
  ];
24599
- return candidates.find((file5) => existsSync35(file5));
24706
+ return candidates.find((file5) => existsSync34(file5));
24600
24707
  }, createLegacyAngularAnimationUsageResolver = (rootDir) => {
24601
24708
  const baseDir = resolve35(rootDir);
24602
24709
  const tsconfigAliases = readTsconfigPathAliases();
@@ -24677,11 +24784,11 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24677
24784
  }, resolveDevClientDir4 = () => {
24678
24785
  const projectRoot = process.cwd();
24679
24786
  const fromSource = resolve35(import.meta.dir, "../dev/client");
24680
- if (existsSync35(fromSource) && fromSource.startsWith(projectRoot)) {
24787
+ if (existsSync34(fromSource) && fromSource.startsWith(projectRoot)) {
24681
24788
  return fromSource;
24682
24789
  }
24683
24790
  const fromNodeModules = resolve35(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
24684
- if (existsSync35(fromNodeModules))
24791
+ if (existsSync34(fromNodeModules))
24685
24792
  return fromNodeModules;
24686
24793
  return resolve35(import.meta.dir, "./dev/client");
24687
24794
  }, devClientDir4, hmrClientPath5, formatDiagnosticMessage = (diagnostic) => {
@@ -24727,11 +24834,11 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24727
24834
  return `${path2}${query}`;
24728
24835
  const importerDir = dirname26(importerOutputPath);
24729
24836
  const fileCandidate = resolve35(importerDir, `${path2}.js`);
24730
- if (outputFiles?.has(fileCandidate) || existsSync35(fileCandidate)) {
24837
+ if (outputFiles?.has(fileCandidate) || existsSync34(fileCandidate)) {
24731
24838
  return `${path2}.js${query}`;
24732
24839
  }
24733
24840
  const indexCandidate = resolve35(importerDir, path2, "index.js");
24734
- if (outputFiles?.has(indexCandidate) || existsSync35(indexCandidate)) {
24841
+ if (outputFiles?.has(indexCandidate) || existsSync34(indexCandidate)) {
24735
24842
  return `${path2}/index.js${query}`;
24736
24843
  }
24737
24844
  return `${path2}.js${query}`;
@@ -24769,7 +24876,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24769
24876
  join45(basePath, "index.mts"),
24770
24877
  join45(basePath, "index.cts")
24771
24878
  ];
24772
- return candidates.map((candidate) => resolve35(candidate)).find((candidate) => existsSync35(candidate) && !candidate.endsWith(".d.ts")) ?? null;
24879
+ return candidates.map((candidate) => resolve35(candidate)).find((candidate) => existsSync34(candidate) && !candidate.endsWith(".d.ts")) ?? null;
24773
24880
  }, readFileForAotTransform = async (fileName, readFile8) => {
24774
24881
  const hostSource = readFile8?.(fileName);
24775
24882
  if (typeof hostSource === "string")
@@ -24850,7 +24957,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24850
24957
  if (visited.has(resolvedPath))
24851
24958
  return;
24852
24959
  visited.add(resolvedPath);
24853
- if (!existsSync35(resolvedPath) || resolvedPath.endsWith(".d.ts"))
24960
+ if (!existsSync34(resolvedPath) || resolvedPath.endsWith(".d.ts"))
24854
24961
  return;
24855
24962
  stats.filesVisited += 1;
24856
24963
  const source = await readFileForAotTransform(resolvedPath, readFile8);
@@ -25024,7 +25131,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
25024
25131
  return null;
25025
25132
  }, resolveAngularDeferImportSpecifier = () => {
25026
25133
  const sourceEntry = resolve35(import.meta.dir, "../angular/components/index.ts");
25027
- if (existsSync35(sourceEntry)) {
25134
+ if (existsSync34(sourceEntry)) {
25028
25135
  return sourceEntry.replace(/\\/g, "/");
25029
25136
  }
25030
25137
  return "@absolutejs/absolute/angular/components";
@@ -25152,7 +25259,7 @@ ${slot.resolvedBindings.map((binding) => ` "${binding.key}": this.__absoluteDef
25152
25259
  ${fields}
25153
25260
  `);
25154
25261
  }, readAndEscapeFile = async (filePath, stylePreprocessors) => {
25155
- if (!existsSync35(filePath)) {
25262
+ if (!existsSync34(filePath)) {
25156
25263
  throw new Error(`Unable to inline Angular style resource: file not found at ${filePath}`);
25157
25264
  }
25158
25265
  const content = await compileStyleFileIfNeeded(filePath, stylePreprocessors);
@@ -25161,7 +25268,7 @@ ${fields}
25161
25268
  const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
25162
25269
  if (templateUrlMatch?.[1]) {
25163
25270
  const templatePath = join45(fileDir, templateUrlMatch[1]);
25164
- if (!existsSync35(templatePath)) {
25271
+ if (!existsSync34(templatePath)) {
25165
25272
  throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
25166
25273
  }
25167
25274
  const templateRaw2 = await fs5.readFile(templatePath, "utf-8");
@@ -25192,7 +25299,7 @@ ${fields}
25192
25299
  const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
25193
25300
  if (templateUrlMatch?.[1]) {
25194
25301
  const templatePath = join45(fileDir, templateUrlMatch[1]);
25195
- if (!existsSync35(templatePath)) {
25302
+ if (!existsSync34(templatePath)) {
25196
25303
  throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
25197
25304
  }
25198
25305
  const templateRaw2 = readFileSync32(templatePath, "utf-8");
@@ -25340,7 +25447,7 @@ ${fields}
25340
25447
  join45(candidate, "index.js"),
25341
25448
  join45(candidate, "index.jsx")
25342
25449
  ];
25343
- return candidates.find((file5) => existsSync35(file5));
25450
+ return candidates.find((file5) => existsSync34(file5));
25344
25451
  };
25345
25452
  const resolveLocalImport = (specifier, fromDir) => {
25346
25453
  if (specifier.startsWith(".") || specifier.startsWith("/")) {
@@ -25415,7 +25522,7 @@ ${fields}
25415
25522
  if (visited.has(resolved))
25416
25523
  return;
25417
25524
  visited.add(resolved);
25418
- if (resolved.endsWith(".json") && existsSync35(resolved)) {
25525
+ if (resolved.endsWith(".json") && existsSync34(resolved)) {
25419
25526
  const inputDir2 = dirname26(resolved);
25420
25527
  const relativeDir2 = inputDir2.startsWith(baseDir) ? inputDir2.substring(baseDir.length + 1) : inputDir2;
25421
25528
  const targetDir2 = join45(outDir, relativeDir2);
@@ -25428,7 +25535,7 @@ ${fields}
25428
25535
  let actualPath = resolved;
25429
25536
  if (!actualPath.endsWith(".ts"))
25430
25537
  actualPath += ".ts";
25431
- if (!existsSync35(actualPath))
25538
+ if (!existsSync34(actualPath))
25432
25539
  return;
25433
25540
  let sourceCode = await fs5.readFile(actualPath, "utf-8");
25434
25541
  const inlined = await inlineResources(sourceCode, dirname26(actualPath), stylePreprocessors);
@@ -25466,7 +25573,7 @@ ${fields}
25466
25573
  const isEntry = resolve35(actualPath) === resolve35(entryPath);
25467
25574
  const contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);
25468
25575
  const cacheKey3 = actualPath;
25469
- const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(cacheKey3) !== contentHash || !existsSync35(targetPath);
25576
+ const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(cacheKey3) !== contentHash || !existsSync34(targetPath);
25470
25577
  if (shouldWriteFile) {
25471
25578
  const processedContent = transpileAndRewrite(sourceCode, relativeDir, actualPath, importRewrites);
25472
25579
  const preservedInjection = await readPreservedInjection(targetPath);
@@ -25479,7 +25586,7 @@ ${fields}
25479
25586
  };
25480
25587
  await transpileFile(inputPath);
25481
25588
  const entryOutputPath = toOutputPath(entryPath);
25482
- if (existsSync35(entryOutputPath)) {
25589
+ if (existsSync34(entryOutputPath)) {
25483
25590
  const entryOutput = await fs5.readFile(entryOutputPath, "utf-8");
25484
25591
  const withoutLegacyFlag = entryOutput.replace(/\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\n?/g, `
25485
25592
  `);
@@ -25505,7 +25612,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
25505
25612
  await traceAngularPhase("aot/copy-json-resources", async () => {
25506
25613
  const cwd = process.cwd();
25507
25614
  const angularSrcDir = resolve35(outRoot);
25508
- if (!existsSync35(angularSrcDir))
25615
+ if (!existsSync34(angularSrcDir))
25509
25616
  return;
25510
25617
  const jsonGlob = new Glob6("**/*.json");
25511
25618
  for (const rel of jsonGlob.scanSync({
@@ -25540,15 +25647,15 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
25540
25647
  ...candidatePaths.map((file5) => resolve35(file5)),
25541
25648
  ...compiledFallbackPaths
25542
25649
  ];
25543
- let candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${sep5}${relativeEntry}`));
25650
+ let candidate = normalizedCandidates.find((file5) => existsSync34(file5) && file5.endsWith(`${sep5}${relativeEntry}`));
25544
25651
  if (!candidate) {
25545
- candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${sep5}pages${sep5}${jsName}`));
25652
+ candidate = normalizedCandidates.find((file5) => existsSync34(file5) && file5.endsWith(`${sep5}pages${sep5}${jsName}`));
25546
25653
  }
25547
25654
  if (!candidate) {
25548
- candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${sep5}${jsName}`));
25655
+ candidate = normalizedCandidates.find((file5) => existsSync34(file5) && file5.endsWith(`${sep5}${jsName}`));
25549
25656
  }
25550
25657
  if (!candidate) {
25551
- candidate = normalizedCandidates.find((file5) => existsSync35(file5));
25658
+ candidate = normalizedCandidates.find((file5) => existsSync34(file5));
25552
25659
  }
25553
25660
  return candidate;
25554
25661
  };
@@ -25556,11 +25663,11 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
25556
25663
  if (!rawServerFile) {
25557
25664
  rawServerFile = await traceAngularPhase("wrapper/resolve-server-output-fallback", () => resolveRawServerFile([]), { entry: resolvedEntry });
25558
25665
  }
25559
- if (rawServerFile && !existsSync35(rawServerFile)) {
25666
+ if (rawServerFile && !existsSync34(rawServerFile)) {
25560
25667
  outputs = hmr ? await compileEntry() : aotOutputs;
25561
25668
  rawServerFile = await traceAngularPhase("wrapper/resolve-server-output-retry", () => resolveRawServerFile(outputs), { entry: resolvedEntry });
25562
25669
  }
25563
- if (!rawServerFile || !existsSync35(rawServerFile)) {
25670
+ if (!rawServerFile || !existsSync34(rawServerFile)) {
25564
25671
  throw new Error(`Compiled output not found for ${entry}. Looking for: ${jsName}. Available: ${[
25565
25672
  ...outputs,
25566
25673
  ...compiledFallbackPaths
@@ -25596,7 +25703,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
25596
25703
  const serverContentHash = `${Bun.hash(original).toString(BASE_36_RADIX)}.${Bun.hash(providersHashInput).toString(BASE_36_RADIX)}`;
25597
25704
  const cachedWrapper = wrapperOutputCache.get(resolvedEntry);
25598
25705
  const clientFile = join45(indexesDir, jsName);
25599
- if (hmr && cachedWrapper && cachedWrapper.serverHash === serverContentHash && existsSync35(clientFile) && (usesLegacyAnimations || !original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__")) && (!usesLegacyAnimations || original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__"))) {
25706
+ if (hmr && cachedWrapper && cachedWrapper.serverHash === serverContentHash && existsSync34(clientFile) && (usesLegacyAnimations || !original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__")) && (!usesLegacyAnimations || original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__"))) {
25600
25707
  return {
25601
25708
  clientPath: clientFile,
25602
25709
  indexUnchanged: true,
@@ -25899,7 +26006,7 @@ var init_compileAngular = __esm(() => {
25899
26006
 
25900
26007
  // node_modules/content-tag/pkg/node/content_tag.cjs
25901
26008
  var require_content_tag = __commonJS(function(exports, module) {
25902
- var __dirname = "/home/alexkahn/abs/absolutejs/.claude/worktrees/optional-peers/node_modules/content-tag/pkg/node";
26009
+ var __dirname = "/tmp/claude-1000/-home-alexkahn-onspark-absolutejs-dealroom/2bfd88db-2cb9-4088-8977-3c07598f96a5/scratchpad/absolute-release/node_modules/content-tag/pkg/node";
25903
26010
  var imports = {};
25904
26011
  imports["__wbindgen_placeholder__"] = exports;
25905
26012
  var wasm;
@@ -26344,7 +26451,7 @@ __export(exports_compileEmber, {
26344
26451
  getEmberCompiledRoot: () => getEmberCompiledRoot,
26345
26452
  getEmberServerCompiledDir: () => getEmberServerCompiledDir
26346
26453
  });
26347
- import { existsSync as existsSync36 } from "fs";
26454
+ import { existsSync as existsSync35 } from "fs";
26348
26455
  import { mkdir as mkdir12, rm as rm7 } from "fs/promises";
26349
26456
  import { basename as basename16, dirname as dirname27, extname as extname12, join as join46, resolve as resolve36 } from "path";
26350
26457
  var {build: bunBuild2, Transpiler: Transpiler5, write: write5, file: file5 } = globalThis.Bun;
@@ -26446,7 +26553,7 @@ export const importSync = (specifier) => {
26446
26553
  const extensionsToTry = ["", ".gts", ".gjs", ".ts", ".js"];
26447
26554
  for (const ext of extensionsToTry) {
26448
26555
  const candidate = candidateBase + ext;
26449
- if (existsSync36(candidate))
26556
+ if (existsSync35(candidate))
26450
26557
  return { path: candidate };
26451
26558
  }
26452
26559
  return;
@@ -26466,7 +26573,7 @@ export const importSync = (specifier) => {
26466
26573
  if (standalonePackages.has(args.path))
26467
26574
  return;
26468
26575
  const internal = join46(cwd, "node_modules/ember-source/dist/packages", args.path, "index.js");
26469
- if (existsSync36(internal))
26576
+ if (existsSync35(internal))
26470
26577
  return { path: internal };
26471
26578
  return;
26472
26579
  });
@@ -26596,7 +26703,7 @@ __export(exports_buildReactVendor, {
26596
26703
  buildReactVendor: () => buildReactVendor,
26597
26704
  computeVendorPaths: () => computeVendorPaths
26598
26705
  });
26599
- import { existsSync as existsSync37, mkdirSync as mkdirSync8 } from "fs";
26706
+ import { existsSync as existsSync36, mkdirSync as mkdirSync8 } from "fs";
26600
26707
  import { join as join47, resolve as resolve37 } from "path";
26601
26708
  import { rm as rm8 } from "fs/promises";
26602
26709
  var {build: bunBuild3 } = globalThis.Bun;
@@ -26610,7 +26717,7 @@ var resolveJsxDevRuntimeCompatPath = () => {
26610
26717
  resolve37(import.meta.dir, "..", "..", "src", "react", "jsxDevRuntimeCompat.ts")
26611
26718
  ];
26612
26719
  for (const candidate of candidates) {
26613
- if (existsSync37(candidate)) {
26720
+ if (existsSync36(candidate)) {
26614
26721
  return candidate.replace(/\\/g, "/");
26615
26722
  }
26616
26723
  }
@@ -27077,13 +27184,13 @@ var init_buildSvelteVendor = __esm(() => {
27077
27184
  import {
27078
27185
  copyFileSync as copyFileSync3,
27079
27186
  cpSync,
27080
- existsSync as existsSync38,
27187
+ existsSync as existsSync37,
27081
27188
  mkdirSync as mkdirSync12,
27082
27189
  readdirSync as readdirSync7,
27083
27190
  readFileSync as readFileSync33,
27084
27191
  renameSync,
27085
27192
  rmSync as rmSync2,
27086
- statSync as statSync4,
27193
+ statSync as statSync5,
27087
27194
  writeFileSync as writeFileSync10
27088
27195
  } from "fs";
27089
27196
  import { basename as basename17, dirname as dirname28, extname as extname13, join as join51, relative as relative20, resolve as resolve38 } from "path";
@@ -27254,7 +27361,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27254
27361
  }, SKIP_DIRS5, addWorkerPathIfExists = (file6, relPath, workerPaths) => {
27255
27362
  const absPath = resolve38(file6, "..", relPath);
27256
27363
  try {
27257
- statSync4(absPath);
27364
+ statSync5(absPath);
27258
27365
  workerPaths.add(absPath);
27259
27366
  } catch {}
27260
27367
  }, extractWorkerSpecifiers = (file6, patterns) => {
@@ -27343,7 +27450,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27343
27450
  copyVueDevIndexes(vueDir, vuePagesPath, vueEntries, devIndexDir);
27344
27451
  }
27345
27452
  }, copyReactDevIndexes = (reactIndexesPath, reactPagesPath, devIndexDir, readDir) => {
27346
- if (!existsSync38(reactIndexesPath)) {
27453
+ if (!existsSync37(reactIndexesPath)) {
27347
27454
  return;
27348
27455
  }
27349
27456
  const indexFiles = readDir(reactIndexesPath).filter((file6) => file6.endsWith(".tsx"));
@@ -27359,7 +27466,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27359
27466
  for (const entry of sveltePageEntries) {
27360
27467
  const name = basename17(entry).replace(/\.svelte(\.(ts|js))?$/, "");
27361
27468
  const indexFile = join51(svelteIndexDir, "pages", `${name}.js`);
27362
- if (!existsSync38(indexFile))
27469
+ if (!existsSync37(indexFile))
27363
27470
  continue;
27364
27471
  let content = readFileSync33(indexFile, "utf-8");
27365
27472
  const srcRel = relative20(process.cwd(), resolve38(entry)).replace(/\\/g, "/");
@@ -27372,7 +27479,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27372
27479
  for (const entry of vuePageEntries) {
27373
27480
  const name = basename17(entry, ".vue");
27374
27481
  const indexFile = join51(vueIndexDir, `${name}.js`);
27375
- if (!existsSync38(indexFile))
27482
+ if (!existsSync37(indexFile))
27376
27483
  continue;
27377
27484
  let content = readFileSync33(indexFile, "utf-8");
27378
27485
  const srcRel = relative20(process.cwd(), resolve38(entry)).replace(/\\/g, "/");
@@ -27384,7 +27491,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27384
27491
  for (const srcPath of urlReferencedFiles) {
27385
27492
  const rel = relative20(projectRoot, srcPath).replace(/\\/g, "/");
27386
27493
  const name = basename17(srcPath);
27387
- const mtime = Math.round(statSync4(srcPath).mtimeMs);
27494
+ const mtime = Math.round(statSync5(srcPath).mtimeMs);
27388
27495
  const url = `/@src/${rel}?v=${mtime}`;
27389
27496
  urlFileMap.set(name, url);
27390
27497
  urlFileMap.set(name.replace(/\.tsx?$/, ".js"), url);
@@ -28536,7 +28643,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28536
28643
  await tracePhase("postprocess/client-rewrite", rewriteClientGroups, clientRewriteStats);
28537
28644
  if (!hmr) {
28538
28645
  const reactVendorDir = join51(buildPath, "react", "vendor");
28539
- const vendorChunkPaths = existsSync38(reactVendorDir) ? [
28646
+ const vendorChunkPaths = existsSync37(reactVendorDir) ? [
28540
28647
  ...new Glob8("**/*.js").scanSync({
28541
28648
  absolute: true,
28542
28649
  cwd: reactVendorDir
@@ -28944,7 +29051,7 @@ var init_build = __esm(() => {
28944
29051
  });
28945
29052
 
28946
29053
  // src/build/buildEmberVendor.ts
28947
- import { mkdirSync as mkdirSync13, existsSync as existsSync39 } from "fs";
29054
+ import { mkdirSync as mkdirSync13, existsSync as existsSync38 } from "fs";
28948
29055
  import { join as join52 } from "path";
28949
29056
  import { rm as rm12 } from "fs/promises";
28950
29057
  var {build: bunBuild8 } = globalThis.Bun;
@@ -28998,7 +29105,7 @@ export const importSync = (specifier) => {
28998
29105
  return { resolveTo: specifier, specifier };
28999
29106
  }
29000
29107
  const emberInternalPath = join52(cwd2, "node_modules/ember-source/dist/packages", specifier, "index.js");
29001
- if (!existsSync39(emberInternalPath)) {
29108
+ if (!existsSync38(emberInternalPath)) {
29002
29109
  throw new Error(`Ember vendor build: cannot find ${specifier} at ${emberInternalPath}. ` + `Is ember-source installed and at least 6.12?`);
29003
29110
  }
29004
29111
  return { resolveTo: emberInternalPath, specifier };
@@ -29030,7 +29137,7 @@ export const importSync = (specifier) => {
29030
29137
  return;
29031
29138
  }
29032
29139
  const internal = join52(cwd2, "node_modules/ember-source/dist/packages", args.path, "index.js");
29033
- if (existsSync39(internal)) {
29140
+ if (existsSync38(internal)) {
29034
29141
  return { path: internal };
29035
29142
  }
29036
29143
  return;
@@ -29202,7 +29309,7 @@ __export(exports_dependencyGraph, {
29202
29309
  getAffectedFiles: () => getAffectedFiles,
29203
29310
  removeFileFromGraph: () => removeFileFromGraph
29204
29311
  });
29205
- import { existsSync as existsSync40, readFileSync as readFileSync34 } from "fs";
29312
+ import { existsSync as existsSync39, readFileSync as readFileSync34 } from "fs";
29206
29313
  var {Glob: Glob9 } = globalThis.Bun;
29207
29314
  import { resolve as resolve39 } from "path";
29208
29315
  var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath) => {
@@ -29232,10 +29339,10 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
29232
29339
  ];
29233
29340
  for (const ext of extensions) {
29234
29341
  const withExt = normalized + ext;
29235
- if (existsSync40(withExt))
29342
+ if (existsSync39(withExt))
29236
29343
  return withExt;
29237
29344
  }
29238
- if (existsSync40(normalized))
29345
+ if (existsSync39(normalized))
29239
29346
  return normalized;
29240
29347
  return null;
29241
29348
  }, clearExistingDependents = (graph, normalizedPath) => {
@@ -29250,7 +29357,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
29250
29357
  }
29251
29358
  }, addFileToGraph = (graph, filePath) => {
29252
29359
  const normalizedPath = resolve39(filePath);
29253
- if (!existsSync40(normalizedPath))
29360
+ if (!existsSync39(normalizedPath))
29254
29361
  return;
29255
29362
  const dependencies = extractDependencies(normalizedPath);
29256
29363
  clearExistingDependents(graph, normalizedPath);
@@ -29276,7 +29383,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
29276
29383
  }, IGNORED_SEGMENTS, buildInitialDependencyGraph = (graph, directories) => {
29277
29384
  const processedFiles = new Set;
29278
29385
  const glob = new Glob9("**/*.{ts,tsx,js,jsx,vue,svelte,html,htm}");
29279
- const resolvedDirs = directories.map((dir) => resolve39(dir)).filter((dir) => existsSync40(dir));
29386
+ const resolvedDirs = directories.map((dir) => resolve39(dir)).filter((dir) => existsSync39(dir));
29280
29387
  const allFiles = resolvedDirs.flatMap((dir) => Array.from(glob.scanSync({ absolute: true, cwd: dir })));
29281
29388
  for (const file6 of allFiles) {
29282
29389
  const fullPath = resolve39(file6);
@@ -29530,7 +29637,7 @@ var init_clientManager = __esm(() => {
29530
29637
  });
29531
29638
 
29532
29639
  // src/dev/pathUtils.ts
29533
- import { existsSync as existsSync41, readdirSync as readdirSync8, readFileSync as readFileSync35 } from "fs";
29640
+ import { existsSync as existsSync40, readdirSync as readdirSync8, readFileSync as readFileSync35 } from "fs";
29534
29641
  import { dirname as dirname29, resolve as resolve41 } from "path";
29535
29642
  var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
29536
29643
  if (shouldIgnorePath(filePath, resolved)) {
@@ -29704,7 +29811,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
29704
29811
  push(cfg.stylesDir);
29705
29812
  for (const candidate of ["src", "db", "assets", "styles"]) {
29706
29813
  const abs = normalizePath2(resolve41(cwd2, candidate));
29707
- if (existsSync41(abs) && !roots.includes(abs))
29814
+ if (existsSync40(abs) && !roots.includes(abs))
29708
29815
  roots.push(abs);
29709
29816
  }
29710
29817
  try {
@@ -29796,7 +29903,7 @@ var init_pathUtils = __esm(() => {
29796
29903
  });
29797
29904
 
29798
29905
  // src/dev/devPrescan.ts
29799
- import { existsSync as existsSync42, readdirSync as readdirSync9, rmSync as rmSync3 } from "fs";
29906
+ import { existsSync as existsSync41, readdirSync as readdirSync9, rmSync as rmSync3 } from "fs";
29800
29907
  import { mkdir as mkdir13, readFile as readFile8, rename as rename4, writeFile as writeFile10 } from "fs/promises";
29801
29908
  import { join as join53 } from "path";
29802
29909
  var PRESCAN_DIR, PAYLOAD_VERSION = 1, POLL_INTERVAL_MS = 10, DEFAULT_WAIT_MS = 2000, collectConfigVendorSourceDirs = (config) => Array.from(new Set([
@@ -29809,7 +29916,7 @@ var PRESCAN_DIR, PAYLOAD_VERSION = 1, POLL_INTERVAL_MS = 10, DEFAULT_WAIT_MS = 2
29809
29916
  ].filter((dir) => Boolean(dir)))), devPrescanEnabled = () => process.env.ABSOLUTE_DEV_PRESCAN === "1", sleep = (delayMs) => new Promise((resolve42) => {
29810
29917
  setTimeout(resolve42, delayMs);
29811
29918
  }), isPayload = (value) => typeof value === "object" && value !== null && ("version" in value) && value.version === PAYLOAD_VERSION, tryReadPrescan = async (path2) => {
29812
- if (!existsSync42(path2))
29919
+ if (!existsSync41(path2))
29813
29920
  return;
29814
29921
  try {
29815
29922
  const parsed = JSON.parse(await readFile8(path2, "utf8"));
@@ -29865,7 +29972,7 @@ var init_serverEntryCopies = () => {};
29865
29972
 
29866
29973
  // src/dev/fileWatcher.ts
29867
29974
  import { watch } from "fs";
29868
- import { existsSync as existsSync43, readdirSync as readdirSync10, statSync as statSync5 } from "fs";
29975
+ import { existsSync as existsSync42, readdirSync as readdirSync10, statSync as statSync6 } from "fs";
29869
29976
  import { dirname as dirname30, join as join54, resolve as resolve42 } from "path";
29870
29977
  var safeRemoveFromGraph = (graph, fullPath) => {
29871
29978
  try {
@@ -29901,7 +30008,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
29901
30008
  const child = join54(eventDir, name).replace(/\\/g, "/");
29902
30009
  let st2;
29903
30010
  try {
29904
- st2 = statSync5(child);
30011
+ st2 = statSync6(child);
29905
30012
  } catch {
29906
30013
  continue;
29907
30014
  }
@@ -29932,12 +30039,12 @@ var safeRemoveFromGraph = (graph, fullPath) => {
29932
30039
  if (shouldIgnorePath(fullPath, state.resolvedPaths)) {
29933
30040
  return;
29934
30041
  }
29935
- if (event === "rename" && !existsSync43(fullPath)) {
30042
+ if (event === "rename" && !existsSync42(fullPath)) {
29936
30043
  safeRemoveFromGraph(state.dependencyGraph, fullPath);
29937
30044
  onFileChange(fullPath);
29938
30045
  return;
29939
30046
  }
29940
- if (existsSync43(fullPath)) {
30047
+ if (existsSync42(fullPath)) {
29941
30048
  onFileChange(fullPath);
29942
30049
  safeAddToGraph(state.dependencyGraph, fullPath);
29943
30050
  }
@@ -29947,7 +30054,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
29947
30054
  const stylesDir = state.resolvedPaths?.stylesDir;
29948
30055
  paths.forEach((path2) => {
29949
30056
  const absolutePath = resolve42(path2).replace(/\\/g, "/");
29950
- if (!existsSync43(absolutePath)) {
30057
+ if (!existsSync42(absolutePath)) {
29951
30058
  return;
29952
30059
  }
29953
30060
  const isStylesDir = Boolean(stylesDir && absolutePath.startsWith(stylesDir));
@@ -29958,7 +30065,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
29958
30065
  const stylesDir = state.resolvedPaths?.stylesDir;
29959
30066
  watchPaths.forEach((path2) => {
29960
30067
  const absolutePath = resolve42(path2).replace(/\\/g, "/");
29961
- if (!existsSync43(absolutePath)) {
30068
+ if (!existsSync42(absolutePath)) {
29962
30069
  return;
29963
30070
  }
29964
30071
  const isStylesDir = Boolean(stylesDir && absolutePath.startsWith(stylesDir));
@@ -30103,6 +30210,26 @@ var init_assetStore = __esm(() => {
30103
30210
  HASHED_FILE_RE = /\.[a-z0-9]{8}\.(js|css|mjs)$/;
30104
30211
  });
30105
30212
 
30213
+ // src/dev/restartScope.ts
30214
+ import { realpathSync as realpathSync3 } from "fs";
30215
+ var MODULE_FILE, DOCUMENT_FILE, realPath = (path2) => {
30216
+ try {
30217
+ return realpathSync3(path2);
30218
+ } catch {
30219
+ return path2;
30220
+ }
30221
+ }, isLoadedByThisProcess = (path2) => (path2 in __require.cache) || (realPath(path2) in __require.cache), changeNeedsRestart = (path2, isLoaded = isLoadedByThisProcess) => {
30222
+ if (DOCUMENT_FILE.test(path2) || isTestSourcePath(path2))
30223
+ return false;
30224
+ if (MODULE_FILE.test(path2))
30225
+ return isLoaded(path2);
30226
+ return true;
30227
+ };
30228
+ var init_restartScope = __esm(() => {
30229
+ MODULE_FILE = /\.(?:[cm]?[jt]sx?|mts|cts)$/;
30230
+ DOCUMENT_FILE = /\.(?:md|mdx|markdown|txt|rst|adoc|log|csv)$/i;
30231
+ });
30232
+
30106
30233
  // src/dev/fileHashTracker.ts
30107
30234
  import { readFileSync as readFileSync36 } from "fs";
30108
30235
  var computeFileHash = (filePath) => {
@@ -30424,7 +30551,7 @@ __export(exports_resolveOwningComponents, {
30424
30551
  resolveDescendantsOfParent: () => resolveDescendantsOfParent,
30425
30552
  resolveOwningComponents: () => resolveOwningComponents
30426
30553
  });
30427
- import { readdirSync as readdirSync11, readFileSync as readFileSync37, statSync as statSync6 } from "fs";
30554
+ import { readdirSync as readdirSync11, readFileSync as readFileSync37, statSync as statSync7 } from "fs";
30428
30555
  import { dirname as dirname32, extname as extname14, join as join55, resolve as resolve47 } from "path";
30429
30556
  import ts19 from "typescript";
30430
30557
  var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") || file6.endsWith(".tsx"), walkAngularSourceFiles = (root) => {
@@ -30559,7 +30686,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
30559
30686
  }
30560
30687
  let rootStat;
30561
30688
  try {
30562
- rootStat = statSync6(userAngularRoot);
30689
+ rootStat = statSync7(userAngularRoot);
30563
30690
  } catch {
30564
30691
  return out;
30565
30692
  }
@@ -30617,7 +30744,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
30617
30744
  const angularRootNorm = safeNormalize(angularRoot);
30618
30745
  for (const candidate of candidates) {
30619
30746
  try {
30620
- if (statSync6(candidate).isFile()) {
30747
+ if (statSync7(candidate).isFile()) {
30621
30748
  const norm = safeNormalize(candidate);
30622
30749
  if (!norm.startsWith(angularRootNorm))
30623
30750
  return null;
@@ -30674,7 +30801,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
30674
30801
  const norm = safeNormalize(params.changedFilePath);
30675
30802
  let rootStat;
30676
30803
  try {
30677
- rootStat = statSync6(params.userAngularRoot);
30804
+ rootStat = statSync7(params.userAngularRoot);
30678
30805
  } catch {
30679
30806
  return [];
30680
30807
  }
@@ -30911,7 +31038,7 @@ __export(exports_moduleServer, {
30911
31038
  warmPage: () => warmPage,
30912
31039
  warnIfReactFastRefreshUnsupported: () => warnIfReactFastRefreshUnsupported
30913
31040
  });
30914
- import { existsSync as existsSync44, readFileSync as readFileSync38, realpathSync as realpathSync3, statSync as statSync7 } from "fs";
31041
+ import { existsSync as existsSync43, readFileSync as readFileSync38, realpathSync as realpathSync4, statSync as statSync8 } from "fs";
30915
31042
  import { basename as basename19, dirname as dirname33, extname as extname15, join as join56, resolve as resolve48, relative as relative21 } from "path";
30916
31043
  var SRC_PREFIX = "/@src/", BROWSER_DEFINE, jsTranspiler2, legacyDecoratorTsconfig, tsTranspiler2, tsxTranspiler, TRANSPILABLE, ALL_EXPORTS_RE, STRING_CONTENTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
30917
31044
  const codeOnly = originalSource.replace(STRING_CONTENTS_RE, '""');
@@ -30932,10 +31059,10 @@ var SRC_PREFIX = "/@src/", BROWSER_DEFINE, jsTranspiler2, legacyDecoratorTsconfi
30932
31059
  ${stubs}
30933
31060
  `;
30934
31061
  }, resolveRelativeExtension = (srcPath, projectRoot, extensions) => {
30935
- const directHit = extensions.find((ext) => existsSync44(resolve48(projectRoot, srcPath + ext)));
31062
+ const directHit = extensions.find((ext) => existsSync43(resolve48(projectRoot, srcPath + ext)));
30936
31063
  if (directHit)
30937
31064
  return srcPath + directHit;
30938
- const indexHit = extensions.find((ext) => existsSync44(resolve48(projectRoot, srcPath, `index${ext}`)));
31065
+ const indexHit = extensions.find((ext) => existsSync43(resolve48(projectRoot, srcPath, `index${ext}`)));
30939
31066
  if (indexHit)
30940
31067
  return `${srcPath}/index${indexHit}`;
30941
31068
  return srcPath;
@@ -30969,7 +31096,7 @@ ${stubs}
30969
31096
  if (cached !== undefined)
30970
31097
  return `${base}?v=${buildVersion(cached, absPath)}`;
30971
31098
  try {
30972
- const mtime = Math.round(statSync7(absPath).mtimeMs);
31099
+ const mtime = Math.round(statSync8(absPath).mtimeMs);
30973
31100
  mtimeCache.set(absPath, mtime);
30974
31101
  return `${base}?v=${buildVersion(mtime, absPath)}`;
30975
31102
  } catch {
@@ -31002,12 +31129,12 @@ ${stubs}
31002
31129
  if (!subpath) {
31003
31130
  const pkgDir = resolve48(projectRoot, "node_modules", packageName ?? "");
31004
31131
  const pkgJsonPath = join56(pkgDir, "package.json");
31005
- if (existsSync44(pkgJsonPath)) {
31132
+ if (existsSync43(pkgJsonPath)) {
31006
31133
  const pkg = JSON.parse(readFileSync38(pkgJsonPath, "utf-8"));
31007
31134
  const esmEntry = typeof pkg.module === "string" && pkg.module || typeof pkg.browser === "string" && pkg.browser;
31008
31135
  if (esmEntry) {
31009
31136
  const resolved = resolve48(pkgDir, esmEntry);
31010
- if (existsSync44(resolved))
31137
+ if (existsSync43(resolved))
31011
31138
  return relative21(projectRoot, resolved);
31012
31139
  }
31013
31140
  }
@@ -31371,9 +31498,9 @@ ${code2}`;
31371
31498
  const hasScript = descriptor.script || descriptor.scriptSetup;
31372
31499
  const compiledScript = hasScript ? vueCompiler.compileScript(descriptor, {
31373
31500
  fs: {
31374
- fileExists: existsSync44,
31375
- realpath: realpathSync3,
31376
- readFile: (file6) => existsSync44(file6) ? readFileSync38(file6, "utf-8") : undefined
31501
+ fileExists: isFile,
31502
+ realpath: realpathSync4,
31503
+ readFile: (file6) => isFile(file6) ? readFileSync38(file6, "utf-8") : undefined
31377
31504
  },
31378
31505
  id: componentId,
31379
31506
  inlineTemplate: false
@@ -31403,11 +31530,11 @@ ${code2}`;
31403
31530
  `);
31404
31531
  return result;
31405
31532
  }, resolveSvelteModulePath = (path2) => {
31406
- if (existsSync44(path2))
31533
+ if (existsSync43(path2))
31407
31534
  return path2;
31408
- if (existsSync44(`${path2}.ts`))
31535
+ if (existsSync43(`${path2}.ts`))
31409
31536
  return `${path2}.ts`;
31410
- if (existsSync44(`${path2}.js`))
31537
+ if (existsSync43(`${path2}.js`))
31411
31538
  return `${path2}.js`;
31412
31539
  return path2;
31413
31540
  }, jsResponse = (body) => {
@@ -31555,7 +31682,7 @@ export default {};
31555
31682
  return { ext, filePath: resolveSvelteModulePath(filePath) };
31556
31683
  if (ext)
31557
31684
  return { ext, filePath };
31558
- const found = MODULE_EXTENSIONS.find((candidate) => existsSync44(filePath + candidate));
31685
+ const found = MODULE_EXTENSIONS.find((candidate) => existsSync43(filePath + candidate));
31559
31686
  if (!found)
31560
31687
  return { ext, filePath };
31561
31688
  const resolved = filePath + found;
@@ -31623,7 +31750,7 @@ export default {};
31623
31750
  return transformAndCacheVue(filePath, projectRoot, rewriter, vueDir, stylePreprocessors);
31624
31751
  if (!TRANSPILABLE.has(ext))
31625
31752
  return;
31626
- const stat4 = statSync7(filePath);
31753
+ const stat4 = statSync8(filePath);
31627
31754
  const resolvedVueDir = vueDir ? resolve48(vueDir) : undefined;
31628
31755
  let content = REACT_EXTENSIONS.has(ext) ? transformReactFile(filePath, projectRoot, rewriter) : transformPlainFile(filePath, projectRoot, rewriter, resolvedVueDir);
31629
31756
  const isAngularGeneratedJs = ext === ".js" && filePath.replace(/\\/g, "/").includes("/.absolutejs/generated/angular/");
@@ -31651,12 +31778,12 @@ export default {};
31651
31778
  cachedAngularUserRoot = configuredAngularUserRoot ?? null;
31652
31779
  return cachedAngularUserRoot;
31653
31780
  }, configuredAngularUserRoot, transformAndCacheSvelte = async (filePath, projectRoot, rewriter, stylePreprocessors) => {
31654
- const stat4 = statSync7(filePath);
31781
+ const stat4 = statSync8(filePath);
31655
31782
  const content = await transformSvelteFile(filePath, projectRoot, rewriter, stylePreprocessors);
31656
31783
  setTransformed(filePath, content, stat4.mtimeMs, extractImportedFiles(content, projectRoot));
31657
31784
  return jsResponse(content);
31658
31785
  }, transformAndCacheVue = async (filePath, projectRoot, rewriter, vueDir, stylePreprocessors) => {
31659
- const stat4 = statSync7(filePath);
31786
+ const stat4 = statSync8(filePath);
31660
31787
  const content = await transformVueFile(filePath, projectRoot, rewriter, vueDir, stylePreprocessors);
31661
31788
  setTransformed(filePath, content, stat4.mtimeMs, extractImportedFiles(content, projectRoot));
31662
31789
  return jsResponse(content);
@@ -31760,6 +31887,7 @@ export default {};
31760
31887
  name: entry.name
31761
31888
  };
31762
31889
  },
31890
+ lastError: () => getDevResult()?.hmrState.lazyPages?.lastError,
31763
31891
  lookup: (key) => getDevResult()?.manifest[key],
31764
31892
  warm: (key) => warmPage(key)
31765
31893
  };
@@ -31817,6 +31945,7 @@ var init_moduleServer = __esm(() => {
31817
31945
  init_resolvePackageImport();
31818
31946
  init_vueAutoRouterTransform();
31819
31947
  init_sourceMetadata();
31948
+ init_isFile();
31820
31949
  init_stylePreprocessor();
31821
31950
  init_lowerAwaitSlotSyntax();
31822
31951
  init_lowerIslandSyntax();
@@ -32041,62 +32170,6 @@ var init_routeAssets = __esm(() => {
32041
32170
  ENTITY_RE = /&(?:amp|lt|gt|quot|#0?39);/g;
32042
32171
  });
32043
32172
 
32044
- // src/utils/ssrErrorPage.ts
32045
- var exports_ssrErrorPage = {};
32046
- __export(exports_ssrErrorPage, {
32047
- ssrErrorPage: () => ssrErrorPage
32048
- });
32049
- var ssrErrorPage = (framework, error) => {
32050
- const frameworkColors2 = {
32051
- angular: "#dd0031",
32052
- html: "#e34c26",
32053
- htmx: "#1a365d",
32054
- react: "#61dafb",
32055
- svelte: "#ff3e00",
32056
- vue: "#42b883"
32057
- };
32058
- const accent = frameworkColors2[framework] ?? "#94a3b8";
32059
- const label = framework.charAt(0).toUpperCase() + framework.slice(1);
32060
- const message = error instanceof Error ? error.message : String(error);
32061
- return `<!DOCTYPE html>
32062
- <html>
32063
- <head>
32064
- <meta charset="utf-8">
32065
- <meta name="viewport" content="width=device-width, initial-scale=1">
32066
- <title>SSR Error - AbsoluteJS</title>
32067
- <style>
32068
- *{margin:0;padding:0;box-sizing:border-box}
32069
- body{min-height:100vh;background:linear-gradient(135deg,rgba(15,23,42,0.98) 0%,rgba(30,41,59,0.98) 100%);color:#e2e8f0;font-family:"JetBrains Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.6;display:flex;align-items:flex-start;justify-content:center;padding:32px}
32070
- .card{max-width:720px;width:100%;background:rgba(30,41,59,0.6);border:1px solid rgba(71,85,105,0.5);border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.05);overflow:hidden}
32071
- .header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:rgba(15,23,42,0.5);border-bottom:1px solid rgba(71,85,105,0.4)}
32072
- .brand{font-weight:700;font-size:20px;color:#fff;letter-spacing:-0.02em}
32073
- .badge{padding:5px 10px;border-radius:8px;font-size:12px;font-weight:600;background:${accent};color:#fff;opacity:0.95;box-shadow:0 2px 4px rgba(0,0,0,0.2)}
32074
- .kind{color:#94a3b8;font-size:13px;font-weight:500}
32075
- .content{padding:24px}
32076
- .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#94a3b8;margin-bottom:8px}
32077
- .message{margin:0;padding:16px 20px;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.25);border-radius:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:#fca5a5;font-size:13px;line-height:1.5}
32078
- .hint{margin-top:20px;padding:12px 20px;background:rgba(71,85,105,0.3);border-radius:10px;border:1px solid rgba(71,85,105,0.4);color:#cbd5e1;font-size:13px}
32079
- </style>
32080
- </head>
32081
- <body>
32082
- <div class="card">
32083
- <div class="header">
32084
- <div style="display:flex;align-items:center;gap:12px">
32085
- <span class="brand">AbsoluteJS</span>
32086
- <span class="badge">${label}</span>
32087
- </div>
32088
- <span class="kind">Server Render Error</span>
32089
- </div>
32090
- <div class="content">
32091
- <div class="label">What went wrong</div>
32092
- <pre class="message">${message.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;")}</pre>
32093
- <div class="hint">A component threw during server-side rendering. Check the terminal for the full stack trace.</div>
32094
- </div>
32095
- </div>
32096
- </body>
32097
- </html>`;
32098
- };
32099
-
32100
32173
  // src/ember/pageHandler.ts
32101
32174
  import { pathToFileURL as pathToFileURL4 } from "url";
32102
32175
  var resolveRequestPathname = (request) => {
@@ -32139,6 +32212,9 @@ var resolveRequestPathname = (request) => {
32139
32212
  return cachedEmberHmrShim;
32140
32213
  }, handleEmberPageRequest = async (input) => {
32141
32214
  const deferredAssets = input.pagePath === "" ? await resolveDeferredPageAssets() : null;
32215
+ const buildFailure = devBuildErrorResponse("ember", deferredAssets);
32216
+ if (buildFailure)
32217
+ return buildFailure;
32142
32218
  const pagePath = deferredAssets && input.pagePath === "" ? deferredAssets.lookup(deferredAssets.name) : input.pagePath;
32143
32219
  if (pagePath === "") {
32144
32220
  throw new Error(`Asset "${deferredAssets?.name || "Page"}" not found in manifest.`);
@@ -32283,7 +32359,7 @@ __export(exports_rebuildTrigger, {
32283
32359
  queueFileChange: () => queueFileChange,
32284
32360
  triggerRebuild: () => triggerRebuild
32285
32361
  });
32286
- import { existsSync as existsSync45, readdirSync as readdirSync12, rmSync as rmSync4, statSync as statSync8 } from "fs";
32362
+ import { existsSync as existsSync44, readdirSync as readdirSync12, rmSync as rmSync4, statSync as statSync9 } from "fs";
32287
32363
  import {
32288
32364
  basename as basename20,
32289
32365
  dirname as dirname35,
@@ -32397,7 +32473,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
32397
32473
  detectedFw = detected !== "ignored" ? detected : affectedFrameworks[0];
32398
32474
  }
32399
32475
  return { ...parsed, framework: detectedFw };
32400
- }, isValidDeletedAffectedFile = (affectedFile, deletedPathResolved, processedFiles) => affectedFile !== deletedPathResolved && !processedFiles.has(affectedFile) && existsSync45(affectedFile), FRAMEWORK_DIR_KEYS_FOR_CLEANUP, removeStaleGenerated = (state, deletedFile) => {
32476
+ }, isValidDeletedAffectedFile = (affectedFile, deletedPathResolved, processedFiles) => affectedFile !== deletedPathResolved && !processedFiles.has(affectedFile) && existsSync44(affectedFile), FRAMEWORK_DIR_KEYS_FOR_CLEANUP, removeStaleGenerated = (state, deletedFile) => {
32401
32477
  const { config } = state;
32402
32478
  const cwd2 = process.cwd();
32403
32479
  const absDeleted = resolvePath(deletedFile).replace(/\\/g, "/");
@@ -32443,7 +32519,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
32443
32519
  if (!dependents || dependents.size === 0) {
32444
32520
  return;
32445
32521
  }
32446
- const dependentFiles = Array.from(dependents).filter((file6) => existsSync45(file6));
32522
+ const dependentFiles = Array.from(dependents).filter((file6) => existsSync44(file6));
32447
32523
  if (dependentFiles.length === 0) {
32448
32524
  return;
32449
32525
  }
@@ -32459,7 +32535,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
32459
32535
  try {
32460
32536
  const affectedFiles = getAffectedFiles(state.dependencyGraph, normalizedFilePath);
32461
32537
  affectedFiles.forEach((affectedFile) => {
32462
- if (!processedFiles.has(affectedFile) && affectedFile !== normalizedFilePath && existsSync45(affectedFile)) {
32538
+ if (!processedFiles.has(affectedFile) && affectedFile !== normalizedFilePath && existsSync44(affectedFile)) {
32463
32539
  validFiles.push(affectedFile);
32464
32540
  processedFiles.add(affectedFile);
32465
32541
  }
@@ -32484,7 +32560,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
32484
32560
  collectChangedFileAffected(state, normalizedFilePath, processedFiles, validFiles);
32485
32561
  }, processFilePathSet = (state, filePathSet, processedFiles, validFiles) => {
32486
32562
  filePathSet.forEach((filePathInSet) => {
32487
- if (!existsSync45(filePathInSet)) {
32563
+ if (!existsSync44(filePathInSet)) {
32488
32564
  collectDeletedFileAffected(state, filePathInSet, processedFiles, validFiles);
32489
32565
  return;
32490
32566
  }
@@ -32704,6 +32780,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
32704
32780
  } catch {}
32705
32781
  }
32706
32782
  if (!hasAngularDependent) {
32783
+ if (!changeNeedsRestart(resolvePath(filePath)))
32784
+ return;
32707
32785
  console.log(`[abs:restart] ${resolvePath(filePath)}`);
32708
32786
  return;
32709
32787
  }
@@ -32749,7 +32827,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
32749
32827
  return componentFile;
32750
32828
  }
32751
32829
  const tsCounterpart = componentFile.replace(/\.html$/, ".ts");
32752
- if (existsSync45(tsCounterpart)) {
32830
+ if (existsSync44(tsCounterpart)) {
32753
32831
  return tsCounterpart;
32754
32832
  }
32755
32833
  if (!graph)
@@ -33430,7 +33508,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33430
33508
  return url;
33431
33509
  }, getReactModuleUrl, isReactComponentPath = (file6) => file6.endsWith(".tsx") || file6.endsWith(".jsx"), isReactPagePath = (file6) => file6.replace(/\\/g, "/").includes("/pages/"), isImportableModule = (file6) => {
33432
33510
  try {
33433
- return statSync8(file6).isFile();
33511
+ return statSync9(file6).isFile();
33434
33512
  } catch {
33435
33513
  return false;
33436
33514
  }
@@ -33677,7 +33755,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33677
33755
  }
33678
33756
  return ctx;
33679
33757
  }, runSvelteBundleRebuild = async (state, svelteFiles, config) => {
33680
- const existingSvelteFiles = svelteFiles.filter((file6) => existsSync45(file6));
33758
+ const existingSvelteFiles = svelteFiles.filter((file6) => existsSync44(file6));
33681
33759
  if (existingSvelteFiles.length === 0)
33682
33760
  return;
33683
33761
  const svelteDir = config.svelteDirectory ?? "";
@@ -35006,6 +35084,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
35006
35084
  }
35007
35085
  };
35008
35086
  var init_rebuildTrigger = __esm(() => {
35087
+ init_restartScope();
35009
35088
  init_generatedDir();
35010
35089
  init_build();
35011
35090
  init_lazyPages();
@@ -35406,7 +35485,7 @@ __export(exports_vendorCache, {
35406
35485
  import { createHash as createHash8 } from "crypto";
35407
35486
  import {
35408
35487
  copyFileSync as copyFileSync4,
35409
- existsSync as existsSync46,
35488
+ existsSync as existsSync45,
35410
35489
  mkdirSync as mkdirSync15,
35411
35490
  readdirSync as readdirSync13,
35412
35491
  readFileSync as readFileSync39
@@ -35440,7 +35519,7 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
35440
35519
  let found = false;
35441
35520
  for (const name of LOCKFILES) {
35442
35521
  const path2 = join59(projectRoot, name);
35443
- if (!existsSync46(path2))
35522
+ if (!existsSync45(path2))
35444
35523
  continue;
35445
35524
  found = true;
35446
35525
  hash.update(name);
@@ -35460,21 +35539,21 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
35460
35539
  }, copySlotsInto = (cacheDir2, vendorDirs) => {
35461
35540
  for (const [index, dir] of vendorDirs.entries()) {
35462
35541
  const source = join59(cacheDir2, slotName(index, dir));
35463
- if (!existsSync46(source)) {
35542
+ if (!existsSync45(source)) {
35464
35543
  throw new Error(`missing cached vendor dir ${source}`);
35465
35544
  }
35466
35545
  copyTree(source, dir);
35467
35546
  }
35468
35547
  }, copySlotsFrom = (stagingDir, vendorDirs) => {
35469
35548
  for (const [index, dir] of vendorDirs.entries()) {
35470
- if (!existsSync46(dir))
35549
+ if (!existsSync45(dir))
35471
35550
  continue;
35472
35551
  copyTree(dir, join59(stagingDir, slotName(index, dir)));
35473
35552
  }
35474
35553
  }, isVendorCachePayload = (value) => typeof value === "object" && value !== null && typeof Reflect.get(value, "depPaths") === "object", cacheDirFor = (key, projectRoot) => resolve52(projectRoot, CACHE_ROOT2, key), slotName = (index, dir) => `${index}-${basename21(resolve52(dir, ".."))}`, restoreVendorCache = async (key, vendorDirs, projectRoot = process.cwd()) => {
35475
35554
  const cacheDir2 = cacheDirFor(key, projectRoot);
35476
35555
  const payloadPath = join59(cacheDir2, "payload.json");
35477
- if (!existsSync46(payloadPath))
35556
+ if (!existsSync45(payloadPath))
35478
35557
  return null;
35479
35558
  try {
35480
35559
  const payload = JSON.parse(await readFile10(payloadPath, "utf8"));
@@ -35487,7 +35566,7 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
35487
35566
  }
35488
35567
  }, saveVendorCache = async (key, vendorDirs, payload, projectRoot = process.cwd()) => {
35489
35568
  const cacheDir2 = cacheDirFor(key, projectRoot);
35490
- if (existsSync46(join59(cacheDir2, "payload.json")))
35569
+ if (existsSync45(join59(cacheDir2, "payload.json")))
35491
35570
  return;
35492
35571
  const stagingDir = `${cacheDir2}.${process.pid}.tmp`;
35493
35572
  try {
@@ -35522,7 +35601,7 @@ __export(exports_devBuild, {
35522
35601
  devBuild: () => devBuild
35523
35602
  });
35524
35603
  import { readdir as readdir5 } from "fs/promises";
35525
- import { existsSync as existsSync47, statSync as statSync9 } from "fs";
35604
+ import { existsSync as existsSync46, statSync as statSync10 } from "fs";
35526
35605
  import { resolve as resolve53 } from "path";
35527
35606
  var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve53(import.meta.dir, "../dev/client"), collectDepVendorSourceDirs = (config) => {
35528
35607
  const configuredDirs = [
@@ -35662,7 +35741,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve53(import.meta.d
35662
35741
  });
35663
35742
  }
35664
35743
  }, handleCachedReload = async () => {
35665
- const serverMtime = statSync9(resolve53(Bun.main)).mtimeMs;
35744
+ const serverMtime = statSync10(resolve53(Bun.main)).mtimeMs;
35666
35745
  const lastMtime = globalThis.__hmrServerMtime;
35667
35746
  globalThis.__hmrServerMtime = serverMtime;
35668
35747
  const cached = globalThis.__hmrDevResult;
@@ -35800,7 +35879,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve53(import.meta.d
35800
35879
  const sourceFiles = await collectDepVendorSourceFiles(config);
35801
35880
  const configVendorDirs = collectConfigVendorSourceDirs(config);
35802
35881
  const prescannedVendorPaths = prescanVendorPaths(prescan, configVendorDirs);
35803
- const remainingVendorDirs = prescannedVendorPaths ? sourceDirs.filter((dir) => !configVendorDirs.includes(dir) && existsSync47(dir)) : sourceDirs;
35882
+ const remainingVendorDirs = prescannedVendorPaths ? sourceDirs.filter((dir) => !configVendorDirs.includes(dir) && existsSync46(dir)) : sourceDirs;
35804
35883
  if (prescannedVendorPaths && remainingVendorDirs.length === 0 && sourceFiles.length === 0) {
35805
35884
  globalThis.__depVendorPaths = prescannedVendorPaths;
35806
35885
  } else {
@@ -36043,7 +36122,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve53(import.meta.d
36043
36122
  manifest
36044
36123
  };
36045
36124
  globalThis.__hmrDevResult = result;
36046
- globalThis.__hmrServerMtime = statSync9(resolve53(Bun.main)).mtimeMs;
36125
+ globalThis.__hmrServerMtime = statSync10(resolve53(Bun.main)).mtimeMs;
36047
36126
  return result;
36048
36127
  };
36049
36128
  var init_devBuild = __esm(() => {
@@ -36302,14 +36381,14 @@ __export(exports_devtoolsJson, {
36302
36381
  normalizeDevtoolsWorkspaceRoot: () => normalizeDevtoolsWorkspaceRoot,
36303
36382
  resolveDevtoolsUuidCachePath: () => resolveDevtoolsUuidCachePath
36304
36383
  });
36305
- import { existsSync as existsSync48, mkdirSync as mkdirSync16, readFileSync as readFileSync40, writeFileSync as writeFileSync11 } from "fs";
36384
+ import { existsSync as existsSync47, mkdirSync as mkdirSync16, readFileSync as readFileSync40, writeFileSync as writeFileSync11 } from "fs";
36306
36385
  import { dirname as dirname36, join as join60, resolve as resolve54 } from "path";
36307
36386
  import { Elysia as Elysia7 } from "elysia";
36308
36387
  var ENDPOINT = "/.well-known/appspecific/com.chrome.devtools.json", UUID_CACHE_KEY = "__absoluteDevtoolsWorkspaceUuid", getGlobalUuid = () => Reflect.get(globalThis, UUID_CACHE_KEY), setGlobalUuid = (uuid) => {
36309
36388
  Reflect.set(globalThis, UUID_CACHE_KEY, uuid);
36310
36389
  return uuid;
36311
36390
  }, isUuidV4 = (value) => /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value), resolveDevtoolsUuidCachePath = (buildDir, uuidCachePath) => resolve54(uuidCachePath ?? join60(buildDir, ".absolute", "chrome-devtools-workspace-uuid")), readCachedUuid = (cachePath) => {
36312
- if (!existsSync48(cachePath))
36391
+ if (!existsSync47(cachePath))
36313
36392
  return null;
36314
36393
  try {
36315
36394
  const value = readFileSync40(cachePath, "utf-8").trim();
@@ -36362,13 +36441,13 @@ var exports_imageOptimizer = {};
36362
36441
  __export(exports_imageOptimizer, {
36363
36442
  imageOptimizer: () => imageOptimizer
36364
36443
  });
36365
- import { existsSync as existsSync49 } from "fs";
36444
+ import { existsSync as existsSync48 } from "fs";
36366
36445
  import { resolve as resolve55 } from "path";
36367
36446
  import { Elysia as Elysia8 } from "elysia";
36368
36447
  var DEFAULT_CACHE_TTL_SECONDS = 60, MS_PER_SECOND = 1000, MAX_QUALITY = 100, avifInProgress, safeResolve = (path2, baseDir) => {
36369
36448
  try {
36370
36449
  const resolved = validateSafePath(path2, baseDir);
36371
- if (existsSync49(resolved))
36450
+ if (existsSync48(resolved))
36372
36451
  return resolved;
36373
36452
  return null;
36374
36453
  } catch {
@@ -37620,6 +37699,7 @@ ${serverOutput}` : "Server failed to start for pre-rendering";
37620
37699
  ...env4,
37621
37700
  ABSOLUTE_HOST: "localhost",
37622
37701
  ABSOLUTE_PORT: String(port),
37702
+ ABSOLUTE_PRERENDER: "1",
37623
37703
  HOST: "localhost",
37624
37704
  PORT: String(port)
37625
37705
  },
@@ -37651,7 +37731,7 @@ __export(exports_prepare, {
37651
37731
  startDevPrebuild: () => startDevPrebuild
37652
37732
  });
37653
37733
  import { createHash as createHash12 } from "crypto";
37654
- import { existsSync as existsSync50, readdirSync as readdirSync14, readFileSync as readFileSync42 } from "fs";
37734
+ import { existsSync as existsSync49, readdirSync as readdirSync14, readFileSync as readFileSync42 } from "fs";
37655
37735
  import { basename as basename22, join as join64, relative as relative24, resolve as resolvePath4 } from "path";
37656
37736
  import { Elysia as Elysia11, NotFound } from "elysia";
37657
37737
  var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_PLUGIN_RETRY_DELAY_MS = 50, waitForStaticPluginRetry = () => new Promise((resolve56) => {
@@ -37780,7 +37860,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
37780
37860
  if (!fileName)
37781
37861
  continue;
37782
37862
  const srcPath = resolvePath4(devIndexDir, fileName);
37783
- if (!existsSync50(srcPath))
37863
+ if (!existsSync49(srcPath))
37784
37864
  continue;
37785
37865
  const rel = relative24(process.cwd(), srcPath).replace(/\\/g, "/");
37786
37866
  manifest[key] = `${SRC_URL_PREFIX3}${rel}`;
@@ -37796,7 +37876,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
37796
37876
  const path2 = href.split("?")[0] ?? href;
37797
37877
  const filePath = join64(buildDir, path2);
37798
37878
  let versioned = href;
37799
- if (existsSync50(filePath)) {
37879
+ if (existsSync49(filePath)) {
37800
37880
  const hash = createHash12("sha256").update(readFileSync42(filePath)).digest("hex").slice(0, ICON_HASH_LENGTH);
37801
37881
  versioned = href.includes("?") ? `${href}&v=${hash}` : `${href}?v=${hash}`;
37802
37882
  }
@@ -37928,7 +38008,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
37928
38008
  };
37929
38009
  }, loadPrerenderMap = (prerenderDir) => {
37930
38010
  const map = new Map;
37931
- if (!existsSync50(prerenderDir))
38011
+ if (!existsSync49(prerenderDir))
37932
38012
  return map;
37933
38013
  let entries;
37934
38014
  try {
@@ -37946,7 +38026,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
37946
38026
  return map;
37947
38027
  }, loadMobileCompatibilityPlugin = async (buildDir) => {
37948
38028
  const root = join64(buildDir, ".absolutejs", "mobile-compatibility");
37949
- if (!existsSync50(join64(root, "current.json"))) {
38029
+ if (!existsSync49(join64(root, "current.json"))) {
37950
38030
  return new Elysia11({ name: "absolutejs-mobile-compatibility-empty" });
37951
38031
  }
37952
38032
  const [
@@ -37971,10 +38051,9 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
37971
38051
  const missingAsset = assetMatch[1] ?? "";
37972
38052
  const framework = /^(?:[A-Z][a-z]*)*?(Angular|Vue|Svelte|React|Html|Htmx|Ember)/.exec(missingAsset)?.[1]?.toLowerCase() ?? "absolutejs";
37973
38053
  console.error(`[hmr] Build artifact "${missingAsset}" missing from manifest \u2014 ` + `the user likely has a build-time error. Save a fix to trigger a recovery rebuild.`);
37974
- const { ssrErrorPage: ssrErrorPage2 } = await Promise.resolve().then(() => exports_ssrErrorPage);
37975
- const html = ssrErrorPage2(framework, new Error(`Build artifact "${missingAsset}" missing from manifest.
37976
-
37977
- This usually means a build-time error in a source file. Check the dev-server terminal for the underlying error, fix the file, and save to trigger a recovery rebuild.`));
38054
+ const { buildErrorPage: buildErrorPage2 } = await Promise.resolve().then(() => exports_ssrErrorPage);
38055
+ const { getDevPageWarmer: getDevPageWarmer2 } = await Promise.resolve().then(() => (init_requestContext(), exports_requestContext));
38056
+ const html = buildErrorPage2(framework, missingAsset, getDevPageWarmer2()?.lastError?.());
37978
38057
  return new Response(html, {
37979
38058
  headers: { "content-type": "text/html; charset=utf-8" },
37980
38059
  status: 500
@@ -38012,12 +38091,12 @@ This usually means a build-time error in a source file. Check the dev-server ter
38012
38091
  recordStep("load production manifest and island metadata", stepStartedAt);
38013
38092
  stepStartedAt = performance.now();
38014
38093
  const conventionsPath = join64(buildDir, "conventions.json");
38015
- if (existsSync50(conventionsPath)) {
38094
+ if (existsSync49(conventionsPath)) {
38016
38095
  const conventions2 = JSON.parse(readFileSync42(conventionsPath, "utf-8"));
38017
38096
  setConventions(conventions2);
38018
38097
  }
38019
38098
  const spaRoutesPath = join64(buildDir, "spa-routes.json");
38020
- if (existsSync50(spaRoutesPath)) {
38099
+ if (existsSync49(spaRoutesPath)) {
38021
38100
  setSpaRouteManifest(JSON.parse(readFileSync42(spaRoutesPath, "utf-8")));
38022
38101
  }
38023
38102
  recordStep("load production conventions", stepStartedAt);
@@ -38183,10 +38262,10 @@ __export(exports_serverEntryWatcher, {
38183
38262
  });
38184
38263
  import {
38185
38264
  copyFileSync as copyFileSync6,
38186
- existsSync as existsSync52,
38265
+ existsSync as existsSync51,
38187
38266
  readdirSync as readdirSync16,
38188
38267
  readFileSync as readFileSync45,
38189
- statSync as statSync10,
38268
+ statSync as statSync11,
38190
38269
  watch as watch2
38191
38270
  } from "fs";
38192
38271
  import { createHash as createHash13 } from "crypto";
@@ -38214,7 +38293,7 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETR
38214
38293
  if (globalThis.__absoluteEntryWatcherStarted)
38215
38294
  return;
38216
38295
  const originalEntry = process.env.ABSOLUTE_SERVER_ENTRY ?? Bun.main;
38217
- if (!originalEntry || !existsSync52(originalEntry))
38296
+ if (!originalEntry || !existsSync51(originalEntry))
38218
38297
  return;
38219
38298
  globalThis.__absoluteEntryWatcherStarted = true;
38220
38299
  globalThis.__absoluteEntryWatcherReady = false;
@@ -38345,7 +38424,7 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETR
38345
38424
  continue;
38346
38425
  let st2;
38347
38426
  try {
38348
- st2 = statSync10(join67(dir, entry.name));
38427
+ st2 = statSync11(join67(dir, entry.name));
38349
38428
  } catch {
38350
38429
  continue;
38351
38430
  }
@@ -38756,7 +38835,7 @@ import { buildGlobalWSHandler } from "elysia/ws";
38756
38835
  // src/dev/devCert.ts
38757
38836
  import {
38758
38837
  copyFileSync as copyFileSync5,
38759
- existsSync as existsSync51,
38838
+ existsSync as existsSync50,
38760
38839
  mkdirSync as mkdirSync18,
38761
38840
  readFileSync as readFileSync43,
38762
38841
  rmSync as rmSync5
@@ -38772,7 +38851,7 @@ var DEFAULT_CERTIFICATE_HOSTS = ["localhost", "127.0.0.1", "::1"];
38772
38851
  var CERTIFICATE_HOSTNAME_PATTERN = /^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)(?:\.(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?))*$/u;
38773
38852
  var devLog = (msg) => console.log(`\x1B[2m${new Date().toLocaleTimeString()}\x1B[0m \x1B[36m[dev]\x1B[0m ${msg}`);
38774
38853
  var devWarn = (msg) => console.log(`\x1B[2m${new Date().toLocaleTimeString()}\x1B[0m \x1B[33m[dev]\x1B[0m \x1B[33m${msg}\x1B[0m`);
38775
- var certFilesExist = () => existsSync51(CERT_PATH) && existsSync51(KEY_PATH);
38854
+ var certFilesExist = () => existsSync50(CERT_PATH) && existsSync50(KEY_PATH);
38776
38855
  var normalizeDevCertificateHosts = (hosts = []) => {
38777
38856
  const normalized = new Set(DEFAULT_CERTIFICATE_HOSTS);
38778
38857
  for (const host2 of hosts) {
@@ -39440,7 +39519,7 @@ var serializeSpeculationRules = (rules) => {
39440
39519
  };
39441
39520
  // src/utils/defineEnv.ts
39442
39521
  var {env: bunEnv } = globalThis.Bun;
39443
- import { existsSync as existsSync53, readFileSync as readFileSync46 } from "fs";
39522
+ import { existsSync as existsSync52, readFileSync as readFileSync46 } from "fs";
39444
39523
  import { resolve as resolve57 } from "path";
39445
39524
 
39446
39525
  // node_modules/@sinclair/typebox/build/esm/type/guard/value.mjs
@@ -45477,7 +45556,7 @@ ${lines.join(`
45477
45556
  var checkEnvFileSecurity = (properties) => {
45478
45557
  const cwd2 = process.cwd();
45479
45558
  const envPath = resolve57(cwd2, ".env");
45480
- if (!existsSync53(envPath))
45559
+ if (!existsSync52(envPath))
45481
45560
  return;
45482
45561
  const sensitiveKeys = Object.keys(properties).filter(isSensitive);
45483
45562
  if (sensitiveKeys.length === 0)
@@ -45487,7 +45566,7 @@ var checkEnvFileSecurity = (properties) => {
45487
45566
  if (presentKeys.length === 0)
45488
45567
  return;
45489
45568
  const gitignorePath = resolve57(cwd2, ".gitignore");
45490
- if (existsSync53(gitignorePath)) {
45569
+ if (existsSync52(gitignorePath)) {
45491
45570
  const gitignore = readFileSync46(gitignorePath, "utf-8");
45492
45571
  if (gitignore.split(`
45493
45572
  `).some((line) => line.trim() === ".env"))
@@ -45520,7 +45599,7 @@ var getEnv = (key) => {
45520
45599
  return environmentVariable;
45521
45600
  };
45522
45601
  // src/utils/projectRoot.ts
45523
- import { existsSync as existsSync54 } from "fs";
45602
+ import { existsSync as existsSync53 } from "fs";
45524
45603
  import { dirname as dirname39, resolve as resolve58 } from "path";
45525
45604
  var CONFIG_CANDIDATES = [
45526
45605
  "absolute.config.ts",
@@ -45530,7 +45609,7 @@ var CONFIG_CANDIDATES = [
45530
45609
  "absolute.config.mts",
45531
45610
  "absolute.config.cts"
45532
45611
  ];
45533
- var hasAbsoluteConfig = (directory) => CONFIG_CANDIDATES.some((name) => existsSync54(resolve58(directory, name)));
45612
+ var hasAbsoluteConfig = (directory) => CONFIG_CANDIDATES.some((name) => existsSync53(resolve58(directory, name)));
45534
45613
  var findProjectRoot = () => {
45535
45614
  const start = process.cwd();
45536
45615
  let packageRoot = null;
@@ -45539,7 +45618,7 @@ var findProjectRoot = () => {
45539
45618
  if (hasAbsoluteConfig(directory)) {
45540
45619
  return directory;
45541
45620
  }
45542
- if (packageRoot === null && existsSync54(resolve58(directory, "package.json"))) {
45621
+ if (packageRoot === null && existsSync53(resolve58(directory, "package.json"))) {
45543
45622
  packageRoot = directory;
45544
45623
  }
45545
45624
  const parent = dirname39(directory);
@@ -45616,6 +45695,8 @@ var createStreamingSlotMetricSink = ({
45616
45695
  // src/utils/index.ts
45617
45696
  init_streamingSlots();
45618
45697
 
45698
+ // src/utils/isPrerendering.ts
45699
+ var isPrerendering = () => process.env.ABSOLUTE_PRERENDER === "1";
45619
45700
  // src/index.ts
45620
45701
  markBoot("framework runtime imported");
45621
45702
  export {
@@ -45735,6 +45816,7 @@ export {
45735
45816
  defineIslandRegistry,
45736
45817
  defineRenderErrorPage,
45737
45818
  defineRenderNotFoundPage,
45819
+ devBuildErrorResponse,
45738
45820
  devtoolsJson,
45739
45821
  disposeTailwindCompiler,
45740
45822
  enhanceHtmlResponseWithStreamingSlots,
@@ -45763,6 +45845,7 @@ export {
45763
45845
  injectHtmlIntoHead,
45764
45846
  injectStreamingRuntimeIntoStream,
45765
45847
  isIslandComponentDefinition,
45848
+ isPrerendering,
45766
45849
  isTailwindCandidate,
45767
45850
  isValidHMRClientMessage,
45768
45851
  jsonLd2 as jsonLd,
@@ -45801,5 +45884,5 @@ export {
45801
45884
  wrapPageHandlerWithStreamingSlots
45802
45885
  };
45803
45886
 
45804
- //# debugId=2B2220FD6E0738B064756E2164756E21
45887
+ //# debugId=9189760E6EEA8CAD64756E2164756E21
45805
45888
  //# sourceMappingURL=index.js.map