gazetta 0.6.0 → 0.7.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-BO9-CXmW.css +1 -0
- package/admin-dist/assets/index-Ufu8zZH_.js +668 -0
- package/admin-dist/index.html +2 -2
- package/dist/admin-api/error-response.d.ts +21 -0
- package/dist/admin-api/error-response.d.ts.map +1 -0
- package/dist/admin-api/error-response.js +12 -0
- package/dist/admin-api/error-response.js.map +1 -0
- package/dist/admin-api/index.d.ts +0 -2
- package/dist/admin-api/index.d.ts.map +1 -1
- package/dist/admin-api/index.js +4 -24
- package/dist/admin-api/index.js.map +1 -1
- package/dist/admin-api/routes/assets.d.ts +16 -0
- package/dist/admin-api/routes/assets.d.ts.map +1 -0
- package/dist/admin-api/routes/assets.js +433 -0
- package/dist/admin-api/routes/assets.js.map +1 -0
- package/dist/admin-api/routes/fragments.d.ts.map +1 -1
- package/dist/admin-api/routes/fragments.js +30 -4
- package/dist/admin-api/routes/fragments.js.map +1 -1
- package/dist/admin-api/routes/pages.d.ts.map +1 -1
- package/dist/admin-api/routes/pages.js +37 -4
- package/dist/admin-api/routes/pages.js.map +1 -1
- package/dist/admin-api/routes/publish.d.ts.map +1 -1
- package/dist/admin-api/routes/publish.js +68 -35
- package/dist/admin-api/routes/publish.js.map +1 -1
- package/dist/admin-api/schemas/assets.d.ts +48 -0
- package/dist/admin-api/schemas/assets.d.ts.map +1 -0
- package/dist/admin-api/schemas/assets.js +44 -0
- package/dist/admin-api/schemas/assets.js.map +1 -0
- package/dist/admin-api/schemas/index.d.ts +2 -0
- package/dist/admin-api/schemas/index.d.ts.map +1 -1
- package/dist/admin-api/schemas/index.js +2 -0
- package/dist/admin-api/schemas/index.js.map +1 -1
- package/dist/admin-api/source-context.d.ts +0 -7
- package/dist/admin-api/source-context.d.ts.map +1 -1
- package/dist/admin-api/source-context.js +0 -3
- package/dist/admin-api/source-context.js.map +1 -1
- package/dist/assets/analyze-audio.d.ts +3 -0
- package/dist/assets/analyze-audio.d.ts.map +1 -0
- package/dist/assets/analyze-audio.js +80 -0
- package/dist/assets/analyze-audio.js.map +1 -0
- package/dist/assets/analyze-image.d.ts +19 -0
- package/dist/assets/analyze-image.d.ts.map +1 -0
- package/dist/assets/analyze-image.js +123 -0
- package/dist/assets/analyze-image.js.map +1 -0
- package/dist/assets/analyze.d.ts +94 -0
- package/dist/assets/analyze.d.ts.map +1 -0
- package/dist/assets/analyze.js +45 -0
- package/dist/assets/analyze.js.map +1 -0
- package/dist/assets/asset-deps.d.ts +30 -0
- package/dist/assets/asset-deps.d.ts.map +1 -0
- package/dist/assets/asset-deps.js +42 -0
- package/dist/assets/asset-deps.js.map +1 -0
- package/dist/assets/asset-paths.d.ts +155 -0
- package/dist/assets/asset-paths.d.ts.map +1 -0
- package/dist/assets/asset-paths.js +197 -0
- package/dist/assets/asset-paths.js.map +1 -0
- package/dist/assets/delete.d.ts +75 -0
- package/dist/assets/delete.d.ts.map +1 -0
- package/dist/assets/delete.js +82 -0
- package/dist/assets/delete.js.map +1 -0
- package/dist/assets/errors.d.ts +241 -0
- package/dist/assets/errors.d.ts.map +1 -0
- package/dist/assets/errors.js +300 -0
- package/dist/assets/errors.js.map +1 -0
- package/dist/assets/find-refs.d.ts +37 -0
- package/dist/assets/find-refs.d.ts.map +1 -0
- package/dist/assets/find-refs.js +35 -0
- package/dist/assets/find-refs.js.map +1 -0
- package/dist/assets/hash.d.ts +13 -0
- package/dist/assets/hash.d.ts.map +1 -0
- package/dist/assets/hash.js +43 -0
- package/dist/assets/hash.js.map +1 -0
- package/dist/assets/image-metadata.d.ts +11 -0
- package/dist/assets/image-metadata.d.ts.map +1 -0
- package/dist/assets/image-metadata.js +31 -0
- package/dist/assets/image-metadata.js.map +1 -0
- package/dist/assets/ingest-locale.d.ts +86 -0
- package/dist/assets/ingest-locale.d.ts.map +1 -0
- package/dist/assets/ingest-locale.js +209 -0
- package/dist/assets/ingest-locale.js.map +1 -0
- package/dist/assets/ingest.d.ts +96 -0
- package/dist/assets/ingest.d.ts.map +1 -0
- package/dist/assets/ingest.js +308 -0
- package/dist/assets/ingest.js.map +1 -0
- package/dist/assets/kind-compat.d.ts +34 -0
- package/dist/assets/kind-compat.d.ts.map +1 -0
- package/dist/assets/kind-compat.js +33 -0
- package/dist/assets/kind-compat.js.map +1 -0
- package/dist/assets/list.d.ts +46 -0
- package/dist/assets/list.d.ts.map +1 -0
- package/dist/assets/list.js +102 -0
- package/dist/assets/list.js.map +1 -0
- package/dist/assets/manifest-default.d.ts +56 -0
- package/dist/assets/manifest-default.d.ts.map +1 -0
- package/dist/assets/manifest-default.js +120 -0
- package/dist/assets/manifest-default.js.map +1 -0
- package/dist/assets/manifest-filename.d.ts +52 -0
- package/dist/assets/manifest-filename.d.ts.map +1 -0
- package/dist/assets/manifest-filename.js +104 -0
- package/dist/assets/manifest-filename.js.map +1 -0
- package/dist/assets/manifest-locale.d.ts +60 -0
- package/dist/assets/manifest-locale.d.ts.map +1 -0
- package/dist/assets/manifest-locale.js +206 -0
- package/dist/assets/manifest-locale.js.map +1 -0
- package/dist/assets/manifest-merge.d.ts +66 -0
- package/dist/assets/manifest-merge.d.ts.map +1 -0
- package/dist/assets/manifest-merge.js +82 -0
- package/dist/assets/manifest-merge.js.map +1 -0
- package/dist/assets/manifest.d.ts +83 -0
- package/dist/assets/manifest.d.ts.map +1 -0
- package/dist/assets/manifest.js +93 -0
- package/dist/assets/manifest.js.map +1 -0
- package/dist/assets/mime-sniff.d.ts +18 -0
- package/dist/assets/mime-sniff.d.ts.map +1 -0
- package/dist/assets/mime-sniff.js +84 -0
- package/dist/assets/mime-sniff.js.map +1 -0
- package/dist/assets/preprocess-svg.d.ts +3 -0
- package/dist/assets/preprocess-svg.d.ts.map +1 -0
- package/dist/assets/preprocess-svg.js +49 -0
- package/dist/assets/preprocess-svg.js.map +1 -0
- package/dist/assets/preprocess.d.ts +62 -0
- package/dist/assets/preprocess.d.ts.map +1 -0
- package/dist/assets/preprocess.js +86 -0
- package/dist/assets/preprocess.js.map +1 -0
- package/dist/assets/publish-plan.d.ts +41 -0
- package/dist/assets/publish-plan.d.ts.map +1 -0
- package/dist/assets/publish-plan.js +49 -0
- package/dist/assets/publish-plan.js.map +1 -0
- package/dist/assets/publish.d.ts +33 -0
- package/dist/assets/publish.d.ts.map +1 -0
- package/dist/assets/publish.js +81 -0
- package/dist/assets/publish.js.map +1 -0
- package/dist/assets/refs.d.ts +37 -0
- package/dist/assets/refs.d.ts.map +1 -0
- package/dist/assets/refs.js +33 -0
- package/dist/assets/refs.js.map +1 -0
- package/dist/assets/remove-override.d.ts +42 -0
- package/dist/assets/remove-override.d.ts.map +1 -0
- package/dist/assets/remove-override.js +53 -0
- package/dist/assets/remove-override.js.map +1 -0
- package/dist/assets/rename.d.ts +43 -0
- package/dist/assets/rename.d.ts.map +1 -0
- package/dist/assets/rename.js +271 -0
- package/dist/assets/rename.js.map +1 -0
- package/dist/assets/replace.d.ts +37 -0
- package/dist/assets/replace.d.ts.map +1 -0
- package/dist/assets/replace.js +195 -0
- package/dist/assets/replace.js.map +1 -0
- package/dist/assets/resolve.d.ts +141 -0
- package/dist/assets/resolve.d.ts.map +1 -0
- package/dist/assets/resolve.js +381 -0
- package/dist/assets/resolve.js.map +1 -0
- package/dist/assets/rewrite-manifest-asset-ref.d.ts +44 -0
- package/dist/assets/rewrite-manifest-asset-ref.d.ts.map +1 -0
- package/dist/assets/rewrite-manifest-asset-ref.js +51 -0
- package/dist/assets/rewrite-manifest-asset-ref.js.map +1 -0
- package/dist/assets/scan-manifest-for-asset.d.ts +63 -0
- package/dist/assets/scan-manifest-for-asset.d.ts.map +1 -0
- package/dist/assets/scan-manifest-for-asset.js +105 -0
- package/dist/assets/scan-manifest-for-asset.js.map +1 -0
- package/dist/assets/serve-route.d.ts +45 -0
- package/dist/assets/serve-route.d.ts.map +1 -0
- package/dist/assets/serve-route.js +123 -0
- package/dist/assets/serve-route.js.map +1 -0
- package/dist/assets/svg-sanitize.d.ts +38 -0
- package/dist/assets/svg-sanitize.d.ts.map +1 -0
- package/dist/assets/svg-sanitize.js +209 -0
- package/dist/assets/svg-sanitize.js.map +1 -0
- package/dist/assets/update-metadata.d.ts +61 -0
- package/dist/assets/update-metadata.d.ts.map +1 -0
- package/dist/assets/update-metadata.js +82 -0
- package/dist/assets/update-metadata.js.map +1 -0
- package/dist/assets/url.d.ts +82 -0
- package/dist/assets/url.d.ts.map +1 -0
- package/dist/assets/url.js +103 -0
- package/dist/assets/url.js.map +1 -0
- package/dist/assets/validate.d.ts +74 -0
- package/dist/assets/validate.d.ts.map +1 -0
- package/dist/assets/validate.js +136 -0
- package/dist/assets/validate.js.map +1 -0
- package/dist/assets/variants.d.ts +23 -0
- package/dist/assets/variants.d.ts.map +1 -0
- package/dist/assets/variants.js +74 -0
- package/dist/assets/variants.js.map +1 -0
- package/dist/cli/assets-cli.d.ts +58 -0
- package/dist/cli/assets-cli.d.ts.map +1 -0
- package/dist/cli/assets-cli.js +233 -0
- package/dist/cli/assets-cli.js.map +1 -0
- package/dist/cli/assets-display.d.ts +112 -0
- package/dist/cli/assets-display.d.ts.map +1 -0
- package/dist/cli/assets-display.js +106 -0
- package/dist/cli/assets-display.js.map +1 -0
- package/dist/cli/bootstrap.d.ts +0 -2
- package/dist/cli/bootstrap.d.ts.map +1 -1
- package/dist/cli/bootstrap.js +0 -1
- package/dist/cli/bootstrap.js.map +1 -1
- package/dist/cli/index.js +64 -18
- package/dist/cli/index.js.map +1 -1
- package/dist/compare.d.ts.map +1 -1
- package/dist/compare.js +15 -12
- package/dist/compare.js.map +1 -1
- package/dist/dep-sidecars.d.ts +127 -0
- package/dist/dep-sidecars.d.ts.map +1 -0
- package/dist/dep-sidecars.js +122 -0
- package/dist/dep-sidecars.js.map +1 -0
- package/dist/editor/AssetEmbeddedWidget.d.ts +3 -0
- package/dist/editor/AssetEmbeddedWidget.d.ts.map +1 -0
- package/dist/editor/AssetEmbeddedWidget.js +146 -0
- package/dist/editor/AssetEmbeddedWidget.js.map +1 -0
- package/dist/editor/mount.d.ts +12 -1
- package/dist/editor/mount.d.ts.map +1 -1
- package/dist/editor/mount.js +36 -5
- package/dist/editor/mount.js.map +1 -1
- package/dist/format.d.ts +44 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +65 -0
- package/dist/format.js.map +1 -0
- package/dist/fragment-deps.d.ts +24 -0
- package/dist/fragment-deps.d.ts.map +1 -0
- package/dist/fragment-deps.js +20 -0
- package/dist/fragment-deps.js.map +1 -0
- package/dist/hash.d.ts +0 -6
- package/dist/hash.d.ts.map +1 -1
- package/dist/hash.js +0 -18
- package/dist/hash.js.map +1 -1
- package/dist/history-provider.d.ts.map +1 -1
- package/dist/history-provider.js +30 -8
- package/dist/history-provider.js.map +1 -1
- package/dist/history-recorder.d.ts +7 -3
- package/dist/history-recorder.d.ts.map +1 -1
- package/dist/history-recorder.js +9 -1
- package/dist/history-recorder.js.map +1 -1
- package/dist/history-restorer.d.ts.map +1 -1
- package/dist/history-restorer.js +34 -2
- package/dist/history-restorer.js.map +1 -1
- package/dist/history.d.ts +26 -8
- package/dist/history.d.ts.map +1 -1
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/locale.d.ts +20 -0
- package/dist/locale.d.ts.map +1 -1
- package/dist/locale.js +38 -0
- package/dist/locale.js.map +1 -1
- package/dist/providers/_atomic-write.d.ts +9 -0
- package/dist/providers/_atomic-write.d.ts.map +1 -0
- package/dist/providers/_atomic-write.js +72 -0
- package/dist/providers/_atomic-write.js.map +1 -0
- package/dist/providers/_rm-ignore-missing.d.ts +31 -0
- package/dist/providers/_rm-ignore-missing.d.ts.map +1 -0
- package/dist/providers/_rm-ignore-missing.js +12 -0
- package/dist/providers/_rm-ignore-missing.js.map +1 -0
- package/dist/providers/_stream-interop.d.ts +23 -0
- package/dist/providers/_stream-interop.d.ts.map +1 -0
- package/dist/providers/_stream-interop.js +21 -0
- package/dist/providers/_stream-interop.js.map +1 -0
- package/dist/providers/azure-blob.d.ts.map +1 -1
- package/dist/providers/azure-blob.js +60 -0
- package/dist/providers/azure-blob.js.map +1 -1
- package/dist/providers/filesystem.d.ts +4 -0
- package/dist/providers/filesystem.d.ts.map +1 -1
- package/dist/providers/filesystem.js +63 -2
- package/dist/providers/filesystem.js.map +1 -1
- package/dist/providers/s3.d.ts.map +1 -1
- package/dist/providers/s3.js +84 -1
- package/dist/providers/s3.js.map +1 -1
- package/dist/publish-rendered.d.ts +37 -17
- package/dist/publish-rendered.d.ts.map +1 -1
- package/dist/publish-rendered.js +71 -67
- package/dist/publish-rendered.js.map +1 -1
- package/dist/publish.d.ts +13 -12
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +23 -47
- package/dist/publish.js.map +1 -1
- package/dist/resolver.d.ts +12 -2
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +54 -9
- package/dist/resolver.js.map +1 -1
- package/dist/schema/dimensions.d.ts +78 -0
- package/dist/schema/dimensions.d.ts.map +1 -0
- package/dist/schema/dimensions.js +97 -0
- package/dist/schema/dimensions.js.map +1 -0
- package/dist/schema/helpers.d.ts +108 -0
- package/dist/schema/helpers.d.ts.map +1 -0
- package/dist/schema/helpers.js +133 -0
- package/dist/schema/helpers.js.map +1 -0
- package/dist/schema/index.d.ts +27 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +25 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/types.d.ts +390 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +25 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/selector-chain.d.ts +63 -0
- package/dist/selector-chain.d.ts.map +1 -0
- package/dist/selector-chain.js +58 -0
- package/dist/selector-chain.js.map +1 -0
- package/dist/sidecars.d.ts +19 -18
- package/dist/sidecars.d.ts.map +1 -1
- package/dist/sidecars.js +70 -62
- package/dist/sidecars.js.map +1 -1
- package/dist/targets.d.ts.map +1 -1
- package/dist/targets.js +15 -37
- package/dist/targets.js.map +1 -1
- package/dist/themes.d.ts +69 -0
- package/dist/themes.d.ts.map +1 -0
- package/dist/themes.js +85 -0
- package/dist/themes.js.map +1 -0
- package/dist/transforms/adapter.d.ts +115 -0
- package/dist/transforms/adapter.d.ts.map +1 -0
- package/dist/transforms/adapter.js +2 -0
- package/dist/transforms/adapter.js.map +1 -0
- package/dist/transforms/cloudflare.d.ts +17 -0
- package/dist/transforms/cloudflare.d.ts.map +1 -0
- package/dist/transforms/cloudflare.js +110 -0
- package/dist/transforms/cloudflare.js.map +1 -0
- package/dist/transforms/index.d.ts +24 -0
- package/dist/transforms/index.d.ts.map +1 -0
- package/dist/transforms/index.js +30 -0
- package/dist/transforms/index.js.map +1 -0
- package/dist/transforms/sharp.d.ts +3 -0
- package/dist/transforms/sharp.d.ts.map +1 -0
- package/dist/transforms/sharp.js +43 -0
- package/dist/transforms/sharp.js.map +1 -0
- package/dist/types.d.ts +125 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +20 -1
- package/admin-dist/assets/index-B6pVot0Y.css +0 -1
- package/admin-dist/assets/index-DniLwxJA.js +0 -609
- package/dist/providers/r2.d.ts +0 -8
- package/dist/providers/r2.d.ts.map +0 -1
- package/dist/providers/r2.js +0 -86
- package/dist/providers/r2.js.map +0 -1
- package/dist/source-sidecars.d.ts +0 -32
- package/dist/source-sidecars.d.ts.map +0 -1
- package/dist/source-sidecars.js +0 -98
- package/dist/source-sidecars.js.map +0 -1
package/dist/providers/r2.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { StorageProvider } from '../types.js';
|
|
2
|
-
export interface R2RestProviderOptions {
|
|
3
|
-
accountId: string;
|
|
4
|
-
bucket: string;
|
|
5
|
-
apiToken: string;
|
|
6
|
-
}
|
|
7
|
-
export declare function createR2RestProvider(options: R2RestProviderOptions): StorageProvider;
|
|
8
|
-
//# sourceMappingURL=r2.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"r2.d.ts","sourceRoot":"","sources":["../../src/providers/r2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,aAAa,CAAA;AAE5D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAID,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,eAAe,CAgFpF"}
|
package/dist/providers/r2.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
const CF_API = 'https://api.cloudflare.com/client/v4';
|
|
2
|
-
export function createR2RestProvider(options) {
|
|
3
|
-
const { accountId, bucket, apiToken } = options;
|
|
4
|
-
const base = `${CF_API}/accounts/${accountId}/r2/buckets/${bucket}/objects`;
|
|
5
|
-
function headers(extra) {
|
|
6
|
-
return { Authorization: `Bearer ${apiToken}`, ...extra };
|
|
7
|
-
}
|
|
8
|
-
return {
|
|
9
|
-
async readFile(path) {
|
|
10
|
-
const res = await fetch(`${base}/${encodeURIComponent(normalizePath(path))}`, { headers: headers() });
|
|
11
|
-
if (!res.ok) {
|
|
12
|
-
if (res.status === 404)
|
|
13
|
-
throw new Error(`File not found: ${path}`);
|
|
14
|
-
throw new Error(`Cannot read ${path}: ${res.status} ${res.statusText}`);
|
|
15
|
-
}
|
|
16
|
-
return await res.text();
|
|
17
|
-
},
|
|
18
|
-
async readDir(path) {
|
|
19
|
-
const prefix = normalizePath(path);
|
|
20
|
-
const prefixWithSlash = prefix ? `${prefix}/` : '';
|
|
21
|
-
const url = `${CF_API}/accounts/${accountId}/r2/buckets/${bucket}/objects?prefix=${encodeURIComponent(prefixWithSlash)}`;
|
|
22
|
-
const res = await fetch(url, { headers: headers() });
|
|
23
|
-
if (!res.ok)
|
|
24
|
-
throw new Error(`Cannot list ${path}: ${res.status}`);
|
|
25
|
-
const data = (await res.json());
|
|
26
|
-
const entries = new Map();
|
|
27
|
-
for (const obj of data.result ?? []) {
|
|
28
|
-
const relativeName = obj.key.slice(prefixWithSlash.length);
|
|
29
|
-
const firstSegment = relativeName.split('/')[0];
|
|
30
|
-
if (!firstSegment)
|
|
31
|
-
continue;
|
|
32
|
-
const isDirectory = relativeName.includes('/');
|
|
33
|
-
if (entries.has(firstSegment) && entries.get(firstSegment))
|
|
34
|
-
continue;
|
|
35
|
-
entries.set(firstSegment, isDirectory);
|
|
36
|
-
}
|
|
37
|
-
return [...entries.entries()].map(([name, isDirectory]) => ({ name, isDirectory }));
|
|
38
|
-
},
|
|
39
|
-
async exists(path) {
|
|
40
|
-
const res = await fetch(`${base}/${encodeURIComponent(normalizePath(path))}`, {
|
|
41
|
-
method: 'HEAD',
|
|
42
|
-
headers: headers(),
|
|
43
|
-
});
|
|
44
|
-
if (res.ok)
|
|
45
|
-
return true;
|
|
46
|
-
// Check as directory prefix
|
|
47
|
-
const url = `${CF_API}/accounts/${accountId}/r2/buckets/${bucket}/objects?prefix=${encodeURIComponent(normalizePath(path) + '/')}&per_page=1`;
|
|
48
|
-
const listRes = await fetch(url, { headers: headers() });
|
|
49
|
-
if (!listRes.ok)
|
|
50
|
-
return false;
|
|
51
|
-
const data = (await listRes.json());
|
|
52
|
-
return (data.result?.length ?? 0) > 0;
|
|
53
|
-
},
|
|
54
|
-
async writeFile(path, content) {
|
|
55
|
-
const body = new TextEncoder().encode(content);
|
|
56
|
-
const res = await fetch(`${base}/${encodeURIComponent(normalizePath(path))}`, {
|
|
57
|
-
method: 'PUT',
|
|
58
|
-
headers: headers({ 'Content-Type': 'text/plain; charset=utf-8' }),
|
|
59
|
-
body,
|
|
60
|
-
});
|
|
61
|
-
if (!res.ok)
|
|
62
|
-
throw new Error(`Cannot write ${path}: ${res.status} ${res.statusText}`);
|
|
63
|
-
},
|
|
64
|
-
async mkdir(_path) {
|
|
65
|
-
// R2 has no directories — implicit from key prefixes
|
|
66
|
-
},
|
|
67
|
-
async rm(path) {
|
|
68
|
-
const key = normalizePath(path);
|
|
69
|
-
// Try deleting as single object
|
|
70
|
-
await fetch(`${base}/${encodeURIComponent(key)}`, { method: 'DELETE', headers: headers() });
|
|
71
|
-
// Delete all objects with this prefix
|
|
72
|
-
const url = `${CF_API}/accounts/${accountId}/r2/buckets/${bucket}/objects?prefix=${encodeURIComponent(key)}`;
|
|
73
|
-
const listRes = await fetch(url, { headers: headers() });
|
|
74
|
-
if (listRes.ok) {
|
|
75
|
-
const data = (await listRes.json());
|
|
76
|
-
for (const obj of data.result ?? []) {
|
|
77
|
-
await fetch(`${base}/${encodeURIComponent(obj.key)}`, { method: 'DELETE', headers: headers() });
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
function normalizePath(path) {
|
|
84
|
-
return path.replace(/^(\.\/|\/)+/, '');
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=r2.js.map
|
package/dist/providers/r2.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"r2.js","sourceRoot":"","sources":["../../src/providers/r2.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { StorageProvider } from './types.js';
|
|
2
|
-
import type { TemplateInfo } from './templates-scan.js';
|
|
3
|
-
import { type ContentRoot } from './content-root.js';
|
|
4
|
-
export interface SourceSidecarWriter {
|
|
5
|
-
writeFor(kind: 'page' | 'fragment', name: string): Promise<void>;
|
|
6
|
-
/**
|
|
7
|
-
* Ensure every page and fragment in the site has sidecars written.
|
|
8
|
-
* Idempotent; concurrent callers share the same in-flight work. Use
|
|
9
|
-
* this before any read path that depends on `.uses-*` / `.tpl-*`
|
|
10
|
-
* sidecars being present (e.g. dependents lookup) — without it, a
|
|
11
|
-
* fresh dev server serves empty results until the first publish.
|
|
12
|
-
*/
|
|
13
|
-
ensureBackfilled(): Promise<void>;
|
|
14
|
-
invalidate(): void;
|
|
15
|
-
}
|
|
16
|
-
export interface SourceSidecarWriterOptions {
|
|
17
|
-
/** Content root for source. Preferred shape. */
|
|
18
|
-
contentRoot?: ContentRoot;
|
|
19
|
-
/** @deprecated Prefer `contentRoot`. */
|
|
20
|
-
storage?: StorageProvider;
|
|
21
|
-
/** @deprecated Prefer `contentRoot`. */
|
|
22
|
-
siteDir?: string;
|
|
23
|
-
scanTemplates: () => Promise<TemplateInfo[]>;
|
|
24
|
-
/** Templates directory — used by `ensureBackfilled` to load the site
|
|
25
|
-
* manifest so it knows which items need sidecars. Without this,
|
|
26
|
-
* `ensureBackfilled` throws. */
|
|
27
|
-
templatesDir?: string;
|
|
28
|
-
/** Project-level manifest — passed to loadSite so targets don't need site.yaml. */
|
|
29
|
-
manifest?: import('./types.js').SiteManifest;
|
|
30
|
-
}
|
|
31
|
-
export declare function createSourceSidecarWriter(opts: SourceSidecarWriterOptions): SourceSidecarWriter;
|
|
32
|
-
//# sourceMappingURL=source-sidecars.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source-sidecars.d.ts","sourceRoot":"","sources":["../src/source-sidecars.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAIvD,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAKvE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE;;;;;;OAMG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,UAAU,IAAI,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,gDAAgD;IAChD,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,wCAAwC;IACxC,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAC5C;;qCAEiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,YAAY,CAAA;CAC7C;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,0BAA0B,GAAG,mBAAmB,CAkF/F"}
|
package/dist/source-sidecars.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Source-side sidecar writer. Keeps `sites/<name>/pages/` and
|
|
3
|
-
* `sites/<name>/fragments/` in the same filename-encoded shape as published
|
|
4
|
-
* targets — .{hash}.hash,
|
|
5
|
-
* .uses-{frag}, .tpl-{template} — so compare and incremental publish can
|
|
6
|
-
* read them without re-hashing manifests.
|
|
7
|
-
*
|
|
8
|
-
* Single responsibility: given (kind, name), hash the manifest with current
|
|
9
|
-
* template hashes and write its three sidecars. Nothing else.
|
|
10
|
-
*
|
|
11
|
-
* Template hashes are cached. A template edit flips every dependent item's
|
|
12
|
-
* content hash, so the file watcher calls invalidate() — next writeFor()
|
|
13
|
-
* rescans.
|
|
14
|
-
*/
|
|
15
|
-
import { join } from 'node:path';
|
|
16
|
-
import { templateHashesFrom } from './templates-scan.js';
|
|
17
|
-
import { hashManifest } from './hash.js';
|
|
18
|
-
import { writeSidecars, collectFragmentRefs, listSidecars } from './sidecars.js';
|
|
19
|
-
import { createContentRoot } from './content-root.js';
|
|
20
|
-
import { loadSite } from './site-loader.js';
|
|
21
|
-
import { mapLimit } from './concurrency.js';
|
|
22
|
-
export function createSourceSidecarWriter(opts) {
|
|
23
|
-
const root = opts.contentRoot ??
|
|
24
|
-
(opts.storage && opts.siteDir !== undefined
|
|
25
|
-
? createContentRoot(opts.storage, opts.siteDir)
|
|
26
|
-
: (() => {
|
|
27
|
-
throw new Error('createSourceSidecarWriter: pass `contentRoot` (or legacy `storage` + `siteDir`)');
|
|
28
|
-
})());
|
|
29
|
-
let templateHashes = null;
|
|
30
|
-
const getTemplateHashes = () => {
|
|
31
|
-
if (!templateHashes)
|
|
32
|
-
templateHashes = opts.scanTemplates().then(templateHashesFrom);
|
|
33
|
-
return templateHashes;
|
|
34
|
-
};
|
|
35
|
-
/** Shared in-flight promise for the "every item has a sidecar" state.
|
|
36
|
-
* Concurrent callers await the same work; subsequent calls after it
|
|
37
|
-
* settles are near-free (one listSidecars + set-diff). Cleared by
|
|
38
|
-
* invalidate() so a template-hash change also re-backfills. */
|
|
39
|
-
let backfillPromise = null;
|
|
40
|
-
async function runBackfill() {
|
|
41
|
-
if (!opts.templatesDir) {
|
|
42
|
-
throw new Error('SourceSidecarWriter.ensureBackfilled requires `templatesDir` in options');
|
|
43
|
-
}
|
|
44
|
-
const site = await loadSite({ contentRoot: root, templatesDir: opts.templatesDir, manifest: opts.manifest });
|
|
45
|
-
const [pagesList, fragmentsList] = await Promise.all([
|
|
46
|
-
listSidecars(root.storage, root.path('pages')),
|
|
47
|
-
listSidecars(root.storage, root.path('fragments')),
|
|
48
|
-
]);
|
|
49
|
-
const missingPages = [...site.pages.keys()].filter(n => !pagesList.has(n));
|
|
50
|
-
const missingFragments = [...site.fragments.keys()].filter(n => !fragmentsList.has(n));
|
|
51
|
-
if (!missingPages.length && !missingFragments.length)
|
|
52
|
-
return;
|
|
53
|
-
await mapLimit([
|
|
54
|
-
...missingPages.map(n => ({ kind: 'page', name: n })),
|
|
55
|
-
...missingFragments.map(n => ({ kind: 'fragment', name: n })),
|
|
56
|
-
], it => writer.writeFor(it.kind, it.name));
|
|
57
|
-
}
|
|
58
|
-
const writer = {
|
|
59
|
-
async writeFor(kind, name) {
|
|
60
|
-
const subdir = kind === 'page' ? 'pages' : 'fragments';
|
|
61
|
-
const manifestName = kind === 'page' ? 'page.json' : 'fragment.json';
|
|
62
|
-
const itemDir = root.path(subdir, name);
|
|
63
|
-
const manifestPath = join(itemDir, manifestName);
|
|
64
|
-
let manifest;
|
|
65
|
-
try {
|
|
66
|
-
manifest = JSON.parse(await root.storage.readFile(manifestPath));
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const hashes = await getTemplateHashes();
|
|
72
|
-
const hash = hashManifest(manifest, { templateHashes: hashes });
|
|
73
|
-
await writeSidecars(root.storage, itemDir, {
|
|
74
|
-
hash,
|
|
75
|
-
uses: collectFragmentRefs(manifest.components),
|
|
76
|
-
template: manifest.template,
|
|
77
|
-
pub: null,
|
|
78
|
-
});
|
|
79
|
-
},
|
|
80
|
-
ensureBackfilled() {
|
|
81
|
-
if (!backfillPromise) {
|
|
82
|
-
backfillPromise = runBackfill().catch(err => {
|
|
83
|
-
// Clear on failure so the next caller retries. Otherwise one
|
|
84
|
-
// transient error would poison backfill for the process lifetime.
|
|
85
|
-
backfillPromise = null;
|
|
86
|
-
throw err;
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
return backfillPromise;
|
|
90
|
-
},
|
|
91
|
-
invalidate() {
|
|
92
|
-
templateHashes = null;
|
|
93
|
-
backfillPromise = null;
|
|
94
|
-
},
|
|
95
|
-
};
|
|
96
|
-
return writer;
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=source-sidecars.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source-sidecars.js","sourceRoot":"","sources":["../src/source-sidecars.ts"],"names":[],"mappings":"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"}
|