@bagelink/blox 1.15.337 → 1.15.340

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.
@@ -373,7 +373,22 @@ ${sitemapLine}`;
373
373
  }
374
374
  function generateNetlifyRedirects(redirects) {
375
375
  if (redirects.length === 0) return "";
376
- return `${redirects.map((r) => `${r.from_path} ${r.to_path} ${r.status_code}`).join("\n")}
376
+ const seen = /* @__PURE__ */ new Set();
377
+ return `${redirects.map((r) => {
378
+ const from = r.from_path.trim();
379
+ const to = r.to_path.trim();
380
+ if (!from.startsWith("/") || /\s/.test(from)) throw new Error(`Invalid redirect source: ${r.from_path}`);
381
+ if (!(to.startsWith("/") || /^https?:\/\//.test(to)) || /\s/.test(to)) {
382
+ throw new Error(`Invalid redirect destination for ${from}: ${r.to_path}`);
383
+ }
384
+ if (![301, 302, 303, 307, 308].includes(r.status_code)) {
385
+ throw new Error(`Invalid redirect status for ${from}: ${r.status_code}`);
386
+ }
387
+ if (from === to) throw new Error(`Self redirect is not allowed: ${from}`);
388
+ if (seen.has(from)) throw new Error(`Duplicate redirect source: ${from}`);
389
+ seen.add(from);
390
+ return `${from} ${to} ${r.status_code}`;
391
+ }).join("\n")}
377
392
  `;
378
393
  }
379
394
  function stripTemplateSeoTags(template, options = {}) {
@@ -350,7 +350,22 @@ ${sitemapLine}`;
350
350
  }
351
351
  function generateNetlifyRedirects(redirects) {
352
352
  if (redirects.length === 0) return "";
353
- return `${redirects.map((r) => `${r.from_path} ${r.to_path} ${r.status_code}`).join("\n")}
353
+ const seen = /* @__PURE__ */ new Set();
354
+ return `${redirects.map((r) => {
355
+ const from = r.from_path.trim();
356
+ const to = r.to_path.trim();
357
+ if (!from.startsWith("/") || /\s/.test(from)) throw new Error(`Invalid redirect source: ${r.from_path}`);
358
+ if (!(to.startsWith("/") || /^https?:\/\//.test(to)) || /\s/.test(to)) {
359
+ throw new Error(`Invalid redirect destination for ${from}: ${r.to_path}`);
360
+ }
361
+ if (![301, 302, 303, 307, 308].includes(r.status_code)) {
362
+ throw new Error(`Invalid redirect status for ${from}: ${r.status_code}`);
363
+ }
364
+ if (from === to) throw new Error(`Self redirect is not allowed: ${from}`);
365
+ if (seen.has(from)) throw new Error(`Duplicate redirect source: ${from}`);
366
+ seen.add(from);
367
+ return `${from} ${to} ${r.status_code}`;
368
+ }).join("\n")}
354
369
  `;
355
370
  }
