@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/react/server.js
CHANGED
|
@@ -184,6 +184,41 @@ var init_devRouteRegistrationCallsite = __esm(() => {
|
|
|
184
184
|
pageHandlerWrappers = new WeakMap;
|
|
185
185
|
});
|
|
186
186
|
|
|
187
|
+
// src/core/pageResponseCache.ts
|
|
188
|
+
import { createHash } from "crypto";
|
|
189
|
+
var STREAMING_PAGE_HEADER = "x-absolute-stream", HTML_CONTENT_TYPE = "text/html", streamingPageHeaders = (extra) => {
|
|
190
|
+
const headers = new Headers(extra);
|
|
191
|
+
headers.set("content-type", HTML_CONTENT_TYPE);
|
|
192
|
+
headers.set(STREAMING_PAGE_HEADER, "1");
|
|
193
|
+
return headers;
|
|
194
|
+
}, computeEtag = (html) => `W/"${createHash("sha1").update(html).digest("base64url")}"`, withPageCacheHeaders = async (response, request) => {
|
|
195
|
+
const contentType = response.headers.get("content-type") ?? "";
|
|
196
|
+
if (!contentType.includes(HTML_CONTENT_TYPE))
|
|
197
|
+
return response;
|
|
198
|
+
if (response.headers.get(STREAMING_PAGE_HEADER) === "1" || !response.body) {
|
|
199
|
+
response.headers.delete(STREAMING_PAGE_HEADER);
|
|
200
|
+
response.headers.set("cache-control", "no-cache");
|
|
201
|
+
return response;
|
|
202
|
+
}
|
|
203
|
+
const html = await response.text();
|
|
204
|
+
const etag = computeEtag(html);
|
|
205
|
+
if (request?.headers.get("if-none-match") === etag) {
|
|
206
|
+
return new Response(null, {
|
|
207
|
+
headers: { "cache-control": "no-cache", etag },
|
|
208
|
+
status: 304
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
const headers = new Headers(response.headers);
|
|
212
|
+
headers.set("cache-control", "no-cache");
|
|
213
|
+
headers.set("etag", etag);
|
|
214
|
+
return new Response(html, {
|
|
215
|
+
headers,
|
|
216
|
+
status: response.status,
|
|
217
|
+
statusText: response.statusText
|
|
218
|
+
});
|
|
219
|
+
};
|
|
220
|
+
var init_pageResponseCache = () => {};
|
|
221
|
+
|
|
187
222
|
// src/client/streamSwap.ts
|
|
188
223
|
var streamSwapRuntime = () => {
|
|
189
224
|
const absoluteWindow = window;
|
|
@@ -294,7 +329,7 @@ var streamSwapRuntime = () => {
|
|
|
294
329
|
}, getStreamSwapRuntimeScript = () => `(function(){${stripFunctionWrapper(streamSwapRuntime.toString())}})();`;
|
|
295
330
|
|
|
296
331
|
// src/constants.ts
|
|
297
|
-
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;
|
|
332
|
+
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;
|
|
298
333
|
var init_constants = __esm(() => {
|
|
299
334
|
TAILWIND_BUN_CSS_WARNING_PATTERN = /invalid @ rule encountered: '@(theme|tailwind|source|utility|variant|custom-variant|apply|reference|plugin|config)'/;
|
|
300
335
|
IMAGE_DEFAULT_DEVICE_SIZES = [
|
|
@@ -1421,9 +1456,11 @@ var setCurrentIslandManifest = (manifest) => {
|
|
|
1421
1456
|
|
|
1422
1457
|
// src/react/pageHandler.ts
|
|
1423
1458
|
init_devRouteRegistrationCallsite();
|
|
1459
|
+
init_pageResponseCache();
|
|
1424
1460
|
|
|
1425
1461
|
// src/core/responseEnhancers.ts
|
|
1426
1462
|
init_streamingSlots();
|
|
1463
|
+
init_pageResponseCache();
|
|
1427
1464
|
var toResponse = async (responseLike) => responseLike;
|
|
1428
1465
|
var cloneHeaders = (response) => {
|
|
1429
1466
|
const headers = new Headers(response.headers);
|
|
@@ -1447,8 +1484,10 @@ var enhanceHtmlResponseWithStreamingSlots = (response, {
|
|
|
1447
1484
|
runtimePlacement,
|
|
1448
1485
|
runtimePreludeScript
|
|
1449
1486
|
});
|
|
1487
|
+
const headers = cloneHeaders(response);
|
|
1488
|
+
headers.set(STREAMING_PAGE_HEADER, "1");
|
|
1450
1489
|
return new Response(body, {
|
|
1451
|
-
headers
|
|
1490
|
+
headers,
|
|
1452
1491
|
status: response.status,
|
|
1453
1492
|
statusText: response.statusText
|
|
1454
1493
|
});
|
|
@@ -1873,24 +1912,26 @@ var handleReactPageRequest = async (input) => {
|
|
|
1873
1912
|
});
|
|
1874
1913
|
}
|
|
1875
1914
|
return new Response(htmlStream, {
|
|
1876
|
-
headers:
|
|
1915
|
+
headers: streamingPageHeaders()
|
|
1877
1916
|
});
|
|
1878
1917
|
};
|
|
1879
|
-
|
|
1918
|
+
const pageResponse = await runWithStreamingSlotWarningScope(() => options?.collectStreamingSlots === true ? withRegisteredStreamingSlots(renderPageResponse, options) : renderPageResponse(), { handlerCallsite });
|
|
1919
|
+
return withPageCacheHeaders(pageResponse, input.request);
|
|
1880
1920
|
} catch (error) {
|
|
1881
1921
|
console.error("[SSR] React render error:", error);
|
|
1882
1922
|
const conventionResponse = await renderConventionError("react", pageName, error);
|
|
1883
|
-
if (conventionResponse)
|
|
1884
|
-
return conventionResponse;
|
|
1885
|
-
|
|
1923
|
+
if (conventionResponse) {
|
|
1924
|
+
return withPageCacheHeaders(conventionResponse, input.request);
|
|
1925
|
+
}
|
|
1926
|
+
return withPageCacheHeaders(new Response(ssrErrorPage("react", error), {
|
|
1886
1927
|
headers: { "Content-Type": "text/html" },
|
|
1887
1928
|
status: 500
|
|
1888
|
-
});
|
|
1929
|
+
}), input.request);
|
|
1889
1930
|
}
|
|
1890
1931
|
};
|
|
1891
1932
|
export {
|
|
1892
1933
|
handleReactPageRequest
|
|
1893
1934
|
};
|
|
1894
1935
|
|
|
1895
|
-
//# debugId=
|
|
1936
|
+
//# debugId=45B8EFBDB8F01BB164756E2164756E21
|
|
1896
1937
|
//# sourceMappingURL=server.js.map
|