@sixtyninecommerce/client 0.22.1 → 0.23.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 (75) hide show
  1. package/README.md +51 -0
  2. package/dist/cache-tags.d.ts +8 -0
  3. package/dist/cache-tags.d.ts.map +1 -0
  4. package/dist/cache-tags.js +15 -0
  5. package/dist/cache-tags.js.map +1 -0
  6. package/dist/commerce/index.d.ts +2 -0
  7. package/dist/commerce/index.d.ts.map +1 -1
  8. package/dist/commerce/products.d.ts +3 -1
  9. package/dist/commerce/products.d.ts.map +1 -1
  10. package/dist/commerce/products.js +33 -9
  11. package/dist/commerce/products.js.map +1 -1
  12. package/dist/commerce/queries.d.ts +1 -0
  13. package/dist/commerce/queries.d.ts.map +1 -1
  14. package/dist/commerce/queries.js +10 -4
  15. package/dist/commerce/queries.js.map +1 -1
  16. package/dist/commerce/search.d.ts +1 -1
  17. package/dist/commerce/search.d.ts.map +1 -1
  18. package/dist/commerce/search.js +7 -1
  19. package/dist/commerce/search.js.map +1 -1
  20. package/dist/core/context.d.ts.map +1 -1
  21. package/dist/core/context.js +6 -0
  22. package/dist/core/context.js.map +1 -1
  23. package/dist/core/http.d.ts +6 -0
  24. package/dist/core/http.d.ts.map +1 -1
  25. package/dist/core/http.js +26 -2
  26. package/dist/core/http.js.map +1 -1
  27. package/dist/events/index.d.ts +8 -0
  28. package/dist/events/index.d.ts.map +1 -1
  29. package/dist/events/index.js +4 -0
  30. package/dist/events/index.js.map +1 -1
  31. package/dist/events/payloads.d.ts +154 -0
  32. package/dist/events/payloads.d.ts.map +1 -0
  33. package/dist/events/payloads.js +2 -0
  34. package/dist/events/payloads.js.map +1 -0
  35. package/dist/index.d.ts +2 -1
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +1 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/navigation/routes.d.ts +2 -2
  40. package/dist/navigation/routes.d.ts.map +1 -1
  41. package/dist/navigation/routes.js +2 -1
  42. package/dist/navigation/routes.js.map +1 -1
  43. package/dist/next/artifact-handler.d.ts.map +1 -1
  44. package/dist/next/artifact-handler.js +5 -2
  45. package/dist/next/artifact-handler.js.map +1 -1
  46. package/dist/next/event-revalidate-handler.d.ts +14 -0
  47. package/dist/next/event-revalidate-handler.d.ts.map +1 -0
  48. package/dist/next/event-revalidate-handler.js +102 -0
  49. package/dist/next/event-revalidate-handler.js.map +1 -0
  50. package/dist/next/index.d.ts +5 -0
  51. package/dist/next/index.d.ts.map +1 -1
  52. package/dist/next/index.js +2 -0
  53. package/dist/next/index.js.map +1 -1
  54. package/dist/next/revalidate-handler.d.ts.map +1 -1
  55. package/dist/next/revalidate-handler.js.map +1 -1
  56. package/dist/revalidation/event-plan.d.ts +39 -0
  57. package/dist/revalidation/event-plan.d.ts.map +1 -0
  58. package/dist/revalidation/event-plan.js +223 -0
  59. package/dist/revalidation/event-plan.js.map +1 -0
  60. package/dist/revalidation/event-verify.d.ts +16 -0
  61. package/dist/revalidation/event-verify.d.ts.map +1 -0
  62. package/dist/revalidation/event-verify.js +74 -0
  63. package/dist/revalidation/event-verify.js.map +1 -0
  64. package/dist/revalidation/types.d.ts.map +1 -1
  65. package/dist/revalidation/url-context.d.ts +17 -0
  66. package/dist/revalidation/url-context.d.ts.map +1 -0
  67. package/dist/revalidation/url-context.js +49 -0
  68. package/dist/revalidation/url-context.js.map +1 -0
  69. package/dist/seo/url-builder.d.ts +2 -1
  70. package/dist/seo/url-builder.d.ts.map +1 -1
  71. package/dist/seo/url-builder.js +5 -2
  72. package/dist/seo/url-builder.js.map +1 -1
  73. package/dist/types.d.ts +12 -1
  74. package/dist/types.d.ts.map +1 -1
  75. package/package.json +1 -1
package/README.md CHANGED
@@ -325,6 +325,57 @@ Two language modes are transparent to the storefront — the resolver picks the
325
325
 
326
326
  Visibility is gated server-side: `PUBLIC` (everyone), `AUTHENTICATED` (logged-in only), `CUSTOMER_GROUP` (allowlist of customer groups). Anonymous visitors only ever see PUBLIC docs.
327
327
 
