@sixtyninecommerce/client 0.23.1 → 0.25.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 (299) hide show
  1. package/README.md +25 -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/index.d.ts +17 -1
  41. package/dist/commerce/index.d.ts.map +1 -1
  42. package/dist/commerce/pickup-location-parser.d.ts +18 -0
  43. package/dist/commerce/pickup-location-parser.d.ts.map +1 -1
  44. package/dist/commerce/pickup-location-parser.js +28 -0
  45. package/dist/commerce/pickup-location-parser.js.map +1 -1
  46. package/dist/commerce/placement-error.d.ts +52 -0
  47. package/dist/commerce/placement-error.d.ts.map +1 -1
  48. package/dist/commerce/placement-error.js +87 -0
  49. package/dist/commerce/placement-error.js.map +1 -1
  50. package/dist/commerce/products.d.ts +48 -0
  51. package/dist/commerce/products.d.ts.map +1 -1
  52. package/dist/commerce/products.js +95 -2
  53. package/dist/commerce/products.js.map +1 -1
  54. package/dist/commerce/queries.d.ts +114 -27
  55. package/dist/commerce/queries.d.ts.map +1 -1
  56. package/dist/commerce/queries.js +219 -1
  57. package/dist/commerce/queries.js.map +1 -1
  58. package/dist/commerce/quotes.js +33 -0
  59. package/dist/commerce/quotes.js.map +1 -1
  60. package/dist/commerce/saved-lists.d.ts +7 -7
  61. package/dist/commerce/saved-lists.d.ts.map +1 -1
  62. package/dist/commerce/saved-lists.js +1 -1
  63. package/dist/commerce/search.js +3 -0
  64. package/dist/commerce/search.js.map +1 -1
  65. package/dist/commerce/shipping.js +3 -3
  66. package/dist/commerce/shipping.js.map +1 -1
  67. package/dist/commerce/stock-notifications.d.ts +11 -0
  68. package/dist/commerce/stock-notifications.d.ts.map +1 -1
  69. package/dist/commerce/stock-notifications.js +11 -0
  70. package/dist/commerce/stock-notifications.js.map +1 -1
  71. package/dist/commerce/subscriptions.d.ts +32 -8
  72. package/dist/commerce/subscriptions.d.ts.map +1 -1
  73. package/dist/commerce/subscriptions.js +90 -2
  74. package/dist/commerce/subscriptions.js.map +1 -1
  75. package/dist/commerce/vat-validation.js +4 -4
  76. package/dist/commerce/vat-validation.js.map +1 -1
  77. package/dist/constants.d.ts +31 -0
  78. package/dist/constants.d.ts.map +1 -1
  79. package/dist/constants.js +32 -0
  80. package/dist/constants.js.map +1 -1
  81. package/dist/content/asset-urls.d.ts +50 -0
  82. package/dist/content/asset-urls.d.ts.map +1 -1
  83. package/dist/content/asset-urls.js +92 -0
  84. package/dist/content/asset-urls.js.map +1 -1
  85. package/dist/content/assets.d.ts +15 -0
  86. package/dist/content/assets.d.ts.map +1 -1
  87. package/dist/content/assets.js +15 -0
  88. package/dist/content/assets.js.map +1 -1
  89. package/dist/content/collection-pages.d.ts +5 -0
  90. package/dist/content/collection-pages.d.ts.map +1 -1
  91. package/dist/content/collection-pages.js +8 -0
  92. package/dist/content/collection-pages.js.map +1 -1
  93. package/dist/content/collections.d.ts +14 -0
  94. package/dist/content/collections.d.ts.map +1 -1
  95. package/dist/content/collections.js +16 -0
  96. package/dist/content/collections.js.map +1 -1
  97. package/dist/content/filtered-products.d.ts +18 -0
  98. package/dist/content/filtered-products.d.ts.map +1 -1
  99. package/dist/content/filtered-products.js +16 -0
  100. package/dist/content/filtered-products.js.map +1 -1
  101. package/dist/content/form-field-types.d.ts +6 -0
  102. package/dist/content/form-field-types.d.ts.map +1 -1
  103. package/dist/content/form-field-types.js +12 -0
  104. package/dist/content/form-field-types.js.map +1 -1
  105. package/dist/content/forms.d.ts +16 -0
  106. package/dist/content/forms.d.ts.map +1 -1
  107. package/dist/content/forms.js +23 -0
  108. package/dist/content/forms.js.map +1 -1
  109. package/dist/content/items.d.ts +26 -0
  110. package/dist/content/items.d.ts.map +1 -1
  111. package/dist/content/items.js +33 -0
  112. package/dist/content/items.js.map +1 -1
  113. package/dist/content/resolve.js +6 -0
  114. package/dist/content/resolve.js.map +1 -1
  115. package/dist/content/sitemap.d.ts +5 -0
  116. package/dist/content/sitemap.d.ts.map +1 -1
  117. package/dist/content/sitemap.js +5 -0
  118. package/dist/content/sitemap.js.map +1 -1
  119. package/dist/core/context.js +6 -0
  120. package/dist/core/context.js.map +1 -1
  121. package/dist/core/headers.js +2 -0
  122. package/dist/core/headers.js.map +1 -1
  123. package/dist/core/http.d.ts +8 -0
  124. package/dist/core/http.d.ts.map +1 -1
  125. package/dist/core/http.js +89 -1
  126. package/dist/core/http.js.map +1 -1
  127. package/dist/credit/credit-status.js +2 -2
  128. package/dist/credit/credit-status.js.map +1 -1
  129. package/dist/credit/payment-terms.js +2 -2
  130. package/dist/credit/payment-terms.js.map +1 -1
  131. package/dist/currency/exchange.d.ts +11 -0
  132. package/dist/currency/exchange.d.ts.map +1 -1
  133. package/dist/currency/exchange.js +11 -0
  134. package/dist/currency/exchange.js.map +1 -1
  135. package/dist/errors.d.ts +50 -2
  136. package/dist/errors.d.ts.map +1 -1
  137. package/dist/errors.js +50 -3
  138. package/dist/errors.js.map +1 -1
  139. package/dist/events/envelope.d.ts +36 -0
  140. package/dist/events/envelope.d.ts.map +1 -1
  141. package/dist/events/envelope.js +12 -0
  142. package/dist/events/envelope.js.map +1 -1
  143. package/dist/events/index.d.ts +13 -0
  144. package/dist/events/index.d.ts.map +1 -1
  145. package/dist/events/index.js +13 -0
  146. package/dist/events/index.js.map +1 -1
  147. package/dist/events/payloads.d.ts +19 -0
  148. package/dist/events/payloads.d.ts.map +1 -1
  149. package/dist/events/payloads.js +12 -0
  150. package/dist/events/payloads.js.map +1 -1
  151. package/dist/index.d.ts +8 -1
  152. package/dist/index.d.ts.map +1 -1
  153. package/dist/index.js +7 -0
  154. package/dist/index.js.map +1 -1
  155. package/dist/media/index.js +2 -0
  156. package/dist/media/index.js.map +1 -1
  157. package/dist/media/urls.d.ts +52 -0
  158. package/dist/media/urls.d.ts.map +1 -1
  159. package/dist/media/urls.js +38 -0
  160. package/dist/media/urls.js.map +1 -1
  161. package/dist/media/video.d.ts +16 -0
  162. package/dist/media/video.d.ts.map +1 -1
  163. package/dist/media/video.js +16 -0
  164. package/dist/media/video.js.map +1 -1
  165. package/dist/next/artifact-handler.d.ts +22 -0
  166. package/dist/next/artifact-handler.d.ts.map +1 -1
  167. package/dist/next/artifact-handler.js +22 -0
  168. package/dist/next/artifact-handler.js.map +1 -1
  169. package/dist/next/event-revalidate-handler.d.ts +67 -0
  170. package/dist/next/event-revalidate-handler.d.ts.map +1 -1
  171. package/dist/next/event-revalidate-handler.js +48 -0
  172. package/dist/next/event-revalidate-handler.js.map +1 -1
  173. package/dist/next/index.d.ts +6 -0
  174. package/dist/next/index.d.ts.map +1 -1
  175. package/dist/next/index.js +6 -0
  176. package/dist/next/index.js.map +1 -1
  177. package/dist/next/json-ld.d.ts +9 -0
  178. package/dist/next/json-ld.d.ts.map +1 -1
  179. package/dist/next/json-ld.js +9 -0
  180. package/dist/next/json-ld.js.map +1 -1
  181. package/dist/next/metadata.d.ts +18 -0
  182. package/dist/next/metadata.d.ts.map +1 -1
  183. package/dist/next/metadata.js +21 -0
  184. package/dist/next/metadata.js.map +1 -1
  185. package/dist/next/redirect-middleware.d.ts +39 -0
  186. package/dist/next/redirect-middleware.d.ts.map +1 -1
  187. package/dist/next/redirect-middleware.js +32 -0
  188. package/dist/next/redirect-middleware.js.map +1 -1
  189. package/dist/next/revalidate-handler.d.ts +30 -0
  190. package/dist/next/revalidate-handler.d.ts.map +1 -1
  191. package/dist/next/revalidate-handler.js +22 -0
  192. package/dist/next/revalidate-handler.js.map +1 -1
  193. package/dist/order-scope.d.ts +27 -0
  194. package/dist/order-scope.d.ts.map +1 -1
  195. package/dist/order-scope.js +29 -0
  196. package/dist/order-scope.js.map +1 -1
  197. package/dist/pricing/format.d.ts +17 -0
  198. package/dist/pricing/format.d.ts.map +1 -1
  199. package/dist/pricing/format.js +19 -0
  200. package/dist/pricing/format.js.map +1 -1
  201. package/dist/pricing/index.d.ts +8 -1
  202. package/dist/pricing/index.d.ts.map +1 -1
  203. package/dist/pricing/index.js +18 -2
  204. package/dist/pricing/index.js.map +1 -1
  205. package/dist/pricing/tax-display.d.ts +77 -0
  206. package/dist/pricing/tax-display.d.ts.map +1 -1
  207. package/dist/pricing/tax-display.js +85 -0
  208. package/dist/pricing/tax-display.js.map +1 -1
  209. package/dist/pricing/tiers.d.ts +9 -0
  210. package/dist/pricing/tiers.d.ts.map +1 -1
  211. package/dist/pricing/tiers.js +9 -0
  212. package/dist/pricing/tiers.js.map +1 -1
  213. package/dist/pricing/validation.d.ts +56 -1
  214. package/dist/pricing/validation.d.ts.map +1 -1
  215. package/dist/pricing/validation.js +61 -0
  216. package/dist/pricing/validation.js.map +1 -1
  217. package/dist/redirects/index.d.ts +1 -0
  218. package/dist/redirects/index.d.ts.map +1 -1
  219. package/dist/redirects/index.js +1 -0
  220. package/dist/redirects/index.js.map +1 -1
  221. package/dist/redirects/store.d.ts +20 -0
  222. package/dist/redirects/store.d.ts.map +1 -1
  223. package/dist/redirects/store.js +57 -0
  224. package/dist/redirects/store.js.map +1 -1
  225. package/dist/redirects/types.d.ts +24 -0
  226. package/dist/redirects/types.d.ts.map +1 -1
  227. package/dist/redirects/types.js +1 -0
  228. package/dist/redirects/types.js.map +1 -1
  229. package/dist/revalidation/event-plan.d.ts +48 -0
  230. package/dist/revalidation/event-plan.d.ts.map +1 -1
  231. package/dist/revalidation/event-plan.js +61 -0
  232. package/dist/revalidation/event-plan.js.map +1 -1
  233. package/dist/revalidation/event-verify.d.ts +25 -0
  234. package/dist/revalidation/event-verify.d.ts.map +1 -1
  235. package/dist/revalidation/event-verify.js +27 -0
  236. package/dist/revalidation/event-verify.js.map +1 -1
  237. package/dist/revalidation/types.d.ts +20 -0
  238. package/dist/revalidation/types.d.ts.map +1 -1
  239. package/dist/revalidation/types.js +10 -0
  240. package/dist/revalidation/types.js.map +1 -1
  241. package/dist/revalidation/url-context.d.ts +25 -0
  242. package/dist/revalidation/url-context.d.ts.map +1 -1
  243. package/dist/revalidation/url-context.js +17 -0
  244. package/dist/revalidation/url-context.js.map +1 -1
  245. package/dist/revalidation/verify.d.ts +8 -0
  246. package/dist/revalidation/verify.d.ts.map +1 -1
  247. package/dist/revalidation/verify.js +8 -0
  248. package/dist/revalidation/verify.js.map +1 -1
  249. package/dist/seo/ai.d.ts +17 -0
  250. package/dist/seo/ai.d.ts.map +1 -1
  251. package/dist/seo/ai.js +12 -0
  252. package/dist/seo/ai.js.map +1 -1
  253. package/dist/seo/alternates.js +13 -0
  254. package/dist/seo/alternates.js.map +1 -1
  255. package/dist/seo/artifacts.d.ts +13 -0
  256. package/dist/seo/artifacts.d.ts.map +1 -1
  257. package/dist/seo/artifacts.js +19 -0
  258. package/dist/seo/artifacts.js.map +1 -1
  259. package/dist/seo/canonical.d.ts +15 -0
  260. package/dist/seo/canonical.d.ts.map +1 -1
  261. package/dist/seo/canonical.js +24 -0
  262. package/dist/seo/canonical.js.map +1 -1
  263. package/dist/seo/index.js +6 -0
  264. package/dist/seo/index.js.map +1 -1
  265. package/dist/seo/json-ld.d.ts +13 -0
  266. package/dist/seo/json-ld.d.ts.map +1 -1
  267. package/dist/seo/json-ld.js +32 -0
  268. package/dist/seo/json-ld.js.map +1 -1
  269. package/dist/seo/locale-tag.d.ts +31 -0
  270. package/dist/seo/locale-tag.d.ts.map +1 -1
  271. package/dist/seo/locale-tag.js +31 -0
  272. package/dist/seo/locale-tag.js.map +1 -1
  273. package/dist/seo/meta-tags.d.ts +29 -0
  274. package/dist/seo/meta-tags.d.ts.map +1 -1
  275. package/dist/seo/meta-tags.js +28 -0
  276. package/dist/seo/meta-tags.js.map +1 -1
  277. package/dist/seo/metadata-parser.d.ts +24 -0
  278. package/dist/seo/metadata-parser.d.ts.map +1 -1
  279. package/dist/seo/metadata-parser.js +38 -0
  280. package/dist/seo/metadata-parser.js.map +1 -1
  281. package/dist/seo/metadata-types.d.ts +16 -0
  282. package/dist/seo/metadata-types.d.ts.map +1 -1
  283. package/dist/seo/product-path.d.ts +96 -0
  284. package/dist/seo/product-path.d.ts.map +1 -1
  285. package/dist/seo/product-path.js +96 -0
  286. package/dist/seo/product-path.js.map +1 -1
  287. package/dist/seo/robots.d.ts +17 -0
  288. package/dist/seo/robots.d.ts.map +1 -1
  289. package/dist/seo/robots.js +12 -0
  290. package/dist/seo/robots.js.map +1 -1
  291. package/dist/seo/types.d.ts +39 -0
  292. package/dist/seo/types.d.ts.map +1 -1
  293. package/dist/seo/url-builder.d.ts +31 -0
  294. package/dist/seo/url-builder.d.ts.map +1 -1
  295. package/dist/seo/url-builder.js +36 -0
  296. package/dist/seo/url-builder.js.map +1 -1
  297. package/dist/types.d.ts +1283 -2
  298. package/dist/types.d.ts.map +1 -1
  299. package/package.json +1 -1
