@bagelink/blox 1.15.611 → 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 (51) hide show
  1. package/dist/CmsPageView.vue.d.ts.map +1 -1
  2. package/dist/{PreviewApp-CIyd-N0N.js → PreviewApp-BMp-8qs3.js} +1 -1
  3. package/dist/{PreviewApp-BRrYLB8D.cjs → PreviewApp-CjelUL54.cjs} +1 -1
  4. package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-DeDQpkll.cjs → PreviewApp.vue_vue_type_style_index_0_lang-DU4NixKc.cjs} +1 -1
  5. package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-DO-6pJux.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-DScwVn-L.cjs → appRuntime-CeEDneOA.cjs} +21 -34
  8. package/dist/{appRuntime-CMgL56OK.js → appRuntime-DURTwUXn.js} +65 -78
  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/composables/usePageContext.d.ts +1 -1
  14. package/dist/composables/usePageContext.d.ts.map +1 -1
  15. package/dist/core.d.ts +2 -0
  16. package/dist/core.d.ts.map +1 -1
  17. package/dist/createBloxApp.d.ts +2 -0
  18. package/dist/createBloxApp.d.ts.map +1 -1
  19. package/dist/data/useData.d.ts +1 -2
  20. package/dist/data/useData.d.ts.map +1 -1
  21. package/dist/hydration.d.ts +13 -0
  22. package/dist/hydration.d.ts.map +1 -0
  23. package/dist/index.cjs +14 -7
  24. package/dist/index.d.ts +3 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.mjs +49 -42
  27. package/dist/{shard-runner-BJ5GOYAH.cjs → shard-runner-B5xLPIMv.cjs} +2 -2
  28. package/dist/{shard-runner-AhSQzGqP.js → shard-runner-DX_UVx1L.js} +2 -2
  29. package/dist/ssg/cli.cjs +2 -2
  30. package/dist/ssg/cli.mjs +2 -2
  31. package/dist/ssg/client.cjs +3 -6
  32. package/dist/ssg/client.d.ts +3 -1
  33. package/dist/ssg/client.d.ts.map +1 -1
  34. package/dist/ssg/client.mjs +3 -6
  35. package/dist/ssg/cms-routes.d.ts +0 -4
  36. package/dist/ssg/cms-routes.d.ts.map +1 -1
  37. package/dist/ssg/constants.d.ts +5 -2
  38. package/dist/ssg/constants.d.ts.map +1 -1
  39. package/dist/ssg/createSSREntry.d.ts +1 -0
  40. package/dist/ssg/createSSREntry.d.ts.map +1 -1
  41. package/dist/ssg/index.cjs +42 -14
  42. package/dist/ssg/index.d.ts +3 -3
  43. package/dist/ssg/index.d.ts.map +1 -1
  44. package/dist/ssg/index.mjs +55 -28
  45. package/dist/ssg/render-resolved-page.d.ts +2 -9
  46. package/dist/ssg/render-resolved-page.d.ts.map +1 -1
  47. package/dist/symbols.d.ts +1 -0
  48. package/dist/symbols.d.ts.map +1 -1
  49. package/dist/{validate-output-CVjmUmiV.js → validate-output-CyzlxxkS.js} +17 -19
  50. package/dist/{validate-output-BTTHpr9g.cjs → validate-output-DwAoJflg.cjs} +4 -6
  51. package/package.json +1 -1
@@ -1,10 +1,9 @@
1
- import { b as buildPageHead, c as primaryContextEntry, d as buildJsonLd, e as extractPageText, B as BloxBuildResponseError, h as bloxBuildJson } from "../validate-output-CVjmUmiV.js";
2
- import { i, j, k, f, l, m, n, o, g, q, r, s, t, w, x, p, a, y, z, u, v } from "../validate-output-CVjmUmiV.js";
1
+ import { b as buildPageHead, c as primaryContextEntry, d as buildJsonLd, e as extractPageText, B as BloxBuildResponseError, h as bloxBuildJson } from "../validate-output-CyzlxxkS.js";
2
+ import { i, j, f, k, l, m, n, g, o, q, r, s, t, w, p, a, x, y, u, v } from "../validate-output-CyzlxxkS.js";
3
3
  import { parseBloxBuildGrantBody, resolveBloxBuildGrant } from "./build-grant.mjs";
