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.
Files changed (478) hide show
  1. package/admin-dist/assets/index-BO9-CXmW.css +1 -0
  2. package/admin-dist/assets/index-Ufu8zZH_.js +668 -0
  3. package/admin-dist/assets/{vendor-primevue-BnR1c_bQ.js → vendor-primevue-C0Q_YTCb.js} +330 -431
  4. package/admin-dist/assets/vendor-vue-D3wBSmDf.js +1 -0
  5. package/admin-dist/index.html +4 -4
  6. package/dist/admin-api/error-response.d.ts +21 -0
  7. package/dist/admin-api/error-response.d.ts.map +1 -0
  8. package/dist/admin-api/error-response.js +12 -0
  9. package/dist/admin-api/error-response.js.map +1 -0
  10. package/dist/admin-api/index.d.ts +19 -6
  11. package/dist/admin-api/index.d.ts.map +1 -1
  12. package/dist/admin-api/index.js +137 -21
  13. package/dist/admin-api/index.js.map +1 -1
  14. package/dist/admin-api/routes/assets.d.ts +16 -0
  15. package/dist/admin-api/routes/assets.d.ts.map +1 -0
  16. package/dist/admin-api/routes/assets.js +433 -0
  17. package/dist/admin-api/routes/assets.js.map +1 -0
  18. package/dist/admin-api/routes/compare.d.ts +2 -1
  19. package/dist/admin-api/routes/compare.d.ts.map +1 -1
  20. package/dist/admin-api/routes/compare.js +33 -24
  21. package/dist/admin-api/routes/compare.js.map +1 -1
  22. package/dist/admin-api/routes/fields.d.ts +2 -2
  23. package/dist/admin-api/routes/fields.d.ts.map +1 -1
  24. package/dist/admin-api/routes/fields.js +10 -3
  25. package/dist/admin-api/routes/fields.js.map +1 -1
  26. package/dist/admin-api/routes/fragments.d.ts +2 -3
  27. package/dist/admin-api/routes/fragments.d.ts.map +1 -1
  28. package/dist/admin-api/routes/fragments.js +120 -21
  29. package/dist/admin-api/routes/fragments.js.map +1 -1
  30. package/dist/admin-api/routes/history.d.ts +23 -0
  31. package/dist/admin-api/routes/history.d.ts.map +1 -0
  32. package/dist/admin-api/routes/history.js +143 -0
  33. package/dist/admin-api/routes/history.js.map +1 -0
  34. package/dist/admin-api/routes/pages.d.ts +2 -3
  35. package/dist/admin-api/routes/pages.d.ts.map +1 -1
  36. package/dist/admin-api/routes/pages.js +153 -22
  37. package/dist/admin-api/routes/pages.js.map +1 -1
  38. package/dist/admin-api/routes/preview.d.ts +2 -2
  39. package/dist/admin-api/routes/preview.d.ts.map +1 -1
  40. package/dist/admin-api/routes/preview.js +50 -15
  41. package/dist/admin-api/routes/preview.js.map +1 -1
  42. package/dist/admin-api/routes/publish.d.ts +2 -1
  43. package/dist/admin-api/routes/publish.d.ts.map +1 -1
  44. package/dist/admin-api/routes/publish.js +259 -79
  45. package/dist/admin-api/routes/publish.js.map +1 -1
  46. package/dist/admin-api/routes/site.d.ts +2 -2
  47. package/dist/admin-api/routes/site.d.ts.map +1 -1
  48. package/dist/admin-api/routes/site.js +27 -4
  49. package/dist/admin-api/routes/site.js.map +1 -1
  50. package/dist/admin-api/routes/templates.d.ts +2 -2
  51. package/dist/admin-api/routes/templates.d.ts.map +1 -1
  52. package/dist/admin-api/routes/templates.js +19 -9
  53. package/dist/admin-api/routes/templates.js.map +1 -1
  54. package/dist/admin-api/schemas/assets.d.ts +48 -0
  55. package/dist/admin-api/schemas/assets.d.ts.map +1 -0
  56. package/dist/admin-api/schemas/assets.js +44 -0
  57. package/dist/admin-api/schemas/assets.js.map +1 -0
  58. package/dist/admin-api/schemas/compare.d.ts +29 -0
  59. package/dist/admin-api/schemas/compare.d.ts.map +1 -0
  60. package/dist/admin-api/schemas/compare.js +30 -0
  61. package/dist/admin-api/schemas/compare.js.map +1 -0
  62. package/dist/admin-api/schemas/dependents.d.ts +15 -0
  63. package/dist/admin-api/schemas/dependents.d.ts.map +1 -0
  64. package/dist/admin-api/schemas/dependents.js +14 -0
  65. package/dist/admin-api/schemas/dependents.js.map +1 -0
  66. package/dist/admin-api/schemas/fetch.d.ts +12 -0
  67. package/dist/admin-api/schemas/fetch.d.ts.map +1 -0
  68. package/dist/admin-api/schemas/fetch.js +11 -0
  69. package/dist/admin-api/schemas/fetch.js.map +1 -0
  70. package/dist/admin-api/schemas/fields.d.ts +11 -0
  71. package/dist/admin-api/schemas/fields.d.ts.map +1 -0
  72. package/dist/admin-api/schemas/fields.js +11 -0
  73. package/dist/admin-api/schemas/fields.js.map +1 -0
  74. package/dist/admin-api/schemas/fragments.d.ts +27 -0
  75. package/dist/admin-api/schemas/fragments.d.ts.map +1 -0
  76. package/dist/admin-api/schemas/fragments.js +26 -0
  77. package/dist/admin-api/schemas/fragments.js.map +1 -0
  78. package/dist/admin-api/schemas/history.d.ts +73 -0
  79. package/dist/admin-api/schemas/history.d.ts.map +1 -0
  80. package/dist/admin-api/schemas/history.js +35 -0
  81. package/dist/admin-api/schemas/history.js.map +1 -0
  82. package/dist/admin-api/schemas/index.d.ts +34 -0
  83. package/dist/admin-api/schemas/index.d.ts.map +1 -0
  84. package/dist/admin-api/schemas/index.js +34 -0
  85. package/dist/admin-api/schemas/index.js.map +1 -0
  86. package/dist/admin-api/schemas/pages.d.ts +46 -0
  87. package/dist/admin-api/schemas/pages.d.ts.map +1 -0
  88. package/dist/admin-api/schemas/pages.js +47 -0
  89. package/dist/admin-api/schemas/pages.js.map +1 -0
  90. package/dist/admin-api/schemas/publish.d.ts +67 -0
  91. package/dist/admin-api/schemas/publish.d.ts.map +1 -0
  92. package/dist/admin-api/schemas/publish.js +60 -0
  93. package/dist/admin-api/schemas/publish.js.map +1 -0
  94. package/dist/admin-api/schemas/site.d.ts +28 -0
  95. package/dist/admin-api/schemas/site.d.ts.map +1 -0
  96. package/dist/admin-api/schemas/site.js +24 -0
  97. package/dist/admin-api/schemas/site.js.map +1 -0
  98. package/dist/admin-api/schemas/targets.d.ts +36 -0
  99. package/dist/admin-api/schemas/targets.d.ts.map +1 -0
  100. package/dist/admin-api/schemas/targets.js +19 -0
  101. package/dist/admin-api/schemas/targets.js.map +1 -0
  102. package/dist/admin-api/schemas/templates.d.ts +17 -0
  103. package/dist/admin-api/schemas/templates.d.ts.map +1 -0
  104. package/dist/admin-api/schemas/templates.js +16 -0
  105. package/dist/admin-api/schemas/templates.js.map +1 -0
  106. package/dist/admin-api/source-context.d.ts +158 -0
  107. package/dist/admin-api/source-context.d.ts.map +1 -0
  108. package/dist/admin-api/source-context.js +92 -0
  109. package/dist/admin-api/source-context.js.map +1 -0
  110. package/dist/app.js +1 -1
  111. package/dist/app.js.map +1 -1
  112. package/dist/assemble.d.ts.map +1 -1
  113. package/dist/assemble.js +4 -1
  114. package/dist/assemble.js.map +1 -1
  115. package/dist/assets/analyze-audio.d.ts +3 -0
  116. package/dist/assets/analyze-audio.d.ts.map +1 -0
  117. package/dist/assets/analyze-audio.js +80 -0
  118. package/dist/assets/analyze-audio.js.map +1 -0
  119. package/dist/assets/analyze-image.d.ts +19 -0
  120. package/dist/assets/analyze-image.d.ts.map +1 -0
  121. package/dist/assets/analyze-image.js +123 -0
  122. package/dist/assets/analyze-image.js.map +1 -0
  123. package/dist/assets/analyze.d.ts +94 -0
  124. package/dist/assets/analyze.d.ts.map +1 -0
  125. package/dist/assets/analyze.js +45 -0
  126. package/dist/assets/analyze.js.map +1 -0
  127. package/dist/assets/asset-deps.d.ts +30 -0
  128. package/dist/assets/asset-deps.d.ts.map +1 -0
  129. package/dist/assets/asset-deps.js +42 -0
  130. package/dist/assets/asset-deps.js.map +1 -0
  131. package/dist/assets/asset-paths.d.ts +155 -0
  132. package/dist/assets/asset-paths.d.ts.map +1 -0
  133. package/dist/assets/asset-paths.js +197 -0
  134. package/dist/assets/asset-paths.js.map +1 -0
  135. package/dist/assets/delete.d.ts +75 -0
  136. package/dist/assets/delete.d.ts.map +1 -0
  137. package/dist/assets/delete.js +82 -0
  138. package/dist/assets/delete.js.map +1 -0
  139. package/dist/assets/errors.d.ts +241 -0
  140. package/dist/assets/errors.d.ts.map +1 -0
  141. package/dist/assets/errors.js +300 -0
  142. package/dist/assets/errors.js.map +1 -0
  143. package/dist/assets/find-refs.d.ts +37 -0
  144. package/dist/assets/find-refs.d.ts.map +1 -0
  145. package/dist/assets/find-refs.js +35 -0
  146. package/dist/assets/find-refs.js.map +1 -0
  147. package/dist/assets/hash.d.ts +13 -0
  148. package/dist/assets/hash.d.ts.map +1 -0
  149. package/dist/assets/hash.js +43 -0
  150. package/dist/assets/hash.js.map +1 -0
  151. package/dist/assets/image-metadata.d.ts +11 -0
  152. package/dist/assets/image-metadata.d.ts.map +1 -0
  153. package/dist/assets/image-metadata.js +31 -0
  154. package/dist/assets/image-metadata.js.map +1 -0
  155. package/dist/assets/ingest-locale.d.ts +86 -0
  156. package/dist/assets/ingest-locale.d.ts.map +1 -0
  157. package/dist/assets/ingest-locale.js +209 -0
  158. package/dist/assets/ingest-locale.js.map +1 -0
  159. package/dist/assets/ingest.d.ts +96 -0
  160. package/dist/assets/ingest.d.ts.map +1 -0
  161. package/dist/assets/ingest.js +308 -0
  162. package/dist/assets/ingest.js.map +1 -0
  163. package/dist/assets/kind-compat.d.ts +34 -0
  164. package/dist/assets/kind-compat.d.ts.map +1 -0
  165. package/dist/assets/kind-compat.js +33 -0
  166. package/dist/assets/kind-compat.js.map +1 -0
  167. package/dist/assets/list.d.ts +46 -0
  168. package/dist/assets/list.d.ts.map +1 -0
  169. package/dist/assets/list.js +102 -0
  170. package/dist/assets/list.js.map +1 -0
  171. package/dist/assets/manifest-default.d.ts +56 -0
  172. package/dist/assets/manifest-default.d.ts.map +1 -0
  173. package/dist/assets/manifest-default.js +120 -0
  174. package/dist/assets/manifest-default.js.map +1 -0
  175. package/dist/assets/manifest-filename.d.ts +52 -0
  176. package/dist/assets/manifest-filename.d.ts.map +1 -0
  177. package/dist/assets/manifest-filename.js +104 -0
  178. package/dist/assets/manifest-filename.js.map +1 -0
  179. package/dist/assets/manifest-locale.d.ts +60 -0
  180. package/dist/assets/manifest-locale.d.ts.map +1 -0
  181. package/dist/assets/manifest-locale.js +206 -0
  182. package/dist/assets/manifest-locale.js.map +1 -0
  183. package/dist/assets/manifest-merge.d.ts +66 -0
  184. package/dist/assets/manifest-merge.d.ts.map +1 -0
  185. package/dist/assets/manifest-merge.js +82 -0
  186. package/dist/assets/manifest-merge.js.map +1 -0
  187. package/dist/assets/manifest.d.ts +83 -0
  188. package/dist/assets/manifest.d.ts.map +1 -0
  189. package/dist/assets/manifest.js +93 -0
  190. package/dist/assets/manifest.js.map +1 -0
  191. package/dist/assets/mime-sniff.d.ts +18 -0
  192. package/dist/assets/mime-sniff.d.ts.map +1 -0
  193. package/dist/assets/mime-sniff.js +84 -0
  194. package/dist/assets/mime-sniff.js.map +1 -0
  195. package/dist/assets/preprocess-svg.d.ts +3 -0
  196. package/dist/assets/preprocess-svg.d.ts.map +1 -0
  197. package/dist/assets/preprocess-svg.js +49 -0
  198. package/dist/assets/preprocess-svg.js.map +1 -0
  199. package/dist/assets/preprocess.d.ts +62 -0
  200. package/dist/assets/preprocess.d.ts.map +1 -0
  201. package/dist/assets/preprocess.js +86 -0
  202. package/dist/assets/preprocess.js.map +1 -0
  203. package/dist/assets/publish-plan.d.ts +41 -0
  204. package/dist/assets/publish-plan.d.ts.map +1 -0
  205. package/dist/assets/publish-plan.js +49 -0
  206. package/dist/assets/publish-plan.js.map +1 -0
  207. package/dist/assets/publish.d.ts +33 -0
  208. package/dist/assets/publish.d.ts.map +1 -0
  209. package/dist/assets/publish.js +81 -0
  210. package/dist/assets/publish.js.map +1 -0
  211. package/dist/assets/refs.d.ts +37 -0
  212. package/dist/assets/refs.d.ts.map +1 -0
  213. package/dist/assets/refs.js +33 -0
  214. package/dist/assets/refs.js.map +1 -0
  215. package/dist/assets/remove-override.d.ts +42 -0
  216. package/dist/assets/remove-override.d.ts.map +1 -0
  217. package/dist/assets/remove-override.js +53 -0
  218. package/dist/assets/remove-override.js.map +1 -0
  219. package/dist/assets/rename.d.ts +43 -0
  220. package/dist/assets/rename.d.ts.map +1 -0
  221. package/dist/assets/rename.js +271 -0
  222. package/dist/assets/rename.js.map +1 -0
  223. package/dist/assets/replace.d.ts +37 -0
  224. package/dist/assets/replace.d.ts.map +1 -0
  225. package/dist/assets/replace.js +195 -0
  226. package/dist/assets/replace.js.map +1 -0
  227. package/dist/assets/resolve.d.ts +141 -0
  228. package/dist/assets/resolve.d.ts.map +1 -0
  229. package/dist/assets/resolve.js +381 -0
  230. package/dist/assets/resolve.js.map +1 -0
  231. package/dist/assets/rewrite-manifest-asset-ref.d.ts +44 -0
  232. package/dist/assets/rewrite-manifest-asset-ref.d.ts.map +1 -0
  233. package/dist/assets/rewrite-manifest-asset-ref.js +51 -0
  234. package/dist/assets/rewrite-manifest-asset-ref.js.map +1 -0
  235. package/dist/assets/scan-manifest-for-asset.d.ts +63 -0
  236. package/dist/assets/scan-manifest-for-asset.d.ts.map +1 -0
  237. package/dist/assets/scan-manifest-for-asset.js +105 -0
  238. package/dist/assets/scan-manifest-for-asset.js.map +1 -0
  239. package/dist/assets/serve-route.d.ts +45 -0
  240. package/dist/assets/serve-route.d.ts.map +1 -0
  241. package/dist/assets/serve-route.js +123 -0
  242. package/dist/assets/serve-route.js.map +1 -0
  243. package/dist/assets/svg-sanitize.d.ts +38 -0
  244. package/dist/assets/svg-sanitize.d.ts.map +1 -0
  245. package/dist/assets/svg-sanitize.js +209 -0
  246. package/dist/assets/svg-sanitize.js.map +1 -0
  247. package/dist/assets/update-metadata.d.ts +61 -0
  248. package/dist/assets/update-metadata.d.ts.map +1 -0
  249. package/dist/assets/update-metadata.js +82 -0
  250. package/dist/assets/update-metadata.js.map +1 -0
  251. package/dist/assets/url.d.ts +82 -0
  252. package/dist/assets/url.d.ts.map +1 -0
  253. package/dist/assets/url.js +103 -0
  254. package/dist/assets/url.js.map +1 -0
  255. package/dist/assets/validate.d.ts +74 -0
  256. package/dist/assets/validate.d.ts.map +1 -0
  257. package/dist/assets/validate.js +136 -0
  258. package/dist/assets/validate.js.map +1 -0
  259. package/dist/assets/variants.d.ts +23 -0
  260. package/dist/assets/variants.d.ts.map +1 -0
  261. package/dist/assets/variants.js +74 -0
  262. package/dist/assets/variants.js.map +1 -0
  263. package/dist/cli/assets-cli.d.ts +58 -0
  264. package/dist/cli/assets-cli.d.ts.map +1 -0
  265. package/dist/cli/assets-cli.js +233 -0
  266. package/dist/cli/assets-cli.js.map +1 -0
  267. package/dist/cli/assets-display.d.ts +112 -0
  268. package/dist/cli/assets-display.d.ts.map +1 -0
  269. package/dist/cli/assets-display.js +106 -0
  270. package/dist/cli/assets-display.js.map +1 -0
  271. package/dist/cli/bootstrap.d.ts +46 -0
  272. package/dist/cli/bootstrap.d.ts.map +1 -0
  273. package/dist/cli/bootstrap.js +84 -0
  274. package/dist/cli/bootstrap.js.map +1 -0
  275. package/dist/cli/history.d.ts +45 -0
  276. package/dist/cli/history.d.ts.map +1 -0
  277. package/dist/cli/history.js +165 -0
  278. package/dist/cli/history.js.map +1 -0
  279. package/dist/cli/index.js +689 -128
  280. package/dist/cli/index.js.map +1 -1
  281. package/dist/compare.d.ts +8 -5
  282. package/dist/compare.d.ts.map +1 -1
  283. package/dist/compare.js +62 -20
  284. package/dist/compare.js.map +1 -1
  285. package/dist/content-root.d.ts +38 -0
  286. package/dist/content-root.d.ts.map +1 -0
  287. package/dist/content-root.js +29 -0
  288. package/dist/content-root.js.map +1 -0
  289. package/dist/dep-sidecars.d.ts +127 -0
  290. package/dist/dep-sidecars.d.ts.map +1 -0
  291. package/dist/dep-sidecars.js +122 -0
  292. package/dist/dep-sidecars.js.map +1 -0
  293. package/dist/editor/AssetEmbeddedWidget.d.ts +3 -0
  294. package/dist/editor/AssetEmbeddedWidget.d.ts.map +1 -0
  295. package/dist/editor/AssetEmbeddedWidget.js +146 -0
  296. package/dist/editor/AssetEmbeddedWidget.js.map +1 -0
  297. package/dist/editor/mount.d.ts +12 -1
  298. package/dist/editor/mount.d.ts.map +1 -1
  299. package/dist/editor/mount.js +96 -33
  300. package/dist/editor/mount.js.map +1 -1
  301. package/dist/format.d.ts +44 -0
  302. package/dist/format.d.ts.map +1 -0
  303. package/dist/format.js +65 -0
  304. package/dist/format.js.map +1 -0
  305. package/dist/fragment-deps.d.ts +24 -0
  306. package/dist/fragment-deps.d.ts.map +1 -0
  307. package/dist/fragment-deps.js +20 -0
  308. package/dist/fragment-deps.js.map +1 -0
  309. package/dist/hash.d.ts +34 -9
  310. package/dist/hash.d.ts.map +1 -1
  311. package/dist/hash.js +60 -21
  312. package/dist/hash.js.map +1 -1
  313. package/dist/history-provider.d.ts +49 -0
  314. package/dist/history-provider.d.ts.map +1 -0
  315. package/dist/history-provider.js +248 -0
  316. package/dist/history-provider.js.map +1 -0
  317. package/dist/history-recorder.d.ts +102 -0
  318. package/dist/history-recorder.d.ts.map +1 -0
  319. package/dist/history-recorder.js +168 -0
  320. package/dist/history-recorder.js.map +1 -0
  321. package/dist/history-restorer.d.ts +46 -0
  322. package/dist/history-restorer.d.ts.map +1 -0
  323. package/dist/history-restorer.js +137 -0
  324. package/dist/history-restorer.js.map +1 -0
  325. package/dist/history.d.ts +129 -0
  326. package/dist/history.d.ts.map +1 -0
  327. package/dist/history.js +25 -0
  328. package/dist/history.js.map +1 -0
  329. package/dist/index.d.ts +27 -7
  330. package/dist/index.d.ts.map +1 -1
  331. package/dist/index.js +16 -4
  332. package/dist/index.js.map +1 -1
  333. package/dist/locale.d.ts +94 -0
  334. package/dist/locale.d.ts.map +1 -0
  335. package/dist/locale.js +188 -0
  336. package/dist/locale.js.map +1 -0
  337. package/dist/manifest.d.ts.map +1 -1
  338. package/dist/manifest.js +16 -1
  339. package/dist/manifest.js.map +1 -1
  340. package/dist/providers/_atomic-write.d.ts +9 -0
  341. package/dist/providers/_atomic-write.d.ts.map +1 -0
  342. package/dist/providers/_atomic-write.js +72 -0
  343. package/dist/providers/_atomic-write.js.map +1 -0
  344. package/dist/providers/_rm-ignore-missing.d.ts +31 -0
  345. package/dist/providers/_rm-ignore-missing.d.ts.map +1 -0
  346. package/dist/providers/_rm-ignore-missing.js +12 -0
  347. package/dist/providers/_rm-ignore-missing.js.map +1 -0
  348. package/dist/providers/_stream-interop.d.ts +23 -0
  349. package/dist/providers/_stream-interop.d.ts.map +1 -0
  350. package/dist/providers/_stream-interop.js +21 -0
  351. package/dist/providers/_stream-interop.js.map +1 -0
  352. package/dist/providers/azure-blob.d.ts.map +1 -1
  353. package/dist/providers/azure-blob.js +60 -0
  354. package/dist/providers/azure-blob.js.map +1 -1
  355. package/dist/providers/filesystem.d.ts +4 -0
  356. package/dist/providers/filesystem.d.ts.map +1 -1
  357. package/dist/providers/filesystem.js +63 -2
  358. package/dist/providers/filesystem.js.map +1 -1
  359. package/dist/providers/s3.d.ts.map +1 -1
  360. package/dist/providers/s3.js +107 -16
  361. package/dist/providers/s3.js.map +1 -1
  362. package/dist/publish-locale.d.ts +44 -0
  363. package/dist/publish-locale.d.ts.map +1 -0
  364. package/dist/publish-locale.js +103 -0
  365. package/dist/publish-locale.js.map +1 -0
  366. package/dist/publish-rendered.d.ts +52 -21
  367. package/dist/publish-rendered.d.ts.map +1 -1
  368. package/dist/publish-rendered.js +144 -87
  369. package/dist/publish-rendered.js.map +1 -1
  370. package/dist/publish.d.ts +18 -19
  371. package/dist/publish.d.ts.map +1 -1
  372. package/dist/publish.js +41 -56
  373. package/dist/publish.js.map +1 -1
  374. package/dist/renderer.d.ts +14 -4
  375. package/dist/renderer.d.ts.map +1 -1
  376. package/dist/renderer.js +35 -23
  377. package/dist/renderer.js.map +1 -1
  378. package/dist/resolver.d.ts +17 -2
  379. package/dist/resolver.d.ts.map +1 -1
  380. package/dist/resolver.js +112 -16
  381. package/dist/resolver.js.map +1 -1
  382. package/dist/robots.d.ts +22 -0
  383. package/dist/robots.d.ts.map +1 -0
  384. package/dist/robots.js +25 -0
  385. package/dist/robots.js.map +1 -0
  386. package/dist/schema/dimensions.d.ts +78 -0
  387. package/dist/schema/dimensions.d.ts.map +1 -0
  388. package/dist/schema/dimensions.js +97 -0
  389. package/dist/schema/dimensions.js.map +1 -0
  390. package/dist/schema/helpers.d.ts +108 -0
  391. package/dist/schema/helpers.d.ts.map +1 -0
  392. package/dist/schema/helpers.js +133 -0
  393. package/dist/schema/helpers.js.map +1 -0
  394. package/dist/schema/index.d.ts +27 -0
  395. package/dist/schema/index.d.ts.map +1 -0
  396. package/dist/schema/index.js +25 -0
  397. package/dist/schema/index.js.map +1 -0
  398. package/dist/schema/types.d.ts +390 -0
  399. package/dist/schema/types.d.ts.map +1 -0
  400. package/dist/schema/types.js +25 -0
  401. package/dist/schema/types.js.map +1 -0
  402. package/dist/selector-chain.d.ts +63 -0
  403. package/dist/selector-chain.d.ts.map +1 -0
  404. package/dist/selector-chain.js +58 -0
  405. package/dist/selector-chain.js.map +1 -0
  406. package/dist/seo.d.ts +56 -0
  407. package/dist/seo.d.ts.map +1 -0
  408. package/dist/seo.js +72 -0
  409. package/dist/seo.js.map +1 -0
  410. package/dist/serve.d.ts +41 -3
  411. package/dist/serve.d.ts.map +1 -1
  412. package/dist/serve.js +206 -65
  413. package/dist/serve.js.map +1 -1
  414. package/dist/sidecars.d.ts +26 -21
  415. package/dist/sidecars.d.ts.map +1 -1
  416. package/dist/sidecars.js +143 -45
  417. package/dist/sidecars.js.map +1 -1
  418. package/dist/site-loader.d.ts +74 -6
  419. package/dist/site-loader.d.ts.map +1 -1
  420. package/dist/site-loader.js +138 -28
  421. package/dist/site-loader.js.map +1 -1
  422. package/dist/sitemap.d.ts +45 -0
  423. package/dist/sitemap.d.ts.map +1 -0
  424. package/dist/sitemap.js +67 -0
  425. package/dist/sitemap.js.map +1 -0
  426. package/dist/targets.d.ts +47 -1
  427. package/dist/targets.d.ts.map +1 -1
  428. package/dist/targets.js +83 -36
  429. package/dist/targets.js.map +1 -1
  430. package/dist/template-loader.d.ts +7 -3
  431. package/dist/template-loader.d.ts.map +1 -1
  432. package/dist/template-loader.js +27 -12
  433. package/dist/template-loader.js.map +1 -1
  434. package/dist/templates-scan-worker.js +1 -1
  435. package/dist/templates-scan-worker.js.map +1 -1
  436. package/dist/templates-scan.d.ts.map +1 -1
  437. package/dist/templates-scan.js +1 -1
  438. package/dist/templates-scan.js.map +1 -1
  439. package/dist/themes.d.ts +69 -0
  440. package/dist/themes.d.ts.map +1 -0
  441. package/dist/themes.js +85 -0
  442. package/dist/themes.js.map +1 -0
  443. package/dist/transforms/adapter.d.ts +115 -0
  444. package/dist/transforms/adapter.d.ts.map +1 -0
  445. package/dist/transforms/adapter.js +2 -0
  446. package/dist/transforms/adapter.js.map +1 -0
  447. package/dist/transforms/cloudflare.d.ts +17 -0
  448. package/dist/transforms/cloudflare.d.ts.map +1 -0
  449. package/dist/transforms/cloudflare.js +110 -0
  450. package/dist/transforms/cloudflare.js.map +1 -0
  451. package/dist/transforms/index.d.ts +24 -0
  452. package/dist/transforms/index.d.ts.map +1 -0
  453. package/dist/transforms/index.js +30 -0
  454. package/dist/transforms/index.js.map +1 -0
  455. package/dist/transforms/sharp.d.ts +3 -0
  456. package/dist/transforms/sharp.d.ts.map +1 -0
  457. package/dist/transforms/sharp.js +43 -0
  458. package/dist/transforms/sharp.js.map +1 -0
  459. package/dist/types.d.ts +241 -10
  460. package/dist/types.d.ts.map +1 -1
  461. package/dist/types.js +28 -5
  462. package/dist/types.js.map +1 -1
  463. package/dist/workers/cloudflare-r2.d.ts +11 -2
  464. package/dist/workers/cloudflare-r2.d.ts.map +1 -1
  465. package/dist/workers/cloudflare-r2.js +120 -55
  466. package/dist/workers/cloudflare-r2.js.map +1 -1
  467. package/package.json +30 -2
  468. package/admin-dist/assets/index-BZAFKsUp.js +0 -608
  469. package/admin-dist/assets/index-BpRotMuK.css +0 -1
  470. package/admin-dist/assets/vendor-vue-DSjyxCX6.js +0 -1
  471. package/dist/providers/r2.d.ts +0 -8
  472. package/dist/providers/r2.d.ts.map +0 -1
  473. package/dist/providers/r2.js +0 -83
  474. package/dist/providers/r2.js.map +0 -1
  475. package/dist/source-sidecars.d.ts +0 -13
  476. package/dist/source-sidecars.d.ts.map +0 -1
  477. package/dist/source-sidecars.js +0 -52
  478. package/dist/source-sidecars.js.map +0 -1
