@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.
- package/dist/{PreviewApp-cgZ3drGF.cjs → PreviewApp-BMst1djN.cjs} +1 -1
- package/dist/{PreviewApp-pvhFV2Ow.js → PreviewApp-BQrQorKx.js} +1 -1
- package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-C0bfbTzw.cjs → PreviewApp.vue_vue_type_style_index_0_lang-ALA1j50w.cjs} +1 -1
- package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-DMRv7WnN.js → PreviewApp.vue_vue_type_style_index_0_lang-DC8YgJAO.js} +1 -1
- package/dist/api/types.d.ts +1 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/data/useData.d.ts +6 -0
- package/dist/data/useData.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +3 -3
- package/dist/{prerender-Dxn-8dw7.cjs → prerender-Dc2Zl2PC.cjs} +104 -8
- package/dist/{prerender-B07-_10t.js → prerender-VtzdjvzI.js} +121 -25
- package/dist/{routes-DtPXoAgu.cjs → routes-Dm9cxSGf.cjs} +4 -1
- package/dist/{routes-DH04aU7Y.js → routes-v4IuPpFg.js} +4 -1
- package/dist/{shard-runner-D74J4Khk.cjs → shard-runner-Bn4JyeQC.cjs} +35 -10
- package/dist/{shard-runner-D07ILRPq.js → shard-runner-JAI_Tb4S.js} +35 -10
- package/dist/ssg/build-request.d.ts +4 -0
- package/dist/ssg/build-request.d.ts.map +1 -1
- package/dist/ssg/cli.cjs +2 -2
- package/dist/ssg/cli.mjs +2 -2
- package/dist/ssg/index.cjs +5 -2
- package/dist/ssg/index.d.ts +1 -1
- package/dist/ssg/index.d.ts.map +1 -1
- package/dist/ssg/index.mjs +17 -14
- package/dist/ssg/prerender.d.ts.map +1 -1
- package/dist/ssg/seo.d.ts +13 -0
- package/dist/ssg/seo.d.ts.map +1 -1
- package/dist/ssg/shard-runner.d.ts.map +1 -1
- package/dist/ssg/state-cache.d.ts.map +1 -1
- package/dist/vite-plugin.cjs +2 -2
- package/dist/vite-plugin.mjs +2 -2
- 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-
|
|
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,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-
|
|
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
|
}
|
package/dist/api/types.d.ts
CHANGED
package/dist/api/types.d.ts.map
CHANGED
|
@@ -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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"}
|
package/dist/data/useData.d.ts
CHANGED
|
@@ -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,
|
|
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-
|
|
4
|
-
const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-
|
|
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-
|
|
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-
|
|
3
|
-
import { _ as _2, P as P2, s as s2, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
917
|
-
|
|
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(`
|
|
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: (
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
894
|
-
|
|
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(`
|
|
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: (
|
|
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
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
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
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
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
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1192
|
+
generateNetlifyRedirects as q,
|
|
1193
|
+
generateRobotsTxt as r,
|
|
1194
|
+
splitSitemapPathsByLocale as s,
|
|
1195
|
+
getBloxBuildRequestOptions as t,
|
|
1103
1196
|
uploadBloxManifest as u,
|
|
1104
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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;
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
125
|
+
const { runSharded } = await import("../shard-runner-JAI_Tb4S.js");
|
|
126
126
|
const code = await runSharded({
|
|
127
127
|
shards: shardsOpt ?? "auto",
|
|
128
128
|
mode,
|
package/dist/ssg/index.cjs
CHANGED
|
@@ -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-
|
|
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-
|
|
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;
|
package/dist/ssg/index.d.ts
CHANGED
|
@@ -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';
|
package/dist/ssg/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/ssg/index.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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-
|
|
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
|
-
|
|
244
|
+
j as bloxBuildRequest,
|
|
245
245
|
buildJsonLd,
|
|
246
246
|
buildPageHead,
|
|
247
|
-
|
|
247
|
+
k as buildSiteHead,
|
|
248
248
|
createBloxSSREntry,
|
|
249
249
|
extractPageText,
|
|
250
|
-
|
|
250
|
+
m as fetchCmsPrerenderPaths,
|
|
251
251
|
f as fetchCmsSiteData,
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
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
|
-
|
|
258
|
+
t as getBloxBuildRequestOptions,
|
|
258
259
|
getCollectionCache,
|
|
259
260
|
getEmbeddedWebsiteId,
|
|
260
|
-
|
|
261
|
+
v as getSiteIconFlags,
|
|
261
262
|
installBloxStateCache,
|
|
262
263
|
installCollectionCache,
|
|
263
|
-
|
|
264
|
+
l as localeSitemapPath,
|
|
265
|
+
w as mergeLlmParts,
|
|
264
266
|
p as polyfillBloxSsgGlobals,
|
|
265
267
|
a as prerender,
|
|
266
268
|
renderBloxSsgPage,
|
|
267
|
-
|
|
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":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;
|
|
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;
|
package/dist/ssg/seo.d.ts.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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,
|
|
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"}
|
package/dist/vite-plugin.cjs
CHANGED
|
@@ -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 =
|
|
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 =
|
|
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
|
}
|
package/dist/vite-plugin.mjs
CHANGED
|
@@ -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 =
|
|
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 =
|
|
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.
|
|
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.
|
|
101
|
+
"@vitejs/plugin-vue": "^5.2.4",
|
|
114
102
|
"@vue/tsconfig": "^0.7.0",
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"vite": "^5.
|
|
118
|
-
"vite-
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
"vue": "^
|
|
122
|
-
"vue-
|
|
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": {
|