328
+ ## Next.js revalidation (platform events)
329
+
330
+ Create an event subscription (Dashboard → Settings → Event Subscriptions) pointing at
331
+ `{storefrontUrl}/api/revalidate/events`, and mount the handler there:
332
+
333
+ ```typescript
334
+ // src/app/api/revalidate/events/route.ts
335
+ import { revalidatePath, revalidateTag } from 'next/cache';
336
+ import { createEventRevalidateHandler, urlContextFromClient } from '@sixtyninecommerce/client/next';
337
+
338
+ export const POST = createEventRevalidateHandler({
339
+ secret: process.env.REVALIDATE_EVENTS_SECRET!, // the subscription's signing secret
340
+ revalidatePath,
341
+ revalidateTag,
342
+ urls: urlContextFromClient(getClient()), // a client or a client promise
343
+ });
344
+ ```
345
+
346
+ It verifies the signature over the raw body, checks `delivered_at` (never `occurred_at`) within
347
+ 5 minutes, maps each event to paths and tags, and answers 200 for events it does not act on.
348
+ `revalidateTag` is called with the tag only — if your Next version wants a cache profile too,
349
+ pass a wrapper such as `(tag) => revalidateTag(tag, 'max')`.
350
+
351
+ **Cache tags.** Product and collection reads carry `next: { tags }`, and the handler purges the
352
+ same tags: `product:<id>` on `getProductById` / `getProductProperties`, `collection:<id>` on
353
+ `getCollectionById`, `getProductsInCollectionById` and `searchProducts({ collectionId })`. Load
354
+ pages by the id the routes manifest resolves:
355
+
356
+ ```typescript
357
+ const route = await client.navigation.findRoute(path, locale);
358
+ if (route?.type === 'product') {
359
+ const product = await client.commerce.getProductById(route.id); // tagged product:<id>
360
+ }
361
+ if (route?.type === 'collection') {
362
+ const collection = await client.commerce.getCollectionById(route.id); // tagged collection:<id>
363
+ const listing = await client.commerce.getProductsInCollectionById(route.id);
364
+ }
365
+ ```
366
+
367
+ `findRoute` also returns `route.cacheTags` for any other read on the page (and
368
+ `cacheTagsForRoute(entry)` covers `getRoutes()` entries). Raw slug reads (`getProduct(slug)`,
369
+ `getCollection(slug)`, `getProductsInCollection(slug)`) stay untagged — pass
370
+ `{ cacheTags: route.cacheTags }` if you must use one.
371
+
372
+ Opt out with `createStorefrontClient({ cacheTags: false })`, or pass a resolver
373
+ `(tags, { operation }) => tags` to rewrite them. The SDK never sets a cache policy.
374
+
375
+ `verifyEventDelivery`, `planRevalidation` and the payload types are exported from
376
+ `@sixtyninecommerce/client/events` for pull-feed consumers and custom handlers.
377
+ `createRevalidateHandler` (the legacy `/api/revalidate` SEO webhook) is deprecated and unchanged.
378
+
328
379
  ## Tree-Shakeable Imports
329
380
 
