gazetta 0.5.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/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/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 +19 -6
- package/dist/admin-api/index.d.ts.map +1 -1
- package/dist/admin-api/index.js +137 -21
- 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/compare.d.ts +2 -1
- package/dist/admin-api/routes/compare.d.ts.map +1 -1
- package/dist/admin-api/routes/compare.js +33 -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 -3
- package/dist/admin-api/routes/fragments.d.ts.map +1 -1
- package/dist/admin-api/routes/fragments.js +120 -21
- 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 -3
- package/dist/admin-api/routes/pages.d.ts.map +1 -1
- package/dist/admin-api/routes/pages.js +153 -22
- 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 +2 -1
- package/dist/admin-api/routes/publish.d.ts.map +1 -1
- package/dist/admin-api/routes/publish.js +259 -79
- 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/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/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 +34 -0
- package/dist/admin-api/schemas/index.d.ts.map +1 -0
- package/dist/admin-api/schemas/index.js +34 -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 +158 -0
- package/dist/admin-api/source-context.d.ts.map +1 -0
- package/dist/admin-api/source-context.js +92 -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/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 +46 -0
- package/dist/cli/bootstrap.d.ts.map +1 -0
- package/dist/cli/bootstrap.js +84 -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 +689 -128
- package/dist/cli/index.js.map +1 -1
- package/dist/compare.d.ts +8 -5
- package/dist/compare.d.ts.map +1 -1
- package/dist/compare.js +62 -20
- package/dist/compare.js.map +1 -1
- 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/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 +96 -33
- 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 +34 -9
- package/dist/hash.d.ts.map +1 -1
- package/dist/hash.js +60 -21
- 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 +248 -0
- package/dist/history-provider.js.map +1 -0
- package/dist/history-recorder.d.ts +102 -0
- package/dist/history-recorder.d.ts.map +1 -0
- package/dist/history-recorder.js +168 -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 +137 -0
- package/dist/history-restorer.js.map +1 -0
- package/dist/history.d.ts +129 -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 +27 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/locale.d.ts +94 -0
- package/dist/locale.d.ts.map +1 -0
- package/dist/locale.js +188 -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/_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 +107 -16
- 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 +52 -21
- package/dist/publish-rendered.d.ts.map +1 -1
- package/dist/publish-rendered.js +144 -87
- package/dist/publish-rendered.js.map +1 -1
- package/dist/publish.d.ts +18 -19
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +41 -56
- 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 +17 -2
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +112 -16
- 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/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/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 +26 -21
- package/dist/sidecars.d.ts.map +1 -1
- package/dist/sidecars.js +143 -45
- package/dist/sidecars.js.map +1 -1
- package/dist/site-loader.d.ts +74 -6
- package/dist/site-loader.d.ts.map +1 -1
- package/dist/site-loader.js +138 -28
- 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/targets.d.ts +47 -1
- package/dist/targets.d.ts.map +1 -1
- package/dist/targets.js +83 -36
- 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/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 +241 -10
- 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 +30 -2
- package/admin-dist/assets/index-BZAFKsUp.js +0 -608
- package/admin-dist/assets/index-BpRotMuK.css +0 -1
- package/admin-dist/assets/vendor-vue-DSjyxCX6.js +0 -1
- package/dist/providers/r2.d.ts +0 -8
- package/dist/providers/r2.d.ts.map +0 -1
- package/dist/providers/r2.js +0 -83
- package/dist/providers/r2.js.map +0 -1
- package/dist/source-sidecars.d.ts +0 -13
- package/dist/source-sidecars.d.ts.map +0 -1
- package/dist/source-sidecars.js +0 -52
- package/dist/source-sidecars.js.map +0 -1
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;AAGpD,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;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAoBnD"}
|
package/dist/publish.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { join } from 'node:path';
|
|
2
|
-
import { listSidecars } from './sidecars.js';
|
|
3
2
|
import { mapLimit } from './concurrency.js';
|
|
4
3
|
/**
|
|
5
4
|
* Copy items from source storage to target storage.
|
|
6
5
|
* Items are relative paths like "pages/home" or "fragments/header".
|
|
7
6
|
* All files under each item directory are copied recursively.
|
|
8
7
|
*/
|
|
9
|
-
export async function publishItems(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
//
|
|
8
|
+
export async function publishItems(sourceRoot, targetRoot, items) {
|
|
9
|
+
const { storage: sourceStorage, rootPath: sourceBase } = sourceRoot;
|
|
10
|
+
const { storage: targetStorage, rootPath: targetBase } = targetRoot;
|
|
11
|
+
// Copy items in parallel (bounded).
|
|
13
12
|
const counts = await mapLimit(items, async (item) => {
|
|
14
13
|
const sourcePath = join(sourceBase, item);
|
|
15
14
|
const targetPath = join(targetBase, item);
|
|
@@ -39,7 +38,7 @@ async function copyRecursive(source, sourcePath, target, targetPath) {
|
|
|
39
38
|
// Not a file — try as directory
|
|
40
39
|
}
|
|
41
40
|
// Try as directory
|
|
42
|
-
if (!await source.exists(sourcePath))
|
|
41
|
+
if (!(await source.exists(sourcePath)))
|
|
43
42
|
return 0;
|
|
44
43
|
const entries = await source.readDir(sourcePath);
|
|
45
44
|
await target.mkdir(targetPath);
|
|
@@ -66,7 +65,8 @@ function dirname(path) {
|
|
|
66
65
|
* Resolve dependencies for published items.
|
|
67
66
|
* Given a list of items (pages/fragments), find all referenced templates and fragments.
|
|
68
67
|
*/
|
|
69
|
-
export async function resolveDependencies(
|
|
68
|
+
export async function resolveDependencies(sourceRoot, items) {
|
|
69
|
+
const { storage, rootPath: siteBase } = sourceRoot;
|
|
70
70
|
const allItems = new Set(items);
|
|
71
71
|
const visited = new Set();
|
|
72
72
|
for (const item of items) {
|
|
@@ -126,7 +126,10 @@ async function collectComponentDeps(components, storage, siteBase, allItems, vis
|
|
|
126
126
|
* baked into pages at publish time. On ESI targets, republishing the fragment
|
|
127
127
|
* alone suffices because the edge composer resolves @fragments per request.
|
|
128
128
|
*/
|
|
129
|
-
export async function findFragmentDependents(
|
|
129
|
+
export async function findFragmentDependents(sourceRoot, fragmentName) {
|
|
130
|
+
return findFragmentDependentsImpl(sourceRoot.storage, sourceRoot.rootPath, fragmentName);
|
|
131
|
+
}
|
|
132
|
+
async function findFragmentDependentsImpl(storage, siteBase, fragmentName) {
|
|
130
133
|
const pages = new Set();
|
|
131
134
|
const fragments = new Set();
|
|
132
135
|
// Build an index of every manifest → direct @ references
|
|
@@ -139,7 +142,9 @@ export async function findFragmentDependents(storage, siteBase, fragmentName) {
|
|
|
139
142
|
manifestsToScan.push({ kind: kind === 'pages' ? 'page' : 'fragment', name: e.name });
|
|
140
143
|
}
|
|
141
144
|
}
|
|
142
|
-
catch {
|
|
145
|
+
catch {
|
|
146
|
+
/* missing dir */
|
|
147
|
+
}
|
|
143
148
|
}
|
|
144
149
|
function walkComponents(components, out) {
|
|
145
150
|
if (!Array.isArray(components))
|
|
@@ -165,7 +170,9 @@ export async function findFragmentDependents(storage, siteBase, fragmentName) {
|
|
|
165
170
|
const manifest = JSON.parse(raw);
|
|
166
171
|
walkComponents(manifest.components, refs);
|
|
167
172
|
}
|
|
168
|
-
catch {
|
|
173
|
+
catch {
|
|
174
|
+
/* skip unreadable */
|
|
175
|
+
}
|
|
169
176
|
directRefs.set(`${item.kind}:${item.name}`, refs);
|
|
170
177
|
});
|
|
171
178
|
// BFS: find everything that transitively references `fragmentName`.
|
|
@@ -192,62 +199,40 @@ export async function findFragmentDependents(storage, siteBase, fragmentName) {
|
|
|
192
199
|
return { pages: [...pages].sort(), fragments: [...fragments].sort() };
|
|
193
200
|
}
|
|
194
201
|
/**
|
|
195
|
-
* Fast path for finding dependents against a *published* target
|
|
202
|
+
* Fast path for finding dependents against a *published* target — or
|
|
203
|
+
* any source/target carrying the fragment-deps reverse-sidecar index.
|
|
196
204
|
*
|
|
197
|
-
* Uses `.
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
*
|
|
205
|
+
* Uses `.gazetta/fragment-deps/{fragment}/{item}` per-edge sidecars
|
|
206
|
+
* (written by save handlers and the publish flow). One readDir per
|
|
207
|
+
* fragment in the BFS — for "fragment used by 5 pages", that's 1
|
|
208
|
+
* readDir; for transitive "X → Y → Z", BFS of 3 readDirs total.
|
|
201
209
|
*
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
210
|
+
* Compares to the legacy walk, which did one listSidecars per item
|
|
211
|
+
* directory across the whole site (~N readDirs). Bench shows
|
|
212
|
+
* 100×–200× speedup on cloud at N=1000. See the `perf-refs.bench.ts`
|
|
213
|
+
* bench data and design-media-implementation.md for the rationale.
|
|
205
214
|
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
215
|
+
* Handles transitive fragment→fragment dependencies via BFS: if
|
|
216
|
+
* @inner is referenced by @outer which is referenced by pages/home,
|
|
217
|
+
* querying "@inner" returns home and @outer.
|
|
208
218
|
*/
|
|
209
|
-
export async function findDependentsFromSidecars(
|
|
210
|
-
const
|
|
211
|
-
const fragmentsRoot = opts.baseDir ? `${opts.baseDir}/fragments` : 'fragments';
|
|
212
|
-
// Single listing pass per root, then all reasoning is in-memory.
|
|
213
|
-
const [pagesList, fragmentsList] = await Promise.all([
|
|
214
|
-
listSidecars(storage, pagesRoot),
|
|
215
|
-
listSidecars(storage, fragmentsRoot),
|
|
216
|
-
]);
|
|
217
|
-
const pagesIndex = new Map();
|
|
218
|
-
for (const [name, state] of pagesList) {
|
|
219
|
-
pagesIndex.set(name, { uses: new Set(state.uses), template: state.template });
|
|
220
|
-
}
|
|
221
|
-
const fragmentsIndex = new Map();
|
|
222
|
-
for (const [name, state] of fragmentsList) {
|
|
223
|
-
fragmentsIndex.set(name, { uses: new Set(state.uses), template: state.template });
|
|
224
|
-
}
|
|
225
|
-
// Now walk the indexes in-memory. No more storage calls from this point.
|
|
219
|
+
export async function findDependentsFromSidecars(sourceRoot, query) {
|
|
220
|
+
const { readDepsForFragment } = await import('./fragment-deps.js');
|
|
226
221
|
const pages = new Set();
|
|
227
222
|
const fragments = new Set();
|
|
228
|
-
if ('template' in query) {
|
|
229
|
-
for (const [name, info] of pagesIndex)
|
|
230
|
-
if (info.template === query.template)
|
|
231
|
-
pages.add(name);
|
|
232
|
-
for (const [name, info] of fragmentsIndex)
|
|
233
|
-
if (info.template === query.template)
|
|
234
|
-
fragments.add(name);
|
|
235
|
-
return { pages: [...pages].sort(), fragments: [...fragments].sort() };
|
|
236
|
-
}
|
|
237
|
-
// Fragment query with transitive walk
|
|
238
223
|
const queue = [query.fragment];
|
|
239
224
|
const seen = new Set([query.fragment]);
|
|
240
225
|
while (queue.length) {
|
|
241
226
|
const current = queue.shift();
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
if (
|
|
248
|
-
seen.add(name);
|
|
249
|
-
fragments.add(name);
|
|
250
|
-
queue.push(name);
|
|
227
|
+
const deps = await readDepsForFragment(sourceRoot, current);
|
|
228
|
+
for (const dep of deps) {
|
|
229
|
+
if (dep.source === 'page') {
|
|
230
|
+
pages.add(dep.name);
|
|
231
|
+
}
|
|
232
|
+
else if (!seen.has(dep.name)) {
|
|
233
|
+
seen.add(dep.name);
|
|
234
|
+
fragments.add(dep.name);
|
|
235
|
+
queue.push(dep.name);
|
|
251
236
|
}
|
|
252
237
|
}
|
|
253
238
|
}
|
package/dist/publish.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
|
package/dist/renderer.d.ts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
|
-
import type { RenderOutput, ResolvedComponent } from './types.js';
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
export declare function
|
|
1
|
+
import type { RenderOutput, ResolvedComponent, PageMetadata } from './types.js';
|
|
2
|
+
import { type SeoContext } from './seo.js';
|
|
3
|
+
export { type SeoContext } from './seo.js';
|
|
4
|
+
export declare function renderComponent(component: ResolvedComponent, routeParams?: Record<string, string>, locale?: string): Promise<RenderOutput>;
|
|
5
|
+
export declare function renderFragment(component: ResolvedComponent, locale?: string): Promise<string>;
|
|
6
|
+
export interface RenderPageOptions {
|
|
7
|
+
routeParams?: Record<string, string>;
|
|
8
|
+
metadata?: PageMetadata;
|
|
9
|
+
/** Page route (e.g. "/about") — used for canonical URL fallback. */
|
|
10
|
+
route?: string;
|
|
11
|
+
/** Site-level SEO context for fallback chains. */
|
|
12
|
+
seo?: SeoContext;
|
|
13
|
+
}
|
|
14
|
+
export declare function renderPage(component: ResolvedComponent, optsOrParams?: RenderPageOptions | Record<string, string>): Promise<string>;
|
|
5
15
|
//# sourceMappingURL=renderer.d.ts.map
|
package/dist/renderer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE/E,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AAEtE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,wBAAsB,eAAe,CACnC,SAAS,EAAE,iBAAiB,EAC5B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,MAAM,SAAO,GACZ,OAAO,CAAC,YAAY,CAAC,CAcvB;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBnG;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,GAAG,CAAC,EAAE,UAAU,CAAA;CACjB;AAED,wBAAsB,UAAU,CAC9B,SAAS,EAAE,iBAAiB,EAC5B,YAAY,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACxD,OAAO,CAAC,MAAM,CAAC,CAsCjB"}
|
package/dist/renderer.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { hashPath, scopeHtml, scopeCss } from './scope.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
2
|
+
import { resolveSeoTags, escapeAttr } from './seo.js';
|
|
3
|
+
export async function renderComponent(component, routeParams, locale = 'en') {
|
|
4
|
+
const children = await Promise.all(component.children.map(c => renderComponent(c, routeParams, locale)));
|
|
5
|
+
const output = await component.template({ content: component.content, children, params: routeParams, locale });
|
|
5
6
|
const scopeId = hashPath(component.treePath ?? '');
|
|
6
|
-
const headParts = [
|
|
7
|
-
...children.map(c => c.head).filter(Boolean),
|
|
8
|
-
output.head,
|
|
9
|
-
].filter(Boolean);
|
|
7
|
+
const headParts = [...children.map(c => c.head).filter(Boolean), output.head].filter(Boolean);
|
|
10
8
|
return {
|
|
11
9
|
html: scopeHtml(output.html, scopeId),
|
|
12
10
|
css: scopeCss(output.css, scopeId),
|
|
@@ -14,15 +12,13 @@ export async function renderComponent(component, routeParams) {
|
|
|
14
12
|
head: headParts.length ? headParts.join('\n') : undefined,
|
|
15
13
|
};
|
|
16
14
|
}
|
|
17
|
-
export async function renderFragment(component) {
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
output.head,
|
|
23
|
-
].filter(Boolean).join('\n ');
|
|
15
|
+
export async function renderFragment(component, locale) {
|
|
16
|
+
const lang = locale || 'en';
|
|
17
|
+
const children = await Promise.all(component.children.map(c => renderComponent(c, undefined, lang)));
|
|
18
|
+
const output = await component.template({ content: component.content, children, locale: lang });
|
|
19
|
+
const headContent = [...children.map(c => c.head).filter(Boolean), output.head].filter(Boolean).join('\n ');
|
|
24
20
|
return `<!DOCTYPE html>
|
|
25
|
-
<html lang="
|
|
21
|
+
<html lang="${lang}">
|
|
26
22
|
<head>
|
|
27
23
|
<meta charset="UTF-8">
|
|
28
24
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
@@ -34,15 +30,31 @@ ${output.html}${output.js ? `\n<script type="module">${output.js}</script>` : ''
|
|
|
34
30
|
</body>
|
|
35
31
|
</html>`;
|
|
36
32
|
}
|
|
37
|
-
export async function renderPage(component,
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
33
|
+
export async function renderPage(component, optsOrParams) {
|
|
34
|
+
const opts = optsOrParams &&
|
|
35
|
+
('metadata' in optsOrParams || 'routeParams' in optsOrParams || 'seo' in optsOrParams || 'route' in optsOrParams)
|
|
36
|
+
? optsOrParams
|
|
37
|
+
: { routeParams: optsOrParams };
|
|
38
|
+
const seo = opts.seo ?? {};
|
|
39
|
+
const lang = seo.locale || 'en';
|
|
40
|
+
const children = await Promise.all(component.children.map(c => renderComponent(c, opts.routeParams, lang)));
|
|
41
|
+
const output = await component.template({
|
|
42
|
+
content: component.content,
|
|
43
|
+
children,
|
|
44
|
+
params: opts.routeParams,
|
|
45
|
+
locale: lang,
|
|
46
|
+
});
|
|
47
|
+
const templateHead = [...children.map(c => c.head).filter(Boolean), output.head].filter(Boolean).join('\n ');
|
|
48
|
+
const seoHead = resolveSeoTags({
|
|
49
|
+
metadata: opts.metadata,
|
|
50
|
+
content: component.content,
|
|
51
|
+
route: opts.route,
|
|
52
|
+
seo,
|
|
53
|
+
templateHead,
|
|
54
|
+
});
|
|
55
|
+
const headContent = [seoHead, templateHead].filter(Boolean).join('\n ');
|
|
44
56
|
return `<!DOCTYPE html>
|
|
45
|
-
<html lang="
|
|
57
|
+
<html lang="${escapeAttr(lang)}">
|
|
46
58
|
<head>
|
|
47
59
|
<meta charset="UTF-8">
|
|
48
60
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
package/dist/renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
|
package/dist/resolver.d.ts
CHANGED
|
@@ -1,13 +1,28 @@
|
|
|
1
1
|
import type { ResolvedComponent, ComponentEntry } from './types.js';
|
|
2
2
|
import type { Site } from './site-loader.js';
|
|
3
|
+
import { type ResolvedLocales } from './locale.js';
|
|
4
|
+
import { type ResolvedThemes } from './themes.js';
|
|
3
5
|
interface ResolveContext {
|
|
4
6
|
site: Site;
|
|
5
7
|
templatesDir: string;
|
|
6
8
|
visited: Set<string>;
|
|
7
9
|
path: string[];
|
|
10
|
+
/** When set, fragment references resolve the locale-specific variant first. */
|
|
11
|
+
locale?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Active theme for asset resolution. v1 doesn't yet route a theme value
|
|
14
|
+
* from runtime callers (page/fragment templates emit theme-aware CSS via
|
|
15
|
+
* tokens, not via SSR theme branching); the field is wired so step 18+
|
|
16
|
+
* runtime work can pass it without resolver changes.
|
|
17
|
+
*/
|
|
18
|
+
theme?: string;
|
|
19
|
+
/** Resolved site locales — cached for fallback resolution. */
|
|
20
|
+
resolvedLocales?: ResolvedLocales;
|
|
21
|
+
/** Resolved site themes — needed for font variant enumeration. */
|
|
22
|
+
resolvedThemes?: ResolvedThemes | null;
|
|
8
23
|
}
|
|
9
24
|
export declare function resolveComponent(entry: ComponentEntry, ctx: ResolveContext): Promise<ResolvedComponent>;
|
|
10
|
-
export declare function resolveFragment(fragmentName: string, site: Site): Promise<ResolvedComponent>;
|
|
11
|
-
export declare function resolvePage(pageName: string, site: Site): Promise<ResolvedComponent>;
|
|
25
|
+
export declare function resolveFragment(fragmentName: string, site: Site, locale?: string, theme?: string): Promise<ResolvedComponent>;
|
|
26
|
+
export declare function resolvePage(pageName: string, site: Site, locale?: string, theme?: string): Promise<ResolvedComponent>;
|
|
12
27
|
export {};
|
|
13
28
|
//# sourceMappingURL=resolver.d.ts.map
|
package/dist/resolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAmB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAmB,MAAM,YAAY,CAAA;AAIpF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAA6C,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAwCpE,UAAU,cAAc;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACpB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,kEAAkE;IAClE,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;CACvC;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAa7G;AAiFD,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CAoD5B;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CA2C5B"}
|
package/dist/resolver.js
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
import { loadTemplate } from './template-loader.js';
|
|
2
2
|
import { processContent } from './content.js';
|
|
3
|
+
import { resolveAssetRefs } from './assets/resolve.js';
|
|
4
|
+
import { resolveLocaleFallback, resolveSiteLocales } from './locale.js';
|
|
5
|
+
import { resolveSiteThemes } from './themes.js';
|
|
6
|
+
/**
|
|
7
|
+
* Build the asset-resolve context from the site being rendered. Shared
|
|
8
|
+
* across all `processContent` + `resolveAssetRefs` pairs in a single
|
|
9
|
+
* resolution pass. Locale + theme flow in from the render-time
|
|
10
|
+
* `ResolveContext`; locales/themes config is derived from `site.manifest`
|
|
11
|
+
* once and reused.
|
|
12
|
+
*/
|
|
13
|
+
function assetContext(site, locale, theme, resolvedLocales, resolvedThemes) {
|
|
14
|
+
return {
|
|
15
|
+
storage: site.storage,
|
|
16
|
+
assetsRoot: 'assets',
|
|
17
|
+
locale,
|
|
18
|
+
theme,
|
|
19
|
+
locales: resolvedLocales,
|
|
20
|
+
themes: resolvedThemes,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/** Process content: sync transforms (markdown) + async asset resolution. */
|
|
24
|
+
async function processAndResolve(content, schema, site, ctx) {
|
|
25
|
+
const processed = processContent(content, schema);
|
|
26
|
+
return resolveAssetRefs(processed, assetContext(site, ctx.locale, ctx.theme, ctx.resolvedLocales ?? null, ctx.resolvedThemes ?? null));
|
|
27
|
+
}
|
|
3
28
|
export async function resolveComponent(entry, ctx) {
|
|
4
29
|
if (typeof entry === 'string') {
|
|
5
30
|
if (!entry.startsWith('@')) {
|
|
@@ -14,12 +39,22 @@ export async function resolveComponent(entry, ctx) {
|
|
|
14
39
|
async function resolveFragmentRef(fragmentName, ctx) {
|
|
15
40
|
const key = `@${fragmentName}`;
|
|
16
41
|
if (ctx.visited.has(key)) {
|
|
17
|
-
throw new Error(`Circular reference detected: ${key}\n` +
|
|
18
|
-
` Resolution path: ${ctx.path.join(' → ')} → ${key}`);
|
|
42
|
+
throw new Error(`Circular reference detected: ${key}\n` + ` Resolution path: ${ctx.path.join(' → ')} → ${key}`);
|
|
19
43
|
}
|
|
20
44
|
ctx.visited.add(key);
|
|
21
45
|
ctx.path.push(key);
|
|
22
|
-
|
|
46
|
+
// Resolve locale-specific fragment variant, falling back through the chain
|
|
47
|
+
let fragment = ctx.site.fragments.get(fragmentName) ?? null;
|
|
48
|
+
if (ctx.locale && ctx.resolvedLocales) {
|
|
49
|
+
const localeEntry = ctx.site.fragmentLocales.get(fragmentName);
|
|
50
|
+
if (localeEntry) {
|
|
51
|
+
const available = new Set(localeEntry.locales.keys());
|
|
52
|
+
const bestLocale = resolveLocaleFallback(ctx.locale, available, ctx.resolvedLocales);
|
|
53
|
+
const localeVariant = localeEntry.locales.get(bestLocale);
|
|
54
|
+
if (localeVariant)
|
|
55
|
+
fragment = localeVariant;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
23
58
|
if (!fragment) {
|
|
24
59
|
const available = [...ctx.site.fragments.keys()];
|
|
25
60
|
ctx.path.pop();
|
|
@@ -38,13 +73,18 @@ async function resolveFragmentRef(fragmentName, ctx) {
|
|
|
38
73
|
const treePath = ctx.path.slice(1).join('/');
|
|
39
74
|
ctx.path.pop();
|
|
40
75
|
ctx.visited.delete(key);
|
|
41
|
-
return {
|
|
76
|
+
return {
|
|
77
|
+
template: loaded.render,
|
|
78
|
+
content: await processAndResolve(fragment.content, loaded.schema, ctx.site, ctx),
|
|
79
|
+
children,
|
|
80
|
+
path: fragment.dir,
|
|
81
|
+
treePath,
|
|
82
|
+
};
|
|
42
83
|
}
|
|
43
84
|
async function resolveInlineComponent(comp, ctx) {
|
|
44
85
|
const key = comp.name;
|
|
45
86
|
if (ctx.visited.has(key)) {
|
|
46
|
-
throw new Error(`Circular reference detected: ${key}\n` +
|
|
47
|
-
` Resolution path: ${ctx.path.join(' → ')} → ${key}`);
|
|
87
|
+
throw new Error(`Circular reference detected: ${key}\n` + ` Resolution path: ${ctx.path.join(' → ')} → ${key}`);
|
|
48
88
|
}
|
|
49
89
|
ctx.visited.add(key);
|
|
50
90
|
ctx.path.push(comp.name);
|
|
@@ -58,17 +98,47 @@ async function resolveInlineComponent(comp, ctx) {
|
|
|
58
98
|
const treePath = ctx.path.slice(1).join('/');
|
|
59
99
|
ctx.path.pop();
|
|
60
100
|
ctx.visited.delete(key);
|
|
61
|
-
return {
|
|
101
|
+
return {
|
|
102
|
+
template: loaded.render,
|
|
103
|
+
content: await processAndResolve(comp.content, loaded.schema, ctx.site, ctx),
|
|
104
|
+
children,
|
|
105
|
+
treePath,
|
|
106
|
+
};
|
|
62
107
|
}
|
|
63
|
-
export async function resolveFragment(fragmentName, site) {
|
|
64
|
-
|
|
108
|
+
export async function resolveFragment(fragmentName, site, locale, theme) {
|
|
109
|
+
// Resolve locale-specific fragment variant
|
|
110
|
+
let fragment = site.fragments.get(fragmentName) ?? null;
|
|
111
|
+
// Always resolve site-level config — even when no active locale/theme
|
|
112
|
+
// is set, the asset resolver may need it (font enumeration walks the
|
|
113
|
+
// configured theme universe).
|
|
114
|
+
const resolvedLocales = resolveSiteLocales(site.manifest) ?? undefined;
|
|
115
|
+
const resolvedThemes = resolveSiteThemes(site.manifest);
|
|
116
|
+
if (locale && resolvedLocales) {
|
|
117
|
+
const localeEntry = site.fragmentLocales.get(fragmentName);
|
|
118
|
+
if (localeEntry) {
|
|
119
|
+
const available = new Set(localeEntry.locales.keys());
|
|
120
|
+
const bestLocale = resolveLocaleFallback(locale, available, resolvedLocales);
|
|
121
|
+
const localeVariant = localeEntry.locales.get(bestLocale);
|
|
122
|
+
if (localeVariant)
|
|
123
|
+
fragment = localeVariant;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
65
126
|
if (!fragment) {
|
|
66
127
|
const available = [...site.fragments.keys()];
|
|
67
128
|
throw new Error(`Fragment "${fragmentName}" not found.\n` +
|
|
68
129
|
` Available fragments: ${available.length > 0 ? available.join(', ') : '(none)'}`);
|
|
69
130
|
}
|
|
70
131
|
const templatesDir = site.templatesDir;
|
|
71
|
-
const ctx = {
|
|
132
|
+
const ctx = {
|
|
133
|
+
site,
|
|
134
|
+
templatesDir,
|
|
135
|
+
visited: new Set(),
|
|
136
|
+
path: ['', `@${fragmentName}`],
|
|
137
|
+
locale,
|
|
138
|
+
theme,
|
|
139
|
+
resolvedLocales,
|
|
140
|
+
resolvedThemes,
|
|
141
|
+
};
|
|
72
142
|
const loaded = await loadTemplate(site.storage, templatesDir, fragment.template);
|
|
73
143
|
const children = [];
|
|
74
144
|
if (fragment.components) {
|
|
@@ -76,17 +146,37 @@ export async function resolveFragment(fragmentName, site) {
|
|
|
76
146
|
children.push(await resolveComponent(child, ctx));
|
|
77
147
|
}
|
|
78
148
|
}
|
|
79
|
-
return {
|
|
149
|
+
return {
|
|
150
|
+
template: loaded.render,
|
|
151
|
+
content: await processAndResolve(fragment.content, loaded.schema, site, ctx),
|
|
152
|
+
children,
|
|
153
|
+
path: fragment.dir,
|
|
154
|
+
treePath: '',
|
|
155
|
+
};
|
|
80
156
|
}
|
|
81
|
-
export async function resolvePage(pageName, site) {
|
|
82
|
-
const
|
|
83
|
-
if (!
|
|
157
|
+
export async function resolvePage(pageName, site, locale, theme) {
|
|
158
|
+
const defaultPage = site.pages.get(pageName);
|
|
159
|
+
if (!defaultPage) {
|
|
84
160
|
const available = [...site.pages.keys()];
|
|
85
161
|
throw new Error(`Page "${pageName}" not found.\n` +
|
|
86
162
|
` Available pages: ${available.length > 0 ? available.join(', ') : '(none)'}`);
|
|
87
163
|
}
|
|
164
|
+
// Use locale variant's content/components when available, fall back to default
|
|
165
|
+
const localeEntry = locale ? site.pageLocales.get(pageName) : undefined;
|
|
166
|
+
const page = localeEntry?.locales.get(locale) ?? defaultPage;
|
|
88
167
|
const templatesDir = site.templatesDir;
|
|
89
|
-
const
|
|
168
|
+
const resolvedLocales = resolveSiteLocales(site.manifest) ?? undefined;
|
|
169
|
+
const resolvedThemes = resolveSiteThemes(site.manifest);
|
|
170
|
+
const ctx = {
|
|
171
|
+
site,
|
|
172
|
+
templatesDir,
|
|
173
|
+
visited: new Set(),
|
|
174
|
+
path: [pageName],
|
|
175
|
+
locale,
|
|
176
|
+
theme,
|
|
177
|
+
resolvedLocales,
|
|
178
|
+
resolvedThemes,
|
|
179
|
+
};
|
|
90
180
|
const loaded = await loadTemplate(site.storage, templatesDir, page.template);
|
|
91
181
|
const children = [];
|
|
92
182
|
if (page.components) {
|
|
@@ -94,6 +184,12 @@ export async function resolvePage(pageName, site) {
|
|
|
94
184
|
children.push(await resolveComponent(child, ctx));
|
|
95
185
|
}
|
|
96
186
|
}
|
|
97
|
-
return {
|
|
187
|
+
return {
|
|
188
|
+
template: loaded.render,
|
|
189
|
+
content: await processAndResolve(page.content, loaded.schema, site, ctx),
|
|
190
|
+
children,
|
|
191
|
+
path: page.dir,
|
|
192
|
+
treePath: '',
|
|
193
|
+
};
|
|
98
194
|
}
|
|
99
195
|
//# sourceMappingURL=resolver.js.map
|
package/dist/resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/robots.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Robots.txt generation — produces a default robots.txt or copies
|
|
3
|
+
* a user-authored one from the site directory.
|
|
4
|
+
*
|
|
5
|
+
* SRP: this module owns robots.txt content resolution. The caller
|
|
6
|
+
* checks for a user file and writes the result to storage.
|
|
7
|
+
*
|
|
8
|
+
* Strategy:
|
|
9
|
+
* 1. If the site has a `robots.txt` file, use it verbatim.
|
|
10
|
+
* 2. Otherwise, generate a permissive default with a Sitemap
|
|
11
|
+
* reference (when siteUrl is available).
|
|
12
|
+
*/
|
|
13
|
+
export interface GenerateRobotsOptions {
|
|
14
|
+
/** Absolute base URL — used for the Sitemap directive. Optional. */
|
|
15
|
+
siteUrl?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Generate a default robots.txt. Permissive (allow all crawlers)
|
|
19
|
+
* with a Sitemap reference when siteUrl is available.
|
|
20
|
+
*/
|
|
21
|
+
export declare function generateRobotsTxt(opts: GenerateRobotsOptions): string;
|
|
22
|
+
//# sourceMappingURL=robots.d.ts.map
|