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
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC/F,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1D,oBAAoB;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAGxD,UAAU;AACV,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAE1E,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzC,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAElM,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,8CAA8C;AAC9C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE3F,0GAA0G"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAA;AAUpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAM9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,YAAY,CAAA;AAGnB,oBAAoB;AACpB,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AAGpB,WAAW;AACX,OAAO,EACL,eAAe,EACf,cAAc,EACd,UAAU,GAGX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,cAAc,EAA4B,MAAM,UAAU,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC/F,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1D,oBAAoB;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,UAAU;AACV,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAE1E,2EAA2E;AAC3E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAG9E,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzC,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAE9B,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,8CAA8C;AAC9C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE3F,0GAA0G"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Locale resolution — single source of truth for locale configuration.
3
+ *
4
+ * Resolves the effective locale settings for a site and for each target,
5
+ * applying inheritance (target inherits from site) and inference
6
+ * (single-locale target auto-infers its default).
7
+ *
8
+ * All locale logic goes through this module. Consumers (renderer, publisher,
9
+ * CLI, admin API) call these functions instead of reading raw config fields.
10
+ */
11
+ import type { SiteManifest, TargetConfig } from './types.js';
12
+ /** Resolved locale settings for a site or target. */
13
+ export interface ResolvedLocales {
14
+ /** All supported locale codes, normalized to lowercase. */
15
+ supported: string[];
16
+ /** The default locale code. */
17
+ default: string;
18
+ /** Whether the default locale gets a URL prefix. */
19
+ defaultPrefix: boolean;
20
+ /** Whether Accept-Language detection/redirect is enabled. */
21
+ detection: boolean;
22
+ /** Fallback chains. E.g. { 'pt-br': 'pt' }. */
23
+ fallbacks: Record<string, string>;
24
+ }
25
+ /**
26
+ * Validate a locale code against BCP 47 pattern.
27
+ * Rejects path traversal (../), dots (fr.json), scripts, empty strings,
28
+ * and anything that isn't a simple language or language-region code.
29
+ */
30
+ export declare function isValidLocale(locale: string): boolean;
31
+ /** Normalize a BCP 47 locale code to lowercase for filenames. */
32
+ export declare function normalizeLocale(locale: string): string;
33
+ /**
34
+ * Resolve the default locale for a site manifest.
35
+ * Chain: explicit `locale` field → first in `locales.supported` → 'en'.
36
+ */
37
+ export declare function defaultLocaleFor(site: SiteManifest): string;
38
+ /**
39
+ * Resolve site-level locale settings.
40
+ * Returns null if i18n is not enabled (no `locales` config).
41
+ */
42
+ export declare function resolveSiteLocales(site: SiteManifest): ResolvedLocales | null;
43
+ /**
44
+ * Resolve target-level locale settings, inheriting from site.
45
+ * Returns null if i18n is not enabled at the site level.
46
+ */
47
+ export declare function resolveTargetLocales(target: TargetConfig, site: SiteManifest): ResolvedLocales | null;
48
+ /**
49
+ * Resolve the locale for a given filename suffix.
50
+ * `page.json` → default locale, `page.fr.json` → 'fr'.
51
+ */
52
+ export declare function localeFromFilename(filename: string, baseName: string): string | null;
53
+ /**
54
+ * Build the filename for a locale variant.
55
+ * `('page', null)` → `page.json`, `('page', 'fr')` → `page.fr.json`.
56
+ */
57
+ export declare function localeFilename(baseName: string, locale: string | null): string;
58
+ /**
59
+ * Resolve a locale through the fallback chain.
60
+ * Returns the first locale in the chain that has content,
61
+ * or the default if nothing matches.
62
+ *
63
+ * @param locale - The requested locale
64
+ * @param available - Set of locales that have content
65
+ * @param resolved - The resolved locale settings (for fallbacks and default)
66
+ */
67
+ export declare function resolveLocaleFallback(locale: string, available: Set<string>, resolved: ResolvedLocales): string;
68
+ /**
69
+ * Build the route prefix for a locale on a given target.
70
+ * Default locale → '' (no prefix, unless defaultPrefix is true).
71
+ * Other locales → '/{locale}'.
72
+ */
73
+ export declare function localeRoutePrefix(locale: string, resolved: ResolvedLocales): string;
74
+ /**
75
+ * Build the locale fallback chain for a given active locale, EXCLUDING the
76
+ * default locale (which is always read separately as the base manifest).
77
+ *
78
+ * Distinct from `resolveLocaleFallback` (which is "first-found-wins" page
79
+ * resolution). This helper supports **per-field cascade** in asset metadata:
80
+ * the asset walker reads each variant in chain order and merges most-specific-
81
+ * wins, so a French page can pick up `pt-BR` alt overrides through the
82
+ * configured `pt-BR → pt` fallback while still using default for everything
83
+ * else.
84
+ *
85
+ * Examples (with site default `en`, fallbacks `{ 'pt-BR': 'pt' }`):
86
+ * localeFallbackChain('pt-BR', resolved) → ['pt-br', 'pt']
87
+ * localeFallbackChain('fr', resolved) → ['fr']
88
+ * localeFallbackChain('en', resolved) → [] (active === default; no chain)
89
+ *
90
+ * The default locale never appears in the chain — callers always read the
91
+ * default manifest first as the base, then apply the chain on top.
92
+ */
93
+ export declare function localeFallbackChain(locale: string, resolved: ResolvedLocales): readonly string[];
94
+ //# sourceMappingURL=locale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAA;AAE3E,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,aAAa,EAAE,OAAO,CAAA;IACtB,6DAA6D;IAC7D,SAAS,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAKD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAE3D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,GAAG,IAAI,CAY7E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,eAAe,GAAG,IAAI,CAsBrG;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWpF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAiB/G;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAInF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,SAAS,MAAM,EAAE,CAehG"}
package/dist/locale.js ADDED
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Locale resolution — single source of truth for locale configuration.
3
+ *
4
+ * Resolves the effective locale settings for a site and for each target,
5
+ * applying inheritance (target inherits from site) and inference
6
+ * (single-locale target auto-infers its default).
7
+ *
8
+ * All locale logic goes through this module. Consumers (renderer, publisher,
9
+ * CLI, admin API) call these functions instead of reading raw config fields.
10
+ */
11
+ /** BCP 47 locale code pattern: 2-letter language, optional region subtag. */
12
+ const LOCALE_PATTERN = /^[a-z]{2}(-[a-z]{2,8})?$/;
13
+ /**
14
+ * Validate a locale code against BCP 47 pattern.
15
+ * Rejects path traversal (../), dots (fr.json), scripts, empty strings,
16
+ * and anything that isn't a simple language or language-region code.
17
+ */
18
+ export function isValidLocale(locale) {
19
+ return LOCALE_PATTERN.test(locale.toLowerCase());
20
+ }
21
+ /** Normalize a BCP 47 locale code to lowercase for filenames. */
22
+ export function normalizeLocale(locale) {
23
+ return locale.toLowerCase();
24
+ }
25
+ /**
26
+ * Resolve the default locale for a site manifest.
27
+ * Chain: explicit `locale` field → first in `locales.supported` → 'en'.
28
+ */
29
+ export function defaultLocaleFor(site) {
30
+ return site.locale ?? site.locales?.supported?.[0] ?? 'en';
31
+ }
32
+ /**
33
+ * Resolve site-level locale settings.
34
+ * Returns null if i18n is not enabled (no `locales` config).
35
+ */
36
+ export function resolveSiteLocales(site) {
37
+ if (!site.locales)
38
+ return null;
39
+ const supported = site.locales.supported.map(normalizeLocale);
40
+ if (supported.length === 0)
41
+ return null;
42
+ const defaultLocale = normalizeLocale(defaultLocaleFor(site));
43
+ return {
44
+ supported,
45
+ default: defaultLocale,
46
+ defaultPrefix: site.locales.defaultPrefix ?? false,
47
+ detection: site.locales.detection ?? false,
48
+ fallbacks: normalizeFallbacks(site.locales.fallbacks),
49
+ };
50
+ }
51
+ /**
52
+ * Resolve target-level locale settings, inheriting from site.
53
+ * Returns null if i18n is not enabled at the site level.
54
+ */
55
+ export function resolveTargetLocales(target, site) {
56
+ const siteLocales = resolveSiteLocales(site);
57
+ if (!siteLocales)
58
+ return null;
59
+ const supported = target.locales ? target.locales.map(normalizeLocale) : siteLocales.supported;
60
+ const defaultLocale = target.locale
61
+ ? normalizeLocale(target.locale)
62
+ : supported.length === 1
63
+ ? supported[0] // single-locale target: the only locale IS the default
64
+ : siteLocales.default;
65
+ return {
66
+ supported,
67
+ default: defaultLocale,
68
+ defaultPrefix: target.defaultPrefix ?? siteLocales.defaultPrefix,
69
+ detection: supported.length === 1
70
+ ? false // single-locale: nothing to detect
71
+ : (target.detection ?? siteLocales.detection),
72
+ fallbacks: siteLocales.fallbacks,
73
+ };
74
+ }
75
+ /**
76
+ * Resolve the locale for a given filename suffix.
77
+ * `page.json` → default locale, `page.fr.json` → 'fr'.
78
+ */
79
+ export function localeFromFilename(filename, baseName) {
80
+ // page.json → null (default)
81
+ if (filename === `${baseName}.json`)
82
+ return null;
83
+ // page.fr.json → 'fr', page.en-gb.json → 'en-gb'
84
+ const prefix = `${baseName}.`;
85
+ const suffix = '.json';
86
+ if (filename.startsWith(prefix) && filename.endsWith(suffix)) {
87
+ const locale = filename.slice(prefix.length, -suffix.length);
88
+ return locale || null;
89
+ }
90
+ return null;
91
+ }
92
+ /**
93
+ * Build the filename for a locale variant.
94
+ * `('page', null)` → `page.json`, `('page', 'fr')` → `page.fr.json`.
95
+ */
96
+ export function localeFilename(baseName, locale) {
97
+ if (!locale)
98
+ return `${baseName}.json`;
99
+ return `${baseName}.${normalizeLocale(locale)}.json`;
100
+ }
101
+ /**
102
+ * Resolve a locale through the fallback chain.
103
+ * Returns the first locale in the chain that has content,
104
+ * or the default if nothing matches.
105
+ *
106
+ * @param locale - The requested locale
107
+ * @param available - Set of locales that have content
108
+ * @param resolved - The resolved locale settings (for fallbacks and default)
109
+ */
110
+ export function resolveLocaleFallback(locale, available, resolved) {
111
+ const norm = normalizeLocale(locale);
112
+ if (available.has(norm))
113
+ return norm;
114
+ // Walk fallback chain
115
+ let current = norm;
116
+ while (resolved.fallbacks[current]) {
117
+ current = resolved.fallbacks[current];
118
+ if (available.has(current))
119
+ return current;
120
+ }
121
+ // Fall back to default
122
+ if (available.has(resolved.default))
123
+ return resolved.default;
124
+ // Last resort: first available
125
+ for (const loc of available)
126
+ return loc;
127
+ return resolved.default;
128
+ }
129
+ /**
130
+ * Build the route prefix for a locale on a given target.
131
+ * Default locale → '' (no prefix, unless defaultPrefix is true).
132
+ * Other locales → '/{locale}'.
133
+ */
134
+ export function localeRoutePrefix(locale, resolved) {
135
+ const norm = normalizeLocale(locale);
136
+ if (norm === resolved.default && !resolved.defaultPrefix)
137
+ return '';
138
+ return `/${norm}`;
139
+ }
140
+ /**
141
+ * Build the locale fallback chain for a given active locale, EXCLUDING the
142
+ * default locale (which is always read separately as the base manifest).
143
+ *
144
+ * Distinct from `resolveLocaleFallback` (which is "first-found-wins" page
145
+ * resolution). This helper supports **per-field cascade** in asset metadata:
146
+ * the asset walker reads each variant in chain order and merges most-specific-
147
+ * wins, so a French page can pick up `pt-BR` alt overrides through the
148
+ * configured `pt-BR → pt` fallback while still using default for everything
149
+ * else.
150
+ *
151
+ * Examples (with site default `en`, fallbacks `{ 'pt-BR': 'pt' }`):
152
+ * localeFallbackChain('pt-BR', resolved) → ['pt-br', 'pt']
153
+ * localeFallbackChain('fr', resolved) → ['fr']
154
+ * localeFallbackChain('en', resolved) → [] (active === default; no chain)
155
+ *
156
+ * The default locale never appears in the chain — callers always read the
157
+ * default manifest first as the base, then apply the chain on top.
158
+ */
159
+ export function localeFallbackChain(locale, resolved) {
160
+ const norm = normalizeLocale(locale);
161
+ if (norm === resolved.default)
162
+ return [];
163
+ const chain = [norm];
164
+ const visited = new Set([norm]);
165
+ let current = norm;
166
+ while (resolved.fallbacks[current]) {
167
+ const next = resolved.fallbacks[current];
168
+ if (next === resolved.default)
169
+ break;
170
+ if (visited.has(next))
171
+ break; // cycle: stop, never re-visit
172
+ visited.add(next);
173
+ chain.push(next);
174
+ current = next;
175
+ }
176
+ return chain;
177
+ }
178
+ /** Normalize fallback keys and values to lowercase. */
179
+ function normalizeFallbacks(fallbacks) {
180
+ if (!fallbacks)
181
+ return {};
182
+ const result = {};
183
+ for (const [key, value] of Object.entries(fallbacks)) {
184
+ result[normalizeLocale(key)] = normalizeLocale(value);
185
+ }
186
+ return result;
187
+ }
188
+ //# sourceMappingURL=locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAiD/G,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAYzG;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAYzG;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAUjH"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAEhB,YAAY,EACZ,YAAY,EACZ,eAAe,EAChB,MAAM,YAAY,CAAA;AAiDnB,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAazG;AAcD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAazG;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAUjH"}
package/dist/manifest.js CHANGED
@@ -56,10 +56,24 @@ export async function parseSiteManifest(storage, filePath) {
56
56
  name: raw.name,
57
57
  version: raw.version,
58
58
  locale: raw.locale,
59
- baseUrl: raw.baseUrl,
59
+ locales: parseLocalesConfig(raw.locales),
60
+ defaultOgImage: raw.defaultOgImage,
60
61
  systemPages: Array.isArray(raw.systemPages) ? raw.systemPages : undefined,
61
62
  };
