@sixtyninecommerce/client 0.9.0 → 0.11.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 (47) hide show
  1. package/dist/commerce/index.d.ts.map +1 -1
  2. package/dist/commerce/index.js +3 -0
  3. package/dist/commerce/index.js.map +1 -1
  4. package/dist/commerce/queries.d.ts +6 -6
  5. package/dist/commerce/queries.d.ts.map +1 -1
  6. package/dist/commerce/queries.js +27 -2
  7. package/dist/commerce/queries.js.map +1 -1
  8. package/dist/commerce/saved-lists.d.ts +13 -0
  9. package/dist/commerce/saved-lists.d.ts.map +1 -0
  10. package/dist/commerce/saved-lists.js +113 -0
  11. package/dist/commerce/saved-lists.js.map +1 -0
  12. package/dist/content/resolve.d.ts.map +1 -1
  13. package/dist/content/resolve.js +2 -1
  14. package/dist/content/resolve.js.map +1 -1
  15. package/dist/index.d.ts +3 -2
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/pricing/validation.d.ts +4 -1
  20. package/dist/pricing/validation.d.ts.map +1 -1
  21. package/dist/pricing/validation.js +20 -9
  22. package/dist/pricing/validation.js.map +1 -1
  23. package/dist/seo/ai.d.ts +21 -6
  24. package/dist/seo/ai.d.ts.map +1 -1
  25. package/dist/seo/ai.js +12 -2
  26. package/dist/seo/ai.js.map +1 -1
  27. package/dist/seo/index.d.ts +4 -2
  28. package/dist/seo/index.d.ts.map +1 -1
  29. package/dist/seo/index.js +21 -8
  30. package/dist/seo/index.js.map +1 -1
  31. package/dist/seo/json-ld.d.ts +9 -0
  32. package/dist/seo/json-ld.d.ts.map +1 -1
  33. package/dist/seo/json-ld.js +33 -0
  34. package/dist/seo/json-ld.js.map +1 -1
  35. package/dist/seo/meta-tags.d.ts +25 -3
  36. package/dist/seo/meta-tags.d.ts.map +1 -1
  37. package/dist/seo/meta-tags.js +137 -58
  38. package/dist/seo/meta-tags.js.map +1 -1
  39. package/dist/seo/metadata-parser.d.ts +30 -1
  40. package/dist/seo/metadata-parser.d.ts.map +1 -1
  41. package/dist/seo/metadata-parser.js +70 -0
  42. package/dist/seo/metadata-parser.js.map +1 -1
  43. package/dist/seo/metadata-types.d.ts +8 -2
  44. package/dist/seo/metadata-types.d.ts.map +1 -1
  45. package/dist/types.d.ts +70 -3
  46. package/dist/types.d.ts.map +1 -1
  47. package/package.json +1 -1
package/dist/seo/index.js CHANGED
@@ -33,15 +33,27 @@ export function createSeoModule(ctx) {
33
33
  return metaTagsFor({ cfg, channel: ctx.channel }, entity);
34
34
  },
35
35
  robotsDirectiveFor(entity) {
36
- if (entity.metadata === null) {
37
- return {
38
- default: { index: true, follow: true },
39
- bots: {},
40
- metaTags: [],
41
- xRobotsHeaders: [],
42
- };
36
+ if (entity.kind === 'product') {
37
+ if (entity.metadata === null) {
38
+ return {
39
+ default: { index: true, follow: true },
40
+ bots: {},
41
+ metaTags: [],
42
+ xRobotsHeaders: [],
43
+ };
44
+ }
45
+ return composePerBotDirectives(entity.metadata);
43
46
  }
44
- return composePerBotDirectives(entity.metadata);
47
+ const metaRobots = entity.metadata?.metaRobots ?? null;
48
+ return {
49
+ default: {
50
+ index: metaRobots ? metaRobots.index === 'index' : true,
51
+ follow: metaRobots ? metaRobots.follow === 'follow' : true,
52
+ },
53
+ bots: {},
54
+ metaTags: [],
55
+ xRobotsHeaders: [],
56
+ };
45
57
  },
46
58
  aiSummaryFor(entity) {
47
59
  return aiSummaryFor(entity);
@@ -51,4 +63,5 @@ export function createSeoModule(ctx) {
51
63
  },
52
64
  };
53
65
  }