@@ -1,4 +1,17 @@
1
+ /**
2
+ * Schema.org JSON-LD composers (Product, BreadcrumbList, FAQPage). The
3
+ * Product composer is defensive — required fields are emitted only when
4
+ * available, optional fields are skipped entirely when null rather than
5
+ * emitted as `null` (Google's Rich Results validator rejects `null` values).
6
+ */
1
7
  import { canonicalFor, pickCanonicalRoot } from './canonical.js';
8
+ /**
9
+ * Absolute image URLs for JSON-LD, largest preset first.
10
+ *
11
+ * The stored values are R2 STORAGE KEYS, so they must go through the caller's
12
+ * resolver — emitting them raw put `rollz/source/26/…/xl/…jpg` into
13
+ * `Product.image`, which resolves to nothing.
14
+ */
2
15
  function pickImageUrls(resolveAssetUrl, ...assets) {
3
16
  const urls = [];
4
17
  for (const asset of assets) {
@@ -36,6 +49,8 @@ export function composeProductJsonLd(input) {
36
49
  url: canonical,
37
50
  };
38
51
  if (extras.availability) {
52
+ // schema.org expects an ItemAvailability URL, but text is also widely
53
+ // accepted by validators. Pass-through whatever the storefront provides.
39
54
  offer.availability = extras.availability;
40
55
  }
41
56
  if (extras.condition) {
@@ -80,7 +95,16 @@ export function composeBreadcrumbJsonLd(input) {
80
95
  })),
81
96
  };