@@ -1,11 +1,17 @@
1
1
  import type { StorageProvider, PurgeStrategy, CacheConfig } from './types.js';
2
2
  import type { Site } from './site-loader.js';
3
+ import { type ContentRoot } from './content-root.js';
4
+ import type { DepRelation } from './dep-sidecars.js';
3
5
  /**
4
6
  * Publish a page as HTML with ESI placeholders for fragments.
5
7
  * Local components are baked in. Fragment markup is replaced at request time by the worker.
6
8
  * CSS is stored as separate hashed files for immutable caching.
7
9
  */
8
- export declare function publishPageRendered(pageName: string, sourceStorage: StorageProvider, sourceDir: string, targetStorage: StorageProvider, targetCache?: CacheConfig, templatesDir?: string, manifestHash?: string, preloadedSite?: Site): Promise<{
10
+ export declare function publishPageRendered(pageName: string, sourceRoot: ContentRoot, targetStorage: StorageProvider, targetCache?: CacheConfig, templatesDir?: string, manifestHash?: string, preloadedSite?: Site,
11
+ /** SEO context for the fallback chain — caller builds from manifest + target config. */
12
+ seo?: import('./seo.js').SeoContext,
13
+ /** Locale for this render pass. When set, resolves locale-specific fragments. */
14
+ locale?: string): Promise<{
9
15
  files: number;
10
16
  removed: number;
11
17
  }>;
@@ -14,42 +20,67 @@ export declare function publishPageRendered(pageName: string, sourceStorage: Sto
14
20
  * All components (including fragments) are baked in. CSS/JS inline.
15
21
  * For static hosting: GitHub Pages, Netlify, Vercel, any file server.
16
22
  */
17
- export declare function publishPageStatic(pageName: string, sourceStorage: StorageProvider, sourceDir: string, targetStorage: StorageProvider, templatesDir?: string, manifestHash?: string, preloadedSite?: Site): Promise<{
23
+ export declare function publishPageStatic(pageName: string, sourceRoot: ContentRoot, targetStorage: StorageProvider, templatesDir?: string, manifestHash?: string, preloadedSite?: Site,
24
+ /** SEO context for the fallback chain — caller builds from manifest + target config. */
25
+ seo?: import('./seo.js').SeoContext,
26
+ /** Locale for this render pass. When set, resolves locale-specific content and writes to locale-prefixed path. */
27
+ locale?: string): Promise<{
18
28
  files: number;
19
29
  }>;
20
30
  /**
21
31
  * Publish a fragment as HTML with a <head> section for CSS/JS.
22
32
  * The worker injects <head> content before </head> and body content at the ESI placeholder.
23
33
  */
24
- export declare function publishFragmentRendered(fragmentName: string, sourceStorage: StorageProvider, sourceDir: string, targetStorage: StorageProvider, templatesDir?: string, manifestHash?: string, preloadedSite?: Site): Promise<{
34
+ export declare function publishFragmentRendered(fragmentName: string, sourceRoot: ContentRoot, targetStorage: StorageProvider, templatesDir?: string, manifestHash?: string, preloadedSite?: Site,
35
+ /** Locale for this render pass. When set, resolves locale-specific content and writes to index.{locale}.html. */
36
+ locale?: string): Promise<{
25
37
  files: number;
26
38
  removed: number;
27
39
  }>;
28
40
  /**
29
41
  * Publish site manifest (stripped of targets config).
30
42
  */
31
- export declare function publishSiteManifest(sourceStorage: StorageProvider, sourceDir: string, targetStorage: StorageProvider, preloadedSite?: Site): Promise<void>;
43
+ export declare function publishSiteManifest(sourceRoot: ContentRoot, targetStorage: StorageProvider, preloadedSite?: Site): Promise<void>;
32
44
  /**
33
- * Build and store reverse fragment index.
34
- * Maps each fragment to the list of page routes that use it.
45
+ * Rebuild a dep-sidecar index on the destination for one relation.
46
+ *
47
+ * Walks every page + fragment manifest (including locale variants) from
48
+ * the source site and writes per-edge sidecars at
49
+ * `{dest}/.gazetta/{rel.rootName}/{target}/{item}`. Wipes the existing
50
+ * index dir first to avoid stale entries from previous runs.
51
+ *
52
+ * Used by:
53
+ * - publish flow (CLI + admin route) at end of publish, once per relation
54
+ * - reindex CLI for source-side recovery
55
+ * - history-restorer after rollback
56
+ *
57
+ * Why rebuild rather than incremental: a full rebuild is one walk +
58
+ * N zero-byte writes — simpler than tracking diffs against the dest's
59
+ * prior state and equally fast for typical sites.
35
60
  */
36
- export declare function publishFragmentIndex(sourceStorage: StorageProvider, sourceDir: string, targetStorage: StorageProvider, preloadedSite?: Site): Promise<Record<string, string[]>>;
37
- /** Purge via Cloudflare zone cache API */
38
- export declare function createCloudflarePurge(zoneId: string, apiToken: string): PurgeStrategy;
39
- /** Look up Cloudflare zone ID from a site URL */
40
- export declare function lookupCloudflareZoneId(siteUrl: string, apiToken: string): Promise<string | null>;
61
+ export declare function rebuildDepIndex(rel: DepRelation, sourceSite: Site, destStorage: StorageProvider, destRootPath?: string): Promise<void>;
41
62
  /**
42
- * Publish a fragment and purge affected pages.
63
+ * Backwards-compatible alias for the single-relation asset-refs rebuild.
64
+ * Kept until callers (history-restorer, reindex CLI) migrate to the
65
+ * generic `rebuildDepIndex(rel, …)` shape.
43
66
  */
44
- export declare function publishFragmentWithPurge(fragmentName: string, sourceStorage: StorageProvider, sourceDir: string, targetStorage: StorageProvider, purge: PurgeStrategy, purgeMode?: 'all' | 'url'): Promise<{
45
- files: number;
46
- purgedUrls: string[];
47
- }>;
67
+ export declare function rebuildAssetRefsIndex(sourceSite: Site, destStorage: StorageProvider, destRootPath?: string): Promise<void>;
48
68
  /**
49
- * Publish a page and purge its URL.
69
+ * Publish-flow wrapper: load the site if needed and rebuild every
70
+ * dep-sidecar index on the target. Run once per publish (alongside
71
+ * `publishSiteManifest`). Indices rebuilt:
72
+ * - asset-refs (queried by delete-block check, library usage panel)
73
+ * - fragment-deps (queried by `findFragmentDependents` for the
74
+ * publish-UI blast radius and fragment cache-purge URL lookup)
50
75
  */
51
- export declare function publishPageWithPurge(pageName: string, sourceStorage: StorageProvider, sourceDir: string, targetStorage: StorageProvider, purge: PurgeStrategy): Promise<{
52
- files: number;
53
- purgedUrls: string[];
54
- }>;
76
+ export declare function publishDepIndices(sourceRoot: ContentRoot, targetStorage: StorageProvider, preloadedSite?: Site): Promise<void>;
77
+ /**
78
+ * Backwards-compatible single-relation wrapper. New callers should use
79
+ * `publishDepIndices` to get both indices rebuilt in one walk.
80
+ */
81
+ export declare function publishAssetRefsIndex(sourceRoot: ContentRoot, targetStorage: StorageProvider, preloadedSite?: Site): Promise<void>;
82
+ /** Purge via Cloudflare zone cache API */
83
+ export declare function createCloudflarePurge(zoneId: string, apiToken: string): PurgeStrategy;
84
+ /** Look up Cloudflare zone ID from a site URL */
85
+ export declare function lookupCloudflareZoneId(siteUrl: string, apiToken: string): Promise<string | null>;
55
86
  //# sourceMappingURL=publish-rendered.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish-rendered.d.ts","sourceRoot":"","sources":["../src/publish-rendered.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAmC5C;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,eAAe,EAC9B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,eAAe,EAC9B,WAAW,CAAC,EAAE,WAAW,EACzB,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,IAAI,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAsH7C;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,eAAe,EAC9B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,eAAe,EAC9B,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,IAAI,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B5B;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,eAAe,EAC9B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,eAAe,EAC9B,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,IAAI,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAgE7C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,eAAe,EAC9B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,eAAe,EAC9B,aAAa,CAAC,EAAE,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,eAAe,EAC9B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,eAAe,EAC9B,aAAa,CAAC,EAAE,IAAI,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAiBnC;AAED,0CAA0C;AAC1C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAcrF;AAED,iDAAiD;AACjD,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQtG;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,eAAe,EAC9B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,eAAe,EAC9B,KAAK,EAAE,aAAa,EACpB,SAAS,GAAE,KAAK,GAAG,KAAa,GAC/B,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAkBlD;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,eAAe,EAC9B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,eAAe,EAC9B,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAUlD"}
1
+ {"version":3,"file":"publish-rendered.d.ts","sourceRoot":"","sources":["../src/publish-rendered.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAK5C,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAsCpD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,WAAW,EACvB,aAAa,EAAE,eAAe,EAC9B,WAAW,CAAC,EAAE,WAAW,EACzB,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,IAAI;AACpB,wFAAwF;AACxF,GAAG,CAAC,EAAE,OAAO,UAAU,EAAE,UAAU;AACnC,iFAAiF;AACjF,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAgJ7C;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,WAAW,EACvB,aAAa,EAAE,eAAe,EAC9B,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,IAAI;AACpB,wFAAwF;AACxF,GAAG,CAAC,EAAE,OAAO,UAAU,EAAE,UAAU;AACnC,kHAAkH;AAClH,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoC5B;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,WAAW,EACvB,aAAa,EAAE,eAAe,EAC9B,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,IAAI;AACpB,iHAAiH;AACjH,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAqE7C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,WAAW,EACvB,aAAa,EAAE,eAAe,EAC9B,aAAa,CAAC,EAAE,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,IAAI,EAChB,WAAW,EAAE,eAAe,EAC5B,YAAY,SAAK,GAChB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,IAAI,EAChB,WAAW,EAAE,eAAe,EAC5B,YAAY,SAAK,GAChB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,WAAW,EACvB,aAAa,EAAE,eAAe,EAC9B,aAAa,CAAC,EAAE,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,WAAW,EACvB,aAAa,EAAE,eAAe,EAC9B,aAAa,CAAC,EAAE,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,0CAA0C;AAC1C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAcrF;AAED,iDAAiD;AACjD,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQtG"}
@@ -1,8 +1,13 @@
1
1
  import { createHash } from 'node:crypto';
2
- import { loadSite } from './site-loader.js';
3
- import { resolvePage, resolveComponent } from './resolver.js';
2
+ import { allFragmentEntries, allPageEntries, loadSite } from './site-loader.js';
3
+ import { resolvePage, resolveFragment } from './resolver.js';
4
4
  import { renderComponent, renderPage } from './renderer.js';
5
- import { writeSidecars, collectFragmentRefs } from './sidecars.js';
5
+ import { writeSidecars } from './sidecars.js';
6
+ import { createContentRoot } from './content-root.js';
7
+ import { resolveSeoTags, escapeAttr } from './seo.js';
8
+ import { rebuildItemDeps } from './dep-sidecars.js';
9
+ import { ASSET_REFS } from './assets/asset-deps.js';
10
+ import { FRAGMENT_DEPS } from './fragment-deps.js';
6
11
  function contentHash(content) {
7
12
  return createHash('md5').update(content).digest('hex').slice(0, 8);
8
13
  }
@@ -28,7 +33,9 @@ async function cleanupOldFiles(storage, oldFiles, newFiles) {
28
33
  await storage.rm(file);
29
34
  removed++;
30
35
  }
31
- catch { /* already gone */ }
36
+ catch {
37
+ /* already gone */
38
+ }
32
39
  }
33
40
  }
34
41
  return removed;
@@ -38,15 +45,19 @@ async function cleanupOldFiles(storage, oldFiles, newFiles) {
38
45
  * Local components are baked in. Fragment markup is replaced at request time by the worker.
39
46
  * CSS is stored as separate hashed files for immutable caching.
40
47
  */
41
- export async function publishPageRendered(pageName, sourceStorage, sourceDir, targetStorage, targetCache, templatesDir, manifestHash, preloadedSite) {
48
+ export async function publishPageRendered(pageName, sourceRoot, targetStorage, targetCache, templatesDir, manifestHash, preloadedSite,
49
+ /** SEO context for the fallback chain — caller builds from manifest + target config. */
50
+ seo,
51
+ /** Locale for this render pass. When set, resolves locale-specific fragments. */
52
+ locale) {
42
53
  // Reuse a preloaded site when the caller already has one (runPublish loops
43
54
  // over N items; loading per-item was quadratic). loadSite is idempotent.
44
- const site = preloadedSite ?? await loadSite({ siteDir: sourceDir, storage: sourceStorage, templatesDir });
55
+ const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, templatesDir }));
45
56
  const page = site.pages.get(pageName);
46
57
  if (!page)
47
58
  throw new Error(`Page "${pageName}" not found`);
48
59
  // Scope IDs are now deterministic (hash-based), no reset needed
49
- const resolved = await resolvePage(pageName, site);
60
+ const resolved = await resolvePage(pageName, site, locale);
50
61
  // Render each child — fragments become ESI placeholders, local components baked in
51
62
  const bodyParts = [];
52
63
  const localCssParts = [];
@@ -58,7 +69,8 @@ export async function publishPageRendered(pageName, sourceStorage, sourceDir, ta
58
69
  const isFragment = typeof childEntry === 'string' && childEntry.startsWith('@');
59
70
  if (isFragment) {
60
71
  const fragName = childEntry.slice(1);
61
- const fragPath = `fragments/${fragName}/index.html`;
72
+ const fragFile = locale ? `index.${locale}.html` : 'index.html';
73
+ const fragPath = `fragments/${fragName}/${fragFile}`;
62
74
  esiHeadTags.push(`<!--esi-head:/${fragPath}-->`);
63
75
  bodyParts.push(`<!--esi:/${fragPath}-->`);
64
76
  }
@@ -74,8 +86,9 @@ export async function publishPageRendered(pageName, sourceStorage, sourceDir, ta
74
86
  }
75
87
  }
76
88
  // Render page-level template (layout CSS, head tags)
77
- const childOutputs = await Promise.all(resolved.children.map(c => renderComponent(c)));
78
- const pageOutput = await resolved.template({ content: resolved.content, children: childOutputs });
89
+ const lang = seo?.locale || locale || 'en';
90
+ const childOutputs = await Promise.all(resolved.children.map(c => renderComponent(c, undefined, lang)));
91
+ const pageOutput = await resolved.template({ content: resolved.content, children: childOutputs, locale: lang });
79
92
  if (pageOutput.css)
80
93
  localCssParts.unshift(pageOutput.css);
81
94
  if (pageOutput.head)
@@ -110,21 +123,35 @@ export async function publishPageRendered(pageName, sourceStorage, sourceDir, ta
110
123
  pageJsLink = `<script type="module" src="/${jsPath}"></script>`;
111
124
  fileCount++;
112
125
  }
126
+ // SEO tags from the fallback chain — same logic as renderPage uses for
127
+ // static publish. Template head parts are checked for duplicates so the
128
+ // renderer doesn't double-emit tags the template already provides.
129
+ const templateHead = localHeadParts.join('\n');
130
+ const seoHead = resolveSeoTags({
131
+ metadata: page.metadata,
132
+ content: page.content,
133
+ route: page.route,
134
+ seo: seo ?? {},
135
+ templateHead,
136
+ });
113
137
  const headContent = [
114
138
  `<meta charset="UTF-8">`,
115
139
  `<meta name="viewport" content="width=device-width, initial-scale=1.0">`,
140
+ seoHead,
116
141
  ...localHeadParts,
117
142
  pageCssLink,
118
143
  ...esiHeadTags,
119
144
  pageJsLink,
120
- ].filter(Boolean).join('\n ');
145
+ ]
146
+ .filter(Boolean)
147
+ .join('\n ');
121
148
  const bodyContent = bodyParts.join('\n');
122
149
  // Resolve cache config: page → target → defaults
123
150
  const browser = page.cache?.browser ?? targetCache?.browser ?? 0;
124
151
  const edge = page.cache?.edge ?? targetCache?.edge ?? 86400;
125
152
  const cacheComment = `<!--cache:browser=${browser},edge=${edge}-->\n`;
126
153
  const html = `${cacheComment}<!DOCTYPE html>
127
- <html lang="en">
154
+ <html lang="${escapeAttr(lang)}">
128
155
  <head>
129
156
  ${headContent}
130
157
  </head>
@@ -132,16 +159,20 @@ export async function publishPageRendered(pageName, sourceStorage, sourceDir, ta
132
159
  ${bodyContent}
133
160
  </body>
134
161
  </html>`;
162
+ const indexFile = locale ? `index.${locale}.html` : 'index.html';
135
163
  await targetStorage.mkdir(pageDir);
136
- await targetStorage.writeFile(`${pageDir}/index.html`, html);
164
+ await targetStorage.writeFile(`${pageDir}/${indexFile}`, html);
137
165
  fileCount++;
138
- // Write content-hash sidecar + reverse-dep sidecars for compare/dependents
166
+ // Write content-hash + publish sidecars for compare. Locale variants
167
+ // get locale-suffixed sidecars (.hash.fr, .pub.fr).
139
168
  if (manifestHash) {
140
169
  await writeSidecars(targetStorage, pageDir, {
141
170
  hash: manifestHash,
142
- uses: collectFragmentRefs(page.components),
143
- template: page.template,
144
- });
171
+ pub: {
172
+ lastPublished: new Date().toISOString(),
173
+ noindex: !!page.metadata?.robots?.includes('noindex'),
174
+ },
175
+ }, locale);
145
176
  }
