gazetta 0.4.0 → 0.6.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/admin-dist/assets/index-B6pVot0Y.css +1 -0
- package/admin-dist/assets/index-DniLwxJA.js +609 -0
- package/admin-dist/assets/{vendor-primevue-BnR1c_bQ.js → vendor-primevue-C0Q_YTCb.js} +330 -431
- package/admin-dist/assets/vendor-vue-D3wBSmDf.js +1 -0
- package/admin-dist/index.html +4 -4
- package/dist/admin-api/index.d.ts +26 -5
- package/dist/admin-api/index.d.ts.map +1 -1
- package/dist/admin-api/index.js +175 -13
- package/dist/admin-api/index.js.map +1 -1
- package/dist/admin-api/routes/compare.d.ts +3 -1
- package/dist/admin-api/routes/compare.d.ts.map +1 -1
- package/dist/admin-api/routes/compare.js +34 -24
- package/dist/admin-api/routes/compare.js.map +1 -1
- package/dist/admin-api/routes/fields.d.ts +2 -2
- package/dist/admin-api/routes/fields.d.ts.map +1 -1
- package/dist/admin-api/routes/fields.js +10 -3
- package/dist/admin-api/routes/fields.js.map +1 -1
- package/dist/admin-api/routes/fragments.d.ts +2 -2
- package/dist/admin-api/routes/fragments.d.ts.map +1 -1
- package/dist/admin-api/routes/fragments.js +94 -19
- package/dist/admin-api/routes/fragments.js.map +1 -1
- package/dist/admin-api/routes/history.d.ts +23 -0
- package/dist/admin-api/routes/history.d.ts.map +1 -0
- package/dist/admin-api/routes/history.js +143 -0
- package/dist/admin-api/routes/history.js.map +1 -0
- package/dist/admin-api/routes/pages.d.ts +2 -2
- package/dist/admin-api/routes/pages.d.ts.map +1 -1
- package/dist/admin-api/routes/pages.js +120 -20
- package/dist/admin-api/routes/pages.js.map +1 -1
- package/dist/admin-api/routes/preview.d.ts +2 -2
- package/dist/admin-api/routes/preview.d.ts.map +1 -1
- package/dist/admin-api/routes/preview.js +50 -15
- package/dist/admin-api/routes/preview.js.map +1 -1
- package/dist/admin-api/routes/publish.d.ts +3 -1
- package/dist/admin-api/routes/publish.d.ts.map +1 -1
- package/dist/admin-api/routes/publish.js +306 -65
- package/dist/admin-api/routes/publish.js.map +1 -1
- package/dist/admin-api/routes/site.d.ts +2 -2
- package/dist/admin-api/routes/site.d.ts.map +1 -1
- package/dist/admin-api/routes/site.js +27 -4
- package/dist/admin-api/routes/site.js.map +1 -1
- package/dist/admin-api/routes/templates.d.ts +2 -2
- package/dist/admin-api/routes/templates.d.ts.map +1 -1
- package/dist/admin-api/routes/templates.js +19 -9
- package/dist/admin-api/routes/templates.js.map +1 -1
- package/dist/admin-api/schemas/compare.d.ts +29 -0
- package/dist/admin-api/schemas/compare.d.ts.map +1 -0
- package/dist/admin-api/schemas/compare.js +30 -0
- package/dist/admin-api/schemas/compare.js.map +1 -0
- package/dist/admin-api/schemas/dependents.d.ts +15 -0
- package/dist/admin-api/schemas/dependents.d.ts.map +1 -0
- package/dist/admin-api/schemas/dependents.js +14 -0
- package/dist/admin-api/schemas/dependents.js.map +1 -0
- package/dist/admin-api/schemas/fetch.d.ts +12 -0
- package/dist/admin-api/schemas/fetch.d.ts.map +1 -0
- package/dist/admin-api/schemas/fetch.js +11 -0
- package/dist/admin-api/schemas/fetch.js.map +1 -0
- package/dist/admin-api/schemas/fields.d.ts +11 -0
- package/dist/admin-api/schemas/fields.d.ts.map +1 -0
- package/dist/admin-api/schemas/fields.js +11 -0
- package/dist/admin-api/schemas/fields.js.map +1 -0
- package/dist/admin-api/schemas/fragments.d.ts +27 -0
- package/dist/admin-api/schemas/fragments.d.ts.map +1 -0
- package/dist/admin-api/schemas/fragments.js +26 -0
- package/dist/admin-api/schemas/fragments.js.map +1 -0
- package/dist/admin-api/schemas/history.d.ts +73 -0
- package/dist/admin-api/schemas/history.d.ts.map +1 -0
- package/dist/admin-api/schemas/history.js +35 -0
- package/dist/admin-api/schemas/history.js.map +1 -0
- package/dist/admin-api/schemas/index.d.ts +32 -0
- package/dist/admin-api/schemas/index.d.ts.map +1 -0
- package/dist/admin-api/schemas/index.js +32 -0
- package/dist/admin-api/schemas/index.js.map +1 -0
- package/dist/admin-api/schemas/pages.d.ts +46 -0
- package/dist/admin-api/schemas/pages.d.ts.map +1 -0
- package/dist/admin-api/schemas/pages.js +47 -0
- package/dist/admin-api/schemas/pages.js.map +1 -0
- package/dist/admin-api/schemas/publish.d.ts +67 -0
- package/dist/admin-api/schemas/publish.d.ts.map +1 -0
- package/dist/admin-api/schemas/publish.js +60 -0
- package/dist/admin-api/schemas/publish.js.map +1 -0
- package/dist/admin-api/schemas/site.d.ts +28 -0
- package/dist/admin-api/schemas/site.d.ts.map +1 -0
- package/dist/admin-api/schemas/site.js +24 -0
- package/dist/admin-api/schemas/site.js.map +1 -0
- package/dist/admin-api/schemas/targets.d.ts +36 -0
- package/dist/admin-api/schemas/targets.d.ts.map +1 -0
- package/dist/admin-api/schemas/targets.js +19 -0
- package/dist/admin-api/schemas/targets.js.map +1 -0
- package/dist/admin-api/schemas/templates.d.ts +17 -0
- package/dist/admin-api/schemas/templates.d.ts.map +1 -0
- package/dist/admin-api/schemas/templates.js +16 -0
- package/dist/admin-api/schemas/templates.js.map +1 -0
- package/dist/admin-api/source-context.d.ts +165 -0
- package/dist/admin-api/source-context.d.ts.map +1 -0
- package/dist/admin-api/source-context.js +95 -0
- package/dist/admin-api/source-context.js.map +1 -0
- package/dist/app.js +1 -1
- package/dist/app.js.map +1 -1
- package/dist/assemble.d.ts.map +1 -1
- package/dist/assemble.js +4 -1
- package/dist/assemble.js.map +1 -1
- package/dist/cli/bootstrap.d.ts +48 -0
- package/dist/cli/bootstrap.d.ts.map +1 -0
- package/dist/cli/bootstrap.js +85 -0
- package/dist/cli/bootstrap.js.map +1 -0
- package/dist/cli/history.d.ts +45 -0
- package/dist/cli/history.d.ts.map +1 -0
- package/dist/cli/history.js +165 -0
- package/dist/cli/history.js.map +1 -0
- package/dist/cli/index.js +691 -113
- package/dist/cli/index.js.map +1 -1
- package/dist/compare.d.ts +15 -5
- package/dist/compare.d.ts.map +1 -1
- package/dist/compare.js +83 -45
- package/dist/compare.js.map +1 -1
- package/dist/concurrency.d.ts +63 -0
- package/dist/concurrency.d.ts.map +1 -0
- package/dist/concurrency.js +134 -0
- package/dist/concurrency.js.map +1 -0
- package/dist/content-root.d.ts +38 -0
- package/dist/content-root.d.ts.map +1 -0
- package/dist/content-root.js +29 -0
- package/dist/content-root.js.map +1 -0
- package/dist/editor/mount.d.ts +1 -1
- package/dist/editor/mount.d.ts.map +1 -1
- package/dist/editor/mount.js +61 -29
- package/dist/editor/mount.js.map +1 -1
- package/dist/hash.d.ts +47 -1
- package/dist/hash.d.ts.map +1 -1
- package/dist/hash.js +107 -10
- package/dist/hash.js.map +1 -1
- package/dist/history-provider.d.ts +49 -0
- package/dist/history-provider.d.ts.map +1 -0
- package/dist/history-provider.js +226 -0
- package/dist/history-provider.js.map +1 -0
- package/dist/history-recorder.d.ts +98 -0
- package/dist/history-recorder.d.ts.map +1 -0
- package/dist/history-recorder.js +160 -0
- package/dist/history-recorder.js.map +1 -0
- package/dist/history-restorer.d.ts +46 -0
- package/dist/history-restorer.d.ts.map +1 -0
- package/dist/history-restorer.js +105 -0
- package/dist/history-restorer.js.map +1 -0
- package/dist/history.d.ts +111 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +25 -0
- package/dist/history.js.map +1 -0
- package/dist/index.d.ts +26 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -3
- package/dist/index.js.map +1 -1
- package/dist/locale.d.ts +74 -0
- package/dist/locale.d.ts.map +1 -0
- package/dist/locale.js +150 -0
- package/dist/locale.js.map +1 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +16 -1
- package/dist/manifest.js.map +1 -1
- package/dist/providers/azure-blob.d.ts.map +1 -1
- package/dist/providers/azure-blob.js.map +1 -1
- package/dist/providers/r2.d.ts.map +1 -1
- package/dist/providers/r2.js +7 -4
- package/dist/providers/r2.js.map +1 -1
- package/dist/providers/s3.d.ts.map +1 -1
- package/dist/providers/s3.js +23 -15
- package/dist/providers/s3.js.map +1 -1
- package/dist/publish-locale.d.ts +44 -0
- package/dist/publish-locale.d.ts.map +1 -0
- package/dist/publish-locale.js +103 -0
- package/dist/publish-locale.js.map +1 -0
- package/dist/publish-rendered.d.ts +17 -5
- package/dist/publish-rendered.d.ts.map +1 -1
- package/dist/publish-rendered.js +114 -66
- package/dist/publish-rendered.js.map +1 -1
- package/dist/publish.d.ts +39 -3
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +166 -17
- package/dist/publish.js.map +1 -1
- package/dist/renderer.d.ts +14 -4
- package/dist/renderer.d.ts.map +1 -1
- package/dist/renderer.js +35 -23
- package/dist/renderer.js.map +1 -1
- package/dist/resolver.d.ts +7 -2
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +66 -15
- package/dist/resolver.js.map +1 -1
- package/dist/robots.d.ts +22 -0
- package/dist/robots.d.ts.map +1 -0
- package/dist/robots.js +25 -0
- package/dist/robots.js.map +1 -0
- package/dist/seo.d.ts +56 -0
- package/dist/seo.d.ts.map +1 -0
- package/dist/seo.js +72 -0
- package/dist/seo.js.map +1 -0
- package/dist/serve.d.ts +41 -3
- package/dist/serve.d.ts.map +1 -1
- package/dist/serve.js +206 -65
- package/dist/serve.js.map +1 -1
- package/dist/sidecars.d.ts +60 -0
- package/dist/sidecars.d.ts.map +1 -0
- package/dist/sidecars.js +231 -0
- package/dist/sidecars.js.map +1 -0
- package/dist/site-loader.d.ts +74 -6
- package/dist/site-loader.d.ts.map +1 -1
- package/dist/site-loader.js +149 -36
- package/dist/site-loader.js.map +1 -1
- package/dist/sitemap.d.ts +45 -0
- package/dist/sitemap.d.ts.map +1 -0
- package/dist/sitemap.js +67 -0
- package/dist/sitemap.js.map +1 -0
- package/dist/source-sidecars.d.ts +32 -0
- package/dist/source-sidecars.d.ts.map +1 -0
- package/dist/source-sidecars.js +98 -0
- package/dist/source-sidecars.js.map +1 -0
- package/dist/targets.d.ts +47 -1
- package/dist/targets.d.ts.map +1 -1
- package/dist/targets.js +78 -9
- package/dist/targets.js.map +1 -1
- package/dist/template-loader.d.ts +7 -3
- package/dist/template-loader.d.ts.map +1 -1
- package/dist/template-loader.js +27 -12
- package/dist/template-loader.js.map +1 -1
- package/dist/templates-scan-worker.js +1 -1
- package/dist/templates-scan-worker.js.map +1 -1
- package/dist/templates-scan.d.ts.map +1 -1
- package/dist/templates-scan.js +1 -1
- package/dist/templates-scan.js.map +1 -1
- package/dist/types.d.ts +116 -9
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +28 -5
- package/dist/types.js.map +1 -1
- package/dist/workers/cloudflare-r2.d.ts +11 -2
- package/dist/workers/cloudflare-r2.d.ts.map +1 -1
- package/dist/workers/cloudflare-r2.js +120 -55
- package/dist/workers/cloudflare-r2.js.map +1 -1
- package/package.json +11 -2
- package/admin-dist/assets/index-Bh_y1d_l.css +0 -1
- package/admin-dist/assets/index-DjGNi6yy.js +0 -608
- package/admin-dist/assets/vendor-vue-DSjyxCX6.js +0 -1
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import type { StorageProvider, PurgeStrategy, CacheConfig } from './types.js';
|
|
2
|
+
import type { Site } from './site-loader.js';
|
|
3
|
+
import { type ContentRoot } from './content-root.js';
|
|
2
4
|
/**
|
|
3
5
|
* Publish a page as HTML with ESI placeholders for fragments.
|
|
4
6
|
* Local components are baked in. Fragment markup is replaced at request time by the worker.
|
|
5
7
|
* CSS is stored as separate hashed files for immutable caching.
|
|
6
8
|
*/
|
|
7
|
-
export declare function publishPageRendered(pageName: string,
|
|
9
|
+
export declare function publishPageRendered(pageName: string, sourceRoot: ContentRoot, targetStorage: StorageProvider, targetCache?: CacheConfig, templatesDir?: string, manifestHash?: string, preloadedSite?: Site,
|
|
10
|
+
/** SEO context for the fallback chain — caller builds from manifest + target config. */
|
|
11
|
+
seo?: import('./seo.js').SeoContext,
|
|
12
|
+
/** Locale for this render pass. When set, resolves locale-specific fragments. */
|
|
13
|
+
locale?: string): Promise<{
|
|
8
14
|
files: number;
|
|
9
15
|
removed: number;
|
|
10
16
|
}>;
|
|
@@ -13,26 +19,32 @@ export declare function publishPageRendered(pageName: string, sourceStorage: Sto
|
|
|
13
19
|
* All components (including fragments) are baked in. CSS/JS inline.
|
|
14
20
|
* For static hosting: GitHub Pages, Netlify, Vercel, any file server.
|
|
15
21
|
*/
|
|
16
|
-
export declare function publishPageStatic(pageName: string,
|
|
22
|
+
export declare function publishPageStatic(pageName: string, sourceRoot: ContentRoot, targetStorage: StorageProvider, templatesDir?: string, manifestHash?: string, preloadedSite?: Site,
|
|
23
|
+
/** SEO context for the fallback chain — caller builds from manifest + target config. */
|
|
24
|
+
seo?: import('./seo.js').SeoContext,
|
|
25
|
+
/** Locale for this render pass. When set, resolves locale-specific content and writes to locale-prefixed path. */
|
|
26
|
+
locale?: string): Promise<{
|
|
17
27
|
files: number;
|
|
18
28
|
}>;
|
|
19
29
|
/**
|
|
20
30
|
* Publish a fragment as HTML with a <head> section for CSS/JS.
|
|
21
31
|
* The worker injects <head> content before </head> and body content at the ESI placeholder.
|
|
22
32
|
*/
|
|
23
|
-
export declare function publishFragmentRendered(fragmentName: string,
|
|
33
|
+
export declare function publishFragmentRendered(fragmentName: string, sourceRoot: ContentRoot, targetStorage: StorageProvider, templatesDir?: string, manifestHash?: string, preloadedSite?: Site,
|
|
34
|
+
/** Locale for this render pass. When set, resolves locale-specific content and writes to index.{locale}.html. */
|
|
35
|
+
locale?: string): Promise<{
|
|
24
36
|
files: number;
|
|
25
37
|
removed: number;
|
|
26
38
|
}>;
|
|
27
39
|
/**
|
|
28
40
|
* Publish site manifest (stripped of targets config).
|
|
29
41
|
*/
|
|
30
|
-
export declare function publishSiteManifest(
|
|
42
|
+
export declare function publishSiteManifest(sourceRoot: ContentRoot, targetStorage: StorageProvider, preloadedSite?: Site): Promise<void>;
|
|
31
43
|
/**
|
|
32
44
|
* Build and store reverse fragment index.
|
|
33
45
|
* Maps each fragment to the list of page routes that use it.
|
|
34
46
|
*/
|
|
35
|
-
export declare function publishFragmentIndex(
|
|
47
|
+
export declare function publishFragmentIndex(sourceRoot: ContentRoot, targetStorage: StorageProvider, preloadedSite?: Site): Promise<Record<string, string[]>>;
|
|
36
48
|
/** Purge via Cloudflare zone cache API */
|
|
37
49
|
export declare function createCloudflarePurge(zoneId: string, apiToken: string): PurgeStrategy;
|
|
38
50
|
/** Look up Cloudflare zone ID from a site URL */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish-rendered.d.ts","sourceRoot":"","sources":["../src/publish-rendered.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"publish-rendered.d.ts","sourceRoot":"","sources":["../src/publish-rendered.ts"],"names":[],"mappings":"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"}
|
package/dist/publish-rendered.js
CHANGED
|
@@ -1,33 +1,13 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { loadSite } from './site-loader.js';
|
|
3
|
-
import { resolvePage,
|
|
3
|
+
import { resolvePage, resolveFragment } from './resolver.js';
|
|
4
4
|
import { renderComponent, renderPage } from './renderer.js';
|
|
5
|
-
import {
|
|
5
|
+
import { writeSidecars, collectFragmentRefs } from './sidecars.js';
|
|
6
|
+
import { createContentRoot } from './content-root.js';
|
|
7
|
+
import { resolveSeoTags, escapeAttr } from './seo.js';
|
|
6
8
|
function contentHash(content) {
|
|
7
9
|
return createHash('md5').update(content).digest('hex').slice(0, 8);
|
|
8
10
|
}
|
|
9
|
-
/**
|
|
10
|
-
* Write a content-hash sidecar (zero-byte file) and remove any older sidecar(s)
|
|
11
|
-
* in the same directory. Used by compare-targets to detect changes via readDir.
|
|
12
|
-
*/
|
|
13
|
-
async function writeSidecar(storage, dir, hash) {
|
|
14
|
-
// Remove stale sidecars first — there should only ever be one per dir
|
|
15
|
-
try {
|
|
16
|
-
const entries = await storage.readDir(dir);
|
|
17
|
-
for (const e of entries) {
|
|
18
|
-
const existing = parseSidecarName(e.name);
|
|
19
|
-
if (existing && existing !== hash) {
|
|
20
|
-
try {
|
|
21
|
-
await storage.rm(`${dir}/${e.name}`);
|
|
22
|
-
}
|
|
23
|
-
catch { /* already gone */ }
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
catch { /* dir doesn't exist yet — mkdir below */ }
|
|
28
|
-
await storage.mkdir(dir);
|
|
29
|
-
await storage.writeFile(`${dir}/${sidecarNameFor(hash)}`, '');
|
|
30
|
-
}
|
|
31
11
|
/** List existing hashed files (styles.*.css, script.*.js) in a directory */
|
|
32
12
|
async function listHashedFiles(storage, dir) {
|
|
33
13
|
try {
|
|
@@ -50,7 +30,9 @@ async function cleanupOldFiles(storage, oldFiles, newFiles) {
|
|
|
50
30
|
await storage.rm(file);
|
|
51
31
|
removed++;
|
|
52
32
|
}
|
|
53
|
-
catch {
|
|
33
|
+
catch {
|
|
34
|
+
/* already gone */
|
|
35
|
+
}
|
|
54
36
|
}
|
|
55
37
|
}
|
|
56
38
|
return removed;
|
|
@@ -60,13 +42,19 @@ async function cleanupOldFiles(storage, oldFiles, newFiles) {
|
|
|
60
42
|
* Local components are baked in. Fragment markup is replaced at request time by the worker.
|
|
61
43
|
* CSS is stored as separate hashed files for immutable caching.
|
|
62
44
|
*/
|
|
63
|
-
export async function publishPageRendered(pageName,
|
|
64
|
-
|
|
45
|
+
export async function publishPageRendered(pageName, sourceRoot, targetStorage, targetCache, templatesDir, manifestHash, preloadedSite,
|
|
46
|
+
/** SEO context for the fallback chain — caller builds from manifest + target config. */
|
|
47
|
+
seo,
|
|
48
|
+
/** Locale for this render pass. When set, resolves locale-specific fragments. */
|
|
49
|
+
locale) {
|
|
50
|
+
// Reuse a preloaded site when the caller already has one (runPublish loops
|
|
51
|
+
// over N items; loading per-item was quadratic). loadSite is idempotent.
|
|
52
|
+
const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, templatesDir }));
|
|
65
53
|
const page = site.pages.get(pageName);
|
|
66
54
|
if (!page)
|
|
67
55
|
throw new Error(`Page "${pageName}" not found`);
|
|
68
56
|
// Scope IDs are now deterministic (hash-based), no reset needed
|
|
69
|
-
const resolved = await resolvePage(pageName, site);
|
|
57
|
+
const resolved = await resolvePage(pageName, site, locale);
|
|
70
58
|
// Render each child — fragments become ESI placeholders, local components baked in
|
|
71
59
|
const bodyParts = [];
|
|
72
60
|
const localCssParts = [];
|
|
@@ -78,7 +66,8 @@ export async function publishPageRendered(pageName, sourceStorage, sourceDir, ta
|
|
|
78
66
|
const isFragment = typeof childEntry === 'string' && childEntry.startsWith('@');
|
|
79
67
|
if (isFragment) {
|
|
80
68
|
const fragName = childEntry.slice(1);
|
|
81
|
-
const
|
|
69
|
+
const fragFile = locale ? `index.${locale}.html` : 'index.html';
|
|
70
|
+
const fragPath = `fragments/${fragName}/${fragFile}`;
|
|
82
71
|
esiHeadTags.push(`<!--esi-head:/${fragPath}-->`);
|
|
83
72
|
bodyParts.push(`<!--esi:/${fragPath}-->`);
|
|
84
73
|
}
|
|
@@ -94,8 +83,9 @@ export async function publishPageRendered(pageName, sourceStorage, sourceDir, ta
|
|
|
94
83
|
}
|
|
95
84
|
}
|
|
96
85
|
// Render page-level template (layout CSS, head tags)
|
|
97
|
-
const
|
|
98
|
-
const
|
|
86
|
+
const lang = seo?.locale || locale || 'en';
|
|
87
|
+
const childOutputs = await Promise.all(resolved.children.map(c => renderComponent(c, undefined, lang)));
|
|
88
|
+
const pageOutput = await resolved.template({ content: resolved.content, children: childOutputs, locale: lang });
|
|
99
89
|
if (pageOutput.css)
|
|
100
90
|
localCssParts.unshift(pageOutput.css);
|
|
101
91
|
if (pageOutput.head)
|
|
@@ -130,21 +120,35 @@ export async function publishPageRendered(pageName, sourceStorage, sourceDir, ta
|
|
|
130
120
|
pageJsLink = `<script type="module" src="/${jsPath}"></script>`;
|
|
131
121
|
fileCount++;
|
|
132
122
|
}
|
|
123
|
+
// SEO tags from the fallback chain — same logic as renderPage uses for
|
|
124
|
+
// static publish. Template head parts are checked for duplicates so the
|
|
125
|
+
// renderer doesn't double-emit tags the template already provides.
|
|
126
|
+
const templateHead = localHeadParts.join('\n');
|
|
127
|
+
const seoHead = resolveSeoTags({
|
|
128
|
+
metadata: page.metadata,
|
|
129
|
+
content: page.content,
|
|
130
|
+
route: page.route,
|
|
131
|
+
seo: seo ?? {},
|
|
132
|
+
templateHead,
|
|
133
|
+
});
|
|
133
134
|
const headContent = [
|
|
134
135
|
`<meta charset="UTF-8">`,
|
|
135
136
|
`<meta name="viewport" content="width=device-width, initial-scale=1.0">`,
|
|
137
|
+
seoHead,
|
|
136
138
|
...localHeadParts,
|
|
137
139
|
pageCssLink,
|
|
138
140
|
...esiHeadTags,
|
|
139
141
|
pageJsLink,
|
|
140
|
-
]
|
|
142
|
+
]
|
|
143
|
+
.filter(Boolean)
|
|
144
|
+
.join('\n ');
|
|
141
145
|
const bodyContent = bodyParts.join('\n');
|
|
142
146
|
// Resolve cache config: page → target → defaults
|
|
143
147
|
const browser = page.cache?.browser ?? targetCache?.browser ?? 0;
|
|
144
148
|
const edge = page.cache?.edge ?? targetCache?.edge ?? 86400;
|
|
145
149
|
const cacheComment = `<!--cache:browser=${browser},edge=${edge}-->\n`;
|
|
146
150
|
const html = `${cacheComment}<!DOCTYPE html>
|
|
147
|
-
<html lang="
|
|
151
|
+
<html lang="${escapeAttr(lang)}">
|
|
148
152
|
<head>
|
|
149
153
|
${headContent}
|
|
150
154
|
</head>
|
|
@@ -152,12 +156,24 @@ export async function publishPageRendered(pageName, sourceStorage, sourceDir, ta
|
|
|
152
156
|
${bodyContent}
|
|
153
157
|
</body>
|
|
154
158
|
</html>`;
|
|
159
|
+
const indexFile = locale ? `index.${locale}.html` : 'index.html';
|
|
155
160
|
await targetStorage.mkdir(pageDir);
|
|
156
|
-
await targetStorage.writeFile(`${pageDir}
|
|
161
|
+
await targetStorage.writeFile(`${pageDir}/${indexFile}`, html);
|
|
157
162
|
fileCount++;
|
|
158
|
-
// Write content-hash sidecar for compare
|
|
159
|
-
|
|
160
|
-
|
|
163
|
+
// Write content-hash sidecar + reverse-dep sidecars for compare/dependents.
|
|
164
|
+
// Locale variants get locale-suffixed sidecars (.hash.fr, .pub.fr);
|
|
165
|
+
// structural sidecars (.uses-*, .tpl-*) are shared (written only for default).
|
|
166
|
+
if (manifestHash) {
|
|
167
|
+
await writeSidecars(targetStorage, pageDir, {
|
|
168
|
+
hash: manifestHash,
|
|
169
|
+
uses: collectFragmentRefs(page.components),
|
|
170
|
+
template: page.template,
|
|
171
|
+
pub: {
|
|
172
|
+
lastPublished: new Date().toISOString(),
|
|
173
|
+
noindex: !!page.metadata?.robots?.includes('noindex'),
|
|
174
|
+
},
|
|
175
|
+
}, locale);
|
|
176
|
+
}
|
|
161
177
|
// Clean up old hashed files
|
|
162
178
|
const removed = await cleanupOldFiles(targetStorage, oldFiles, newFiles);
|
|
163
179
|
return { files: fileCount, removed };
|
|
@@ -167,38 +183,58 @@ ${bodyContent}
|
|
|
167
183
|
* All components (including fragments) are baked in. CSS/JS inline.
|
|
168
184
|
* For static hosting: GitHub Pages, Netlify, Vercel, any file server.
|
|
169
185
|
*/
|
|
170
|
-
export async function publishPageStatic(pageName,
|
|
171
|
-
|
|
186
|
+
export async function publishPageStatic(pageName, sourceRoot, targetStorage, templatesDir, manifestHash, preloadedSite,
|
|
187
|
+
/** SEO context for the fallback chain — caller builds from manifest + target config. */
|
|
188
|
+
seo,
|
|
189
|
+
/** Locale for this render pass. When set, resolves locale-specific content and writes to locale-prefixed path. */
|
|
190
|
+
locale) {
|
|
191
|
+
const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, templatesDir }));
|
|
172
192
|
const page = site.pages.get(pageName);
|
|
173
193
|
if (!page)
|
|
174
194
|
throw new Error(`Page "${pageName}" not found`);
|
|
175
195
|
// Scope IDs are now deterministic (hash-based), no reset needed
|
|
176
|
-
const resolved = await resolvePage(pageName, site);
|
|
177
|
-
const html = await renderPage(resolved
|
|
196
|
+
const resolved = await resolvePage(pageName, site, locale);
|
|
197
|
+
const html = await renderPage(resolved, {
|
|
198
|
+
metadata: page.metadata,
|
|
199
|
+
route: page.route,
|
|
200
|
+
seo,
|
|
201
|
+
});
|
|
178
202
|
// URL path: / → index.html, /about → about/index.html
|
|
179
|
-
|
|
203
|
+
// Locale prefix: /fr/about → fr/about/index.html
|
|
204
|
+
const baseUrlPath = page.route === '/' ? '' : page.route.replace(/^\//, '');
|
|
205
|
+
const urlPath = locale ? (baseUrlPath ? `${locale}/${baseUrlPath}` : locale) : baseUrlPath;
|
|
180
206
|
const outputPath = urlPath ? `${urlPath}/index.html` : 'index.html';
|
|
181
207
|
const outputDir = urlPath || '.';
|
|
182
208
|
await targetStorage.mkdir(outputDir);
|
|
183
209
|
await targetStorage.writeFile(outputPath, html);
|
|
184
|
-
//
|
|
185
|
-
//
|
|
186
|
-
// static serving (routes are / and /{route}, not /pages/*).
|
|
187
|
-
if (manifestHash)
|
|
188
|
-
await
|
|
210
|
+
// Sidecars go under pages/{name}/ regardless of static route layout, so compare
|
|
211
|
+
// + dependents find them the same way as for ESI targets. pages/ doesn't clash
|
|
212
|
+
// with static serving (routes are / and /{route}, not /pages/*).
|
|
213
|
+
if (manifestHash) {
|
|
214
|
+
await writeSidecars(targetStorage, `pages/${pageName}`, {
|
|
215
|
+
hash: manifestHash,
|
|
216
|
+
uses: collectFragmentRefs(page.components),
|
|
217
|
+
template: page.template,
|
|
218
|
+
pub: {
|
|
219
|
+
lastPublished: new Date().toISOString(),
|
|
220
|
+
noindex: !!page.metadata?.robots?.includes('noindex'),
|
|
221
|
+
},
|
|
222
|
+
});
|
|
223
|
+
}
|
|
189
224
|
return { files: 1 };
|
|
190
225
|
}
|
|
191
226
|
/**
|
|
192
227
|
* Publish a fragment as HTML with a <head> section for CSS/JS.
|
|
193
228
|
* The worker injects <head> content before </head> and body content at the ESI placeholder.
|
|
194
229
|
*/
|
|
195
|
-
export async function publishFragmentRendered(fragmentName,
|
|
196
|
-
|
|
230
|
+
export async function publishFragmentRendered(fragmentName, sourceRoot, targetStorage, templatesDir, manifestHash, preloadedSite,
|
|
231
|
+
/** Locale for this render pass. When set, resolves locale-specific content and writes to index.{locale}.html. */
|
|
232
|
+
locale) {
|
|
233
|
+
const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, templatesDir }));
|
|
197
234
|
const fragment = site.fragments.get(fragmentName);
|
|
198
235
|
if (!fragment)
|
|
199
236
|
throw new Error(`Fragment "${fragmentName}" not found`);
|
|
200
|
-
const
|
|
201
|
-
const resolved = await resolveComponent(`@${fragmentName}`, ctx);
|
|
237
|
+
const resolved = await resolveFragment(fragmentName, site, locale);
|
|
202
238
|
// Scope IDs are now deterministic (hash-based), no reset needed
|
|
203
239
|
const rendered = await renderComponent(resolved);
|
|
204
240
|
const fragDir = `fragments/${fragmentName}`;
|
|
@@ -232,12 +268,21 @@ export async function publishFragmentRendered(fragmentName, sourceStorage, sourc
|
|
|
232
268
|
// Build fragment HTML
|
|
233
269
|
const headSection = headParts.length ? `<head>\n${headParts.join('\n')}\n</head>\n` : '';
|
|
234
270
|
const fragmentHtml = `${headSection}${rendered.html}`;
|
|
271
|
+
const indexFile = locale ? `index.${locale}.html` : 'index.html';
|
|
235
272
|
await targetStorage.mkdir(fragDir);
|
|
236
|
-
await targetStorage.writeFile(`${fragDir}
|
|
273
|
+
await targetStorage.writeFile(`${fragDir}/${indexFile}`, fragmentHtml);
|
|
237
274
|
fileCount++;
|
|
238
|
-
// Write content-hash sidecar for compare
|
|
239
|
-
|
|
240
|
-
|
|
275
|
+
// Write content-hash sidecar + reverse-dep sidecars for compare/dependents.
|
|
276
|
+
// Locale variants get locale-suffixed sidecars (.hash.fr);
|
|
277
|
+
// structural sidecars (.uses-*, .tpl-*) are shared (written only for default).
|
|
278
|
+
if (manifestHash) {
|
|
279
|
+
await writeSidecars(targetStorage, fragDir, {
|
|
280
|
+
hash: manifestHash,
|
|
281
|
+
uses: collectFragmentRefs(fragment.components),
|
|
282
|
+
template: fragment.template,
|
|
283
|
+
pub: null,
|
|
284
|
+
}, locale);
|
|
285
|
+
}
|
|
241
286
|
// Clean up old hashed files
|
|
242
287
|
const removed = await cleanupOldFiles(targetStorage, oldFiles, newFiles);
|
|
243
288
|
return { files: fileCount, removed };
|
|
@@ -245,8 +290,8 @@ export async function publishFragmentRendered(fragmentName, sourceStorage, sourc
|
|
|
245
290
|
/**
|
|
246
291
|
* Publish site manifest (stripped of targets config).
|
|
247
292
|
*/
|
|
248
|
-
export async function publishSiteManifest(
|
|
249
|
-
const site = await loadSite({
|
|
293
|
+
export async function publishSiteManifest(sourceRoot, targetStorage, preloadedSite) {
|
|
294
|
+
const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot }));
|
|
250
295
|
const manifest = { name: site.manifest.name, version: site.manifest.version };
|
|
251
296
|
await targetStorage.writeFile('site.json', JSON.stringify(manifest));
|
|
252
297
|
}
|
|
@@ -254,8 +299,8 @@ export async function publishSiteManifest(sourceStorage, sourceDir, targetStorag
|
|
|
254
299
|
* Build and store reverse fragment index.
|
|
255
300
|
* Maps each fragment to the list of page routes that use it.
|
|
256
301
|
*/
|
|
257
|
-
export async function publishFragmentIndex(
|
|
258
|
-
const site = await loadSite({
|
|
302
|
+
export async function publishFragmentIndex(sourceRoot, targetStorage, preloadedSite) {
|
|
303
|
+
const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot }));
|
|
259
304
|
const index = {};
|
|
260
305
|
for (const [_pageName, page] of site.pages) {
|
|
261
306
|
if (!page.components)
|
|
@@ -275,7 +320,7 @@ export async function publishFragmentIndex(sourceStorage, sourceDir, targetStora
|
|
|
275
320
|
/** Purge via Cloudflare zone cache API */
|
|
276
321
|
export function createCloudflarePurge(zoneId, apiToken) {
|
|
277
322
|
const apiBase = `https://api.cloudflare.com/client/v4/zones/${zoneId}/purge_cache`;
|
|
278
|
-
const headers = { 'Content-Type': 'application/json',
|
|
323
|
+
const headers = { 'Content-Type': 'application/json', Authorization: `Bearer ${apiToken}` };
|
|
279
324
|
return {
|
|
280
325
|
async purgeAll() {
|
|
281
326
|
const res = await fetch(apiBase, { method: 'POST', headers, body: JSON.stringify({ purge_everything: true }) });
|
|
@@ -297,14 +342,14 @@ export async function lookupCloudflareZoneId(siteUrl, apiToken) {
|
|
|
297
342
|
});
|
|
298
343
|
if (!res.ok)
|
|
299
344
|
return null;
|
|
300
|
-
const data = await res.json();
|
|
345
|
+
const data = (await res.json());
|
|
301
346
|
return data.result?.[0]?.id ?? null;
|
|
302
347
|
}
|
|
303
348
|
/**
|
|
304
349
|
* Publish a fragment and purge affected pages.
|
|
305
350
|
*/
|
|
306
351
|
export async function publishFragmentWithPurge(fragmentName, sourceStorage, sourceDir, targetStorage, purge, purgeMode = 'all') {
|
|
307
|
-
const result = await publishFragmentRendered(fragmentName, sourceStorage, sourceDir, targetStorage);
|
|
352
|
+
const result = await publishFragmentRendered(fragmentName, createContentRoot(sourceStorage, sourceDir), targetStorage);
|
|
308
353
|
if (purgeMode === 'all') {
|
|
309
354
|
await purge.purgeAll();
|
|
310
355
|
return { ...result, purgedUrls: ['*'] };
|
|
@@ -313,7 +358,9 @@ export async function publishFragmentWithPurge(fragmentName, sourceStorage, sour
|
|
|
313
358
|
try {
|
|
314
359
|
index = JSON.parse(await targetStorage.readFile('index/fragments.json'));
|
|
315
360
|
}
|
|
316
|
-
catch {
|
|
361
|
+
catch {
|
|
362
|
+
/* no index yet */
|
|
363
|
+
}
|
|
317
364
|
const urls = index[`@${fragmentName}`] ?? [];
|
|
318
365
|
if (urls.length > 0) {
|
|
319
366
|
await purge.purgeUrls(urls);
|
|
@@ -324,12 +371,13 @@ export async function publishFragmentWithPurge(fragmentName, sourceStorage, sour
|
|
|
324
371
|
* Publish a page and purge its URL.
|
|
325
372
|
*/
|
|
326
373
|
export async function publishPageWithPurge(pageName, sourceStorage, sourceDir, targetStorage, purge) {
|
|
327
|
-
const
|
|
328
|
-
const
|
|
374
|
+
const sourceRoot = createContentRoot(sourceStorage, sourceDir);
|
|
375
|
+
const result = await publishPageRendered(pageName, sourceRoot, targetStorage);
|
|
376
|
+
const site = await loadSite({ contentRoot: sourceRoot });
|
|
329
377
|
const page = site.pages.get(pageName);
|
|
330
378
|
if (page)
|
|
331
379
|
await purge.purgeUrls([page.route]);
|
|
332
|
-
await publishFragmentIndex(
|
|
380
|
+
await publishFragmentIndex(sourceRoot, targetStorage);
|
|
333
381
|
return { ...result, purgedUrls: page ? [page.route] : [] };
|
|
334
382
|
}
|
|
335
383
|
//# sourceMappingURL=publish-rendered.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish-rendered.js","sourceRoot":"","sources":["../src/publish-rendered.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"publish-rendered.js","sourceRoot":"","sources":["../src/publish-rendered.ts"],"names":[],"mappings":"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"}
|
package/dist/publish.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ContentRoot } from './content-root.js';
|
|
2
2
|
export interface PublishRequest {
|
|
3
3
|
source: string;
|
|
4
4
|
targets: string[];
|
|
@@ -15,12 +15,48 @@ export interface PublishResult {
|
|
|
15
15
|
* Items are relative paths like "pages/home" or "fragments/header".
|
|
16
16
|
* All files under each item directory are copied recursively.
|
|
17
17
|
*/
|
|
18
|
-
export declare function publishItems(
|
|
18
|
+
export declare function publishItems(sourceRoot: ContentRoot, targetRoot: ContentRoot, items: string[]): Promise<{
|
|
19
19
|
copiedFiles: number;
|
|
20
20
|
}>;
|
|
21
21
|
/**
|
|
22
22
|
* Resolve dependencies for published items.
|
|
23
23
|
* Given a list of items (pages/fragments), find all referenced templates and fragments.
|
|
24
24
|
*/
|
|
25
|
-
export declare function resolveDependencies(
|
|
25
|
+
export declare function resolveDependencies(sourceRoot: ContentRoot, items: string[]): Promise<string[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Reverse-dependency lookup: given a fragment name, return the pages and
|
|
28
|
+
* fragments that reference it (transitively). Used by the admin UI to show
|
|
29
|
+
* "publishing @header affects: home, about, blog".
|
|
30
|
+
*
|
|
31
|
+
* On static targets, those pages need to be republished too — fragments are
|
|
32
|
+
* baked into pages at publish time. On ESI targets, republishing the fragment
|
|
33
|
+
* alone suffices because the edge composer resolves @fragments per request.
|
|
34
|
+
*/
|
|
35
|
+
export declare function findFragmentDependents(sourceRoot: ContentRoot, fragmentName: string): Promise<{
|
|
36
|
+
pages: string[];
|
|
37
|
+
fragments: string[];
|
|
38
|
+
}>;
|
|
39
|
+
/**
|
|
40
|
+
* Fast path for finding dependents against a *published* target.
|
|
41
|
+
*
|
|
42
|
+
* Uses `.uses-{fragment}` and `.tpl-{template}` sidecar filenames (written by
|
|
43
|
+
* writeSidecar in publish-rendered.ts). Needs listings only — no content
|
|
44
|
+
* reads, no JSON parsing. Scales to 10k pages at the cost of one LIST call
|
|
45
|
+
* per item directory.
|
|
46
|
+
*
|
|
47
|
+
* Handles transitive fragment→fragment dependencies: if @inner is referenced
|
|
48
|
+
* by @outer which is referenced by pages/home, querying "@inner" returns
|
|
49
|
+
* home and @outer.
|
|
50
|
+
*
|
|
51
|
+
* Works against target storage (rooted at target base) or source storage
|
|
52
|
+
* (pass `baseDir: siteDir` so the walker descends into `siteDir/pages`).
|
|
53
|
+
*/
|
|
54
|
+
export declare function findDependentsFromSidecars(sourceRoot: ContentRoot, query: {
|
|
55
|
+
fragment: string;
|
|
56
|
+
} | {
|
|
57
|
+
template: string;
|
|
58
|
+
}): Promise<{
|
|
59
|
+
pages: string[];
|
|
60
|
+
fragments: string[];
|
|
61
|
+
}>;
|
|
26
62
|
//# sourceMappingURL=publish.d.ts.map
|
package/dist/publish.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAIpD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBlC;AA8CD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUrG;AA4DD;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAEnD;AA0ED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA6CnD"}
|