@sixtyninecommerce/client 0.24.0 → 0.26.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 (293) hide show
  1. package/README.md +21 -0
  2. package/dist/admin/forms.js +19 -0
  3. package/dist/admin/forms.js.map +1 -1
  4. package/dist/admin/http.d.ts +9 -0
  5. package/dist/admin/http.d.ts.map +1 -1
  6. package/dist/admin/http.js +3 -0
  7. package/dist/admin/http.js.map +1 -1
  8. package/dist/admin/index.d.ts +63 -0
  9. package/dist/admin/index.d.ts.map +1 -1
  10. package/dist/admin/index.js +67 -0
  11. package/dist/admin/index.js.map +1 -1
  12. package/dist/admin/redirects.d.ts +6 -0
  13. package/dist/admin/redirects.d.ts.map +1 -1
  14. package/dist/admin/redirects.js +12 -0
  15. package/dist/admin/redirects.js.map +1 -1
  16. package/dist/admin/types.d.ts +63 -0
  17. package/dist/admin/types.d.ts.map +1 -1
  18. package/dist/cache-tags.d.ts +19 -0
  19. package/dist/cache-tags.d.ts.map +1 -1
  20. package/dist/cache-tags.js +19 -0
  21. package/dist/cache-tags.js.map +1 -1
  22. package/dist/client.d.ts +17 -0
  23. package/dist/client.d.ts.map +1 -1
  24. package/dist/client.js +17 -0
  25. package/dist/client.js.map +1 -1
  26. package/dist/commerce/age-verification.js +3 -3
  27. package/dist/commerce/age-verification.js.map +1 -1
  28. package/dist/commerce/branding.js +7 -0
  29. package/dist/commerce/branding.js.map +1 -1
  30. package/dist/commerce/cart.js +25 -0
  31. package/dist/commerce/cart.js.map +1 -1
  32. package/dist/commerce/checkout.d.ts +68 -0
  33. package/dist/commerce/checkout.d.ts.map +1 -1
  34. package/dist/commerce/checkout.js +83 -0
  35. package/dist/commerce/checkout.js.map +1 -1
  36. package/dist/commerce/customer.d.ts +58 -0
  37. package/dist/commerce/customer.d.ts.map +1 -1
  38. package/dist/commerce/customer.js +65 -0
  39. package/dist/commerce/customer.js.map +1 -1
  40. package/dist/commerce/pickup-location-parser.d.ts +18 -0
  41. package/dist/commerce/pickup-location-parser.d.ts.map +1 -1
  42. package/dist/commerce/pickup-location-parser.js +28 -0
  43. package/dist/commerce/pickup-location-parser.js.map +1 -1
  44. package/dist/commerce/placement-error.d.ts +52 -0
  45. package/dist/commerce/placement-error.d.ts.map +1 -1
  46. package/dist/commerce/placement-error.js +87 -0
  47. package/dist/commerce/placement-error.js.map +1 -1
  48. package/dist/commerce/products.d.ts +48 -0
  49. package/dist/commerce/products.d.ts.map +1 -1
  50. package/dist/commerce/products.js +92 -0
  51. package/dist/commerce/products.js.map +1 -1
  52. package/dist/commerce/queries.d.ts +113 -27
  53. package/dist/commerce/queries.d.ts.map +1 -1
  54. package/dist/commerce/queries.js +188 -2
  55. package/dist/commerce/queries.js.map +1 -1
  56. package/dist/commerce/quotes.js +33 -0
  57. package/dist/commerce/quotes.js.map +1 -1
  58. package/dist/commerce/saved-lists.d.ts +7 -7
  59. package/dist/commerce/saved-lists.d.ts.map +1 -1
  60. package/dist/commerce/saved-lists.js +1 -1
  61. package/dist/commerce/search.js +3 -0
  62. package/dist/commerce/search.js.map +1 -1
  63. package/dist/commerce/shipping.js +3 -3
  64. package/dist/commerce/shipping.js.map +1 -1
  65. package/dist/commerce/stock-notifications.d.ts +11 -0
  66. package/dist/commerce/stock-notifications.d.ts.map +1 -1
  67. package/dist/commerce/stock-notifications.js +11 -0
  68. package/dist/commerce/stock-notifications.js.map +1 -1
  69. package/dist/commerce/vat-validation.js +4 -4
  70. package/dist/commerce/vat-validation.js.map +1 -1
  71. package/dist/constants.d.ts +31 -0
  72. package/dist/constants.d.ts.map +1 -1
  73. package/dist/constants.js +32 -0
  74. package/dist/constants.js.map +1 -1
  75. package/dist/content/asset-urls.d.ts +50 -0
  76. package/dist/content/asset-urls.d.ts.map +1 -1
  77. package/dist/content/asset-urls.js +92 -0
  78. package/dist/content/asset-urls.js.map +1 -1
  79. package/dist/content/assets.d.ts +15 -0
  80. package/dist/content/assets.d.ts.map +1 -1
  81. package/dist/content/assets.js +15 -0
  82. package/dist/content/assets.js.map +1 -1
  83. package/dist/content/collection-pages.d.ts +5 -0
  84. package/dist/content/collection-pages.d.ts.map +1 -1
  85. package/dist/content/collection-pages.js +8 -0
  86. package/dist/content/collection-pages.js.map +1 -1
  87. package/dist/content/collections.d.ts +14 -0
  88. package/dist/content/collections.d.ts.map +1 -1
  89. package/dist/content/collections.js +16 -0
  90. package/dist/content/collections.js.map +1 -1
  91. package/dist/content/filtered-products.d.ts +18 -0
  92. package/dist/content/filtered-products.d.ts.map +1 -1
  93. package/dist/content/filtered-products.js +16 -0
  94. package/dist/content/filtered-products.js.map +1 -1
  95. package/dist/content/form-field-types.d.ts +6 -0
  96. package/dist/content/form-field-types.d.ts.map +1 -1
  97. package/dist/content/form-field-types.js +12 -0
  98. package/dist/content/form-field-types.js.map +1 -1
  99. package/dist/content/forms.d.ts +16 -0
  100. package/dist/content/forms.d.ts.map +1 -1
  101. package/dist/content/forms.js +23 -0
  102. package/dist/content/forms.js.map +1 -1
  103. package/dist/content/items.d.ts +26 -0
  104. package/dist/content/items.d.ts.map +1 -1
  105. package/dist/content/items.js +33 -0
  106. package/dist/content/items.js.map +1 -1
  107. package/dist/content/resolve.js +6 -0
  108. package/dist/content/resolve.js.map +1 -1
  109. package/dist/content/sitemap.d.ts +5 -0
  110. package/dist/content/sitemap.d.ts.map +1 -1
  111. package/dist/content/sitemap.js +5 -0
  112. package/dist/content/sitemap.js.map +1 -1
  113. package/dist/core/context.js +6 -0
  114. package/dist/core/context.js.map +1 -1
  115. package/dist/core/headers.js +2 -0
  116. package/dist/core/headers.js.map +1 -1
  117. package/dist/core/http.d.ts +8 -0
  118. package/dist/core/http.d.ts.map +1 -1
  119. package/dist/core/http.js +89 -1
  120. package/dist/core/http.js.map +1 -1
  121. package/dist/credit/credit-status.js +2 -2
  122. package/dist/credit/credit-status.js.map +1 -1
  123. package/dist/credit/payment-terms.js +2 -2
  124. package/dist/credit/payment-terms.js.map +1 -1
  125. package/dist/currency/exchange.d.ts +11 -0
  126. package/dist/currency/exchange.d.ts.map +1 -1
  127. package/dist/currency/exchange.js +11 -0
  128. package/dist/currency/exchange.js.map +1 -1
  129. package/dist/errors.d.ts +50 -2
  130. package/dist/errors.d.ts.map +1 -1
  131. package/dist/errors.js +48 -2
  132. package/dist/errors.js.map +1 -1
  133. package/dist/events/envelope.d.ts +60 -0
  134. package/dist/events/envelope.d.ts.map +1 -1
  135. package/dist/events/envelope.js +12 -0
  136. package/dist/events/envelope.js.map +1 -1
  137. package/dist/events/index.d.ts +14 -1
  138. package/dist/events/index.d.ts.map +1 -1
  139. package/dist/events/index.js +13 -0
  140. package/dist/events/index.js.map +1 -1
  141. package/dist/events/payloads.d.ts +19 -0
  142. package/dist/events/payloads.d.ts.map +1 -1
  143. package/dist/events/payloads.js +12 -0
  144. package/dist/events/payloads.js.map +1 -1
  145. package/dist/index.d.ts +7 -0
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +7 -0
  148. package/dist/index.js.map +1 -1
  149. package/dist/media/index.js +2 -0
  150. package/dist/media/index.js.map +1 -1
  151. package/dist/media/urls.d.ts +52 -0
  152. package/dist/media/urls.d.ts.map +1 -1
  153. package/dist/media/urls.js +38 -0
  154. package/dist/media/urls.js.map +1 -1
  155. package/dist/media/video.d.ts +16 -0
  156. package/dist/media/video.d.ts.map +1 -1
  157. package/dist/media/video.js +16 -0
  158. package/dist/media/video.js.map +1 -1
  159. package/dist/next/artifact-handler.d.ts +22 -0
  160. package/dist/next/artifact-handler.d.ts.map +1 -1
  161. package/dist/next/artifact-handler.js +22 -0
  162. package/dist/next/artifact-handler.js.map +1 -1
  163. package/dist/next/event-revalidate-handler.d.ts +67 -0
  164. package/dist/next/event-revalidate-handler.d.ts.map +1 -1
  165. package/dist/next/event-revalidate-handler.js +48 -0
  166. package/dist/next/event-revalidate-handler.js.map +1 -1
  167. package/dist/next/index.d.ts +6 -0
  168. package/dist/next/index.d.ts.map +1 -1
  169. package/dist/next/index.js +6 -0
  170. package/dist/next/index.js.map +1 -1
  171. package/dist/next/json-ld.d.ts +9 -0
  172. package/dist/next/json-ld.d.ts.map +1 -1
  173. package/dist/next/json-ld.js +9 -0
  174. package/dist/next/json-ld.js.map +1 -1
  175. package/dist/next/metadata.d.ts +18 -0
  176. package/dist/next/metadata.d.ts.map +1 -1
  177. package/dist/next/metadata.js +21 -0
  178. package/dist/next/metadata.js.map +1 -1
  179. package/dist/next/redirect-middleware.d.ts +39 -0
  180. package/dist/next/redirect-middleware.d.ts.map +1 -1
  181. package/dist/next/redirect-middleware.js +32 -0
  182. package/dist/next/redirect-middleware.js.map +1 -1
  183. package/dist/next/revalidate-handler.d.ts +30 -0
  184. package/dist/next/revalidate-handler.d.ts.map +1 -1
  185. package/dist/next/revalidate-handler.js +22 -0
  186. package/dist/next/revalidate-handler.js.map +1 -1
  187. package/dist/order-scope.d.ts +27 -0
  188. package/dist/order-scope.d.ts.map +1 -1
  189. package/dist/order-scope.js +29 -0
  190. package/dist/order-scope.js.map +1 -1
  191. package/dist/pricing/format.d.ts +17 -0
  192. package/dist/pricing/format.d.ts.map +1 -1
  193. package/dist/pricing/format.js +19 -0
  194. package/dist/pricing/format.js.map +1 -1
  195. package/dist/pricing/index.d.ts +8 -1
  196. package/dist/pricing/index.d.ts.map +1 -1
  197. package/dist/pricing/index.js +18 -2
  198. package/dist/pricing/index.js.map +1 -1
  199. package/dist/pricing/tax-display.d.ts +77 -0
  200. package/dist/pricing/tax-display.d.ts.map +1 -1
  201. package/dist/pricing/tax-display.js +85 -0
  202. package/dist/pricing/tax-display.js.map +1 -1
  203. package/dist/pricing/tiers.d.ts +9 -0
  204. package/dist/pricing/tiers.d.ts.map +1 -1
  205. package/dist/pricing/tiers.js +9 -0
  206. package/dist/pricing/tiers.js.map +1 -1
  207. package/dist/pricing/validation.d.ts +56 -1
  208. package/dist/pricing/validation.d.ts.map +1 -1
  209. package/dist/pricing/validation.js +61 -0
  210. package/dist/pricing/validation.js.map +1 -1
  211. package/dist/redirects/index.d.ts +1 -0
  212. package/dist/redirects/index.d.ts.map +1 -1
  213. package/dist/redirects/index.js +1 -0
  214. package/dist/redirects/index.js.map +1 -1
  215. package/dist/redirects/store.d.ts +20 -0
  216. package/dist/redirects/store.d.ts.map +1 -1
  217. package/dist/redirects/store.js +57 -0
  218. package/dist/redirects/store.js.map +1 -1
  219. package/dist/redirects/types.d.ts +24 -0
  220. package/dist/redirects/types.d.ts.map +1 -1
  221. package/dist/redirects/types.js +1 -0
  222. package/dist/redirects/types.js.map +1 -1
  223. package/dist/revalidation/event-plan.d.ts +48 -0
  224. package/dist/revalidation/event-plan.d.ts.map +1 -1
  225. package/dist/revalidation/event-plan.js +61 -0
  226. package/dist/revalidation/event-plan.js.map +1 -1
  227. package/dist/revalidation/event-verify.d.ts +25 -0
  228. package/dist/revalidation/event-verify.d.ts.map +1 -1
  229. package/dist/revalidation/event-verify.js +27 -0
  230. package/dist/revalidation/event-verify.js.map +1 -1
  231. package/dist/revalidation/types.d.ts +20 -0
  232. package/dist/revalidation/types.d.ts.map +1 -1
  233. package/dist/revalidation/types.js +10 -0
  234. package/dist/revalidation/types.js.map +1 -1
  235. package/dist/revalidation/url-context.d.ts +25 -0
  236. package/dist/revalidation/url-context.d.ts.map +1 -1
  237. package/dist/revalidation/url-context.js +17 -0
  238. package/dist/revalidation/url-context.js.map +1 -1
  239. package/dist/revalidation/verify.d.ts +8 -0
  240. package/dist/revalidation/verify.d.ts.map +1 -1
  241. package/dist/revalidation/verify.js +8 -0
  242. package/dist/revalidation/verify.js.map +1 -1
  243. package/dist/seo/ai.d.ts +17 -0
  244. package/dist/seo/ai.d.ts.map +1 -1
  245. package/dist/seo/ai.js +12 -0
  246. package/dist/seo/ai.js.map +1 -1
  247. package/dist/seo/alternates.js +13 -0
  248. package/dist/seo/alternates.js.map +1 -1
  249. package/dist/seo/artifacts.d.ts +13 -0
  250. package/dist/seo/artifacts.d.ts.map +1 -1
  251. package/dist/seo/artifacts.js +19 -0
  252. package/dist/seo/artifacts.js.map +1 -1
  253. package/dist/seo/canonical.d.ts +15 -0
  254. package/dist/seo/canonical.d.ts.map +1 -1
  255. package/dist/seo/canonical.js +24 -0
  256. package/dist/seo/canonical.js.map +1 -1
  257. package/dist/seo/index.js +6 -0
  258. package/dist/seo/index.js.map +1 -1
  259. package/dist/seo/json-ld.d.ts +13 -0
  260. package/dist/seo/json-ld.d.ts.map +1 -1
  261. package/dist/seo/json-ld.js +32 -0
  262. package/dist/seo/json-ld.js.map +1 -1
  263. package/dist/seo/locale-tag.d.ts +31 -0
  264. package/dist/seo/locale-tag.d.ts.map +1 -1
  265. package/dist/seo/locale-tag.js +31 -0
  266. package/dist/seo/locale-tag.js.map +1 -1
  267. package/dist/seo/meta-tags.d.ts +29 -0
  268. package/dist/seo/meta-tags.d.ts.map +1 -1
  269. package/dist/seo/meta-tags.js +28 -0
  270. package/dist/seo/meta-tags.js.map +1 -1
  271. package/dist/seo/metadata-parser.d.ts +24 -0
  272. package/dist/seo/metadata-parser.d.ts.map +1 -1
  273. package/dist/seo/metadata-parser.js +38 -0
  274. package/dist/seo/metadata-parser.js.map +1 -1
  275. package/dist/seo/metadata-types.d.ts +16 -0
  276. package/dist/seo/metadata-types.d.ts.map +1 -1
  277. package/dist/seo/product-path.d.ts +96 -0
  278. package/dist/seo/product-path.d.ts.map +1 -1
  279. package/dist/seo/product-path.js +96 -0
  280. package/dist/seo/product-path.js.map +1 -1
  281. package/dist/seo/robots.d.ts +17 -0
  282. package/dist/seo/robots.d.ts.map +1 -1
  283. package/dist/seo/robots.js +12 -0
  284. package/dist/seo/robots.js.map +1 -1
  285. package/dist/seo/types.d.ts +39 -0
  286. package/dist/seo/types.d.ts.map +1 -1
  287. package/dist/seo/url-builder.d.ts +31 -0
  288. package/dist/seo/url-builder.d.ts.map +1 -1
  289. package/dist/seo/url-builder.js +36 -0
  290. package/dist/seo/url-builder.js.map +1 -1
  291. package/dist/types.d.ts +1163 -0
  292. package/dist/types.d.ts.map +1 -1
  293. package/package.json +1 -1