146
177
  // Clean up old hashed files
147
178
  const removed = await cleanupOldFiles(targetStorage, oldFiles, newFiles);
@@ -152,16 +183,26 @@ ${bodyContent}
152
183
  * All components (including fragments) are baked in. CSS/JS inline.
153
184
  * For static hosting: GitHub Pages, Netlify, Vercel, any file server.
154
185
  */
155
- export async function publishPageStatic(pageName, sourceStorage, sourceDir, targetStorage, templatesDir, manifestHash, preloadedSite) {
156
- const site = preloadedSite ?? await loadSite({ siteDir: sourceDir, storage: sourceStorage, templatesDir });
186
+ export async function publishPageStatic(pageName, sourceRoot, targetStorage, templatesDir, manifestHash, preloadedSite,
187
+ /** SEO context for the fallback chain caller builds from manifest + target config. */
188
+ seo,
189
+ /** Locale for this render pass. When set, resolves locale-specific content and writes to locale-prefixed path. */
190
+ locale) {
191
+ const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, templatesDir }));
157
192
  const page = site.pages.get(pageName);
158
193
  if (!page)
159
194
  throw new Error(`Page "${pageName}" not found`);
160
195
  // Scope IDs are now deterministic (hash-based), no reset needed
161
- const resolved = await resolvePage(pageName, site);
162
- const html = await renderPage(resolved);
196
+ const resolved = await resolvePage(pageName, site, locale);
197
+ const html = await renderPage(resolved, {
198
+ metadata: page.metadata,
199
+ route: page.route,
200
+ seo,
201
+ });
163
202
  // URL path: / → index.html, /about → about/index.html