330
381
  ```typescript
@@ -0,0 +1,8 @@
1
+ export declare const SEO_ARTIFACT_TAG = "seo-artifact";
2
+ export declare function productCacheTag(productId: string): string;
3
+ export declare function collectionCacheTag(collectionId: string): string;
4
+ export declare function cacheTagsForRoute(route: {
5
+ readonly type: string;
6
+ readonly id: string;
7
+ }): string[];
8
+ //# sourceMappingURL=cache-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-tags.d.ts","sourceRoot":"","sources":["../src/cache-tags.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE/D;AAOD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CAIjG"}
@@ -0,0 +1,15 @@
1
+ export const SEO_ARTIFACT_TAG = 'seo-artifact';
2
+ export function productCacheTag(productId) {
3
+ return `product:${productId}`;
4
+ }
5
+ export function collectionCacheTag(collectionId) {
6
+ return `collection:${collectionId}`;
7
+ }
8
+ export function cacheTagsForRoute(route) {
9
+ if (route.type === 'product')
10
+ return [productCacheTag(route.id)];
11
+ if (route.type === 'collection')
12
+ return [collectionCacheTag(route.id)];
13
+ return [];
14
+ }
15
+ //# sourceMappingURL=cache-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-tags.js","sourceRoot":"","sources":["../src/cache-tags.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAE/C,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,OAAO,WAAW,SAAS,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,OAAO,cAAc,YAAY,EAAE,CAAC;AACtC,CAAC;AAOD,MAAM,UAAU,iBAAiB,CAAC,KAAqD;IACrF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -150,9 +150,11 @@ export declare function createCommerceModule(http: HttpClient, ctx: StoreContext
150
150
  getProductById(id: string, options?: import("../types.js").RequestOptions): Promise<import("../types.js").Product>;
151
151
  getProducts(listOptions?: import("../types.js").ProductListOptions, options?: import("../types.js").RequestOptions): Promise<import("../types.js").PaginatedList<import("../types.js").ProductSummary>>;
152
152
  getProductsInCollection(collectionSlug: string, listOptions?: import("../types.js").CollectionProductListOptions, options?: import("../types.js").RequestOptions): Promise<import("../types.js").PaginatedList<import("../types.js").CollectionProductSummary>>;
153
+ getProductsInCollectionById(collectionId: string, listOptions?: import("../types.js").CollectionProductListOptions, options?: import("../types.js").RequestOptions): Promise<import("../types.js").PaginatedList<import("../types.js").CollectionProductSummary>>;
153
154
  getFacets(options?: import("../types.js").RequestOptions): Promise<import("../types.js").Facet[]>;
154
155
  getCollections(listOptions?: import("../types.js").CollectionListOptions, options?: import("../types.js").RequestOptions): Promise<import("../types.js").Collection[]>;
155
156
  getCollection(slug: string, options?: import("../types.js").RequestOptions): Promise<import("../types.js").CollectionDetail>;
157
+ getCollectionById(id: string, options?: import("../types.js").RequestOptions): Promise<import("../types.js").CollectionDetail>;
156
158
  getPropertyGroups(options?: import("../types.js").RequestOptions): Promise<import("../types.js").PropertyGroup[]>;
157
159
  getProductProperties(productId: string, options?: import("../types.js").RequestOptions): Promise<import("../types.js").ProductPropertyGroupValues[]>;
158
160
  mapProductProperties: typeof import("./products.js").mapProductProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commerce/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,aAAa,CAAC;AAoBhE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyC07C,CAAC;iBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YArDp+C,CAAC;YAClC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDlB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commerce/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,aAAa,CAAC;AAoBhE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyC07C,CAAC;iBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YArDp+C,CAAC;YAClC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDlB"}
@@ -1,4 +1,4 @@
1
- import type { HttpClient } from '../core/http.js';
1
+ import { type HttpClient } from '../core/http.js';
2
2
  import type { Collection, CollectionDetail, CollectionListOptions, CollectionProductListOptions, CollectionProductSummary, Facet, PaginatedList, Product, ProductListOptions, ProductPropertyGroupValues, ProductPropertyRecord, ProductSummary, PropertyGroup, RequestOptions } from '../types.js';
3
3
  export declare function mapProductProperties(groups: ProductPropertyGroupValues[]): ProductPropertyRecord;
4
4
  export declare function createProductMethods(http: HttpClient): {
@@ -6,9 +6,11 @@ export declare function createProductMethods(http: HttpClient): {
6
6
  getProductById(id: string, options?: RequestOptions): Promise<Product>;
7
7
  getProducts(listOptions?: ProductListOptions, options?: RequestOptions): Promise<PaginatedList<ProductSummary>>;
8
8
  getProductsInCollection(collectionSlug: string, listOptions?: CollectionProductListOptions, options?: RequestOptions): Promise<PaginatedList<CollectionProductSummary>>;
9
+ getProductsInCollectionById(collectionId: string, listOptions?: CollectionProductListOptions, options?: RequestOptions): Promise<PaginatedList<CollectionProductSummary>>;
9
10
  getFacets(options?: RequestOptions): Promise<Facet[]>;
10
11
  getCollections(listOptions?: CollectionListOptions, options?: RequestOptions): Promise<Collection[]>;
11
12
  getCollection(slug: string, options?: RequestOptions): Promise<CollectionDetail>;
13
+ getCollectionById(id: string, options?: RequestOptions): Promise<CollectionDetail>;
12
14
  getPropertyGroups(options?: RequestOptions): Promise<PropertyGroup[]>;
13
15
  getProductProperties(productId: string, options?: RequestOptions): Promise<ProductPropertyGroupValues[]>;
14
16
  mapProductProperties: typeof mapProductProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/commerce/products.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,wBAAwB,EACxB,KAAK,EACL,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,cAAc,EAEf,MAAM,aAAa,CAAC;AAwHrB,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,EAAE,GAAG,qBAAqB,CAUhG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU;qBAE1B,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;uBAQjD,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;8BA0B5D,kBAAkB,YACtB,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;4CA8EvB,MAAM,gBACR,4BAA4B,YAChC,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;wBAoBzB,cAAc,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;iCAU3C,qBAAqB,YACzB,cAAc,GACvB,OAAO,CAAC,UAAU,EAAE,CAAC;wBAWE,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;gCAYpD,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;oCAU9D,MAAM,YACP,cAAc,GACvB,OAAO,CAAC,0BAA0B,EAAE,CAAC;;EAS3C"}
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/commerce/products.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAc,MAAM,iBAAiB,CAAC;AAG9D,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,wBAAwB,EACxB,KAAK,EACL,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,cAAc,EAEf,MAAM,aAAa,CAAC;AAyHrB,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,EAAE,GAAG,qBAAqB,CAUhG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU;qBAE1B,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;uBAYjD,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;8BA0B5D,kBAAkB,YACtB,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;4CA8EvB,MAAM,gBACR,4BAA4B,YAChC,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;8CAsBnC,MAAM,gBACN,4BAA4B,YAChC,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;wBAoBzB,cAAc,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;iCAU3C,qBAAqB,YACzB,cAAc,GACvB,OAAO,CAAC,UAAU,EAAE,CAAC;wBAWE,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;0BAY1D,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;gCAYtD,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;oCAU9D,MAAM,YACP,cAAc,GACvB,OAAO,CAAC,0BAA0B,EAAE,CAAC;;EAa3C"}
@@ -1,6 +1,8 @@
1
+ import { collectionCacheTag, productCacheTag } from '../cache-tags.js';
2
+ import { tagRequest } from '../core/http.js';
1
3
  import { StorefrontError } from '../errors.js';
2
4
  import { parseProductMetadata } from '../seo/metadata-parser.js';
3
- import { GET_COLLECTION, GET_PRODUCT, GET_PRODUCT_BY_ID, LIST_COLLECTIONS, LIST_FACETS, LIST_PRODUCTS, PRODUCT_PROPERTIES, PROPERTY_GROUPS, SEARCH_PRODUCTS, } from './queries.js';
5
+ import { GET_COLLECTION, GET_COLLECTION_BY_ID, GET_PRODUCT, GET_PRODUCT_BY_ID, LIST_COLLECTIONS, LIST_FACETS, LIST_PRODUCTS, PRODUCT_PROPERTIES, PROPERTY_GROUPS, SEARCH_PRODUCTS, } from './queries.js';
4
6
  function hydrateProductMetadata(product) {
5
7
  const raw = product.metadata;
6
8
  return { ...product, metadata: parseProductMetadata(raw ?? null) };
@@ -69,14 +71,14 @@ export function mapProductProperties(groups) {
69
71
  export function createProductMethods(http) {
70
72
  return {
71
73
  async getProduct(slug, options) {
72
- const data = await http.graphql(GET_PRODUCT, { slug }, options);
74
+ const data = await http.graphql(GET_PRODUCT, { slug }, tagRequest(options, 'getProduct'));
73
75
  if (!data.product) {
74
76
  throw new StorefrontError(`Product not found: ${slug}`, 'vendure', 404, 'NOT_FOUND');
75
77
  }
76
78
  return hydrateProductMetadata(data.product);
77
79
  },
78
80
  async getProductById(id, options) {
79
- const data = await http.graphql(GET_PRODUCT_BY_ID, { id }, options);
81
+ const data = await http.graphql(GET_PRODUCT_BY_ID, { id }, tagRequest(options, 'getProductById', [productCacheTag(id)]));
80
82
  if (!data.product) {
81
83
  throw new StorefrontError(`Product not found: ${id}`, 'vendure', 404, 'NOT_FOUND');
82
84
  }
@@ -92,7 +94,7 @@ export function createProductMethods(http) {
92
94
  skip: listOptions.skip ?? 0,
93
95
  ...(listOptions.sort ? { sort: listOptions.sort } : {}),
94
96
  },
95
- }, options);
97
+ }, tagRequest(options, 'getProducts'));
96
98
  return {
97
99
  items: data.search.items.map(searchItemToProductSummary),
98
100
  totalItems: data.search.totalItems,
@@ -118,7 +120,7 @@ export function createProductMethods(http) {
118
120
  else {
119
121
  queryOptions.filter = { enabled: { eq: listOptions?.enabled ?? true } };
120
122
  }
121
- const data = await http.graphql(LIST_PRODUCTS, { options: queryOptions }, options);
123
+ const data = await http.graphql(LIST_PRODUCTS, { options: queryOptions }, tagRequest(options, 'getProducts'));
122
124
  return data.products;
123
125
  },
124
126
  async getProductsInCollection(collectionSlug, listOptions, options) {
@@ -130,7 +132,22 @@ export function createProductMethods(http) {
130
132
  skip: listOptions?.skip ?? 0,
131
133
  ...(listOptions?.sort ? { sort: listOptions.sort } : {}),
132
134
  },
133
- }, options);
135
+ }, tagRequest(options, 'getProductsInCollection'));
136
+ return {
137
+ items: data.search.items.map(searchItemToCollectionProduct),
138
+ totalItems: data.search.totalItems,
139
+ };
140
+ },
141
+ async getProductsInCollectionById(collectionId, listOptions, options) {
142
+ const data = await http.graphql(SEARCH_PRODUCTS, {
143
+ input: {
144
+ term: '',
145
+ collectionId,
146
+ take: listOptions?.take ?? 20,
147
+ skip: listOptions?.skip ?? 0,
148
+ ...(listOptions?.sort ? { sort: listOptions.sort } : {}),
149
+ },
150
+ }, tagRequest(options, 'getProductsInCollectionById', [collectionCacheTag(collectionId)]));
134
151
  return {
135
152
  items: data.search.items.map(searchItemToCollectionProduct),
136
153
  totalItems: data.search.totalItems,
@@ -143,22 +160,29 @@ export function createProductMethods(http) {
143
160
  async getCollections(listOptions, options) {
144
161
  const data = await http.graphql(LIST_COLLECTIONS, {
145
162
  options: { take: listOptions?.take ?? 100, skip: listOptions?.skip ?? 0 },
146
- }, options);
163
+ }, tagRequest(options, 'getCollections'));
147
164
  return data.collections.items;
148
165
  },
149
166
  async getCollection(slug, options) {
150
- const data = await http.graphql(GET_COLLECTION, { slug }, options);
167
+ const data = await http.graphql(GET_COLLECTION, { slug }, tagRequest(options, 'getCollection'));
151
168
  if (!data.collection) {
152
169
  throw new StorefrontError(`Collection not found: ${slug}`, 'vendure', 404, 'NOT_FOUND');
153
170
  }
154
171
  return data.collection;
155
172
  },
173
+ async getCollectionById(id, options) {
174
+ const data = await http.graphql(GET_COLLECTION_BY_ID, { id }, tagRequest(options, 'getCollectionById', [collectionCacheTag(id)]));
175
+ if (!data.collection) {
176
+ throw new StorefrontError(`Collection not found: ${id}`, 'vendure', 404, 'NOT_FOUND');
177
+ }
178
+ return data.collection;
179
+ },
156
180
  async getPropertyGroups(options) {
157
181
  const data = await http.graphql(PROPERTY_GROUPS, undefined, options);
158
182
  return data.productPropertyGroups;
159
183
  },
160
184
  async getProductProperties(productId, options) {
161
- const data = await http.graphql(PRODUCT_PROPERTIES, { productId }, options);
185
+ const data = await http.graphql(PRODUCT_PROPERTIES, { productId }, tagRequest(options, 'getProductProperties', [productCacheTag(productId)]));
162
186
  return data.productPropertyValues;
163
187
  },
164
188
  mapProductProperties,
@@ -1 +1 @@
1
- {"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/commerce/products.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/commerce/products.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export declare const LIST_PRODUCTS = "\n query ListProducts($options: ProductLi
4
4
  export declare const LIST_FACETS = "\n query ListFacets {\n facets {\n items {\n id name code\n values { id name code }\n }\n totalItems\n }\n }\n";
5
5
  export declare const LIST_COLLECTIONS = "\n query ListCollections($options: CollectionListOptions) {\n collections(options: $options) {\n items {\n id name slug description\n breadcrumbs { id name slug }\n featuredAsset {\n source width height\n presets { xs { url webpUrl } m { url webpUrl } }\n }\n parent { id name slug }\n children { id name slug }\n }\n totalItems\n }\n }\n";
6
6
  export declare const GET_COLLECTION = "\n query GetCollection($slug: String!) {\n collection(slug: $slug) {\n id name slug description position\n featuredAsset {\n source width height\n presets { l { url webpUrl } xl { url webpUrl } }\n }\n breadcrumbs { id name slug }\n parent { id }\n children { id name slug }\n customFields {\n isRoutable\n isCanonical\n noindex\n nofollow\n metaRobotsMaxImagePreview\n socialImageId\n socialOgType\n twitterCardType\n }\n translations {\n languageCode\n name\n slug\n customFields {\n seoTitle\n seoDescription\n canonicalUrl\n socialTitle\n socialDescription\n socialImageAlt\n }\n }\n productVariants(options: { take: 20 }) {\n items {\n id\n product {\n id name slug\n featuredAsset { source width height presets { m { url webpUrl } } }\n }\n price priceWithTax currencyCode stockLevel\n stockOnHand stockAllocated saleable\n incomingStock projectedSaleable nextExpectedArrival\n priceListName retailPrice retailPriceWithTax taxRateApplied { value }\n priceTiers { minQuantity price priceWithTax discountLabel }\n availabilityByLocation { locationId locationName inStock }\n customFields { minOrderQuantity salesUnit position }\n }\n totalItems\n }\n }\n }\n";
7
+ export declare const GET_COLLECTION_BY_ID = "\n query GetCollectionById($id: ID!) {\n collection(id: $id) {\n id name slug description position\n featuredAsset {\n source width height\n presets { l { url webpUrl } xl { url webpUrl } }\n }\n breadcrumbs { id name slug }\n parent { id }\n children { id name slug }\n customFields {\n isRoutable\n isCanonical\n noindex\n nofollow\n metaRobotsMaxImagePreview\n socialImageId\n socialOgType\n twitterCardType\n }\n translations {\n languageCode\n name\n slug\n customFields {\n seoTitle\n seoDescription\n canonicalUrl\n socialTitle\n socialDescription\n socialImageAlt\n }\n }\n productVariants(options: { take: 20 }) {\n items {\n id\n product {\n id name slug\n featuredAsset { source width height presets { m { url webpUrl } } }\n }\n price priceWithTax currencyCode stockLevel\n stockOnHand stockAllocated saleable\n incomingStock projectedSaleable nextExpectedArrival\n priceListName retailPrice retailPriceWithTax taxRateApplied { value }\n priceTiers { minQuantity price priceWithTax discountLabel }\n availabilityByLocation { locationId locationName inStock }\n customFields { minOrderQuantity salesUnit position }\n }\n totalItems\n }\n }\n }\n";
7
8
  export declare const SEARCH_PRODUCTS = "\n query SearchProducts($input: SearchInput!) {\n search(input: $input) {\n items {\n productId productVariantId productName slug description\n price { ... on SinglePrice { value } ... on PriceRange { min max } }\n priceWithTax { ... on SinglePrice { value } ... on PriceRange { min max } }\n currencyCode\n productAsset { preview focalPoint { x y } }\n collectionIds\n inStock\n }\n totalItems\n facetValues { facetValue { id name code facet { id name code } } count }\n }\n }\n";
8
9
  export declare const ACTIVE_ORDER = "\n query ActiveOrder {\n activeOrder { \n id code state active\n createdAt orderPlacedAt\n totalQuantity\n subTotal subTotalWithTax\n shipping shippingWithTax\n total totalWithTax\n currencyCode\n lines {\n id quantity\n unitPrice unitPriceWithTax taxRate\n linePrice linePriceWithTax\n discountedLinePrice discountedLinePriceWithTax\n discounts { adjustmentSource type description amount amountWithTax }\n productVariant {\n id name sku\n product { id name slug }\n options { id name group { name } }\n }\n featuredAsset { source presets { xs { url webpUrl } } }\n }\n discounts { adjustmentSource type description amount amountWithTax }\n taxSummary { description taxRate taxBase taxTotal }\n promotions { id name couponCode description }\n shippingLines { shippingMethod { id name code } priceWithTax }\n payments { id method amount state transactionId }\n shippingAddress { fullName company streetLine1 streetLine2 city province postalCode countryCode phoneNumber }\n billingAddress { fullName company streetLine1 streetLine2 city province postalCode countryCode phoneNumber }\n customer { id firstName lastName emailAddress }\n couponCodes\n }\n }\n";
9
10
  export declare const ADD_TO_CART = "\n mutation AddToCart($variantId: ID!, $quantity: Int!) {\n addItemToOrder(productVariantId: $variantId, quantity: $quantity) {\n ... on Order { \n id code state active\n createdAt orderPlacedAt\n totalQuantity\n subTotal subTotalWithTax\n shipping shippingWithTax\n total totalWithTax\n currencyCode\n lines {\n id quantity\n unitPrice unitPriceWithTax taxRate\n linePrice linePriceWithTax\n discountedLinePrice discountedLinePriceWithTax\n discounts { adjustmentSource type description amount amountWithTax }\n productVariant {\n id name sku\n product { id name slug }\n options { id name group { name } }\n }\n featuredAsset { source presets { xs { url webpUrl } } }\n }\n discounts { adjustmentSource type description amount amountWithTax }\n taxSummary { description taxRate taxBase taxTotal }\n promotions { id name couponCode description }\n shippingLines { shippingMethod { id name code } priceWithTax }\n payments { id method amount state transactionId }\n shippingAddress { fullName company streetLine1 streetLine2 city province postalCode countryCode phoneNumber }\n billingAddress { fullName company streetLine1 streetLine2 city province postalCode countryCode phoneNumber }\n customer { id firstName lastName emailAddress }\n couponCodes\n }\n ... on OrderModificationError { errorCode message }\n ... on OrderLimitError { errorCode message maxItems }\n ... on NegativeQuantityError { errorCode message }\n ... on InsufficientStockError { \n errorCode message quantityAvailable\n productVariantId orderLineId sku productName productVariantName\n quantityRequested inputIndex\n order { id } }\n }\n }\n";
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/commerce/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/commerce/queries.ts"],"names":[],"mappings":"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"}
@@ -202,9 +202,7 @@ export const LIST_COLLECTIONS = `
202
202
  }