356
371
  function stripTemplateSeoTags(template, options = {}) {
@@ -98,8 +98,8 @@ async function runSharded(opts) {
98
98
  if (process.env.BLOX_SSG_LLM !== "0") {
99
99
  try {
100
100
  const [{ mergeLlmParts }, { fetchCmsSiteData }] = await Promise.all([
101
- Promise.resolve().then(() => require("./prerender-D8ley1ef.cjs")).then((n) => n.llmArtifacts),
102
- Promise.resolve().then(() => require("./prerender-D8ley1ef.cjs")).then((n) => n.cmsRoutes)
101
+ Promise.resolve().then(() => require("./prerender-DeKrwYJJ.cjs")).then((n) => n.llmArtifacts),
102
+ Promise.resolve().then(() => require("./prerender-DeKrwYJJ.cjs")).then((n) => n.cmsRoutes)
103
103
  ]);
104
104
  let website = null;
105
105
  try {
@@ -74,8 +74,8 @@ async function runSharded(opts) {
74
74
  if (process.env.BLOX_SSG_LLM !== "0") {
75
75
  try {
76
76
  const [{ mergeLlmParts }, { fetchCmsSiteData }] = await Promise.all([
77
- import("./prerender-nosVurLF.js").then((n) => n.u),
78
- import("./prerender-nosVurLF.js").then((n) => n.t)
77
+ import("./prerender-zsOtzM-D.js").then((n) => n.u),
78
+ import("./prerender-zsOtzM-D.js").then((n) => n.t)
79
79
  ]);
80
80
  let website = null;
81
81
  try {
package/dist/ssg/cli.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  "use strict";
3
3
  const process = require("node:process");
4
- const cmsRoutes = require("../prerender-D8ley1ef.cjs");
4
+ const cmsRoutes = require("../prerender-DeKrwYJJ.cjs");
5
5
  function installFetchTimeout() {
6
6
  const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
7
7
  const original = globalThis.fetch;
@@ -110,7 +110,7 @@ Environment:
110
110
  if (shardsOpt !== null || routesCmd) {
111
111
  const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
112
112
  const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
113
- const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-CE_dGb22.cjs"));
113
+ const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-3TU-L8Tu.cjs"));
114
114
  const code = await runSharded({
115
115
  shards: shardsOpt ?? "auto",
116
116
  mode,
package/dist/ssg/cli.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bun
2
2
  import process from "node:process";
3
- import { p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, b as bloxBuildJson, a as prerender } from "../prerender-nosVurLF.js";
3
+ import { p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, b as bloxBuildJson, a as prerender } from "../prerender-zsOtzM-D.js";
4
4
  function installFetchTimeout() {
5
5
  const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
6
6
  const original = globalThis.fetch;
@@ -109,7 +109,7 @@ Environment:
109
109
  if (shardsOpt !== null || routesCmd) {
110
110
  const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
111
111
  const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
112
- const { runSharded } = await import("../shard-runner-B6lBOFO4.js");
112
+ const { runSharded } = await import("../shard-runner-zlAzg5_5.js");
113
113
  const code = await runSharded({
114
114
  shards: shardsOpt ?? "auto",
115
115
  mode,
@@ -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 cmsRoutes = require("../prerender-D8ley1ef.cjs");
25
+ const cmsRoutes = require("../prerender-DeKrwYJJ.cjs");
26
26
  const ssg_client = require("./client.cjs");
27
27
  const pinia = require("pinia");
28
28
  const vue = require("vue");
@@ -1,5 +1,5 @@
1
- import { c as buildPageHead, d as primaryContextEntry, e as buildJsonLd, g as extractPageText, B as BloxBuildResponseError, b as bloxBuildJson } from "../prerender-nosVurLF.js";
2
- import { h, i, j, f, k, l, m, n, o, q, r, s, p, a } from "../prerender-nosVurLF.js";
1
+ import { c as buildPageHead, d as primaryContextEntry, e as buildJsonLd, g as extractPageText, B as BloxBuildResponseError, b as bloxBuildJson } from "../prerender-zsOtzM-D.js";
2
+ import { h, i, j, f, k, l, m, n, o, q, r, s, p, a } from "../prerender-zsOtzM-D.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";
@@ -1 +1 @@
1
- {"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../../src/ssg/seo.ts"],"names":[],"mappings":"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"}
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;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;IACxG;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,MAAM,CAwGT;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CAwCjE;AAMD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC3C,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC,GAAG,MAAM,CAqBT;AAMD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB,GAAG,MAAM,CAmBT;AAMD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,CAoB3E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1D,MAAM,CA8BR;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG;IAC9D,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;CACnB,CAMA;AAMD,UAAU,gBAAgB;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,GAClE,gBAAgB,CAgBlB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,GAClE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,IAAI,CAEtD"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/blox",
3
3
  "type": "module",
4
- "version": "1.15.337",
4
+ "version": "1.15.340",
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",