164
- const urlPath = page.route === '/' ? '' : page.route.replace(/^\//, '');
203
+ // Locale prefix: /fr/about fr/about/index.html
204
+ const baseUrlPath = page.route === '/' ? '' : page.route.replace(/^\//, '');
205
+ const urlPath = locale ? (baseUrlPath ? `${locale}/${baseUrlPath}` : locale) : baseUrlPath;
165
206
  const outputPath = urlPath ? `${urlPath}/index.html` : 'index.html';
166
207
  const outputDir = urlPath || '.';
167
208
  await targetStorage.mkdir(outputDir);
@@ -172,8 +213,10 @@ export async function publishPageStatic(pageName, sourceStorage, sourceDir, targ
172
213
  if (manifestHash) {
173
214
  await writeSidecars(targetStorage, `pages/${pageName}`, {
174
215
  hash: manifestHash,
175
- uses: collectFragmentRefs(page.components),
176
- template: page.template,
216
+ pub: {
217
+ lastPublished: new Date().toISOString(),
218
+ noindex: !!page.metadata?.robots?.includes('noindex'),
219
+ },
177
220
  });
178
221
  }
179
222
  return { files: 1 };
@@ -182,13 +225,14 @@ export async function publishPageStatic(pageName, sourceStorage, sourceDir, targ
182
225
  * Publish a fragment as HTML with a <head> section for CSS/JS.
183
226
  * The worker injects <head> content before </head> and body content at the ESI placeholder.
184
227
  */
185
- export async function publishFragmentRendered(fragmentName, sourceStorage, sourceDir, targetStorage, templatesDir, manifestHash, preloadedSite) {
186
- const site = preloadedSite ?? await loadSite({ siteDir: sourceDir, storage: sourceStorage, templatesDir });
228
+ export async function publishFragmentRendered(fragmentName, sourceRoot, targetStorage, templatesDir, manifestHash, preloadedSite,
229
+ /** Locale for this render pass. When set, resolves locale-specific content and writes to index.{locale}.html. */
230
+ locale) {
231
+ const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, templatesDir }));
187
232
  const fragment = site.fragments.get(fragmentName);
188
233
  if (!fragment)
189
234
  throw new Error(`Fragment "${fragmentName}" not found`);
190
- const ctx = { site, templatesDir: site.templatesDir, visited: new Set(), path: [`@${fragmentName}`] };
191
- const resolved = await resolveComponent(`@${fragmentName}`, ctx);
235
+ const resolved = await resolveFragment(fragmentName, site, locale);
192
236
  // Scope IDs are now deterministic (hash-based), no reset needed
193
237
  const rendered = await renderComponent(resolved);
194
238
  const fragDir = `fragments/${fragmentName}`;
@@ -222,16 +266,17 @@ export async function publishFragmentRendered(fragmentName, sourceStorage, sourc
222
266
  // Build fragment HTML
223
267
  const headSection = headParts.length ? `<head>\n${headParts.join('\n')}\n</head>\n` : '';
224
268
  const fragmentHtml = `${headSection}${rendered.html}`;
269
+ const indexFile = locale ? `index.${locale}.html` : 'index.html';
225
270
  await targetStorage.mkdir(fragDir);
226
- await targetStorage.writeFile(`${fragDir}/index.html`, fragmentHtml);
271
+ await targetStorage.writeFile(`${fragDir}/${indexFile}`, fragmentHtml);
227
272
  fileCount++;
228
- // Write content-hash sidecar + reverse-dep sidecars for compare/dependents
273
+ // Write content-hash sidecar for compare. Locale variants get
274
+ // locale-suffixed sidecars (.hash.fr).
229
275
  if (manifestHash) {
230
276
  await writeSidecars(targetStorage, fragDir, {
231
277
  hash: manifestHash,
232
- uses: collectFragmentRefs(fragment.components),
233
- template: fragment.template,
234
- });
278
+ pub: null,
279
+ }, locale);
235
280
  }
236
281
  // Clean up old hashed files
237
282
  const removed = await cleanupOldFiles(targetStorage, oldFiles, newFiles);
@@ -240,37 +285,81 @@ export async function publishFragmentRendered(fragmentName, sourceStorage, sourc
240
285
  /**
241
286
  * Publish site manifest (stripped of targets config).
242
287
  */
243
- export async function publishSiteManifest(sourceStorage, sourceDir, targetStorage, preloadedSite) {
244
- const site = preloadedSite ?? await loadSite({ siteDir: sourceDir, storage: sourceStorage });
288
+ export async function publishSiteManifest(sourceRoot, targetStorage, preloadedSite) {
289
+ const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot }));
245
290
  const manifest = { name: site.manifest.name, version: site.manifest.version };
246
291
  await targetStorage.writeFile('site.json', JSON.stringify(manifest));
247
292
  }
248
293
  /**
249
- * Build and store reverse fragment index.
250
- * Maps each fragment to the list of page routes that use it.
294
+ * Rebuild a dep-sidecar index on the destination for one relation.
295
+ *
296
+ * Walks every page + fragment manifest (including locale variants) from
297
+ * the source site and writes per-edge sidecars at
298
+ * `{dest}/.gazetta/{rel.rootName}/{target}/{item}`. Wipes the existing
299
+ * index dir first to avoid stale entries from previous runs.
300
+ *
301
+ * Used by:
302
+ * - publish flow (CLI + admin route) at end of publish, once per relation
303
+ * - reindex CLI for source-side recovery
304
+ * - history-restorer after rollback
305
+ *
306
+ * Why rebuild rather than incremental: a full rebuild is one walk +
307
+ * N zero-byte writes — simpler than tracking diffs against the dest's
308
+ * prior state and equally fast for typical sites.
251
309
  */
252
- export async function publishFragmentIndex(sourceStorage, sourceDir, targetStorage, preloadedSite) {
253
- const site = preloadedSite ?? await loadSite({ siteDir: sourceDir, storage: sourceStorage });
254
- const index = {};
255
- for (const [_pageName, page] of site.pages) {
256
- if (!page.components)
257
- continue;
258
- for (const entry of page.components) {
259
- if (typeof entry === 'string' && entry.startsWith('@')) {
260
- if (!index[entry])
261
- index[entry] = [];
262
- index[entry].push(page.route);
263
- }
264
- }
310
+ export async function rebuildDepIndex(rel, sourceSite, destStorage, destRootPath = '') {
311
+ const destRoot = createContentRoot(destStorage, destRootPath);
312
+ // Wipe existing index full rebuild semantics. Stale entries from
313
+ // targets that no longer exist in source manifests get cleared.
314
+ await destStorage.rm(destRoot.path('.gazetta', rel.rootName)).catch(() => {
315
+ // Missing dir = nothing to wipe; fine.
316
+ });
317
+ const writes = [];
318
+ for (const { name, page, locale } of allPageEntries(sourceSite)) {
319
+ const item = locale ? { source: 'page', name, locale } : { source: 'page', name };
320
+ writes.push(rebuildItemDeps(rel, destRoot, item, null, page));
265
321
  }
266
- await targetStorage.mkdir('index');
267
- await targetStorage.writeFile('index/fragments.json', JSON.stringify(index));
268
- return index;
322
+ for (const { name, fragment, locale } of allFragmentEntries(sourceSite)) {
323
+ const item = locale ? { source: 'fragment', name, locale } : { source: 'fragment', name };
324
+ writes.push(rebuildItemDeps(rel, destRoot, item, null, fragment));
325
+ }
326
+ await Promise.all(writes);
327
+ }
328
+ /**
329
+ * Backwards-compatible alias for the single-relation asset-refs rebuild.
330
+ * Kept until callers (history-restorer, reindex CLI) migrate to the
331
+ * generic `rebuildDepIndex(rel, …)` shape.
332
+ */
333
+ export function rebuildAssetRefsIndex(sourceSite, destStorage, destRootPath = '') {
334
+ return rebuildDepIndex(ASSET_REFS, sourceSite, destStorage, destRootPath);
335
+ }
336
+ /**
337
+ * Publish-flow wrapper: load the site if needed and rebuild every
338
+ * dep-sidecar index on the target. Run once per publish (alongside
339
+ * `publishSiteManifest`). Indices rebuilt:
340
+ * - asset-refs (queried by delete-block check, library usage panel)
341
+ * - fragment-deps (queried by `findFragmentDependents` for the
342
+ * publish-UI blast radius and fragment cache-purge URL lookup)
343
+ */
344
+ export async function publishDepIndices(sourceRoot, targetStorage, preloadedSite) {
345
+ const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot }));
346
+ await Promise.all([
347
+ rebuildDepIndex(ASSET_REFS, site, targetStorage, ''),
348
+ rebuildDepIndex(FRAGMENT_DEPS, site, targetStorage, ''),
349
+ ]);
350
+ }
351
+ /**
352
+ * Backwards-compatible single-relation wrapper. New callers should use
353
+ * `publishDepIndices` to get both indices rebuilt in one walk.
354
+ */
355
+ export async function publishAssetRefsIndex(sourceRoot, targetStorage, preloadedSite) {
356
+ const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot }));
357
+ await rebuildDepIndex(ASSET_REFS, site, targetStorage, '');
269
358
  }
