@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
package/dist/vue/index.js CHANGED
@@ -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, isObjectRecord4 = (value) => Boolean(value) && typeof value === "object", isAsyncLocalStorage2 = (value) => isObjectRecord4(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, isObjectRecord4 = (value) => Boolean(value) && typeof value === "object", isAsyncLocalStorage2 = (value) => isObjectRecord4(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
  });
@@ -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) => {
@@ -2723,30 +2717,30 @@ var fillWrapperStyle = {
2723
2717
  position: "relative",
2724
2718
  width: "100%"
2725
2719
  };
2726
- var Image_default = defineComponent({
2720
+ var Image = defineComponent({
2727
2721
  name: "AbsoluteImage",
2728
2722
  props: {
2729
- src: { required: true, type: String },
2730
2723
  alt: { required: true, type: String },
2731
- width: { default: undefined, type: Number },
2732
- height: { default: undefined, type: Number },
2724
+ blurDataURL: { default: undefined, type: String },
2725
+ className: { default: undefined, type: String },
2726
+ crossOrigin: { default: undefined, type: String },
2727
+ fetchPriority: { default: undefined, type: String },
2733
2728
  fill: { default: false, type: Boolean },
2734
- quality: { default: DEFAULT_QUALITY, type: Number },
2735
- sizes: { default: undefined, type: String },
2729
+ height: { default: undefined, type: Number },
2736
2730
  loader: { default: undefined, type: Function },
2737
- unoptimized: { default: false, type: Boolean },
2738
2731
  loading: { default: "lazy", type: String },
2739
- priority: { default: false, type: Boolean },
2740
- placeholder: { default: undefined, type: String },
2741
- blurDataURL: { default: undefined, type: String },
2742
- className: { default: undefined, type: String },
2743
- style: { default: undefined, type: Object },
2744
- onLoad: { default: undefined, type: Function },
2745
2732
  onError: { default: undefined, type: Function },
2746
- crossOrigin: { default: undefined, type: String },
2733
+ onLoad: { default: undefined, type: Function },
2734
+ overrideSrc: { default: undefined, type: String },
2735
+ placeholder: { default: undefined, type: String },
2736
+ priority: { default: false, type: Boolean },
2737
+ quality: { default: DEFAULT_QUALITY, type: Number },
2747
2738
  referrerPolicy: { default: undefined, type: String },
2748
- fetchPriority: { default: undefined, type: String },
2749
- overrideSrc: { default: undefined, type: String }
2739
+ sizes: { default: undefined, type: String },
2740
+ src: { required: true, type: String },
2741
+ style: { default: undefined, type: Object },
2742
+ unoptimized: { default: false, type: Boolean },
2743
+ width: { default: undefined, type: Number }
2750
2744
  },
2751
2745
  setup(props) {
2752
2746
  const blurRemoved = ref(false);
@@ -2913,6 +2907,45 @@ var registerLegacySuspenseSlot = (props) => {
2913
2907
  timeoutMs: props.timeoutMs
2914
2908
  });
2915
2909
  };
2910
+ var resolveStreamingSuspenseSlot = async (props, slots) => {
2911
+ try {
2912
+ const value = await resolveSuspenseValue(props.resolve, props.promise);
2913
+ const nodes = allowMismatchOnSlotNodes(slots.default?.({ value }) ?? []);
2914
+ const html = await renderVueNodesToHtml(nodes);
2915
+ return {
2916
+ html,
2917
+ kind: "vue-suspense",
2918
+ value
2919
+ };
2920
+ } catch (error) {
2921
+ const errorNodes = slots.error?.({ error });
2922
+ if (errorNodes !== undefined)
2923
+ return renderVueNodesToHtml(allowMismatchOnSlotNodes(errorNodes));
2924
+ if (typeof props.errorHtml === "string")
2925
+ return props.errorHtml;
2926
+ throw error;
2927
+ }
2928
+ };
2929
+ var registerSuspenseSlotForSsr = (props, slots, usesFrameworkSlots) => {
2930
+ if (!isStreamingSlotCollectionActive()) {
2931
+ warnMissingStreamingSlotCollector("SuspenseSlot");
2932
+ }
2933
+ const legacyRegistration = toLegacySuspenseSlotRegistration(props);
2934
+ if (!usesFrameworkSlots && legacyRegistration) {
2935
+ registerLegacySuspenseSlot(legacyRegistration);
2936
+ return;
2937
+ }
2938
+ registerStreamingSlot({
2939
+ id: props.id,
2940
+ timeoutMs: props.timeoutMs,
2941
+ resolve: () => resolveStreamingSuspenseSlot(props, slots)
2942
+ });
2943
+ };
2944
+ var applySuspensePayload = (payload, state) => {
2945
+ state.hasError.value = payload.state === "error";
2946
+ state.resolvedValue.value = payload.value;
2947
+ state.isResolved.value = payload.state !== "error";
2948
+ };
2916
2949
  var SuspenseSlot = defineComponent2({
2917
2950
  name: "AbsoluteSuspenseSlot",
2918
2951
  props: {
@@ -2946,36 +2979,7 @@ var SuspenseSlot = defineComponent2({
2946
2979
  const usesFrameworkSlots = hasFrameworkSlots(slots.default, slots.fallback, slots.error, props.promise);
2947
2980
  const isSsrRender = useSSRContext() !== undefined;
2948
2981
  if (isSsrRender) {
2949
- if (!isStreamingSlotCollectionActive()) {
2950
- warnMissingStreamingSlotCollector("SuspenseSlot");
2951
- }
2952
- const legacyRegistration = toLegacySuspenseSlotRegistration(props);
2953
- if (!usesFrameworkSlots && legacyRegistration) {
2954
- return registerLegacySuspenseSlot(legacyRegistration);
2955
- }
2956
- registerStreamingSlot({
2957
- id: props.id,
2958
- timeoutMs: props.timeoutMs,
2959
- resolve: async () => {
2960
- try {
2961
- const value = await resolveSuspenseValue(props.resolve, props.promise);
2962
- const nodes = allowMismatchOnSlotNodes(slots.default?.({ value }) ?? []);
2963
- const html = await renderVueNodesToHtml(nodes);
2964
- return {
2965
- html,
2966
- kind: "vue-suspense",
2967
- value
2968
- };
2969
- } catch (error) {
2970
- const errorNodes = slots.error?.({ error });
2971
- if (errorNodes !== undefined)
2972
- return renderVueNodesToHtml(allowMismatchOnSlotNodes(errorNodes));
2973
- if (typeof props.errorHtml === "string")
2974
- return props.errorHtml;
2975
- throw error;
2976
- }
2977
- }
2978
- });
2982
+ registerSuspenseSlotForSsr(props, slots, usesFrameworkSlots);
2979
2983
  }
2980
2984
  if (typeof window !== "undefined" && usesFrameworkSlots) {
2981
2985
  const consumers = window.__ABS_SLOT_CONSUMERS__ = window.__ABS_SLOT_CONSUMERS__ ?? {};
@@ -2986,9 +2990,11 @@ var SuspenseSlot = defineComponent2({
2986
2990
  if (!isVueSuspensePayload(payload)) {
2987
2991
  return false;
2988
2992
  }
2989
- hasError.value = payload.state === "error";
2990
- resolvedValue.value = payload.value;
2991
- isResolved.value = payload.state !== "error";
2993
+ applySuspensePayload(payload, {
2994
+ hasError,
2995
+ isResolved,
2996
+ resolvedValue
2997
+ });
2992
2998
  return true;
2993
2999
  };
2994
3000
  const handlePatchedDom = (event) => {
@@ -3054,17 +3060,7 @@ var StreamSlot = defineComponent3({
3054
3060
  },
3055
3061
  setup(props) {
3056
3062
  if (useSSRContext2() !== undefined) {
3057
- if (isStreamingSlotCollectionActive()) {
3058
- registerStreamingSlot({
3059
- errorHtml: props.errorHtml,
3060
- fallbackHtml: props.fallbackHtml,
3061
- id: props.id,
3062
- resolve: props.resolve,
3063
- timeoutMs: props.timeoutMs
3064
- });
3065
- } else {
3066
- warnMissingStreamingSlotCollector("StreamSlot");
3067
- }
3063
+ registerStreamSlotForSsr(props);
3068
3064
  }
3069
3065
  return () => h3("div", {
3070
3066
  class: props.className,
@@ -3074,6 +3070,19 @@ var StreamSlot = defineComponent3({
3074
3070
  });
3075
3071
  }
3076
3072
  });
3073
+ var registerStreamSlotForSsr = (props) => {
3074
+ if (!isStreamingSlotCollectionActive()) {
3075
+ warnMissingStreamingSlotCollector("StreamSlot");
3076
+ return;
3077
+ }
3078
+ registerStreamingSlot({
3079
+ errorHtml: props.errorHtml,
3080
+ fallbackHtml: props.fallbackHtml,
3081
+ id: props.id,
3082
+ resolve: props.resolve,
3083
+ timeoutMs: props.timeoutMs
3084
+ });
3085
+ };
3077
3086
  // src/vue/pageHandler.ts
3078
3087
  init_constants();
3079
3088
  import { readdir } from "fs/promises";
@@ -3373,19 +3382,12 @@ var formatWarningCallsite = (callsite) => {
3373
3382
  }
3374
3383
  return `\x1B[36m${match[1]}\x1B[33m${match[2]}\x1B[0m`;
3375
3384
  };
3385
+ 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.");
3386
+ var getWarningLocation = (frame) => frame.match(/\((\/[^)]+:\d+:\d+)\)$/)?.[1] ?? frame.match(/at (\/[^ ]+:\d+:\d+)$/)?.[1];
3376
3387
  var extractCallsiteFromStack = (stack) => {
3377
- const frames = stack.split(`
3378
- `).slice(1).map((line) => line.trim());
3379
- for (const frame of frames) {
3380
- 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.")) {
3381
- continue;
3382
- }
3383
- const locationMatch = frame.match(/\((\/[^)]+:\d+:\d+)\)$/) ?? frame.match(/at (\/[^ ]+:\d+:\d+)$/);
3384
- if (locationMatch?.[1]) {
3385
- return normalizeCallsitePath2(locationMatch[1]);
3386
- }
3387
- }
3388
- return;
3388
+ const location = stack.split(`
3389
+ `).slice(1).map((line) => line.trim()).filter((frame) => !shouldIgnoreWarningFrame(frame)).map((frame) => getWarningLocation(frame)).find((frameLocation) => frameLocation !== undefined);
3390
+ return location ? normalizeCallsitePath2(location) : undefined;
3389
3391
  };
3390
3392
  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)}.` : ""}`;
3391
3393
  setStreamingSlotWarningController({
@@ -3490,7 +3492,7 @@ var resolveNotFoundConventionPath = (framework) => getMap()[framework]?.defaults
3490
3492
  var setConventions = (map) => {
3491
3493
  Reflect.set(globalThis, CONVENTIONS_KEY, map);
3492
3494
  };
3493
- var isDev = () => true;
3495
+ var isDev = () => false;
3494
3496
  var buildErrorProps = (error) => {
3495
3497
  const message = error instanceof Error ? error.message : String(error);
3496
3498
  const stack = isDev() && error instanceof Error ? error.stack : undefined;
@@ -3664,19 +3666,27 @@ var NOT_FOUND_PRIORITY = [
3664
3666
  "angular"
3665
3667
  ];
3666
3668
  var renderFirstNotFound = async () => {
3667
- for (const framework of NOT_FOUND_PRIORITY) {
3668
- if (!getMap()[framework]?.defaults?.notFound)
3669
- continue;
3669
+ const renderNext = async (frameworks) => {
3670
+ const [framework, ...remaining] = frameworks;
3671
+ if (!framework) {
3672
+ return null;
3673
+ }
3674
+ if (!getMap()[framework]?.defaults?.notFound) {
3675
+ return renderNext(remaining);
3676
+ }
3670
3677
  const response = await renderConventionNotFound(framework);
3671
- if (response)
3678
+ if (response) {
3672
3679
  return response;
3673
- }
3674
- return null;
3680
+ }
3681
+ return renderNext(remaining);
3682
+ };
3683
+ return renderNext(NOT_FOUND_PRIORITY);
3675
3684
  };
3676
3685
 
3677
3686
  // src/vue/pageHandler.ts
3678
3687
  var isRecord2 = (value) => typeof value === "object" && value !== null;
3679
3688
  var isGenericVueComponent = (value) => typeof value === "function" || isRecord2(value);
3689
+ var isVuePageRequestInput = (value) => isRecord2(value) && ("pagePath" in value) && ("indexPath" in value);
3680
3690
  var readHasIslands = (value) => {
3681
3691
  if (!isRecord2(value))
3682
3692
  return false;
@@ -3713,29 +3723,14 @@ var primeVueStream = async (stream) => {
3713
3723
  const firstChunk = await reader.read();
3714
3724
  return { firstChunk, reader };
3715
3725
  };
3716
- var handleVuePageRequest = async (PageComponentOrInput, pagePath, indexPath, headTag = "<head></head>", ...args) => {
3717
- const {
3718
- PageComponent: _PageComponent,
3719
- headTag: resolvedHeadTag,
3720
- indexPath: resolvedIndexPath,
3721
- options: resolvedOptions,
3722
- pagePath: resolvedPagePath,
3723
- props: maybeProps
3724
- } = typeof PageComponentOrInput === "object" && PageComponentOrInput !== null && "pagePath" in PageComponentOrInput && "indexPath" in PageComponentOrInput ? {
3725
- PageComponent: undefined,
3726
- headTag: PageComponentOrInput.headTag ?? "<head></head>",
3727
- indexPath: PageComponentOrInput.indexPath,
3728
- options: PageComponentOrInput,
3729
- pagePath: PageComponentOrInput.pagePath,
3730
- props: PageComponentOrInput.props
3731
- } : {
3732
- headTag,
3733
- indexPath: indexPath ?? "",
3734
- options: args[1],
3735
- PageComponent: PageComponentOrInput,
3736
- pagePath: pagePath ?? "",
3737
- props: args[0]
3738
- };
3726
+ async function handleVuePageRequest(PageComponentOrInput, pagePath, indexPath, headTag = "<head></head>", ...args) {
3727
+ const isInput = isVuePageRequestInput(PageComponentOrInput);
3728
+ const _PageComponent = isInput ? undefined : PageComponentOrInput;
3729
+ const resolvedHeadTag = isInput ? PageComponentOrInput.headTag ?? "<head></head>" : headTag;
3730
+ const resolvedIndexPath = isInput ? PageComponentOrInput.indexPath : indexPath ?? "";
3731
+ const resolvedOptions = isInput ? PageComponentOrInput : args[1];
3732
+ const resolvedPagePath = isInput ? PageComponentOrInput.pagePath : pagePath ?? "";
3733
+ const maybeProps = isInput ? PageComponentOrInput.props : args[0];
3739
3734
  if (isSsrCacheDirty("vue")) {
3740
3735
  return buildDirtyResponse(resolvedHeadTag, resolvedIndexPath, maybeProps);
3741
3736
  }
@@ -3807,7 +3802,7 @@ var handleVuePageRequest = async (PageComponentOrInput, pagePath, indexPath, hea
3807
3802
  status: 500
3808
3803
  });
3809
3804
  }
3810
- };
3805
+ }
3811
3806
  // src/vue/Island.ts
3812
3807
  import { defineComponent as defineComponent4, h as h4, onServerPrefetch } from "vue";
3813
3808
 
@@ -4121,8 +4116,8 @@ export {
4121
4116
  SuspenseSlot,
4122
4117
  StreamSlot,
4123
4118
  Island,
4124
- Image_default as Image
4119
+ Image
4125
4120
  };
4126
4121
 
4127
- //# debugId=4CE1C4AF4122730964756E2164756E21
4122
+ //# debugId=89C58A44758AD42F64756E2164756E21
4128
4123
  //# sourceMappingURL=index.js.map