82
97
  }
98
+ /**
99
+ * Compute breadcrumb items from the product's collection tree when no
100
+ * override is provided. Walks the canonical root → product chain. The SDK
101
+ * only knows about top-level roots (descendants aren't exposed here), so
102
+ * the chain is short: [root, product]. Storefronts with deeper trees
103
+ * should supply `metadata.breadcrumbOverride`.
104
+ */
83
105
  function breadcrumbItemsFromCollections(cfg, product) {
106
+ // Same picker as the canonical URL, so the trail and the canonical can never
107
+ // name different roots for one product.
84
108
  const canonicalRoot = pickCanonicalRoot(product);
85
109
  const items = [];
86
110
  if (canonicalRoot) {
@@ -96,6 +120,9 @@ function breadcrumbItemsFromCollections(cfg, product) {
96
120
  return items;
97
121
  }
98
122
  function rootLabelFor(collection) {
123
+ // CollectionForSeo doesn't carry a display name (the SEO type is minimal),
124
+ // so we fall back to the slug. Storefronts that want richer labels can
125
+ // pass `metadata.breadcrumbOverride`.
99
126
  return collection.slug;
100
127
  }
101
128
  function firstImageUrl(resolveAssetUrl, image) {
@@ -104,6 +131,10 @@ function firstImageUrl(resolveAssetUrl, image) {
104
131
  const raw = image.presets?.xl?.url ?? image.presets?.l?.url ?? image.source;
105
132
  return resolveAssetUrl(raw) || undefined;
106
133
  }
134
+ /**
135
+ * `CollectionPage` JSON-LD for a collection / category landing page. Optional
136
+ * fields are omitted (not emitted as `null`) so Google's validator stays happy.
137
+ */
107
138
  export function composeCollectionJsonLd(input) {
108
139
  const out = {
109
140
  '@context': 'https://schema.org/',
@@ -118,6 +149,7 @@ export function composeCollectionJsonLd(input) {
118
149
  out.image = img;
119
150
  return out;
120
151
  }
152
+ /** `WebPage` JSON-LD for a CMS content / marketing page. */
121
153
  export function composeCmsJsonLd(input) {
122
154
  const out = {
123
155
  '@context': 'https://schema.org/',
@@ -1 +1 @@
1
- {"version":3,"file":"json-ld.js","sourceRoot":"","sources":["../../src/seo/json-ld.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-ld.js","sourceRoot":"","sources":["../../src/seo/json-ld.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,35 @@
1
+ /**
2
+ * Locale-tag spelling for SEO output.
3
+ *
4
+ * Vendure `LanguageCode` spells region and script variants with an underscore
5
+ * (`en_GB`, `zh_Hans`). The three places that code surfaces in a page each want a
6
+ * DIFFERENT spelling, so none of this can be normalized once at the source:
7
+ *
8
+ * - `hreflang` attributes are BCP 47 → hyphen (`en-GB`). Google ignores the tag
9
+ * entirely if it does not parse.
10
+ * - `og:locale` / `og:locale:alternate` are OpenGraph → underscore (`en_GB`).
11
+ * Normalizing these would be a regression, so they keep the raw code.
12
+ * - DNS labels forbid `_`, so a locale subdomain has to be hyphenated AND
13
+ * lower-cased (`en-gb.example.com`).
14
+ *
15
+ * URL PATH segments deliberately keep the raw Vendure spelling: the storefront
16
+ * reads the segment straight back out and passes it to the commerce/CMS APIs,
17
+ * which key on the Vendure code, so a hyphenated path would need a reverse map.
18
+ *
19
+ * Deliberately duplicated rather than imported from `@sixtynine-digital/commerce-shared`:
20
+ * this package publishes to npm and must not carry a workspace-only dependency.
21
+ */
22
+ /** Vendure `LanguageCode` → BCP 47. `en_GB` → `en-GB`. Bare codes pass through. */
1
23
  export declare function toBcp47(code: string): string;
24
+ /**
25
+ * A locale rendered as a DNS label: hyphenated and lower-cased, because
26
+ * hostnames are case-insensitive and reject `_`.
27
+ */
2
28
  export declare function toDnsLabel(code: string): string;
29
+ /**
30
+ * Base language subtag, lower-cased: `en_GB` → `en`, `nl-BE` → `nl`. Used when a
31
+ * caller supplies a language and a country separately and the two must compose
32
+ * into one well-formed tag — `en_GB` + `GB` has to yield `en-GB`, not `en-GB-GB`.
33
+ */
3
34
  export declare function baseLanguage(code: string): string;
4
35
  //# sourceMappingURL=locale-tag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locale-tag.d.ts","sourceRoot":"","sources":["../../src/seo/locale-tag.ts"],"names":[],"mappings":"AAuBA,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAOD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD"}
1
+ {"version":3,"file":"locale-tag.d.ts","sourceRoot":"","sources":["../../src/seo/locale-tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,mFAAmF;AACnF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD"}
@@ -1,9 +1,40 @@
1
+ /**
2
+ * Locale-tag spelling for SEO output.
3
+ *
4
+ * Vendure `LanguageCode` spells region and script variants with an underscore
5
+ * (`en_GB`, `zh_Hans`). The three places that code surfaces in a page each want a
6
+ * DIFFERENT spelling, so none of this can be normalized once at the source:
7
+ *
8
+ * - `hreflang` attributes are BCP 47 → hyphen (`en-GB`). Google ignores the tag
9
+ * entirely if it does not parse.
10
+ * - `og:locale` / `og:locale:alternate` are OpenGraph → underscore (`en_GB`).
11
+ * Normalizing these would be a regression, so they keep the raw code.
12
+ * - DNS labels forbid `_`, so a locale subdomain has to be hyphenated AND
13
+ * lower-cased (`en-gb.example.com`).
14
+ *
15
+ * URL PATH segments deliberately keep the raw Vendure spelling: the storefront
16
+ * reads the segment straight back out and passes it to the commerce/CMS APIs,
17
+ * which key on the Vendure code, so a hyphenated path would need a reverse map.
18
+ *
19
+ * Deliberately duplicated rather than imported from `@sixtynine-digital/commerce-shared`:
20
+ * this package publishes to npm and must not carry a workspace-only dependency.
21
+ */
22
+ /** Vendure `LanguageCode` → BCP 47. `en_GB` → `en-GB`. Bare codes pass through. */
1
23
  export function toBcp47(code) {
2
24
  return code.trim().replaceAll('_', '-');
3
25
  }
26
+ /**
27
+ * A locale rendered as a DNS label: hyphenated and lower-cased, because
28
+ * hostnames are case-insensitive and reject `_`.
29
+ */
4
30
  export function toDnsLabel(code) {
5
31
  return toBcp47(code).toLowerCase();
6
32
  }
33
+ /**
34
+ * Base language subtag, lower-cased: `en_GB` → `en`, `nl-BE` → `nl`. Used when a
35
+ * caller supplies a language and a country separately and the two must compose
36
+ * into one well-formed tag — `en_GB` + `GB` has to yield `en-GB`, not `en-GB-GB`.
37
+ */
7
38
  export function baseLanguage(code) {
8
39
  return code.trim().toLowerCase().split(/[-_]/)[0] ?? '';
9
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"locale-tag.js","sourceRoot":"","sources":["../../src/seo/locale-tag.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAMD,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AACrC,CAAC;AAOD,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"locale-tag.js","sourceRoot":"","sources":["../../src/seo/locale-tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,mFAAmF;AACnF,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC"}
@@ -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 type { AssetUrlResolver } from '../media/urls.js';
2
10
  import type { Asset, ChannelInfo } from '../types.js';
3
11
  import type { CmsItemMetadata, CollectionMetadata, ProductMetadata } from './metadata-types.js';
@@ -27,26 +35,41 @@ export interface MetaTagsResult {
27
35
  jsonLd: object[];
28
36
  }
29
37
  export interface ProductSeoExtras {
38
+ /** Product display name — falls back when `metadata.seoTitle` is empty. */
30
39
  name?: string;
40
+ /** Product HTML description — stripped + truncated for meta description fallback. */
31
41
  description?: string;
32
42
  sku?: string;
33
43
  brand?: string;
44
+ /**
45
+ * Display price + currency for `product:price:amount` / `product:price:currency`.
46
+ * Pass the major-unit string (e.g. "29.99") — emit-as-is, no rounding here.
47
+ */
34
48
  price?: {
35
49
  amount: string;
36
50
  currency: string;
37
51
  };
52
+ /** "in stock" | "out of stock" | "preorder" etc. */
38
53
  availability?: string;
54
+ /** Product condition. Defaults to "new" when not provided. */
39
55
  condition?: 'new' | 'refurbished' | 'used';
56
+ /** Featured asset for og:image / twitter:image fallback. */
40
57
  featuredAsset?: Asset | null;
41
58
  }
42
59
  export interface CollectionSeoExtras {
60
+ /** Collection display name — falls back when `metadata.seoTitle` is empty. */
43
61
  name?: string;
62
+ /** Collection HTML description — stripped + truncated for meta description fallback. */
44
63
  description?: string;
64
+ /** Featured asset for og:image / twitter:image fallback. */
45
65
  featuredAsset?: Asset | null;
46
66
  }
47
67
  export interface CmsSeoExtras {
68
+ /** CMS item display name / heading — falls back when `metadata.seoTitle` is empty. */
48
69
  name?: string;
70
+ /** CMS body / summary HTML — stripped + truncated for meta description fallback. */
49
71
  description?: string;
72
+ /** Resolved OpenGraph image for the CMS page. */
50
73
  ogImage?: Asset | null;
51
74
  }
52
75
  export interface ProductMetaTagsInput {
@@ -75,6 +98,12 @@ export type MetaTagsEntityInput = ProductMetaTagsInput | CollectionMetaTagsInput
75
98
  interface ContextDeps {
76
99
  cfg: UrlStrategyConfig;
77
100
  channel: ChannelInfo;
101
+ /**
102
+ * Turns stored asset KEYS into absolute URLs. Required, not optional: an
103
+ * `og:image` holding a raw R2 key is a broken social card on every page,
104
+ * and that is exactly what shipped when this surface read the presets
105
+ * directly. See `createAssetUrlResolver`.
106
+ */
78
107
  resolveAssetUrl: AssetUrlResolver;
79
108
  }
80
109
  export declare function metaTagsFor(ctx: ContextDeps, input: MetaTagsEntityInput): MetaTagsResult;
@@ -1 +1 @@
1
- {"version":3,"file":"meta-tags.d.ts","sourceRoot":"","sources":["../../src/seo/meta-tags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta-tags.d.ts","sourceRoot":"","sources":["../../src/seo/meta-tags.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
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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"}