@bagelink/blox 1.15.527 → 1.15.531

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 (32) hide show
  1. package/dist/{PreviewApp-cgZ3drGF.cjs → PreviewApp-BMst1djN.cjs} +1 -1
  2. package/dist/{PreviewApp-pvhFV2Ow.js → PreviewApp-BQrQorKx.js} +1 -1
  3. package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-C0bfbTzw.cjs → PreviewApp.vue_vue_type_style_index_0_lang-ALA1j50w.cjs} +1 -1
  4. package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-DMRv7WnN.js → PreviewApp.vue_vue_type_style_index_0_lang-DC8YgJAO.js} +1 -1
  5. package/dist/api/types.d.ts +1 -0
  6. package/dist/api/types.d.ts.map +1 -1
  7. package/dist/data/useData.d.ts +6 -0
  8. package/dist/data/useData.d.ts.map +1 -1
  9. package/dist/index.cjs +2 -2
  10. package/dist/index.mjs +3 -3
  11. package/dist/{prerender-Dxn-8dw7.cjs → prerender-Dc2Zl2PC.cjs} +104 -8
  12. package/dist/{prerender-B07-_10t.js → prerender-VtzdjvzI.js} +121 -25
  13. package/dist/{routes-DtPXoAgu.cjs → routes-Dm9cxSGf.cjs} +4 -1
  14. package/dist/{routes-DH04aU7Y.js → routes-v4IuPpFg.js} +4 -1
  15. package/dist/{shard-runner-D74J4Khk.cjs → shard-runner-Bn4JyeQC.cjs} +35 -10
  16. package/dist/{shard-runner-D07ILRPq.js → shard-runner-JAI_Tb4S.js} +35 -10
  17. package/dist/ssg/build-request.d.ts +4 -0
  18. package/dist/ssg/build-request.d.ts.map +1 -1
  19. package/dist/ssg/cli.cjs +2 -2
  20. package/dist/ssg/cli.mjs +2 -2
  21. package/dist/ssg/index.cjs +5 -2
  22. package/dist/ssg/index.d.ts +1 -1
  23. package/dist/ssg/index.d.ts.map +1 -1
  24. package/dist/ssg/index.mjs +17 -14
  25. package/dist/ssg/prerender.d.ts.map +1 -1
  26. package/dist/ssg/seo.d.ts +13 -0
  27. package/dist/ssg/seo.d.ts.map +1 -1
  28. package/dist/ssg/shard-runner.d.ts.map +1 -1
  29. package/dist/ssg/state-cache.d.ts.map +1 -1
  30. package/dist/vite-plugin.cjs +2 -2
  31. package/dist/vite-plugin.mjs +2 -2
  32. package/package.json +11 -23
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-C0bfbTzw.cjs");
3
+ const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-ALA1j50w.cjs");
4
4
  exports.default = PreviewApp_vue_vue_type_style_index_0_lang._sfc_main;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "./PreviewApp.vue_vue_type_style_index_0_lang-DMRv7WnN.js";
1
+ import { _ as _sfc_main } from "./PreviewApp.vue_vue_type_style_index_0_lang-DC8YgJAO.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
- const routes = require("./routes-DtPXoAgu.cjs");
3
+ const routes = require("./routes-Dm9cxSGf.cjs");
4
4
  function sendToEditor(msg) {
5
5
  window.parent.postMessage(cloneForPostMessage(msg), "*");
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, inject, ref, h, provide, onMounted, onUnmounted, openBlock, createElementBlock, createVNode, unref, nextTick } from "vue";
2
- import { f as BLOX_REGISTRY_KEY, r as resolveBlockProps, u as useLocale, h as BLOX_RUNTIME_KEY } from "./routes-DH04aU7Y.js";
2
+ import { f as BLOX_REGISTRY_KEY, r as resolveBlockProps, u as useLocale, h as BLOX_RUNTIME_KEY } from "./routes-v4IuPpFg.js";
3
3
  function sendToEditor(msg) {
4
4
  window.parent.postMessage(cloneForPostMessage(msg), "*");
5
5
  }
