@absolutejs/absolute 0.19.0-beta.1072 → 0.19.0-beta.1074
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/angular/browser.js +2 -2
- package/dist/angular/browser.js.map +3 -3
- package/dist/angular/components/constants.js +10 -0
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +51 -8
- package/dist/angular/index.js.map +7 -6
- package/dist/angular/server.js +51 -8
- package/dist/angular/server.js.map +7 -6
- package/dist/build.js +44 -7
- package/dist/build.js.map +6 -5
- package/dist/cli/config/server.js +49 -7
- package/dist/cli/index.js +15 -2
- package/dist/index.js +62 -12
- package/dist/index.js.map +9 -8
- package/dist/islands/index.js +2 -2
- package/dist/islands/index.js.map +3 -3
- package/dist/react/components/index.js +2 -2
- package/dist/react/components/index.js.map +3 -3
- package/dist/react/index.js +52 -11
- package/dist/react/index.js.map +7 -6
- package/dist/react/server.js +50 -9
- package/dist/react/server.js.map +7 -6
- package/dist/src/angular/components/constants.d.ts +1 -0
- package/dist/src/constants.d.ts +1 -0
- package/dist/src/core/pageResponseCache.d.ts +9 -0
- package/dist/svelte/index.js +50 -9
- package/dist/svelte/index.js.map +7 -6
- package/dist/svelte/server.js +50 -9
- package/dist/svelte/server.js.map +7 -6
- package/dist/vue/components/Image.js +2 -2
- package/dist/vue/components/Image.js.map +3 -3
- package/dist/vue/components/index.js +2 -2
- package/dist/vue/components/index.js.map +3 -3
- package/dist/vue/index.js +52 -11
- package/dist/vue/index.js.map +7 -6
- package/dist/vue/server.js +50 -9
- package/dist/vue/server.js.map +7 -6
- package/package.json +5 -1
package/dist/vue/server.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_CODE = 27, ANSI_ESCAPE_LENGTH = 3, ASCII_SPACE = 32, BASE_36_RADIX = 36, BUN_BUILD_WARNING_SUPPRESSION = "wildcard sideEffects are not supported yet", TAILWIND_BUN_CSS_WARNING_PATTERN, 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, ESLINT_STUDIO_DEFAULT_HOST = "eslint.absolute.localhost", ESLINT_STUDIO_DEFAULT_PORT = 4099, CONFIG_DEFAULT_HOST = "config.absolute.localhost", CONFIG_DEFAULT_PORT = 4099, 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, IMAGE_DEFAULT_DEVICE_SIZES, IMAGE_DEFAULT_IMAGE_SIZES, IMAGE_DEFAULT_QUALITY = 75, IMAGE_GLOB_SUFFIX_LENGTH = 2, INSTANCE_PROBE_TIMEOUT_MS = 250, 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, LIST_LOG_TAIL_MAX_BYTES = 65536, LIST_TUI_COLUMN_GAP = 2, LIST_TUI_DEFAULT_HEIGHT = 28, LIST_TUI_DEFAULT_WIDTH = 100, LIST_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30, LIST_TUI_FOOTER_LINE_COUNT = 2, LIST_TUI_MARKER_WIDTH = 2, LIST_TUI_MIN_LOG_HEIGHT = 3, LIST_TUI_MIN_URL_WIDTH = 16, LIST_TUI_RENDER_DEBOUNCE_MS = 16, LIST_TUI_STATUS_MESSAGE_TIMEOUT_MS = 4000, LIST_WATCH_REFRESH_MS = 1000, 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;
|
|
82
|
+
var ANGULAR_INIT_TIMEOUT_MS = 500, ANSI_ESCAPE_CODE = 27, ANSI_ESCAPE_LENGTH = 3, ASCII_SPACE = 32, BASE_36_RADIX = 36, BUN_BUILD_WARNING_SUPPRESSION = "wildcard sideEffects are not supported yet", TAILWIND_BUN_CSS_WARNING_PATTERN, 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, ESLINT_STUDIO_DEFAULT_HOST = "eslint.absolute.localhost", ESLINT_STUDIO_DEFAULT_PORT = 4099, CONFIG_DEFAULT_HOST = "config.absolute.localhost", CONFIG_DEFAULT_PORT = 4099, 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, IMAGE_DEFAULT_DEVICE_SIZES, IMAGE_DEFAULT_IMAGE_SIZES, IMAGE_DEFAULT_QUALITY = 75, IMAGE_GLOB_SUFFIX_LENGTH = 2, INSTANCE_PROBE_TIMEOUT_MS = 250, 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, LIST_LOG_TAIL_MAX_BYTES = 65536, LIST_TUI_COLUMN_GAP = 2, LIST_TUI_DEFAULT_HEIGHT = 28, LIST_TUI_DEFAULT_WIDTH = 100, LIST_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30, LIST_TUI_FOOTER_LINE_COUNT = 2, LIST_TUI_MARKER_WIDTH = 2, LIST_TUI_MIN_LOG_HEIGHT = 3, LIST_TUI_MIN_URL_WIDTH = 16, LIST_TUI_RENDER_DEBOUNCE_MS = 16, LIST_TUI_STATUS_MESSAGE_TIMEOUT_MS = 4000, LIST_WATCH_REFRESH_MS = 1000, 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, DEFAULT_WEBSOCKET_IDLE_TIMEOUT_SECONDS = 240, 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
|
TAILWIND_BUN_CSS_WARNING_PATTERN = /invalid @ rule encountered: '@(theme|tailwind|source|utility|variant|custom-variant|apply|reference|plugin|config)'/;
|
|
85
85
|
IMAGE_DEFAULT_DEVICE_SIZES = [
|
|
@@ -204,6 +204,41 @@ var init_devRouteRegistrationCallsite = __esm(() => {
|
|
|
204
204
|
pageHandlerWrappers = new WeakMap;
|
|
205
205
|
});
|
|
206
206
|
|
|
207
|
+
// src/core/pageResponseCache.ts
|
|
208
|
+
import { createHash } from "crypto";
|
|
209
|
+
var STREAMING_PAGE_HEADER = "x-absolute-stream", HTML_CONTENT_TYPE = "text/html", streamingPageHeaders = (extra) => {
|
|
210
|
+
const headers = new Headers(extra);
|
|
211
|
+
headers.set("content-type", HTML_CONTENT_TYPE);
|
|
212
|
+
headers.set(STREAMING_PAGE_HEADER, "1");
|
|
213
|
+
return headers;
|
|
214
|
+
}, computeEtag = (html) => `W/"${createHash("sha1").update(html).digest("base64url")}"`, withPageCacheHeaders = async (response, request) => {
|
|
215
|
+
const contentType = response.headers.get("content-type") ?? "";
|
|
216
|
+
if (!contentType.includes(HTML_CONTENT_TYPE))
|
|
217
|
+
return response;
|
|
218
|
+
if (response.headers.get(STREAMING_PAGE_HEADER) === "1" || !response.body) {
|
|
219
|
+
response.headers.delete(STREAMING_PAGE_HEADER);
|
|
220
|
+
response.headers.set("cache-control", "no-cache");
|
|
221
|
+
return response;
|
|
222
|
+
}
|
|
223
|
+
const html = await response.text();
|
|
224
|
+
const etag = computeEtag(html);
|
|
225
|
+
if (request?.headers.get("if-none-match") === etag) {
|
|
226
|
+
return new Response(null, {
|
|
227
|
+
headers: { "cache-control": "no-cache", etag },
|
|
228
|
+
status: 304
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
const headers = new Headers(response.headers);
|
|
232
|
+
headers.set("cache-control", "no-cache");
|
|
233
|
+
headers.set("etag", etag);
|
|
234
|
+
return new Response(html, {
|
|
235
|
+
headers,
|
|
236
|
+
status: response.status,
|
|
237
|
+
statusText: response.statusText
|
|
238
|
+
});
|
|
239
|
+
};
|
|
240
|
+
var init_pageResponseCache = () => {};
|
|
241
|
+
|
|
207
242
|
// src/client/streamSwap.ts
|
|
208
243
|
var streamSwapRuntime = () => {
|
|
209
244
|
const absoluteWindow = window;
|
|
@@ -1663,9 +1698,11 @@ var setCurrentIslandManifest = (manifest) => {
|
|
|
1663
1698
|
|
|
1664
1699
|
// src/vue/pageHandler.ts
|
|
1665
1700
|
init_devRouteRegistrationCallsite();
|
|
1701
|
+
init_pageResponseCache();
|
|
1666
1702
|
|
|
1667
1703
|
// src/core/responseEnhancers.ts
|
|
1668
1704
|
init_streamingSlots();
|
|
1705
|
+
init_pageResponseCache();
|
|
1669
1706
|
var toResponse = async (responseLike) => responseLike;
|
|
1670
1707
|
var cloneHeaders = (response) => {
|
|
1671
1708
|
const headers = new Headers(response.headers);
|
|
@@ -1689,8 +1726,10 @@ var enhanceHtmlResponseWithStreamingSlots = (response, {
|
|
|
1689
1726
|
runtimePlacement,
|
|
1690
1727
|
runtimePreludeScript
|
|
1691
1728
|
});
|
|
1729
|
+
const headers = cloneHeaders(response);
|
|
1730
|
+
headers.set(STREAMING_PAGE_HEADER, "1");
|
|
1692
1731
|
return new Response(body, {
|
|
1693
|
-
headers
|
|
1732
|
+
headers,
|
|
1694
1733
|
status: response.status,
|
|
1695
1734
|
statusText: response.statusText
|
|
1696
1735
|
});
|
|
@@ -2225,20 +2264,22 @@ var handleVuePageRequest = async (input) => {
|
|
|
2225
2264
|
hasIslands: resolvedPage.hasIslands
|
|
2226
2265
|
});
|
|
2227
2266
|
return new Response(htmlStream, {
|
|
2228
|
-
headers:
|
|
2267
|
+
headers: streamingPageHeaders()
|
|
2229
2268
|
});
|
|
2230
2269
|
};
|
|
2231
|
-
|
|
2270
|
+
const pageResponse = await runWithStreamingSlotWarningScope(() => resolvedOptions?.collectStreamingSlots === true ? withRegisteredStreamingSlots(renderPageResponse, resolvedOptions) : renderPageResponse(), { handlerCallsite });
|
|
2271
|
+
return withPageCacheHeaders(pageResponse, input.request);
|
|
2232
2272
|
} catch (error) {
|
|
2233
2273
|
console.error("[SSR] Vue render error:", error);
|
|
2234
2274
|
const pageName = derivePageName(resolvedPagePath);
|
|
2235
2275
|
const conventionResponse = await renderConventionError("vue", pageName, error);
|
|
2236
|
-
if (conventionResponse)
|
|
2237
|
-
return conventionResponse;
|
|
2238
|
-
|
|
2276
|
+
if (conventionResponse) {
|
|
2277
|
+
return withPageCacheHeaders(conventionResponse, input.request);
|
|
2278
|
+
}
|
|
2279
|
+
return withPageCacheHeaders(new Response(ssrErrorPage("vue", error), {
|
|
2239
2280
|
headers: { "Content-Type": "text/html" },
|
|
2240
2281
|
status: 500
|
|
2241
|
-
});
|
|
2282
|
+
}), input.request);
|
|
2242
2283
|
}
|
|
2243
2284
|
};
|
|
2244
2285
|
// src/vue/routerRedirectProviders.ts
|
|
@@ -2263,5 +2304,5 @@ export {
|
|
|
2263
2304
|
applyVueRouterRedirect
|
|
2264
2305
|
};
|
|
2265
2306
|
|
|
2266
|
-
//# debugId=
|
|
2307
|
+
//# debugId=8E3E2F75CCC3FBB264756E2164756E21
|
|
2267
2308
|
//# sourceMappingURL=server.js.map
|