203
203
  }
204
204
  `;
205
- export const GET_COLLECTION = `
206
- query GetCollection($slug: String!) {
207
- collection(slug: $slug) {
205
+ const COLLECTION_DETAIL_FIELDS = `
208
206
  id name slug description position
209
207
  featuredAsset {
210
208
  source width height
@@ -253,7 +251,15 @@ export const GET_COLLECTION = `
253
251
  }
254
252
  totalItems
255
253
  }
256
- }
254
+ `;
255
+ export const GET_COLLECTION = `
256
+ query GetCollection($slug: String!) {
257
+ collection(slug: $slug) {${COLLECTION_DETAIL_FIELDS} }
258
+ }
259
+ `;
260
+ export const GET_COLLECTION_BY_ID = `
261
+ query GetCollectionById($id: ID!) {
262
+ collection(id: $id) {${COLLECTION_DETAIL_FIELDS} }
257
263
  }
258
264
  `;
259
265
  export const SEARCH_PRODUCTS = `
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/commerce/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/commerce/queries.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { HttpClient } from '../core/http.js';
1
+ import { type HttpClient } from '../core/http.js';
2
2
  import type { RequestOptions, SearchInput, SearchResult } from '../types.js';
3
3
  export declare function createSearchMethods(http: HttpClient): {
4
4
  searchProducts(input: SearchInput, options?: RequestOptions): Promise<SearchResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commerce/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU;0BAEpB,WAAW,YAAY,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;EAsB5F"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commerce/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAc,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU;0BAEpB,WAAW,YAAY,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;EA2B5F"}