66
+ export { parseCmsItemMetadata, parseCollectionMetadata, parseProductMetadata, robotsFromFlags, } from './metadata-parser.js';
54
67
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/seo/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,UAAU,eAAe,CAAC,GAAiB;IAC/C,OAAO;QACL,YAAY,CAAC,MAAsB,EAAE,MAAe;YAClD,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACjC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,aAAa,CAAC,MAAsB;YAClC,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACjC,OAAO,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,MAAsB;YAC5B,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC9C,OAAO;gBACL,SAAS;gBACT,UAAU;gBACV,QAAQ,EAAE,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,mBAAmB,CAAC;aAC7D,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,QAAkB,EAAE,MAAe;YAC1C,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACjC,OAAO,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,WAAW,CAAC,MAAM;YAChB,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACjC,OAAO,WAAW,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;QACD,kBAAkB,CAAC,MAAM;YACvB,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC7B,OAAO;oBACL,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;oBACtC,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,EAAE;oBACZ,cAAc,EAAE,EAAE;iBACnB,CAAC;YACJ,CAAC;YACD,OAAO,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,YAAY,CAAC,MAAM;YACjB,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,eAAe,CAAC,MAAM;YACpB,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/seo/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { Asset } from '../types.js';
1
2
  import type { ProductSeoExtras } from './meta-tags.js';
2
3
  import type { BreadcrumbOverrideEntry, ProductMetadata, QAPair } from './metadata-types.js';
3
4
  import type { ProductForSeo } from './types.js';
@@ -21,5 +22,13 @@ export interface BreadcrumbJsonLdInput {
21
22
  override: ReadonlyArray<BreadcrumbOverrideEntry>;
22
23
  }
23
24
  export declare function composeBreadcrumbJsonLd(input: BreadcrumbJsonLdInput): Record<string, unknown>;
25
+ export interface PageJsonLdInput {
26
+ canonical: string;
27
+ title: string;
28
+ description: string;
29
+ image: Asset | null;
30
+ }
31
+ export declare function composeCollectionJsonLd(input: PageJsonLdInput): Record<string, unknown>;
32
+ export declare function composeCmsJsonLd(input: PageJsonLdInput): Record<string, unknown>;
24
33
  export declare function composeFaqJsonLd(pairs: ReadonlyArray<QAPair>): Record<string, unknown>;
25
34
  //# sourceMappingURL=json-ld.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-ld.d.ts","sourceRoot":"","sources":["../../src/seo/json-ld.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAY1D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqDvF;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,iBAAiB,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;CAClD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkB7F;AAqCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUtF"}
