@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.
- package/README.md +25 -0
- package/dist/admin/forms.js +19 -0
- package/dist/admin/forms.js.map +1 -1
- package/dist/admin/http.d.ts +9 -0
- package/dist/admin/http.d.ts.map +1 -1
- package/dist/admin/http.js +3 -0
- package/dist/admin/http.js.map +1 -1
- package/dist/admin/index.d.ts +63 -0
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +67 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/redirects.d.ts +6 -0
- package/dist/admin/redirects.d.ts.map +1 -1
- package/dist/admin/redirects.js +12 -0
- package/dist/admin/redirects.js.map +1 -1
- package/dist/admin/types.d.ts +63 -0
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/cache-tags.d.ts +19 -0
- package/dist/cache-tags.d.ts.map +1 -1
- package/dist/cache-tags.js +19 -0
- package/dist/cache-tags.js.map +1 -1
- package/dist/client.d.ts +17 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +17 -0
- package/dist/client.js.map +1 -1
- package/dist/commerce/age-verification.js +3 -3
- package/dist/commerce/age-verification.js.map +1 -1
- package/dist/commerce/branding.js +7 -0
- package/dist/commerce/branding.js.map +1 -1
- package/dist/commerce/cart.js +25 -0
- package/dist/commerce/cart.js.map +1 -1
- package/dist/commerce/checkout.d.ts +68 -0
- package/dist/commerce/checkout.d.ts.map +1 -1
- package/dist/commerce/checkout.js +83 -0
- package/dist/commerce/checkout.js.map +1 -1
- package/dist/commerce/customer.d.ts +58 -0
- package/dist/commerce/customer.d.ts.map +1 -1
- package/dist/commerce/customer.js +65 -0
- package/dist/commerce/customer.js.map +1 -1
- package/dist/commerce/index.d.ts +17 -1
- package/dist/commerce/index.d.ts.map +1 -1
- package/dist/commerce/pickup-location-parser.d.ts +18 -0
- package/dist/commerce/pickup-location-parser.d.ts.map +1 -1
- package/dist/commerce/pickup-location-parser.js +28 -0
- package/dist/commerce/pickup-location-parser.js.map +1 -1
- package/dist/commerce/placement-error.d.ts +52 -0
- package/dist/commerce/placement-error.d.ts.map +1 -1
- package/dist/commerce/placement-error.js +87 -0
- package/dist/commerce/placement-error.js.map +1 -1
- package/dist/commerce/products.d.ts +48 -0
- package/dist/commerce/products.d.ts.map +1 -1
- package/dist/commerce/products.js +95 -2
- package/dist/commerce/products.js.map +1 -1
- package/dist/commerce/queries.d.ts +114 -27
- package/dist/commerce/queries.d.ts.map +1 -1
- package/dist/commerce/queries.js +219 -1
- package/dist/commerce/queries.js.map +1 -1
- package/dist/commerce/quotes.js +33 -0
- package/dist/commerce/quotes.js.map +1 -1
- package/dist/commerce/saved-lists.d.ts +7 -7
- package/dist/commerce/saved-lists.d.ts.map +1 -1
- package/dist/commerce/saved-lists.js +1 -1
- package/dist/commerce/search.js +3 -0
- package/dist/commerce/search.js.map +1 -1
- package/dist/commerce/shipping.js +3 -3
- package/dist/commerce/shipping.js.map +1 -1
- package/dist/commerce/stock-notifications.d.ts +11 -0
- package/dist/commerce/stock-notifications.d.ts.map +1 -1
- package/dist/commerce/stock-notifications.js +11 -0
- package/dist/commerce/stock-notifications.js.map +1 -1
- package/dist/commerce/subscriptions.d.ts +32 -8
- package/dist/commerce/subscriptions.d.ts.map +1 -1
- package/dist/commerce/subscriptions.js +90 -2
- package/dist/commerce/subscriptions.js.map +1 -1
- package/dist/commerce/vat-validation.js +4 -4
- package/dist/commerce/vat-validation.js.map +1 -1
- package/dist/constants.d.ts +31 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +32 -0
- package/dist/constants.js.map +1 -1
- package/dist/content/asset-urls.d.ts +50 -0
- package/dist/content/asset-urls.d.ts.map +1 -1
- package/dist/content/asset-urls.js +92 -0
- package/dist/content/asset-urls.js.map +1 -1
- package/dist/content/assets.d.ts +15 -0
- package/dist/content/assets.d.ts.map +1 -1
- package/dist/content/assets.js +15 -0
- package/dist/content/assets.js.map +1 -1
- package/dist/content/collection-pages.d.ts +5 -0
- package/dist/content/collection-pages.d.ts.map +1 -1
- package/dist/content/collection-pages.js +8 -0
- package/dist/content/collection-pages.js.map +1 -1
- package/dist/content/collections.d.ts +14 -0
- package/dist/content/collections.d.ts.map +1 -1
- package/dist/content/collections.js +16 -0
- package/dist/content/collections.js.map +1 -1
- package/dist/content/filtered-products.d.ts +18 -0
- package/dist/content/filtered-products.d.ts.map +1 -1
- package/dist/content/filtered-products.js +16 -0
- package/dist/content/filtered-products.js.map +1 -1
- package/dist/content/form-field-types.d.ts +6 -0
- package/dist/content/form-field-types.d.ts.map +1 -1
- package/dist/content/form-field-types.js +12 -0
- package/dist/content/form-field-types.js.map +1 -1
- package/dist/content/forms.d.ts +16 -0
- package/dist/content/forms.d.ts.map +1 -1
- package/dist/content/forms.js +23 -0
- package/dist/content/forms.js.map +1 -1
- package/dist/content/items.d.ts +26 -0
- package/dist/content/items.d.ts.map +1 -1
- package/dist/content/items.js +33 -0
- package/dist/content/items.js.map +1 -1
- package/dist/content/resolve.js +6 -0
- package/dist/content/resolve.js.map +1 -1
- package/dist/content/sitemap.d.ts +5 -0
- package/dist/content/sitemap.d.ts.map +1 -1
- package/dist/content/sitemap.js +5 -0
- package/dist/content/sitemap.js.map +1 -1
- package/dist/core/context.js +6 -0
- package/dist/core/context.js.map +1 -1
- package/dist/core/headers.js +2 -0
- package/dist/core/headers.js.map +1 -1
- package/dist/core/http.d.ts +8 -0
- package/dist/core/http.d.ts.map +1 -1
- package/dist/core/http.js +89 -1
- package/dist/core/http.js.map +1 -1
- package/dist/credit/credit-status.js +2 -2
- package/dist/credit/credit-status.js.map +1 -1
- package/dist/credit/payment-terms.js +2 -2
- package/dist/credit/payment-terms.js.map +1 -1
- package/dist/currency/exchange.d.ts +11 -0
- package/dist/currency/exchange.d.ts.map +1 -1
- package/dist/currency/exchange.js +11 -0
- package/dist/currency/exchange.js.map +1 -1
- package/dist/errors.d.ts +50 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +50 -3
- package/dist/errors.js.map +1 -1
- package/dist/events/envelope.d.ts +36 -0
- package/dist/events/envelope.d.ts.map +1 -1
- package/dist/events/envelope.js +12 -0
- package/dist/events/envelope.js.map +1 -1
- package/dist/events/index.d.ts +13 -0
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +13 -0
- package/dist/events/index.js.map +1 -1
- package/dist/events/payloads.d.ts +19 -0
- package/dist/events/payloads.d.ts.map +1 -1
- package/dist/events/payloads.js +12 -0
- package/dist/events/payloads.js.map +1 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/media/index.js +2 -0
- package/dist/media/index.js.map +1 -1
- package/dist/media/urls.d.ts +52 -0
- package/dist/media/urls.d.ts.map +1 -1
- package/dist/media/urls.js +38 -0
- package/dist/media/urls.js.map +1 -1
- package/dist/media/video.d.ts +16 -0
- package/dist/media/video.d.ts.map +1 -1
- package/dist/media/video.js +16 -0
- package/dist/media/video.js.map +1 -1
- package/dist/next/artifact-handler.d.ts +22 -0
- package/dist/next/artifact-handler.d.ts.map +1 -1
- package/dist/next/artifact-handler.js +22 -0
- package/dist/next/artifact-handler.js.map +1 -1
- package/dist/next/event-revalidate-handler.d.ts +67 -0
- package/dist/next/event-revalidate-handler.d.ts.map +1 -1
- package/dist/next/event-revalidate-handler.js +48 -0
- package/dist/next/event-revalidate-handler.js.map +1 -1
- package/dist/next/index.d.ts +6 -0
- package/dist/next/index.d.ts.map +1 -1
- package/dist/next/index.js +6 -0
- package/dist/next/index.js.map +1 -1
- package/dist/next/json-ld.d.ts +9 -0
- package/dist/next/json-ld.d.ts.map +1 -1
- package/dist/next/json-ld.js +9 -0
- package/dist/next/json-ld.js.map +1 -1
- package/dist/next/metadata.d.ts +18 -0
- package/dist/next/metadata.d.ts.map +1 -1
- package/dist/next/metadata.js +21 -0
- package/dist/next/metadata.js.map +1 -1
- package/dist/next/redirect-middleware.d.ts +39 -0
- package/dist/next/redirect-middleware.d.ts.map +1 -1
- package/dist/next/redirect-middleware.js +32 -0
- package/dist/next/redirect-middleware.js.map +1 -1
- package/dist/next/revalidate-handler.d.ts +30 -0
- package/dist/next/revalidate-handler.d.ts.map +1 -1
- package/dist/next/revalidate-handler.js +22 -0
- package/dist/next/revalidate-handler.js.map +1 -1
- package/dist/order-scope.d.ts +27 -0
- package/dist/order-scope.d.ts.map +1 -1
- package/dist/order-scope.js +29 -0
- package/dist/order-scope.js.map +1 -1
- package/dist/pricing/format.d.ts +17 -0
- package/dist/pricing/format.d.ts.map +1 -1
- package/dist/pricing/format.js +19 -0
- package/dist/pricing/format.js.map +1 -1
- package/dist/pricing/index.d.ts +8 -1
- package/dist/pricing/index.d.ts.map +1 -1
- package/dist/pricing/index.js +18 -2
- package/dist/pricing/index.js.map +1 -1
- package/dist/pricing/tax-display.d.ts +77 -0
- package/dist/pricing/tax-display.d.ts.map +1 -1
- package/dist/pricing/tax-display.js +85 -0
- package/dist/pricing/tax-display.js.map +1 -1
- package/dist/pricing/tiers.d.ts +9 -0
- package/dist/pricing/tiers.d.ts.map +1 -1
- package/dist/pricing/tiers.js +9 -0
- package/dist/pricing/tiers.js.map +1 -1
- package/dist/pricing/validation.d.ts +56 -1
- package/dist/pricing/validation.d.ts.map +1 -1
- package/dist/pricing/validation.js +61 -0
- package/dist/pricing/validation.js.map +1 -1
- package/dist/redirects/index.d.ts +1 -0
- package/dist/redirects/index.d.ts.map +1 -1
- package/dist/redirects/index.js +1 -0
- package/dist/redirects/index.js.map +1 -1
- package/dist/redirects/store.d.ts +20 -0
- package/dist/redirects/store.d.ts.map +1 -1
- package/dist/redirects/store.js +57 -0
- package/dist/redirects/store.js.map +1 -1
- package/dist/redirects/types.d.ts +24 -0
- package/dist/redirects/types.d.ts.map +1 -1
- package/dist/redirects/types.js +1 -0
- package/dist/redirects/types.js.map +1 -1
- package/dist/revalidation/event-plan.d.ts +48 -0
- package/dist/revalidation/event-plan.d.ts.map +1 -1
- package/dist/revalidation/event-plan.js +61 -0
- package/dist/revalidation/event-plan.js.map +1 -1
- package/dist/revalidation/event-verify.d.ts +25 -0
- package/dist/revalidation/event-verify.d.ts.map +1 -1
- package/dist/revalidation/event-verify.js +27 -0
- package/dist/revalidation/event-verify.js.map +1 -1
- package/dist/revalidation/types.d.ts +20 -0
- package/dist/revalidation/types.d.ts.map +1 -1
- package/dist/revalidation/types.js +10 -0
- package/dist/revalidation/types.js.map +1 -1
- package/dist/revalidation/url-context.d.ts +25 -0
- package/dist/revalidation/url-context.d.ts.map +1 -1
- package/dist/revalidation/url-context.js +17 -0
- package/dist/revalidation/url-context.js.map +1 -1
- package/dist/revalidation/verify.d.ts +8 -0
- package/dist/revalidation/verify.d.ts.map +1 -1
- package/dist/revalidation/verify.js +8 -0
- package/dist/revalidation/verify.js.map +1 -1
- package/dist/seo/ai.d.ts +17 -0
- package/dist/seo/ai.d.ts.map +1 -1
- package/dist/seo/ai.js +12 -0
- package/dist/seo/ai.js.map +1 -1
- package/dist/seo/alternates.js +13 -0
- package/dist/seo/alternates.js.map +1 -1
- package/dist/seo/artifacts.d.ts +13 -0
- package/dist/seo/artifacts.d.ts.map +1 -1
- package/dist/seo/artifacts.js +19 -0
- package/dist/seo/artifacts.js.map +1 -1
- package/dist/seo/canonical.d.ts +15 -0
- package/dist/seo/canonical.d.ts.map +1 -1
- package/dist/seo/canonical.js +24 -0
- package/dist/seo/canonical.js.map +1 -1
- package/dist/seo/index.js +6 -0
- package/dist/seo/index.js.map +1 -1
- package/dist/seo/json-ld.d.ts +13 -0
- package/dist/seo/json-ld.d.ts.map +1 -1
- package/dist/seo/json-ld.js +32 -0
- package/dist/seo/json-ld.js.map +1 -1
- package/dist/seo/locale-tag.d.ts +31 -0
- package/dist/seo/locale-tag.d.ts.map +1 -1
- package/dist/seo/locale-tag.js +31 -0
- package/dist/seo/locale-tag.js.map +1 -1
- package/dist/seo/meta-tags.d.ts +29 -0
- package/dist/seo/meta-tags.d.ts.map +1 -1
- package/dist/seo/meta-tags.js +28 -0
- package/dist/seo/meta-tags.js.map +1 -1
- package/dist/seo/metadata-parser.d.ts +24 -0
- package/dist/seo/metadata-parser.d.ts.map +1 -1
- package/dist/seo/metadata-parser.js +38 -0
- package/dist/seo/metadata-parser.js.map +1 -1
- package/dist/seo/metadata-types.d.ts +16 -0
- package/dist/seo/metadata-types.d.ts.map +1 -1
- package/dist/seo/product-path.d.ts +96 -0
- package/dist/seo/product-path.d.ts.map +1 -1
- package/dist/seo/product-path.js +96 -0
- package/dist/seo/product-path.js.map +1 -1
- package/dist/seo/robots.d.ts +17 -0
- package/dist/seo/robots.d.ts.map +1 -1
- package/dist/seo/robots.js +12 -0
- package/dist/seo/robots.js.map +1 -1
- package/dist/seo/types.d.ts +39 -0
- package/dist/seo/types.d.ts.map +1 -1
- package/dist/seo/url-builder.d.ts +31 -0
- package/dist/seo/url-builder.d.ts.map +1 -1
- package/dist/seo/url-builder.js +36 -0
- package/dist/seo/url-builder.js.map +1 -1
- package/dist/types.d.ts +1283 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/seo/json-ld.js
CHANGED
|
@@ -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/',
|
package/dist/seo/json-ld.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-ld.js","sourceRoot":"","sources":["../../src/seo/json-ld.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"json-ld.js","sourceRoot":"","sources":["../../src/seo/json-ld.ts"],"names":[],"mappings":"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"}
|
package/dist/seo/locale-tag.d.ts
CHANGED
|
@@ -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":"
|
|
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"}
|
package/dist/seo/locale-tag.js
CHANGED
|
@@ -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":"
|
|
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"}
|
package/dist/seo/meta-tags.d.ts
CHANGED
|
@@ -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":"
|
|
1
|
+
{"version":3,"file":"meta-tags.d.ts","sourceRoot":"","sources":["../../src/seo/meta-tags.ts"],"names":[],"mappings":"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"}
|
package/dist/seo/meta-tags.js
CHANGED
|
@@ -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":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EAGV,yBAAyB,EACzB,eAAe,EACf,MAAM,EAGP,MAAM,qBAAqB,CAAC;AA8D7B,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAiB1D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAerD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,EAAE,CAejF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,EAAE,CAqB9E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAgBvF;
|
|
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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"}
|