@bagelink/blox 1.15.613 → 1.15.617

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 (48) hide show
  1. package/dist/CmsPageView.vue.d.ts.map +1 -1
  2. package/dist/{PreviewApp-vChcurYp.js → PreviewApp-BMp-8qs3.js} +1 -1
  3. package/dist/{PreviewApp-iqvIddLt.cjs → PreviewApp-CjelUL54.cjs} +1 -1
  4. package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-BP5U8DSp.cjs → PreviewApp.vue_vue_type_style_index_0_lang-DU4NixKc.cjs} +1 -1
  5. package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-y4CzCB8Y.js → PreviewApp.vue_vue_type_style_index_0_lang-DfqvSF62.js} +1 -1
  6. package/dist/api/index.d.ts.map +1 -1
  7. package/dist/{appRuntime-B5XKqx70.cjs → appRuntime-CeEDneOA.cjs} +20 -28
  8. package/dist/{appRuntime-Gzs_4KuX.js → appRuntime-DURTwUXn.js} +64 -72
  9. package/dist/appRuntime.d.ts +1 -0
  10. package/dist/appRuntime.d.ts.map +1 -1
  11. package/dist/client-AoDTJJXJ.cjs +29 -0
  12. package/dist/client-XQnL-B6N.js +30 -0
  13. package/dist/core.d.ts +2 -0
  14. package/dist/core.d.ts.map +1 -1
  15. package/dist/createBloxApp.d.ts +2 -0
  16. package/dist/createBloxApp.d.ts.map +1 -1
  17. package/dist/data/useData.d.ts +1 -2
  18. package/dist/data/useData.d.ts.map +1 -1
  19. package/dist/hydration.d.ts +13 -0
  20. package/dist/hydration.d.ts.map +1 -0
  21. package/dist/index.cjs +13 -6
  22. package/dist/index.d.ts +3 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.mjs +48 -41
  25. package/dist/{shard-runner-BloAN-jq.cjs → shard-runner-B5xLPIMv.cjs} +2 -2
  26. package/dist/{shard-runner-CzerD_rM.js → shard-runner-DX_UVx1L.js} +2 -2
  27. package/dist/ssg/cli.cjs +2 -2
  28. package/dist/ssg/cli.mjs +2 -2
  29. package/dist/ssg/client.cjs +3 -6
  30. package/dist/ssg/client.d.ts +3 -1
  31. package/dist/ssg/client.d.ts.map +1 -1
  32. package/dist/ssg/client.mjs +3 -6
  33. package/dist/ssg/cms-routes.d.ts +0 -4
  34. package/dist/ssg/cms-routes.d.ts.map +1 -1
  35. package/dist/ssg/constants.d.ts +5 -2
  36. package/dist/ssg/constants.d.ts.map +1 -1
  37. package/dist/ssg/createSSREntry.d.ts.map +1 -1
  38. package/dist/ssg/index.cjs +12 -12
  39. package/dist/ssg/index.d.ts +3 -3
  40. package/dist/ssg/index.d.ts.map +1 -1
  41. package/dist/ssg/index.mjs +25 -26
  42. package/dist/ssg/render-resolved-page.d.ts +2 -9
  43. package/dist/ssg/render-resolved-page.d.ts.map +1 -1
  44. package/dist/symbols.d.ts +1 -0
  45. package/dist/symbols.d.ts.map +1 -1
  46. package/dist/{validate-output-BeslczYg.js → validate-output-CyzlxxkS.js} +13 -18
  47. package/dist/{validate-output-DK0uHrG6.cjs → validate-output-DwAoJflg.cjs} +0 -5
  48. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const appRuntime = require("./appRuntime-B5XKqx70.cjs");
4
- const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-BP5U8DSp.cjs");
3
+ const appRuntime = require("./appRuntime-CeEDneOA.cjs");
4
+ const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-DU4NixKc.cjs");
5
5
  const vue = require("vue");
6
+ const ssg_client = require("./client-AoDTJJXJ.cjs");
6
7
  const vueRouter = require("vue-router");
7
- const ssg_client = require("./ssg/client.cjs");
8
8
  const FORM_CONTROL_SELECTOR = "button, input, select, textarea, label, option";