@@ -46,6 +46,7 @@ export interface WebsiteSeo {
46
46
  site_name?: string | null;
47
47
  canonical_base_url?: string | null;
48
48
  noindex?: boolean;
49
+ sitemap_split_by_locale?: boolean;
49
50
  favicon_url?: string | null;
50
51
  webclip?: string | null;
51
52
  twitter_site?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,12 @@ export interface BloxSeoHead {
6
6
  title?: string;
7
7
  description?: string;
8
8
  image?: string;
9
+ /** ISO-8601 article publication timestamp. */
10
+ publishedTime?: string;
11
+ /** ISO-8601 article modification timestamp. */
12
+ modifiedTime?: string;
13
+ /** Article author name or profile URL. */
14
+ author?: string;
9
15
  /** Prevent indexing this resolved content page and omit it from SSG indexes. */
10
16
  noindex?: boolean;
11
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useData.d.ts","sourceRoot":"","sources":["../../src/data/useData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAIrD,eAAO,MAAM,oBAAoB,EAAG,eAAwB,CAAA;AAC5D,eAAO,MAAM,aAAa,eAAsB,CAAA;AAEhD,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,gBAAgB;IAChC,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAChD,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,4EAA4E;IAC5E,SAAS,EAAE,OAAO,CAAA;IAClB,iEAAiE;IACjE,GAAG,EAAE,WAAW,CAAA;IAChB,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;CAChE;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,qFAAqF;IACrF,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IACZ,8DAA8D;IAC9D,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,gDAAgD;IAChD,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACnB,iEAAiE;IACjE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,qFAAqF;IACrF,OAAO,EAAE,CAAC,CAAA;IACV;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,gBAAgB,CAgB3F;AAoBD,8EAA8E;AAC9E,wBAAgB,eAAe,IAAI,gBAAgB,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEnF;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAiBzE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,CAWtE;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACxB,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC7B,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACxB,aAAa,CAAC,CAAC,CAAC,CAqFlB"}
1
+ {"version":3,"file":"useData.d.ts","sourceRoot":"","sources":["../../src/data/useData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAIrD,eAAO,MAAM,oBAAoB,EAAG,eAAwB,CAAA;AAC5D,eAAO,MAAM,aAAa,eAAsB,CAAA;AAEhD,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,gBAAgB;IAChC,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAChD,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,4EAA4E;IAC5E,SAAS,EAAE,OAAO,CAAA;IAClB,iEAAiE;IACjE,GAAG,EAAE,WAAW,CAAA;IAChB,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;CAChE;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,qFAAqF;IACrF,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IACZ,8DAA8D;IAC9D,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,gDAAgD;IAChD,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACnB,iEAAiE;IACjE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,qFAAqF;IACrF,OAAO,EAAE,CAAC,CAAA;IACV;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,gBAAgB,CAgB3F;AAoBD,8EAA8E;AAC9E,wBAAgB,eAAe,IAAI,gBAAgB,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEnF;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAiBzE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,CActE;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACxB,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC7B,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACxB,aAAa,CAAC,CAAC,CAAC,CAqFlB"}
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const routes = require("./routes-DtPXoAgu.cjs");
4
- const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-C0bfbTzw.cjs");
3
+ const routes = require("./routes-Dm9cxSGf.cjs");
4
+ const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-ALA1j50w.cjs");
5
5
  const vue = require("vue");
6
6
  const vueRouter = require("vue-router");
7
7
  const pinia = require("pinia");
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { j as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, h as BLOX_RUNTIME_KEY, k as useSeo, l as getRegistryData, m as getItemBySlug, o as getItemById, q as getContentRoute, p as provideBloxData, e as createBlox, g as generateContentRoutes, t as installContentFallback, i as installLocaleAwareResolve, b as setActiveLocale, v as installSmartLinks, w as consumePendingLocaleSwitch } from "./routes-DH04aU7Y.js";
2
- import { _, x, y, z, B, A, C, D, E, F, P, G, H, c, d, I, J, K, L, M, N, O, Q, R, S, T, U, r, V, s, W, X, Y, Z } from "./routes-DH04aU7Y.js";
3
- import { _ as _2, P as P2, s as s2, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-DMRv7WnN.js";
1
+ import { j as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, h as BLOX_RUNTIME_KEY, k as useSeo, l as getRegistryData, m as getItemBySlug, o as getItemById, q as getContentRoute, p as provideBloxData, e as createBlox, g as generateContentRoutes, t as installContentFallback, i as installLocaleAwareResolve, b as setActiveLocale, v as installSmartLinks, w as consumePendingLocaleSwitch } from "./routes-v4IuPpFg.js";
2
+ import { _, x, y, z, B, A, C, D, E, F, P, G, H, c, d, I, J, K, L, M, N, O, Q, R, S, T, U, r, V, s, W, X, Y, Z } from "./routes-v4IuPpFg.js";
3
+ import { _ as _2, P as P2, s as s2, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-DC8YgJAO.js";
4
4
  import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, Transition, resolveDynamicComponent, inject, ref, watch, onMounted, onUnmounted, computed, onServerPrefetch, toValue, createApp, h, Suspense, markRaw } from "vue";
5
5
  import { useRouter, useRoute } from "vue-router";
6
6
  import { createPinia } from "pinia";
@@ -44,9 +44,14 @@ function getBloxBuildRequestOptions(overrides = {}) {
44
44
  token: overrides.token ?? env("BLOX_BUILD_TOKEN"),
45
45
  tokenHeader: overrides.tokenHeader ?? env("BLOX_BUILD_TOKEN_HEADER") ?? "Authorization",
46
46
  tokenScheme: overrides.tokenScheme ?? env("BLOX_BUILD_TOKEN_SCHEME") ?? "Bearer",
47
- headers: overrides.headers
47
+ headers: overrides.headers,
48
+ retryAttempts: overrides.retryAttempts ?? (Number(env("BLOX_BUILD_RETRY_ATTEMPTS")) || 4),
49
+ retryBaseMs: overrides.retryBaseMs ?? (Number(env("BLOX_BUILD_RETRY_MS")) || 500)
48
50
  };
49
51
  }
52
+ function sleep(ms) {
53
+ return new Promise((resolve) => setTimeout(resolve, ms));
54
+ }
50
55
  async function bloxBuildRequest(input, init = {}, options = {}) {
51
56
  const config = getBloxBuildRequestOptions(options);
52
57
  const headers = new Headers(config.headers);
@@ -57,7 +62,28 @@ async function bloxBuildRequest(input, init = {}, options = {}) {
57
62
  config.tokenScheme ? `${config.tokenScheme} ${config.token}` : config.token
58
63
  );
59
64
  }
60
- return fetch(input, { ...init, headers });
65
+ const attempts = Math.max(1, config.retryAttempts ?? 4);
66
+ const retryBaseMs = Math.max(0, config.retryBaseMs ?? 500);
67
+ for (let attempt = 1; attempt <= attempts; attempt++) {
68
+ try {
69
+ const response = await fetch(input, { ...init, headers });
70
+ const transient = response.status === 429 || response.status >= 500;
71
+ if (response.ok || !transient || attempt === attempts) return response;
72
+ const delay = retryBaseMs * 2 ** (attempt - 1);
73
+ console.warn(
74
+ `[blox-build] retry ${attempt}/${attempts} after HTTP ${response.status} in ${delay}ms`
75
+ );
76
+ if (delay) await sleep(delay);
77
+ } catch (error) {
78
+ if (attempt === attempts) throw error;
79
+ const delay = retryBaseMs * 2 ** (attempt - 1);
80
+ console.warn(
81
+ `[blox-build] retry ${attempt}/${attempts} after ${error.message} in ${delay}ms`
82
+ );
83
+ if (delay) await sleep(delay);
84
+ }
85
+ }
86
+ throw new Error("Blox build request exhausted retries");
61
87
  }
62
88
  async function bloxBuildJson(input, init = {}, options = {}) {
63
89
  const response = await bloxBuildRequest(input, init, options);
@@ -360,6 +386,15 @@ function buildPageHead(options) {
360
386
  parts.push(`<meta property="og:type" content="${esc(ogType)}">`);
361
387
  if (canonicalBase) parts.push(`<meta property="og:url" content="${esc(canonicalBase + url)}">`);
362
388
  if (siteName) parts.push(`<meta property="og:site_name" content="${esc(siteName)}">`);
389
+ if (override == null ? void 0 : override.publishedTime) {
390
+ parts.push(`<meta name="article-published_time" property="article:published_time" content="${esc(override.publishedTime)}">`);
391
+ }
392
+ if (override == null ? void 0 : override.modifiedTime) {
393
+ parts.push(`<meta name="article-modified_time" property="article:modified_time" content="${esc(override.modifiedTime)}">`);
394
+ }
395
+ if (override == null ? void 0 : override.author) {
396
+ parts.push(`<meta name="author" property="article:author" content="${esc(override.author)}">`);
397
+ }
363
398
  const twitterCard = ogImage ? "summary_large_image" : "summary";
364
399
  parts.push(`<meta name="twitter:card" content="${esc(twitterCard)}">`);
365
400
  if (ogTitle) parts.push(`<meta name="twitter:title" content="${esc(ogTitle)}">`);
@@ -423,8 +458,9 @@ function generateSitemapXml(options) {
423
458
  const mod = lastmod[p];
424
459
  const modLine = mod ? `
425
460
  <lastmod>${esc(mod)}</lastmod>` : "";
461
+ const loc = p === "/" ? base : base + p;
426
462
  return ` <url>
427
- <loc>${esc(base + p)}</loc>${modLine}
463
+ <loc>${esc(loc)}</loc>${modLine}
428
464
  <changefreq>${changefreq}</changefreq>
429
465
  <priority>${priority}</priority>
430
466
  </url>`;
@@ -435,6 +471,35 @@ ${urls.join("\n")}
435
471
  </urlset>
436
472
  `;
437
473
  }
474
+ function generateSitemapIndexXml(options) {
475
+ const base = options.canonicalBase.replace(/\/$/, "");
476
+ const sitemaps = options.sitemapPaths.map((path2) => ` <sitemap>
477
+ <loc>${esc(base + path2)}</loc>
478
+ </sitemap>`);
479
+ return `<?xml version="1.0" encoding="UTF-8"?>
480
+ <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
481
+ ${sitemaps.join("\n")}
482
+ </sitemapindex>
483
+ `;
484
+ }
485
+ function splitSitemapPathsByLocale(options) {
486
+ const locales = new Set(options.supportedLocales);
487
+ const pathsByLocale = /* @__PURE__ */ new Map();
488
+ for (const path2 of options.renderedPaths) {
489
+ const firstSegment = path2.replace(/^\//, "").split("/")[0];
490
+ const locale = firstSegment && firstSegment !== options.defaultLocale && locales.has(firstSegment) ? firstSegment : options.defaultLocale;
491
+ const paths = pathsByLocale.get(locale) ?? [];
492
+ paths.push(path2);
493
+ pathsByLocale.set(locale, paths);
494
+ }
495
+ return pathsByLocale;
496
+ }
497
+ function localeSitemapPath(locale) {
498
+ if (!/^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$/.test(locale)) {
499
+ throw new Error(`Invalid sitemap locale: ${locale}`);
500
+ }
501
+ return `/sitemap-${locale}.xml`;
502
+ }
438
503
  function generateRobotsTxt(options) {
439
504
  const { robotsTxt, canonicalBase, noindex } = options;
440
505
  if (noindex) {
@@ -760,7 +825,7 @@ async function prerender({
760
825
  collections = {},
761
826
  llm = {}
762
827
  } = {}) {
763
- var _a, _b;
828
+ var _a, _b, _c;
764
829
  const absRoot = path.resolve(root);
765
830
  const absClient = path.resolve(absRoot, clientOutDir);
766
831
  const absServerEntry = path.resolve(absRoot, serverEntry);
@@ -913,15 +978,43 @@ async function prerender({
913
978
  if (writeSharedAssets) {
914
979
  const sitemapPaths = rendered.filter((p) => !noindexPaths.has(p));
915
980
  if (canonicalBase && sitemapPaths.length > 0) {
916
- const sitemap = generateSitemapXml({ renderedPaths: sitemapPaths, canonicalBase, lastmod });
917
- await fs.writeFile(path.join(absClient, "sitemap.xml"), sitemap, "utf8");
981
+ if (((_b = website == null ? void 0 : website.seo) == null ? void 0 : _b.sitemap_split_by_locale) !== false) {
982
+ const pathsByLocale = splitSitemapPathsByLocale({
983
+ renderedPaths: sitemapPaths,
984
+ defaultLocale: (website == null ? void 0 : website.default_locale) ?? "en",
985
+ supportedLocales: (website == null ? void 0 : website.supported_locales) ?? [(website == null ? void 0 : website.default_locale) ?? "en"]
986
+ });
987
+ const sitemapFiles = [];
988
+ for (const [locale, localePaths] of pathsByLocale) {
989
+ const sitemapPath = localeSitemapPath(locale);
990
+ await fs.writeFile(
991
+ path.join(absClient, sitemapPath.slice(1)),
992
+ generateSitemapXml({ renderedPaths: localePaths, canonicalBase, lastmod }),
993
+ "utf8"
994
+ );
995
+ sitemapFiles.push(sitemapPath);
996
+ }
997
+ await fs.writeFile(
998
+ path.join(absClient, "sitemap.xml"),
999
+ generateSitemapIndexXml({ canonicalBase, sitemapPaths: sitemapFiles }),
1000
+ "utf8"
1001
+ );
1002
+ console.log(` Generated sitemap.xml (${sitemapFiles.length} locales, ${sitemapPaths.length} URLs)`);
1003
+ } else {
1004
+ await fs.writeFile(
1005
+ path.join(absClient, "sitemap.xml"),
1006
+ generateSitemapXml({ renderedPaths: sitemapPaths, canonicalBase, lastmod }),
1007
+ "utf8"
1008
+ );
1009
+ console.log(` Generated sitemap.xml (${sitemapPaths.length} URLs)`);
1010
+ }
918
1011
  const skipped = noindexPaths.size > 0 ? ` (${noindexPaths.size} noindex excluded)` : "";
919
- console.log(` Generated sitemap.xml (${sitemapPaths.length} URLs)${skipped}`);
1012
+ if (skipped) console.log(` Sitemap exclusions:${skipped}`);
920
1013
  }
921
1014
  const robotsTxt = generateRobotsTxt({
922
1015
  robotsTxt: website == null ? void 0 : website.robots_txt,
923
1016
  canonicalBase,
924
- noindex: (_b = website == null ? void 0 : website.seo) == null ? void 0 : _b.noindex
1017
+ noindex: (_c = website == null ? void 0 : website.seo) == null ? void 0 : _c.noindex
925
1018
  });
926
1019
  await fs.writeFile(path.join(absClient, "robots.txt"), robotsTxt, "utf8");
927
1020
  console.log(" Generated robots.txt");
@@ -1114,13 +1207,16 @@ exports.generateLlmsFullTxt = generateLlmsFullTxt;
1114
1207
  exports.generateLlmsTxt = generateLlmsTxt;
1115
1208
  exports.generateNetlifyRedirects = generateNetlifyRedirects;
1116
1209
  exports.generateRobotsTxt = generateRobotsTxt;
1210
+ exports.generateSitemapIndexXml = generateSitemapIndexXml;
1117
1211
  exports.generateSitemapXml = generateSitemapXml;
1118
1212
  exports.getBloxBuildRequestOptions = getBloxBuildRequestOptions;
1119
1213
  exports.getSiteIconFlags = getSiteIconFlags;
1120
1214
  exports.llmArtifacts = llmArtifacts;
1215
+ exports.localeSitemapPath = localeSitemapPath;
1121
1216
  exports.mergeLlmParts = mergeLlmParts;
1122
1217
  exports.polyfillBloxSsgGlobals = polyfillBloxSsgGlobals;
1123
1218
  exports.prerender = prerender;
1124
1219
  exports.primaryContextEntry = primaryContextEntry;
1125
1220
  exports.resolveManifestProvenance = resolveManifestProvenance;
1221
+ exports.splitSitemapPathsByLocale = splitSitemapPathsByLocale;
1126
1222
  exports.uploadBloxManifest = uploadBloxManifest;
@@ -21,9 +21,14 @@ function getBloxBuildRequestOptions(overrides = {}) {
21
21
  token: overrides.token ?? env("BLOX_BUILD_TOKEN"),
22
22
  tokenHeader: overrides.tokenHeader ?? env("BLOX_BUILD_TOKEN_HEADER") ?? "Authorization",
23
23
  tokenScheme: overrides.tokenScheme ?? env("BLOX_BUILD_TOKEN_SCHEME") ?? "Bearer",
24
- headers: overrides.headers
24
+ headers: overrides.headers,
25
+ retryAttempts: overrides.retryAttempts ?? (Number(env("BLOX_BUILD_RETRY_ATTEMPTS")) || 4),
26
+ retryBaseMs: overrides.retryBaseMs ?? (Number(env("BLOX_BUILD_RETRY_MS")) || 500)
25
27
  };
26
28
  }
29
+ function sleep(ms) {
30
+ return new Promise((resolve2) => setTimeout(resolve2, ms));
31
+ }
27
32
  async function bloxBuildRequest(input, init = {}, options = {}) {
28
33
  const config = getBloxBuildRequestOptions(options);
29
34
  const headers = new Headers(config.headers);
@@ -34,7 +39,28 @@ async function bloxBuildRequest(input, init = {}, options = {}) {
34
39
  config.tokenScheme ? `${config.tokenScheme} ${config.token}` : config.token
35
40
  );
36
41
  }
37
- return fetch(input, { ...init, headers });
42
+ const attempts = Math.max(1, config.retryAttempts ?? 4);
43
+ const retryBaseMs = Math.max(0, config.retryBaseMs ?? 500);
44
+ for (let attempt = 1; attempt <= attempts; attempt++) {
45
+ try {
46
+ const response = await fetch(input, { ...init, headers });
47
+ const transient = response.status === 429 || response.status >= 500;
48
+ if (response.ok || !transient || attempt === attempts) return response;
49
+ const delay = retryBaseMs * 2 ** (attempt - 1);
50
+ console.warn(
51
+ `[blox-build] retry ${attempt}/${attempts} after HTTP ${response.status} in ${delay}ms`
52
+ );
53
+ if (delay) await sleep(delay);
54
+ } catch (error) {
55
+ if (attempt === attempts) throw error;
56
+ const delay = retryBaseMs * 2 ** (attempt - 1);
57
+ console.warn(
58
+ `[blox-build] retry ${attempt}/${attempts} after ${error.message} in ${delay}ms`
59
+ );
60
+ if (delay) await sleep(delay);
61
+ }
62
+ }
63
+ throw new Error("Blox build request exhausted retries");
38
64
  }
39
65
  async function bloxBuildJson(input, init = {}, options = {}) {
40
66
  const response = await bloxBuildRequest(input, init, options);
@@ -337,6 +363,15 @@ function buildPageHead(options) {
337
363
  parts.push(`<meta property="og:type" content="${esc(ogType)}">`);
338
364
  if (canonicalBase) parts.push(`<meta property="og:url" content="${esc(canonicalBase + url)}">`);
339
365
  if (siteName) parts.push(`<meta property="og:site_name" content="${esc(siteName)}">`);
366
+ if (override == null ? void 0 : override.publishedTime) {
367
+ parts.push(`<meta name="article-published_time" property="article:published_time" content="${esc(override.publishedTime)}">`);
368
+ }
369
+ if (override == null ? void 0 : override.modifiedTime) {
370
+ parts.push(`<meta name="article-modified_time" property="article:modified_time" content="${esc(override.modifiedTime)}">`);
371
+ }
372
+ if (override == null ? void 0 : override.author) {
373
+ parts.push(`<meta name="author" property="article:author" content="${esc(override.author)}">`);
374
+ }
340
375
  const twitterCard = ogImage ? "summary_large_image" : "summary";
341
376
  parts.push(`<meta name="twitter:card" content="${esc(twitterCard)}">`);
342
377
  if (ogTitle) parts.push(`<meta name="twitter:title" content="${esc(ogTitle)}">`);
@@ -400,8 +435,9 @@ function generateSitemapXml(options) {
400
435
  const mod = lastmod[p];
401
436
  const modLine = mod ? `
402
437
  <lastmod>${esc(mod)}</lastmod>` : "";
438
+ const loc = p === "/" ? base : base + p;
403
439
  return ` <url>
404
- <loc>${esc(base + p)}</loc>${modLine}
440
+ <loc>${esc(loc)}</loc>${modLine}
405
441
  <changefreq>${changefreq}</changefreq>
406
442
  <priority>${priority}</priority>
407
443
  </url>`;
@@ -412,6 +448,35 @@ ${urls.join("\n")}
412
448
  </urlset>
413
449
  `;
414
450
  }
451
+ function generateSitemapIndexXml(options) {
452
+ const base = options.canonicalBase.replace(/\/$/, "");
453
+ const sitemaps = options.sitemapPaths.map((path2) => ` <sitemap>
454
+ <loc>${esc(base + path2)}</loc>
455
+ </sitemap>`);
456
+ return `<?xml version="1.0" encoding="UTF-8"?>
457
+ <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
458
+ ${sitemaps.join("\n")}
459
+ </sitemapindex>
460
+ `;
461
+ }
462
+ function splitSitemapPathsByLocale(options) {
463
+ const locales = new Set(options.supportedLocales);
464
+ const pathsByLocale = /* @__PURE__ */ new Map();
465
+ for (const path2 of options.renderedPaths) {
466
+ const firstSegment = path2.replace(/^\//, "").split("/")[0];
467
+ const locale = firstSegment && firstSegment !== options.defaultLocale && locales.has(firstSegment) ? firstSegment : options.defaultLocale;
468
+ const paths = pathsByLocale.get(locale) ?? [];
469
+ paths.push(path2);
470
+ pathsByLocale.set(locale, paths);
471
+ }
472
+ return pathsByLocale;
473
+ }
474
+ function localeSitemapPath(locale) {
475
+ if (!/^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$/.test(locale)) {
476
+ throw new Error(`Invalid sitemap locale: ${locale}`);
477
+ }
478
+ return `/sitemap-${locale}.xml`;
479
+ }
415
480
  function generateRobotsTxt(options) {
416
481
  const { robotsTxt, canonicalBase, noindex } = options;
417
482
  if (noindex) {
@@ -737,7 +802,7 @@ async function prerender({
737
802
  collections = {},
738
803
  llm = {}
739
804
  } = {}) {
740
- var _a, _b;
805
+ var _a, _b, _c;
741
806
  const absRoot = path.resolve(root);
742
807
  const absClient = path.resolve(absRoot, clientOutDir);
743
808
  const absServerEntry = path.resolve(absRoot, serverEntry);
@@ -890,15 +955,43 @@ async function prerender({
890
955
  if (writeSharedAssets) {
891
956
  const sitemapPaths = rendered.filter((p) => !noindexPaths.has(p));
892
957
  if (canonicalBase && sitemapPaths.length > 0) {
893
- const sitemap = generateSitemapXml({ renderedPaths: sitemapPaths, canonicalBase, lastmod });
894
- await fs.writeFile(path.join(absClient, "sitemap.xml"), sitemap, "utf8");
958
+ if (((_b = website == null ? void 0 : website.seo) == null ? void 0 : _b.sitemap_split_by_locale) !== false) {
959
+ const pathsByLocale = splitSitemapPathsByLocale({
960
+ renderedPaths: sitemapPaths,
961
+ defaultLocale: (website == null ? void 0 : website.default_locale) ?? "en",
962
+ supportedLocales: (website == null ? void 0 : website.supported_locales) ?? [(website == null ? void 0 : website.default_locale) ?? "en"]
963
+ });
964
+ const sitemapFiles = [];
965
+ for (const [locale, localePaths] of pathsByLocale) {
966
+ const sitemapPath = localeSitemapPath(locale);
967
+ await fs.writeFile(
968
+ path.join(absClient, sitemapPath.slice(1)),
969
+ generateSitemapXml({ renderedPaths: localePaths, canonicalBase, lastmod }),
970
+ "utf8"
971
+ );
972
+ sitemapFiles.push(sitemapPath);
973
+ }
974
+ await fs.writeFile(
975
+ path.join(absClient, "sitemap.xml"),
976
+ generateSitemapIndexXml({ canonicalBase, sitemapPaths: sitemapFiles }),
977
+ "utf8"
978
+ );
979
+ console.log(` Generated sitemap.xml (${sitemapFiles.length} locales, ${sitemapPaths.length} URLs)`);
980
+ } else {
981
+ await fs.writeFile(
982
+ path.join(absClient, "sitemap.xml"),
983
+ generateSitemapXml({ renderedPaths: sitemapPaths, canonicalBase, lastmod }),
984
+ "utf8"
985
+ );
986
+ console.log(` Generated sitemap.xml (${sitemapPaths.length} URLs)`);
987
+ }
895
988
  const skipped = noindexPaths.size > 0 ? ` (${noindexPaths.size} noindex excluded)` : "";
896
- console.log(` Generated sitemap.xml (${sitemapPaths.length} URLs)${skipped}`);
989
+ if (skipped) console.log(` Sitemap exclusions:${skipped}`);
897
990
  }
898
991
  const robotsTxt = generateRobotsTxt({
899
992
  robotsTxt: website == null ? void 0 : website.robots_txt,
900
993
  canonicalBase,
901
- noindex: (_b = website == null ? void 0 : website.seo) == null ? void 0 : _b.noindex
994
+ noindex: (_c = website == null ? void 0 : website.seo) == null ? void 0 : _c.noindex
902
995
  });
903
996
  await fs.writeFile(path.join(absClient, "robots.txt"), robotsTxt, "utf8");
904
997
  console.log(" Generated robots.txt");
@@ -1081,25 +1174,28 @@ function discoverInternalLinks(html) {
1081
1174
  export {
1082
1175
  BloxBuildResponseError as B,
1083
1176
  prerender as a,
1084
- buildPageHead as b,
1085
- primaryContextEntry as c,
1086
- buildJsonLd as d,
1087
- extractPageText as e,
1177
+ generateSitemapIndexXml as b,
1178
+ buildPageHead as c,
1179
+ primaryContextEntry as d,
1180
+ buildJsonLd as e,
1088
1181
  fetchCmsSiteData as f,
1089
1182
  generateSitemapXml as g,
1090
- bloxBuildJson as h,
1091
- bloxBuildRequest as i,
1092
- buildSiteHead as j,
1093
- fetchCmsPrerenderPaths as k,
1094
- generateLlmsFullTxt as l,
1095
- generateLlmsTxt as m,
1096
- generateNetlifyRedirects as n,
1097
- generateRobotsTxt as o,
1183
+ extractPageText as h,
1184
+ bloxBuildJson as i,
1185
+ bloxBuildRequest as j,
1186
+ buildSiteHead as k,
1187
+ localeSitemapPath as l,
1188
+ fetchCmsPrerenderPaths as m,
1189
+ generateLlmsFullTxt as n,
1190
+ generateLlmsTxt as o,
1098
1191
  polyfillBloxSsgGlobals as p,
1099
- getBloxBuildRequestOptions as q,
1100
- getSiteIconFlags as r,
1101
- mergeLlmParts as s,
1102
- resolveManifestProvenance as t,
1192
+ generateNetlifyRedirects as q,
1193
+ generateRobotsTxt as r,
1194
+ splitSitemapPathsByLocale as s,
1195
+ getBloxBuildRequestOptions as t,
1103
1196
  uploadBloxManifest as u,
1104
- llmArtifacts as v
1197
+ getSiteIconFlags as v,
1198
+ mergeLlmParts as w,
1199
+ resolveManifestProvenance as x,
1200
+ llmArtifacts as y
1105
1201
  };
@@ -539,6 +539,9 @@ function collectBloxSeo(registry2) {
539
539
  if (v.title) registry2.seo.title = v.title;
540
540
  if (v.description) registry2.seo.description = v.description;
541
541
  if (v.image) registry2.seo.image = v.image;
542
+ if (v.publishedTime) registry2.seo.publishedTime = v.publishedTime;
543
+ if (v.modifiedTime) registry2.seo.modifiedTime = v.modifiedTime;
544
+ if (v.author) registry2.seo.author = v.author;
542
545
  if (v.noindex !== void 0) registry2.seo.noindex = v.noindex;
543
546
  if (v.alternates && Object.keys(v.alternates).length) registry2.seo.alternates = v.alternates;
544
547
  }
@@ -918,7 +921,7 @@ class BloxInstance {
918
921
  }
919
922
  router.addRoute({
920
923
  path: "/_blox_preview",
921
- component: () => Promise.resolve().then(() => require("./PreviewApp-cgZ3drGF.cjs")),
924
+ component: () => Promise.resolve().then(() => require("./PreviewApp-BMst1djN.cjs")),
922
925
  beforeEnter: () => window.parent !== window ? true : "/"
923
926
  });
924
927
  router.addRoute({ path: "/:pathMatch(.*)*", component: _sfc_main$2 });
@@ -538,6 +538,9 @@ function collectBloxSeo(registry2) {
538
538
  if (v.title) registry2.seo.title = v.title;
539
539
  if (v.description) registry2.seo.description = v.description;
540
540
  if (v.image) registry2.seo.image = v.image;
541
+ if (v.publishedTime) registry2.seo.publishedTime = v.publishedTime;
542
+ if (v.modifiedTime) registry2.seo.modifiedTime = v.modifiedTime;
543
+ if (v.author) registry2.seo.author = v.author;
541
544
  if (v.noindex !== void 0) registry2.seo.noindex = v.noindex;
542
545
  if (v.alternates && Object.keys(v.alternates).length) registry2.seo.alternates = v.alternates;
543
546
  }
@@ -917,7 +920,7 @@ class BloxInstance {
917
920
  }
918
921
  router.addRoute({
919
922
  path: "/_blox_preview",
920
- component: () => import("./PreviewApp-pvhFV2Ow.js"),
923
+ component: () => import("./PreviewApp-BQrQorKx.js"),
921
924
  beforeEnter: () => window.parent !== window ? true : "/"
922
925
  });
923
926
  router.addRoute({ path: "/:pathMatch(.*)*", component: _sfc_main$2 });
@@ -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("./prerender-Dxn-8dw7.cjs");
29
+ const llmArtifacts = require("./prerender-Dc2Zl2PC.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
  function resolveShardCount(shards) {
@@ -82,7 +82,7 @@ function runShard(index, total, paths, opts, llmPartsDir, routePartsDir, siteDat
82
82
  });
83
83
  }
84
84
  async function runSharded(opts) {
85
- var _a;
85
+ var _a, _b;
86
86
  const total = resolveShardCount(opts.shards);
87
87
  const fs = await import("node:fs/promises");
88
88
  const paths = [...opts.extraPaths];
@@ -133,7 +133,7 @@ async function runSharded(opts) {
133
133
  }
134
134
  if (process.env.BLOX_SSG_LLM !== "0") {
135
135
  try {
136
- const { mergeLlmParts } = await Promise.resolve().then(() => require("./prerender-Dxn-8dw7.cjs")).then((n) => n.llmArtifacts);
136
+ const { mergeLlmParts } = await Promise.resolve().then(() => require("./prerender-Dc2Zl2PC.cjs")).then((n) => n.llmArtifacts);
137
137
  const mergeWebsite = website;
138
138
  const partFiles = Array.from({ length: total }, (_, i) => path.join(llmPartsDir, `part.${i}.json`));
139
139
  const { pages } = await mergeLlmParts({
@@ -155,13 +155,38 @@ async function runSharded(opts) {
155
155
  const canonicalBase = (((_a = website.seo) == null ? void 0 : _a.canonical_base_url) || website.domain || "").replace(/\/$/, "");
156
156
  const indexableRoutes = [...byUrl.values()].filter((route) => !route.noindex);
157
157
  if (canonicalBase && indexableRoutes.length > 0) {
158
- await fs.writeFile(path.resolve("dist", "sitemap.xml"), llmArtifacts.generateSitemapXml({
159
- renderedPaths: indexableRoutes.map((route) => route.url),
160
- canonicalBase,
161
- lastmod: Object.fromEntries(
162
- indexableRoutes.flatMap((route) => route.lastmod ? [[route.url, route.lastmod]] : [])
163
- )
164
- }), "utf8");
158
+ const lastmod = Object.fromEntries(
159
+ indexableRoutes.flatMap((route) => route.lastmod ? [[route.url, route.lastmod]] : [])
160
+ );
161
+ const renderedPaths = indexableRoutes.map((route) => route.url);
162
+ if (((_b = website.seo) == null ? void 0 : _b.sitemap_split_by_locale) !== false) {
163
+ const pathsByLocale = llmArtifacts.splitSitemapPathsByLocale({
164
+ renderedPaths,
165
+ defaultLocale: website.default_locale,
166
+ supportedLocales: website.supported_locales
167
+ });
168
+ const sitemapPaths = [];
169
+ for (const [locale, localePaths] of pathsByLocale) {
170
+ const sitemapPath = llmArtifacts.localeSitemapPath(locale);
171
+ await fs.writeFile(path.resolve("dist", sitemapPath.slice(1)), llmArtifacts.generateSitemapXml({
172
+ renderedPaths: localePaths,
173
+ canonicalBase,
174
+ lastmod
175
+ }), "utf8");
176
+ sitemapPaths.push(sitemapPath);
177
+ }
178
+ await fs.writeFile(
179
+ path.resolve("dist", "sitemap.xml"),
180
+ llmArtifacts.generateSitemapIndexXml({ canonicalBase, sitemapPaths }),
181
+ "utf8"
182
+ );
183
+ } else {
184
+ await fs.writeFile(path.resolve("dist", "sitemap.xml"), llmArtifacts.generateSitemapXml({
185
+ renderedPaths,
186
+ canonicalBase,
187
+ lastmod
188
+ }), "utf8");
189
+ }
165
190
  }
166
191
  await fs.rm(routePartsDir, { recursive: true, force: true });
167
192
  await fs.rm(siteDataFile, { force: true }).catch(() => {
@@ -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 generateSitemapXml } from "./prerender-B07-_10t.js";
5
+ import { f as fetchCmsSiteData, s as splitSitemapPathsByLocale, l as localeSitemapPath, g as generateSitemapXml, b as generateSitemapIndexXml } from "./prerender-VtzdjvzI.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
  function resolveShardCount(shards) {
@@ -58,7 +58,7 @@ function runShard(index, total, paths, opts, llmPartsDir, routePartsDir, siteDat
58
58
  });
59
59
  }
60
60
  async function runSharded(opts) {
61
- var _a;
61
+ var _a, _b;
62
62
  const total = resolveShardCount(opts.shards);
63
63
  const fs = await import("node:fs/promises");
64
64
  const paths = [...opts.extraPaths];
@@ -109,7 +109,7 @@ async function runSharded(opts) {
109
109
  }
110
110
  if (process.env.BLOX_SSG_LLM !== "0") {
111
111
  try {
112
- const { mergeLlmParts } = await import("./prerender-B07-_10t.js").then((n) => n.v);
112
+ const { mergeLlmParts } = await import("./prerender-VtzdjvzI.js").then((n) => n.y);
113
113
  const mergeWebsite = website;
114
114
  const partFiles = Array.from({ length: total }, (_, i) => path.join(llmPartsDir, `part.${i}.json`));
115
115
  const { pages } = await mergeLlmParts({
@@ -131,13 +131,38 @@ async function runSharded(opts) {
131
131
  const canonicalBase = (((_a = website.seo) == null ? void 0 : _a.canonical_base_url) || website.domain || "").replace(/\/$/, "");
132
132
  const indexableRoutes = [...byUrl.values()].filter((route) => !route.noindex);
133
133
  if (canonicalBase && indexableRoutes.length > 0) {
134
- await fs.writeFile(path.resolve("dist", "sitemap.xml"), generateSitemapXml({
135
- renderedPaths: indexableRoutes.map((route) => route.url),
136
- canonicalBase,
137
- lastmod: Object.fromEntries(
138
- indexableRoutes.flatMap((route) => route.lastmod ? [[route.url, route.lastmod]] : [])
139
- )
140
- }), "utf8");
134
+ const lastmod = Object.fromEntries(
135
+ indexableRoutes.flatMap((route) => route.lastmod ? [[route.url, route.lastmod]] : [])
136
+ );
137
+ const renderedPaths = indexableRoutes.map((route) => route.url);
138
+ if (((_b = website.seo) == null ? void 0 : _b.sitemap_split_by_locale) !== false) {
139
+ const pathsByLocale = splitSitemapPathsByLocale({
140
+ renderedPaths,
141
+ defaultLocale: website.default_locale,
142
+ supportedLocales: website.supported_locales
143
+ });
144
+ const sitemapPaths = [];
145
+ for (const [locale, localePaths] of pathsByLocale) {
146
+ const sitemapPath = localeSitemapPath(locale);
147
+ await fs.writeFile(path.resolve("dist", sitemapPath.slice(1)), generateSitemapXml({
148
+ renderedPaths: localePaths,
149
+ canonicalBase,
150
+ lastmod
151
+ }), "utf8");
152
+ sitemapPaths.push(sitemapPath);
153
+ }
154
+ await fs.writeFile(
155
+ path.resolve("dist", "sitemap.xml"),
156
+ generateSitemapIndexXml({ canonicalBase, sitemapPaths }),
157
+ "utf8"
158
+ );
159
+ } else {
160
+ await fs.writeFile(path.resolve("dist", "sitemap.xml"), generateSitemapXml({
161
+ renderedPaths,
162
+ canonicalBase,
163
+ lastmod
164
+ }), "utf8");
165
+ }
141
166
  }
142
167
  await fs.rm(routePartsDir, { recursive: true, force: true });
143
168
  await fs.rm(siteDataFile, { force: true }).catch(() => {
@@ -7,6 +7,10 @@ export interface BloxBuildRequestOptions {
7
7
  tokenScheme?: string;
8
8
  /** Additional build-only headers. */
9
9
  headers?: HeadersInit;
10
+ /** Total attempts for transient network, 429, and 5xx failures. @default 4 */
11
+ retryAttempts?: number;
12
+ /** Initial retry delay in milliseconds; doubles per attempt. @default 500 */
13
+ retryBaseMs?: number;
10
14
  }
11
15
  export declare class BloxBuildResponseError extends Error {
12
16
  readonly status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"build-request.d.ts","sourceRoot":"","sources":["../../src/ssg/build-request.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACvC,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,OAAO,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;aAE/B,MAAM,EAAE,MAAM;aACd,GAAG,EAAE,MAAM;gBADX,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EAC3B,UAAU,EAAE,MAAM;CAKnB;AAMD,uFAAuF;AACvF,wBAAgB,0BAA0B,CACzC,SAAS,GAAE,uBAA4B,GACrC,uBAAuB,CAOzB;AAED,gFAAgF;AAChF,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,GAAE,WAAgB,EACtB,OAAO,GAAE,uBAA4B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAWnB;AAED,sEAAsE;AACtE,wBAAsB,aAAa,CAAC,CAAC,EACpC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,GAAE,WAAgB,EACtB,OAAO,GAAE,uBAA4B,GACnC,OAAO,CAAC,CAAC,CAAC,CAQZ"}
1
+ {"version":3,"file":"build-request.d.ts","sourceRoot":"","sources":["../../src/ssg/build-request.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACvC,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;aAE/B,MAAM,EAAE,MAAM;aACd,GAAG,EAAE,MAAM;gBADX,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EAC3B,UAAU,EAAE,MAAM;CAKnB;AAMD,uFAAuF;AACvF,wBAAgB,0BAA0B,CACzC,SAAS,GAAE,uBAA4B,GACrC,uBAAuB,CAWzB;AAMD,gFAAgF;AAChF,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,GAAE,WAAgB,EACtB,OAAO,GAAE,uBAA4B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAiCnB;AAED,sEAAsE;AACtE,wBAAsB,aAAa,CAAC,CAAC,EACpC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,GAAE,WAAgB,EACtB,OAAO,GAAE,uBAA4B,GACnC,OAAO,CAAC,CAAC,CAAC,CAQZ"}
package/dist/ssg/cli.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  const process = require("node:process");
4
4
  const fs = require("node:fs/promises");
5
- const llmArtifacts = require("../prerender-Dxn-8dw7.cjs");
5
+ const llmArtifacts = require("../prerender-Dc2Zl2PC.cjs");
6
6
  function installFetchTimeout() {
7
7
  const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
8
8
  const original = globalThis.fetch;
@@ -123,7 +123,7 @@ Environment:
123
123
  if (shardsOpt !== null || routesCmd) {
124
124
  const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
125
125
  const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
126
- const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-D74J4Khk.cjs"));
126
+ const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-Bn4JyeQC.cjs"));
127
127
  const code = await runSharded({
128
128
  shards: shardsOpt ?? "auto",
129
129
  mode,
package/dist/ssg/cli.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  import process from "node:process";
3
3
  import fs from "node:fs/promises";
4
- import { u as uploadBloxManifest, p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, a as prerender } from "../prerender-B07-_10t.js";
4
+ import { u as uploadBloxManifest, p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, a as prerender } from "../prerender-VtzdjvzI.js";
5
5
  function installFetchTimeout() {
6
6
  const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
7
7
  const original = globalThis.fetch;
@@ -122,7 +122,7 @@ Environment:
122
122
  if (shardsOpt !== null || routesCmd) {
123
123
  const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
124
124
  const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
125
- const { runSharded } = await import("../shard-runner-D07ILRPq.js");
125
+ const { runSharded } = await import("../shard-runner-JAI_Tb4S.js");
126
126
  const code = await runSharded({
127
127
  shards: shardsOpt ?? "auto",
128
128
  mode,
@@ -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("../prerender-Dxn-8dw7.cjs");
25
+ const llmArtifacts = require("../prerender-Dc2Zl2PC.cjs");
26
26
  const ssg_client = require("./client.cjs");
27
27
  const pinia = require("pinia");
28
28
  const vue = require("vue");
29
- const routes = require("../routes-DtPXoAgu.cjs");
29
+ const routes = require("../routes-Dm9cxSGf.cjs");
30
30
  async function renderBloxSsgPage(options) {
31
31
  var _a, _b, _c;
32
32
  const {
@@ -268,13 +268,16 @@ exports.generateLlmsFullTxt = llmArtifacts.generateLlmsFullTxt;
268
268
  exports.generateLlmsTxt = llmArtifacts.generateLlmsTxt;
269
269
  exports.generateNetlifyRedirects = llmArtifacts.generateNetlifyRedirects;
270
270
  exports.generateRobotsTxt = llmArtifacts.generateRobotsTxt;
271
+ exports.generateSitemapIndexXml = llmArtifacts.generateSitemapIndexXml;
271
272
  exports.generateSitemapXml = llmArtifacts.generateSitemapXml;
272
273
  exports.getBloxBuildRequestOptions = llmArtifacts.getBloxBuildRequestOptions;
273
274
  exports.getSiteIconFlags = llmArtifacts.getSiteIconFlags;
275
+ exports.localeSitemapPath = llmArtifacts.localeSitemapPath;
274
276
  exports.mergeLlmParts = llmArtifacts.mergeLlmParts;
275
277
  exports.polyfillBloxSsgGlobals = llmArtifacts.polyfillBloxSsgGlobals;
276
278
  exports.prerender = llmArtifacts.prerender;
277
279
  exports.resolveManifestProvenance = llmArtifacts.resolveManifestProvenance;
280
+ exports.splitSitemapPathsByLocale = llmArtifacts.splitSitemapPathsByLocale;
278
281
  exports.uploadBloxManifest = llmArtifacts.uploadBloxManifest;
279
282
  exports.BLOX_COLLECTIONS_WINDOW_KEY = ssg_client.BLOX_COLLECTIONS_WINDOW_KEY;
280
283
  exports.BLOX_DATA_WINDOW_KEY = ssg_client.BLOX_DATA_WINDOW_KEY;
@@ -22,7 +22,7 @@ export { prerender } from './prerender';
22
22
  export type { PrerenderOptions, PrerenderResult, RenderContext, RenderResult } from './prerender';
23
23
  export { renderBloxSsgPage } from './render-resolved-page';
24
24
  export type { BloxSsgRouterLike } from './render-resolved-page';
25
- export { buildPageHead, buildSiteHead, generateNetlifyRedirects, generateRobotsTxt, generateSitemapXml, getSiteIconFlags } from './seo';
25
+ export { buildPageHead, buildSiteHead, generateNetlifyRedirects, generateRobotsTxt, generateSitemapIndexXml, generateSitemapXml, getSiteIconFlags, localeSitemapPath, splitSitemapPathsByLocale } from './seo';
26
26
  export type { RedirectEntry, SeoPageData } from './seo';
27
27
  export { buildJsonLd, extractPageText, generateLlmsFullTxt, generateLlmsTxt, mergeLlmParts } from './llm-artifacts';
28
28
  export type { LlmArtifactsConfig, LlmPageEntry } from './llm-artifacts';
@@ -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,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AACrG;;;;;;;;;;GAUG;AACH,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5J,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,YAAY,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC/E,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,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACvI,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACvD,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,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACjF,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA"}
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,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AACrG;;;;;;;;;;GAUG;AACH,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5J,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,YAAY,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC/E,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,uBAAuB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAA;AAC9M,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACvD,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,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACjF,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA"}
@@ -1,10 +1,10 @@
1
- import { b as buildPageHead, c as primaryContextEntry, d as buildJsonLd, e as extractPageText, B as BloxBuildResponseError, h as bloxBuildJson } from "../prerender-B07-_10t.js";
2
- import { i, j, k, f, l, m, n, o, g, q, r, s, p, a, t, u } from "../prerender-B07-_10t.js";
1
+ import { c as buildPageHead, d as primaryContextEntry, e as buildJsonLd, h as extractPageText, B as BloxBuildResponseError, i as bloxBuildJson } from "../prerender-VtzdjvzI.js";
2
+ import { j, k, m, f, n, o, q, r, b, g, t, v, l, w, p, a, x, s, u } from "../prerender-VtzdjvzI.js";
3
3
  import { BLOX_STATE_WINDOW_KEY, BLOX_WEBSITE_ID_WINDOW_KEY } from "./client.mjs";
4
4
  import { BLOX_COLLECTIONS_WINDOW_KEY, BLOX_DATA_WINDOW_KEY, BLOX_PAGE_SEO_WINDOW_KEY, getCollectionCache, getEmbeddedWebsiteId, installBloxStateCache, installCollectionCache } from "./client.mjs";
5
5
  import { createPinia } from "pinia";
6
6
  import { createSSRApp, h, Suspense, markRaw } from "vue";
7
- import { B as BLOX_DATA_WINDOW_KEY2, s as setApiOrigin, a as setCollectionResolver, b as setActiveLocale, c as collectBloxData, d as collectBloxSeo, p as provideBloxData, e as createBlox, g as generateContentRoutes, i as installLocaleAwareResolve } from "../routes-DH04aU7Y.js";
7
+ import { B as BLOX_DATA_WINDOW_KEY2, s as setApiOrigin, a as setCollectionResolver, b as setActiveLocale, c as collectBloxData, d as collectBloxSeo, p as provideBloxData, e as createBlox, g as generateContentRoutes, i as installLocaleAwareResolve } from "../routes-v4IuPpFg.js";
8
8
  async function renderBloxSsgPage(options) {
9
9
  var _a, _b, _c;
10
10
  const {
@@ -241,29 +241,32 @@ export {
241
241
  BLOX_WEBSITE_ID_WINDOW_KEY,
242
242
  BloxBuildResponseError,
243
243
  bloxBuildJson,
244
- i as bloxBuildRequest,
244
+ j as bloxBuildRequest,
245
245
  buildJsonLd,
246
246
  buildPageHead,
247
- j as buildSiteHead,
247
+ k as buildSiteHead,
248
248
  createBloxSSREntry,
249
249
  extractPageText,
250
- k as fetchCmsPrerenderPaths,
250
+ m as fetchCmsPrerenderPaths,
251
251
  f as fetchCmsSiteData,
252
- l as generateLlmsFullTxt,
253
- m as generateLlmsTxt,
254
- n as generateNetlifyRedirects,
255
- o as generateRobotsTxt,
252
+ n as generateLlmsFullTxt,
253
+ o as generateLlmsTxt,
254
+ q as generateNetlifyRedirects,
255
+ r as generateRobotsTxt,
256
+ b as generateSitemapIndexXml,
256
257
  g as generateSitemapXml,
257
- q as getBloxBuildRequestOptions,
258
+ t as getBloxBuildRequestOptions,
258
259
  getCollectionCache,
259
260
  getEmbeddedWebsiteId,
260
- r as getSiteIconFlags,
261
+ v as getSiteIconFlags,
261
262
  installBloxStateCache,
262
263
  installCollectionCache,
263
- s as mergeLlmParts,
264
+ l as localeSitemapPath,
265
+ w as mergeLlmParts,
264
266
  p as polyfillBloxSsgGlobals,
265
267
  a as prerender,
266
268
  renderBloxSsgPage,
267
- t as resolveManifestProvenance,
269
+ x as resolveManifestProvenance,
270
+ s as splitSitemapPathsByLocale,
268
271
  u as uploadBloxManifest
269
272
  };
@@ -1 +1 @@
1
- {"version":3,"file":"prerender.d.ts","sourceRoot":"","sources":["../../src/ssg/prerender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prerender.d.ts","sourceRoot":"","sources":["../../src/ssg/prerender.ts"],"names":[],"mappings":"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"}
package/dist/ssg/seo.d.ts CHANGED
@@ -40,6 +40,9 @@ export declare function buildPageHead(options: {
40
40
  title?: string;
41
41
  description?: string;
42
42
  image?: string;
43
+ publishedTime?: string;
44
+ modifiedTime?: string;
45
+ author?: string;
43
46
  noindex?: boolean;
44
47
  alternates?: Record<string, string>;
45
48
  };
@@ -64,6 +67,16 @@ export declare function generateSitemapXml(options: {
64
67
  /** Per-path last-modified ISO timestamps (path → ISO). Emits <lastmod>. */
65
68
  lastmod?: Record<string, string>;
66
69
  }): string;
70
+ export declare function generateSitemapIndexXml(options: {
71
+ canonicalBase: string;
72
+ sitemapPaths: string[];
73
+ }): string;
74
+ export declare function splitSitemapPathsByLocale(options: {
75
+ renderedPaths: string[];
76
+ defaultLocale: string;
77
+ supportedLocales: string[];
78
+ }): Map<string, string[]>;
79
+ export declare function localeSitemapPath(locale: string): string;
67
80
  export declare function generateRobotsTxt(options: {
68
81
  robotsTxt?: string | null;
69
82
  canonicalBase?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../../src/ssg/seo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAOzE,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;CACzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAWlG;AAED,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,WAAW,GAAG,IAAI,CAAA;IAChC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACnC,CAAA;IACD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,MAAM,CAwGT;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CAwCjE;AAMD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC3C,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC,GAAG,MAAM,CAqBT;AAMD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB,GAAG,MAAM,CAmBT;AAMD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,CAuB3E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1D,MAAM,CA8BR;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG;IAC9D,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;CACnB,CAMA;AAMD,UAAU,gBAAgB;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,GAClE,gBAAgB,CAgBlB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,GAClE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,IAAI,CAEtD"}
1
+ {"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../../src/ssg/seo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shard-runner.d.ts","sourceRoot":"","sources":["../../src/ssg/shard-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAWH,MAAM,WAAW,kBAAkB;IAClC,qDAAqD;IACrD,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAA;IACf,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAA;IACnB,iFAAiF;IACjF,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,8FAA8F;IAC9F,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AA4ED;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsH1E"}
1
+ {"version":3,"file":"shard-runner.d.ts","sourceRoot":"","sources":["../../src/ssg/shard-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAWH,MAAM,WAAW,kBAAkB;IAClC,qDAAqD;IACrD,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAA;IACf,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAA;IACnB,iFAAiF;IACjF,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,8FAA8F;IAC9F,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AA4ED;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CA+I1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"state-cache.d.ts","sourceRoot":"","sources":["../../src/ssg/state-cache.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,GAAE,MAA8B,QAqC9E"}
1
+ {"version":3,"file":"state-cache.d.ts","sourceRoot":"","sources":["../../src/ssg/state-cache.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,GAAE,MAA8B,QAoC9E"}
@@ -294,7 +294,7 @@ function bloxPlugin(options = {}) {
294
294
  remaining = remaining.slice(0, callStart) + remaining.slice(i);
295
295
  const scannable = callExpr.replace(/\/\*[\s\S]*?\*\//g, "").replace(/\/\/[^\n]*/g, "").replace(/'(?:\\.|[^'\\])*'/g, "''").replace(/"(?:\\.|[^"\\])*"/g, '""').replace(/`(?:\\.|[^`\\])*`/g, "``").replace(/\.\s*[a-z_$][\w$]*/gi, "").replace(/([a-z_$][\w$]*)\s*:/gi, ":");
296
296
  const identifiers = /* @__PURE__ */ new Set();
297
- const identRe = /\b([a-z_$][\w$]*)\b/gi;
297
+ const identRe = new RegExp("(?<![\\w$])(\\$|[A-Za-z_][\\w$]*)(?![\\w$])", "g");
298
298
  let identMatch;
299
299
  const SKIP_IDENTS = /* @__PURE__ */ new Set([
300
300
  "true",
@@ -313,7 +313,7 @@ function bloxPlugin(options = {}) {
313
313
  const scan = src.replace(/\/\*[\s\S]*?\*\//g, "").replace(/\/\/[^\n]*/g, "").replace(/'(?:\\.|[^'\\])*'/g, "''").replace(/"(?:\\.|[^"\\])*"/g, '""').replace(/`(?:\\.|[^`\\])*`/g, "``").replace(/\.\s*[a-z_$][\w$]*/gi, "").replace(/([a-z_$][\w$]*)\s*:/gi, ":");
314
314
  const out = [];
315
315
  let m;
316
- const re = /\b([a-z_$][\w$]*)\b/gi;
316
+ const re = new RegExp("(?<![\\w$])(\\$|[A-Za-z_][\\w$]*)(?![\\w$])", "g");
317
317
  while ((m = re.exec(scan)) !== null) {
318
318
  if (!SKIP_IDENTS.has(m[1])) out.push(m[1]);
319
319
  }
@@ -270,7 +270,7 @@ function bloxPlugin(options = {}) {
270
270
  remaining = remaining.slice(0, callStart) + remaining.slice(i);
271
271
  const scannable = callExpr.replace(/\/\*[\s\S]*?\*\//g, "").replace(/\/\/[^\n]*/g, "").replace(/'(?:\\.|[^'\\])*'/g, "''").replace(/"(?:\\.|[^"\\])*"/g, '""').replace(/`(?:\\.|[^`\\])*`/g, "``").replace(/\.\s*[a-z_$][\w$]*/gi, "").replace(/([a-z_$][\w$]*)\s*:/gi, ":");
272
272
  const identifiers = /* @__PURE__ */ new Set();
273
- const identRe = /\b([a-z_$][\w$]*)\b/gi;
273
+ const identRe = new RegExp("(?<![\\w$])(\\$|[A-Za-z_][\\w$]*)(?![\\w$])", "g");
274
274
  let identMatch;
275
275
  const SKIP_IDENTS = /* @__PURE__ */ new Set([
276
276
  "true",
@@ -289,7 +289,7 @@ function bloxPlugin(options = {}) {
289
289
  const scan = src.replace(/\/\*[\s\S]*?\*\//g, "").replace(/\/\/[^\n]*/g, "").replace(/'(?:\\.|[^'\\])*'/g, "''").replace(/"(?:\\.|[^"\\])*"/g, '""').replace(/`(?:\\.|[^`\\])*`/g, "``").replace(/\.\s*[a-z_$][\w$]*/gi, "").replace(/([a-z_$][\w$]*)\s*:/gi, ":");
290
290
  const out = [];
291
291
  let m;
292
- const re = /\b([a-z_$][\w$]*)\b/gi;
292
+ const re = new RegExp("(?<![\\w$])(\\$|[A-Za-z_][\\w$]*)(?![\\w$])", "g");
293
293
  while ((m = re.exec(scan)) !== null) {
294
294
  if (!SKIP_IDENTS.has(m[1])) out.push(m[1]);
295
295
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/blox",
3
3
  "type": "module",
4
- "version": "1.15.527",
4
+ "version": "1.15.531",
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",
@@ -53,18 +53,6 @@
53
53
  "types": "./dist/ssg/client.d.ts",
54
54
  "import": "./dist/ssg/client.mjs"
55
55
  },
56
- "./components": {
57
- "types": "./dist/components/index.d.ts",
58
- "import": "./dist/components/index.mjs"
59
- },
60
- "./core": {
61
- "types": "./dist/core/types.d.ts",
62
- "import": "./dist/core/types.mjs"
63
- },
64
- "./utils": {
65
- "types": "./dist/utils/styles.d.ts",
66
- "import": "./dist/utils/styles.mjs"
67
- },
68
56
  "./style.css": "./dist/style.css",
69
57
  "./dist/style.css": "./dist/style.css"
70
58
  },
@@ -110,19 +98,19 @@
110
98
  }
111
99
  },
112
100
  "devDependencies": {
113
- "@vitejs/plugin-vue": "^5.0.0",
101
+ "@vitejs/plugin-vue": "^5.2.4",
114
102
  "@vue/tsconfig": "^0.7.0",
115
- "magic-string": "^0.30.21",
116
- "typescript": "^5.8.3",
117
- "vite": "^5.0.0",
118
- "vite-plugin-dts": "^4.0.0",
119
- "vite-tsconfig-paths": "^5.0.0",
120
- "vitest": "^3.2.4",
121
- "vue": "^3.5.32",
122
- "vue-router": "^4.6.3",
123
- "vue-tsc": "^2.0.0"
103
+ "typescript": "^5.9.3",
104
+ "vite": "^5.4.21",
105
+ "vite-plugin-dts": "^4.5.4",
106
+ "vite-tsconfig-paths": "^5.1.4",
107
+ "vitest": "^3.2.7",
108
+ "vue": "^3.5.43",
109
+ "vue-router": "^4.6.4",
110
+ "vue-tsc": "^2.2.12"
124
111
  },
125
112
  "dependencies": {
113
+ "magic-string": "^0.30.21",
126
114
  "pinia": "^3.0.4"
127
115
  },
128
116
  "scripts": {