1
+ {"version":3,"file":"json-ld.d.ts","sourceRoot":"","sources":["../../src/seo/json-ld.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAY1D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqDvF;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,iBAAiB,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;CAClD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkB7F;AAqCD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAWD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWvF;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWhF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUtF"}
@@ -99,6 +99,39 @@ function breadcrumbItemsFromCollections(cfg, product) {
99
99
  function rootLabelFor(collection) {
100
100
  return collection.slug;
101
101
  }
102
+ function firstImageUrl(image) {
103
+ if (!image)
104
+ return undefined;
105
+ return image.presets?.xl?.url ?? image.presets?.l?.url ?? image.source ?? undefined;
106
+ }
107
+ export function composeCollectionJsonLd(input) {
108
+ const out = {
109
+ '@context': 'https://schema.org/',
110
+ '@type': 'CollectionPage',
111
+ name: input.title,
112
+ url: input.canonical,
113
+ };
114
+ if (input.description)
115
+ out.description = input.description;
116
+ const img = firstImageUrl(input.image);
117
+ if (img)
118
+ out.image = img;
119
+ return out;
120
+ }
121
+ export function composeCmsJsonLd(input) {
122
+ const out = {
123
+ '@context': 'https://schema.org/',
124
+ '@type': 'WebPage',
125
+ name: input.title,
126
+ url: input.canonical,
127
+ };
128
+ if (input.description)
129
+ out.description = input.description;
130
+ const img = firstImageUrl(input.image);
131
+ if (img)
132
+ out.image = img;
133
+ return out;
134
+ }
102
135
  export function composeFaqJsonLd(pairs) {
103
136
  return {
104
137
  '@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,6 +1,6 @@
1
1
  import type { Asset, ChannelInfo } from '../types.js';
2
- import type { ProductMetadata } from './metadata-types.js';
3
- import type { ProductForSeo } from './types.js';
2
+ import type { CmsItemMetadata, CollectionMetadata, ProductMetadata } from './metadata-types.js';
3
+ import type { CmsItemForSeo, CollectionForSeo, ProductForSeo } from './types.js';
4
4
  import type { UrlStrategyConfig } from './url-builder.js';
5
5
  export interface OpenGraphTag {
6
6
  property: string;
@@ -38,6 +38,16 @@ export interface ProductSeoExtras {
38
38
  condition?: 'new' | 'refurbished' | 'used';
39
39
  featuredAsset?: Asset | null;
40
40
  }
41
+ export interface CollectionSeoExtras {
42
+ name?: string;
43
+ description?: string;
44
+ featuredAsset?: Asset | null;
45
+ }
46
+ export interface CmsSeoExtras {
47
+ name?: string;
48
+ description?: string;
49
+ ogImage?: Asset | null;
50
+ }
41
51
  export interface ProductMetaTagsInput {
42
52
  kind: 'product';
43
53
  product: ProductForSeo;
@@ -48,7 +58,19 @@ export interface ProductMetaTagsInput {
48
58
  reviewCount: number;
49
59
  } | null;
50
60
  }
51
- export type MetaTagsEntityInput = ProductMetaTagsInput;
61
+ export interface CollectionMetaTagsInput {
62
+ kind: 'collection';
63
+ collection: CollectionForSeo;
64
+ metadata: CollectionMetadata | null;
65
+ extras?: CollectionSeoExtras;
66
+ }
67
+ export interface CmsMetaTagsInput {
68
+ kind: 'cms';
69
+ cms: CmsItemForSeo;
70
+ metadata: CmsItemMetadata | null;
71
+ extras?: CmsSeoExtras;
72
+ }
73
+ export type MetaTagsEntityInput = ProductMetaTagsInput | CollectionMetaTagsInput | CmsMetaTagsInput;
52
74
  interface ContextDeps {
53
75
  cfg: UrlStrategyConfig;
54
76
  channel: ChannelInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"meta-tags.d.ts","sourceRoot":"","sources":["../../src/seo/meta-tags.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAItD,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAElF,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAoED,MAAM,WAAW,gBAAgB;IAE/B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,EAAE,KAAK,GAAG,aAAa,GAAG,MAAM,CAAC;IAE3C,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC/D;AAED,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,UAAU,WAAW;IACnB,GAAG,EAAE,iBAAiB,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;CACtB;AAsHD,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAoExF"}
1
+ {"version":3,"file":"meta-tags.d.ts","sourceRoot":"","sources":["../../src/seo/meta-tags.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,20 @@
1
1
  import { alternatesFor } from './alternates.js';
2
2
  import { canonicalFor } from './canonical.js';
3
- import { composeBreadcrumbJsonLd, composeFaqJsonLd, composeProductJsonLd } from './json-ld.js';
3
+ import { composeBreadcrumbJsonLd, composeCmsJsonLd, composeCollectionJsonLd, composeFaqJsonLd, composeProductJsonLd, } from './json-ld.js';
4
4
  import { composeRobotsContent } from './robots.js';
5
5
  const HTML_TAG_RE = /<[^>]+>/g;
6
6
  const WHITESPACE_RE = /\s+/g;
7
+ const DEFAULT_META_ROBOTS = {
8
+ index: 'index',
9
+ follow: 'follow',
10
+ noarchive: false,
11
+ nosnippet: false,
12
+ noimageindex: false,
13
+ maxSnippet: null,
14
+ maxImagePreview: 'large',
15
+ maxVideoPreview: null,
16
+ unavailableAfter: null,
17
+ };
7
18
  function stripHtml(input) {
8
19
  return input.replace(HTML_TAG_RE, ' ').replace(WHITESPACE_RE, ' ').trim();
9
20
  }
@@ -55,21 +66,20 @@ function mergeHreflang(channelAlternates, overrides, xDefaultHref) {
55
66
  out.push({ rel: 'alternate', hreflang: 'x-default', href: xDefaultHref });
56
67
  return out;
57
68
  }
58
- function resolveTitle(metadata, extras) {
69
+ function resolveTitle(metadata, name) {
59
70
  const fromMetadata = metadata?.seoTitle?.trim();
60
71
  if (fromMetadata)
61
72
  return fromMetadata;
62
- const name = extras?.name?.trim();
63
- if (name)
64
- return name;
73
+ const trimmed = name?.trim();
74
+ if (trimmed)
75
+ return trimmed;
65
76
  return '';
66
77
  }
67
- function resolveDescription(metadata, extras) {
78
+ function resolveDescription(metadata, description) {
68
79
  const fromMetadata = metadata?.seoDescription?.trim();
69
80
  if (fromMetadata)
70
81
  return fromMetadata;
71
- const html = extras?.description ?? '';
72
- return truncate(stripHtml(html), 160);
82
+ return truncate(stripHtml(description ?? ''), 160);
73
83
  }
74
84
  function resolveCanonical(cfg, entity, metadata) {
75
85
  const override = metadata?.canonicalUrl?.trim();
@@ -77,7 +87,8 @@ function resolveCanonical(cfg, entity, metadata) {
77
87
  return override;
78
88
  return canonicalFor(cfg, entity);
79
89
  }
80
- function buildOpenGraphTags(ctx, product, metadata, title, description, canonical, channelAlternates, extras) {
90
+ function buildOpenGraphTags(ctx, params) {
91
+ const { metadata, title, description, canonical, image, channelAlternates, productExtras } = params;
81
92
  const tags = [];
82
93
  const ogTitle = metadata?.social.title ?? title;
83
94
  const ogDescription = metadata?.social.description ?? description;
@@ -98,32 +109,32 @@ function buildOpenGraphTags(ctx, product, metadata, title, description, canonica
98
109
  continue;
99
110
  tags.push({ property: 'og:locale:alternate', content: alt.hreflang });
100
111
  }
101
- const imageUrl = pickAssetUrl(metadata?.social.image ?? null) ?? pickAssetUrl(extras?.featuredAsset ?? null);
112
+ const imageUrl = pickAssetUrl(metadata?.social.image ?? null) ?? pickAssetUrl(image);
102
113
  if (imageUrl) {
103
114
  tags.push({ property: 'og:image', content: imageUrl });
104
115
  const alt = metadata?.social.imageAlt;
105
116
  if (alt)
106
117
  tags.push({ property: 'og:image:alt', content: alt });
107
118
  }
108
- if (ogType === 'product') {
109
- if (extras?.price) {
110
- tags.push({ property: 'product:price:amount', content: extras.price.amount });
111
- tags.push({ property: 'product:price:currency', content: extras.price.currency });
119
+ if (ogType === 'product' && productExtras) {
120
+ if (productExtras.price) {
121
+ tags.push({ property: 'product:price:amount', content: productExtras.price.amount });
122
+ tags.push({ property: 'product:price:currency', content: productExtras.price.currency });
112
123
  }
113
- if (extras?.availability) {
114
- tags.push({ property: 'product:availability', content: extras.availability });
124
+ if (productExtras.availability) {
125
+ tags.push({ property: 'product:availability', content: productExtras.availability });
115
126
  }
116
- if (extras?.sku) {
117
- tags.push({ property: 'product:retailer_item_id', content: extras.sku });
127
+ if (productExtras.sku) {
128
+ tags.push({ property: 'product:retailer_item_id', content: productExtras.sku });
118
129
  }
119
- if (extras?.brand)
120
- tags.push({ property: 'product:brand', content: extras.brand });
121
- tags.push({ property: 'product:condition', content: extras?.condition ?? 'new' });
130
+ if (productExtras.brand)
131
+ tags.push({ property: 'product:brand', content: productExtras.brand });
132
+ tags.push({ property: 'product:condition', content: productExtras.condition ?? 'new' });
122
133
  }
123
- void product;
124
134
  return tags;
125
135
  }
126
- function buildTwitterTags(ctx, metadata, title, description, extras) {
136
+ function buildTwitterTags(ctx, params) {
137
+ const { metadata, title, description, image } = params;
127
138
  const card = metadata?.twitter.cardType ?? 'summary_large_image';
128
139
  const tags = [{ name: 'twitter:card', content: card }];
129
140
  const t = metadata?.twitter.titleOverride ?? metadata?.social.title ?? title;
@@ -134,7 +145,7 @@ function buildTwitterTags(ctx, metadata, title, description, extras) {
134
145
  tags.push({ name: 'twitter:description', content: d });
135
146
  const imageUrl = pickAssetUrl(metadata?.twitter.imageOverride ?? null) ??
136
147
  pickAssetUrl(metadata?.social.image ?? null) ??
137
- pickAssetUrl(extras?.featuredAsset ?? null);
148
+ pickAssetUrl(image);
138
149
  if (imageUrl) {
139
150
  tags.push({ name: 'twitter:image', content: imageUrl });
140
151
  const alt = metadata?.social.imageAlt;
@@ -149,46 +160,114 @@ function buildTwitterTags(ctx, metadata, title, description, extras) {
149
160
  }
150
161
  export function metaTagsFor(ctx, input) {
151
162
  const { cfg, channel } = ctx;
152
- const entity = { kind: 'product', ...input.product };
153
- const metadata = input.metadata;
154
- const extras = input.extras;
155
- const title = resolveTitle(metadata, extras);
156
- const description = resolveDescription(metadata, extras);
163
+ let entity;
164
+ let metadata;
165
+ let name;
166
+ let description;
167
+ let image;
168
+ let hreflangOverrides;
169
+ switch (input.kind) {
170
+ case 'product':
171
+ entity = { kind: 'product', ...input.product };
172
+ metadata = input.metadata;
173
+ name = input.extras?.name;
174
+ description = input.extras?.description;
175
+ image = input.extras?.featuredAsset ?? null;
176
+ hreflangOverrides = input.metadata?.hreflangOverrides ?? [];
177
+ break;
178
+ case 'collection':
179
+ entity = { kind: 'collection', ...input.collection };
180
+ metadata = input.metadata;
181
+ name = input.extras?.name;
182
+ description = input.extras?.description;
183
+ image = input.extras?.featuredAsset ?? null;
184
+ hreflangOverrides = [];
185
+ break;
186
+ case 'cms':
187
+ entity = { kind: 'cms', ...input.cms };
188
+ metadata = input.metadata;
189
+ name = input.extras?.name;
190
+ description = input.extras?.description;
191
+ image = input.extras?.ogImage ?? null;
192
+ hreflangOverrides = [];
193
+ break;
194
+ }
195
+ const title = resolveTitle(metadata, name);
196
+ const resolvedDescription = resolveDescription(metadata, description);
157
197
  const canonical = resolveCanonical(cfg, entity, metadata);
158
- const robots = composeRobotsContent(metadata?.metaRobots ?? {
159
- index: 'index',
160
- follow: 'follow',
161
- noarchive: false,
162
- nosnippet: false,
163
- noimageindex: false,
164
- maxSnippet: null,
165
- maxImagePreview: 'large',
166
- maxVideoPreview: null,
167
- unavailableAfter: null,
168
- });
198
+ const robots = composeRobotsContent(metadata?.metaRobots ?? DEFAULT_META_ROBOTS);
169
199
  const channelAlternates = alternatesFor(cfg, entity);
170
200
  const xDefaultHref = canonicalFor(cfg, entity, cfg.defaultLanguageCode);
171
- const hreflang = mergeHreflang(channelAlternates, metadata?.hreflangOverrides ?? [], xDefaultHref);
172
- const openGraph = buildOpenGraphTags({ cfg, channel }, input.product, metadata, title, description, canonical, channelAlternates, extras);
173
- const twitter = buildTwitterTags({ cfg, channel }, metadata, title, description, extras);
174
- const jsonLd = [];
175
- jsonLd.push(composeProductJsonLd({
176
- product: input.product,
201
+ const hreflang = mergeHreflang(channelAlternates, hreflangOverrides, xDefaultHref);
202
+ const openGraph = buildOpenGraphTags({ cfg, channel }, {
203
+ metadata,
204
+ title,
205
+ description: resolvedDescription,
206
+ canonical,
207
+ image,
208
+ channelAlternates,
209
+ productExtras: input.kind === 'product' ? input.extras : undefined,
210
+ });
211
+ const twitter = buildTwitterTags({ cfg, channel }, { metadata, title, description: resolvedDescription, image });
212
+ const jsonLd = buildJsonLd(cfg, input, {
177
213
  metadata,
178
214
  canonical,
179
215
  title,
180
- description,
181
- extras,
182
- reviews: input.reviews ?? null,
183
- }));
184
- jsonLd.push(composeBreadcrumbJsonLd({
185
- cfg,
186
- product: input.product,
187
- override: metadata?.breadcrumbOverride ?? [],
188
- }));
189
- if (metadata?.ai.emitFaqpageJsonld && metadata.ai.qaPairs.length > 0) {
190
- jsonLd.push(composeFaqJsonLd(metadata.ai.qaPairs));
216
+ description: resolvedDescription,
217
+ image,
218
+ });
219
+ return {
220
+ title,
221
+ description: resolvedDescription,
222
+ canonical,
223
+ robots,
224
+ openGraph,
225
+ twitter,
226
+ hreflang,
227
+ jsonLd,
228
+ };
229
+ }
230
+ function buildJsonLd(cfg, input, ctx) {
231
+ const jsonLd = [];
232
+ switch (input.kind) {
233
+ case 'product': {
234
+ const metadata = input.metadata;
235
+ jsonLd.push(composeProductJsonLd({
236
+ product: input.product,
237
+ metadata,
238
+ canonical: ctx.canonical,
239
+ title: ctx.title,
240
+ description: ctx.description,
241
+ extras: input.extras,
242
+ reviews: input.reviews ?? null,
243
+ }));
244
+ jsonLd.push(composeBreadcrumbJsonLd({
245
+ cfg,
246
+ product: input.product,
247
+ override: metadata?.breadcrumbOverride ?? [],
248
+ }));
249
+ if (metadata?.ai.emitFaqpageJsonld && metadata.ai.qaPairs.length > 0) {
250
+ jsonLd.push(composeFaqJsonLd(metadata.ai.qaPairs));
251
+ }
252
+ break;
253
+ }
254
+ case 'collection':
255
+ jsonLd.push(composeCollectionJsonLd({
256
+ canonical: ctx.canonical,
257
+ title: ctx.title,
258
+ description: ctx.description,
259
+ image: ctx.image,
260
+ }));
261
+ break;
262
+ case 'cms':
263
+ jsonLd.push(composeCmsJsonLd({
264
+ canonical: ctx.canonical,
265
+ title: ctx.title,
266
+ description: ctx.description,
267
+ image: ctx.image,
268
+ }));
269
+ break;
191
270
  }
192
- return { title, description, canonical, robots, openGraph, twitter, hreflang, jsonLd };
271
+ return jsonLd;
193
272
  }
194
273
  //# sourceMappingURL=meta-tags.js.map
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  import type { Asset } from '../types.js';
2
- import type { BotDirective, BreadcrumbOverrideEntry, HreflangOverrideEntry, MetaRobots, ProductMetadata, QAPair } from './metadata-types.js';
2
+ import type { BotDirective, BreadcrumbOverrideEntry, CmsItemMetadata, CollectionMetadata, HreflangOverrideEntry, MetaRobots, MetaRobotsMaxImagePreview, ProductMetadata, QAPair } from './metadata-types.js';
3
3
  export declare function parseMetaRobots(value: unknown): MetaRobots;
4
4
  export declare function parseQaPairs(value: unknown): QAPair[];
5
5
  export declare function parseBreadcrumbOverride(value: unknown): BreadcrumbOverrideEntry[];
@@ -28,4 +28,33 @@ export interface RawProductMetadata {
28
28
  includeReviewsInJsonld: boolean;
29
29
  }
30
30
  export declare function parseProductMetadata(raw: RawProductMetadata | null | undefined): ProductMetadata | null;
31
+ export declare function robotsFromFlags(noindex: boolean, nofollow: boolean, maxImagePreview?: MetaRobotsMaxImagePreview): MetaRobots;
32
+ export interface RawCollectionSeo {
33
+ seoTitle?: unknown;
34
+ seoDescription?: unknown;
35
+ canonicalUrl?: unknown;
36
+ socialTitle?: unknown;
37
+ socialDescription?: unknown;
38
+ socialImageAlt?: unknown;
39
+ noindex?: unknown;
40
+ nofollow?: unknown;
41
+ metaRobotsMaxImagePreview?: unknown;
42
+ socialOgType?: unknown;
43
+ twitterCardType?: unknown;
44
+ }
45
+ export declare function parseCollectionMetadata(raw: RawCollectionSeo | null | undefined, socialImage?: Asset | null): CollectionMetadata | null;
46
+ export interface RawCmsSeo {
47
+ seoTitle?: unknown;
48
+ seoDescription?: unknown;
49
+ canonicalUrl?: unknown;
50
+ socialTitle?: unknown;
51
+ socialDescription?: unknown;
52
+ socialImageAlt?: unknown;
53
+ socialOgType?: unknown;
54
+ twitterCardType?: unknown;
55
+ noindex?: unknown;
56
+ nofollow?: unknown;
57
+ aiSummary?: unknown;
58
+ }
59
+ export declare function parseCmsItemMetadata(raw: RawCmsSeo | null | undefined, ogImage?: Asset | null): CmsItemMetadata | null;
31
60
  //# 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,qBAAqB,EACrB,UAAU,EAIV,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;AAGD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,oBAAoB,EAAE,KAAK,GAAG,IAAI,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAOD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GACzC,eAAe,GAAG,IAAI,CAiCxB"}
1
+ {"version":3,"file":"metadata-parser.d.ts","sourceRoot":"","sources":["../../src/seo/metadata-parser.ts"],"names":[],"mappings":"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"}
@@ -177,4 +177,74 @@ export function parseProductMetadata(raw) {
177
177
  includeReviewsInJsonld: asBoolean(raw.includeReviewsInJsonld, 'includeReviewsInJsonld'),
178
178
  };
179
179
  }
180
+ function looseString(value) {
181
+ return typeof value === 'string' && value.trim().length > 0 ? value : null;
182
+ }
183
+ function looseBoolean(value) {
184
+ return value === true || value === 'true' || value === 1 || value === '1';
185
+ }
186
+ function looseOneOf(value, allowed, fallback) {
187
+ return typeof value === 'string' && allowed.includes(value) ? value : fallback;
188
+ }
189
+ export function robotsFromFlags(noindex, nofollow, maxImagePreview = 'large') {
190
+ return {
191
+ index: noindex ? 'noindex' : 'index',
192
+ follow: nofollow ? 'nofollow' : 'follow',
193
+ noarchive: false,
194
+ nosnippet: false,
195
+ noimageindex: false,
196
+ maxSnippet: null,
197
+ maxImagePreview,
198
+ maxVideoPreview: null,
199
+ unavailableAfter: null,
200
+ };
201
+ }
202
+ export function parseCollectionMetadata(raw, socialImage = null) {
203
+ if (raw === null || raw === undefined)
204
+ return null;
205
+ const maxImagePreview = looseOneOf(raw.metaRobotsMaxImagePreview, ROBOTS_MAX_IMAGE_PREVIEW, 'large');
206
+ return {
207
+ seoTitle: looseString(raw.seoTitle),
208
+ seoDescription: looseString(raw.seoDescription),
209
+ canonicalUrl: looseString(raw.canonicalUrl),
210
+ social: {
211
+ title: looseString(raw.socialTitle),
212
+ description: looseString(raw.socialDescription),
213
+ image: socialImage,
214
+ imageAlt: looseString(raw.socialImageAlt),
215
+ ogType: looseOneOf(raw.socialOgType, SOCIAL_OG_TYPES, 'website'),
216
+ },
217
+ twitter: {
218
+ cardType: looseOneOf(raw.twitterCardType, TWITTER_CARD_TYPES, 'summary_large_image'),
219
+ titleOverride: null,
220
+ descriptionOverride: null,
221
+ imageOverride: null,
222
+ },
223
+ metaRobots: robotsFromFlags(looseBoolean(raw.noindex), looseBoolean(raw.nofollow), maxImagePreview),
224
+ };
225
+ }
226
+ export function parseCmsItemMetadata(raw, ogImage = null) {
227
+ if (raw === null || raw === undefined)
228
+ return null;
229
+ return {
230
+ seoTitle: looseString(raw.seoTitle),
231
+ seoDescription: looseString(raw.seoDescription),
232
+ canonicalUrl: looseString(raw.canonicalUrl),
233
+ social: {
234
+ title: looseString(raw.socialTitle),
235
+ description: looseString(raw.socialDescription),
236
+ image: ogImage,
237
+ imageAlt: looseString(raw.socialImageAlt),
238
+ ogType: looseOneOf(raw.socialOgType, SOCIAL_OG_TYPES, 'website'),
239
+ },
240
+ twitter: {
241
+ cardType: looseOneOf(raw.twitterCardType, TWITTER_CARD_TYPES, 'summary_large_image'),
242
+ titleOverride: null,
243
+ descriptionOverride: null,
244
+ imageOverride: null,
245
+ },
246
+ metaRobots: robotsFromFlags(looseBoolean(raw.noindex), looseBoolean(raw.nofollow)),
247
+ aiSummary: looseString(raw.aiSummary),
248
+ };
249
+ }
180
250
  //# sourceMappingURL=metadata-parser.js.map