@@ -1,3 +1,5 @@
1
+ import { collectionCacheTag } from '../cache-tags.js';
2
+ import { tagRequest } from '../core/http.js';
1
3
  import { SEARCH_PRODUCTS } from './queries.js';
2
4
  export function createSearchMethods(http) {
3
5
  return {
@@ -21,7 +23,11 @@ export function createSearchMethods(http) {
21
23
  vars.skip = input.skip;
22
24
  if (input.sort)
23
25
  vars.sort = input.sort;
24
- const data = await http.graphql(SEARCH_PRODUCTS, { input: vars }, options);
26
+ const collectionIds = [
27
+ ...(input.collectionId ? [input.collectionId] : []),
28
+ ...(input.collectionIds ?? []),
29
+ ];
30
+ const data = await http.graphql(SEARCH_PRODUCTS, { input: vars }, tagRequest(options, 'searchProducts', collectionIds.map(collectionCacheTag)));
25
31
  return data.search;
26
32
  },
27
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commerce/search.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IAClD,OAAO;QACL,KAAK,CAAC,cAAc,CAAC,KAAkB,EAAE,OAAwB;YAC/D,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3D,IAAI,KAAK,CAAC,cAAc;gBAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YACrE,IAAI,KAAK,CAAC,YAAY;gBAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YAG/D,IAAI,KAAK,CAAC,eAAe,EAAE,MAAM;gBAAE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;YAChF,IAAI,KAAK,CAAC,aAAa,EAAE,MAAM;gBAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YAC1E,IAAI,KAAK,CAAC,aAAa,EAAE,MAAM;gBAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YAC1E,IAAI,KAAK,CAAC,iBAAiB,EAAE,MAAM;gBAAE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACtF,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC/C,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC/C,IAAI,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,eAAe,EACf,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,OAAO,CACR,CAAC;YACF,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commerce/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAmB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IAClD,OAAO;QACL,KAAK,CAAC,cAAc,CAAC,KAAkB,EAAE,OAAwB;YAC/D,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3D,IAAI,KAAK,CAAC,cAAc;gBAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YACrE,IAAI,KAAK,CAAC,YAAY;gBAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YAG/D,IAAI,KAAK,CAAC,eAAe,EAAE,MAAM;gBAAE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;YAChF,IAAI,KAAK,CAAC,aAAa,EAAE,MAAM;gBAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YAC1E,IAAI,KAAK,CAAC,aAAa,EAAE,MAAM;gBAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YAC1E,IAAI,KAAK,CAAC,iBAAiB,EAAE,MAAM;gBAAE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACtF,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC/C,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC/C,IAAI,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAGvC,MAAM,aAAa,GAAG;gBACpB,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC;aAC/B,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,eAAe,EACf,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAC7E,CAAC;YACF,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAe,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErF,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC,CA6C9F"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAe,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErF,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC,CAqD9F"}
@@ -7,6 +7,11 @@ export async function createStoreContext(config) {
7
7
  if (!config.cdnUrl) {
8
8
  throw new StorefrontError('cdnUrl is required', 'cms');
9
9
  }
10
+ if (config.cacheTags !== undefined &&
11
+ typeof config.cacheTags !== 'boolean' &&
12
+ typeof config.cacheTags !== 'function') {
13
+ throw new StorefrontError('cacheTags must be true, false or a resolver function', 'cms');
14
+ }
10
15
  const fetchFn = config.fetch ?? globalThis.fetch;
11
16
  const cdnUrl = config.cdnUrl.replace(/\/+$/, '');
12
17
  const vendureUrl = (config.vendureUrl ?? DEFAULT_VENDURE_URL).replace(/\/+$/, '');
@@ -35,6 +40,7 @@ export async function createStoreContext(config) {
35
40
  attempts: config.retry?.attempts ?? 2,
36
41
  baseDelayMs: config.retry?.baseDelayMs ?? 200,
37
42
  },
43
+ cacheTags: config.cacheTags ?? true,
38
44
  };
39
45
  }