270
359
  /** Purge via Cloudflare zone cache API */
271
360
  export function createCloudflarePurge(zoneId, apiToken) {
272
361
  const apiBase = `https://api.cloudflare.com/client/v4/zones/${zoneId}/purge_cache`;
273
- const headers = { 'Content-Type': 'application/json', 'Authorization': `Bearer ${apiToken}` };
362
+ const headers = { 'Content-Type': 'application/json', Authorization: `Bearer ${apiToken}` };
274
363
  return {
275
364
  async purgeAll() {
276
365
  const res = await fetch(apiBase, { method: 'POST', headers, body: JSON.stringify({ purge_everything: true }) });
@@ -292,39 +381,7 @@ export async function lookupCloudflareZoneId(siteUrl, apiToken) {
292
381
  });
293
382
  if (!res.ok)
294
383
  return null;
295
- const data = await res.json();
384
+ const data = (await res.json());
296
385
  return data.result?.[0]?.id ?? null;
297
386
  }
298
- /**
299
- * Publish a fragment and purge affected pages.
300
- */
301
- export async function publishFragmentWithPurge(fragmentName, sourceStorage, sourceDir, targetStorage, purge, purgeMode = 'all') {
302
- const result = await publishFragmentRendered(fragmentName, sourceStorage, sourceDir, targetStorage);
303
- if (purgeMode === 'all') {
304
- await purge.purgeAll();
305
- return { ...result, purgedUrls: ['*'] };
306
- }
307
- let index = {};
308
- try {
309
- index = JSON.parse(await targetStorage.readFile('index/fragments.json'));
310
- }
311
- catch { /* no index yet */ }
312
- const urls = index[`@${fragmentName}`] ?? [];
313
- if (urls.length > 0) {
314
- await purge.purgeUrls(urls);
315
- }
316
- return { ...result, purgedUrls: urls };
317
- }
318
- /**
319
- * Publish a page and purge its URL.
320
- */
321
- export async function publishPageWithPurge(pageName, sourceStorage, sourceDir, targetStorage, purge) {
322
- const result = await publishPageRendered(pageName, sourceStorage, sourceDir, targetStorage);
323
- const site = await loadSite({ siteDir: sourceDir, storage: sourceStorage });
324
- const page = site.pages.get(pageName);
325
- if (page)
326
- await purge.purgeUrls([page.route]);
327
- await publishFragmentIndex(sourceStorage, sourceDir, targetStorage);
328
- return { ...result, purgedUrls: page ? [page.route] : [] };
329
- }
330
387
  //# sourceMappingURL=publish-rendered.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish-rendered.js","sourceRoot":"","sources":["../src/publish-rendered.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish-rendered.js","sourceRoot":"","sources":["../src/publish-rendered.ts"],"names":[],"mappings":"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"}
package/dist/publish.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { StorageProvider } from './types.js';
1
+ import type { ContentRoot } from './content-root.js';
2
2
  export interface PublishRequest {
3
3
  source: string;
4
4
  targets: string[];
@@ -15,14 +15,14 @@ export interface PublishResult {
15
15
  * Items are relative paths like "pages/home" or "fragments/header".
16
16
  * All files under each item directory are copied recursively.
17
17
  */
18
- export declare function publishItems(sourceStorage: StorageProvider, sourceBase: string, targetStorage: StorageProvider, targetBase: string, items: string[]): Promise<{
18
+ export declare function publishItems(sourceRoot: ContentRoot, targetRoot: ContentRoot, items: string[]): Promise<{
19
19
  copiedFiles: number;
20
20
  }>;
21
21
  /**
22
22
  * Resolve dependencies for published items.
23
23
  * Given a list of items (pages/fragments), find all referenced templates and fragments.
24
24
  */
25
- export declare function resolveDependencies(storage: StorageProvider, siteBase: string, items: string[]): Promise<string[]>;
25
+ export declare function resolveDependencies(sourceRoot: ContentRoot, items: string[]): Promise<string[]>;
26
26
  /**
27
27
  * Reverse-dependency lookup: given a fragment name, return the pages and
28
28
  * fragments that reference it (transitively). Used by the admin UI to show
@@ -32,31 +32,30 @@ export declare function resolveDependencies(storage: StorageProvider, siteBase:
32
32
  * baked into pages at publish time. On ESI targets, republishing the fragment
33
33
  * alone suffices because the edge composer resolves @fragments per request.
34
34
  */
35
- export declare function findFragmentDependents(storage: StorageProvider, siteBase: string, fragmentName: string): Promise<{
35
+ export declare function findFragmentDependents(sourceRoot: ContentRoot, fragmentName: string): Promise<{
36
36
  pages: string[];
37
37
  fragments: string[];
38
38
  }>;
39
39
  /**
40
- * Fast path for finding dependents against a *published* target.
40
+ * Fast path for finding dependents against a *published* target — or
41
+ * any source/target carrying the fragment-deps reverse-sidecar index.
41
42
  *
42
- * Uses `.uses-{fragment}` and `.tpl-{template}` sidecar filenames (written by
43
- * writeSidecar in publish-rendered.ts). Needs listings only — no content
44
- * reads, no JSON parsing. Scales to 10k pages at the cost of one LIST call
45
- * per item directory.
43
+ * Uses `.gazetta/fragment-deps/{fragment}/{item}` per-edge sidecars
44
+ * (written by save handlers and the publish flow). One readDir per
45
+ * fragment in the BFS for "fragment used by 5 pages", that's 1
46
+ * readDir; for transitive "X → Y → Z", BFS of 3 readDirs total.
46
47
  *
47
- * Handles transitive fragment→fragment dependencies: if @inner is referenced
48
- * by @outer which is referenced by pages/home, querying "@inner" returns
49
- * home and @outer.
48
+ * Compares to the legacy walk, which did one listSidecars per item
49
+ * directory across the whole site (~N readDirs). Bench shows
50
+ * 100×–200× speedup on cloud at N=1000. See the `perf-refs.bench.ts`
51
+ * bench data and design-media-implementation.md for the rationale.
50
52
  *
51
- * Works against target storage (rooted at target base) or source storage
52
- * (pass `baseDir: siteDir` so the walker descends into `siteDir/pages`).
53
+ * Handles transitive fragment→fragment dependencies via BFS: if
54
+ * @inner is referenced by @outer which is referenced by pages/home,
55
+ * querying "@inner" returns home and @outer.
53
56
  */
54
- export declare function findDependentsFromSidecars(storage: StorageProvider, query: {
57
+ export declare function findDependentsFromSidecars(sourceRoot: ContentRoot, query: {
55
58
  fragment: string;
56
- } | {
57
- template: string;
58
- }, opts?: {
59
- baseDir?: string;
60
59
  }): Promise<{
61
60
  pages: string[];
62
61
  fragments: string[];