gazetta 0.3.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/admin-dist/assets/index-BZAFKsUp.js +608 -0
- package/admin-dist/assets/index-BpRotMuK.css +1 -0
- package/admin-dist/assets/vendor-primevue-BnR1c_bQ.js +2097 -0
- package/admin-dist/assets/vendor-vue-DSjyxCX6.js +1 -0
- package/admin-dist/index.html +4 -4
- package/dist/admin-api/index.d.ts +8 -2
- package/dist/admin-api/index.d.ts.map +1 -1
- package/dist/admin-api/index.js +31 -5
- package/dist/admin-api/index.js.map +1 -1
- package/dist/admin-api/routes/compare.d.ts +2 -1
- package/dist/admin-api/routes/compare.d.ts.map +1 -1
- package/dist/admin-api/routes/compare.js +6 -1
- package/dist/admin-api/routes/compare.js.map +1 -1
- package/dist/admin-api/routes/fragments.d.ts +2 -1
- package/dist/admin-api/routes/fragments.d.ts.map +1 -1
- package/dist/admin-api/routes/fragments.js +3 -1
- package/dist/admin-api/routes/fragments.js.map +1 -1
- package/dist/admin-api/routes/pages.d.ts +2 -1
- package/dist/admin-api/routes/pages.d.ts.map +1 -1
- package/dist/admin-api/routes/pages.js +3 -1
- package/dist/admin-api/routes/pages.js.map +1 -1
- package/dist/admin-api/routes/publish.d.ts +36 -1
- package/dist/admin-api/routes/publish.d.ts.map +1 -1
- package/dist/admin-api/routes/publish.js +216 -53
- package/dist/admin-api/routes/publish.js.map +1 -1
- package/dist/cli/index.js +228 -29
- package/dist/cli/index.js.map +1 -1
- package/dist/compare.d.ts +14 -0
- package/dist/compare.d.ts.map +1 -1
- package/dist/compare.js +44 -38
- 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/editor/mount.js +71 -71
- package/dist/editor/mount.js.map +1 -1
- package/dist/hash.d.ts +15 -0
- package/dist/hash.d.ts.map +1 -1
- package/dist/hash.js +47 -7
- package/dist/hash.js.map +1 -1
- package/dist/publish-rendered.d.ts +6 -5
- package/dist/publish-rendered.d.ts.map +1 -1
- package/dist/publish-rendered.js +39 -44
- package/dist/publish-rendered.js.map +1 -1
- package/dist/publish.d.ts +38 -0
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +154 -14
- package/dist/publish.js.map +1 -1
- package/dist/sidecars.d.ts +56 -0
- package/dist/sidecars.d.ts.map +1 -0
- package/dist/sidecars.js +141 -0
- package/dist/sidecars.js.map +1 -0
- package/dist/site-loader.d.ts.map +1 -1
- package/dist/site-loader.js +13 -10
- package/dist/site-loader.js.map +1 -1
- package/dist/source-sidecars.d.ts +13 -0
- package/dist/source-sidecars.d.ts.map +1 -0
- package/dist/source-sidecars.js +52 -0
- package/dist/source-sidecars.js.map +1 -0
- package/dist/targets.d.ts.map +1 -1
- package/dist/targets.js +21 -6
- package/dist/targets.js.map +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/admin-dist/assets/index-C-xOOPUK.js +0 -604
- package/admin-dist/assets/index-CKOOkleR.css +0 -1
- package/admin-dist/assets/vendor-primevue-BNJTiXAs.js +0 -1670
- package/admin-dist/assets/vendor-vue-GhBrpzPN.js +0 -1
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { streamSSE } from 'hono/streaming';
|
|
3
|
+
import { getPublishMode, getEnvironment } from '../../types.js';
|
|
4
|
+
import { publishItems, resolveDependencies, findFragmentDependents, findDependentsFromSidecars } from '../../publish.js';
|
|
5
|
+
import { listSidecars } from '../../sidecars.js';
|
|
6
|
+
import { mapLimitStream } from '../../concurrency.js';
|
|
4
7
|
import { publishPageRendered, publishPageStatic, publishFragmentRendered, publishSiteManifest, publishFragmentIndex, createCloudflarePurge, lookupCloudflareZoneId } from '../../publish-rendered.js';
|
|
5
8
|
import { loadSite } from '../../site-loader.js';
|
|
6
9
|
import { resolveEnvVars } from '../../targets.js';
|
|
7
10
|
import { scanTemplates, templateHashesFrom } from '../../templates-scan.js';
|
|
8
11
|
import { hashManifest } from '../../hash.js';
|
|
9
|
-
export function publishRoutes(siteDir, sourceStorage, preInitTargets, targetConfigs, templatesDir
|
|
12
|
+
export function publishRoutes(siteDir, sourceStorage, preInitTargets, targetConfigs, templatesDir,
|
|
13
|
+
// Optional injected scanner — the admin-api server memoizes it and
|
|
14
|
+
// clears the cache via its template file watcher. Default: fresh scan
|
|
15
|
+
// on every call (used by the CLI and tests).
|
|
16
|
+
scanTemplatesInjected) {
|
|
17
|
+
const scan = scanTemplatesInjected ?? scanTemplates;
|
|
10
18
|
const app = new Hono();
|
|
11
19
|
// Background target initialization
|
|
12
20
|
let targets = preInitTargets ?? null;
|
|
@@ -32,94 +40,210 @@ export function publishRoutes(siteDir, sourceStorage, preInitTargets, targetConf
|
|
|
32
40
|
}
|
|
33
41
|
app.get('/api/targets', async (c) => {
|
|
34
42
|
const t = await getTargets();
|
|
35
|
-
return c.json([...t.keys()]
|
|
43
|
+
return c.json([...t.keys()].map(name => {
|
|
44
|
+
const cfg = getTargetConfig(name);
|
|
45
|
+
return {
|
|
46
|
+
name,
|
|
47
|
+
environment: cfg ? getEnvironment(cfg) : 'local',
|
|
48
|
+
publishMode: cfg ? getPublishMode(cfg) : 'static',
|
|
49
|
+
};
|
|
50
|
+
}));
|
|
36
51
|
});
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Reverse-dependency lookup for publish UI impact preview.
|
|
54
|
+
* GET /api/dependents?item=fragments/header[&target=staging]
|
|
55
|
+
* → { pages: string[], fragments: string[] }
|
|
56
|
+
*
|
|
57
|
+
* Without `target`: scans local source manifests (authoritative for the
|
|
58
|
+
* current draft state — what's about to be published). Slow-ish on very
|
|
59
|
+
* large sites since it reads every manifest.
|
|
60
|
+
*
|
|
61
|
+
* With `target`: uses published .uses-* / .tpl-* sidecars on that target.
|
|
62
|
+
* Listings only, no content reads — scales to 10k+ items at the cost of
|
|
63
|
+
* reflecting only what's been published (not unsaved local changes).
|
|
64
|
+
* Useful for answering "what pages would need republish if this fragment
|
|
65
|
+
* changed" on large sites.
|
|
66
|
+
*/
|
|
67
|
+
app.get('/api/dependents', async (c) => {
|
|
68
|
+
const item = c.req.query('item');
|
|
69
|
+
if (!item || !item.startsWith('fragments/')) {
|
|
70
|
+
return c.json({ error: 'Missing or invalid "item" query (must be fragments/<name>)' }, 400);
|
|
71
|
+
}
|
|
72
|
+
const fragmentName = item.slice('fragments/'.length);
|
|
73
|
+
const targetName = c.req.query('target');
|
|
74
|
+
try {
|
|
75
|
+
if (targetName) {
|
|
76
|
+
const t = await getTargets();
|
|
77
|
+
const targetStorage = t.get(targetName);
|
|
78
|
+
if (!targetStorage)
|
|
79
|
+
return c.json({ error: `Unknown target: ${targetName}` }, 400);
|
|
80
|
+
const result = await findDependentsFromSidecars(targetStorage, { fragment: fragmentName });
|
|
81
|
+
return c.json(result);
|
|
82
|
+
}
|
|
83
|
+
// Source-side: prefer sidecars (listings only) when present. If the
|
|
84
|
+
// project has any source sidecars, trust them — empty means "no
|
|
85
|
+
// dependents," not "stale." Fall back to a full manifest scan only
|
|
86
|
+
// when sidecars don't exist (e.g. project was never opened in the
|
|
87
|
+
// admin UI).
|
|
88
|
+
const [pagesList, fragmentsList] = await Promise.all([
|
|
89
|
+
listSidecars(sourceStorage, `${siteDir}/pages`),
|
|
90
|
+
listSidecars(sourceStorage, `${siteDir}/fragments`),
|
|
91
|
+
]);
|
|
92
|
+
if (pagesList.size || fragmentsList.size) {
|
|
93
|
+
const result = await findDependentsFromSidecars(sourceStorage, { fragment: fragmentName }, { baseDir: siteDir });
|
|
94
|
+
return c.json(result);
|
|
95
|
+
}
|
|
96
|
+
const result = await findFragmentDependents(sourceStorage, siteDir, fragmentName);
|
|
97
|
+
return c.json(result);
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
return c.json({ error: err.message }, 500);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
/**
|
|
104
|
+
* Run a publish, yielding progress events. Both the synchronous
|
|
105
|
+
* /api/publish route and the streaming /api/publish/stream route consume
|
|
106
|
+
* this generator. Caller can short-circuit by returning false from the
|
|
107
|
+
* iterator (or break) and we'll stop between items — but storage operations
|
|
108
|
+
* already in flight will complete.
|
|
109
|
+
*
|
|
110
|
+
* Pre-flight validation (unknown targets, invalid templates) is reported as
|
|
111
|
+
* 'fatal' before any 'target-start' event so callers can map to a 4xx.
|
|
112
|
+
*/
|
|
113
|
+
async function* runPublish(items, targetNames) {
|
|
114
|
+
if (!items?.length) {
|
|
115
|
+
yield { kind: 'fatal', error: 'No items specified' };
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
if (!targetNames?.length) {
|
|
119
|
+
yield { kind: 'fatal', error: 'No targets specified' };
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
43
122
|
const t = await getTargets();
|
|
44
|
-
for (const name of
|
|
45
|
-
if (!t.has(name))
|
|
46
|
-
|
|
123
|
+
for (const name of targetNames) {
|
|
124
|
+
if (!t.has(name)) {
|
|
125
|
+
yield { kind: 'fatal', error: `Unknown target: ${name}` };
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
47
128
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
console.log(`
|
|
51
|
-
console.log(`
|
|
52
|
-
console.log(` Targets: ${body.targets.join(', ')}`);
|
|
53
|
-
// Validate + hash templates once for this publish run
|
|
129
|
+
const allItems = await resolveDependencies(sourceStorage, siteDir, items);
|
|
130
|
+
console.log(` Publishing to ${targetNames.length} target(s):`);
|
|
131
|
+
console.log(` Items: ${items.join(', ')} (+ ${allItems.length - items.length} dependencies)`);
|
|
132
|
+
console.log(` Targets: ${targetNames.join(', ')}`);
|
|
54
133
|
const tdir = templatesDir ?? `${siteDir}/templates`;
|
|
55
134
|
const projectRoot = siteDir.replace(/\/sites\/[^/]+$/, '');
|
|
56
|
-
const templateInfos = await
|
|
135
|
+
const templateInfos = await scan(tdir, projectRoot);
|
|
57
136
|
const invalidTpls = templateInfos.filter(t => !t.valid);
|
|
58
137
|
if (invalidTpls.length) {
|
|
59
|
-
|
|
138
|
+
yield {
|
|
139
|
+
kind: 'fatal',
|
|
60
140
|
error: 'Cannot publish: invalid templates',
|
|
61
141
|
invalidTemplates: invalidTpls.map(t => ({ name: t.name, errors: t.errors })),
|
|
62
|
-
}
|
|
142
|
+
};
|
|
143
|
+
return;
|
|
63
144
|
}
|
|
64
145
|
const templateHashes = templateHashesFrom(templateInfos);
|
|
65
146
|
const site = await loadSite({ siteDir, storage: sourceStorage, templatesDir: tdir });
|
|
147
|
+
yield { kind: 'start', targets: targetNames, itemsPerTarget: allItems.length };
|
|
66
148
|
const results = [];
|
|
67
|
-
for (const targetName of
|
|
149
|
+
for (const targetName of targetNames) {
|
|
68
150
|
const targetStorage = t.get(targetName);
|
|
151
|
+
const config = getTargetConfig(targetName);
|
|
152
|
+
const isStatic = config ? getPublishMode(config) === 'static' : true;
|
|
153
|
+
const purgeConfig = config?.cache?.purge;
|
|
154
|
+
// Static mode bakes fragments into pages at publish time — if the user
|
|
155
|
+
// picked @header, we must also republish every page that uses it.
|
|
156
|
+
// Expand per-target so ESI targets still get the narrow item set.
|
|
157
|
+
let targetItems = allItems;
|
|
158
|
+
if (isStatic) {
|
|
159
|
+
const fragmentItems = items.filter(i => i.startsWith('fragments/'));
|
|
160
|
+
if (fragmentItems.length) {
|
|
161
|
+
const expanded = new Set(allItems);
|
|
162
|
+
for (const frag of fragmentItems) {
|
|
163
|
+
const name = frag.replace('fragments/', '');
|
|
164
|
+
const deps = await findFragmentDependents(sourceStorage, siteDir, name);
|
|
165
|
+
for (const p of deps.pages)
|
|
166
|
+
expanded.add(`pages/${p}`);
|
|
167
|
+
}
|
|
168
|
+
targetItems = [...expanded];
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
// Step count: source-copy + per-item render + manifest+index + (purge?)
|
|
172
|
+
const total = 1 + targetItems.length + 1 + (purgeConfig?.type === 'cloudflare' ? 1 : 0);
|
|
173
|
+
yield { kind: 'target-start', target: targetName, total };
|
|
174
|
+
let current = 0;
|
|
69
175
|
try {
|
|
70
176
|
let totalFiles = 0;
|
|
71
|
-
// 1.
|
|
72
|
-
const { copiedFiles } = await publishItems(sourceStorage, siteDir, targetStorage, '',
|
|
177
|
+
// 1. Source copy
|
|
178
|
+
const { copiedFiles } = await publishItems(sourceStorage, siteDir, targetStorage, '', targetItems);
|
|
73
179
|
totalFiles += copiedFiles;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
180
|
+
current++;
|
|
181
|
+
yield { kind: 'progress', target: targetName, current, total, label: 'source files' };
|
|
182
|
+
// 2. Render items in bounded parallel. Progress events are yielded
|
|
183
|
+
// in completion order — the UI shows X/N + whatever finished last,
|
|
184
|
+
// which stays meaningful without needing input-order. Preserves the
|
|
185
|
+
// event contract: one 'progress' per item between 'target-start'
|
|
186
|
+
// and 'target-result'.
|
|
187
|
+
// Static-mode page hashes must include fragment hashes (a fragment
|
|
188
|
+
// change invalidates every page that bakes it in). Matches the
|
|
189
|
+
// combination used by compareTargets.
|
|
190
|
+
const fragmentHashes = new Map();
|
|
191
|
+
if (isStatic) {
|
|
192
|
+
for (const [fragName, frag] of site.fragments) {
|
|
193
|
+
fragmentHashes.set(fragName, hashManifest(frag, { templateHashes }));
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const pageHashOpts = isStatic ? { templateHashes, fragmentHashes } : { templateHashes };
|
|
197
|
+
const renderItem = async (item) => {
|
|
78
198
|
if (item.startsWith('pages/')) {
|
|
79
199
|
const pageName = item.replace('pages/', '');
|
|
80
200
|
const page = site.pages.get(pageName);
|
|
81
|
-
const manifestHash = page ? hashManifest(page,
|
|
201
|
+
const manifestHash = page ? hashManifest(page, pageHashOpts) : undefined;
|
|
82
202
|
if (isStatic) {
|
|
83
|
-
|
|
84
|
-
totalFiles += files;
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
const { files } = await publishPageRendered(pageName, sourceStorage, siteDir, targetStorage, config?.cache, tdir, manifestHash);
|
|
88
|
-
totalFiles += files;
|
|
203
|
+
return publishPageStatic(pageName, sourceStorage, siteDir, targetStorage, tdir, manifestHash, site);
|
|
89
204
|
}
|
|
205
|
+
const { files } = await publishPageRendered(pageName, sourceStorage, siteDir, targetStorage, config?.cache, tdir, manifestHash, site);
|
|
206
|
+
return { files };
|
|
90
207
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
totalFiles += files;
|
|
98
|
-
}
|
|
208
|
+
if (item.startsWith('fragments/') && !isStatic) {
|
|
209
|
+
const fragName = item.replace('fragments/', '');
|
|
210
|
+
const frag = site.fragments.get(fragName);
|
|
211
|
+
const manifestHash = frag ? hashManifest(frag, { templateHashes }) : undefined;
|
|
212
|
+
const { files } = await publishFragmentRendered(fragName, sourceStorage, siteDir, targetStorage, tdir, manifestHash, site);
|
|
213
|
+
return { files };
|
|
99
214
|
}
|
|
215
|
+
return { files: 0 }; // skipped (e.g. fragment on static target)
|
|
216
|
+
};
|
|
217
|
+
// Render concurrency is lower than listing concurrency — each render
|
|
218
|
+
// may do multiple writes, so 10 in flight is the safe default.
|
|
219
|
+
for await (const { item, result } of mapLimitStream(targetItems, renderItem, 10)) {
|
|
220
|
+
totalFiles += result.files;
|
|
221
|
+
current++;
|
|
222
|
+
yield { kind: 'progress', target: targetName, current, total, label: item };
|
|
100
223
|
}
|
|
101
224
|
// 3. Site manifest + fragment index
|
|
102
|
-
await publishSiteManifest(sourceStorage, siteDir, targetStorage);
|
|
103
|
-
await publishFragmentIndex(sourceStorage, siteDir, targetStorage);
|
|
225
|
+
await publishSiteManifest(sourceStorage, siteDir, targetStorage, site);
|
|
226
|
+
await publishFragmentIndex(sourceStorage, siteDir, targetStorage, site);
|
|
104
227
|
totalFiles += 2;
|
|
228
|
+
current++;
|
|
229
|
+
yield { kind: 'progress', target: targetName, current, total, label: 'site manifest' };
|
|
105
230
|
// 4. Purge CDN cache
|
|
106
|
-
const purgeConfig = config?.cache?.purge;
|
|
107
231
|
if (purgeConfig?.type === 'cloudflare') {
|
|
108
232
|
const apiToken = resolveEnvVars(purgeConfig.apiToken);
|
|
109
233
|
const zoneId = resolveEnvVars(purgeConfig.zoneId) ?? (config?.siteUrl && apiToken ? await lookupCloudflareZoneId(config.siteUrl, apiToken) : null);
|
|
110
234
|
if (apiToken && zoneId) {
|
|
111
235
|
const purge = createCloudflarePurge(zoneId, apiToken);
|
|
112
|
-
const hasFragments =
|
|
236
|
+
const hasFragments = targetItems.some(i => i.startsWith('fragments/'));
|
|
113
237
|
if (hasFragments) {
|
|
114
238
|
await purge.purgeAll();
|
|
115
239
|
console.log(` ${targetName}: cache purged (all)`);
|
|
116
240
|
}
|
|
117
241
|
else if (config?.siteUrl) {
|
|
118
|
-
const
|
|
119
|
-
const urls =
|
|
242
|
+
const siteForUrls = await loadSite({ siteDir, storage: sourceStorage, templatesDir });
|
|
243
|
+
const urls = targetItems
|
|
120
244
|
.filter(i => i.startsWith('pages/'))
|
|
121
245
|
.map(i => {
|
|
122
|
-
const page =
|
|
246
|
+
const page = siteForUrls.pages.get(i.replace('pages/', ''));
|
|
123
247
|
return page ? `${config.siteUrl}${page.route}` : null;
|
|
124
248
|
})
|
|
125
249
|
.filter(Boolean);
|
|
@@ -129,19 +253,58 @@ export function publishRoutes(siteDir, sourceStorage, preInitTargets, targetConf
|
|
|
129
253
|
}
|
|
130
254
|
}
|
|
131
255
|
}
|
|
256
|
+
current++;
|
|
257
|
+
yield { kind: 'progress', target: targetName, current, total, label: 'cache purge' };
|
|
132
258
|
}
|
|
133
|
-
|
|
259
|
+
const result = { target: targetName, success: true, copiedFiles: totalFiles };
|
|
260
|
+
results.push(result);
|
|
134
261
|
console.log(` ${targetName}: ${totalFiles} files`);
|
|
262
|
+
yield { kind: 'target-result', result };
|
|
135
263
|
}
|
|
136
264
|
catch (err) {
|
|
137
265
|
const error = err.message;
|
|
138
|
-
|
|
266
|
+
const result = { target: targetName, success: false, error, copiedFiles: 0 };
|
|
267
|
+
results.push(result);
|
|
139
268
|
console.error(` ${targetName}: FAILED — ${error}`);
|
|
269
|
+
yield { kind: 'target-result', result };
|
|
140
270
|
}
|
|
141
271
|
}
|
|
272
|
+
yield { kind: 'done', results };
|
|
273
|
+
}
|
|
274
|
+
app.post('/api/publish', async (c) => {
|
|
275
|
+
const body = await c.req.json();
|
|
276
|
+
let results = [];
|
|
277
|
+
let fatal = null;
|
|
278
|
+
for await (const ev of runPublish(body.items, body.targets)) {
|
|
279
|
+
if (ev.kind === 'fatal')
|
|
280
|
+
fatal = ev;
|
|
281
|
+
else if (ev.kind === 'done')
|
|
282
|
+
results = ev.results;
|
|
283
|
+
}
|
|
284
|
+
if (fatal) {
|
|
285
|
+
const status = fatal.error.startsWith('Cannot publish') ? 400 : 400;
|
|
286
|
+
return c.json({ error: fatal.error, ...(fatal.invalidTemplates ? { invalidTemplates: fatal.invalidTemplates } : {}) }, status);
|
|
287
|
+
}
|
|
142
288
|
const allSuccess = results.every(r => r.success);
|
|
143
289
|
return c.json({ results }, allSuccess ? 200 : 207);
|
|
144
290
|
});
|
|
291
|
+
app.post('/api/publish/stream', async (c) => {
|
|
292
|
+
const body = await c.req.json();
|
|
293
|
+
return streamSSE(c, async (stream) => {
|
|
294
|
+
try {
|
|
295
|
+
for await (const ev of runPublish(body.items, body.targets)) {
|
|
296
|
+
if (stream.aborted)
|
|
297
|
+
return;
|
|
298
|
+
await stream.writeSSE({ event: ev.kind, data: JSON.stringify(ev) });
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
catch (err) {
|
|
302
|
+
if (!stream.aborted) {
|
|
303
|
+
await stream.writeSSE({ event: 'fatal', data: JSON.stringify({ kind: 'fatal', error: err.message }) });
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
});
|
|
145
308
|
app.post('/api/fetch', async (c) => {
|
|
146
309
|
const body = await c.req.json();
|
|
147
310
|
if (!body.source)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/admin-api/routes/publish.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/admin-api/routes/publish.ts"],"names":[],"mappings":"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"}
|