40
46
  async function resolveChannel(cmsUrl, storeCode, fetchFn) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,13 @@
1
1
  import type { StoreContext } from '../types.js';
2
2
  export interface RequestOptions {
3
3
  signal?: AbortSignal;
4
+ cacheTags?: readonly string[];
5
+ cacheTagging?: {
6
+ readonly operation: string;
7
+ readonly tags: readonly string[];
8
+ };
4
9
  }
10
+ export declare function tagRequest(options: RequestOptions | undefined, operation: string, tags?: readonly string[]): RequestOptions;
5
11
  export interface HttpClient {
6
12
  graphql<T = unknown>(query: string, variables?: Record<string, unknown>, options?: RequestOptions): Promise<T>;
7
13
  graphqlUpload<T = unknown>(query: string, variables: Record<string, unknown>, files: Map<string, File>, options?: RequestOptions): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/core/http.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,aAAa,CAAC;AAwCjE,MAAM,WAAW,cAAc;IAE7B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,CAAC,GAAG,OAAO,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,CAAC,GAAG,OAAO,EACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,MAAM,CAAC,CAAC,GAAG,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxF,UAAU,CAAC,CAAC,GAAG,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAwID,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,UAAU,CA8W9D"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/core/http.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,aAAa,CAAC;AAwCjE,MAAM,WAAW,cAAc;IAE7B,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAK9B,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;CACjF;AAGD,wBAAgB,UAAU,CACxB,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,SAAS,MAAM,EAAO,GAC3B,cAAc,CAEhB;AA8BD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,CAAC,GAAG,OAAO,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,aAAa,CAAC,CAAC,GAAG,OAAO,EACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,MAAM,CAAC,CAAC,GAAG,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxF,UAAU,CAAC,CAAC,GAAG,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAwID,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,UAAU,CAmX9D"}
