@wizzlethorpe/vaults 0.4.0 → 0.5.0
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/build.js +229 -43
- package/dist/build.js.map +1 -1
- package/dist/favicon.js +8 -31
- package/dist/favicon.js.map +1 -1
- package/dist/render/bases.js +64 -5
- package/dist/render/bases.js.map +1 -1
- package/dist/render/callouts.js +4 -1
- package/dist/render/callouts.js.map +1 -1
- package/dist/render/cover.js +41 -0
- package/dist/render/cover.js.map +1 -0
- package/dist/render/layout.js +190 -31
- package/dist/render/layout.js.map +1 -1
- package/dist/render/pipeline.js +11 -5
- package/dist/render/pipeline.js.map +1 -1
- package/dist/render/styles.js +277 -41
- package/dist/render/styles.js.map +1 -1
- package/dist/settings.js +15 -0
- package/dist/settings.js.map +1 -1
- package/package.json +1 -1
package/dist/build.js
CHANGED
|
@@ -10,10 +10,17 @@ import { buildFavicon } from "./favicon.js";
|
|
|
10
10
|
// Any image format that can be referenced via ![[name.ext]]; superset of
|
|
11
11
|
// COMPRESSIBLE_EXT_RE since SVGs/GIFs ship as-is rather than being recoded.
|
|
12
12
|
const IMAGE_EXT_RE = /\.(png|jpe?g|webp|gif|svg|avif|tiff?)$/i;
|
|
13
|
+
// Recognised non-image media that ride alongside the wiki: audio, video,
|
|
14
|
+
// portable docs. Ship per-variant just like images (only into variants
|
|
15
|
+
// whose visible pages reference them) so DM-only audio cues can't leak
|
|
16
|
+
// into the public deploy. Anything outside this list is treated as
|
|
17
|
+
// "unknown" and skipped by default; see the include_unknown_files setting.
|
|
18
|
+
const PASSTHROUGH_EXT_RE = /\.(ogg|mp3|m4a|wav|flac|opus|aac|mp4|webm|mov|ogv|pdf|epub)$/i;
|
|
13
19
|
import { renderMarkdown } from "./render/pipeline.js";
|
|
14
20
|
import { renderLayout, render404 } from "./render/layout.js";
|
|
15
21
|
import { slugify } from "./render/slug.js";
|
|
16
22
|
import { buildPreview } from "./render/preview.js";
|
|
23
|
+
import { resolvePageImage } from "./render/cover.js";
|
|
17
24
|
import { DEFAULT_CSS, renderThemeOverride } from "./render/styles.js";
|
|
18
25
|
import { loadObsidianSnippets } from "./obsidian.js";
|
|
19
26
|
import { loadSettings, writeSettings, SETTINGS_FILE } from "./settings.js";
|
|
@@ -101,7 +108,37 @@ export async function buildSite(opts) {
|
|
|
101
108
|
// .base files are consumed at build time (rendered into HTML where embedded)
|
|
102
109
|
// and never shipped to the deploy.
|
|
103
110
|
const baseFiles = withinLimit.filter((f) => /\.base$/i.test(f.path));
|
|
104
|
-
const
|
|
111
|
+
const passthroughFiles = withinLimit.filter((f) => PASSTHROUGH_EXT_RE.test(f.path)
|
|
112
|
+
&& !IMAGE_EXT_RE.test(f.path)
|
|
113
|
+
&& !/\.md$|\.base$/i.test(f.path));
|
|
114
|
+
// Anything else: skipped by default so role-gated content can't leak
|
|
115
|
+
// through a stray file. include_unknown_files = true folds them into
|
|
116
|
+
// the passthrough pool (still reference-gated). The user-facing
|
|
117
|
+
// warning lists exactly which paths got dropped so unintentional
|
|
118
|
+
// omissions surface immediately.
|
|
119
|
+
const unknownFiles = withinLimit.filter((f) => !/\.md$|\.base$/i.test(f.path)
|
|
120
|
+
&& !IMAGE_EXT_RE.test(f.path)
|
|
121
|
+
&& !PASSTHROUGH_EXT_RE.test(f.path));
|
|
122
|
+
const includeUnknown = settings.values.include_unknown_files;
|
|
123
|
+
if (unknownFiles.length > 0) {
|
|
124
|
+
if (includeUnknown) {
|
|
125
|
+
console.log(` including ${unknownFiles.length} unknown-extension file(s) (include_unknown_files=true)`);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
console.warn(` skipping ${unknownFiles.length} file(s) with unrecognized extensions:`);
|
|
129
|
+
const shown = unknownFiles.slice(0, 10);
|
|
130
|
+
for (const f of shown)
|
|
131
|
+
console.warn(` ${f.path}`);
|
|
132
|
+
if (unknownFiles.length > shown.length) {
|
|
133
|
+
console.warn(` … and ${unknownFiles.length - shown.length} more`);
|
|
134
|
+
}
|
|
135
|
+
console.warn(` Set 'include_unknown_files: true' in settings.md to ship them.`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// Effective passthrough list: recognised media plus (optionally) unknowns.
|
|
139
|
+
const stagedPassthroughs = includeUnknown
|
|
140
|
+
? [...passthroughFiles, ...unknownFiles]
|
|
141
|
+
: passthroughFiles;
|
|
105
142
|
// ── Shared content (read once, reused across roles) ─────────────────────
|
|
106
143
|
const sources = new Map();
|
|
107
144
|
await pMap(markdownFiles, concurrency, async (f) => {
|
|
@@ -167,26 +204,31 @@ export async function buildSite(opts) {
|
|
|
167
204
|
}, (done, total) => progress.update(done, total));
|
|
168
205
|
progress.done(`${imageFiles.length} processed (${cacheHits} cached, ${imageFiles.length - cacheHits} compressed)`);
|
|
169
206
|
}
|
|
170
|
-
// ── Passthrough files (
|
|
171
|
-
// Staged once
|
|
172
|
-
//
|
|
173
|
-
//
|
|
174
|
-
//
|
|
175
|
-
// known limitation.
|
|
207
|
+
// ── Passthrough files (audio, video, PDF, epub) ────────────────────────
|
|
208
|
+
// Staged once and copied into a variant only when a visible page in that
|
|
209
|
+
// variant references the file by basename or relative path. Same gating
|
|
210
|
+
// story as images: a DM-only audio cue can't ride along into the public
|
|
211
|
+
// deploy because no public-tier source mentions it.
|
|
176
212
|
const otherStagingDir = join(opts.outputDir, ".other-staging");
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
progress
|
|
180
|
-
|
|
213
|
+
const passthroughIndex = new Map();
|
|
214
|
+
if (stagedPassthroughs.length > 0) {
|
|
215
|
+
const progress = new Progress("Passthroughs");
|
|
216
|
+
progress.update(0, stagedPassthroughs.length);
|
|
217
|
+
await pMap(stagedPassthroughs, concurrency, async (f) => {
|
|
181
218
|
const dest = join(otherStagingDir, f.path);
|
|
182
219
|
await mkdir(dirname(dest), { recursive: true });
|
|
183
220
|
await copyFile(f.absolute, dest);
|
|
221
|
+
passthroughIndex.set(slugify(f.path.split("/").pop()), {
|
|
222
|
+
sourcePath: f.path,
|
|
223
|
+
outputPath: f.path,
|
|
224
|
+
});
|
|
184
225
|
}, (done, total) => progress.update(done, total));
|
|
185
|
-
progress.done(`${
|
|
226
|
+
progress.done(`${stagedPassthroughs.length} staged`);
|
|
186
227
|
}
|
|
187
228
|
// Shared CSS bundle
|
|
188
229
|
const themeOverride = renderThemeOverride({
|
|
189
230
|
lightAccent: settings.values.accent_color,
|
|
231
|
+
lightBg: settings.values.bg_color,
|
|
190
232
|
});
|
|
191
233
|
await writeFile(join(opts.outputDir, "styles.css"), DEFAULT_CSS + themeOverride);
|
|
192
234
|
const userCss = await loadObsidianSnippets(opts.vaultPath);
|
|
@@ -194,12 +236,13 @@ export async function buildSite(opts) {
|
|
|
194
236
|
if (userCss)
|
|
195
237
|
console.log(` loaded user.css from .obsidian/snippets/`);
|
|
196
238
|
// Favicon; either user-supplied via settings.favicon, or a generated
|
|
197
|
-
// default with the vault's first letter on the
|
|
239
|
+
// default with the vault's first letter in accent on the theme background.
|
|
198
240
|
try {
|
|
199
241
|
const favicon = await buildFavicon({
|
|
200
242
|
vaultPath: opts.vaultPath,
|
|
201
243
|
faviconPath: settings.values.favicon,
|
|
202
244
|
letter: (opts.vaultName || "V").trim().charAt(0).toUpperCase() || "V",
|
|
245
|
+
backgroundColor: settings.values.bg_color || "#f4ecd8",
|
|
203
246
|
accentColor: settings.values.accent_color || "#a8201a",
|
|
204
247
|
});
|
|
205
248
|
await writeFile(join(opts.outputDir, "favicon.ico"), favicon);
|
|
@@ -207,6 +250,18 @@ export async function buildSite(opts) {
|
|
|
207
250
|
catch (err) {
|
|
208
251
|
console.warn(` warning: could not generate favicon: ${err.message}`);
|
|
209
252
|
}
|
|
253
|
+
// ── Resolve per-page cover images ───────────────────────────────────────
|
|
254
|
+
// Computed once against the final imageIndex so OG meta tags, Bases card
|
|
255
|
+
// covers, hover previews, and Foundry actor/item reskin all resolve to the
|
|
256
|
+
// same URL. settings.auto_image flips body-fallback discovery on/off.
|
|
257
|
+
for (const meta of allPageMetas) {
|
|
258
|
+
const src = sources.get(meta.path);
|
|
259
|
+
if (!src)
|
|
260
|
+
continue;
|
|
261
|
+
const cover = resolvePageImage(src, meta.frontmatter, imageIndex, settings.values.auto_image);
|
|
262
|
+
if (cover)
|
|
263
|
+
meta.coverImage = cover;
|
|
264
|
+
}
|
|
210
265
|
// ── Per-role variant builds ─────────────────────────────────────────────
|
|
211
266
|
const perRolePageCount = {};
|
|
212
267
|
const collapseToRoot = roles.length === 1;
|
|
@@ -232,8 +287,8 @@ export async function buildSite(opts) {
|
|
|
232
287
|
baseSources,
|
|
233
288
|
imageIndex,
|
|
234
289
|
imageStagingDir,
|
|
235
|
-
|
|
236
|
-
otherStagingDir,
|
|
290
|
+
passthroughIndex,
|
|
291
|
+
passthroughStagingDir: otherStagingDir,
|
|
237
292
|
settings: settings.values,
|
|
238
293
|
authConfigured: roles.length > 1,
|
|
239
294
|
concurrency,
|
|
@@ -245,7 +300,9 @@ export async function buildSite(opts) {
|
|
|
245
300
|
// Write a per-variant _manifest.json so external clients (Foundry, MCP,
|
|
246
301
|
// etc.) can do an incremental diff. Includes EVERY file that variant
|
|
247
302
|
// serves; html, md, images (as relative paths into shared root), css.
|
|
248
|
-
|
|
303
|
+
// bodyMeta carries per-page Foundry reskin metadata; folded into each
|
|
304
|
+
// body row's hash so meta-only changes trigger a re-sync.
|
|
305
|
+
const manifest = await buildManifest(opts.outputDir, variantDir, stats.bodyMeta, !collapseToRoot, roles, opts.vaultName);
|
|
249
306
|
await writeFile(join(variantDir, "_manifest.json"), JSON.stringify(manifest));
|
|
250
307
|
}
|
|
251
308
|
// ── Pages Functions ─────────────────────────────────────────────────────
|
|
@@ -281,7 +338,7 @@ export async function buildSite(opts) {
|
|
|
281
338
|
roles,
|
|
282
339
|
perRolePageCount,
|
|
283
340
|
imageCount: imageFiles.length,
|
|
284
|
-
otherCount:
|
|
341
|
+
otherCount: stagedPassthroughs.length,
|
|
285
342
|
};
|
|
286
343
|
}
|
|
287
344
|
async function buildVariant(a) {
|
|
@@ -356,6 +413,7 @@ async function buildVariant(a) {
|
|
|
356
413
|
}
|
|
357
414
|
}
|
|
358
415
|
// Pass 2: write layouts + preview JSON.
|
|
416
|
+
const bodyMeta = new Map();
|
|
359
417
|
await pMap(visibleMetas, a.concurrency, async (p) => {
|
|
360
418
|
const r = rendered.get(p.path);
|
|
361
419
|
const backlinkPaths = backlinkMap.get(p.path) ?? new Set();
|
|
@@ -375,6 +433,8 @@ async function buildVariant(a) {
|
|
|
375
433
|
authConfigured: a.authConfigured,
|
|
376
434
|
...(p.mtime != null ? { mtime: p.mtime } : {}),
|
|
377
435
|
...(p.birthtime != null ? { birthtime: p.birthtime } : {}),
|
|
436
|
+
...(p.coverImage ? { coverImage: p.coverImage } : {}),
|
|
437
|
+
...(extractFrontmatterBlock(visibleSources.get(p.path)) ?? {}),
|
|
378
438
|
});
|
|
379
439
|
const outputBase = p.path.replace(/\.md$/i, "");
|
|
380
440
|
const htmlDest = join(a.variantDir, outputBase + ".html");
|
|
@@ -383,7 +443,9 @@ async function buildVariant(a) {
|
|
|
383
443
|
// .body.html holds just the rendered article content (no layout shell).
|
|
384
444
|
// Foundry imports this so callouts/embeds rendered by the vault's
|
|
385
445
|
// remark/rehype pipeline land in journals as-is, no client-side render.
|
|
386
|
-
|
|
446
|
+
const bodyPath = outputBase + ".body.html";
|
|
447
|
+
await writeFile(join(a.variantDir, bodyPath), r.html);
|
|
448
|
+
bodyMeta.set(bodyPath, collectBodyMeta(p));
|
|
387
449
|
const source = visibleSources.get(p.path);
|
|
388
450
|
const preview = await buildPreview(source, r.title);
|
|
389
451
|
await writeFile(join(a.variantDir, outputBase + ".preview.json"), JSON.stringify(preview));
|
|
@@ -410,27 +472,41 @@ async function buildVariant(a) {
|
|
|
410
472
|
await writeFile(join(a.variantDir, "_search-index.json"), JSON.stringify(searchIndex));
|
|
411
473
|
// Copy whichever images this variant's pages reference. Images live only
|
|
412
474
|
// under the variants that need them so guessing a DM-only image URL on
|
|
413
|
-
// the public wiki structurally 404s.
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
//
|
|
417
|
-
//
|
|
418
|
-
//
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
475
|
+
// the public wiki structurally 404s. coverImage feeds in here too so
|
|
476
|
+
// images named via `image:` frontmatter (no body embed) still ship.
|
|
477
|
+
await copyReferencedImages(visibleSources, visibleMetas, a.imageIndex, a.imageStagingDir, a.variantDir);
|
|
478
|
+
// Passthrough files (audio/video/pdf/epub) follow the same gating
|
|
479
|
+
// contract as images: ship only into variants whose visible pages
|
|
480
|
+
// reference the file. A DM-only audio cue can't ride along into the
|
|
481
|
+
// public deploy because no public-tier source mentions it.
|
|
482
|
+
await copyReferencedPassthroughs(visibleSources, a.passthroughIndex, a.passthroughStagingDir, a.variantDir);
|
|
483
|
+
return { pageCount: visibleMetas.length, bodyMeta };
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Build the per-body manifest meta from a page's frontmatter + resolved
|
|
487
|
+
* cover image. `role` always lands so the Foundry side can apply the
|
|
488
|
+
* dmRole permission gate; the foundry_base / image fields are conditional.
|
|
489
|
+
*/
|
|
490
|
+
function collectBodyMeta(p) {
|
|
491
|
+
const fm = p.frontmatter ?? {};
|
|
492
|
+
const out = { role: p.role };
|
|
493
|
+
const basename = p.path.split("/").pop().replace(/\.md$/i, "");
|
|
494
|
+
if (p.title && p.title !== basename)
|
|
495
|
+
out.title = p.title;
|
|
496
|
+
const fb = fm["foundry_base"];
|
|
497
|
+
if (typeof fb === "string" && fb.trim().length > 0) {
|
|
498
|
+
out.foundry_base = fb.trim();
|
|
499
|
+
}
|
|
500
|
+
const fo = fm["foundry"];
|
|
501
|
+
if (fo && typeof fo === "object" && !Array.isArray(fo)) {
|
|
502
|
+
out.foundry = fo;
|
|
429
503
|
}
|
|
430
|
-
|
|
504
|
+
if (p.coverImage)
|
|
505
|
+
out.image = p.coverImage;
|
|
506
|
+
return out;
|
|
431
507
|
}
|
|
432
508
|
const EMBED_RE = /!\[\[([^\[\]|#\n]+?)(?:\|[^\[\]#\n]*)?\]\]/g;
|
|
433
|
-
async function copyReferencedImages(visibleSources, imageIndex, stagingDir, variantDir) {
|
|
509
|
+
async function copyReferencedImages(visibleSources, visibleMetas, imageIndex, stagingDir, variantDir) {
|
|
434
510
|
const refs = new Set();
|
|
435
511
|
for (const source of visibleSources.values()) {
|
|
436
512
|
for (const m of source.matchAll(EMBED_RE)) {
|
|
@@ -442,6 +518,23 @@ async function copyReferencedImages(visibleSources, imageIndex, stagingDir, vari
|
|
|
442
518
|
refs.add(image.outputPath);
|
|
443
519
|
}
|
|
444
520
|
}
|
|
521
|
+
// Pages can name their cover via `image:` frontmatter alone (no body embed);
|
|
522
|
+
// pull those in too. coverImage was resolved to the served URL upstream, so
|
|
523
|
+
// strip the leading slash + decode to get back to the staging-relative path.
|
|
524
|
+
for (const p of visibleMetas) {
|
|
525
|
+
if (!p.coverImage)
|
|
526
|
+
continue;
|
|
527
|
+
if (/^https?:\/\//i.test(p.coverImage))
|
|
528
|
+
continue;
|
|
529
|
+
let outputPath;
|
|
530
|
+
try {
|
|
531
|
+
outputPath = decodeURIComponent(p.coverImage.replace(/^\//, ""));
|
|
532
|
+
}
|
|
533
|
+
catch {
|
|
534
|
+
continue;
|
|
535
|
+
}
|
|
536
|
+
refs.add(outputPath);
|
|
537
|
+
}
|
|
445
538
|
for (const outputPath of refs) {
|
|
446
539
|
const src = join(stagingDir, outputPath);
|
|
447
540
|
const dst = join(variantDir, outputPath);
|
|
@@ -456,6 +549,54 @@ async function copyReferencedImages(visibleSources, imageIndex, stagingDir, vari
|
|
|
456
549
|
}
|
|
457
550
|
}
|
|
458
551
|
}
|
|
552
|
+
// `[label](path/to/file.ext)` style markdown link. Captures the URL part.
|
|
553
|
+
// `\.[a-z0-9]+` requires an extension; we don't want to scoop up plain
|
|
554
|
+
// internal page links (e.g. `(href)` without an extension).
|
|
555
|
+
const MD_LINK_RE = /\[[^\]]*\]\(([^)\s]+\.[a-z0-9]+)(?:\s+["'][^"']*["'])?\)/gi;
|
|
556
|
+
// `[[file.ext]]` and `![[file.ext]]` — Obsidian-flavoured wikilinks/embeds.
|
|
557
|
+
const WIKI_LINK_RE = /!?\[\[([^\[\]|#\n]+\.[a-z0-9]+)(?:\|[^\[\]#\n]*)?(?:#[^\[\]\n]*)?\]\]/gi;
|
|
558
|
+
/**
|
|
559
|
+
* Per-variant reference scan for passthrough files. A file lands in this
|
|
560
|
+
* variant's deploy only if a visible page mentions it — same gating story
|
|
561
|
+
* as images. Match patterns cover Obsidian embeds (`![[file.pdf]]`),
|
|
562
|
+
* Obsidian wikilinks (`[[file.pdf]]`), and standard markdown links
|
|
563
|
+
* (`[label](path/file.pdf)`). Anything not matched is dropped — that's
|
|
564
|
+
* the whole point of the change; a stray DM-only audio cue stays in the
|
|
565
|
+
* dm variant only.
|
|
566
|
+
*/
|
|
567
|
+
async function copyReferencedPassthroughs(visibleSources, passthroughIndex, stagingDir, variantDir) {
|
|
568
|
+
if (passthroughIndex.size === 0)
|
|
569
|
+
return;
|
|
570
|
+
const refs = new Set();
|
|
571
|
+
for (const source of visibleSources.values()) {
|
|
572
|
+
for (const m of source.matchAll(WIKI_LINK_RE)) {
|
|
573
|
+
const name = m[1].trim();
|
|
574
|
+
const entry = passthroughIndex.get(slugify(name.split("/").pop()));
|
|
575
|
+
if (entry)
|
|
576
|
+
refs.add(entry.outputPath);
|
|
577
|
+
}
|
|
578
|
+
for (const m of source.matchAll(MD_LINK_RE)) {
|
|
579
|
+
const name = m[1].trim();
|
|
580
|
+
// Skip http(s) links and anchor-only refs.
|
|
581
|
+
if (/^(https?:|mailto:|#)/i.test(name))
|
|
582
|
+
continue;
|
|
583
|
+
const entry = passthroughIndex.get(slugify(name.split("/").pop()));
|
|
584
|
+
if (entry)
|
|
585
|
+
refs.add(entry.outputPath);
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
for (const outputPath of refs) {
|
|
589
|
+
const src = join(stagingDir, outputPath);
|
|
590
|
+
const dst = join(variantDir, outputPath);
|
|
591
|
+
await mkdir(dirname(dst), { recursive: true });
|
|
592
|
+
try {
|
|
593
|
+
await copyFile(src, dst);
|
|
594
|
+
}
|
|
595
|
+
catch (err) {
|
|
596
|
+
console.warn(` warning: could not copy ${outputPath}: ${err.message}`);
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
}
|
|
459
600
|
/**
|
|
460
601
|
* Build synthesised index.md for any folder (including the root) that has
|
|
461
602
|
* pages but no existing index.md.
|
|
@@ -565,6 +706,20 @@ async function compressImageCached(file, quality, cacheDir, onHit) {
|
|
|
565
706
|
await writeFile(cachePath, compressed.body);
|
|
566
707
|
return { body: compressed.body, outputPath: compressed.outputPath };
|
|
567
708
|
}
|
|
709
|
+
/**
|
|
710
|
+
* Pull the raw `---\n...\n---` frontmatter block out of a markdown source so
|
|
711
|
+
* the layout can show it verbatim (preserving the user's exact formatting,
|
|
712
|
+
* comments, and key order). Returns the inner-block text or null when the
|
|
713
|
+
* page has no frontmatter. The shape `{ frontmatterYaml }` is so callers can
|
|
714
|
+
* spread it directly into the LayoutInput; missing frontmatter contributes
|
|
715
|
+
* nothing to the layout.
|
|
716
|
+
*/
|
|
717
|
+
function extractFrontmatterBlock(source) {
|
|
718
|
+
const m = /^---\r?\n([\s\S]*?)\r?\n---/.exec(source);
|
|
719
|
+
if (!m || !m[1] || !m[1].trim())
|
|
720
|
+
return null;
|
|
721
|
+
return { frontmatterYaml: m[1] };
|
|
722
|
+
}
|
|
568
723
|
function parseFrontmatter(source) {
|
|
569
724
|
const block = /^---\r?\n([\s\S]*?)\r?\n---/.exec(source);
|
|
570
725
|
if (!block)
|
|
@@ -691,24 +846,34 @@ function kindLabel(kind) {
|
|
|
691
846
|
* variant dir but inside the deploy root) are listed too; clients use a
|
|
692
847
|
* single manifest to diff the entire site, not just the role-specific bits.
|
|
693
848
|
*/
|
|
694
|
-
async function buildManifest(rootDir, variantDir) {
|
|
849
|
+
async function buildManifest(rootDir, variantDir, bodyMeta, authRequired, roles, vaultName) {
|
|
695
850
|
const files = [];
|
|
696
851
|
const seen = new Set();
|
|
697
852
|
// Variant-specific files: use pathBase=variantDir so paths come out as
|
|
698
853
|
// "index.html", not "_variants/<role>/index.html". This matches the public
|
|
699
854
|
// URL the client uses; the auth middleware does the variant rewrite.
|
|
700
|
-
await walkAndIndex(variantDir, variantDir, files, seen);
|
|
855
|
+
await walkAndIndex(variantDir, variantDir, files, seen, [], bodyMeta);
|
|
701
856
|
// Shared assets under the deploy root (attachments, css). Skip the variant
|
|
702
857
|
// tree itself and anything inside `functions/` (Function code isn't served).
|
|
703
858
|
if (rootDir !== variantDir) {
|
|
704
859
|
await walkAndIndex(rootDir, rootDir, files, seen, [
|
|
705
860
|
"_variants", "functions", ".image-staging", ".other-staging",
|
|
706
|
-
]);
|
|
861
|
+
], bodyMeta);
|
|
707
862
|
}
|
|
708
863
|
files.sort((a, b) => a.path.localeCompare(b.path));
|
|
709
|
-
|
|
864
|
+
// `auth.required` lets clients (Foundry, MCP) tell up-front whether the
|
|
865
|
+
// deploy has middleware. Single-role builds collapse to a pure-static
|
|
866
|
+
// deploy with no /_batch / /_connect endpoints — clients fall back to
|
|
867
|
+
// direct CDN GETs in that case. `auth.roles` ships the role order
|
|
868
|
+
// (lowest→highest) so clients can rank a page's tier against a chosen
|
|
869
|
+
// cutoff (e.g. Foundry's per-vault dmRole).
|
|
870
|
+
// `name` is the vault's display name (settings.md `vault_name`); clients
|
|
871
|
+
// like the Foundry module use it as the default label + root folder when
|
|
872
|
+
// a user adds the vault, so they get something readable instead of a
|
|
873
|
+
// host-derived slug.
|
|
874
|
+
return { name: vaultName, auth: { required: authRequired, roles }, files };
|
|
710
875
|
}
|
|
711
|
-
async function walkAndIndex(dir, pathBase, out, seen, skipDirNames
|
|
876
|
+
async function walkAndIndex(dir, pathBase, out, seen, skipDirNames, bodyMeta) {
|
|
712
877
|
const entries = await readdir(dir, { withFileTypes: true });
|
|
713
878
|
for (const ent of entries) {
|
|
714
879
|
if (ent.name === "_manifest.json")
|
|
@@ -717,7 +882,7 @@ async function walkAndIndex(dir, pathBase, out, seen, skipDirNames = []) {
|
|
|
717
882
|
if (ent.isDirectory()) {
|
|
718
883
|
if (skipDirNames.includes(ent.name))
|
|
719
884
|
continue;
|
|
720
|
-
await walkAndIndex(abs, pathBase, out, seen, skipDirNames);
|
|
885
|
+
await walkAndIndex(abs, pathBase, out, seen, skipDirNames, bodyMeta);
|
|
721
886
|
continue;
|
|
722
887
|
}
|
|
723
888
|
if (!ent.isFile())
|
|
@@ -728,15 +893,36 @@ async function walkAndIndex(dir, pathBase, out, seen, skipDirNames = []) {
|
|
|
728
893
|
seen.add(path);
|
|
729
894
|
const body = await readFile(abs);
|
|
730
895
|
const info = await stat(abs);
|
|
896
|
+
const meta = bodyMeta.get(path);
|
|
897
|
+
// Fold meta JSON into the hash so meta-only edits (e.g. a foundry_base
|
|
898
|
+
// tweak with no body change) still bump the row hash and trigger sync.
|
|
899
|
+
const hasher = createHash("md5").update(body);
|
|
900
|
+
if (meta)
|
|
901
|
+
hasher.update("\x00meta:" + stableStringify(meta));
|
|
731
902
|
out.push({
|
|
732
903
|
path,
|
|
733
|
-
hash:
|
|
904
|
+
hash: hasher.digest("hex"),
|
|
734
905
|
size: info.size,
|
|
735
906
|
mtime: Math.floor(info.mtimeMs / 1000),
|
|
736
907
|
content_type: contentTypeForExt(ent.name),
|
|
908
|
+
...(meta ? { meta } : {}),
|
|
737
909
|
});
|
|
738
910
|
}
|
|
739
911
|
}
|
|
912
|
+
/**
|
|
913
|
+
* Deterministic JSON encoder. Object keys are sorted recursively so two
|
|
914
|
+
* frontmatters with the same shape but different key order produce the same
|
|
915
|
+
* hash; otherwise the manifest would churn on every YAML reformat.
|
|
916
|
+
*/
|
|
917
|
+
function stableStringify(value) {
|
|
918
|
+
if (value === null || typeof value !== "object")
|
|
919
|
+
return JSON.stringify(value);
|
|
920
|
+
if (Array.isArray(value))
|
|
921
|
+
return "[" + value.map(stableStringify).join(",") + "]";
|
|
922
|
+
const obj = value;
|
|
923
|
+
const keys = Object.keys(obj).sort();
|
|
924
|
+
return "{" + keys.map((k) => JSON.stringify(k) + ":" + stableStringify(obj[k])).join(",") + "}";
|
|
925
|
+
}
|
|
740
926
|
function contentTypeForExt(filename) {
|
|
741
927
|
const ext = filename.split(".").pop()?.toLowerCase() ?? "";
|
|
742
928
|
const map = {
|
package/dist/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
|