4
- import { BLOX_STATE_WINDOW_KEY, BLOX_WEBSITE_ID_WINDOW_KEY } from "./client.mjs";
5
- import { BLOX_DATA_WINDOW_KEY } from "./client.mjs";
4
+ import { B as BLOX_HYDRATION_WINDOW_KEY } from "../client-XQnL-B6N.js";
6
5
  import { createSSRApp, h, Suspense } from "vue";
7
- import { B as BLOX_DATA_WINDOW_KEY2, c as collectBloxData, a as collectBloxSeo, p as provideBloxData, b as provideBloxApi, d as provideBloxLocale, e as BLOX_SSR_ROUTE_STATE_KEY, i as installBloxRuntime, s as setActiveLocale } from "../appRuntime-CMgL56OK.js";
6
+ import { c as collectBloxData, a as collectBloxSeo, p as provideBloxData, b as provideBloxApi, d as provideBloxLocale, B as BLOX_SSR_ROUTE_STATE_KEY, i as installBloxRuntime, s as setActiveLocale } from "../appRuntime-DURTwUXn.js";
8
7
  async function renderBloxSsgPage(options) {
9
8
  var _a, _b, _c, _d;
10
9
  const {
@@ -14,7 +13,6 @@ async function renderBloxSsgPage(options) {
14
13
  createAppForUrl,
15
14
  collectData,
16
15
  collectSeo,
17
- stateWindowKey = BLOX_STATE_WINDOW_KEY,
18
16
  stateKey = url,
19
17
  locale,
20
18
  website = null,
@@ -29,8 +27,6 @@ async function renderBloxSsgPage(options) {
29
27
  await router.isReady();
30
28
  const ssrContext = {};
31
29
  const html = await renderToString(app, ssrContext);
32
- const stateScript = resolvedData != null ? `<script>window[${JSON.stringify(stateWindowKey)}]=${safeJson({ [stateKey]: resolvedData })};${"<"}/script>` : "";
33
- const websiteIdScript = websiteId ? `<script>window[${JSON.stringify(BLOX_WEBSITE_ID_WINDOW_KEY)}]=${JSON.stringify(websiteId)};${"<"}/script>` : "";
34
30
  const seoHead = dataRegistry && collectSeo ? collectSeo(dataRegistry) : void 0;
35
31
  const seoOverride = seoHead && Object.keys(seoHead).length > 0 ? seoHead : void 0;
36
32
  const bloxData = dataRegistry && collectData ? collectData(dataRegistry) : {};
@@ -48,14 +44,19 @@ async function renderBloxSsgPage(options) {
48
44
  `Blox hydration payload for "${url}" is ${dataBytes} bytes (limit ${maxDataBytes}); largest keys: ${largest}`
49
45
  );
50
46
  }
51
- const dataScript = Object.keys(bloxData).length > 0 ? `<script>window[${JSON.stringify(BLOX_DATA_WINDOW_KEY2)}]=${serializedData};${"<"}/script>` : "";
47
+ const hydrationScript = `<script>window[${JSON.stringify(BLOX_HYDRATION_WINDOW_KEY)}]=${safeJson({
48
+ version: 2,
49
+ ...resolvedData != null ? { route: { path: stateKey, resolved: resolvedData } } : {},
50
+ ...websiteId ? { websiteId } : {},
51
+ data: bloxData
52
+ })};${"<"}/script>`;
52
53
  let head = buildPageHead({
53
54
  url,
54
55
  resolvedData,
55
56
  website,
56
57
  locale,
57
58
  override: seoOverride,
58
- stateScript: [stateScript, websiteIdScript, dataScript].filter(Boolean).join("\n")
59
+ stateScript: hydrationScript
59
60
  });
60
61
  const seoData = resolvedData;
61
62
  const primary = primaryContextEntry(seoData == null ? void 0 : seoData.contexts);
@@ -122,6 +123,7 @@ async function resolvePublishedPage(pages, slug, locale, resolver) {
122
123
  if (!page) return null;
123
124
  const params = ((_a = page.slug) == null ? void 0 : _a.includes(":")) ? templateParams(page.slug, slug) : {};
124
125
  const contexts = {};
126
+ let alternates;
125
127
  if (params && resolver) {
126
128
  for (const [name, binding] of Object.entries(page.data_bindings ?? {})) {
127
129
  if (binding.adapter !== "datastore" || !binding.collection || !binding.bind_by) continue;
@@ -134,10 +136,37 @@ async function resolvePublishedPage(pages, slug, locale, resolver) {
134
136
  q: `${binding.bind_by} eq "${escaped}"`,
135
137
  limit: 1
136
138
  });
137
- contexts[name] = items[0] ?? null;
139
+ const item = items[0] ?? null;
140
+ contexts[name] = item;
141
+ if (item && page.slug) {
142
+ const availableLocales = Array.isArray(item.available_locales) ? item.available_locales.filter((value2) => typeof value2 === "string") : [];
143
+ const stableId = item.id ?? item._id ?? item.legacyId;
144
+ if (availableLocales.length && stableId != null) {
145
+ const escapedId = String(stableId).replace(/\\/g, "\\\\").replace(/"/g, '\\"');
146
+ const localized = await Promise.all(availableLocales.map(async (targetLocale) => {
147
+ const localizedItems = targetLocale === locale ? [item] : await resolver(binding.collection, {
148
+ locale: targetLocale,
149
+ q: `id eq "${escapedId}"`,
150
+ limit: 1
151
+ });
152
+ const localizedItem = localizedItems[0];
153
+ const localizedValue = localizedItem == null ? void 0 : localizedItem[binding.bind_by];
154
+ if (typeof localizedValue !== "string" || !localizedValue) return null;
155
+ return [
156
+ targetLocale,
157
+ page.slug.replace(`:${param.name}`, localizedValue)
158
+ ];
159
+ }));
160
+ alternates = Object.fromEntries(localized.filter((value2) => value2 != null));
161
+ }
162
+ }
138
163
  }
139
164
  }
140
- return { page, contexts };
165
+ return {
166
+ page,
167
+ contexts,
168
+ ...alternates && Object.keys(alternates).length ? { alternates } : {}
169
+ };
141
170
  }
142
171
  function createBloxSSREntry(options) {
143
172
  var _a;
@@ -247,6 +276,7 @@ function createBloxSSREntry(options) {
247
276
  plugins,
248
277
  globalComponents,
249
278
  setup: userSetup,
279
+ navigation: "document",
250
280
  api,
251
281
  localeState
252
282
  });
@@ -356,9 +386,7 @@ function querySnapshotRows(snapshot, options) {
356
386
  return rows;
357
387
  }
358
388
  export {
359
- BLOX_DATA_WINDOW_KEY,
360
- BLOX_STATE_WINDOW_KEY,
361
- BLOX_WEBSITE_ID_WINDOW_KEY,
389
+ BLOX_HYDRATION_WINDOW_KEY,
362
390
  BloxBuildResponseError,
363
391
  bloxBuildJson,
364
392
  i as bloxBuildRequest,
@@ -367,29 +395,28 @@ export {
367
395
  j as buildSiteHead,
368
396
  createBloxSSREntry,
369
397
  extractPageText,
370
- k as fetchCmsPrerenderPaths,
371
398
  f as fetchCmsSiteData,
372
399
  fetchDatastoreSnapshot,
373
- l as generateLlmsFullTxt,
374
- m as generateLlmsTxt,
375
- n as generateNetlifyRedirects,
376
- o as generateRobotsTxt,
400
+ k as generateLlmsFullTxt,
401
+ l as generateLlmsTxt,
402
+ m as generateNetlifyRedirects,
403
+ n as generateRobotsTxt,
377
404
  g as generateSitemapArtifacts,
378
- q as generateSitemapIndexXml,
379
- r as generateSitemapXml,
380
- s as getBloxBuildRequestOptions,
381
- t as getSiteIconFlags,
382
- w as localeSitemapPath,
383
- x as mergeLlmParts,
405
+ o as generateSitemapIndexXml,
406
+ q as generateSitemapXml,
407
+ r as getBloxBuildRequestOptions,
408
+ s as getSiteIconFlags,
409
+ t as localeSitemapPath,
410
+ w as mergeLlmParts,
384
411
  parseBloxBuildGrantBody,
385
412
  p as polyfillBloxSsgGlobals,
386
413
  a as prerender,
387
414
  querySnapshotRows,
388
415
  renderBloxSsgPage,
389
416
  resolveBloxBuildGrant,
390
- y as resolveManifestProvenance,
417
+ x as resolveManifestProvenance,
391
418
  snapshotRows,
392
- z as splitSitemapPathsByLocale,
419
+ y as splitSitemapPathsByLocale,
393
420
  u as uploadBloxManifest,
394
421
  v as validateSsgOutput
395
422
  };
@@ -11,13 +11,9 @@ export interface BloxSsgRouterLike {
11
11
  /**
12
12
  * Render a Blox CMS page to static HTML with embedded state and full SEO head.
13
13
  *
14
- * Sets `globalThis.__BLOX_STATE__` *before* rendering so that
15
- * `CmsPageView` can hydrate synchronously from the embedded data
16
- * instead of waiting for an async fetch.
17
- *
18
14
  * Returns `{ html, head, htmlAttrs }` where:
19
15
  * - `head` contains per-page `<title>`, meta tags, OG, canonical, hreflang,
20
- * plus the `<script>` that sets `window.__BLOX_STATE__`
16
+ * plus the versioned route + data hydration payload
21
17
  * - `htmlAttrs` contains the `lang` attribute
22
18
  */
23
19
  export declare function renderBloxSsgPage<TApp>(options: {
@@ -33,11 +29,8 @@ export declare function renderBloxSsgPage<TApp>(options: {
33
29
  collectData?: (registry: BloxDataRegistry) => Record<string, unknown>;
34
30
  /** Evaluate `useSeo` sources after render → per-page SEO override. */
35
31
  collectSeo?: (registry: BloxDataRegistry) => BloxSeoHead;
36
- stateWindowKey?: string;
37
32
  /**
38
- * Key under which the resolved data is embedded in `__BLOX_STATE__`.
39
- * Must match what the client detects (the default-locale *slug*, with any
40
- * `/xx` locale prefix stripped). Defaults to `url`.
33
+ * Route-state key (default-locale slug with any `/xx` prefix stripped).
41
34
  */
42
35
  stateKey?: string;
43
36
  /** Active render locale — sets `<html lang>`. Defaults to website default. */
@@ -1 +1 @@
1
- {"version":3,"file":"render-resolved-page.d.ts","sourceRoot":"","sources":["../../src/ssg/render-resolved-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGvE,UAAU,cAAc;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;IACtD,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACxE,eAAe,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,GAAG,IAAI,EAC5B,QAAQ,EAAE,MAAM,KACZ;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,YAAY,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAA;IAC9E,8EAA8E;IAC9E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrE,sEAAsE;IACtE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,WAAW,CAAA;IACxD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+EAA+E;IAC/E,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,GAAG,CAAC,EAAE,kBAAkB,CAAA;CACxB,GAAG,OAAO,CAAC;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,GAAG,CAAC,EAAE,YAAY,CAAA;CAClB,CAAC,CAmHD;AAED,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C"}
1
+ {"version":3,"file":"render-resolved-page.d.ts","sourceRoot":"","sources":["../../src/ssg/render-resolved-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGvE,UAAU,cAAc;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;IACtD,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACxE,eAAe,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,GAAG,IAAI,EAC5B,QAAQ,EAAE,MAAM,KACZ;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,YAAY,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAA;IAC9E,8EAA8E;IAC9E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrE,sEAAsE;IACtE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,WAAW,CAAA;IACxD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+EAA+E;IAC/E,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,GAAG,CAAC,EAAE,kBAAkB,CAAA;CACxB,GAAG,OAAO,CAAC;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,GAAG,CAAC,EAAE,YAAY,CAAA;CAClB,CAAC,CA4GD;AAED,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C"}
package/dist/symbols.d.ts CHANGED
@@ -6,6 +6,7 @@ export declare const BLOX_REGISTRY_KEY: InjectionKey<Record<string, BlockDefinit
6
6
  export interface BloxConfig {
7
7
  defaultLocale: string;
8
8
  supportedLocales: string[];
9
+ navigation: 'document' | 'spa';
9
10
  }
10
11
  export declare const BLOX_CONFIG_KEY: InjectionKey<BloxConfig>;
11
12
  export declare const BLOX_LOCALE_STRATEGY_KEY: InjectionKey<LocaleStrategy>;
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAClD,CAAA;AAE1B,MAAM,WAAW,UAAU;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,UAAU,CAAyB,CAAA;AAE9E,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,cAAc,CAAkC,CAAA;AAEpG,MAAM,WAAW,kBAAkB;IAClC,yDAAyD;IACzD,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACvB,2EAA2E;IAC3E,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,kBAAkB,CAA0B,CAAA;AAExF,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;CAChC,GAAG,IAAI,CAAkC,CAAA;AAE1C;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC/B,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAA;IACjB,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,eAAe,CAClC,CAAA;AAE9B;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,uEAAuE;IACvE,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,gBAAgB,CACnC,CAAA"}
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAClD,CAAA;AAE1B,MAAM,WAAW,UAAU;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,UAAU,EAAE,UAAU,GAAG,KAAK,CAAA;CAC9B;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,UAAU,CAAyB,CAAA;AAE9E,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,cAAc,CAAkC,CAAA;AAEpG,MAAM,WAAW,kBAAkB;IAClC,yDAAyD;IACzD,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACvB,2EAA2E;IAC3E,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,kBAAkB,CAA0B,CAAA;AAExF,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;CAChC,GAAG,IAAI,CAAkC,CAAA;AAE1C;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC/B,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAA;IACjB,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,eAAe,CAClC,CAAA;AAE9B;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,uEAAuE;IACvE,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,gBAAgB,CACnC,CAAA"}
@@ -167,10 +167,6 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
167
167
  const pageSlugs = [...new Set(localizedPages.flatMap((result) => result.pages.flatMap((page) => page.slug ? [localizePath(page.slug, result.locale, defaultLocale)] : [])))];
168
168
  return { websiteId: site.id, website, paths, pageSlugs, redirects, collections };
169
169
  }
170
- async function fetchCmsPrerenderPaths(apiBase, websiteName, requestOptions = {}) {
171
- const { paths } = await fetchCmsSiteData(apiBase, websiteName, requestOptions);
172
- return paths;
173
- }
174
170
  async function expandRoutes(apiBase, pages, requestOptions, locale) {
175
171
  const routes = [];
176
172
  const grantedWebsiteId = requestOptions.websiteId;
@@ -192,7 +188,10 @@ async function expandRoutes(apiBase, pages, requestOptions, locale) {
192
188
  {},
193
189
  requestOptions
194
190
  );
195
- const pageItems = Array.isArray(itemsData) ? itemsData : itemsData.items ?? itemsData.data ?? [];
191
+ const pageItems = grantedWebsiteId ? itemsData.items : itemsData;
192
+ if (!Array.isArray(pageItems)) {
193
+ throw new TypeError(`Blox collection response is invalid: ${b.store}/${b.collection}`);
194
+ }
196
195
  items.push(...pageItems);
197
196
  if (pageItems.length < pageSize) break;
198
197
  }
@@ -1340,7 +1339,6 @@ async function validateSitemap(outDir, content) {
1340
1339
  return failures;
1341
1340
  }
1342
1341
  export {
1343
- llmArtifacts as A,
1344
1342
  BloxBuildResponseError as B,
1345
1343
  prerender as a,
1346
1344
  buildPageHead as b,
@@ -1352,20 +1350,20 @@ export {
1352
1350
  bloxBuildJson as h,
1353
1351
  bloxBuildRequest as i,
1354
1352
  buildSiteHead as j,
1355
- fetchCmsPrerenderPaths as k,
1356
- generateLlmsFullTxt as l,
1357
- generateLlmsTxt as m,
1358
- generateNetlifyRedirects as n,
1359
- generateRobotsTxt as o,
1353
+ generateLlmsFullTxt as k,
1354
+ generateLlmsTxt as l,
1355
+ generateNetlifyRedirects as m,
1356
+ generateRobotsTxt as n,
1357
+ generateSitemapIndexXml as o,
1360
1358
  polyfillBloxSsgGlobals as p,
1361
- generateSitemapIndexXml as q,
1362
- generateSitemapXml as r,
1363
- getBloxBuildRequestOptions as s,
1364
- getSiteIconFlags as t,
1359
+ generateSitemapXml as q,
1360
+ getBloxBuildRequestOptions as r,
1361
+ getSiteIconFlags as s,
1362
+ localeSitemapPath as t,
1365
1363
  uploadBloxManifest as u,
1366
1364
  validateSsgOutput as v,
1367
- localeSitemapPath as w,
1368
- mergeLlmParts as x,
1369
- resolveManifestProvenance as y,
1370
- splitSitemapPathsByLocale as z
1365
+ mergeLlmParts as w,
1366
+ resolveManifestProvenance as x,
1367
+ splitSitemapPathsByLocale as y,
1368
+ llmArtifacts as z
1371
1369
  };
@@ -190,10 +190,6 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
190
190
  const pageSlugs = [...new Set(localizedPages.flatMap((result) => result.pages.flatMap((page) => page.slug ? [localizePath(page.slug, result.locale, defaultLocale)] : [])))];
191
191
  return { websiteId: site.id, website, paths, pageSlugs, redirects, collections };
192
192
  }
193
- async function fetchCmsPrerenderPaths(apiBase, websiteName, requestOptions = {}) {
194
- const { paths } = await fetchCmsSiteData(apiBase, websiteName, requestOptions);
195
- return paths;
196
- }
197
193
  async function expandRoutes(apiBase, pages, requestOptions, locale) {
198
194
  const routes = [];
199
195
  const grantedWebsiteId = requestOptions.websiteId;
@@ -215,7 +211,10 @@ async function expandRoutes(apiBase, pages, requestOptions, locale) {
215
211
  {},
216
212
  requestOptions
217
213
  );
218
- const pageItems = Array.isArray(itemsData) ? itemsData : itemsData.items ?? itemsData.data ?? [];
214
+ const pageItems = grantedWebsiteId ? itemsData.items : itemsData;
215
+ if (!Array.isArray(pageItems)) {
216
+ throw new TypeError(`Blox collection response is invalid: ${b.store}/${b.collection}`);
217
+ }
219
218
  items.push(...pageItems);
220
219
  if (pageItems.length < pageSize) break;
221
220
  }
@@ -1369,7 +1368,6 @@ exports.buildJsonLd = buildJsonLd;
1369
1368
  exports.buildPageHead = buildPageHead;
1370
1369
  exports.buildSiteHead = buildSiteHead;
1371
1370
  exports.extractPageText = extractPageText;
1372
- exports.fetchCmsPrerenderPaths = fetchCmsPrerenderPaths;
1373
1371
  exports.fetchCmsSiteData = fetchCmsSiteData;
1374
1372
  exports.generateLlmsFullTxt = generateLlmsFullTxt;
1375
1373
  exports.generateLlmsTxt = generateLlmsTxt;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/blox",
3
3
  "type": "module",
4
- "version": "1.15.611",
4
+ "version": "1.15.617",
5
5
  "description": "Blox page builder library for drag-and-drop page building and static data management",
6
6
  "author": {
7
7
  "name": "Bagel Studio",