@absolutejs/absolute 0.19.0-beta.704 → 0.19.0-beta.706

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 (103) hide show
  1. package/dist/angular/browser.js +6 -4
  2. package/dist/angular/browser.js.map +3 -3
  3. package/dist/angular/index.js +71 -82
  4. package/dist/angular/index.js.map +10 -10
  5. package/dist/angular/server.js +70 -81
  6. package/dist/angular/server.js.map +10 -10
  7. package/dist/build.js +152 -84
  8. package/dist/build.js.map +15 -15
  9. package/dist/cli/index.js +330 -296
  10. package/dist/client/index.js +7 -4
  11. package/dist/client/index.js.map +3 -3
  12. package/dist/index.js +253 -153
  13. package/dist/index.js.map +24 -24
  14. package/dist/islands/index.js +9 -6
  15. package/dist/islands/index.js.map +5 -5
  16. package/dist/react/browser.js +7 -7
  17. package/dist/react/browser.js.map +2 -2
  18. package/dist/react/components/browser/index.js +101 -101
  19. package/dist/react/components/index.js +104 -104
  20. package/dist/react/components/index.js.map +2 -2
  21. package/dist/react/index.js +77 -88
  22. package/dist/react/index.js.map +10 -10
  23. package/dist/react/jsxDevRuntimeCompat.js +1 -6
  24. package/dist/react/jsxDevRuntimeCompat.js.map +3 -3
  25. package/dist/react/server.js +57 -71
  26. package/dist/react/server.js.map +8 -8
  27. package/dist/src/angular/components/defer-slot-templates.directive.d.ts +0 -7
  28. package/dist/src/angular/components/defer-slot.component.d.ts +2 -5
  29. package/dist/src/angular/components/image.component.d.ts +2 -5
  30. package/dist/src/angular/components/index.d.ts +4 -4
  31. package/dist/src/angular/components/stream-slot.component.d.ts +0 -3
  32. package/dist/src/angular/pageHandler.d.ts +6 -1
  33. package/dist/src/angular/ssrRender.d.ts +1 -1
  34. package/dist/src/build/buildAngularVendor.d.ts +3 -4
  35. package/dist/src/constants.d.ts +21 -0
  36. package/dist/src/core/ssrCache.d.ts +1 -1
  37. package/dist/src/core/wrapPageHandlerWithStreamingSlots.d.ts +1 -1
  38. package/dist/src/react/jsxDevRuntimeCompat.d.ts +3 -6
  39. package/dist/src/react/pageHandler.d.ts +2 -1
  40. package/dist/src/svelte/pageHandler.d.ts +2 -2
  41. package/dist/src/utils/defineConfig.d.ts +2 -2
  42. package/dist/src/utils/imageProcessing.d.ts +1 -1
  43. package/dist/src/utils/loadConfig.d.ts +38 -2
  44. package/dist/src/vue/components/Image.d.ts +3 -3
  45. package/dist/src/vue/components/index.d.ts +1 -1
  46. package/dist/src/vue/index.d.ts +1 -1
  47. package/dist/src/vue/pageHandler.d.ts +2 -1
  48. package/dist/svelte/index.js +52 -58
  49. package/dist/svelte/index.js.map +10 -10
  50. package/dist/svelte/server.js +46 -55
  51. package/dist/svelte/server.js.map +9 -9
  52. package/dist/vue/components/Image.js +18 -18
  53. package/dist/vue/components/Image.js.map +3 -3
  54. package/dist/vue/components/index.js +77 -62
  55. package/dist/vue/components/index.js.map +5 -5
  56. package/dist/vue/index.js +137 -142
  57. package/dist/vue/index.js.map +13 -13
  58. package/dist/vue/server.js +54 -77
  59. package/dist/vue/server.js.map +8 -8
  60. package/package.json +42 -42
  61. package/dist/angular/components/constants.js +0 -56
  62. package/dist/angular/components/core/streamingSlotRegistrar.js +0 -58
  63. package/dist/angular/components/core/streamingSlotRegistry.js +0 -114
  64. package/dist/angular/components/defer-slot-payload.js +0 -6
  65. package/dist/angular/components/defer-slot-templates.directive.js +0 -44
  66. package/dist/angular/components/defer-slot.component.js +0 -149
  67. package/dist/angular/components/image.component.js +0 -202
  68. package/dist/angular/components/index.js +0 -4
  69. package/dist/angular/components/stream-slot.component.js +0 -103
  70. package/dist/dev/client/constants.ts +0 -26
  71. package/dist/dev/client/cssUtils.ts +0 -307
  72. package/dist/dev/client/domDiff.ts +0 -226
  73. package/dist/dev/client/domState.ts +0 -421
  74. package/dist/dev/client/domTracker.ts +0 -61
  75. package/dist/dev/client/errorOverlay.ts +0 -184
  76. package/dist/dev/client/frameworkDetect.ts +0 -63
  77. package/dist/dev/client/handlers/angular.ts +0 -551
  78. package/dist/dev/client/handlers/angularRuntime.ts +0 -206
  79. package/dist/dev/client/handlers/html.ts +0 -363
  80. package/dist/dev/client/handlers/htmx.ts +0 -272
  81. package/dist/dev/client/handlers/react.ts +0 -108
  82. package/dist/dev/client/handlers/rebuild.ts +0 -153
  83. package/dist/dev/client/handlers/svelte.ts +0 -332
  84. package/dist/dev/client/handlers/vue.ts +0 -292
  85. package/dist/dev/client/headPatch.ts +0 -233
  86. package/dist/dev/client/hmrClient.ts +0 -251
  87. package/dist/dev/client/hmrState.ts +0 -14
  88. package/dist/dev/client/moduleVersions.ts +0 -62
  89. package/dist/dev/client/reactRefreshSetup.ts +0 -33
  90. package/dist/src/angular/components/constants.d.ts +0 -53
  91. package/dist/svelte/components/AwaitSlot.svelte +0 -39
  92. package/dist/svelte/components/AwaitSlot.svelte.d.ts +0 -2
  93. package/dist/svelte/components/Head.svelte +0 -144
  94. package/dist/svelte/components/Head.svelte.d.ts +0 -2
  95. package/dist/svelte/components/Image.svelte +0 -164
  96. package/dist/svelte/components/Image.svelte.d.ts +0 -5
  97. package/dist/svelte/components/Island.svelte +0 -71
  98. package/dist/svelte/components/Island.svelte.d.ts +0 -5
  99. package/dist/svelte/components/JsonLd.svelte +0 -21
  100. package/dist/svelte/components/JsonLd.svelte.d.ts +0 -2
  101. package/dist/svelte/components/StreamSlot.svelte +0 -41
  102. package/dist/svelte/components/StreamSlot.svelte.d.ts +0 -2
  103. package/dist/types/globals.d.ts +0 -121
