@bagelink/blox 1.15.672 → 1.15.674
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 +7 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/{shard-runner-Ctxv1BCm.cjs → shard-runner-DEmn6Lgi.cjs} +2 -2
- package/dist/{shard-runner-DpVAhzsZ.js → shard-runner-tnSCxMng.js} +2 -2
- package/dist/ssg/cli.cjs +2 -2
- package/dist/ssg/cli.mjs +2 -2
- package/dist/ssg/index.cjs +1 -1
- package/dist/ssg/index.mjs +2 -2
- package/dist/ssg/prerender.d.ts +11 -0
- package/dist/ssg/prerender.d.ts.map +1 -1
- package/dist/ssg/seo.d.ts +2 -0
- package/dist/ssg/seo.d.ts.map +1 -1
- package/dist/{validate-output-Cf8c6H-K.js → validate-output-CJiiZxtm.js} +102 -13
- package/dist/{validate-output-BTAIN5It.cjs → validate-output-gJ1f8o9z.cjs} +102 -13
- package/package.json +1 -1
package/dist/api/types.d.ts
CHANGED
|
@@ -60,6 +60,13 @@ export interface SiteVerification {
|
|
|
60
60
|
export interface StructuredData {
|
|
61
61
|
org?: Record<string, unknown> | null;
|
|
62
62
|
org_by_locale?: Record<string, Record<string, unknown>>;
|
|
63
|
+
/**
|
|
64
|
+
* Where the site-level graph is emitted. `all` (default) writes it on every
|
|
65
|
+
* page; `home` limits it to locale homepages. Use `home` when the graph
|
|
66
|
+
* contains `LocalBusiness` — that markup should describe the page it is on,
|
|
67
|
+
* not every URL.
|
|
68
|
+
*/
|
|
69
|
+
scope?: 'all' | 'home';
|
|
63
70
|
}
|
|
64
71
|
export interface SiteIntegrations {
|
|
65
72
|
plausible_site_id?: string | null;
|
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;IACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAChD;AAED,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAChD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,MAAM,EAAE,aAAa,CAAA;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC7C;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IACxD,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,UAAU;IAC1B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -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-gJ1f8o9z.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-gJ1f8o9z.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({
|
|
@@ -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-CJiiZxtm.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-CJiiZxtm.js").then((n) => n.C);
|
|
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({
|
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-gJ1f8o9z.cjs");
|
|
7
7
|
function installFetchTimeout() {
|
|
8
8
|
const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
|
|
9
9
|
const original = globalThis.fetch;
|
|
@@ -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 Promise.resolve().then(() => require("../shard-runner-
|
|
150
|
+
const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-DEmn6Lgi.cjs"));
|
|
151
151
|
const code = await runSharded({
|
|
152
152
|
shards: shardsOpt ?? "auto",
|
|
153
153
|
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 } 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 } from "../validate-output-CJiiZxtm.js";
|
|
6
6
|
function installFetchTimeout() {
|
|
7
7
|
const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
|
|
8
8
|
const original = globalThis.fetch;
|
|
@@ -146,7 +146,7 @@ Environment:
|
|
|
146
146
|
if (shardsOpt !== null || routesCmd) {
|
|
147
147
|
const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
|
|
148
148
|
const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
|
|
149
|
-
const { runSharded } = await import("../shard-runner-
|
|
149
|
+
const { runSharded } = await import("../shard-runner-tnSCxMng.js");
|
|
150
150
|
const code = await runSharded({
|
|
151
151
|
shards: shardsOpt ?? "auto",
|
|
152
152
|
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-gJ1f8o9z.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.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as buildPageHead, e as primaryContextEntry, h as buildJsonLd, i as extractPageText, B as BloxBuildResponseError, j as bloxBuildJson } from "../validate-output-
|
|
2
|
-
import { k, l, f, m, n, o, q, g, r, s, t, w, x, y, p, a, z, A, u, c, v } from "../validate-output-
|
|
1
|
+
import { d as buildPageHead, e as primaryContextEntry, h as buildJsonLd, i as extractPageText, B as BloxBuildResponseError, j as bloxBuildJson } from "../validate-output-CJiiZxtm.js";
|
|
2
|
+
import { k, l, f, m, n, o, q, g, r, s, t, w, x, y, p, a, z, A, u, c, v } from "../validate-output-CJiiZxtm.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";
|
package/dist/ssg/prerender.d.ts
CHANGED
|
@@ -99,6 +99,17 @@ export declare function prerender({ root, clientOutDir, serverEntry, paths, craw
|
|
|
99
99
|
* prefetch (render resolves inline). Default 8.
|
|
100
100
|
*/
|
|
101
101
|
resolvePrefetchConcurrency, appPaths, includeRoot, routePartsFile, mode, website, websiteId, redirects, llm, }?: PrerenderOptions): Promise<PrerenderResult>;
|
|
102
|
+
/**
|
|
103
|
+
* Collect `<link rel="preload">` tags for the web fonts a page is likely to use.
|
|
104
|
+
*
|
|
105
|
+
* Fonts are usually split into many `@font-face` blocks — one per `unicode-range`
|
|
106
|
+
* subset (latin, latin-ext, cyrillic, greek, vietnamese…) and per weight. Only one
|
|
107
|
+
* subset per (family, weight, style) is ever needed for a given page, so preloading
|
|
108
|
+
* every URL makes the browser fetch megabytes of subsets it will never render,
|
|
109
|
+
* competing with the LCP resource. Prefer the Latin subset of each face and skip
|
|
110
|
+
* the rest; browsers still fetch any other subset on demand via `unicode-range`.
|
|
111
|
+
*/
|
|
112
|
+
export declare function discoverFontPreloads(clientOutDir: string): Promise<string>;
|
|
102
113
|
export declare function injectIntoTemplate(template: string, head: string, appHtml: string, fontPreloads: string, htmlAttrs?: string, teleports?: Record<string, string>): string;
|
|
103
114
|
export declare function injectTeleports(html: string, teleports: Record<string, string>): string;
|
|
104
115
|
export {};
|
|
@@ -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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"}
|
package/dist/ssg/seo.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { PageRead, StructuredData, WebsiteRead } from '../api/types';
|
|
2
|
+
/** True for a site root: `/` or a bare locale prefix (`/it/`, `/es`). */
|
|
3
|
+
export declare function isLocaleHome(url: string, supportedLocales: string[], defaultLocale?: string): boolean;
|
|
2
4
|
/** Resolved page data shape (subset of PageResolveRead). */
|
|
3
5
|
export interface SeoPageData {
|
|
4
6
|
page: PageRead;
|
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;AA+BD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAClC,EAAE,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAC/D,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACd,MAAM,CAgBR;AAED,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,WAAW,GAAG,IAAI,CAAA;IAChC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACnC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KACzE,CAAA;IACD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../../src/ssg/seo.ts"],"names":[],"mappings":"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"}
|
|
@@ -369,6 +369,15 @@ async function polyfillBloxSsgGlobals(options) {
|
|
|
369
369
|
g.window.location = _win.location;
|
|
370
370
|
g.window.document = _win.document;
|
|
371
371
|
}
|
|
372
|
+
function isLocaleHome(url, supportedLocales, defaultLocale) {
|
|
373
|
+
const path2 = (url || "/").split("?")[0].split("#")[0];
|
|
374
|
+
const segments = path2.split("/").filter(Boolean);
|
|
375
|
+
if (segments.length === 0) return true;
|
|
376
|
+
if (segments.length !== 1) return false;
|
|
377
|
+
const [first] = segments;
|
|
378
|
+
if (defaultLocale && first === defaultLocale) return true;
|
|
379
|
+
return supportedLocales.includes(first);
|
|
380
|
+
}
|
|
372
381
|
const URL_KEYS = /* @__PURE__ */ new Set(["url", "image", "logo", "@id"]);
|
|
373
382
|
function absolutizeJsonLd(value, base, pageUrl) {
|
|
374
383
|
if (!base) return value;
|
|
@@ -405,7 +414,7 @@ function buildStructuredData(sd, locale, base, pageUrl) {
|
|
|
405
414
|
}
|
|
406
415
|
}
|
|
407
416
|
function buildPageHead(options) {
|
|
408
|
-
var _a;
|
|
417
|
+
var _a, _b;
|
|
409
418
|
const { url, resolvedData, website, stateScript, locale, override, buildOrigin } = options;
|
|
410
419
|
const parts = [];
|
|
411
420
|
const seo = (website == null ? void 0 : website.seo) ?? {};
|
|
@@ -471,13 +480,17 @@ function buildPageHead(options) {
|
|
|
471
480
|
if (seo.noindex || (page == null ? void 0 : page.noindex) || (override == null ? void 0 : override.noindex)) {
|
|
472
481
|
parts.push('<meta name="robots" content="noindex, nofollow">');
|
|
473
482
|
}
|
|
474
|
-
const
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
483
|
+
const siteScope = (_b = website == null ? void 0 : website.structured_data) == null ? void 0 : _b.scope;
|
|
484
|
+
const onHome = isLocaleHome(url, (website == null ? void 0 : website.supported_locales) ?? [], website == null ? void 0 : website.default_locale);
|
|
485
|
+
if (siteScope !== "home" || onHome) {
|
|
486
|
+
const structuredData = buildStructuredData(
|
|
487
|
+
website == null ? void 0 : website.structured_data,
|
|
488
|
+
locale || (website == null ? void 0 : website.default_locale),
|
|
489
|
+
canonicalBase,
|
|
490
|
+
canonicalBase + url
|
|
491
|
+
);
|
|
492
|
+
if (structuredData) parts.push(structuredData);
|
|
493
|
+
}
|
|
481
494
|
const pageStructuredData = buildStructuredData(
|
|
482
495
|
page == null ? void 0 : page.structured_data,
|
|
483
496
|
locale || (website == null ? void 0 : website.default_locale),
|
|
@@ -1243,7 +1256,56 @@ function makeExcludeChecker(excludePaths) {
|
|
|
1243
1256
|
return false;
|
|
1244
1257
|
};
|
|
1245
1258
|
}
|
|
1259
|
+
const FONT_FACE_RE = /@font-face\s*\{([^}]*)\}/g;
|
|
1260
|
+
const SRC_URL_RE = /url\(\s*(["']?)([^"')\s]+\.woff2)\1\s*\)/;
|
|
1261
|
+
const LATIN_CODE_POINT = 65;
|
|
1262
|
+
function rangeCoversLatin(range) {
|
|
1263
|
+
for (const part of range.split(",")) {
|
|
1264
|
+
const token = part.trim().replace(/^U\+/i, "");
|
|
1265
|
+
if (!token) continue;
|
|
1266
|
+
const [start, end] = token.split("-");
|
|
1267
|
+
const lo = Number.parseInt(start, 16);
|
|
1268
|
+
const hi = end ? Number.parseInt(end, 16) : lo;
|
|
1269
|
+
if (!Number.isFinite(lo) || !Number.isFinite(hi)) continue;
|
|
1270
|
+
if (LATIN_CODE_POINT >= lo && LATIN_CODE_POINT <= hi) return true;
|
|
1271
|
+
}
|
|
1272
|
+
return false;
|
|
1273
|
+
}
|
|
1274
|
+
const CSS_IMPORT_RE = /@import\s+(?:url\(\s*)?["']?(?:https?:)?\/\/([^"')\s]+)["']?\s*\)?/g;
|
|
1275
|
+
async function cssImportHints(cssFiles) {
|
|
1276
|
+
const origins = /* @__PURE__ */ new Set();
|
|
1277
|
+
const imported = [];
|
|
1278
|
+
for (const file of cssFiles) {
|
|
1279
|
+
let css = "";
|
|
1280
|
+
try {
|
|
1281
|
+
css = await fs.readFile(file, "utf8");
|
|
1282
|
+
} catch {
|
|
1283
|
+
continue;
|
|
1284
|
+
}
|
|
1285
|
+
for (const [, rest] of css.matchAll(CSS_IMPORT_RE)) {
|
|
1286
|
+
if (!rest) continue;
|
|
1287
|
+
const href = rest.startsWith("http") ? rest : `https://${rest}`;
|
|
1288
|
+
const isFontCss = /fonts\.googleapis\.com|font-awesome|material-symbols/i.test(href);
|
|
1289
|
+
if (!isFontCss) continue;
|
|
1290
|
+
if (imported.includes(href)) continue;
|
|
1291
|
+
imported.push(href);
|
|
1292
|
+
try {
|
|
1293
|
+
origins.add(new URL(href).origin);
|
|
1294
|
+
} catch {
|
|
1295
|
+
}
|
|
1296
|
+
}
|
|
1297
|
+
}
|
|
1298
|
+
const tags = [];
|
|
1299
|
+
for (const origin of origins) {
|
|
1300
|
+
tags.push(`<link rel="preconnect" href="${origin}" crossorigin>`);
|
|
1301
|
+
}
|
|
1302
|
+
for (const href of imported) {
|
|
1303
|
+
tags.push(`<link rel="preload" as="style" href="${href}">`);
|
|
1304
|
+
}
|
|
1305
|
+
return tags;
|
|
1306
|
+
}
|
|
1246
1307
|
async function discoverFontPreloads(clientOutDir) {
|
|
1308
|
+
var _a, _b, _c, _d, _e;
|
|
1247
1309
|
const assetsDir = path.join(clientOutDir, "assets");
|
|
1248
1310
|
let cssFiles = [];
|
|
1249
1311
|
try {
|
|
@@ -1252,15 +1314,42 @@ async function discoverFontPreloads(clientOutDir) {
|
|
|
1252
1314
|
} catch {
|
|
1253
1315
|
return "";
|
|
1254
1316
|
}
|
|
1255
|
-
const
|
|
1256
|
-
const woff2Re = /url\((["']?)(https?:\/\/[^"')]+\.woff2)\1\)/g;
|
|
1317
|
+
const groups = /* @__PURE__ */ new Map();
|
|
1257
1318
|
for (const file of cssFiles) {
|
|
1258
1319
|
const css = await fs.readFile(file, "utf8");
|
|
1259
|
-
for (const [,
|
|
1260
|
-
|
|
1320
|
+
for (const [, body] of css.matchAll(FONT_FACE_RE)) {
|
|
1321
|
+
const src = SRC_URL_RE.exec(body ?? "");
|
|
1322
|
+
const url = src == null ? void 0 : src[2];
|
|
1323
|
+
if (!url) continue;
|
|
1324
|
+
if (!/^(https?:\/\/|\/)/.test(url)) continue;
|
|
1325
|
+
const family = (((_a = /font-family\s*:\s*([^;]+)/i.exec(body)) == null ? void 0 : _a[1]) ?? "").trim().replace(/^["']|["']$/g, "");
|
|
1326
|
+
const style = (((_b = /font-style\s*:\s*([^;]+)/i.exec(body)) == null ? void 0 : _b[1]) ?? "normal").trim();
|
|
1327
|
+
const weight = (((_c = /font-weight\s*:\s*([^;]+)/i.exec(body)) == null ? void 0 : _c[1]) ?? "400").trim();
|
|
1328
|
+
const rangeRaw = (_e = (_d = /unicode-range\s*:\s*([^;]+)/i.exec(body)) == null ? void 0 : _d[1]) == null ? void 0 : _e.trim();
|
|
1329
|
+
const key = `${family}|${style}|${weight}`;
|
|
1330
|
+
const list = groups.get(key) ?? [];
|
|
1331
|
+
if (list.some((candidate) => candidate.url === url)) continue;
|
|
1332
|
+
list.push({
|
|
1333
|
+
family,
|
|
1334
|
+
style,
|
|
1335
|
+
weight,
|
|
1336
|
+
url,
|
|
1337
|
+
hasRange: Boolean(rangeRaw),
|
|
1338
|
+
coversLatin: rangeRaw ? rangeCoversLatin(rangeRaw) : true
|
|
1339
|
+
});
|
|
1340
|
+
groups.set(key, list);
|
|
1261
1341
|
}
|
|
1262
1342
|
}
|
|
1263
|
-
|
|
1343
|
+
const picked = [];
|
|
1344
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1345
|
+
for (const candidates of groups.values()) {
|
|
1346
|
+
const choice = candidates.find((candidate) => candidate.coversLatin) ?? (candidates.every((candidate) => candidate.hasRange) ? void 0 : candidates[0]);
|
|
1347
|
+
if (!choice || seen.has(choice.url)) continue;
|
|
1348
|
+
seen.add(choice.url);
|
|
1349
|
+
picked.push(choice.url);
|
|
1350
|
+
}
|
|
1351
|
+
const fontTags = picked.map((href) => `<link rel="preload" as="font" type="font/woff2" crossorigin href="${href}">`);
|
|
1352
|
+
return [...await cssImportHints(cssFiles), ...fontTags].join("\n");
|
|
1264
1353
|
}
|
|
1265
1354
|
function injectIntoTemplate(template, head, appHtml, fontPreloads, htmlAttrs = "", teleports = {}) {
|
|
1266
1355
|
let out = template;
|
|
@@ -392,6 +392,15 @@ async function polyfillBloxSsgGlobals(options) {
|
|
|
392
392
|
g.window.location = _win.location;
|
|
393
393
|
g.window.document = _win.document;
|
|
394
394
|
}
|
|
395
|
+
function isLocaleHome(url, supportedLocales, defaultLocale) {
|
|
396
|
+
const path2 = (url || "/").split("?")[0].split("#")[0];
|
|
397
|
+
const segments = path2.split("/").filter(Boolean);
|
|
398
|
+
if (segments.length === 0) return true;
|
|
399
|
+
if (segments.length !== 1) return false;
|
|
400
|
+
const [first] = segments;
|
|
401
|
+
if (defaultLocale && first === defaultLocale) return true;
|
|
402
|
+
return supportedLocales.includes(first);
|
|
403
|
+
}
|
|
395
404
|
const URL_KEYS = /* @__PURE__ */ new Set(["url", "image", "logo", "@id"]);
|
|
396
405
|
function absolutizeJsonLd(value, base, pageUrl) {
|
|
397
406
|
if (!base) return value;
|
|
@@ -428,7 +437,7 @@ function buildStructuredData(sd, locale, base, pageUrl) {
|
|
|
428
437
|
}
|
|
429
438
|
}
|
|
430
439
|
function buildPageHead(options) {
|
|
431
|
-
var _a;
|
|
440
|
+
var _a, _b;
|
|
432
441
|
const { url, resolvedData, website, stateScript, locale, override, buildOrigin } = options;
|
|
433
442
|
const parts = [];
|
|
434
443
|
const seo = (website == null ? void 0 : website.seo) ?? {};
|
|
@@ -494,13 +503,17 @@ function buildPageHead(options) {
|
|
|
494
503
|
if (seo.noindex || (page == null ? void 0 : page.noindex) || (override == null ? void 0 : override.noindex)) {
|
|
495
504
|
parts.push('<meta name="robots" content="noindex, nofollow">');
|
|
496
505
|
}
|
|
497
|
-
const
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
506
|
+
const siteScope = (_b = website == null ? void 0 : website.structured_data) == null ? void 0 : _b.scope;
|
|
507
|
+
const onHome = isLocaleHome(url, (website == null ? void 0 : website.supported_locales) ?? [], website == null ? void 0 : website.default_locale);
|
|
508
|
+
if (siteScope !== "home" || onHome) {
|
|
509
|
+
const structuredData = buildStructuredData(
|
|
510
|
+
website == null ? void 0 : website.structured_data,
|
|
511
|
+
locale || (website == null ? void 0 : website.default_locale),
|
|
512
|
+
canonicalBase,
|
|
513
|
+
canonicalBase + url
|
|
514
|
+
);
|
|
515
|
+
if (structuredData) parts.push(structuredData);
|
|
516
|
+
}
|
|
504
517
|
const pageStructuredData = buildStructuredData(
|
|
505
518
|
page == null ? void 0 : page.structured_data,
|
|
506
519
|
locale || (website == null ? void 0 : website.default_locale),
|
|
@@ -1266,7 +1279,56 @@ function makeExcludeChecker(excludePaths) {
|
|
|
1266
1279
|
return false;
|
|
1267
1280
|
};
|
|
1268
1281
|
}
|
|
1282
|
+
const FONT_FACE_RE = /@font-face\s*\{([^}]*)\}/g;
|
|
1283
|
+
const SRC_URL_RE = /url\(\s*(["']?)([^"')\s]+\.woff2)\1\s*\)/;
|
|
1284
|
+
const LATIN_CODE_POINT = 65;
|
|
1285
|
+
function rangeCoversLatin(range) {
|
|
1286
|
+
for (const part of range.split(",")) {
|
|
1287
|
+
const token = part.trim().replace(/^U\+/i, "");
|
|
1288
|
+
if (!token) continue;
|
|
1289
|
+
const [start, end] = token.split("-");
|
|
1290
|
+
const lo = Number.parseInt(start, 16);
|
|
1291
|
+
const hi = end ? Number.parseInt(end, 16) : lo;
|
|
1292
|
+
if (!Number.isFinite(lo) || !Number.isFinite(hi)) continue;
|
|
1293
|
+
if (LATIN_CODE_POINT >= lo && LATIN_CODE_POINT <= hi) return true;
|
|
1294
|
+
}
|
|
1295
|
+
return false;
|
|
1296
|
+
}
|
|
1297
|
+
const CSS_IMPORT_RE = /@import\s+(?:url\(\s*)?["']?(?:https?:)?\/\/([^"')\s]+)["']?\s*\)?/g;
|
|
1298
|
+
async function cssImportHints(cssFiles) {
|
|
1299
|
+
const origins = /* @__PURE__ */ new Set();
|
|
1300
|
+
const imported = [];
|
|
1301
|
+
for (const file of cssFiles) {
|
|
1302
|
+
let css = "";
|
|
1303
|
+
try {
|
|
1304
|
+
css = await fs.readFile(file, "utf8");
|
|
1305
|
+
} catch {
|
|
1306
|
+
continue;
|
|
1307
|
+
}
|
|
1308
|
+
for (const [, rest] of css.matchAll(CSS_IMPORT_RE)) {
|
|
1309
|
+
if (!rest) continue;
|
|
1310
|
+
const href = rest.startsWith("http") ? rest : `https://${rest}`;
|
|
1311
|
+
const isFontCss = /fonts\.googleapis\.com|font-awesome|material-symbols/i.test(href);
|
|
1312
|
+
if (!isFontCss) continue;
|
|
1313
|
+
if (imported.includes(href)) continue;
|
|
1314
|
+
imported.push(href);
|
|
1315
|
+
try {
|
|
1316
|
+
origins.add(new URL(href).origin);
|
|
1317
|
+
} catch {
|
|
1318
|
+
}
|
|
1319
|
+
}
|
|
1320
|
+
}
|
|
1321
|
+
const tags = [];
|
|
1322
|
+
for (const origin of origins) {
|
|
1323
|
+
tags.push(`<link rel="preconnect" href="${origin}" crossorigin>`);
|
|
1324
|
+
}
|
|
1325
|
+
for (const href of imported) {
|
|
1326
|
+
tags.push(`<link rel="preload" as="style" href="${href}">`);
|
|
1327
|
+
}
|
|
1328
|
+
return tags;
|
|
1329
|
+
}
|
|
1269
1330
|
async function discoverFontPreloads(clientOutDir) {
|
|
1331
|
+
var _a, _b, _c, _d, _e;
|
|
1270
1332
|
const assetsDir = path.join(clientOutDir, "assets");
|
|
1271
1333
|
let cssFiles = [];
|
|
1272
1334
|
try {
|
|
@@ -1275,15 +1337,42 @@ async function discoverFontPreloads(clientOutDir) {
|
|
|
1275
1337
|
} catch {
|
|
1276
1338
|
return "";
|
|
1277
1339
|
}
|
|
1278
|
-
const
|
|
1279
|
-
const woff2Re = /url\((["']?)(https?:\/\/[^"')]+\.woff2)\1\)/g;
|
|
1340
|
+
const groups = /* @__PURE__ */ new Map();
|
|
1280
1341
|
for (const file of cssFiles) {
|
|
1281
1342
|
const css = await fs.readFile(file, "utf8");
|
|
1282
|
-
for (const [,
|
|
1283
|
-
|
|
1343
|
+
for (const [, body] of css.matchAll(FONT_FACE_RE)) {
|
|
1344
|
+
const src = SRC_URL_RE.exec(body ?? "");
|
|
1345
|
+
const url = src == null ? void 0 : src[2];
|
|
1346
|
+
if (!url) continue;
|
|
1347
|
+
if (!/^(https?:\/\/|\/)/.test(url)) continue;
|
|
1348
|
+
const family = (((_a = /font-family\s*:\s*([^;]+)/i.exec(body)) == null ? void 0 : _a[1]) ?? "").trim().replace(/^["']|["']$/g, "");
|
|
1349
|
+
const style = (((_b = /font-style\s*:\s*([^;]+)/i.exec(body)) == null ? void 0 : _b[1]) ?? "normal").trim();
|
|
1350
|
+
const weight = (((_c = /font-weight\s*:\s*([^;]+)/i.exec(body)) == null ? void 0 : _c[1]) ?? "400").trim();
|
|
1351
|
+
const rangeRaw = (_e = (_d = /unicode-range\s*:\s*([^;]+)/i.exec(body)) == null ? void 0 : _d[1]) == null ? void 0 : _e.trim();
|
|
1352
|
+
const key = `${family}|${style}|${weight}`;
|
|
1353
|
+
const list = groups.get(key) ?? [];
|
|
1354
|
+
if (list.some((candidate) => candidate.url === url)) continue;
|
|
1355
|
+
list.push({
|
|
1356
|
+
family,
|
|
1357
|
+
style,
|
|
1358
|
+
weight,
|
|
1359
|
+
url,
|
|
1360
|
+
hasRange: Boolean(rangeRaw),
|
|
1361
|
+
coversLatin: rangeRaw ? rangeCoversLatin(rangeRaw) : true
|
|
1362
|
+
});
|
|
1363
|
+
groups.set(key, list);
|
|
1284
1364
|
}
|
|
1285
1365
|
}
|
|
1286
|
-
|
|
1366
|
+
const picked = [];
|
|
1367
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1368
|
+
for (const candidates of groups.values()) {
|
|
1369
|
+
const choice = candidates.find((candidate) => candidate.coversLatin) ?? (candidates.every((candidate) => candidate.hasRange) ? void 0 : candidates[0]);
|
|
1370
|
+
if (!choice || seen.has(choice.url)) continue;
|
|
1371
|
+
seen.add(choice.url);
|
|
1372
|
+
picked.push(choice.url);
|
|
1373
|
+
}
|
|
1374
|
+
const fontTags = picked.map((href) => `<link rel="preload" as="font" type="font/woff2" crossorigin href="${href}">`);
|
|
1375
|
+
return [...await cssImportHints(cssFiles), ...fontTags].join("\n");
|
|
1287
1376
|
}
|
|
1288
1377
|
function injectIntoTemplate(template, head, appHtml, fontPreloads, htmlAttrs = "", teleports = {}) {
|
|
1289
1378
|
let out = template;
|
package/package.json
CHANGED