@@ -1,3 +1,11 @@
1
+ /**
2
+ * `metaTagsFor()` — produce the full HTML meta tag set for any page kind
3
+ * (product, collection, CMS item). The output is structured (not stringified)
4
+ * so storefront apps can render it however they like (React JSX, Astro head
5
+ * slot, HTML string). Title / description / canonical / robots / OpenGraph /
6
+ * Twitter / hreflang resolution is shared across kinds; only JSON-LD and the
7
+ * product-specific OpenGraph fields branch per kind.
8
+ */
1
9
  import { alternatesFor } from './alternates.js';
2
10
  import { canonicalFor } from './canonical.js';
3
11
  import { composeBreadcrumbJsonLd, composeCmsJsonLd, composeCollectionJsonLd, composeFaqJsonLd, composeProductJsonLd, } from './json-ld.js';
@@ -28,6 +36,7 @@ function pickAssetUrl(resolveAssetUrl, asset) {
28
36
  if (!asset)
29
37
  return null;
30
38
  const presets = asset.presets;
39
+ // Prefer the largest preset for social cards (Facebook recommends ≥1200x630).
31
40
  const raw = presets?.xl?.url ??
32
41
  presets?.l?.url ??
33
42
  presets?.m?.url ??
@@ -35,14 +44,28 @@ function pickAssetUrl(resolveAssetUrl, asset) {
35
44
  presets?.s?.url ??
36
45
  asset.source ??
37
46
  null;
47
+ // Stored values are R2 storage keys — absolute only after resolution.
38
48
  return resolveAssetUrl(raw) || null;
39
49
  }
50
+ /**
51
+ * The `hreflang` value for one override entry, always well-formed BCP 47.
52
+ * When an explicit country is supplied it wins over any region already carried
53
+ * by the language tag, so `en_GB` + `US` yields `en-US` rather than `en-GB-US`.
54
+ */
40
55
  function overrideHreflang(override) {
41
56
  return override.country
42
57
  ? `${baseLanguage(override.language)}-${override.country}`
43
58
  : toBcp47(override.language);
44
59
  }
60
+ /**
61
+ * Merge channel alternates with per-entity hreflang overrides. Override wins
62
+ * when its language code matches; we always append `x-default`. Collections and
63
+ * CMS items have no override field and pass an empty array.
64
+ */
45
65
  function mergeHreflang(channelAlternates, overrides, xDefaultHref) {
66
+ // Overrides are keyed by the language code as it was STORED — a Vendure tag
67
+ // (`en_GB`) or a hand-typed BCP 47 one (`en-GB`). Index both spellings so an
68
+ // override matches its channel alternate whichever way it was written.
46
69
  const overrideByLang = new Map();
47
70
  for (const entry of overrides) {
48
71
  overrideByLang.set(entry.language, entry);
@@ -60,6 +83,7 @@ function mergeHreflang(channelAlternates, overrides, xDefaultHref) {
60
83
  out.push(tag);
61
84
  seen.add(tag.hreflang);
62
85
  }
86
+ // Emit overrides for languages that weren't in the channel alternates set.
63
87
  for (const override of overrides) {
64
88
  const lang = overrideHreflang(override);
65
89
  if (seen.has(lang))
@@ -106,6 +130,8 @@ function buildOpenGraphTags(ctx, params) {
106
130
  const siteName = typeof cf.businessName === 'string' && cf.businessName.length > 0 ? cf.businessName : null;
107
131
  if (siteName)
108
132
  tags.push({ property: 'og:site_name', content: siteName });
133
+ // OpenGraph specifies `language_TERRITORY` — the UNDERSCORE spelling — so these
134
+ // two intentionally emit the raw Vendure code, not the hyphenated `hreflang`.
109
135
  tags.push({ property: 'og:locale', content: ctx.channel.defaultLanguageCode });
110
136
  for (const alt of channelAlternates) {
111
137
  const locale = alt.languageCode ?? alt.hreflang;
@@ -121,6 +147,7 @@ function buildOpenGraphTags(ctx, params) {
121
147
  if (alt)
122
148
  tags.push({ property: 'og:image:alt', content: alt });
123
149
  }
150
+ // Product-specific OpenGraph fields only make sense for the product kind.
124
151
  if (ogType === 'product' && productExtras) {
125
152
  if (productExtras.price) {
126
153
  tags.push({ property: 'product:price:amount', content: productExtras.price.amount });
@@ -165,6 +192,7 @@ function buildTwitterTags(ctx, params) {
165
192
  }
166
193
  export function metaTagsFor(ctx, input) {
167
194
  const { cfg, channel } = ctx;
195
+ // Normalise per-kind inputs to a common set of variables.
168
196
  let entity;
169
197
  let metadata;
170
198
  let name;
@@ -1 +1 @@
1
- {"version":3,"file":"meta-tags.js","sourceRoot":"","sources":["../../src/seo/meta-tags.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AASxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AA+BnD,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,aAAa,GAAG,MAAM,CAAC;AAE7B,MAAM,mBAAmB,GAAe;IACtC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,OAAO;IACxB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW;IAC1C,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CAAC,eAAiC,EAAE,KAAmB;IAC1E,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAE9B,MAAM,GAAG,GACP,OAAO,EAAE,EAAE,EAAE,GAAG;QAChB,OAAO,EAAE,CAAC,EAAE,GAAG;QACf,OAAO,EAAE,CAAC,EAAE,GAAG;QACf,OAAO,EAAE,EAAE,EAAE,GAAG;QAChB,OAAO,EAAE,CAAC,EAAE,GAAG;QACf,KAAK,CAAC,MAAM;QACZ,IAAI,CAAC;IAEP,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AACtC,CAAC;AAOD,SAAS,gBAAgB,CAAC,QAA+B;IACvD,OAAO,QAAQ,CAAC,OAAO;QACrB,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;QAC1D,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAOD,SAAS,aAAa,CACpB,iBAA2F,EAC3F,SAA+C,EAC/C,YAAoB;IAKpB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiC,CAAC;IAChE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1C,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW;YAAE,SAAS;QAC3C,MAAM,QAAQ,GACZ,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3F,MAAM,GAAG,GAAoB,QAAQ;YACnC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE;YAChF,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAC1E,OAAO,GAAG,CAAC;AACb,CAAC;AA4ED,SAAS,YAAY,CAAC,QAAkC,EAAE,IAAwB;IAChF,MAAM,YAAY,GAAG,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAkC,EAClC,WAA+B;IAE/B,MAAM,YAAY,GAAG,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IACtD,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,OAAO,QAAQ,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAsB,EACtB,MAAsB,EACtB,QAAkC;IAElC,MAAM,QAAQ,GAAG,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAaD,SAAS,kBAAkB,CAAC,GAAgB,EAAE,MAAuB;IACnE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,GACxF,MAAM,CAAC;IACT,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;IAChD,MAAM,aAAa,GAAG,QAAQ,EAAE,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC;IAClE,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC;IACpD,IAAI,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACnE,IAAI,aAAa;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACrF,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IAEtD,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IAC1C,MAAM,QAAQ,GACZ,OAAO,EAAE,CAAC,YAAY,KAAK,QAAQ,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7F,IAAI,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAGzE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC/E,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,QAAQ,CAAC;QAChD,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,mBAAmB;YAAE,SAAS;QACzF,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,QAAQ,GACZ,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;QACjE,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QACtC,IAAI,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,CAAC;IAGD,IAAI,MAAM,KAAK,SAAS,IAAI,aAAa,EAAE,CAAC;QAC1C,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,sBAAsB,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,wBAAwB,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,sBAAsB,EAAE,OAAO,EAAE,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,aAAa,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,aAAa,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AASD,SAAS,gBAAgB,CAAC,GAAgB,EAAE,MAAqB;IAC/D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACvD,MAAM,IAAI,GAAG,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,qBAAqB,CAAC;IACjE,MAAM,IAAI,GAAiB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,aAAa,IAAI,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;IAC7E,MAAM,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,mBAAmB,IAAI,QAAQ,EAAE,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC;IAC/F,IAAI,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9D,MAAM,QAAQ,GACZ,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;QAC1E,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;QACjE,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QACtC,IAAI,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC;IACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAgB,EAAE,KAA0B;IACtE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAG7B,IAAI,MAAsB,CAAC;IAC3B,IAAI,QAAkC,CAAC;IACvC,IAAI,IAAwB,CAAC;IAC7B,IAAI,WAA+B,CAAC;IACpC,IAAI,KAAmB,CAAC;IACxB,IAAI,iBAAuD,CAAC;IAE5D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,MAAM,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/C,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC1B,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;YAC1B,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC;YACxC,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,aAAa,IAAI,IAAI,CAAC;YAC5C,iBAAiB,GAAG,KAAK,CAAC,QAAQ,EAAE,iBAAiB,IAAI,EAAE,CAAC;YAC5D,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;YACrD,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC1B,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;YAC1B,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC;YACxC,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,aAAa,IAAI,IAAI,CAAC;YAC5C,iBAAiB,GAAG,EAAE,CAAC;YACvB,MAAM;QACR,KAAK,KAAK;YACR,MAAM,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC1B,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;YAC1B,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC;YACxC,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;YACtC,iBAAiB,GAAG,EAAE,CAAC;YACvB,MAAM;IACV,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,EAAE,UAAU,IAAI,mBAAmB,CAAC,CAAC;IAEjF,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAEnF,MAAM,SAAS,GAAG,kBAAkB,CAClC,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,EACtD;QACE,QAAQ;QACR,KAAK;QACL,WAAW,EAAE,mBAAmB;QAChC,SAAS;QACT,KAAK;QACL,iBAAiB;QACjB,aAAa,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KACnE,CACF,CAAC;IACF,MAAM,OAAO,GAAG,gBAAgB,CAC9B,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,EACtD,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAC7D,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE;QACrC,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,QAAQ;QACR,SAAS;QACT,KAAK;QACL,WAAW,EAAE,mBAAmB;QAChC,KAAK;KACN,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,WAAW,EAAE,mBAAmB;QAChC,SAAS;QACT,MAAM;QACN,SAAS;QACT,OAAO;QACP,QAAQ;QACR,MAAM;KACP,CAAC;AACJ,CAAC;AAYD,SAAS,WAAW,CAClB,GAAsB,EACtB,KAA0B,EAC1B,GAAkB;IAElB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,MAAM,CAAC,IAAI,CACT,oBAAoB,CAAC;gBACnB,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ;gBACR,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;aAC/B,CAAC,CACH,CAAC;YACF,MAAM,CAAC,IAAI,CACT,uBAAuB,CAAC;gBACtB,GAAG;gBACH,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,IAAI,EAAE;aAC7C,CAAC,CACH,CAAC;YACF,IAAI,QAAQ,EAAE,EAAE,CAAC,iBAAiB,IAAI,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,YAAY;YACf,MAAM,CAAC,IAAI,CACT,uBAAuB,CAAC;gBACtB,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC,CACH,CAAC;YACF,MAAM;QACR,KAAK,KAAK;YACR,MAAM,CAAC,IAAI,CACT,gBAAgB,CAAC;gBACf,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC,CACH,CAAC;YACF,MAAM;IACV,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"meta-tags.js","sourceRoot":"","sources":["../../src/seo/meta-tags.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare function parseQaPairs(value: unknown): QAPair[];
5
5
  export declare function parseBreadcrumbOverride(value: unknown): BreadcrumbOverrideEntry[];
6
6
  export declare function parseHreflangOverrides(value: unknown): HreflangOverrideEntry[];
7
7
  export declare function parseResolvedBotDirectives(value: unknown): Record<string, BotDirective>;
8
+ /** Raw shape returned by the Vendure shop API for `Product.metadata`. */
8
9
  export interface RawProductMetadata {
9
10
  seoTitle: string | null;
10
11
  seoDescription: string | null;
@@ -27,8 +28,19 @@ export interface RawProductMetadata {
27
28
  resolvedBotDirectives: unknown;
28
29
  includeReviewsInJsonld: boolean;
29
30
  }
31
+ /**
32
+ * Parse the raw GraphQL `Product.metadata` payload into the strict
33
+ * SDK-facing shape. Returns `null` when the server returned `null` (no
34
+ * metadata stored). Throws `StorefrontError` for malformed JSON-scalar fields.
35
+ */
30
36
  export declare function parseProductMetadata(raw: RawProductMetadata | null | undefined): ProductMetadata | null;
37
+ /**
38
+ * Build a `MetaRobots` object from the collection's noindex / nofollow flags +
39
+ * max-image-preview option. Collections don't expose the full robots surface
40
+ * that products do, so the rest keep their permissive defaults.
41
+ */
31
42
  export declare function robotsFromFlags(noindex: boolean, nofollow: boolean, maxImagePreview?: MetaRobotsMaxImagePreview): MetaRobots;
43
+ /** Flat SEO custom-field payload for a collection (locale already resolved). */
32
44
  export interface RawCollectionSeo {
33
45
  seoTitle?: unknown;
34
46
  seoDescription?: unknown;
@@ -42,7 +54,14 @@ export interface RawCollectionSeo {
42
54
  socialOgType?: unknown;
43
55
  twitterCardType?: unknown;
44
56
  }
57
+ /**
58
+ * Parse a collection's SEO custom fields into `CollectionMetadata`. `socialImage`
59
+ * is the pre-resolved OpenGraph image (from `socialImageId` or the collection's
60
+ * featured asset); pass `null` when none. Returns `null` when the collection has
61
+ * no meaningful SEO overrides so callers know to rely purely on fallbacks.
62
+ */
45
63
  export declare function parseCollectionMetadata(raw: RawCollectionSeo | null | undefined, socialImage?: Asset | null): CollectionMetadata | null;
64
+ /** Derived SEO metadata block from the CMS resolve response (locale-filtered). */
46
65
  export interface RawCmsSeo {
47
66
  seoTitle?: unknown;
48
67
  seoDescription?: unknown;
@@ -56,5 +75,10 @@ export interface RawCmsSeo {
56
75
  nofollow?: unknown;
57
76
  aiSummary?: unknown;
58
77
  }
78
+ /**
79
+ * Parse a CMS item's derived SEO metadata into `CmsItemMetadata`. `ogImage` is
80
+ * the pre-resolved OpenGraph image (from the `og_image` field id); pass `null`
81
+ * when none. Returns `null` when there is no SEO block at all.
82
+ */
59
83
  export declare function parseCmsItemMetadata(raw: RawCmsSeo | null | undefined, ogImage?: Asset | null): CmsItemMetadata | null;
60
84
  //# sourceMappingURL=metadata-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-parser.d.ts","sourceRoot":"","sources":["../../src/seo/metadata-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata-parser.d.ts","sourceRoot":"","sources":["../../src/seo/metadata-parser.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Strict parsers for the JSON-scalar fields on `Product.metadata`. Each parser
3
+ * rejects unknown values rather than guessing — per the project's data
4
+ * integrity rules, business logic operates on trusted types only.
5
+ */
1
6
  import { StorefrontError } from '../errors.js';
2
7
  const TWITTER_CARD_TYPES = ['summary', 'summary_large_image'];
3
8
  const SOCIAL_OG_TYPES = ['product', 'website'];
@@ -46,6 +51,9 @@ function asNullableIsoInstant(value, field) {
46
51
  return null;
47
52
  if (typeof value !== 'string')
48
53
  reject(field, 'expected ISO-8601 string or null');
54
+ // The server emits `Date.toISOString()` for unavailableAfter — already UTC `Z`.
55
+ // We accept any explicit timezone suffix (`Z` or `+HH:MM`); locale-dependent
56
+ // bare datetimes are rejected per the project's date-and-time rules.
49
57
  if (!/(?:Z|[+-]\d{2}:?\d{2})$/i.test(value)) {
50
58
  reject(field, 'ISO-8601 timestamps must include a timezone (Z or offset)');
51
59
  }
@@ -145,6 +153,11 @@ export function parseResolvedBotDirectives(value) {
145
153
  }
146
154
  return out;
147
155
  }
156
+ /**
157
+ * Parse the raw GraphQL `Product.metadata` payload into the strict
158
+ * SDK-facing shape. Returns `null` when the server returned `null` (no
159
+ * metadata stored). Throws `StorefrontError` for malformed JSON-scalar fields.
160
+ */
148
161
  export function parseProductMetadata(raw) {
149
162
  if (raw === null || raw === undefined)
150
163
  return null;
@@ -177,6 +190,15 @@ export function parseProductMetadata(raw) {
177
190
  includeReviewsInJsonld: asBoolean(raw.includeReviewsInJsonld, 'includeReviewsInJsonld'),
178
191
  };
179
192
  }
193
+ // ---------------------------------------------------------------------------
194
+ // Collection / CMS metadata — lenient parsers.
195
+ //
196
+ // Unlike `Product.metadata` (a dedicated, validated plugin payload), collection
197
+ // and CMS SEO values come from optional, merchant-entered custom fields / CMS
198
+ // field values. They are coerced leniently — invalid or missing values fall
199
+ // back to sane defaults rather than throwing, so a stray value never breaks
200
+ // page rendering.
201
+ // ---------------------------------------------------------------------------
180
202
  function looseString(value) {
181
203
  return typeof value === 'string' && value.trim().length > 0 ? value : null;
182
204
  }
@@ -186,6 +208,11 @@ function looseBoolean(value) {
186
208
  function looseOneOf(value, allowed, fallback) {
187
209
  return typeof value === 'string' && allowed.includes(value) ? value : fallback;
188
210
  }
211
+ /**
212
+ * Build a `MetaRobots` object from the collection's noindex / nofollow flags +
213
+ * max-image-preview option. Collections don't expose the full robots surface
214
+ * that products do, so the rest keep their permissive defaults.
215
+ */
189
216
  export function robotsFromFlags(noindex, nofollow, maxImagePreview = 'large') {
190
217
  return {
191
218
  index: noindex ? 'noindex' : 'index',
@@ -199,6 +226,12 @@ export function robotsFromFlags(noindex, nofollow, maxImagePreview = 'large') {
199
226
  unavailableAfter: null,
200
227
  };
201
228
  }
229
+ /**
230
+ * Parse a collection's SEO custom fields into `CollectionMetadata`. `socialImage`
231
+ * is the pre-resolved OpenGraph image (from `socialImageId` or the collection's
232
+ * featured asset); pass `null` when none. Returns `null` when the collection has
233
+ * no meaningful SEO overrides so callers know to rely purely on fallbacks.
234
+ */
202
235
  export function parseCollectionMetadata(raw, socialImage = null) {
203
236
  if (raw === null || raw === undefined)
204
237
  return null;
@@ -223,6 +256,11 @@ export function parseCollectionMetadata(raw, socialImage = null) {
223
256
  metaRobots: robotsFromFlags(looseBoolean(raw.noindex), looseBoolean(raw.nofollow), maxImagePreview),
224
257
  };
225
258
  }
259
+ /**
260
+ * Parse a CMS item's derived SEO metadata into `CmsItemMetadata`. `ogImage` is
261
+ * the pre-resolved OpenGraph image (from the `og_image` field id); pass `null`
262
+ * when none. Returns `null` when there is no SEO block at all.
263
+ */
226
264
  export function parseCmsItemMetadata(raw, ogImage = null) {
227
265
  if (raw === null || raw === undefined)
228
266
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-parser.js","sourceRoot":"","sources":["../../src/seo/metadata-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata-parser.js","sourceRoot":"","sources":["../../src/seo/metadata-parser.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Parsed, strict types for the per-product SEO/social/AI metadata exposed by
3
+ * `Product.metadata` on the shop API. The raw GraphQL payload uses `JSON`
4
+ * scalars for several fields — we parse and validate at the SDK boundary so
5
+ * business logic only ever sees these typed shapes.
6
+ */
1
7
  import type { Asset } from '../types.js';
2
8
  export type MetaRobotsIndexDirective = 'index' | 'noindex';
3
9
  export type MetaRobotsFollowDirective = 'follow' | 'nofollow';
@@ -11,6 +17,7 @@ export interface MetaRobots {
11
17
  maxSnippet: number | null;
12
18
  maxImagePreview: MetaRobotsMaxImagePreview;
13
19
  maxVideoPreview: number | null;
20
+ /** ISO-8601 instant with timezone, or null. */
14
21
  unavailableAfter: string | null;
15
22
  }
16
23
  export interface QAPair {
@@ -48,6 +55,13 @@ export interface ProductMetadataAi {
48
55
  emitFaqpageJsonld: boolean;
49
56
  resolvedBotDirectives: Record<string, BotDirective>;
50
57
  }
58
+ /**
59
+ * The SEO/social metadata subset shared by every page kind (product,
60
+ * collection, CMS). `metaTagsFor()` operates on this shape so title,
61
+ * description, canonical, robots, OpenGraph and Twitter resolution is written
62
+ * once and reused across kinds. Product-only extras (AI directives, review
63
+ * JSON-LD, hreflang overrides, breadcrumb overrides) live on `ProductMetadata`.
64
+ */
51
65
  export interface CommonSeoMetadata {
52
66
  seoTitle: string | null;
53
67
  seoDescription: string | null;
@@ -62,7 +76,9 @@ export interface ProductMetadata extends CommonSeoMetadata {
62
76
  breadcrumbOverride: BreadcrumbOverrideEntry[];
63
77
  includeReviewsInJsonld: boolean;
64
78
  }
79
+ /** Per-collection SEO metadata (subset of the product shape). */
65
80
  export type CollectionMetadata = CommonSeoMetadata;
81
+ /** Per-CMS-item SEO metadata: the shared subset plus an optional AI summary. */
66
82
  export interface CmsItemMetadata extends CommonSeoMetadata {
67
83
  aiSummary: string | null;
68
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-types.d.ts","sourceRoot":"","sources":["../../src/seo/metadata-types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,SAAS,CAAC;AAC3D,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC9D,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAEtE,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,wBAAwB,CAAC;IAChC,MAAM,EAAE,yBAAyB,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,yBAAyB,CAAC;IAC3C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,qBAAqB,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;AACjD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,eAAe,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,aAAa,EAAE,KAAK,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACrD;AASD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,OAAO,EAAE,sBAAsB,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,EAAE,EAAE,iBAAiB,CAAC;IACtB,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;IAC3C,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;IAC9C,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAGD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAGnD,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B"}
1
+ {"version":3,"file":"metadata-types.d.ts","sourceRoot":"","sources":["../../src/seo/metadata-types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,106 @@
1
+ /**
2
+ * The ONE rule for where a product's canonical URL lives.
3
+ *
4
+ * Three surfaces used to answer this independently, and for a product in
5
+ * several collections with none flagged canonical they gave three different
6
+ * answers for the same product at the same moment:
7
+ *
8
+ * - `seo.metaTagsFor` / `canonicalFor` → /products/{slug} (hardcoded)
9
+ * - `navigation.getRoutes` → shallowest-then-lexicographic
10
+ * collection path
11
+ * - the sitemap artifact → whichever collection path the
12
+ * Shop API happened to return first
13
+ *
14
+ * None of them resolved on the storefronts they were generated for, and a
15
+ * canonical pointing at a 404 is worse than emitting none. This module holds
16
+ * the decision so the surfaces cannot drift again; `services/plugins` imports
17
+ * it from the published client rather than reimplementing it.
18
+ *
19
+ * The rule:
20
+ * 1. If the product belongs to a ROOT collection flagged
21
+ * `customFields.isCanonical`, its canonical URL nests under that
22
+ * collection. Lowest `position` wins; a caller-supplied key breaks ties so
23
+ * the choice is stable across runs and across surfaces.
24
+ * 2. Otherwise the canonical URL is FLAT: `/{productPathSegment}/{slug}`.
25
+ * Never a collection path — which collection a product happens to sit in
26
+ * is not a property of the product, and letting it decide the canonical is
27
+ * what made the three answers diverge.
28
+ */
29
+ /** Used when a channel sets no `productPathSegment`. */
1
30
  export declare const DEFAULT_PRODUCT_PATH_SEGMENT = "products";
31
+ /**
32
+ * Resolve the channel's configured product path segment.
33
+ *
34
+ * NULL, empty and whitespace all mean "unset" → the default, so a channel that
35
+ * never sets the field keeps the shape it had before the field existed. Leading
36
+ * and trailing slashes are tolerated and stripped: a merchant typing
37
+ * `/product/` means the same thing as `product`.
38
+ *
39
+ * Lowercased, because storefront routes are. A merchant typing `Products`
40
+ * would otherwise get `https://site/Products/x` as the canonical for a page
41
+ * served at `/products/x` — a canonical pointing at a 404, plus a case-variant
42
+ * duplicate for crawlers. The channel field's validator accepts either case
43
+ * precisely because this normalizes it.
44
+ */
2
45
  export declare function normalizeProductPathSegment(raw: string | null | undefined): string;
46
+ /**
47
+ * Index of the canonical-root entry, or null when the product has none and the
48
+ * caller should therefore use the flat product path.
49
+ *
50
+ * `tiebreak` keeps the result deterministic when two roots share a `position`.
51
+ * Every caller MUST pass the collection's **id**, and the reason is that the id
52
+ * is the only candidate that is language-invariant:
53
+ *
54
+ * - the route manifest fetches collections PER LANGUAGE, so its `slug` is the
55
+ * nl slug on the nl pass;
56
+ * - the SDK holds ONE fetched entity and emits every locale's URL from it, so
57
+ * its `slug` is whichever language the storefront fetched in.
58
+ *
59
+ * Tiebreaking on a slug therefore picks `wijnen` on one side and `deals` on the
60
+ * other for the same product, and the sitemap ends up flagging a different URL
61
+ * canonical than the page's own `<link rel="canonical">`. The path is worse
62
+ * still: `-` (0x2D) sorts below `/` (0x2F), so `shop` vs `shop-nl` diverges even
63
+ * in one language.
64
+ *
65
+ * The cost is that an equal-`position` tie resolves by an opaque id rather than
66
+ * something a merchant can predict. That is acceptable because it is only
67
+ * reachable by flagging two root collections canonical at the SAME position —
68
+ * give them distinct positions to choose deliberately.
69
+ */
3
70
  export declare function pickCanonicalRootIndex(entries: ReadonlyArray<{
4
71
  position: number;
5
72
  tiebreak: string;
6
73
  }>): number | null;
74
+ /** Vendure's synthetic tree root. Never a user-facing collection. */
7
75
  export declare const ROOT_COLLECTION_SLUG = "__root_collection__";
76
+ /**
77
+ * Whether a collection is a USER-FACING root — i.e. `isCanonical` can mean
78
+ * something on it.
79
+ *
80
+ * ONLY a parent that IS the sentinel counts. Two wrong answers to avoid:
81
+ *
82
+ * - `parent == null` was the original predicate and matched nothing real.
83
+ * Vendure's Shop API resolves a top-level collection's parent to the
84
+ * `__root_collection__` sentinel, not to null (verified against production:
85
+ * `collection(id: <top-level>)` returns
86
+ * `parent: { slug: "__root_collection__" }`), so canonical roots were never
87
+ * found and every product fell back to the flat path.
88
+ *
89
+ * - Treating null as root is ALSO wrong, and is why the null branch is gone.
90
+ * On the Shop API `parent` is `undefined` exactly when the real parent is
91
+ * PRIVATE (`CollectionEntityResolver.parent`: `apiType === 'shop' &&
92
+ * parent?.isPrivate ? undefined : parent`). A public collection under a
93
+ * private parent is not a root — and `CollectionService.getBreadcrumbs`
94
+ * does NOT filter private ancestors, so the routes manifest sees the full
95
+ * chain and does not treat it as one either. Calling it a root here would
96
+ * make the page self-declare `/{child}/{product}` while the manifest
97
+ * advertises the flat path: a canonical pointing at a URL no route serves.
98
+ *
99
+ * A parent with no `slug` selected is likewise not provably a root, so it takes
100
+ * the flat path. That is the conservative direction throughout — a wrong
101
+ * nesting is worse than a flat canonical — and the SDK's own product queries
102
+ * select `parent { id slug }` so its callers get the right answer by default.
103
+ */
8
104
  export declare function isUserFacingRoot(collection: {
9
105
  parent?: {
10
106
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"product-path.d.ts","sourceRoot":"","sources":["../../src/seo/product-path.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,4BAA4B,aAAa,CAAC;AAgBvD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAQlF;AA0BD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7D,MAAM,GAAG,IAAI,CAiBf;AAGD,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AA8B1D,wBAAgB,gBAAgB,CAAC,UAAU,EAAE;IAC3C,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC/C,GAAG,OAAO,CAEV"}
1
+ {"version":3,"file":"product-path.d.ts","sourceRoot":"","sources":["../../src/seo/product-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,wDAAwD;AACxD,eAAO,MAAM,4BAA4B,aAAa,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAQlF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7D,MAAM,GAAG,IAAI,CAiBf;AAED,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE;IAC3C,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC/C,GAAG,OAAO,CAEV"}
@@ -1,4 +1,47 @@
1
+ /**
2
+ * The ONE rule for where a product's canonical URL lives.
3
+ *
4
+ * Three surfaces used to answer this independently, and for a product in
5
+ * several collections with none flagged canonical they gave three different
6
+ * answers for the same product at the same moment:
7
+ *
8
+ * - `seo.metaTagsFor` / `canonicalFor` → /products/{slug} (hardcoded)
9
+ * - `navigation.getRoutes` → shallowest-then-lexicographic
10
+ * collection path
11
+ * - the sitemap artifact → whichever collection path the
12
+ * Shop API happened to return first
13
+ *
14
+ * None of them resolved on the storefronts they were generated for, and a
15
+ * canonical pointing at a 404 is worse than emitting none. This module holds
16
+ * the decision so the surfaces cannot drift again; `services/plugins` imports
17
+ * it from the published client rather than reimplementing it.
18
+ *
19
+ * The rule:
20
+ * 1. If the product belongs to a ROOT collection flagged
21
+ * `customFields.isCanonical`, its canonical URL nests under that
22
+ * collection. Lowest `position` wins; a caller-supplied key breaks ties so
23
+ * the choice is stable across runs and across surfaces.
24
+ * 2. Otherwise the canonical URL is FLAT: `/{productPathSegment}/{slug}`.
25
+ * Never a collection path — which collection a product happens to sit in
26
+ * is not a property of the product, and letting it decide the canonical is
27
+ * what made the three answers diverge.
28
+ */
29
+ /** Used when a channel sets no `productPathSegment`. */
1
30
  export const DEFAULT_PRODUCT_PATH_SEGMENT = 'products';
31
+ /**
32
+ * Resolve the channel's configured product path segment.
33
+ *
34
+ * NULL, empty and whitespace all mean "unset" → the default, so a channel that
35
+ * never sets the field keeps the shape it had before the field existed. Leading
36
+ * and trailing slashes are tolerated and stripped: a merchant typing
37
+ * `/product/` means the same thing as `product`.
38
+ *
39
+ * Lowercased, because storefront routes are. A merchant typing `Products`
40
+ * would otherwise get `https://site/Products/x` as the canonical for a page
41
+ * served at `/products/x` — a canonical pointing at a 404, plus a case-variant
42
+ * duplicate for crawlers. The channel field's validator accepts either case
43
+ * precisely because this normalizes it.
44
+ */
2
45
  export function normalizeProductPathSegment(raw) {
3
46
  if (typeof raw !== 'string')
4
47
  return DEFAULT_PRODUCT_PATH_SEGMENT;
@@ -9,6 +52,30 @@ export function normalizeProductPathSegment(raw) {
9
52
  .toLowerCase();
10
53
  return trimmed === '' ? DEFAULT_PRODUCT_PATH_SEGMENT : trimmed;
11
54
  }
55
+ /**
56
+ * Index of the canonical-root entry, or null when the product has none and the
57
+ * caller should therefore use the flat product path.
58
+ *
59
+ * `tiebreak` keeps the result deterministic when two roots share a `position`.
60
+ * Every caller MUST pass the collection's **id**, and the reason is that the id
61
+ * is the only candidate that is language-invariant:
62
+ *
63
+ * - the route manifest fetches collections PER LANGUAGE, so its `slug` is the
64
+ * nl slug on the nl pass;
65
+ * - the SDK holds ONE fetched entity and emits every locale's URL from it, so
66
+ * its `slug` is whichever language the storefront fetched in.
67
+ *
68
+ * Tiebreaking on a slug therefore picks `wijnen` on one side and `deals` on the
69
+ * other for the same product, and the sitemap ends up flagging a different URL
70
+ * canonical than the page's own `<link rel="canonical">`. The path is worse
71
+ * still: `-` (0x2D) sorts below `/` (0x2F), so `shop` vs `shop-nl` diverges even
72
+ * in one language.
73
+ *
74
+ * The cost is that an equal-`position` tie resolves by an opaque id rather than
75
+ * something a merchant can predict. That is acceptable because it is only
76
+ * reachable by flagging two root collections canonical at the SAME position —
77
+ * give them distinct positions to choose deliberately.
78
+ */
12
79
  export function pickCanonicalRootIndex(entries) {
13
80
  let best = null;
14
81
  for (let i = 0; i < entries.length; i += 1) {
@@ -25,7 +92,36 @@ export function pickCanonicalRootIndex(entries) {
25
92
  }
26
93
  return best;
27
94
  }
95
+ /** Vendure's synthetic tree root. Never a user-facing collection. */
28
96
  export const ROOT_COLLECTION_SLUG = '__root_collection__';
97
+ /**
98
+ * Whether a collection is a USER-FACING root — i.e. `isCanonical` can mean
99
+ * something on it.
100
+ *
101
+ * ONLY a parent that IS the sentinel counts. Two wrong answers to avoid:
102
+ *
103
+ * - `parent == null` was the original predicate and matched nothing real.
104
+ * Vendure's Shop API resolves a top-level collection's parent to the
105
+ * `__root_collection__` sentinel, not to null (verified against production:
106
+ * `collection(id: <top-level>)` returns
107
+ * `parent: { slug: "__root_collection__" }`), so canonical roots were never
108
+ * found and every product fell back to the flat path.
109
+ *
110
+ * - Treating null as root is ALSO wrong, and is why the null branch is gone.
111
+ * On the Shop API `parent` is `undefined` exactly when the real parent is
112
+ * PRIVATE (`CollectionEntityResolver.parent`: `apiType === 'shop' &&
113
+ * parent?.isPrivate ? undefined : parent`). A public collection under a
114
+ * private parent is not a root — and `CollectionService.getBreadcrumbs`
115
+ * does NOT filter private ancestors, so the routes manifest sees the full
116
+ * chain and does not treat it as one either. Calling it a root here would
117
+ * make the page self-declare `/{child}/{product}` while the manifest
118
+ * advertises the flat path: a canonical pointing at a URL no route serves.
119
+ *
120
+ * A parent with no `slug` selected is likewise not provably a root, so it takes
121
+ * the flat path. That is the conservative direction throughout — a wrong
122
+ * nesting is worse than a flat canonical — and the SDK's own product queries
123
+ * select `parent { id slug }` so its callers get the right answer by default.
124
+ */
29
125
  export function isUserFacingRoot(collection) {
30
126
  return collection.parent?.slug === ROOT_COLLECTION_SLUG;
31
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"product-path.js","sourceRoot":"","sources":["../../src/seo/product-path.ts"],"names":[],"mappings":"AA8BA,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAAC;AAgBvD,MAAM,UAAU,2BAA2B,CAAC,GAA8B;IACxE,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,4BAA4B,CAAC;IACjE,MAAM,OAAO,GAAG,GAAG;SAChB,IAAI,EAAE;SACN,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,OAAO,CAAC;AACjE,CAAC;AA0BD,MAAM,UAAU,sBAAsB,CACpC,OAA8D;IAE9D,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAE,CAAC;QACjC,IACE,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ;YACnC,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,EAC9E,CAAC;YACD,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AA8B1D,MAAM,UAAU,gBAAgB,CAAC,UAEhC;IACC,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,KAAK,oBAAoB,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"product-path.js","sourceRoot":"","sources":["../../src/seo/product-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,wDAAwD;AACxD,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAA8B;IACxE,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,4BAA4B,CAAC;IACjE,MAAM,OAAO,GAAG,GAAG;SAChB,IAAI,EAAE;SACN,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,OAAO,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAA8D;IAE9D,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAE,CAAC;QACjC,IACE,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ;YACnC,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,EAC9E,CAAC;YACD,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAEhC;IACC,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,KAAK,oBAAoB,CAAC;AAC1D,CAAC"}