@bagelink/blox 1.18.9 → 1.18.10

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 (26) hide show
  1. package/LICENSE +21 -0
  2. package/dist/{PreviewApp-DJ-zFK64.cjs → PreviewApp-B9zGzNoj.cjs} +1 -1
  3. package/dist/{PreviewApp-Eu1N9XYe.js → PreviewApp-DNvYww-1.js} +1 -1
  4. package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-BF52PPjt.cjs → PreviewApp.vue_vue_type_style_index_0_lang-BY4OFOi6.cjs} +1 -1
  5. package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-zkP_L9cF.js → PreviewApp.vue_vue_type_style_index_0_lang-B_1HZLks.js} +1 -1
  6. package/dist/api/index.d.ts +1 -2
  7. package/dist/api/index.d.ts.map +1 -1
  8. package/dist/{appRuntime-DQRKuyja.cjs → appRuntime-7hLqxk2p.cjs} +2 -2
  9. package/dist/{appRuntime-Cmns1A7C.js → appRuntime-DbIMo4Ow.js} +2 -2
  10. package/dist/{index-I81QTzv-.js → index-9Rzzo_yF.js} +4 -3
  11. package/dist/{index-DUjEj7ts.cjs → index-De9SLPcI.cjs} +4 -3
  12. package/dist/index.cjs +3 -3
  13. package/dist/index.mjs +5 -5
  14. package/dist/{shard-runner-D1dDFt2v.js → shard-runner-CMBTsNS8.js} +2 -2
  15. package/dist/{shard-runner-BJ9PEpxo.cjs → shard-runner-vKgYfLjY.cjs} +2 -2
  16. package/dist/ssg/cli.cjs +6 -6
  17. package/dist/ssg/cli.mjs +6 -6
  18. package/dist/ssg/createSSREntry.d.ts +5 -1
  19. package/dist/ssg/createSSREntry.d.ts.map +1 -1
  20. package/dist/ssg/index.cjs +10 -6
  21. package/dist/ssg/index.mjs +11 -7
  22. package/dist/ssg/prerender.d.ts +4 -1
  23. package/dist/ssg/prerender.d.ts.map +1 -1
  24. package/dist/{validate-output-C48vY_9-.cjs → validate-output-lWCssQLz.cjs} +8 -6
  25. package/dist/{validate-output-B0ZK_S-l.js → validate-output-vq09gBSr.js} +8 -6
  26. package/package.json +124 -125
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Bagel Studio
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -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-BF52PPjt.cjs");
3
+ const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-BY4OFOi6.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-zkP_L9cF.js";
1
+ import { _ as _sfc_main } from "./PreviewApp.vue_vue_type_style_index_0_lang-B_1HZLks.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 appRuntime = require("./appRuntime-DQRKuyja.cjs");
3
+ const appRuntime = require("./appRuntime-7hLqxk2p.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 { e as BLOX_REGISTRY_KEY, r as resolveBlockProps, u as useLocale, f as BLOX_RUNTIME_KEY } from "./appRuntime-Cmns1A7C.js";
2
+ import { e as BLOX_REGISTRY_KEY, r as resolveBlockProps, u as useLocale, f as BLOX_RUNTIME_KEY } from "./appRuntime-DbIMo4Ow.js";
3
3
  function sendToEditor(msg) {
4
4
  window.parent.postMessage(cloneForPostMessage(msg), "*");
5
5
  }
@@ -1,6 +1,6 @@
1
1
  import { CollectionItemsPage, PageResolveRead } from './types';
2
2
  import { App, InjectionKey } from 'vue';
3
- type CollectionResolver = (collection: string, options: ListItemsOptions) => Promise<Array<Record<string, unknown>> | null>;
3
+ export type CollectionResolver = (collection: string, options: ListItemsOptions) => Promise<Array<Record<string, unknown>> | null>;
4
4
  export interface BloxApiOptions {
5
5
  websiteName: string;
6
6
  store: string;
@@ -64,5 +64,4 @@ export declare function getItemById<T = Record<string, unknown>>(collection: str
64
64
  export declare function listItemsFromActiveApi<T = Record<string, unknown>>(collection: string, options?: ListItemsOptions): Promise<CollectionItemsPage & {
65
65
  items: T[];
66
66
  }>;
67
- export {};
68
67
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
5
  const pinia = require("pinia");
6
6
  const vue = require("vue");
7
- const index = require("./index-DUjEj7ts.cjs");
7
+ const index = require("./index-De9SLPcI.cjs");
8
8
  const vueRouter = require("vue-router");
9
9
  const vue$1 = require("@bagelink/vue");
10
10
  const localeStrategy = require("./localeStrategy-OwRIn35C.cjs");
@@ -810,7 +810,7 @@ class BloxInstance {
810
810
  router.addRoute({
811
811
  path: "/_blox_preview",
812
812
  name: BLOX_PREVIEW_ROUTE_NAME,
813
- component: () => Promise.resolve().then(() => require("./PreviewApp-DJ-zFK64.cjs")),
813
+ component: () => Promise.resolve().then(() => require("./PreviewApp-B9zGzNoj.cjs")),
814
814
  beforeEnter: () => typeof window === "undefined" || window.parent !== window ? true : "/"
815
815
  });
816
816
  }
@@ -3,7 +3,7 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { createPinia } from "pinia";
5
5
  import { inject, computed, ref, defineComponent, onMounted, unref, openBlock, createElementBlock, createElementVNode, createCommentVNode, getCurrentInstance, h, provide, watch, resolveComponent, toDisplayString, createVNode, withCtx, createTextVNode, Fragment, createBlock, shallowRef, onServerPrefetch, toValue, markRaw, resolveDynamicComponent } from "vue";
6
- import { useBloxApi, getWebsiteIdSync, getWebsiteId, resolvePath, configureApi, listItemsFromActiveApi, getItemBySlug, getItemById } from "./index-I81QTzv-.js";
6
+ import { useBloxApi, getWebsiteIdSync, getWebsiteId, resolvePath, configureApi, listItemsFromActiveApi, getItemBySlug, getItemById } from "./index-9Rzzo_yF.js";
7
7
  import { useRoute, useRouter } from "vue-router";
8
8
  import { getI18n } from "@bagelink/vue";
9
9
  import { r as resolvePageTitle, b as siteNameFromContexts, d as preserveCurrentSiteSuffix, e as createLocaleStrategy } from "./localeStrategy-hXlNof1E.js";
@@ -809,7 +809,7 @@ class BloxInstance {
809
809
  router.addRoute({
810
810
  path: "/_blox_preview",
811
811
  name: BLOX_PREVIEW_ROUTE_NAME,
812
- component: () => import("./PreviewApp-Eu1N9XYe.js"),
812
+ component: () => import("./PreviewApp-DNvYww-1.js"),
813
813
  beforeEnter: () => typeof window === "undefined" || window.parent !== window ? true : "/"
814
814
  });
815
815
  }
@@ -76,7 +76,7 @@ function createBloxApi(options) {
76
76
  }
77
77
  }
78
78
  async function listItems2(collection, { locale, q, offset = 0, limit = 100 } = {}) {
79
- const resolver = options.collectionResolver ?? _collectionResolver;
79
+ const resolver = options.collectionResolver ?? getCollectionResolver();
80
80
  if (resolver) {
81
81
  const resolved = await resolver(collection, {
82
82
  locale,
@@ -175,8 +175,9 @@ async function resolvePath(path, locale) {
175
175
  });
176
176
  }
177
177
  async function listItems(collection, { locale, q, offset = 0, limit = 100 } = {}) {
178
- if (_collectionResolver) {
179
- return await _collectionResolver(collection, { locale, q, offset, limit });
178
+ const resolver = getCollectionResolver();
179
+ if (resolver) {
180
+ return await resolver(collection, { locale, q, offset, limit });
180
181
  }
181
182
  return request(`/datastore/${_store}/collections/${collection}`, {
182
183
  locale,
@@ -78,7 +78,7 @@ function createBloxApi(options) {
78
78
  }
79
79
  }
80
80
  async function listItems2(collection, { locale, q, offset = 0, limit = 100 } = {}) {
81
- const resolver = options.collectionResolver ?? _collectionResolver;
81
+ const resolver = options.collectionResolver ?? getCollectionResolver();
82
82
  if (resolver) {
83
83
  const resolved = await resolver(collection, {
84
84
  locale,
@@ -177,8 +177,9 @@ async function resolvePath(path, locale) {
177
177
  });
178
178
  }
179
179
  async function listItems(collection, { locale, q, offset = 0, limit = 100 } = {}) {
180
- if (_collectionResolver) {
181
- return await _collectionResolver(collection, { locale, q, offset, limit });
180
+ const resolver = getCollectionResolver();
181
+ if (resolver) {
182
+ return await resolver(collection, { locale, q, offset, limit });
182
183
  }
183
184
  return request(`/datastore/${_store}/collections/${collection}`, {
184
185
  locale,
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index-DUjEj7ts.cjs");
4
- const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-BF52PPjt.cjs");
5
- const appRuntime = require("./appRuntime-DQRKuyja.cjs");
3
+ const index = require("./index-De9SLPcI.cjs");
4
+ const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-BY4OFOi6.cjs");
5
+ const appRuntime = require("./appRuntime-7hLqxk2p.cjs");
6
6
  const vue = require("vue");
7
7
  const ssg_client = require("./client-AoDTJJXJ.cjs");
8
8
  const vueRouter = require("vue-router");
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
- import { useBloxApi, getItemBySlug, getItemById, provideBloxApi } from "./index-I81QTzv-.js";
2
- import { configureApi, createBloxApi, getCollectionResolver, getWebsiteId, getWebsiteIdSync, listItems, resolvePath, setApiOrigin, setCollectionResolver } from "./index-I81QTzv-.js";
3
- import { _, P, s, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-zkP_L9cF.js";
4
- import { g as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, f as BLOX_RUNTIME_KEY, h as useSeo, j as getRegistryData, k as getContentRoute, p as provideBloxData, b as provideBloxLocale, i as installBloxRuntime, d as setActiveLocale, l as isMissingPageDocument, m as installSmartLinks, o as BLOX_CMS_ROUTE_NAME, q as BLOX_PREVIEW_ROUTE_NAME } from "./appRuntime-Cmns1A7C.js";
5
- import { _ as _2, t, v, w, x, y, z, A, C, P as P2, D, E, c, a as a2, F, G, H, I, J, K, L, M, N, O, Q, R, r, s as s2, S, T, U, V } from "./appRuntime-Cmns1A7C.js";
1
+ import { useBloxApi, getItemBySlug, getItemById, provideBloxApi } from "./index-9Rzzo_yF.js";
2
+ import { configureApi, createBloxApi, getCollectionResolver, getWebsiteId, getWebsiteIdSync, listItems, resolvePath, setApiOrigin, setCollectionResolver } from "./index-9Rzzo_yF.js";
3
+ import { _, P, s, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-B_1HZLks.js";
4
+ import { g as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, f as BLOX_RUNTIME_KEY, h as useSeo, j as getRegistryData, k as getContentRoute, p as provideBloxData, b as provideBloxLocale, i as installBloxRuntime, d as setActiveLocale, l as isMissingPageDocument, m as installSmartLinks, o as BLOX_CMS_ROUTE_NAME, q as BLOX_PREVIEW_ROUTE_NAME } from "./appRuntime-DbIMo4Ow.js";
5
+ import { _ as _2, t, v, w, x, y, z, A, C, P as P2, D, E, c, a as a2, F, G, H, I, J, K, L, M, N, O, Q, R, r, s as s2, S, T, U, V } from "./appRuntime-DbIMo4Ow.js";
6
6
  import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, Transition, resolveDynamicComponent, inject, ref, watch, onMounted, onUnmounted, computed, onServerPrefetch, toValue, h, Suspense, createSSRApp, createApp } from "vue";
7
7
  import { r as readBloxHydration } from "./client-Ce9fRCGH.js";
8
8
  import { useRouter, useRoute } from "vue-router";
@@ -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-B0ZK_S-l.js";
5
+ import { f as fetchCmsSiteData, g as generateSitemapArtifacts, d as validateNoRedirectingLinks, i as isErrorPagePath } from "./validate-output-vq09gBSr.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-B0ZK_S-l.js").then((n) => n.E);
148
+ const { mergeLlmParts } = await import("./validate-output-vq09gBSr.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-C48vY_9-.cjs");
29
+ const llmArtifacts = require("./validate-output-lWCssQLz.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-C48vY_9-.cjs")).then((n) => n.llmArtifacts);
172
+ const { mergeLlmParts } = await Promise.resolve().then(() => require("./validate-output-lWCssQLz.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-C48vY_9-.cjs");
6
+ const llmArtifacts = require("../validate-output-lWCssQLz.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;
@@ -148,7 +148,7 @@ Environment:
148
148
  if (shardsOpt !== null || routesCmd) {
149
149
  const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
150
150
  const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
151
- const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-BJ9PEpxo.cjs"));
151
+ const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-vKgYfLjY.cjs"));
152
152
  const code = await runSharded({
153
153
  shards: shardsOpt ?? "auto",
154
154
  mode,
@@ -174,7 +174,7 @@ Environment:
174
174
  }
175
175
  const { apiBase, websiteName: configWebsiteName } = await resolveApiBase(mode);
176
176
  await llmArtifacts.polyfillBloxSsgGlobals({ pageUrl: apiBase });
177
- const { setCollectionResolver } = await Promise.resolve().then(() => require("../index-DUjEj7ts.cjs"));
177
+ const { setCollectionResolver } = await Promise.resolve().then(() => require("../index-De9SLPcI.cjs"));
178
178
  const websiteName = process.env.WEBSITE_NAME ?? configWebsiteName ?? "default";
179
179
  console.log(siteDataFile ? `Loading cached site routes (mode: ${mode}, site: ${websiteName})…` : `Fetching routes from ${apiBase} (mode: ${mode}, site: ${websiteName})…`);
180
180
  let paths = [];
@@ -206,9 +206,8 @@ Environment:
206
206
  if (productionBuild) throw err;
207
207
  paths = ["/"];
208
208
  }
209
- if (collectionItems && Object.keys(collectionItems).length > 0) {
210
- setCollectionResolver(llmArtifacts.buildCollectionResolver(collectionItems));
211
- }
209
+ const collectionResolver = collectionItems && Object.keys(collectionItems).length > 0 ? llmArtifacts.buildCollectionResolver(collectionItems) : null;
210
+ setCollectionResolver(collectionResolver);
212
211
  for (const p of extraPaths) {
213
212
  if (!paths.includes(p)) paths.push(p);
214
213
  }
@@ -251,6 +250,7 @@ Environment:
251
250
  website,
252
251
  websiteId,
253
252
  redirects,
253
+ collectionResolver,
254
254
  // Canonical localized page paths, injected into each document's
255
255
  // hydration payload so client-side links resolve without a redirect.
256
256
  pageSlugMap,
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-B0ZK_S-l.js";
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-vq09gBSr.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;
@@ -147,7 +147,7 @@ Environment:
147
147
  if (shardsOpt !== null || routesCmd) {
148
148
  const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
149
149
  const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
150
- const { runSharded } = await import("../shard-runner-D1dDFt2v.js");
150
+ const { runSharded } = await import("../shard-runner-CMBTsNS8.js");
151
151
  const code = await runSharded({
152
152
  shards: shardsOpt ?? "auto",
153
153
  mode,
@@ -173,7 +173,7 @@ Environment:
173
173
  }
174
174
  const { apiBase, websiteName: configWebsiteName } = await resolveApiBase(mode);
175
175
  await polyfillBloxSsgGlobals({ pageUrl: apiBase });
176
- const { setCollectionResolver } = await import("../index-I81QTzv-.js");
176
+ const { setCollectionResolver } = await import("../index-9Rzzo_yF.js");
177
177
  const websiteName = process.env.WEBSITE_NAME ?? configWebsiteName ?? "default";
178
178
  console.log(siteDataFile ? `Loading cached site routes (mode: ${mode}, site: ${websiteName})…` : `Fetching routes from ${apiBase} (mode: ${mode}, site: ${websiteName})…`);
179
179
  let paths = [];
@@ -205,9 +205,8 @@ Environment:
205
205
  if (productionBuild) throw err;
206
206
  paths = ["/"];
207
207
  }
208
- if (collectionItems && Object.keys(collectionItems).length > 0) {
209
- setCollectionResolver(buildCollectionResolver(collectionItems));
210
- }
208
+ const collectionResolver = collectionItems && Object.keys(collectionItems).length > 0 ? buildCollectionResolver(collectionItems) : null;
209
+ setCollectionResolver(collectionResolver);
211
210
  for (const p of extraPaths) {
212
211
  if (!paths.includes(p)) paths.push(p);
213
212
  }
@@ -250,6 +249,7 @@ Environment:
250
249
  website,
251
250
  websiteId,
252
251
  redirects,
252
+ collectionResolver,
253
253
  // Canonical localized page paths, injected into each document's
254
254
  // hydration payload so client-side links resolve without a redirect.
255
255
  pageSlugMap,
@@ -3,7 +3,7 @@ import { Router } from 'vue-router';
3
3
  import { BlockModule } from '../defineBlock';
4
4
  import { RenderContext, RenderResult } from './prerender';
5
5
  import { BloxBuildRequestOptions } from './build-request';
6
- import { ListItemsOptions } from '../api';
6
+ import { CollectionResolver, ListItemsOptions } from '../api';
7
7
  export interface CreateBloxSSREntryOptions {
8
8
  /** Root Vue component (App.vue). */
9
9
  rootComponent: Component;
@@ -54,6 +54,10 @@ export interface BloxSSREntry {
54
54
  render: (url: string, ctx: RenderContext) => Promise<RenderResult>;
55
55
  /** Resolve a URL's page data without rendering (for batched prefetch). */
56
56
  prefetchResolve?: (url: string) => Promise<unknown>;
57
+ /** Install immutable collection data explicitly for this build process. */
58
+ configureBuildData?: (data: {
59
+ collectionResolver?: CollectionResolver | null;
60
+ }) => void;
57
61
  }
58
62
  interface PublishedPage {
59
63
  slug?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"createSSREntry.d.ts","sourceRoot":"","sources":["../../src/ssg/createSSREntry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createSSREntry.d.ts","sourceRoot":"","sources":["../../src/ssg/createSSREntry.ts"],"names":[],"mappings":"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"}
@@ -22,13 +22,13 @@ 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-C48vY_9-.cjs");
25
+ const llmArtifacts = require("../validate-output-lWCssQLz.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");
29
- const appRuntime = require("../appRuntime-DQRKuyja.cjs");
29
+ const appRuntime = require("../appRuntime-7hLqxk2p.cjs");
30
30
  const localeStrategy = require("../localeStrategy-OwRIn35C.cjs");
31
- const index = require("../index-DUjEj7ts.cjs");
31
+ const index = require("../index-De9SLPcI.cjs");
32
32
  async function renderBloxSsgPage(options) {
33
33
  var _a, _b, _c, _d, _e;
34
34
  const {
@@ -229,7 +229,11 @@ function createBloxSSREntry(options) {
229
229
  } = options;
230
230
  const apiBase = options.apiBase ?? (typeof process !== "undefined" ? (_a = process.env) == null ? void 0 : _a.BAGELINK_API_URL : void 0) ?? "https://api.bagel.to";
231
231
  let websiteIdCache = null;
232
+ let buildCollectionResolver = options.collectionResolver ?? null;
232
233
  const publishedBundleCache = /* @__PURE__ */ new Map();
234
+ function configureBuildData(data) {
235
+ buildCollectionResolver = data.collectionResolver ?? null;
236
+ }
233
237
  async function getWebsiteId() {
234
238
  var _a2, _b, _c;
235
239
  if (websiteIdCache) return websiteIdCache;
@@ -272,7 +276,7 @@ function createBloxSSREntry(options) {
272
276
  publishedBundleCache.set(cacheKey, pending);
273
277
  }
274
278
  const bundle = await pending;
275
- const activeResolver = options.collectionResolver ?? index.getCollectionResolver() ?? void 0;
279
+ const activeResolver = buildCollectionResolver ?? index.getCollectionResolver() ?? void 0;
276
280
  const resolved = await resolvePublishedPage(
277
281
  bundle.pages,
278
282
  slug,
@@ -313,7 +317,7 @@ function createBloxSSREntry(options) {
313
317
  websiteName,
314
318
  store,
315
319
  origin: apiBase,
316
- collectionResolver: options.collectionResolver ?? index.getCollectionResolver()
320
+ collectionResolver: buildCollectionResolver ?? index.getCollectionResolver()
317
321
  });
318
322
  const localeState = appRuntime.provideBloxLocale(app, pageLocale);
319
323
  app.provide(appRuntime.BLOX_SSR_ROUTE_STATE_KEY, {
@@ -369,7 +373,7 @@ function createBloxSSREntry(options) {
369
373
  const { locale: pageLocale, slug } = detectLocale(url);
370
374
  return resolveForBuild(slug, pageLocale);
371
375
  }
372
- return { render, prefetchResolve };
376
+ return { render, prefetchResolve, configureBuildData };
373
377
  }
374
378
  async function fetchDatastoreSnapshot(options) {
375
379
  var _a;
@@ -1,11 +1,11 @@
1
- import { e as buildPageHead, h as primaryContextEntry, j as buildJsonLd, k as extractPageText, B as BloxBuildResponseError, l as bloxBuildJson } from "../validate-output-B0ZK_S-l.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-B0ZK_S-l.js";
1
+ import { e as buildPageHead, h as primaryContextEntry, j as buildJsonLd, k as extractPageText, B as BloxBuildResponseError, l as bloxBuildJson } from "../validate-output-vq09gBSr.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-vq09gBSr.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";
6
- import { c as collectBloxData, a as collectBloxSeo, s as setSsrPageLocale, p as provideBloxData, b as provideBloxLocale, B as BLOX_SSR_ROUTE_STATE_KEY, i as installBloxRuntime, d as setActiveLocale } from "../appRuntime-Cmns1A7C.js";
6
+ import { c as collectBloxData, a as collectBloxSeo, s as setSsrPageLocale, p as provideBloxData, b as provideBloxLocale, B as BLOX_SSR_ROUTE_STATE_KEY, i as installBloxRuntime, d as setActiveLocale } from "../appRuntime-DbIMo4Ow.js";
7
7
  import { s as setPageSlugMap } from "../localeStrategy-hXlNof1E.js";
8
- import { provideBloxApi, getCollectionResolver } from "../index-I81QTzv-.js";
8
+ import { provideBloxApi, getCollectionResolver } from "../index-9Rzzo_yF.js";
9
9
  async function renderBloxSsgPage(options) {
10
10
  var _a, _b, _c, _d, _e;
11
11
  const {
@@ -206,7 +206,11 @@ function createBloxSSREntry(options) {
206
206
  } = options;
207
207
  const apiBase = options.apiBase ?? (typeof process !== "undefined" ? (_a = process.env) == null ? void 0 : _a.BAGELINK_API_URL : void 0) ?? "https://api.bagel.to";
208
208
  let websiteIdCache = null;
209
+ let buildCollectionResolver = options.collectionResolver ?? null;
209
210
  const publishedBundleCache = /* @__PURE__ */ new Map();
211
+ function configureBuildData(data) {
212
+ buildCollectionResolver = data.collectionResolver ?? null;
213
+ }
210
214
  async function getWebsiteId() {
211
215
  var _a2, _b, _c;
212
216
  if (websiteIdCache) return websiteIdCache;
@@ -249,7 +253,7 @@ function createBloxSSREntry(options) {
249
253
  publishedBundleCache.set(cacheKey, pending);
250
254
  }
251
255
  const bundle = await pending;
252
- const activeResolver = options.collectionResolver ?? getCollectionResolver() ?? void 0;
256
+ const activeResolver = buildCollectionResolver ?? getCollectionResolver() ?? void 0;
253
257
  const resolved = await resolvePublishedPage(
254
258
  bundle.pages,
255
259
  slug,
@@ -290,7 +294,7 @@ function createBloxSSREntry(options) {
290
294
  websiteName,
291
295
  store,
292
296
  origin: apiBase,
293
- collectionResolver: options.collectionResolver ?? getCollectionResolver()
297
+ collectionResolver: buildCollectionResolver ?? getCollectionResolver()
294
298
  });
295
299
  const localeState = provideBloxLocale(app, pageLocale);
296
300
  app.provide(BLOX_SSR_ROUTE_STATE_KEY, {
@@ -346,7 +350,7 @@ function createBloxSSREntry(options) {
346
350
  const { locale: pageLocale, slug } = detectLocale(url);
347
351
  return resolveForBuild(slug, pageLocale);
348
352
  }
349
- return { render, prefetchResolve };
353
+ return { render, prefetchResolve, configureBuildData };
350
354
  }
351
355
  async function fetchDatastoreSnapshot(options) {
352
356
  var _a;
@@ -1,6 +1,7 @@
1
1
  import { WebsiteRead } from '../api/types';
2
2
  import { RedirectEntry } from './seo';
3
3
  import { LlmArtifactsConfig, LlmPageEntry } from './llm-artifacts';
4
+ import { CollectionResolver } from '../api';
4
5
  type ExcludeRule = string | RegExp | ((path: string) => boolean);
5
6
  export interface PrerenderOptions {
6
7
  root?: string;
@@ -36,6 +37,8 @@ export interface PrerenderOptions {
36
37
  redirects?: RedirectEntry[];
37
38
  /** Canonical localized page paths, embedded in each document's hydration payload. */
38
39
  pageSlugMap?: Record<string, Record<string, string>>;
40
+ /** Immutable build collection source installed into the imported SSR entry. */
41
+ collectionResolver?: CollectionResolver | null;
39
42
  /** LLM artifacts config (llms.txt, llms-full.txt, per-page JSON-LD). */
40
43
  llm?: LlmArtifactsConfig;
41
44
  }
@@ -104,7 +107,7 @@ export declare function prerender({ root, clientOutDir, serverEntry, paths, craw
104
107
  * sharded runner divides a global budget by the shard count. 0 disables
105
108
  * prefetch (render resolves inline). Default 8.
106
109
  */
107
- resolvePrefetchConcurrency, appPaths, includeRoot, routePartsFile, mode, website, websiteId, redirects, pageSlugMap, llm, }?: PrerenderOptions): Promise<PrerenderResult>;
110
+ resolvePrefetchConcurrency, appPaths, includeRoot, routePartsFile, mode, website, websiteId, redirects, pageSlugMap, collectionResolver, llm, }?: PrerenderOptions): Promise<PrerenderResult>;
108
111
  /**
109
112
  * Collect `<link rel="preload">` tags for the web fonts a page is likely to use.
110
113
  *
@@ -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":"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;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAiBhD,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAA;AAEhE,MAAM,WAAW,gBAAgB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAA;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,6FAA6F;IAC7F,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACrB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;IAC3B,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACpD,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC9C,wEAAwE;IACxE,GAAG,CAAC,EAAE,kBAAkB,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAA;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACpD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,0EAA0E;IAC1E,GAAG,CAAC,EAAE,kBAAkB,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,YAAY,CAAA;CAClB;AAUD,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IAC7D,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,EAC/B,IAAoB,EACpB,YAA4B,EAC5B,WAA0C,EAC1C,KAAU,EACV,KAAY,EACZ,YAAiB,EACjB,QAAgB,EAChB,QAAe,EACf,WAAe,EACf,iBAAwB;AACxB;;;;;;;;;GASG;AACH,0BAA8B,EAC9B,QAAa,EACb,WAAkB,EAClB,cAAc,EACd,IAAY,EACZ,OAAc,EACd,SAAc,EACd,SAAc,EACd,WAAgB,EAChB,kBAAyB,EACzB,GAAQ,GACR,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAsVlD;AA6ID;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyDhF;AAED,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,SAAS,SAAK,EACd,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACpC,MAAM,CA8DR;AAED,wBAAgB,eAAe,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CA2BR;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGxD"}
@@ -1046,9 +1046,10 @@ async function prerender({
1046
1046
  websiteId = "",
1047
1047
  redirects = [],
1048
1048
  pageSlugMap = {},
1049
+ collectionResolver = null,
1049
1050
  llm = {}
1050
1051
  } = {}) {
1051
- var _a, _b, _c, _d, _e;
1052
+ var _a, _b, _c, _d, _e, _f;
1052
1053
  const absRoot = path.resolve(root);
1053
1054
  const absClient = path.resolve(absRoot, clientOutDir);
1054
1055
  const absServerEntry = path.resolve(absRoot, serverEntry);
@@ -1066,6 +1067,7 @@ async function prerender({
1066
1067
  `SSR entry must export async function render(url, ctx). Missing "render" in: ${absServerEntry}`
1067
1068
  );
1068
1069
  }
1070
+ (_a = serverMod.configureBuildData) == null ? void 0 : _a.call(serverMod, { collectionResolver });
1069
1071
  let manifest = null;
1070
1072
  try {
1071
1073
  const manifestPath = path.join(absClient, "ssr-manifest.json");
@@ -1202,7 +1204,7 @@ async function prerender({
1202
1204
  );
1203
1205
  await Promise.all(workers);
1204
1206
  }
1205
- const canonicalBase = (((_a = website == null ? void 0 : website.seo) == null ? void 0 : _a.canonical_base_url) || (website == null ? void 0 : website.domain) || "").replace(/\/$/, "");
1207
+ const canonicalBase = (((_b = website == null ? void 0 : website.seo) == null ? void 0 : _b.canonical_base_url) || (website == null ? void 0 : website.domain) || "").replace(/\/$/, "");
1206
1208
  if (writeSharedAssets) {
1207
1209
  const sitemapPaths = rendered.filter((p) => !noindexPaths.has(p) && !isErrorPagePath(p));
1208
1210
  if (canonicalBase && sitemapPaths.length > 0) {
@@ -1214,7 +1216,7 @@ async function prerender({
1214
1216
  canonicalBase,
1215
1217
  defaultLocale: (website == null ? void 0 : website.default_locale) ?? "en",
1216
1218
  supportedLocales: (website == null ? void 0 : website.supported_locales) ?? [(website == null ? void 0 : website.default_locale) ?? "en"],
1217
- splitByLocale: (_b = website == null ? void 0 : website.seo) == null ? void 0 : _b.sitemap_split_by_locale
1219
+ splitByLocale: (_c = website == null ? void 0 : website.seo) == null ? void 0 : _c.sitemap_split_by_locale
1218
1220
  });
1219
1221
  for (const artifact of artifacts) {
1220
1222
  await fs.writeFile(
@@ -1229,11 +1231,11 @@ async function prerender({
1229
1231
  const robotsTxt = generateRobotsTxt({
1230
1232
  robotsTxt: website == null ? void 0 : website.robots_txt,
1231
1233
  canonicalBase,
1232
- noindex: (_c = website == null ? void 0 : website.seo) == null ? void 0 : _c.noindex
1234
+ noindex: (_d = website == null ? void 0 : website.seo) == null ? void 0 : _d.noindex
1233
1235
  });
1234
1236
  await fs.writeFile(path.join(absClient, "robots.txt"), robotsTxt, "utf8");
1235
1237
  console.log(" Generated robots.txt");
1236
- if ((_d = website == null ? void 0 : website.seo) == null ? void 0 : _d.noindex) {
1238
+ if ((_e = website == null ? void 0 : website.seo) == null ? void 0 : _e.noindex) {
1237
1239
  const headersPath = path.join(absClient, "_headers");
1238
1240
  let existing = "";
1239
1241
  try {
@@ -1262,7 +1264,7 @@ ${existing}`,
1262
1264
  await fs.writeFile(redirectsPath, redirectsContent + existing, "utf8");
1263
1265
  console.log(` Generated _redirects (${redirects.length} rules)`);
1264
1266
  }
1265
- if (!((_e = website == null ? void 0 : website.seo) == null ? void 0 : _e.noindex) && llmEnabled && llm.writeIndex !== false && llmPages.length > 0) {
1267
+ if (!((_f = website == null ? void 0 : website.seo) == null ? void 0 : _f.noindex) && llmEnabled && llm.writeIndex !== false && llmPages.length > 0) {
1266
1268
  const indexable = llmPages.filter((p) => !noindexPaths.has(p.url));
1267
1269
  const llmsTxt = generateLlmsTxt({ website, pages: indexable, config: llm });
1268
1270
  await fs.writeFile(path.join(absClient, "llms.txt"), llmsTxt, "utf8");
@@ -1023,9 +1023,10 @@ async function prerender({
1023
1023
  websiteId = "",
1024
1024
  redirects = [],
1025
1025
  pageSlugMap = {},
1026
+ collectionResolver = null,
1026
1027
  llm = {}
1027
1028
  } = {}) {
1028
- var _a, _b, _c, _d, _e;
1029
+ var _a, _b, _c, _d, _e, _f;
1029
1030
  const absRoot = path.resolve(root);
1030
1031
  const absClient = path.resolve(absRoot, clientOutDir);
1031
1032
  const absServerEntry = path.resolve(absRoot, serverEntry);
@@ -1043,6 +1044,7 @@ async function prerender({
1043
1044
  `SSR entry must export async function render(url, ctx). Missing "render" in: ${absServerEntry}`
1044
1045
  );
1045
1046
  }
1047
+ (_a = serverMod.configureBuildData) == null ? void 0 : _a.call(serverMod, { collectionResolver });
1046
1048
  let manifest = null;
1047
1049
  try {
1048
1050
  const manifestPath = path.join(absClient, "ssr-manifest.json");
@@ -1179,7 +1181,7 @@ async function prerender({
1179
1181
  );
1180
1182
  await Promise.all(workers);
1181
1183
  }
1182
- const canonicalBase = (((_a = website == null ? void 0 : website.seo) == null ? void 0 : _a.canonical_base_url) || (website == null ? void 0 : website.domain) || "").replace(/\/$/, "");
1184
+ const canonicalBase = (((_b = website == null ? void 0 : website.seo) == null ? void 0 : _b.canonical_base_url) || (website == null ? void 0 : website.domain) || "").replace(/\/$/, "");
1183
1185
  if (writeSharedAssets) {
1184
1186
  const sitemapPaths = rendered.filter((p) => !noindexPaths.has(p) && !isErrorPagePath(p));
1185
1187
  if (canonicalBase && sitemapPaths.length > 0) {
@@ -1191,7 +1193,7 @@ async function prerender({
1191
1193
  canonicalBase,
1192
1194
  defaultLocale: (website == null ? void 0 : website.default_locale) ?? "en",
1193
1195
  supportedLocales: (website == null ? void 0 : website.supported_locales) ?? [(website == null ? void 0 : website.default_locale) ?? "en"],
1194
- splitByLocale: (_b = website == null ? void 0 : website.seo) == null ? void 0 : _b.sitemap_split_by_locale
1196
+ splitByLocale: (_c = website == null ? void 0 : website.seo) == null ? void 0 : _c.sitemap_split_by_locale
1195
1197
  });
1196
1198
  for (const artifact of artifacts) {
1197
1199
  await fs.writeFile(
@@ -1206,11 +1208,11 @@ async function prerender({
1206
1208
  const robotsTxt = generateRobotsTxt({
1207
1209
  robotsTxt: website == null ? void 0 : website.robots_txt,
1208
1210
  canonicalBase,
1209
- noindex: (_c = website == null ? void 0 : website.seo) == null ? void 0 : _c.noindex
1211
+ noindex: (_d = website == null ? void 0 : website.seo) == null ? void 0 : _d.noindex
1210
1212
  });
1211
1213
  await fs.writeFile(path.join(absClient, "robots.txt"), robotsTxt, "utf8");
1212
1214
  console.log(" Generated robots.txt");
1213
- if ((_d = website == null ? void 0 : website.seo) == null ? void 0 : _d.noindex) {
1215
+ if ((_e = website == null ? void 0 : website.seo) == null ? void 0 : _e.noindex) {
1214
1216
  const headersPath = path.join(absClient, "_headers");
1215
1217
  let existing = "";
1216
1218
  try {
@@ -1239,7 +1241,7 @@ ${existing}`,
1239
1241
  await fs.writeFile(redirectsPath, redirectsContent + existing, "utf8");
1240
1242
  console.log(` Generated _redirects (${redirects.length} rules)`);
1241
1243
  }
1242
- if (!((_e = website == null ? void 0 : website.seo) == null ? void 0 : _e.noindex) && llmEnabled && llm.writeIndex !== false && llmPages.length > 0) {
1244
+ if (!((_f = website == null ? void 0 : website.seo) == null ? void 0 : _f.noindex) && llmEnabled && llm.writeIndex !== false && llmPages.length > 0) {
1243
1245
  const indexable = llmPages.filter((p) => !noindexPaths.has(p.url));
1244
1246
  const llmsTxt = generateLlmsTxt({ website, pages: indexable, config: llm });
1245
1247
  await fs.writeFile(path.join(absClient, "llms.txt"), llmsTxt, "utf8");
package/package.json CHANGED
@@ -1,126 +1,125 @@
1
1
  {
2
- "name": "@bagelink/blox",
3
- "type": "module",
4
- "version": "1.18.9",
5
- "description": "Blox page builder library for drag-and-drop page building and static data management",
6
- "author": {
7
- "name": "Bagel Studio",
8
- "email": "info@bagelstudio.co.il",
9
- "url": "https://bagelstudio.co.il"
10
- },
11
- "license": "MIT",
12
- "homepage": "https://github.com/bageldb/bagelink/tree/master/packages/blox#readme",
13
- "repository": {
14
- "type": "git",
15
- "url": "git+https://github.com/bageldb/bagelink.git",
16
- "directory": "packages/blox"
17
- },
18
- "bugs": "https://github.com/bageldb/bagelink/issues",
19
- "keywords": [
20
- "blox",
21
- "page-builder",
22
- "preview",
23
- "external-preview",
24
- "cms",
25
- "vue",
26
- "component-library",
27
- "drag-and-drop",
28
- "static-pages"
29
- ],
30
- "bin": {
31
- "blox-ssg": "dist/ssg/cli.mjs"
32
- },
33
- "sideEffects": [
34
- "**/*.css",
35
- "**/*.vue"
36
- ],
37
- "exports": {
38
- "./package.json": "./package.json",
39
- "./vite": {
40
- "types": "./dist/vite-plugin.d.ts",
41
- "import": "./dist/vite-plugin.mjs"
42
- },
43
- ".": {
44
- "types": "./dist/index.d.ts",
45
- "require": "./dist/index.cjs",
46
- "import": "./dist/index.mjs"
47
- },
48
- "./ssg": {
49
- "types": "./dist/ssg/index.d.ts",
50
- "import": "./dist/ssg/index.mjs"
51
- },
52
- "./ssg/client": {
53
- "types": "./dist/ssg/client.d.ts",
54
- "import": "./dist/ssg/client.mjs"
55
- },
56
- "./ssg/build-grant": {
57
- "types": "./dist/ssg/build-grant.d.ts",
58
- "import": "./dist/ssg/build-grant.mjs"
59
- },
60
- "./style.css": "./dist/style.css",
61
- "./dist/style.css": "./dist/style.css"
62
- },
63
- "main": "./dist/index.cjs",
64
- "module": "./dist/index.mjs",
65
- "types": "./dist/index.d.ts",
66
- "typesVersions": {
67
- "*": {
68
- "*": [
69
- "./dist/*",
70
- "./dist/index.d.ts"
71
- ]
72
- }
73
- },
74
- "files": [
75
- "dist",
76
- "core",
77
- "components",
78
- "config",
79
- "ssg",
80
- "utils",
81
- "views",
82
- "setup.ts",
83
- "index.ts",
84
- "README.md"
85
- ],
86
- "scripts": {
87
- "prepublishOnly": "pnpm build",
88
- "dev": "vite build --watch",
89
- "build": "vite build",
90
- "typecheck": "vue-tsc --noEmit"
91
- },
92
- "publishConfig": {
93
- "access": "public"
94
- },
95
- "peerDependencies": {
96
- "@bagelink/vue": "*",
97
- "happy-dom": ">=14.0.0",
98
- "vite": ">=5.0.0",
99
- "vue": "^3.3.0",
100
- "vue-router": "^4.0.0"
101
- },
102
- "peerDependenciesMeta": {
103
- "happy-dom": {
104
- "optional": true
105
- },
106
- "vite": {
107
- "optional": true
108
- }
109
- },
110
- "devDependencies": {
111
- "@vitejs/plugin-vue": "^5.2.4",
112
- "@vue/tsconfig": "^0.7.0",
113
- "typescript": "^5.9.3",
114
- "vite": "^5.4.21",
115
- "vite-plugin-dts": "^4.5.4",
116
- "vite-tsconfig-paths": "^5.1.4",
117
- "vitest": "^3.2.7",
118
- "vue": "^3.5.43",
119
- "vue-router": "^4.6.4",
120
- "vue-tsc": "^2.2.12"
121
- },
122
- "dependencies": {
123
- "magic-string": "^0.30.21",
124
- "pinia": "^3.0.4"
125
- }
126
- }
2
+ "name": "@bagelink/blox",
3
+ "type": "module",
4
+ "version": "1.18.10",
5
+ "description": "Blox page builder library for drag-and-drop page building and static data management",
6
+ "author": {
7
+ "name": "Bagel Studio",
8
+ "email": "info@bagelstudio.co.il",
9
+ "url": "https://bagelstudio.co.il"
10
+ },
11
+ "license": "MIT",
12
+ "homepage": "https://github.com/bageldb/bagelink/tree/master/packages/blox#readme",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/bageldb/bagelink.git",
16
+ "directory": "packages/blox"
17
+ },
18
+ "bugs": "https://github.com/bageldb/bagelink/issues",
19
+ "keywords": [
20
+ "blox",
21
+ "page-builder",
22
+ "preview",
23
+ "external-preview",
24
+ "cms",
25
+ "vue",
26
+ "component-library",
27
+ "drag-and-drop",
28
+ "static-pages"
29
+ ],
30
+ "bin": {
31
+ "blox-ssg": "dist/ssg/cli.mjs"
32
+ },
33
+ "sideEffects": [
34
+ "**/*.css",
35
+ "**/*.vue"
36
+ ],
37
+ "exports": {
38
+ "./package.json": "./package.json",
39
+ "./vite": {
40
+ "types": "./dist/vite-plugin.d.ts",
41
+ "import": "./dist/vite-plugin.mjs"
42
+ },
43
+ ".": {
44
+ "types": "./dist/index.d.ts",
45
+ "require": "./dist/index.cjs",
46
+ "import": "./dist/index.mjs"
47
+ },
48
+ "./ssg": {
49
+ "types": "./dist/ssg/index.d.ts",
50
+ "import": "./dist/ssg/index.mjs"
51
+ },
52
+ "./ssg/client": {
53
+ "types": "./dist/ssg/client.d.ts",
54
+ "import": "./dist/ssg/client.mjs"
55
+ },
56
+ "./ssg/build-grant": {
57
+ "types": "./dist/ssg/build-grant.d.ts",
58
+ "import": "./dist/ssg/build-grant.mjs"
59
+ },
60
+ "./style.css": "./dist/style.css",
61
+ "./dist/style.css": "./dist/style.css"
62
+ },
63
+ "main": "./dist/index.cjs",
64
+ "module": "./dist/index.mjs",
65
+ "types": "./dist/index.d.ts",
66
+ "typesVersions": {
67
+ "*": {
68
+ "*": [
69
+ "./dist/*",
70
+ "./dist/index.d.ts"
71
+ ]
72
+ }
73
+ },
74
+ "files": [
75
+ "dist",
76
+ "core",
77
+ "components",
78
+ "config",
79
+ "ssg",
80
+ "utils",
81
+ "views",
82
+ "setup.ts",
83
+ "index.ts",
84
+ "README.md"
85
+ ],
86
+ "publishConfig": {
87
+ "access": "public"
88
+ },
89
+ "peerDependencies": {
90
+ "@bagelink/vue": "*",
91
+ "happy-dom": ">=14.0.0",
92
+ "vite": ">=5.0.0",
93
+ "vue": "^3.3.0",
94
+ "vue-router": "^4.0.0"
95
+ },
96
+ "peerDependenciesMeta": {
97
+ "happy-dom": {
98
+ "optional": true
99
+ },
100
+ "vite": {
101
+ "optional": true
102
+ }
103
+ },
104
+ "devDependencies": {
105
+ "@vitejs/plugin-vue": "^5.2.4",
106
+ "@vue/tsconfig": "^0.7.0",
107
+ "typescript": "^5.9.3",
108
+ "vite": "^5.4.21",
109
+ "vite-plugin-dts": "^4.5.4",
110
+ "vite-tsconfig-paths": "^5.1.4",
111
+ "vitest": "^3.2.7",
112
+ "vue": "^3.5.43",
113
+ "vue-router": "^4.6.4",
114
+ "vue-tsc": "^2.2.12"
115
+ },
116
+ "dependencies": {
117
+ "magic-string": "^0.30.21",
118
+ "pinia": "^3.0.4"
119
+ },
120
+ "scripts": {
121
+ "dev": "vite build --watch",
122
+ "build": "vite build",
123
+ "typecheck": "vue-tsc --noEmit"
124
+ }
125
+ }