@@ -79,7 +79,7 @@ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
79
79
  var __require = import.meta.require;
80
80
 
81
81
  // src/constants.ts
82
- var ANGULAR_INIT_TIMEOUT_MS = 500, ANSI_ESCAPE_LENGTH = 3, ASCII_SPACE = 32, BASE_36_RADIX = 36, BUN_BUILD_WARNING_SUPPRESSION = "wildcard sideEffects are not supported yet", BODY_SLICE_LENGTH = 2000, BYTES_PER_KILOBYTE = 1024, CLI_ARGS_OFFSET = 3, CSS_ERROR_RESOLVE_DELAY_MS = 50, CSS_MAX_CHECK_ATTEMPTS = 10, CSS_MAX_PARSE_TIMEOUT_MS = 500, CSS_SHEET_READY_TIMEOUT_MS = 100, DEFAULT_CHUNK_SIZE = 16384, DEFAULT_DEBOUNCE_MS = 15, DEFAULT_PORT = 3000, DEV_SERVER_RESTART_DEBOUNCE_MS = 100, DOM_UPDATE_DELAY_MS = 50, FILE_PROTOCOL_PREFIX_LENGTH = 7, FOCUS_ID_PREFIX_LENGTH = 3, FOCUS_IDX_PREFIX_LENGTH = 4, FOCUS_NAME_PREFIX_LENGTH = 5, HMR_UPDATE_TIMEOUT_MS = 2000, HOOK_SIGNATURE_LENGTH = 12, EXCLUDE_LAST_OFFSET = -1, HTTP_STATUS_OK = 200, HTTP_STATUS_BAD_REQUEST = 400, HTTP_STATUS_NOT_FOUND = 404, HOURS_IN_DAY = 24, HOURS_IN_HALF_DAY = 12, MAX_ERROR_LENGTH = 200, MAX_RECONNECT_ATTEMPTS = 60, MILLISECONDS_IN_A_SECOND = 1000, MINUTES_IN_AN_HOUR = 60, SECONDS_IN_A_MINUTE = 60, MILLISECONDS_IN_A_MINUTE, MILLISECONDS_IN_A_DAY, OVERLAY_FADE_DURATION_MS = 150, PING_INTERVAL_MS = 30000, RAF_BATCH_COUNT = 3, RANDOM_ID_END_INDEX = 11, REBUILD_BATCH_DELAY_MS = 10, REBUILD_RELOAD_DELAY_MS = 200, RECONNECT_INITIAL_DELAY_MS = 500, RECONNECT_POLL_INTERVAL_MS = 300, REACT_STREAM_SLOT_FAST_DELAY_MS = 5, REACT_STREAM_SLOT_SLOW_DELAY_MS = 20, SIGINT_EXIT_CODE = 130, SIGTERM_EXIT_CODE = 143, SVELTE_CSS_LOAD_TIMEOUT_MS = 500, TIME_PRECISION = 2, TWO_THIRDS, UNFOUND_INDEX = -1, WEBSOCKET_NORMAL_CLOSURE = 1000;
82
+ var ANGULAR_INIT_TIMEOUT_MS = 500, ANSI_ESCAPE_LENGTH = 3, ASCII_SPACE = 32, BASE_36_RADIX = 36, BUN_BUILD_WARNING_SUPPRESSION = "wildcard sideEffects are not supported yet", BODY_SLICE_LENGTH = 2000, BYTES_PER_KILOBYTE = 1024, CLI_ARGS_OFFSET = 3, CSS_ERROR_RESOLVE_DELAY_MS = 50, CSS_MAX_CHECK_ATTEMPTS = 10, CSS_MAX_PARSE_TIMEOUT_MS = 500, CSS_SHEET_READY_TIMEOUT_MS = 100, DEFAULT_CHUNK_SIZE = 16384, DEFAULT_DEBOUNCE_MS = 15, DEFAULT_PORT = 3000, DEV_SERVER_RESTART_DEBOUNCE_MS = 100, DOM_UPDATE_DELAY_MS = 50, FILE_PROTOCOL_PREFIX_LENGTH = 7, FOCUS_ID_PREFIX_LENGTH = 3, FOCUS_IDX_PREFIX_LENGTH = 4, FOCUS_NAME_PREFIX_LENGTH = 5, HMR_UPDATE_TIMEOUT_MS = 2000, HOOK_SIGNATURE_LENGTH = 12, EXCLUDE_LAST_OFFSET = -1, HTTP_STATUS_OK = 200, HTTP_STATUS_BAD_REQUEST = 400, HTTP_STATUS_NOT_FOUND = 404, HOURS_IN_DAY = 24, HOURS_IN_HALF_DAY = 12, MAX_ERROR_LENGTH = 200, MAX_RECONNECT_ATTEMPTS = 60, MILLISECONDS_IN_A_SECOND = 1000, MINUTES_IN_AN_HOUR = 60, SECONDS_IN_A_MINUTE = 60, MILLISECONDS_IN_A_MINUTE, MILLISECONDS_IN_A_DAY, OVERLAY_FADE_DURATION_MS = 150, PING_INTERVAL_MS = 30000, RAF_BATCH_COUNT = 3, RANDOM_ID_END_INDEX = 11, REBUILD_BATCH_DELAY_MS = 10, REBUILD_RELOAD_DELAY_MS = 200, RECONNECT_INITIAL_DELAY_MS = 500, RECONNECT_POLL_INTERVAL_MS = 300, REACT_STREAM_SLOT_FAST_DELAY_MS = 5, REACT_STREAM_SLOT_SLOW_DELAY_MS = 20, SIGINT_EXIT_CODE = 130, SIGTERM_EXIT_CODE = 143, SVELTE_CSS_LOAD_TIMEOUT_MS = 500, TIME_PRECISION = 2, TWO_THIRDS, UNFOUND_INDEX = -1, WEBSOCKET_NORMAL_CLOSURE = 1000, WORKSPACE_COMMAND_ARGS_OFFSET = 3, WORKSPACE_FAILURE_LOG_PRINT_LIMIT = 30, WORKSPACE_FAILURE_RECENT_LOG_LIMIT = 60, WORKSPACE_READY_ATTEMPT_TIMEOUT_MS = 5000, WORKSPACE_READY_PROBE_INTERVAL_MS = 250, WORKSPACE_READY_TIMEOUT_MS = 30000, WORKSPACE_SHUTDOWN_TIMEOUT_MS = 1e4, WORKSPACE_TUI_DEFAULT_HEIGHT = 28, WORKSPACE_TUI_DEFAULT_WIDTH = 100, WORKSPACE_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30, WORKSPACE_TUI_FOOTER_LINE_COUNT = 3, WORKSPACE_TUI_MIN_LOG_HEIGHT = 3, WORKSPACE_TUI_MIN_SERVICE_NAME_WIDTH = 7, WORKSPACE_TUI_MIN_TARGET_WIDTH = 8, WORKSPACE_TUI_MIN_WRAP_WIDTH = 12, WORKSPACE_TUI_PROMPT_CURSOR_OFFSET = 3, WORKSPACE_TUI_RECENT_LOG_LIMIT = 40, WORKSPACE_TUI_RENDER_DEBOUNCE_MS = 16, WORKSPACE_TUI_STATUS_WIDTH = 10, WORKSPACE_TUI_TARGET_PADDING_WIDTH = 6, WORKSPACE_TUI_VISIBILITY_WIDTH = 8;
83
83
  var init_constants = __esm(() => {
84
84
  MILLISECONDS_IN_A_MINUTE = MILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE;
85
85
  MILLISECONDS_IN_A_DAY = MILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE * MINUTES_IN_AN_HOUR * HOURS_IN_DAY;
@@ -94,7 +94,7 @@ __export(exports_devRouteRegistrationCallsite, {
94
94
  });
95
95
  import { AsyncLocalStorage } from "async_hooks";
96
96
  import { Elysia } from "elysia";
97
- var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, ROUTE_METHOD_NAMES, isObjectRecord3 = (value) => Boolean(value) && typeof value === "object", isAsyncLocalStorage2 = (value) => isObjectRecord3(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function", getRouteCallsiteStorage = () => {
97
+ var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, ROUTE_METHOD_NAMES, isObjectRecord3 = (value) => Boolean(value) && typeof value === "object", isAsyncLocalStorage2 = (value) => isObjectRecord3(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function", isRouteMethod = (value) => typeof value === "function", getRouteCallsiteStorage = () => {
98
98
  const value = Reflect.get(globalThis, ROUTE_CALLSITE_STORAGE_KEY);
99
99
  if (value === null || typeof value === "undefined") {
100
100
  return;
@@ -108,19 +108,10 @@ var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, ROUTE_METHOD_NAMES,
108
108
  const storage = new AsyncLocalStorage;
109
109
  Reflect.set(globalThis, ROUTE_CALLSITE_STORAGE_KEY, storage);
110
110
  return storage;
111
- }, normalizeCallsitePath = (value) => value.replace(`${process.cwd()}/`, "").replace(process.cwd(), "").replace(/^\.\/+/, ""), extractRouteRegistrationCallsite = (stack) => {
112
- const frames = stack.split(`
113
- `).slice(1).map((line) => line.trim());
114
- for (const frame of frames) {
115
- if (frame.includes("/node_modules/") || frame.includes("/dist/") || frame.includes("/src/core/devRouteRegistrationCallsite.")) {
116
- continue;
117
- }
118
- const locationMatch = frame.match(/\((\/[^)]+:\d+:\d+)\)$/) ?? frame.match(/at (\/[^ ]+:\d+:\d+)$/);
119
- if (locationMatch?.[1]) {
120
- return normalizeCallsitePath(locationMatch[1]);
121
- }
122
- }
123
- return;
111
+ }, normalizeCallsitePath = (value) => value.replace(`${process.cwd()}/`, "").replace(process.cwd(), "").replace(/^\.\/+/, ""), shouldIgnoreRouteCallsiteFrame = (frame) => frame.includes("/node_modules/") || frame.includes("/dist/") || frame.includes("/src/core/devRouteRegistrationCallsite."), getRouteCallsiteLocation = (frame) => frame.match(/\((\/[^)]+:\d+:\d+)\)$/)?.[1] ?? frame.match(/at (\/[^ ]+:\d+:\d+)$/)?.[1], extractRouteRegistrationCallsite = (stack) => {
112
+ const location = stack.split(`
113
+ `).slice(1).map((line) => line.trim()).filter((frame) => !shouldIgnoreRouteCallsiteFrame(frame)).map((frame) => getRouteCallsiteLocation(frame)).find((frameLocation) => frameLocation !== undefined);
114
+ return location ? normalizeCallsitePath(location) : undefined;
124
115
  }, captureRouteRegistrationCallsite = () => {
125
116
  const { stack } = new Error;
126
117
  if (!stack) {
@@ -132,29 +123,29 @@ var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, ROUTE_METHOD_NAMES,
132
123
  return handler;
133
124
  }
134
125
  const storage = ensureRouteCallsiteStorage();
126
+ const routeHandler = handler;
135
127
  return function wrappedRouteHandler(...args) {
136
- return storage.run({ callsite }, () => Reflect.apply(handler, this, args));
128
+ return storage.run({ callsite }, () => Reflect.apply(routeHandler, this, args));
137
129
  };
130
+ }, createPatchedRouteMethod = (originalMethod) => function patchedRouteMethod(path, handler, ...rest) {
131
+ const callsite = captureRouteRegistrationCallsite();
132
+ return Reflect.apply(originalMethod, this, [
133
+ path,
134
+ wrapRouteHandlerWithCallsite(handler, callsite),
135
+ ...rest
136
+ ]);
138
137
  }, getCurrentRouteRegistrationCallsite = () => getRouteCallsiteStorage()?.getStore()?.callsite, patchElysiaRouteRegistrationCallsites = () => {
139
138
  if (false) {}
140
139
  if (Reflect.get(globalThis, ROUTE_CALLSITE_PATCHED_KEY) === true) {
141
140
  return;
142
141
  }
143
- const prototype = Elysia.prototype;
144
- for (const methodName of ROUTE_METHOD_NAMES) {
145
- const originalMethod = prototype[methodName];
146
- if (typeof originalMethod !== "function") {
147
- continue;
148
- }
149
- prototype[methodName] = function patchedRouteMethod(path, handler, ...rest) {
150
- const callsite = captureRouteRegistrationCallsite();
151
- return Reflect.apply(originalMethod, this, [
152
- path,
153
- wrapRouteHandlerWithCallsite(handler, callsite),
154
- ...rest
155
- ]);
156
- };
157
- }
142
+ const { prototype } = Elysia;
143
+ ROUTE_METHOD_NAMES.forEach((methodName) => {
144
+ const originalMethod = Reflect.get(prototype, methodName);
145
+ if (!isRouteMethod(originalMethod))
146
+ return;
147
+ Reflect.set(prototype, methodName, createPatchedRouteMethod(originalMethod));
148
+ });
158
149
  Reflect.set(globalThis, ROUTE_CALLSITE_PATCHED_KEY, true);
159
150
  };
160
151
  var init_devRouteRegistrationCallsite = __esm(() => {
@@ -991,9 +982,9 @@ var init_logger = __esm(() => {
991
982
  });
992
983
 
993
984
  // src/core/ssrCache.ts
994
- var dirtyFrameworks, markSsrCacheDirty = (framework) => {
985
+ var dirtyFrameworks, isSsrCacheDirty = (framework) => dirtyFrameworks.has(framework), markSsrCacheDirty = (framework) => {
995
986
  dirtyFrameworks.add(framework);
996
- }, isSsrCacheDirty = (framework) => dirtyFrameworks.has(framework);
987
+ };
997
988
  var init_ssrCache = __esm(() => {
998
989
  dirtyFrameworks = new Set;
999
990
  });
@@ -1043,14 +1034,14 @@ var defineIslandComponent = (component, options) => ({
1043
1034
  component,
1044
1035
  export: options.export,
1045
1036
  source: options.source
1046
- }), defineIslandRegistry = (registry) => registry, isRecord2 = (value) => typeof value === "object" && value !== null, getIslandBuildReference = (component) => {
1037
+ }), defineIslandRegistry = (registry) => registry, isRecord3 = (value) => typeof value === "object" && value !== null, getIslandBuildReference = (component) => {
1047
1038
  if (!isIslandComponentDefinition(component))
1048
1039
  return null;
1049
1040
  return {
1050
1041
  export: component.export,
1051
1042
  source: component.source
1052
1043
  };
1053
- }, isIslandComponentDefinition = (value) => isRecord2(value) && ("component" in value) && ("source" in value) && typeof value.source === "string", parseIslandProps = (rawProps) => {
1044
+ }, isIslandComponentDefinition = (value) => isRecord3(value) && ("component" in value) && ("source" in value) && typeof value.source === "string", parseIslandProps = (rawProps) => {
1054
1045
  if (!rawProps)
1055
1046
  return {};
1056
1047
  return JSON.parse(rawProps);
@@ -1210,7 +1201,9 @@ var initDominoAdapter = (platformServer) => {
1210
1201
  import(resolveAngularPackage("@angular/common")),
1211
1202
  import(resolveAngularPackage("@angular/core"))
1212
1203
  ]);
1213
- if (false) {}
1204
+ if (true) {
1205
+ core.enableProdMode();
1206
+ }
1214
1207
  initDominoAdapter(platformServer);
1215
1208
  return {
1216
1209
  APP_BASE_HREF: common.APP_BASE_HREF,
@@ -1335,7 +1328,7 @@ var routePropsCache, cacheRouteData = (pagePath, data) => {
1335
1328
  Sanitizer: core.Sanitizer,
1336
1329
  SecurityContext: core.SecurityContext
1337
1330
  };
1338
- }, buildProviders = (deps, sanitizer, maybeProps, tokenMap) => {
1331
+ }, buildProviders = (deps, sanitizer, maybeProps, tokenMap, userProviders = []) => {
1339
1332
  const providers = [
1340
1333
  deps.provideServerRendering(),
1341
1334
  deps.provideClientHydration(),
@@ -1345,7 +1338,8 @@ var routePropsCache, cacheRouteData = (pagePath, data) => {
1345
1338
  provide: deps.DomSanitizer,
1346
1339
  useValue: sanitizer
1347
1340
  },
1348
- { provide: deps.Sanitizer, useValue: sanitizer }
1341
+ { provide: deps.Sanitizer, useValue: sanitizer },
1342
+ ...userProviders
1349
1343
  ];
1350
1344
  if (!maybeProps) {
1351
1345
  return providers;
@@ -1971,7 +1965,7 @@ ${contents}` : contents, normalizePostcssModule = (mod) => {
1971
1965
  const config = normalizePostcssModule(loaded);
1972
1966
  const value = typeof config === "function" ? await config({
1973
1967
  cwd: process.cwd(),
1974
- env: "development"
1968
+ env: "test"
1975
1969
  }) : config;
1976
1970
  return normalizePostcssModule(value) ?? {};
1977
1971
  }, normalizePostcssPlugins = (plugins) => {
@@ -2426,7 +2420,7 @@ var init_svelteServerModule = __esm(() => {
2426
2420
  var islandSequence = 0, resolvedServerComponentCache, resolvedServerBuildComponentCache, nextIslandId = () => {
2427
2421
  islandSequence += 1;
2428
2422
  return `island-${islandSequence}`;
2429
- }, isRecord3 = (value) => typeof value === "object" && value !== null, isReactServerIslandComponent = (value) => typeof value === "function", isSvelteServerIslandComponent = (value) => typeof value === "function", isVueServerIslandComponent = (value) => typeof value === "function" || isRecord3(value), isAngularServerIslandComponent = (value) => typeof value === "function", resolveBuildReferencePath = (source, registryPath) => {
2423
+ }, isRecord4 = (value) => typeof value === "object" && value !== null, isReactServerIslandComponent = (value) => typeof value === "function", isSvelteServerIslandComponent = (value) => typeof value === "function", isVueServerIslandComponent = (value) => typeof value === "function" || isRecord4(value), isAngularServerIslandComponent = (value) => typeof value === "function", resolveBuildReferencePath = (source, registryPath) => {
2430
2424
  if (source.startsWith("file://"))
2431
2425
  return new URL(source).pathname;
2432
2426
  if (source.startsWith("."))
@@ -2958,19 +2952,12 @@ var formatWarningCallsite = (callsite) => {
2958
2952
  }
2959
2953
  return `\x1B[36m${match[1]}\x1B[33m${match[2]}\x1B[0m`;
2960
2954
  };
2955
+ var shouldIgnoreWarningFrame = (frame) => frame.includes("/node_modules/") || frame.includes("/dist/") || frame.includes("/src/react/pageHandler.") || frame.includes("/src/vue/pageHandler.") || frame.includes("/src/svelte/pageHandler.") || frame.includes("/src/angular/pageHandler.") || frame.includes("/src/core/streamingSlotWarningScope.");
2956
+ var getWarningLocation = (frame) => frame.match(/\((\/[^)]+:\d+:\d+)\)$/)?.[1] ?? frame.match(/at (\/[^ ]+:\d+:\d+)$/)?.[1];
2961
2957
  var extractCallsiteFromStack = (stack) => {
2962
- const frames = stack.split(`
2963
- `).slice(1).map((line) => line.trim());
2964
- for (const frame of frames) {
2965
- if (frame.includes("/node_modules/") || frame.includes("/dist/") || frame.includes("/src/react/pageHandler.") || frame.includes("/src/vue/pageHandler.") || frame.includes("/src/svelte/pageHandler.") || frame.includes("/src/angular/pageHandler.") || frame.includes("/src/core/streamingSlotWarningScope.")) {
2966
- continue;
2967
- }
2968
- const locationMatch = frame.match(/\((\/[^)]+:\d+:\d+)\)$/) ?? frame.match(/at (\/[^ ]+:\d+:\d+)$/);
2969
- if (locationMatch?.[1]) {
2970
- return normalizeCallsitePath2(locationMatch[1]);
2971
- }
2972
- }
2973
- return;
2958
+ const location = stack.split(`
2959
+ `).slice(1).map((line) => line.trim()).filter((frame) => !shouldIgnoreWarningFrame(frame)).map((frame) => getWarningLocation(frame)).find((frameLocation) => frameLocation !== undefined);
2960
+ return location ? normalizeCallsitePath2(location) : undefined;
2974
2961
  };
2975
2962
  var buildMissingCollectorWarning = (primitiveName, handlerCallsite) => `${primitiveName} rendered during SSR without streaming slot collection enabled. Add { collectStreamingSlots: true } to this page handler to enable out-of-order streaming for this route.${handlerCallsite ? ` Update ${formatWarningCallsite(handlerCallsite)}.` : ""}`;
2976
2963
  setStreamingSlotWarningController({
@@ -3075,7 +3062,7 @@ var resolveNotFoundConventionPath = (framework) => getMap()[framework]?.defaults
3075
3062
  var setConventions = (map) => {
3076
3063
  Reflect.set(globalThis, CONVENTIONS_KEY, map);
3077
3064
  };
3078
- var isDev = () => true;
3065
+ var isDev = () => false;
3079
3066
  var buildErrorProps = (error) => {
3080
3067
  const message = error instanceof Error ? error.message : String(error);
3081
3068
  const stack = isDev() && error instanceof Error ? error.stack : undefined;
@@ -3249,17 +3236,27 @@ var NOT_FOUND_PRIORITY = [
3249
3236
  "angular"
3250
3237
  ];
3251
3238
  var renderFirstNotFound = async () => {
3252
- for (const framework of NOT_FOUND_PRIORITY) {
3253
- if (!getMap()[framework]?.defaults?.notFound)
3254
- continue;
3239
+ const renderNext = async (frameworks) => {
3240
+ const [framework, ...remaining] = frameworks;
3241
+ if (!framework) {
3242
+ return null;
3243
+ }
3244
+ if (!getMap()[framework]?.defaults?.notFound) {
3245
+ return renderNext(remaining);
3246
+ }
3255
3247
  const response = await renderConventionNotFound(framework);
3256
- if (response)
3248
+ if (response) {
3257
3249
  return response;
3258
- }
3259
- return null;
3250
+ }
3251
+ return renderNext(remaining);
3252
+ };
3253
+ return renderNext(NOT_FOUND_PRIORITY);
3260
3254
  };
3261
3255
 
3262
3256
  // src/react/pageHandler.ts
3257
+ var isRecord2 = (value) => typeof value === "object" && value !== null;
3258
+ var isReactComponent = (value) => typeof value === "function";
3259
+ var isReactPageRequestInput = (value) => isRecord2(value) && isReactComponent(value.Page) && typeof value.index === "string";
3263
3260
  var buildRefreshSetup = () => {
3264
3261
  if (false) {}
3265
3262
  return "window.__REFRESH_BUFFER__=[];" + "window.$RefreshReg$=function(t,i){window.__REFRESH_BUFFER__.push([t,i])};" + "window.$RefreshSig$=function(){return function(t){return t}};";
@@ -3274,23 +3271,15 @@ var buildDirtyResponse = (index, maybeProps) => {
3274
3271
  headers: { "Content-Type": "text/html" }
3275
3272
  });
3276
3273
  };
3277
- var handleReactPageRequest = async (PageComponentOrInput, index, ...args) => {
3278
- const {
3279
- Page,
3280
- index: resolvedIndex,
3281
- options,
3282
- props: maybeProps
3283
- } = typeof PageComponentOrInput === "object" && PageComponentOrInput !== null && "Page" in PageComponentOrInput ? {
3284
- index: PageComponentOrInput.index,
3285
- options: PageComponentOrInput,
3286
- Page: PageComponentOrInput.Page,
3287
- props: PageComponentOrInput.props
3288
- } : {
3289
- index: index ?? "",
3290
- options: args[1],
3291
- Page: PageComponentOrInput,
3292
- props: args[0]
3293
- };
3274
+ async function handleReactPageRequest(PageComponentOrInput, index, ...args) {
3275
+ const isInput = isReactPageRequestInput(PageComponentOrInput);
3276
+ const Page = isInput ? PageComponentOrInput.Page : PageComponentOrInput;
3277
+ const resolvedIndex = isInput ? PageComponentOrInput.index : index ?? "";
3278
+ const options = isInput ? PageComponentOrInput : args[1];
3279
+ const maybeProps = isInput ? PageComponentOrInput.props : args[0];
3280
+ if (!isReactComponent(Page)) {
3281
+ throw new Error("React page handler requires a React component.");
3282
+ }
3294
3283
  if (isSsrCacheDirty("react")) {
3295
3284
  return buildDirtyResponse(resolvedIndex, maybeProps);
3296
3285
  }
@@ -3326,41 +3315,41 @@ var handleReactPageRequest = async (PageComponentOrInput, index, ...args) => {
3326
3315
  status: 500
3327
3316
  });
3328
3317
  }
3329
- };
3318
+ }
3330
3319
  // src/react/Island.tsx
3331
3320
  init_islandMarkupAttributes();
3332
3321
  init_renderIslandMarkup();
3333
- import { jsxDEV } from "react/jsx-dev-runtime";
3322
+ import { jsx } from "react/jsx-runtime";
3334
3323
  var Island = async (props) => {
3335
3324
  if (typeof window !== "undefined") {
3336
- return /* @__PURE__ */ jsxDEV("div", {
3325
+ return /* @__PURE__ */ jsx("div", {
3337
3326
  ...getIslandMarkerAttributes(props),
3338
3327
  suppressHydrationWarning: true
3339
- }, undefined, false, undefined, this);
3328
+ });
3340
3329
  }
3341
3330
  const result = await renderIslandResult(requireCurrentIslandRegistry(), props);
3342
- return /* @__PURE__ */ jsxDEV("div", {
3331
+ return /* @__PURE__ */ jsx("div", {
3343
3332
  ...result.attributes,
3344
3333
  dangerouslySetInnerHTML: { __html: result.html }
3345
- }, undefined, false, undefined, this);
3334
+ });
3346
3335
  };
3347
3336
  // src/react/createIsland.tsx
3348
3337
  init_islandMarkupAttributes();
3349
3338
  init_renderIslandMarkup();
3350
- import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
3339
+ import { jsx as jsx2 } from "react/jsx-runtime";
3351
3340
  var createTypedIsland = (registry) => {
3352
3341
  const Island2 = async (props) => {
3353
3342
  if (typeof window !== "undefined") {
3354
- return /* @__PURE__ */ jsxDEV2("div", {
3343
+ return /* @__PURE__ */ jsx2("div", {
3355
3344
  ...getIslandMarkerAttributes(props),
3356
3345
  suppressHydrationWarning: true
3357
- }, undefined, false, undefined, this);
3346
+ });
3358
3347
  }
3359
3348
  const result = await renderIslandResult(registry, props);
3360
- return /* @__PURE__ */ jsxDEV2("div", {
3349
+ return /* @__PURE__ */ jsx2("div", {
3361
3350
  ...result.attributes,
3362
3351
  dangerouslySetInnerHTML: { __html: result.html }
3363
- }, undefined, false, undefined, this);
3352
+ });
3364
3353
  };
3365
3354
  return Island2;
3366
3355
  };
@@ -3491,5 +3480,5 @@ export {
3491
3480
  Island
3492
3481
  };
3493
3482
 
3494
- //# debugId=101CE054DDCC862A64756E2164756E21
3483
+ //# debugId=E387322CF5C47A7064756E2164756E21
3495
3484
  //# sourceMappingURL=index.js.map