@bagelink/blox 1.15.562 → 1.15.569
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/api/types.d.ts +2 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/{shard-runner-C0zS2ZjC.js → shard-runner-Bc4gTl71.js} +2 -2
- package/dist/{shard-runner-CYE0JuX0.cjs → shard-runner-ZAwqteYY.cjs} +2 -2
- package/dist/ssg/cli.cjs +2 -2
- package/dist/ssg/cli.mjs +2 -2
- package/dist/ssg/index.cjs +4 -3
- package/dist/ssg/index.mjs +5 -4
- package/dist/ssg/prerender.d.ts +4 -1
- package/dist/ssg/prerender.d.ts.map +1 -1
- package/dist/ssg/render-resolved-page.d.ts +6 -1
- package/dist/ssg/render-resolved-page.d.ts.map +1 -1
- package/dist/ssg/seo.d.ts +1 -1
- package/dist/ssg/seo.d.ts.map +1 -1
- package/dist/{validate-output-CaMwqCa1.js → validate-output-DRCseorw.js} +46 -7
- package/dist/{validate-output-BrUqMZIw.cjs → validate-output-DlHgDBoV.cjs} +46 -7
- package/dist/vite-plugin.cjs +11 -1
- package/dist/vite-plugin.d.ts +1 -1
- package/dist/vite-plugin.d.ts.map +1 -1
- package/dist/vite-plugin.mjs +11 -1
- package/package.json +1 -1
package/dist/api/types.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export interface Block {
|
|
|
7
7
|
}
|
|
8
8
|
export interface PageContent {
|
|
9
9
|
blocks: Block[];
|
|
10
|
+
structured_data?: Record<string, unknown> | null;
|
|
10
11
|
}
|
|
11
12
|
export interface PageRead {
|
|
12
13
|
id: string;
|
|
@@ -17,6 +18,7 @@ export interface PageRead {
|
|
|
17
18
|
meta_title: string | null;
|
|
18
19
|
meta_description: string | null;
|
|
19
20
|
og_image: string | null;
|
|
21
|
+
structured_data?: Record<string, unknown> | null;
|
|
20
22
|
noindex?: boolean;
|
|
21
23
|
canonical_url?: string | null;
|
|
22
24
|
status: ContentStatus;
|
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":"AAIA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAA;AAM9D,MAAM,WAAW,KAAK;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,KAAK,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 } from "./validate-output-
|
|
5
|
+
import { f as fetchCmsSiteData, g as generateSitemapArtifacts } from "./validate-output-DRCseorw.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";
|
|
@@ -142,7 +142,7 @@ async function runSharded(opts) {
|
|
|
142
142
|
}
|
|
143
143
|
if (process.env.BLOX_SSG_LLM !== "0") {
|
|
144
144
|
try {
|
|
145
|
-
const { mergeLlmParts } = await import("./validate-output-
|
|
145
|
+
const { mergeLlmParts } = await import("./validate-output-DRCseorw.js").then((n) => n.A);
|
|
146
146
|
const mergeWebsite = website;
|
|
147
147
|
const partFiles = Array.from({ length: total }, (_, i) => path.join(llmPartsDir, `part.${i}.json`));
|
|
148
148
|
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-DlHgDBoV.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";
|
|
@@ -166,7 +166,7 @@ async function runSharded(opts) {
|
|
|
166
166
|
}
|
|
167
167
|
if (process.env.BLOX_SSG_LLM !== "0") {
|
|
168
168
|
try {
|
|
169
|
-
const { mergeLlmParts } = await Promise.resolve().then(() => require("./validate-output-
|
|
169
|
+
const { mergeLlmParts } = await Promise.resolve().then(() => require("./validate-output-DlHgDBoV.cjs")).then((n) => n.llmArtifacts);
|
|
170
170
|
const mergeWebsite = website;
|
|
171
171
|
const partFiles = Array.from({ length: total }, (_, i) => path.join(llmPartsDir, `part.${i}.json`));
|
|
172
172
|
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-DlHgDBoV.cjs");
|
|
7
7
|
function installFetchTimeout() {
|
|
8
8
|
const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
|
|
9
9
|
const original = globalThis.fetch;
|
|
@@ -141,7 +141,7 @@ Environment:
|
|
|
141
141
|
if (shardsOpt !== null || routesCmd) {
|
|
142
142
|
const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
|
|
143
143
|
const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
|
|
144
|
-
const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-
|
|
144
|
+
const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-ZAwqteYY.cjs"));
|
|
145
145
|
const code = await runSharded({
|
|
146
146
|
shards: shardsOpt ?? "auto",
|
|
147
147
|
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, a as prerender } from "../validate-output-
|
|
5
|
+
import { v as validateSsgOutput, u as uploadBloxManifest, p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, a as prerender } from "../validate-output-DRCseorw.js";
|
|
6
6
|
function installFetchTimeout() {
|
|
7
7
|
const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
|
|
8
8
|
const original = globalThis.fetch;
|
|
@@ -140,7 +140,7 @@ Environment:
|
|
|
140
140
|
if (shardsOpt !== null || routesCmd) {
|
|
141
141
|
const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
|
|
142
142
|
const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
|
|
143
|
-
const { runSharded } = await import("../shard-runner-
|
|
143
|
+
const { runSharded } = await import("../shard-runner-Bc4gTl71.js");
|
|
144
144
|
const code = await runSharded({
|
|
145
145
|
shards: shardsOpt ?? "auto",
|
|
146
146
|
mode,
|
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-DlHgDBoV.cjs");
|
|
26
26
|
const ssg_buildGrant = require("./build-grant.cjs");
|
|
27
27
|
const ssg_client = require("./client.cjs");
|
|
28
28
|
const pinia = require("pinia");
|
|
@@ -50,7 +50,8 @@ async function renderBloxSsgPage(options) {
|
|
|
50
50
|
const { app, router, dataRegistry } = createAppForUrl(url, resolvedData, stateKey);
|
|
51
51
|
await router.push(url);
|
|
52
52
|
await router.isReady();
|
|
53
|
-
const
|
|
53
|
+
const ssrContext = {};
|
|
54
|
+
const html = await renderToString(app, ssrContext);
|
|
54
55
|
const stateScript = resolvedData != null ? `<script>window[${JSON.stringify(stateWindowKey)}]=${safeJson({ [stateKey]: resolvedData })};${"<"}/script>` : "";
|
|
55
56
|
const collectionsScript = "";
|
|
56
57
|
const websiteIdScript = websiteId ? `<script>window[${JSON.stringify(ssg_client.BLOX_WEBSITE_ID_WINDOW_KEY)}]=${JSON.stringify(websiteId)};${"<"}/script>` : "";
|
|
@@ -107,7 +108,7 @@ ${jsonLd}`;
|
|
|
107
108
|
}
|
|
108
109
|
const lang = locale || (website == null ? void 0 : website.default_locale) || "en";
|
|
109
110
|
const htmlAttrs = `lang="${lang}"`;
|
|
110
|
-
return { html, head, htmlAttrs, llm: llmEntry };
|
|
111
|
+
return { html, head, htmlAttrs, teleports: ssrContext.teleports, llm: llmEntry };
|
|
111
112
|
}
|
|
112
113
|
function safeJson(value) {
|
|
113
114
|
return JSON.stringify(value).replace(/</g, "\\u003c");
|
package/dist/ssg/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { b as buildPageHead, c as primaryContextEntry, d as buildJsonLd, e as extractPageText, B as BloxBuildResponseError, h as bloxBuildJson } from "../validate-output-
|
|
2
|
-
import { i, j, k, f, l, m, n, o, g, q, r, s, t, w, x, p, a, y, z, u, v } from "../validate-output-
|
|
1
|
+
import { b as buildPageHead, c as primaryContextEntry, d as buildJsonLd, e as extractPageText, B as BloxBuildResponseError, h as bloxBuildJson } from "../validate-output-DRCseorw.js";
|
|
2
|
+
import { i, j, k, f, l, m, n, o, g, q, r, s, t, w, x, p, a, y, z, u, v } from "../validate-output-DRCseorw.js";
|
|
3
3
|
import { parseBloxBuildGrantBody, resolveBloxBuildGrant } from "./build-grant.mjs";
|
|
4
4
|
import { BLOX_STATE_WINDOW_KEY, BLOX_WEBSITE_ID_WINDOW_KEY } from "./client.mjs";
|
|
5
5
|
import { BLOX_COLLECTIONS_WINDOW_KEY, BLOX_DATA_WINDOW_KEY, BLOX_PAGE_SEO_WINDOW_KEY, getCollectionCache, getEmbeddedWebsiteId, installBloxStateCache, installCollectionCache } from "./client.mjs";
|
|
@@ -28,7 +28,8 @@ async function renderBloxSsgPage(options) {
|
|
|
28
28
|
const { app, router, dataRegistry } = createAppForUrl(url, resolvedData, stateKey);
|
|
29
29
|
await router.push(url);
|
|
30
30
|
await router.isReady();
|
|
31
|
-
const
|
|
31
|
+
const ssrContext = {};
|
|
32
|
+
const html = await renderToString(app, ssrContext);
|
|
32
33
|
const stateScript = resolvedData != null ? `<script>window[${JSON.stringify(stateWindowKey)}]=${safeJson({ [stateKey]: resolvedData })};${"<"}/script>` : "";
|
|
33
34
|
const collectionsScript = "";
|
|
34
35
|
const websiteIdScript = websiteId ? `<script>window[${JSON.stringify(BLOX_WEBSITE_ID_WINDOW_KEY)}]=${JSON.stringify(websiteId)};${"<"}/script>` : "";
|
|
@@ -85,7 +86,7 @@ ${jsonLd}`;
|
|
|
85
86
|
}
|
|
86
87
|
const lang = locale || (website == null ? void 0 : website.default_locale) || "en";
|
|
87
88
|
const htmlAttrs = `lang="${lang}"`;
|
|
88
|
-
return { html, head, htmlAttrs, llm: llmEntry };
|
|
89
|
+
return { html, head, htmlAttrs, teleports: ssrContext.teleports, llm: llmEntry };
|
|
89
90
|
}
|
|
90
91
|
function safeJson(value) {
|
|
91
92
|
return JSON.stringify(value).replace(/</g, "\\u003c");
|
package/dist/ssg/prerender.d.ts
CHANGED
|
@@ -62,6 +62,8 @@ export interface RenderResult {
|
|
|
62
62
|
html: string;
|
|
63
63
|
head?: string;
|
|
64
64
|
htmlAttrs?: string;
|
|
65
|
+
/** Vue SSR Teleport output keyed by target selector. */
|
|
66
|
+
teleports?: Record<string, string>;
|
|
65
67
|
state?: unknown;
|
|
66
68
|
/** Optional ISO last-modified for this page → sitemap <lastmod>. */
|
|
67
69
|
lastmod?: string;
|
|
@@ -101,6 +103,7 @@ export declare function prerender({ root, clientOutDir, serverEntry, paths, craw
|
|
|
101
103
|
* prefetch (render resolves inline). Default 8.
|
|
102
104
|
*/
|
|
103
105
|
resolvePrefetchConcurrency, appPaths, includeRoot, routePartsFile, mode, website, websiteId, redirects, collections, llm, }?: PrerenderOptions): Promise<PrerenderResult>;
|
|
104
|
-
export declare function injectIntoTemplate(template: string, head: string, appHtml: string, fontPreloads: string, htmlAttrs?: string): string;
|
|
106
|
+
export declare function injectIntoTemplate(template: string, head: string, appHtml: string, fontPreloads: string, htmlAttrs?: string, teleports?: Record<string, string>): string;
|
|
107
|
+
export declare function injectTeleports(html: string, teleports: Record<string, string>): string;
|
|
105
108
|
export {};
|
|
106
109
|
//# sourceMappingURL=prerender.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerender.d.ts","sourceRoot":"","sources":["../../src/ssg/prerender.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prerender.d.ts","sourceRoot":"","sources":["../../src/ssg/prerender.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { WebsiteRead } from '../api/types';
|
|
2
2
|
import { BloxDataRegistry, BloxSeoHead } from '../data/useData';
|
|
3
3
|
import { LlmArtifactsConfig, LlmPageEntry } from './llm-artifacts';
|
|
4
|
+
interface BloxSsrContext {
|
|
5
|
+
teleports?: Record<string, string>;
|
|
6
|
+
}
|
|
4
7
|
export interface BloxSsgRouterLike {
|
|
5
8
|
push: (url: string) => Promise<void>;
|
|
6
9
|
isReady: () => Promise<void>;
|
|
@@ -20,7 +23,7 @@ export interface BloxSsgRouterLike {
|
|
|
20
23
|
export declare function renderBloxSsgPage<TApp>(options: {
|
|
21
24
|
url: string;
|
|
22
25
|
resolvedData: unknown | null;
|
|
23
|
-
renderToString: (app: TApp) => Promise<string>;
|
|
26
|
+
renderToString: (app: TApp, context?: BloxSsrContext) => Promise<string>;
|
|
24
27
|
createAppForUrl: (url: string, resolvedData: unknown | null, stateKey: string) => {
|
|
25
28
|
app: TApp;
|
|
26
29
|
router: BloxSsgRouterLike;
|
|
@@ -51,8 +54,10 @@ export declare function renderBloxSsgPage<TApp>(options: {
|
|
|
51
54
|
html: string;
|
|
52
55
|
head?: string;
|
|
53
56
|
htmlAttrs?: string;
|
|
57
|
+
teleports?: Record<string, string>;
|
|
54
58
|
llm?: LlmPageEntry;
|
|
55
59
|
}>;
|
|
56
60
|
/** JSON for embedding in a <script> tag — escapes `<` so `</script>` can't break out. */
|
|
57
61
|
export declare function safeJson(value: unknown): string;
|
|
62
|
+
export {};
|
|
58
63
|
//# sourceMappingURL=render-resolved-page.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-resolved-page.d.ts","sourceRoot":"","sources":["../../src/ssg/render-resolved-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGvE,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;IACtD,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"render-resolved-page.d.ts","sourceRoot":"","sources":["../../src/ssg/render-resolved-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGvE,UAAU,cAAc;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;IACtD,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACxE,eAAe,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,GAAG,IAAI,EAC5B,QAAQ,EAAE,MAAM,KACZ;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,YAAY,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAA;IAC9E,8EAA8E;IAC9E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrE,sEAAsE;IACtE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,WAAW,CAAA;IACxD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+EAA+E;IAC/E,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;IACvC,8EAA8E;IAC9E,GAAG,CAAC,EAAE,kBAAkB,CAAA;CACxB,GAAG,OAAO,CAAC;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,GAAG,CAAC,EAAE,YAAY,CAAA;CAClB,CAAC,CAuHD;AAED,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C"}
|
package/dist/ssg/seo.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export interface SeoPageData {
|
|
|
10
10
|
* Prefers `structured_data.org_by_locale[locale]` then falls back to the
|
|
11
11
|
* site-wide `structured_data.org`. Returns a serialized `<script>` tag or ''.
|
|
12
12
|
*/
|
|
13
|
-
export declare function buildStructuredData(sd: StructuredData | null | undefined, locale?: string): string;
|
|
13
|
+
export declare function buildStructuredData(sd: StructuredData | Record<string, unknown> | null | undefined, locale?: string): string;
|
|
14
14
|
export interface RedirectEntry {
|
|
15
15
|
from_path: string;
|
|
16
16
|
to_path: 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,
|
|
1
|
+
{"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../../src/ssg/seo.ts"],"names":[],"mappings":"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"}
|
|
@@ -325,8 +325,9 @@ async function polyfillBloxSsgGlobals(options) {
|
|
|
325
325
|
function buildStructuredData(sd, locale) {
|
|
326
326
|
var _a;
|
|
327
327
|
if (!sd) return "";
|
|
328
|
-
const
|
|
329
|
-
const
|
|
328
|
+
const siteData = "org" in sd || "org_by_locale" in sd;
|
|
329
|
+
const perLocale = siteData && locale ? (_a = sd.org_by_locale) == null ? void 0 : _a[locale] : void 0;
|
|
330
|
+
const value = siteData ? perLocale ?? sd.org : sd;
|
|
330
331
|
if (value == null || typeof value === "string" && value === "") return "";
|
|
331
332
|
try {
|
|
332
333
|
const json = typeof value === "string" ? value : JSON.stringify(value);
|
|
@@ -387,21 +388,26 @@ function buildPageHead(options) {
|
|
|
387
388
|
if (ogDesc) parts.push(`<meta name="twitter:description" content="${esc(ogDesc)}">`);
|
|
388
389
|
if (ogImage) parts.push(`<meta name="twitter:image" content="${esc(ogImage)}">`);
|
|
389
390
|
if (seo.twitter_site) parts.push(`<meta name="twitter:site" content="${esc(seo.twitter_site)}">`);
|
|
390
|
-
const
|
|
391
|
+
const hasAlternateOverride = (override == null ? void 0 : override.alternates) !== void 0;
|
|
392
|
+
const alternates = hasAlternateOverride ? override.alternates : resolvedData == null ? void 0 : resolvedData.alternates;
|
|
391
393
|
const defaultLocale = (website == null ? void 0 : website.default_locale) ?? "en";
|
|
392
394
|
if (alternates && canonicalBase) {
|
|
393
395
|
for (const [loc, slug] of Object.entries(alternates)) {
|
|
394
396
|
const href = loc === defaultLocale ? slug : slug === "/" ? `/${loc}` : `/${loc}${slug}`;
|
|
395
397
|
parts.push(`<link rel="alternate" hreflang="${esc(loc)}" href="${esc(canonicalBase + href)}">`);
|
|
396
398
|
}
|
|
397
|
-
const defaultSlug = alternates[defaultLocale]
|
|
398
|
-
|
|
399
|
+
const defaultSlug = alternates[defaultLocale];
|
|
400
|
+
if (defaultSlug) {
|
|
401
|
+
parts.push(`<link rel="alternate" hreflang="x-default" href="${esc(canonicalBase + defaultSlug)}">`);
|
|
402
|
+
}
|
|
399
403
|
}
|
|
400
404
|
if (seo.noindex || (page == null ? void 0 : page.noindex) || (override == null ? void 0 : override.noindex)) {
|
|
401
405
|
parts.push('<meta name="robots" content="noindex, nofollow">');
|
|
402
406
|
}
|
|
403
407
|
const structuredData = buildStructuredData(website == null ? void 0 : website.structured_data, locale || (website == null ? void 0 : website.default_locale));
|
|
404
408
|
if (structuredData) parts.push(structuredData);
|
|
409
|
+
const pageStructuredData = buildStructuredData(page == null ? void 0 : page.structured_data);
|
|
410
|
+
if (pageStructuredData) parts.push(pageStructuredData);
|
|
405
411
|
if (stateScript) {
|
|
406
412
|
parts.push(stateScript);
|
|
407
413
|
}
|
|
@@ -944,6 +950,7 @@ async function prerender({
|
|
|
944
950
|
html,
|
|
945
951
|
head = "",
|
|
946
952
|
htmlAttrs = "",
|
|
953
|
+
teleports = {},
|
|
947
954
|
lastmod: pageLastmod,
|
|
948
955
|
llm: pageLlm
|
|
949
956
|
} = await serverMod.render(urlPath, {
|
|
@@ -955,7 +962,7 @@ async function prerender({
|
|
|
955
962
|
resolveCache,
|
|
956
963
|
llm
|
|
957
964
|
});
|
|
958
|
-
const outHtml = injectIntoTemplate(template, head, html, fontPreloads, htmlAttrs);
|
|
965
|
+
const outHtml = injectIntoTemplate(template, head, html, fontPreloads, htmlAttrs, teleports);
|
|
959
966
|
const outfile = outFilePath(absClient, urlPath, mode);
|
|
960
967
|
await fs.mkdir(path.dirname(outfile), { recursive: true });
|
|
961
968
|
await fs.writeFile(outfile, outHtml, "utf8");
|
|
@@ -1137,7 +1144,7 @@ async function discoverFontPreloads(clientOutDir) {
|
|
|
1137
1144
|
}
|
|
1138
1145
|
return [...seen].map((href) => `<link rel="preload" as="font" type="font/woff2" crossorigin href="${href}">`).join("\n");
|
|
1139
1146
|
}
|
|
1140
|
-
function injectIntoTemplate(template, head, appHtml, fontPreloads, htmlAttrs = "") {
|
|
1147
|
+
function injectIntoTemplate(template, head, appHtml, fontPreloads, htmlAttrs = "", teleports = {}) {
|
|
1141
1148
|
let out = template;
|
|
1142
1149
|
if (template.includes("<!--app-html-->")) {
|
|
1143
1150
|
out = template.replace("<!--app-html-->", appHtml);
|
|
@@ -1176,6 +1183,38 @@ ${head}`;
|
|
|
1176
1183
|
out = out.replace("</head>", `${head}
|
|
1177
1184
|
</head>`);
|
|
1178
1185
|
}
|
|
1186
|
+
out = injectTeleports(out, teleports);
|
|
1187
|
+
return out;
|
|
1188
|
+
}
|
|
1189
|
+
function injectTeleports(html, teleports) {
|
|
1190
|
+
var _a;
|
|
1191
|
+
let out = html;
|
|
1192
|
+
for (const [target, content] of Object.entries(teleports)) {
|
|
1193
|
+
if (!content) continue;
|
|
1194
|
+
if (target === "body") {
|
|
1195
|
+
out = out.replace("</body>", `${content}
|
|
1196
|
+
</body>`);
|
|
1197
|
+
continue;
|
|
1198
|
+
}
|
|
1199
|
+
if (target === "head") {
|
|
1200
|
+
out = out.replace("</head>", `${content}
|
|
1201
|
+
</head>`);
|
|
1202
|
+
continue;
|
|
1203
|
+
}
|
|
1204
|
+
const id = (_a = target.match(/^#([A-Za-z][\w:.-]*)$/)) == null ? void 0 : _a[1];
|
|
1205
|
+
if (!id) {
|
|
1206
|
+
throw new Error(`Unsupported SSR teleport target: ${target}`);
|
|
1207
|
+
}
|
|
1208
|
+
const targetPattern = new RegExp(
|
|
1209
|
+
`(<([A-Za-z][\\w:-]*)[^>]*\\bid=["']${id}["'][^>]*>)([\\s\\S]*?)(</\\2>)`
|
|
1210
|
+
);
|
|
1211
|
+
if (targetPattern.test(out)) {
|
|
1212
|
+
out = out.replace(targetPattern, `$1$3${content}$4`);
|
|
1213
|
+
} else {
|
|
1214
|
+
out = out.replace("</body>", `<div id="${id}">${content}</div>
|
|
1215
|
+
</body>`);
|
|
1216
|
+
}
|
|
1217
|
+
}
|
|
1179
1218
|
return out;
|
|
1180
1219
|
}
|
|
1181
1220
|
function outFilePath(absClientDir, urlPath, mode) {
|
|
@@ -348,8 +348,9 @@ async function polyfillBloxSsgGlobals(options) {
|
|
|
348
348
|
function buildStructuredData(sd, locale) {
|
|
349
349
|
var _a;
|
|
350
350
|
if (!sd) return "";
|
|
351
|
-
const
|
|
352
|
-
const
|
|
351
|
+
const siteData = "org" in sd || "org_by_locale" in sd;
|
|
352
|
+
const perLocale = siteData && locale ? (_a = sd.org_by_locale) == null ? void 0 : _a[locale] : void 0;
|
|
353
|
+
const value = siteData ? perLocale ?? sd.org : sd;
|
|
353
354
|
if (value == null || typeof value === "string" && value === "") return "";
|
|
354
355
|
try {
|
|
355
356
|
const json = typeof value === "string" ? value : JSON.stringify(value);
|
|
@@ -410,21 +411,26 @@ function buildPageHead(options) {
|
|
|
410
411
|
if (ogDesc) parts.push(`<meta name="twitter:description" content="${esc(ogDesc)}">`);
|
|
411
412
|
if (ogImage) parts.push(`<meta name="twitter:image" content="${esc(ogImage)}">`);
|
|
412
413
|
if (seo.twitter_site) parts.push(`<meta name="twitter:site" content="${esc(seo.twitter_site)}">`);
|
|
413
|
-
const
|
|
414
|
+
const hasAlternateOverride = (override == null ? void 0 : override.alternates) !== void 0;
|
|
415
|
+
const alternates = hasAlternateOverride ? override.alternates : resolvedData == null ? void 0 : resolvedData.alternates;
|
|
414
416
|
const defaultLocale = (website == null ? void 0 : website.default_locale) ?? "en";
|
|
415
417
|
if (alternates && canonicalBase) {
|
|
416
418
|
for (const [loc, slug] of Object.entries(alternates)) {
|
|
417
419
|
const href = loc === defaultLocale ? slug : slug === "/" ? `/${loc}` : `/${loc}${slug}`;
|
|
418
420
|
parts.push(`<link rel="alternate" hreflang="${esc(loc)}" href="${esc(canonicalBase + href)}">`);
|
|
419
421
|
}
|
|
420
|
-
const defaultSlug = alternates[defaultLocale]
|
|
421
|
-
|
|
422
|
+
const defaultSlug = alternates[defaultLocale];
|
|
423
|
+
if (defaultSlug) {
|
|
424
|
+
parts.push(`<link rel="alternate" hreflang="x-default" href="${esc(canonicalBase + defaultSlug)}">`);
|
|
425
|
+
}
|
|
422
426
|
}
|
|
423
427
|
if (seo.noindex || (page == null ? void 0 : page.noindex) || (override == null ? void 0 : override.noindex)) {
|
|
424
428
|
parts.push('<meta name="robots" content="noindex, nofollow">');
|
|
425
429
|
}
|
|
426
430
|
const structuredData = buildStructuredData(website == null ? void 0 : website.structured_data, locale || (website == null ? void 0 : website.default_locale));
|
|
427
431
|
if (structuredData) parts.push(structuredData);
|
|
432
|
+
const pageStructuredData = buildStructuredData(page == null ? void 0 : page.structured_data);
|
|
433
|
+
if (pageStructuredData) parts.push(pageStructuredData);
|
|
428
434
|
if (stateScript) {
|
|
429
435
|
parts.push(stateScript);
|
|
430
436
|
}
|
|
@@ -967,6 +973,7 @@ async function prerender({
|
|
|
967
973
|
html,
|
|
968
974
|
head = "",
|
|
969
975
|
htmlAttrs = "",
|
|
976
|
+
teleports = {},
|
|
970
977
|
lastmod: pageLastmod,
|
|
971
978
|
llm: pageLlm
|
|
972
979
|
} = await serverMod.render(urlPath, {
|
|
@@ -978,7 +985,7 @@ async function prerender({
|
|
|
978
985
|
resolveCache,
|
|
979
986
|
llm
|
|
980
987
|
});
|
|
981
|
-
const outHtml = injectIntoTemplate(template, head, html, fontPreloads, htmlAttrs);
|
|
988
|
+
const outHtml = injectIntoTemplate(template, head, html, fontPreloads, htmlAttrs, teleports);
|
|
982
989
|
const outfile = outFilePath(absClient, urlPath, mode);
|
|
983
990
|
await fs.mkdir(path.dirname(outfile), { recursive: true });
|
|
984
991
|
await fs.writeFile(outfile, outHtml, "utf8");
|
|
@@ -1160,7 +1167,7 @@ async function discoverFontPreloads(clientOutDir) {
|
|
|
1160
1167
|
}
|
|
1161
1168
|
return [...seen].map((href) => `<link rel="preload" as="font" type="font/woff2" crossorigin href="${href}">`).join("\n");
|
|
1162
1169
|
}
|
|
1163
|
-
function injectIntoTemplate(template, head, appHtml, fontPreloads, htmlAttrs = "") {
|
|
1170
|
+
function injectIntoTemplate(template, head, appHtml, fontPreloads, htmlAttrs = "", teleports = {}) {
|
|
1164
1171
|
let out = template;
|
|
1165
1172
|
if (template.includes("<!--app-html-->")) {
|
|
1166
1173
|
out = template.replace("<!--app-html-->", appHtml);
|
|
@@ -1199,6 +1206,38 @@ ${head}`;
|
|
|
1199
1206
|
out = out.replace("</head>", `${head}
|
|
1200
1207
|
</head>`);
|
|
1201
1208
|
}
|
|
1209
|
+
out = injectTeleports(out, teleports);
|
|
1210
|
+
return out;
|
|
1211
|
+
}
|
|
1212
|
+
function injectTeleports(html, teleports) {
|
|
1213
|
+
var _a;
|
|
1214
|
+
let out = html;
|
|
1215
|
+
for (const [target, content] of Object.entries(teleports)) {
|
|
1216
|
+
if (!content) continue;
|
|
1217
|
+
if (target === "body") {
|
|
1218
|
+
out = out.replace("</body>", `${content}
|
|
1219
|
+
</body>`);
|
|
1220
|
+
continue;
|
|
1221
|
+
}
|
|
1222
|
+
if (target === "head") {
|
|
1223
|
+
out = out.replace("</head>", `${content}
|
|
1224
|
+
</head>`);
|
|
1225
|
+
continue;
|
|
1226
|
+
}
|
|
1227
|
+
const id = (_a = target.match(/^#([A-Za-z][\w:.-]*)$/)) == null ? void 0 : _a[1];
|
|
1228
|
+
if (!id) {
|
|
1229
|
+
throw new Error(`Unsupported SSR teleport target: ${target}`);
|
|
1230
|
+
}
|
|
1231
|
+
const targetPattern = new RegExp(
|
|
1232
|
+
`(<([A-Za-z][\\w:-]*)[^>]*\\bid=["']${id}["'][^>]*>)([\\s\\S]*?)(</\\2>)`
|
|
1233
|
+
);
|
|
1234
|
+
if (targetPattern.test(out)) {
|
|
1235
|
+
out = out.replace(targetPattern, `$1$3${content}$4`);
|
|
1236
|
+
} else {
|
|
1237
|
+
out = out.replace("</body>", `<div id="${id}">${content}</div>
|
|
1238
|
+
</body>`);
|
|
1239
|
+
}
|
|
1240
|
+
}
|
|
1202
1241
|
return out;
|
|
1203
1242
|
}
|
|
1204
1243
|
function outFilePath(absClientDir, urlPath, mode) {
|
package/dist/vite-plugin.cjs
CHANGED
|
@@ -33,7 +33,8 @@ function bloxPlugin(options = {}) {
|
|
|
33
33
|
plugins.push({
|
|
34
34
|
name: "vite-plugin-blox-ssr",
|
|
35
35
|
enforce: "pre",
|
|
36
|
-
config(
|
|
36
|
+
config(config, { command }) {
|
|
37
|
+
var _a, _b;
|
|
37
38
|
const cwd = process.cwd();
|
|
38
39
|
function resolveVuePaths() {
|
|
39
40
|
const bases = [path.join(cwd, "..", "package.json"), path.join(cwd, "package.json")];
|
|
@@ -69,6 +70,15 @@ function bloxPlugin(options = {}) {
|
|
|
69
70
|
alias
|
|
70
71
|
}
|
|
71
72
|
};
|
|
73
|
+
if (command === "build") {
|
|
74
|
+
const output = (_b = (_a = config.build) == null ? void 0 : _a.rollupOptions) == null ? void 0 : _b.output;
|
|
75
|
+
const assetFileNames = "assets/[name][extname]";
|
|
76
|
+
ssrConfig.build = {
|
|
77
|
+
rollupOptions: {
|
|
78
|
+
output: Array.isArray(output) ? output.map((item) => ({ assetFileNames, ...item })) : { assetFileNames, ...output }
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
72
82
|
return ssrConfig;
|
|
73
83
|
}
|
|
74
84
|
});
|
package/dist/vite-plugin.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export interface BloxPluginOptions {
|
|
|
3
3
|
/**
|
|
4
4
|
* Enable SSR-aware config injection.
|
|
5
5
|
* When true, adds `resolve.dedupe`, `resolve.alias` for Vue,
|
|
6
|
-
*
|
|
6
|
+
* SSR build rollup options, and stable local asset filenames automatically.
|
|
7
7
|
* @default false
|
|
8
8
|
*/
|
|
9
9
|
ssr?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAA;AAM9C,MAAM,WAAW,iBAAiB;IACjC;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IACb;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAA;AAM9C,MAAM,WAAW,iBAAiB;IACjC;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IACb;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,EAAE,CAuhBpE"}
|
package/dist/vite-plugin.mjs
CHANGED
|
@@ -9,7 +9,8 @@ function bloxPlugin(options = {}) {
|
|
|
9
9
|
plugins.push({
|
|
10
10
|
name: "vite-plugin-blox-ssr",
|
|
11
11
|
enforce: "pre",
|
|
12
|
-
config(
|
|
12
|
+
config(config, { command }) {
|
|
13
|
+
var _a, _b;
|
|
13
14
|
const cwd = process.cwd();
|
|
14
15
|
function resolveVuePaths() {
|
|
15
16
|
const bases = [join(cwd, "..", "package.json"), join(cwd, "package.json")];
|
|
@@ -45,6 +46,15 @@ function bloxPlugin(options = {}) {
|
|
|
45
46
|
alias
|
|
46
47
|
}
|
|
47
48
|
};
|
|
49
|
+
if (command === "build") {
|
|
50
|
+
const output = (_b = (_a = config.build) == null ? void 0 : _a.rollupOptions) == null ? void 0 : _b.output;
|
|
51
|
+
const assetFileNames = "assets/[name][extname]";
|
|
52
|
+
ssrConfig.build = {
|
|
53
|
+
rollupOptions: {
|
|
54
|
+
output: Array.isArray(output) ? output.map((item) => ({ assetFileNames, ...item })) : { assetFileNames, ...output }
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
48
58
|
return ssrConfig;
|
|
49
59
|
}
|
|
50
60
|
});
|
package/package.json
CHANGED