@bagelink/blox 1.20.1 → 1.20.4
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/{shard-runner-DPI12yYi.js → shard-runner-0mHNuOav.js} +2 -2
- package/dist/{shard-runner-nITsCO5r.cjs → shard-runner-DsFdfDLh.cjs} +2 -2
- package/dist/ssg/cli.cjs +2 -2
- package/dist/ssg/cli.mjs +2 -2
- package/dist/ssg/cms-routes.d.ts +7 -3
- package/dist/ssg/cms-routes.d.ts.map +1 -1
- package/dist/ssg/index.cjs +1 -1
- package/dist/ssg/index.d.ts +1 -1
- package/dist/ssg/index.d.ts.map +1 -1
- package/dist/ssg/index.mjs +2 -2
- package/dist/{validate-output-K-8pYmLz.cjs → validate-output-Bwp0ediG.cjs} +14 -10
- package/dist/{validate-output-UVCDNeUA.js → validate-output-CJhtHWFT.js} +14 -10
- package/package.json +3 -2
|
@@ -2,7 +2,7 @@ import { spawn } from "node:child_process";
|
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import process from "node:process";
|
|
5
|
-
import { f as fetchCmsSiteData, g as generateSitemapArtifacts, d as validateNoRedirectingLinks, i as isErrorPagePath } from "./validate-output-
|
|
5
|
+
import { f as fetchCmsSiteData, g as generateSitemapArtifacts, d as validateNoRedirectingLinks, i as isErrorPagePath } from "./validate-output-CJhtHWFT.js";
|
|
6
6
|
const AUTO_SHARD_CAP = Number(process.env.BLOX_SSG_SHARD_CAP) || 6;
|
|
7
7
|
const PREFETCH_BUDGET = Number(process.env.BLOX_SSG_PREFETCH_BUDGET) || 24;
|
|
8
8
|
const SEQUENTIAL_SHARDS = process.env.BLOX_SSG_SEQUENTIAL === "1";
|
|
@@ -145,7 +145,7 @@ async function runSharded(opts) {
|
|
|
145
145
|
}
|
|
146
146
|
if (process.env.BLOX_SSG_LLM !== "0" && !((_a = website == null ? void 0 : website.seo) == null ? void 0 : _a.noindex)) {
|
|
147
147
|
try {
|
|
148
|
-
const { mergeLlmParts } = await import("./validate-output-
|
|
148
|
+
const { mergeLlmParts } = await import("./validate-output-CJhtHWFT.js").then((n) => n.E);
|
|
149
149
|
const mergeWebsite = website;
|
|
150
150
|
const partFiles = Array.from({ length: total }, (_, i) => path.join(llmPartsDir, `part.${i}.json`));
|
|
151
151
|
const { pages } = await mergeLlmParts({
|
|
@@ -26,7 +26,7 @@ const node_child_process = require("node:child_process");
|
|
|
26
26
|
const os = require("node:os");
|
|
27
27
|
const path = require("node:path");
|
|
28
28
|
const process = require("node:process");
|
|
29
|
-
const llmArtifacts = require("./validate-output-
|
|
29
|
+
const llmArtifacts = require("./validate-output-Bwp0ediG.cjs");
|
|
30
30
|
const AUTO_SHARD_CAP = Number(process.env.BLOX_SSG_SHARD_CAP) || 6;
|
|
31
31
|
const PREFETCH_BUDGET = Number(process.env.BLOX_SSG_PREFETCH_BUDGET) || 24;
|
|
32
32
|
const SEQUENTIAL_SHARDS = process.env.BLOX_SSG_SEQUENTIAL === "1";
|
|
@@ -169,7 +169,7 @@ async function runSharded(opts) {
|
|
|
169
169
|
}
|
|
170
170
|
if (process.env.BLOX_SSG_LLM !== "0" && !((_a = website == null ? void 0 : website.seo) == null ? void 0 : _a.noindex)) {
|
|
171
171
|
try {
|
|
172
|
-
const { mergeLlmParts } = await Promise.resolve().then(() => require("./validate-output-
|
|
172
|
+
const { mergeLlmParts } = await Promise.resolve().then(() => require("./validate-output-Bwp0ediG.cjs")).then((n) => n.llmArtifacts);
|
|
173
173
|
const mergeWebsite = website;
|
|
174
174
|
const partFiles = Array.from({ length: total }, (_, i) => path.join(llmPartsDir, `part.${i}.json`));
|
|
175
175
|
const { pages } = await mergeLlmParts({
|
package/dist/ssg/cli.cjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const process = require("node:process");
|
|
4
4
|
const fs = require("node:fs/promises");
|
|
5
5
|
const ssg_buildGrant = require("./build-grant.cjs");
|
|
6
|
-
const llmArtifacts = require("../validate-output-
|
|
6
|
+
const llmArtifacts = require("../validate-output-Bwp0ediG.cjs");
|
|
7
7
|
const localeStrategy = require("../localeStrategy-OwRIn35C.cjs");
|
|
8
8
|
function installFetchTimeout() {
|
|
9
9
|
const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
|
|
@@ -157,7 +157,7 @@ Environment:
|
|
|
157
157
|
if (shardsOpt !== null || routesCmd) {
|
|
158
158
|
const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
|
|
159
159
|
const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
|
|
160
|
-
const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-
|
|
160
|
+
const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-DsFdfDLh.cjs"));
|
|
161
161
|
const code = await runSharded({
|
|
162
162
|
shards: shardsOpt ?? "auto",
|
|
163
163
|
mode,
|
package/dist/ssg/cli.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import process from "node:process";
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
import { resolveBloxBuildGrant } from "./build-grant.mjs";
|
|
5
|
-
import { v as validateSsgOutput, u as uploadBloxManifest, p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, b as buildCollectionResolver, a as prerender, c as validateInternalLinks, d as validateNoRedirectingLinks } from "../validate-output-
|
|
5
|
+
import { v as validateSsgOutput, u as uploadBloxManifest, p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, b as buildCollectionResolver, a as prerender, c as validateInternalLinks, d as validateNoRedirectingLinks } from "../validate-output-CJhtHWFT.js";
|
|
6
6
|
import { s as setPageSlugMap } from "../localeStrategy-hXlNof1E.js";
|
|
7
7
|
function installFetchTimeout() {
|
|
8
8
|
const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
|
|
@@ -156,7 +156,7 @@ Environment:
|
|
|
156
156
|
if (shardsOpt !== null || routesCmd) {
|
|
157
157
|
const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
|
|
158
158
|
const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
|
|
159
|
-
const { runSharded } = await import("../shard-runner-
|
|
159
|
+
const { runSharded } = await import("../shard-runner-0mHNuOav.js");
|
|
160
160
|
const code = await runSharded({
|
|
161
161
|
shards: shardsOpt ?? "auto",
|
|
162
162
|
mode,
|
package/dist/ssg/cms-routes.d.ts
CHANGED
|
@@ -6,6 +6,10 @@ export interface CollectionRef {
|
|
|
6
6
|
store: string;
|
|
7
7
|
collection: string;
|
|
8
8
|
}
|
|
9
|
+
/** JSON-safe collection → locale → rows. The empty locale is unqualified data. */
|
|
10
|
+
export type LocaleCollectionItems = Record<string, Record<string, Record<string, unknown>[]>>;
|
|
11
|
+
/** Old shard snapshots have no locale provenance; only unqualified reads may use them. */
|
|
12
|
+
export type CollectionItems = Record<string, Record<string, unknown>[] | Record<string, Record<string, unknown>[]>>;
|
|
9
13
|
export interface CmsSiteData {
|
|
10
14
|
websiteId: string;
|
|
11
15
|
website: WebsiteRead;
|
|
@@ -26,9 +30,9 @@ export interface CmsSiteData {
|
|
|
26
30
|
* Full datastore items per collection, bulk-loaded during route expansion.
|
|
27
31
|
* Lets the render resolve data-bound detail pages (and block list fetches)
|
|
28
32
|
* from memory instead of one network round-trip per page — the dominant
|
|
29
|
-
* cost on large sites. Keyed by collection name (JSON-serializable).
|
|
33
|
+
* cost on large sites. Keyed by collection name, then locale (JSON-serializable).
|
|
30
34
|
*/
|
|
31
|
-
collectionItems?:
|
|
35
|
+
collectionItems?: CollectionItems;
|
|
32
36
|
}
|
|
33
37
|
/**
|
|
34
38
|
* Expand a list of default-locale paths into every supported locale.
|
|
@@ -55,5 +59,5 @@ export type CollectionResolver = (collection: string, options: {
|
|
|
55
59
|
* or block manifest dependencies, so the caller can fall back to a live HTTP
|
|
56
60
|
* fetch instead of silently returning an empty list.
|
|
57
61
|
*/
|
|
58
|
-
export declare function buildCollectionResolver(collectionItems:
|
|
62
|
+
export declare function buildCollectionResolver(collectionItems: CollectionItems): CollectionResolver;
|
|
59
63
|
//# sourceMappingURL=cms-routes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms-routes.d.ts","sourceRoot":"","sources":["../../src/ssg/cms-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAqB9D,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,8EAA8E;IAC9E,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACnD,SAAS,EAAE,aAAa,EAAE,CAAA;IAC1B,iFAAiF;IACjF,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"cms-routes.d.ts","sourceRoot":"","sources":["../../src/ssg/cms-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAqB9D,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,kFAAkF;AAClF,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;AAE7F,0FAA0F;AAC1F,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;AAEnH,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,8EAA8E;IAC9E,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACnD,SAAS,EAAE,aAAa,EAAE,CAAA;IAC1B,iFAAiF;IACjF,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;CACjC;AAwCD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EAAE,GACxB,MAAM,EAAE,CASV;AAMD;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,uBAA4B,GAC1C,OAAO,CAAC,WAAW,CAAC,CAmMtB;AAwKD,MAAM,MAAM,kBAAkB,GAAG,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KACrE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACtC,eAAe,EAAE,eAAe,GAC9B,kBAAkB,CAkBpB"}
|
package/dist/ssg/index.cjs
CHANGED
|
@@ -22,7 +22,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
22
22
|
mod
|
|
23
23
|
));
|
|
24
24
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
25
|
-
const llmArtifacts = require("../validate-output-
|
|
25
|
+
const llmArtifacts = require("../validate-output-Bwp0ediG.cjs");
|
|
26
26
|
const ssg_buildGrant = require("./build-grant.cjs");
|
|
27
27
|
const ssg_client = require("../client-AoDTJJXJ.cjs");
|
|
28
28
|
const vue = require("vue");
|
package/dist/ssg/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { fetchCmsSiteData } from './cms-routes';
|
|
2
|
-
export type { CmsSiteData, CollectionRef } from './cms-routes';
|
|
2
|
+
export type { CmsSiteData, CollectionRef, CollectionItems, LocaleCollectionItems } from './cms-routes';
|
|
3
3
|
export { BloxBuildResponseError, bloxBuildJson, bloxBuildRequest, getBloxBuildRequestOptions } from './build-request';
|
|
4
4
|
export { parseBloxBuildGrantBody, resolveBloxBuildGrant } from './build-grant';
|
|
5
5
|
export type { BloxBuildGrant, ResolveBloxBuildGrantOptions } from './build-grant';
|
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,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ssg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACtG,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AACrH,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC9E,YAAY,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAA;AACjF,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D;;;;;;;;;;GAUG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,YAAY,EAAE,YAAY,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAClG,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC9F,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAA;AACxO,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACtF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACnH,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACjF,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC5E,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA"}
|
package/dist/ssg/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { e as buildPageHead, h as primaryContextEntry, j as buildJsonLd, k as extractPageText, B as BloxBuildResponseError, l as bloxBuildJson } from "../validate-output-
|
|
2
|
-
import { m, n, f, o, q, r, s, g, t, w, x, y, z, A, p, a, C, D, u, c, v } from "../validate-output-
|
|
1
|
+
import { e as buildPageHead, h as primaryContextEntry, j as buildJsonLd, k as extractPageText, B as BloxBuildResponseError, l as bloxBuildJson } from "../validate-output-CJhtHWFT.js";
|
|
2
|
+
import { m, n, f, o, q, r, s, g, t, w, x, y, z, A, p, a, C, D, u, c, v } from "../validate-output-CJhtHWFT.js";
|
|
3
3
|
import { parseBloxBuildGrantBody, resolveBloxBuildGrant } from "./build-grant.mjs";
|
|
4
4
|
import { a as BLOX_HYDRATION_WINDOW_KEY } from "../client-Ce9fRCGH.js";
|
|
5
5
|
import { createSSRApp, h, Suspense } from "vue";
|
|
@@ -145,14 +145,14 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
|
145
145
|
};
|
|
146
146
|
}));
|
|
147
147
|
const manifestCollections = baseBundle.collections ?? [];
|
|
148
|
-
await preloadCollections(
|
|
148
|
+
await Promise.all(supportedLocales2.map((locale) => preloadCollections(
|
|
149
149
|
apiBase,
|
|
150
150
|
websiteId,
|
|
151
151
|
manifestCollections,
|
|
152
|
-
|
|
152
|
+
locale,
|
|
153
153
|
requestOptions,
|
|
154
154
|
collectionItems
|
|
155
|
-
);
|
|
155
|
+
)));
|
|
156
156
|
const paths2 = [...new Set(localizedBundles.flatMap((result) => result.paths))];
|
|
157
157
|
const pathSet2 = new Set(paths2);
|
|
158
158
|
const defaultPages2 = ((_c = localizedBundles.find((result) => result.locale === defaultLocale2)) == null ? void 0 : _c.bundle.pages) ?? [];
|
|
@@ -259,6 +259,7 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
|
259
259
|
};
|
|
260
260
|
}
|
|
261
261
|
async function expandRoutes(apiBase, pages, requestOptions, locale, collectItems) {
|
|
262
|
+
var _a;
|
|
262
263
|
const routes = [];
|
|
263
264
|
const grantedWebsiteId = requestOptions.websiteId;
|
|
264
265
|
for (const page of pages) {
|
|
@@ -287,8 +288,9 @@ async function expandRoutes(apiBase, pages, requestOptions, locale, collectItems
|
|
|
287
288
|
if (pageItems.length < pageSize) break;
|
|
288
289
|
}
|
|
289
290
|
if (collectItems && b.collection) {
|
|
290
|
-
const
|
|
291
|
-
|
|
291
|
+
const localized = collectItems[_a = b.collection] ?? (collectItems[_a] = {});
|
|
292
|
+
const existing = localized[locale ?? ""] ?? [];
|
|
293
|
+
localized[locale ?? ""] = [...existing, ...items];
|
|
292
294
|
}
|
|
293
295
|
for (const item of items) {
|
|
294
296
|
const bindValue = item[b.bind_by];
|
|
@@ -321,7 +323,8 @@ function mergeCollectionRefs(...groups) {
|
|
|
321
323
|
async function preloadCollections(apiBase, websiteId, refs, locale, requestOptions, collectItems) {
|
|
322
324
|
const pageSize = 1e3;
|
|
323
325
|
await Promise.all(refs.map(async (ref) => {
|
|
324
|
-
|
|
326
|
+
var _a, _b;
|
|
327
|
+
if ((_a = collectItems[ref.collection]) == null ? void 0 : _a[locale]) return;
|
|
325
328
|
const items = [];
|
|
326
329
|
for (let offset = 0; ; offset += pageSize) {
|
|
327
330
|
const response = await bloxBuildJson(
|
|
@@ -335,7 +338,7 @@ async function preloadCollections(apiBase, websiteId, refs, locale, requestOptio
|
|
|
335
338
|
items.push(...response.items);
|
|
336
339
|
if (response.items.length < pageSize) break;
|
|
337
340
|
}
|
|
338
|
-
collectItems[ref.collection] = items;
|
|
341
|
+
(collectItems[_b = ref.collection] ?? (collectItems[_b] = {}))[locale] = items;
|
|
339
342
|
}));
|
|
340
343
|
}
|
|
341
344
|
function extractCollectionRefs(pages) {
|
|
@@ -357,9 +360,10 @@ function extractCollectionRefs(pages) {
|
|
|
357
360
|
return refs;
|
|
358
361
|
}
|
|
359
362
|
function buildCollectionResolver(collectionItems) {
|
|
360
|
-
return async (collection, { q, offset = 0, limit = 100 } = {}) => {
|
|
361
|
-
|
|
362
|
-
let items =
|
|
363
|
+
return async (collection, { locale, q, offset = 0, limit = 100 } = {}) => {
|
|
364
|
+
const cached = collectionItems[collection];
|
|
365
|
+
let items = Array.isArray(cached) ? locale ? void 0 : cached : cached == null ? void 0 : cached[locale ?? ""];
|
|
366
|
+
if (!items) return null;
|
|
363
367
|
if (q) {
|
|
364
368
|
const match = /^\s*(\w+)\s+eq\s+"([^"]*)"\s*$/.exec(q);
|
|
365
369
|
if (match) {
|
|
@@ -122,14 +122,14 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
|
122
122
|
};
|
|
123
123
|
}));
|
|
124
124
|
const manifestCollections = baseBundle.collections ?? [];
|
|
125
|
-
await preloadCollections(
|
|
125
|
+
await Promise.all(supportedLocales2.map((locale) => preloadCollections(
|
|
126
126
|
apiBase,
|
|
127
127
|
websiteId,
|
|
128
128
|
manifestCollections,
|
|
129
|
-
|
|
129
|
+
locale,
|
|
130
130
|
requestOptions,
|
|
131
131
|
collectionItems
|
|
132
|
-
);
|
|
132
|
+
)));
|
|
133
133
|
const paths2 = [...new Set(localizedBundles.flatMap((result) => result.paths))];
|
|
134
134
|
const pathSet2 = new Set(paths2);
|
|
135
135
|
const defaultPages2 = ((_c = localizedBundles.find((result) => result.locale === defaultLocale2)) == null ? void 0 : _c.bundle.pages) ?? [];
|
|
@@ -236,6 +236,7 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
|
236
236
|
};
|
|
237
237
|
}
|
|
238
238
|
async function expandRoutes(apiBase, pages, requestOptions, locale, collectItems) {
|
|
239
|
+
var _a;
|
|
239
240
|
const routes = [];
|
|
240
241
|
const grantedWebsiteId = requestOptions.websiteId;
|
|
241
242
|
for (const page of pages) {
|
|
@@ -264,8 +265,9 @@ async function expandRoutes(apiBase, pages, requestOptions, locale, collectItems
|
|
|
264
265
|
if (pageItems.length < pageSize) break;
|
|
265
266
|
}
|
|
266
267
|
if (collectItems && b.collection) {
|
|
267
|
-
const
|
|
268
|
-
|
|
268
|
+
const localized = collectItems[_a = b.collection] ?? (collectItems[_a] = {});
|
|
269
|
+
const existing = localized[locale ?? ""] ?? [];
|
|
270
|
+
localized[locale ?? ""] = [...existing, ...items];
|
|
269
271
|
}
|
|
270
272
|
for (const item of items) {
|
|
271
273
|
const bindValue = item[b.bind_by];
|
|
@@ -298,7 +300,8 @@ function mergeCollectionRefs(...groups) {
|
|
|
298
300
|
async function preloadCollections(apiBase, websiteId, refs, locale, requestOptions, collectItems) {
|
|
299
301
|
const pageSize = 1e3;
|
|
300
302
|
await Promise.all(refs.map(async (ref) => {
|
|
301
|
-
|
|
303
|
+
var _a, _b;
|
|
304
|
+
if ((_a = collectItems[ref.collection]) == null ? void 0 : _a[locale]) return;
|
|
302
305
|
const items = [];
|
|
303
306
|
for (let offset = 0; ; offset += pageSize) {
|
|
304
307
|
const response = await bloxBuildJson(
|
|
@@ -312,7 +315,7 @@ async function preloadCollections(apiBase, websiteId, refs, locale, requestOptio
|
|
|
312
315
|
items.push(...response.items);
|
|
313
316
|
if (response.items.length < pageSize) break;
|
|
314
317
|
}
|
|
315
|
-
collectItems[ref.collection] = items;
|
|
318
|
+
(collectItems[_b = ref.collection] ?? (collectItems[_b] = {}))[locale] = items;
|
|
316
319
|
}));
|
|
317
320
|
}
|
|
318
321
|
function extractCollectionRefs(pages) {
|
|
@@ -334,9 +337,10 @@ function extractCollectionRefs(pages) {
|
|
|
334
337
|
return refs;
|
|
335
338
|
}
|
|
336
339
|
function buildCollectionResolver(collectionItems) {
|
|
337
|
-
return async (collection, { q, offset = 0, limit = 100 } = {}) => {
|
|
338
|
-
|
|
339
|
-
let items =
|
|
340
|
+
return async (collection, { locale, q, offset = 0, limit = 100 } = {}) => {
|
|
341
|
+
const cached = collectionItems[collection];
|
|
342
|
+
let items = Array.isArray(cached) ? locale ? void 0 : cached : cached == null ? void 0 : cached[locale ?? ""];
|
|
343
|
+
if (!items) return null;
|
|
340
344
|
if (q) {
|
|
341
345
|
const match = /^\s*(\w+)\s+eq\s+"([^"]*)"\s*$/.exec(q);
|
|
342
346
|
if (match) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bagelink/blox",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.20.
|
|
4
|
+
"version": "1.20.4",
|
|
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",
|
|
@@ -111,7 +111,8 @@
|
|
|
111
111
|
"vitest": "^3.2.7",
|
|
112
112
|
"vue": "^3.5.43",
|
|
113
113
|
"vue-router": "^4.6.4",
|
|
114
|
-
"vue-tsc": "^2.2.12"
|
|
114
|
+
"vue-tsc": "^2.2.12",
|
|
115
|
+
"@bagelink/sdk": "1.20.3"
|
|
115
116
|
},
|
|
116
117
|
"dependencies": {
|
|
117
118
|
"magic-string": "^0.30.21",
|