62
63
  }
64
+ function parseLocalesConfig(raw) {
65
+ if (!raw || typeof raw !== 'object')
66
+ return undefined;
67
+ const obj = raw;
68
+ if (!Array.isArray(obj.supported) || obj.supported.length === 0)
69
+ return undefined;
70
+ return {
71
+ supported: obj.supported,
72
+ fallbacks: obj.fallbacks,
73
+ defaultPrefix: typeof obj.defaultPrefix === 'boolean' ? obj.defaultPrefix : undefined,
74
+ detection: typeof obj.detection === 'boolean' ? obj.detection : undefined,
75
+ };
76
+ }
63
77
  export async function parsePageManifest(storage, filePath) {
64
78
  const raw = parseJson(await storage.readFile(filePath), filePath);
65
79
  if (typeof raw.template !== 'string') {
@@ -70,6 +84,7 @@ export async function parsePageManifest(storage, filePath) {
70
84
  template: raw.template,
71
85
  content: raw.content,
72
86
  components: parseComponents(raw.components),
87
+ metadata: raw.metadata,
73
88
  cache: raw.cache,
74
89
  };
75
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare function atomicWriteString(path: string, content: string): Promise<void>;
2
+ /**
3
+ * Atomic byte write — bytes-in, no string round-trip. Used by callers
4
+ * that have a buffer in hand (history blobs, bounded asset writes).
5
+ * Same write-then-rename guarantees as atomicWriteString.
6
+ */
7
+ export declare function atomicWriteBytes(path: string, bytes: Uint8Array): Promise<void>;
8
+ export declare function atomicWriteStream(path: string, stream: ReadableStream<Uint8Array>): Promise<void>;
9
+ //# sourceMappingURL=_atomic-write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_atomic-write.d.ts","sourceRoot":"","sources":["../../src/providers/_atomic-write.ts"],"names":[],"mappings":"AA+BA,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpF;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBvG"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Atomic file write policy for the filesystem provider.
3
+ *
4
+ * Both text and binary-stream writes use a write-then-rename strategy so
5
+ * readers mid-write never see a partial file:
6
+ *
7
+ * - Text (`atomicWriteString`): delegates to the `write-file-atomic` package
8
+ * (same pattern everyone else in the Node ecosystem uses — sharp's internal
9
+ * config, npm's lockfile writer, etc.).
10
+ * - Binary stream (`atomicWriteStream`): pipes the incoming stream into a
11
+ * same-directory temp file, then renames onto the target. Temp is cleaned
12
+ * up on pipeline failure.
13
+ *
14
+ * Atomicity guarantees:
15
+ * - POSIX `rename(2)` is atomic within a single filesystem. Node's
16
+ * `fs.rename` delegates to it on POSIX systems.
17
+ * - Windows `MoveFileEx` with `MOVEFILE_REPLACE_EXISTING` is atomic on NTFS
18
+ * when source and target are on the same volume — write-file-atomic (for
19
+ * text) and our temp-path scheme (for streams) both place the temp file
20
+ * in the same directory as the target to meet this requirement.
21
+ *
22
+ * This module is filesystem-specific. Cloud storage (R2, S3, Azure) has
23
+ * naturally atomic single-object PUT and does not need this policy.
24
+ */
25
+ import { createWriteStream } from 'node:fs';
26
+ import { mkdir, rename, rm } from 'node:fs/promises';
27
+ import { dirname } from 'node:path';
28
+ import { pipeline } from 'node:stream/promises';
29
+ import writeFileAtomic from 'write-file-atomic';
30
+ import { webReadableToNode } from './_stream-interop.js';
31
+ export async function atomicWriteString(path, content) {
32
+ // Parent directory must exist before write-file-atomic creates its tempfile
33
+ // next to the target. Same contract as atomicWriteStream.
34
+ await mkdir(dirname(path), { recursive: true });
35
+ await writeFileAtomic(path, content, 'utf-8');
36
+ }
37
+ /**
38
+ * Atomic byte write — bytes-in, no string round-trip. Used by callers
39
+ * that have a buffer in hand (history blobs, bounded asset writes).
40
+ * Same write-then-rename guarantees as atomicWriteString.
41
+ */
42
+ export async function atomicWriteBytes(path, bytes) {
43
+ await mkdir(dirname(path), { recursive: true });
44
+ // write-file-atomic accepts Buffer | Uint8Array directly; no encoding
45
+ // applied when the second arg is bytes. Wrap in Buffer for consistent
46
+ // typing across Node versions (Buffer extends Uint8Array).
47
+ await writeFileAtomic(path, Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength));
48
+ }
49
+ export async function atomicWriteStream(path, stream) {
50
+ // Parent directory must exist before createWriteStream can create the file.
51
+ // (`write-file-atomic` handles this for text; for streams we do it ourselves.)
52
+ await mkdir(dirname(path), { recursive: true });
53
+ const tmpPath = `${path}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;
54
+ const writer = createWriteStream(tmpPath);
55
+ try {
56
+ await pipeline(webReadableToNode(stream), writer);
57
+ }
58
+ catch (err) {
59
+ // Clean up the temp file on pipeline failure; swallow rm errors
60
+ // (already-missing temp is fine).
61
+ await rm(tmpPath, { force: true }).catch(() => { });
62
+ throw err;
63
+ }
64
+ try {
65
+ await rename(tmpPath, path);
66
+ }
67
+ catch (err) {
68
+ await rm(tmpPath, { force: true }).catch(() => { });
69
+ throw err;
70
+ }
71
+ }
72
+ //# sourceMappingURL=_atomic-write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_atomic-write.js","sourceRoot":"","sources":["../../src/providers/_atomic-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAiB,MAAM,sBAAsB,CAAA;AAEvE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAe;IACnE,4EAA4E;IAC5E,0DAA0D;IAC1D,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAiB;IACpE,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,sEAAsE;IACtE,sEAAsE;IACtE,2DAA2D;IAC3D,MAAM,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;AAC5F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAkC;IACtF,4EAA4E;IAC5E,+EAA+E;IAC/E,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE/C,MAAM,OAAO,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;IACnF,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAEzC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAkB,CAAC,CAAA;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gEAAgE;QAChE,kCAAkC;QAClC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAClD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAClD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Storage adapter utility — idempotent remove via probe-then-delete.
3
+ *
4
+ * Uses `exists()` to determine whether the path is present, then `rm()`
5
+ * only when it is. This delegates the "is it missing?" decision to the
6
+ * provider's own `exists()` implementation — no cross-provider error-
7
+ * shape matching needed.
8
+ *
9
+ * Why probe-then-delete instead of try/catch:
10
+ * - `exists()` is already part of the StorageProvider contract and every
11
+ * provider knows how to answer it correctly for its backend.
12
+ * - Matching raw error messages (`ENOENT`, `NoSuchKey`, etc.) across four
13
+ * providers is fragile and accumulates drift as providers version.
14
+ * - A TOCTOU race (file deleted between probe and rm) just means `rm()`
15
+ * throws, and the caller sees a real error — acceptable because the
16
+ * race is vanishingly rare in our single-writer model (the admin is the
17
+ * only writer on source content during v1).
18
+ *
19
+ * When the storage interface grows a typed `StorageNotFoundError`
20
+ * (separate PR — retrofit across all four providers + all existing `rm`
21
+ * callers), this helper becomes a one-liner try/catch. Until then, the
22
+ * probe is the honest abstraction boundary.
23
+ */
24
+ import type { StorageProvider } from '../types.js';
25
+ /**
26
+ * `rm(path)` that swallows "already missing" — probes with `exists()`
27
+ * first. Returns `true` if a file was actually removed, `false` if it
28
+ * was already gone. Callers that care can distinguish.
29
+ */
30
+ export declare function rmIgnoreMissing(storage: StorageProvider, path: string): Promise<boolean>;
31
+ //# sourceMappingURL=_rm-ignore-missing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_rm-ignore-missing.d.ts","sourceRoot":"","sources":["../../src/providers/_rm-ignore-missing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI9F"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `rm(path)` that swallows "already missing" — probes with `exists()`
3
+ * first. Returns `true` if a file was actually removed, `false` if it
4
+ * was already gone. Callers that care can distinguish.
5
+ */
6
+ export async function rmIgnoreMissing(storage, path) {
7
+ if (!(await storage.exists(path)))
8
+ return false;
9
+ await storage.rm(path);
10
+ return true;
11
+ }
12
+ //# sourceMappingURL=_rm-ignore-missing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_rm-ignore-missing.js","sourceRoot":"","sources":["../../src/providers/_rm-ignore-missing.ts"],"names":[],"mappings":"AAyBA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAwB,EAAE,IAAY;IAC1E,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAC/C,MAAM,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IACtB,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Stream interoperability between Node's `stream` module and the WHATWG
3
+ * `ReadableStream` web standard.
4
+ *
5
+ * Node 16.5+ provides `Readable.toWeb` / `Readable.fromWeb`, but the types
6
+ * are subtly wrong for our use case — they return/accept the `node:stream/web`
7
+ * variant of `ReadableStream` rather than the lib-dom global. These helpers
8
+ * do the single-point type coercion so every consumer of the filesystem
9
+ * provider's streaming methods (and future providers) sees the standard
10
+ * web type without casting at each call site.
11
+ */
12
+ import { Readable, type Writable } from 'node:stream';
13
+ /** Coerce a Node Readable into the standard `ReadableStream<Uint8Array>`. */
14
+ export declare function nodeReadableToWeb(stream: Readable): ReadableStream<Uint8Array>;
15
+ /** Coerce a standard `ReadableStream<Uint8Array>` into a Node Readable. */
16
+ export declare function webReadableToNode(stream: ReadableStream<Uint8Array>): Readable;
17
+ /**
18
+ * Re-exported type alias — callers doing `pipeline(webReadableToNode(s), writer)`
19
+ * need the Writable type for the writer argument, but the Node `stream` module's
20
+ * typing is verbose to import in every provider.
21
+ */
22
+ export type { Writable };
23
+ //# sourceMappingURL=_stream-interop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_stream-interop.d.ts","sourceRoot":"","sources":["../../src/providers/_stream-interop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAErD,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,CAE9E;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,QAAQ,CAE9E;AAED;;;;GAIG;AACH,YAAY,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Stream interoperability between Node's `stream` module and the WHATWG
3
+ * `ReadableStream` web standard.
4
+ *
5
+ * Node 16.5+ provides `Readable.toWeb` / `Readable.fromWeb`, but the types
6
+ * are subtly wrong for our use case — they return/accept the `node:stream/web`
7
+ * variant of `ReadableStream` rather than the lib-dom global. These helpers
8
+ * do the single-point type coercion so every consumer of the filesystem
9
+ * provider's streaming methods (and future providers) sees the standard
10
+ * web type without casting at each call site.
11
+ */
12
+ import { Readable } from 'node:stream';
13
+ /** Coerce a Node Readable into the standard `ReadableStream<Uint8Array>`. */
14
+ export function nodeReadableToWeb(stream) {
15
+ return Readable.toWeb(stream);
16
+ }
17
+ /** Coerce a standard `ReadableStream<Uint8Array>` into a Node Readable. */
18
+ export function webReadableToNode(stream) {
19
+ return Readable.fromWeb(stream);
20
+ }
21
+ //# sourceMappingURL=_stream-interop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_stream-interop.js","sourceRoot":"","sources":["../../src/providers/_stream-interop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAA;AAErD,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB,CAAC,MAAgB;IAChD,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAA+B,CAAA;AAC7D,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,iBAAiB,CAAC,MAAkC;IAClE,OAAO,QAAQ,CAAC,OAAO,CAAC,MAA8D,CAAC,CAAA;AACzF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"azure-blob.d.ts","sourceRoot":"","sources":["../../src/providers/azure-blob.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,aAAa,CAAA;AAE5D,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB;AAWD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,eAAe,GAAG;IAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAiFtH"}
1
+ {"version":3,"file":"azure-blob.d.ts","sourceRoot":"","sources":["../../src/providers/azure-blob.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,aAAa,CAAA;AAGvE,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB;AAWD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,eAAe,GAAG;IAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CA0I7C"}