9
9
  function isEditorPreview() {
10
10
  try {
@@ -272,13 +272,14 @@ function createBloxApp(options) {
272
272
  setup: userSetup,
273
273
  plausible,
274
274
  navigation = "spa",
275
- adminEdit
275
+ adminEdit,
276
+ chunkLoadRecovery = true
276
277
  } = options;
277
278
  if (plausible) injectPlausible(plausible);
278
279
  if (options.createApi) {
279
280
  options.createApi({ baseURL: apiBaseURL });
280
281
  }
281
- const hasSsgState = typeof window !== "undefined" && (!!window[ssg_client.BLOX_STATE_WINDOW_KEY] || !!window[appRuntime.BLOX_DATA_WINDOW_KEY]);
282
+ const hasSsgState = ssg_client.readBloxHydration() != null;
282
283
  const createVueApp = hasSsgState ? vue.createSSRApp : vue.createApp;
283
284
  const app = createVueApp({
284
285
  name: "BloxRoot",
@@ -300,10 +301,16 @@ function createBloxApp(options) {
300
301
  setup: userSetup,
301
302
  adminEdit,
302
303
  contentFallback: true,
304
+ navigation,
303
305
  api,
304
306
  localeState
305
307
  });
306
308
  const strategy = blox.strategy;
309
+ if (chunkLoadRecovery) {
310
+ router.onError((error, to) => {
311
+ if (typeof window !== "undefined" && /Failed to fetch dynamically imported module|Importing a module script failed/i.test(error.message)) window.location.assign(to.fullPath);
312
+ });
313
+ }
307
314
  const localeOf = (path) => {
308
315
  const first = path.replace(/^\//, "").split("/")[0];
309
316
  return first && supportedLocales.includes(first) ? first : locale;
@@ -406,7 +413,6 @@ exports.AdminEditBar = appRuntime._sfc_main;
406
413
  exports.BLOX_ADMIN_CONFIG_KEY = appRuntime.BLOX_ADMIN_CONFIG_KEY;
407
414
  exports.BLOX_CONFIG_KEY = appRuntime.BLOX_CONFIG_KEY;
408
415
  exports.BLOX_DATA_KEY = appRuntime.BLOX_DATA_KEY;
409
- exports.BLOX_DATA_WINDOW_KEY = appRuntime.BLOX_DATA_WINDOW_KEY;
410
416
  exports.BLOX_LAYOUT_KEY = appRuntime.BLOX_LAYOUT_KEY;
411
417
  exports.BLOX_LOCALE_STRATEGY_KEY = appRuntime.BLOX_LOCALE_STRATEGY_KEY;
412
418
  exports.BLOX_RUNTIME_KEY = appRuntime.BLOX_RUNTIME_KEY;
@@ -454,6 +460,7 @@ exports.PreviewApp = PreviewApp_vue_vue_type_style_index_0_lang._sfc_main;
454
460
  exports.PreviewRenderer = PreviewApp_vue_vue_type_style_index_0_lang.PreviewRenderer;
455
461
  exports.sendToEditor = PreviewApp_vue_vue_type_style_index_0_lang.sendToEditor;
456
462
  exports.sendToPreview = PreviewApp_vue_vue_type_style_index_0_lang.sendToPreview;
463
+ exports.readBloxHydration = ssg_client.readBloxHydration;
457
464
  exports.BloxRouterView = _sfc_main;
458
465
  exports.buildBloxManifest = buildBloxManifest;
459
466
  exports.createBloxApp = createBloxApp;
package/dist/index.d.ts CHANGED
@@ -10,8 +10,10 @@ export { default as AdminEditBar } from './admin/AdminEditBar.vue';
10
10
  export { useBloxEdit } from './admin/useBloxEdit';
11
11
  export { useGlobalBlock } from './composables/useGlobalBlock';
12
12
  export type { UseGlobalBlockResult } from './composables/useGlobalBlock';
13
- export { BLOX_DATA_KEY, BLOX_DATA_WINDOW_KEY, collectBloxData, collectBloxSeo, provideBloxData, useData, useSeo } from './data/useData';
13
+ export { BLOX_DATA_KEY, collectBloxData, collectBloxSeo, provideBloxData, useData, useSeo } from './data/useData';
14
14
  export type { BloxDataRegistry, BloxSeoHead, UseDataOptions, UseDataResult } from './data/useData';
15
+ export { readBloxHydration } from './hydration';
16
+ export type { BloxHydrationPayload } from './hydration';
15
17
  export { useLocale } from './composables/useLocale';
16
18
  export type { Locale } from './composables/useLocale';
17
19
  export { useLocaleNav } from './composables/useLocaleNav';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,9 +1,9 @@
1
- import { h as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, g as BLOX_RUNTIME_KEY, j as useBloxApi, k as useSeo, l as getRegistryData, m as getItemBySlug, o as getItemById, q as getContentRoute, p as provideBloxData, b as provideBloxApi, d as provideBloxLocale, i as installBloxRuntime, s as setActiveLocale, t as installSmartLinks, v as consumePendingLocaleSwitch, B as BLOX_DATA_WINDOW_KEY } from "./appRuntime-Gzs_4KuX.js";
2
- import { _, w, x, y, z, A, C, D, E, P, F, G, c, a, H, I, J, K, L, M, N, O, Q, R, S, T, U, V, W, X, r, Y, Z, $, a0, a1, a2 } from "./appRuntime-Gzs_4KuX.js";
3
- import { _ as _2, P as P2, s, a as a3 } from "./PreviewApp.vue_vue_type_style_index_0_lang-y4CzCB8Y.js";
1
+ import { g as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, f as BLOX_RUNTIME_KEY, h as useBloxApi, j as useSeo, k as getRegistryData, l as getItemBySlug, m as getItemById, o as getContentRoute, p as provideBloxData, b as provideBloxApi, d as provideBloxLocale, i as installBloxRuntime, s as setActiveLocale, q as installSmartLinks, t as consumePendingLocaleSwitch } from "./appRuntime-DURTwUXn.js";
2
+ import { _, v, w, x, y, z, A, C, D, P, E, F, c, a, G, H, I, J, K, L, M, N, O, Q, R, S, T, U, V, W, r, X, Y, Z, $, a0, a1 } from "./appRuntime-DURTwUXn.js";
3
+ import { _ as _2, P as P2, s, a as a2 } from "./PreviewApp.vue_vue_type_style_index_0_lang-DfqvSF62.js";
4
4
  import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, Transition, resolveDynamicComponent, inject, ref, watch, onMounted, onUnmounted, computed, onServerPrefetch, toValue, h, Suspense, createSSRApp, createApp } from "vue";
5
+ import { r as readBloxHydration } from "./client-XQnL-B6N.js";
5
6
  import { useRouter, useRoute } from "vue-router";
6
- import { BLOX_STATE_WINDOW_KEY } from "./ssg/client.mjs";
7
7
  const FORM_CONTROL_SELECTOR = "button, input, select, textarea, label, option";
8
8
  function isEditorPreview() {
9
9
  try {
@@ -271,13 +271,14 @@ function createBloxApp(options) {
271
271
  setup: userSetup,
272
272
  plausible,
273
273
  navigation = "spa",
274
- adminEdit
274
+ adminEdit,
275
+ chunkLoadRecovery = true
275
276
  } = options;
276
277
  if (plausible) injectPlausible(plausible);
277
278
  if (options.createApi) {
278
279
  options.createApi({ baseURL: apiBaseURL });
279
280
  }
280
- const hasSsgState = typeof window !== "undefined" && (!!window[BLOX_STATE_WINDOW_KEY] || !!window[BLOX_DATA_WINDOW_KEY]);
281
+ const hasSsgState = readBloxHydration() != null;
281
282
  const createVueApp = hasSsgState ? createSSRApp : createApp;
282
283
  const app = createVueApp({
283
284
  name: "BloxRoot",
@@ -299,10 +300,16 @@ function createBloxApp(options) {
299
300
  setup: userSetup,
300
301
  adminEdit,
301
302
  contentFallback: true,
303
+ navigation,
302
304
  api,
303
305
  localeState
304
306
  });
305
307
  const strategy = blox.strategy;
308
+ if (chunkLoadRecovery) {
309
+ router.onError((error, to) => {
310
+ if (typeof window !== "undefined" && /Failed to fetch dynamically imported module|Importing a module script failed/i.test(error.message)) window.location.assign(to.fullPath);
311
+ });
312
+ }
306
313
  const localeOf = (path) => {
307
314
  const first = path.replace(/^\//, "").split("/")[0];
308
315
  return first && supportedLocales.includes(first) ? first : locale;
@@ -395,7 +402,7 @@ function definitionToEntry(type, def) {
395
402
  };
396
403
  }
397
404
  function serializeRegistry(registry) {
398
- const blocks = Object.entries(registry).map(([type, def]) => definitionToEntry(type, def)).sort((a4, b) => (a4.order ?? 100) - (b.order ?? 100) || a4.label.localeCompare(b.label));
405
+ const blocks = Object.entries(registry).map(([type, def]) => definitionToEntry(type, def)).sort((a3, b) => (a3.order ?? 100) - (b.order ?? 100) || a3.label.localeCompare(b.label));
399
406
  return { version: MANIFEST_VERSION, blocks };
400
407
  }
401
408
  function buildBloxManifest(blox) {
@@ -403,64 +410,64 @@ function buildBloxManifest(blox) {
403
410
  }
404
411
  export {
405
412
  _ as AdminEditBar,
406
- w as BLOX_ADMIN_CONFIG_KEY,
407
- x as BLOX_CONFIG_KEY,
408
- y as BLOX_DATA_KEY,
409
- BLOX_DATA_WINDOW_KEY,
410
- z as BLOX_LAYOUT_KEY,
413
+ v as BLOX_ADMIN_CONFIG_KEY,
414
+ w as BLOX_CONFIG_KEY,
415
+ x as BLOX_DATA_KEY,
416
+ y as BLOX_LAYOUT_KEY,
411
417
  BLOX_LOCALE_STRATEGY_KEY,
412
418
  BLOX_RUNTIME_KEY,
413
- A as BloxInstance,
419
+ z as BloxInstance,
414
420
  _sfc_main as BloxRouterView,
415
- C as CmsPageView,
416
- D as ContentDetailView,
417
- E as ContentHost,
421
+ A as CmsPageView,
422
+ C as ContentDetailView,
423
+ D as ContentHost,
418
424
  P as PageRenderer,
419
425
  _2 as PreviewApp,
420
426
  P2 as PreviewRenderer,
421
- F as applyLayoutChrome,
427
+ E as applyLayoutChrome,
422
428
  buildBloxManifest,
423
- G as classifyLink,
429
+ F as classifyLink,
424
430
  c as collectBloxData,
425
431
  a as collectBloxSeo,
426
- H as configureApi,
427
- I as contentRoutes,
428
- J as createBlox,
429
- K as createBloxApi,
432
+ G as configureApi,
433
+ H as contentRoutes,
434
+ I as createBlox,
435
+ J as createBloxApi,
430
436
  createBloxApp,
431
437
  defineBlock,
432
- L as defineContent,
433
- M as generateContentRoutes,
438
+ K as defineContent,
439
+ L as generateContentRoutes,
434
440
  getContentRoute,
435
- N as getContentRouteByCollection,
441
+ M as getContentRouteByCollection,
436
442
  getItemById,
437
443
  getItemBySlug,
438
- O as getWebsiteId,
439
- Q as getWebsiteIdSync,
444
+ N as getWebsiteId,
445
+ O as getWebsiteIdSync,
440
446
  injectPlausible,
441
- R as installContentFallback,
447
+ Q as installContentFallback,
442
448
  installDocumentNavigation,
443
449
  installSmartLinks,
444
- S as isAbsoluteExternal,
445
- T as isSoloContentPage,
446
- U as isSpecialScheme,
447
- V as listItems,
450
+ R as isAbsoluteExternal,
451
+ S as isSoloContentPage,
452
+ T as isSpecialScheme,
453
+ U as listItems,
448
454
  normalizeLink,
449
- W as normalizeTo,
455
+ V as normalizeTo,
450
456
  provideBloxData,
451
- X as provideContentItem,
457
+ W as provideContentItem,
458
+ readBloxHydration,
452
459
  r as resolveBlockProps,
453
- Y as resolvePath,
460
+ X as resolvePath,
454
461
  s as sendToEditor,
455
- a3 as sendToPreview,
462
+ a2 as sendToPreview,
456
463
  serializeRegistry,
457
- Z as setApiOrigin,
458
- $ as toInternalPath,
459
- a0 as useBloxEdit,
464
+ Y as setApiOrigin,
465
+ Z as toInternalPath,
466
+ $ as useBloxEdit,
460
467
  useBloxRuntime,
461
- a1 as useContentItem,
468
+ a0 as useContentItem,
462
469
  useContentSeo,
463
- a2 as useData,
470
+ a1 as useData,
464
471
  useGlobalBlock,
465
472
  useLocale,
466
473
  useLocaleNav,
@@ -26,7 +26,7 @@ const node_child_process = require("node:child_process");
26
26
  const os = require("node:os");
27
27
  const path = require("node:path");
28
28
  const process = require("node:process");
29
- const llmArtifacts = require("./validate-output-DK0uHrG6.cjs");
29
+ const llmArtifacts = require("./validate-output-DwAoJflg.cjs");
30
30
  const AUTO_SHARD_CAP = Number(process.env.BLOX_SSG_SHARD_CAP) || 6;
31
31
  const PREFETCH_BUDGET = Number(process.env.BLOX_SSG_PREFETCH_BUDGET) || 24;
32
32
  const SEQUENTIAL_SHARDS = process.env.BLOX_SSG_SEQUENTIAL === "1";
@@ -166,7 +166,7 @@ async function runSharded(opts) {
166
166
  }
167
167
  if (process.env.BLOX_SSG_LLM !== "0") {
168
168
  try {
169
- const { mergeLlmParts } = await Promise.resolve().then(() => require("./validate-output-DK0uHrG6.cjs")).then((n) => n.llmArtifacts);
169
+ const { mergeLlmParts } = await Promise.resolve().then(() => require("./validate-output-DwAoJflg.cjs")).then((n) => n.llmArtifacts);
170
170
  const mergeWebsite = website;
171
171
  const partFiles = Array.from({ length: total }, (_, i) => path.join(llmPartsDir, `part.${i}.json`));
172
172
  const { pages } = await mergeLlmParts({
@@ -2,7 +2,7 @@ import { spawn } from "node:child_process";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
4
  import process from "node:process";
5
- import { f as fetchCmsSiteData, g as generateSitemapArtifacts } from "./validate-output-BeslczYg.js";
5
+ import { f as fetchCmsSiteData, g as generateSitemapArtifacts } from "./validate-output-CyzlxxkS.js";
6
6
  const AUTO_SHARD_CAP = Number(process.env.BLOX_SSG_SHARD_CAP) || 6;
7
7
  const PREFETCH_BUDGET = Number(process.env.BLOX_SSG_PREFETCH_BUDGET) || 24;
8
8
  const SEQUENTIAL_SHARDS = process.env.BLOX_SSG_SEQUENTIAL === "1";
@@ -142,7 +142,7 @@ async function runSharded(opts) {
142
142
  }
143
143
  if (process.env.BLOX_SSG_LLM !== "0") {
144
144
  try {
145
- const { mergeLlmParts } = await import("./validate-output-BeslczYg.js").then((n) => n.A);
145
+ const { mergeLlmParts } = await import("./validate-output-CyzlxxkS.js").then((n) => n.z);
146
146
  const mergeWebsite = website;
147
147
  const partFiles = Array.from({ length: total }, (_, i) => path.join(llmPartsDir, `part.${i}.json`));
148
148
  const { pages } = await mergeLlmParts({
package/dist/ssg/cli.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
  const process = require("node:process");
4
4
  const fs = require("node:fs/promises");
5
5
  const ssg_buildGrant = require("./build-grant.cjs");
6
- const llmArtifacts = require("../validate-output-DK0uHrG6.cjs");
6
+ const llmArtifacts = require("../validate-output-DwAoJflg.cjs");
7
7
  function installFetchTimeout() {
8
8
  const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
9
9
  const original = globalThis.fetch;
@@ -141,7 +141,7 @@ Environment:
141
141
  if (shardsOpt !== null || routesCmd) {
142
142
  const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
143
143
  const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
144
- const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-BloAN-jq.cjs"));
144
+ const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-B5xLPIMv.cjs"));
145
145
  const code = await runSharded({
146
146
  shards: shardsOpt ?? "auto",
147
147
  mode,
package/dist/ssg/cli.mjs CHANGED
@@ -2,7 +2,7 @@
2
2
  import process from "node:process";
3
3
  import fs from "node:fs/promises";
4
4
  import { resolveBloxBuildGrant } from "./build-grant.mjs";
5
- import { v as validateSsgOutput, u as uploadBloxManifest, p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, a as prerender } from "../validate-output-BeslczYg.js";
5
+ import { v as validateSsgOutput, u as uploadBloxManifest, p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, a as prerender } from "../validate-output-CyzlxxkS.js";
6
6
  function installFetchTimeout() {
7
7
  const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
8
8
  const original = globalThis.fetch;
@@ -140,7 +140,7 @@ Environment:
140
140
  if (shardsOpt !== null || routesCmd) {
141
141
  const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
142
142
  const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
143
- const { runSharded } = await import("../shard-runner-CzerD_rM.js");
143
+ const { runSharded } = await import("../shard-runner-DX_UVx1L.js");
144
144
  const code = await runSharded({
145
145
  shards: shardsOpt ?? "auto",
146
146
  mode,
@@ -1,8 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const BLOX_STATE_WINDOW_KEY = "__BLOX_STATE__";
4
- const BLOX_WEBSITE_ID_WINDOW_KEY = "__BLOX_WEBSITE_ID__";
5
- const BLOX_DATA_WINDOW_KEY = "__BLOX_DATA__";
6
- exports.BLOX_DATA_WINDOW_KEY = BLOX_DATA_WINDOW_KEY;
7
- exports.BLOX_STATE_WINDOW_KEY = BLOX_STATE_WINDOW_KEY;
8
- exports.BLOX_WEBSITE_ID_WINDOW_KEY = BLOX_WEBSITE_ID_WINDOW_KEY;
3
+ const ssg_client = require("../client-AoDTJJXJ.cjs");
4
+ exports.BLOX_HYDRATION_WINDOW_KEY = ssg_client.BLOX_HYDRATION_WINDOW_KEY;
5
+ exports.readBloxHydration = ssg_client.readBloxHydration;
@@ -4,5 +4,7 @@
4
4
  * Use this import in client entry files (main.ts / entry-client.ts).
5
5
  * It does NOT pull in Node.js modules (fs, path, url, happy-dom).
6
6
  */
7
- export { BLOX_DATA_WINDOW_KEY, BLOX_STATE_WINDOW_KEY, BLOX_WEBSITE_ID_WINDOW_KEY } from './constants';
7
+ export { BLOX_HYDRATION_WINDOW_KEY } from './constants';
8
+ export { readBloxHydration } from '../hydration';
9
+ export type { BloxHydrationPayload } from '../hydration';
8
10
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ssg/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ssg/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA"}
@@ -1,8 +1,5 @@
1
- const BLOX_STATE_WINDOW_KEY = "__BLOX_STATE__";
2
- const BLOX_WEBSITE_ID_WINDOW_KEY = "__BLOX_WEBSITE_ID__";
3
- const BLOX_DATA_WINDOW_KEY = "__BLOX_DATA__";
1
+ import { B, r } from "../client-XQnL-B6N.js";
4
2
  export {
5
- BLOX_DATA_WINDOW_KEY,
6
- BLOX_STATE_WINDOW_KEY,
7
- BLOX_WEBSITE_ID_WINDOW_KEY
3
+ B as BLOX_HYDRATION_WINDOW_KEY,
4
+ r as readBloxHydration
8
5
  };
@@ -26,8 +26,4 @@ export declare function expandLocalePaths(paths: string[], defaultLocale: string
26
26
  * website settings, page routes, and redirects.
27
27
  */
28
28
  export declare function fetchCmsSiteData(apiBase: string, websiteName: string, requestOptions?: BloxBuildRequestOptions): Promise<CmsSiteData>;
29
- /**
30
- * Legacy compat: fetch only prerender paths (no website/redirect data).
31
- */
32
- export declare function fetchCmsPrerenderPaths(apiBase: string, websiteName: string, requestOptions?: BloxBuildRequestOptions): Promise<string[]>;
33
29
  //# sourceMappingURL=cms-routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cms-routes.d.ts","sourceRoot":"","sources":["../../src/ssg/cms-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAoB9D,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,8EAA8E;IAC9E,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,aAAa,EAAE,CAAA;IAC1B,oEAAoE;IACpE,WAAW,EAAE,aAAa,EAAE,CAAA;CAC5B;AAYD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EAAE,GACxB,MAAM,EAAE,CASV;AAMD;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,uBAA4B,GAC1C,OAAO,CAAC,WAAW,CAAC,CAiItB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,uBAA4B,GAC1C,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnB"}
1
+ {"version":3,"file":"cms-routes.d.ts","sourceRoot":"","sources":["../../src/ssg/cms-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAoB9D,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,8EAA8E;IAC9E,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,aAAa,EAAE,CAAA;IAC1B,oEAAoE;IACpE,WAAW,EAAE,aAAa,EAAE,CAAA;CAC5B;AAYD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EAAE,GACxB,MAAM,EAAE,CASV;AAMD;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,uBAA4B,GAC1C,OAAO,CAAC,WAAW,CAAC,CAiItB"}
@@ -1,7 +1,10 @@
1
1
  /** Global key for embedded prerender payload (must match client interceptor). */
2
+ /** Global key for the versioned, unified route + data hydration payload. */
3
+ export declare const BLOX_HYDRATION_WINDOW_KEY: "__BLOX_HYDRATION__";
4
+ /** @deprecated V1 route-state key. Read-only compatibility. */
2
5
  export declare const BLOX_STATE_WINDOW_KEY: "__BLOX_STATE__";
3
- /** Global key for the pre-resolved website ID (avoids GET /blox/websites on client). */
6
+ /** @deprecated V1 website key. Read-only compatibility. */
4
7
  export declare const BLOX_WEBSITE_ID_WINDOW_KEY: "__BLOX_WEBSITE_ID__";
5
- /** Global key for `useData()` payload (keyed by composable cache key). */
8
+ /** @deprecated V1 data key. Read-only compatibility. */
6
9
  export declare const BLOX_DATA_WINDOW_KEY: "__BLOX_DATA__";
7
10
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/ssg/constants.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,eAAO,MAAM,qBAAqB,EAAG,gBAAyB,CAAA;AAE9D,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,EAAG,qBAA8B,CAAA;AAExE,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,EAAG,eAAwB,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/ssg/constants.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAG,oBAA6B,CAAA;AAEtE,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB,EAAG,gBAAyB,CAAA;AAE9D,2DAA2D;AAC3D,eAAO,MAAM,0BAA0B,EAAG,qBAA8B,CAAA;AAExE,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,EAAG,eAAwB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSSREntry.d.ts","sourceRoot":"","sources":["../../src/ssg/createSSREntry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createSSREntry.d.ts","sourceRoot":"","sources":["../../src/ssg/createSSREntry.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  mod
23
23
  ));
24
24
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
25
- const llmArtifacts = require("../validate-output-DK0uHrG6.cjs");
25
+ const llmArtifacts = require("../validate-output-DwAoJflg.cjs");
26
26
  const ssg_buildGrant = require("./build-grant.cjs");
27
- const ssg_client = require("./client.cjs");
27
+ const ssg_client = require("../client-AoDTJJXJ.cjs");
28
28
  const vue = require("vue");
29
- const appRuntime = require("../appRuntime-B5XKqx70.cjs");
29
+ const appRuntime = require("../appRuntime-CeEDneOA.cjs");
30
30
  async function renderBloxSsgPage(options) {
31
31
  var _a, _b, _c, _d;
32
32
  const {
@@ -36,7 +36,6 @@ async function renderBloxSsgPage(options) {
36
36
  createAppForUrl,
37
37
  collectData,
38
38
  collectSeo,
39
- stateWindowKey = ssg_client.BLOX_STATE_WINDOW_KEY,
40
39
  stateKey = url,
41
40
  locale,
42
41
  website = null,
@@ -51,8 +50,6 @@ async function renderBloxSsgPage(options) {
51
50
  await router.isReady();
52
51
  const ssrContext = {};
53
52
  const html = await renderToString(app, ssrContext);
54
- const stateScript = resolvedData != null ? `<script>window[${JSON.stringify(stateWindowKey)}]=${safeJson({ [stateKey]: resolvedData })};${"<"}/script>` : "";
55
- const websiteIdScript = websiteId ? `<script>window[${JSON.stringify(ssg_client.BLOX_WEBSITE_ID_WINDOW_KEY)}]=${JSON.stringify(websiteId)};${"<"}/script>` : "";
56
53
  const seoHead = dataRegistry && collectSeo ? collectSeo(dataRegistry) : void 0;
57
54
  const seoOverride = seoHead && Object.keys(seoHead).length > 0 ? seoHead : void 0;
58
55
  const bloxData = dataRegistry && collectData ? collectData(dataRegistry) : {};
@@ -70,14 +67,19 @@ async function renderBloxSsgPage(options) {
70
67
  `Blox hydration payload for "${url}" is ${dataBytes} bytes (limit ${maxDataBytes}); largest keys: ${largest}`
71
68
  );
72
69
  }
73
- const dataScript = Object.keys(bloxData).length > 0 ? `<script>window[${JSON.stringify(appRuntime.BLOX_DATA_WINDOW_KEY)}]=${serializedData};${"<"}/script>` : "";
70
+ const hydrationScript = `<script>window[${JSON.stringify(ssg_client.BLOX_HYDRATION_WINDOW_KEY)}]=${safeJson({
71
+ version: 2,
72
+ ...resolvedData != null ? { route: { path: stateKey, resolved: resolvedData } } : {},
73
+ ...websiteId ? { websiteId } : {},
74
+ data: bloxData
75
+ })};${"<"}/script>`;
74
76
  let head = llmArtifacts.buildPageHead({
75
77
  url,
76
78
  resolvedData,
77
79
  website,
78
80
  locale,
79
81
  override: seoOverride,
80
- stateScript: [stateScript, websiteIdScript, dataScript].filter(Boolean).join("\n")
82
+ stateScript: hydrationScript
81
83
  });
82
84
  const seoData = resolvedData;
83
85
  const primary = llmArtifacts.primaryContextEntry(seoData == null ? void 0 : seoData.contexts);
@@ -297,6 +299,7 @@ function createBloxSSREntry(options) {
297
299
  plugins,
298
300
  globalComponents,
299
301
  setup: userSetup,
302
+ navigation: "document",
300
303
  api,
301
304
  localeState
302
305
  });
@@ -412,7 +415,6 @@ exports.buildJsonLd = llmArtifacts.buildJsonLd;
412
415
  exports.buildPageHead = llmArtifacts.buildPageHead;
413
416
  exports.buildSiteHead = llmArtifacts.buildSiteHead;
414
417
  exports.extractPageText = llmArtifacts.extractPageText;
415
- exports.fetchCmsPrerenderPaths = llmArtifacts.fetchCmsPrerenderPaths;
416
418
  exports.fetchCmsSiteData = llmArtifacts.fetchCmsSiteData;
417
419
  exports.generateLlmsFullTxt = llmArtifacts.generateLlmsFullTxt;
418
420
  exports.generateLlmsTxt = llmArtifacts.generateLlmsTxt;
@@ -433,9 +435,7 @@ exports.uploadBloxManifest = llmArtifacts.uploadBloxManifest;
433
435
  exports.validateSsgOutput = llmArtifacts.validateSsgOutput;
434
436
  exports.parseBloxBuildGrantBody = ssg_buildGrant.parseBloxBuildGrantBody;
435
437
  exports.resolveBloxBuildGrant = ssg_buildGrant.resolveBloxBuildGrant;
436
- exports.BLOX_DATA_WINDOW_KEY = ssg_client.BLOX_DATA_WINDOW_KEY;
437
- exports.BLOX_STATE_WINDOW_KEY = ssg_client.BLOX_STATE_WINDOW_KEY;
438
- exports.BLOX_WEBSITE_ID_WINDOW_KEY = ssg_client.BLOX_WEBSITE_ID_WINDOW_KEY;
438
+ exports.BLOX_HYDRATION_WINDOW_KEY = ssg_client.BLOX_HYDRATION_WINDOW_KEY;
439
439
  exports.createBloxSSREntry = createBloxSSREntry;
440
440
  exports.fetchDatastoreSnapshot = fetchDatastoreSnapshot;
441
441
  exports.querySnapshotRows = querySnapshotRows;
@@ -1,4 +1,4 @@
1
- export { fetchCmsPrerenderPaths, fetchCmsSiteData } from './cms-routes';
1
+ export { fetchCmsSiteData } from './cms-routes';
2
2
  export type { CmsSiteData, CollectionRef } from './cms-routes';
3
3
  export { BloxBuildResponseError, bloxBuildJson, bloxBuildRequest, getBloxBuildRequestOptions } from './build-request';
4
4
  export { parseBloxBuildGrantBody, resolveBloxBuildGrant } from './build-grant';
@@ -11,11 +11,11 @@ export type { BloxBuildRequestOptions } from './build-request';
11
11
  * - Browser global polyfills for Node.js
12
12
  * - CMS route discovery (including template page expansion via data_bindings)
13
13
  * - Page renderer with state embedding and full SEO head
14
- * - Client-side fetch interceptor for zero-API-call hydration
14
+ * - Versioned route + data hydration payload
15
15
  * - Full prerender orchestrator with crawl support
16
16
  * - SEO asset generation (sitemap.xml, robots.txt, _redirects)
17
17
  */
18
- export { BLOX_DATA_WINDOW_KEY, BLOX_STATE_WINDOW_KEY, BLOX_WEBSITE_ID_WINDOW_KEY } from './constants';
18
+ export { BLOX_HYDRATION_WINDOW_KEY } from './constants';
19
19
  export { createBloxSSREntry } from './createSSREntry';
20
20
  export type { BloxSSREntry, CreateBloxSSREntryOptions } from './createSSREntry';
21
21
  export { fetchDatastoreSnapshot, querySnapshotRows, snapshotRows } from './datastore-snapshot';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ssg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACvE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AACrH,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC9E,YAAY,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAA;AACjF,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D;;;;;;;;;;GAUG;AACH,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,YAAY,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC9F,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAA;AACxO,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACtF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACnH,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACjF,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ssg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AACrH,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC9E,YAAY,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAA;AACjF,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D;;;;;;;;;;GAUG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,YAAY,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC9F,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAA;AACxO,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACtF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACnH,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACjF,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA"}