package/dist/core/http.js CHANGED
@@ -21,6 +21,27 @@ async function cmsError(response) {
21
21
  const retryAfterSeconds = typeof body.retry_after_seconds === 'number' ? body.retry_after_seconds : undefined;
22
22
  return new StorefrontError(message, 'cms', response.status, undefined, details, retryAfterSeconds);
23
23
  }
24
+ export function tagRequest(options, operation, tags = []) {
25
+ return { ...options, cacheTagging: { operation, tags } };
26
+ }
27
+ function fetchCacheTags(ctx, options) {
28
+ const setting = ctx.cacheTags ?? true;
29
+ if (setting === false)
30
+ return null;
31
+ const tagging = options?.cacheTagging;
32
+ const extra = options?.cacheTags ?? [];
33
+ if (!tagging && extra.length === 0)
34
+ return null;
35
+ const merged = [...new Set([...(tagging?.tags ?? []), ...extra])];
36
+ const resolved = typeof setting === 'function'
37
+ ? setting(merged, { operation: tagging?.operation ?? 'graphql' })
38
+ : merged;
39
+ if (!Array.isArray(resolved) ||
40
+ !resolved.every((tag) => typeof tag === 'string' && tag.length > 0)) {
41
+ throw new StorefrontError('The cacheTags resolver must return an array of non-empty strings', 'vendure');
42
+ }
43
+ return resolved.length > 0 ? [...resolved] : null;
44
+ }
24
45
  const RETRYABLE_STATUS_CODES = new Set([502, 503, 504]);
25
46
  function isMutation(query) {
26
47
  return /^\s*mutation\b/i.test(query);
@@ -131,12 +152,15 @@ export function createHttpClient(ctx) {
131
152
  const headers = buildVendureHeaders(ctx);
132
153
  const { controller, cleanup } = createLinkedController(options?.signal, REQUEST_TIMEOUT_MS);
133
154
  try {
134
- const response = await ctx.fetch(`${ctx.vendureUrl}${SHOP_API_PATH}`, {
155
+ const tags = fetchCacheTags(ctx, options);
156
+ const init = {
135
157
  method: 'POST',
136
158
  headers,
137
159
  body: JSON.stringify({ query, variables }),
138
160
  signal: controller.signal,
139
- });
161
+ ...(tags ? { next: { tags } } : {}),
162
+ };
163
+ const response = await ctx.fetch(`${ctx.vendureUrl}${SHOP_API_PATH}`, init);
140
164
  if (!response.ok) {
141
165
  throw new StorefrontError(`Vendure Shop API returned ${String(response.status)}: ${response.statusText}`, 'vendure', response.status);
142
166
  }