@jetshop/core 5.8.4 → 5.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. package/ChannelHandler/ChannelHandler.d.ts +9 -13
  2. package/ChannelHandler/ChannelHandler.js +24 -66
  3. package/ChannelHandler/ChannelHandler.js.map +1 -1
  4. package/ChannelHandler/channelUtils.d.ts +13 -0
  5. package/ChannelHandler/channelUtils.js +26 -15
  6. package/ChannelHandler/channelUtils.js.map +1 -1
  7. package/ChannelHandler/redirectUtils.d.ts +3 -0
  8. package/ChannelHandler/redirectUtils.js +48 -0
  9. package/ChannelHandler/redirectUtils.js.map +1 -0
  10. package/ChannelHandler/redirectUtils.test.js +8 -0
  11. package/analytics/AnalyticsProvider.js +9 -2
  12. package/analytics/AnalyticsProvider.js.map +1 -1
  13. package/analytics/integrations/ga4.d.ts +2 -1
  14. package/analytics/integrations/ga4.js +15 -6
  15. package/analytics/integrations/ga4.js.map +1 -1
  16. package/analytics/integrations/gtag/gtag.d.ts +2 -1
  17. package/analytics/integrations/gtag/gtag.js +20 -10
  18. package/analytics/integrations/gtag/gtag.js.map +1 -1
  19. package/analytics/integrations/gtm/index.d.ts +10 -1
  20. package/analytics/integrations/gtm/index.js +175 -2
  21. package/analytics/integrations/gtm/index.js.map +1 -1
  22. package/boot/SharedTree.js +1 -1
  23. package/boot/SharedTree.js.map +1 -1
  24. package/boot/apollo.d.ts +5 -4
  25. package/boot/apollo.js +18 -18
  26. package/boot/apollo.js.map +1 -1
  27. package/boot/client/startClient.js +7 -16
  28. package/boot/client/startClient.js.map +1 -1
  29. package/boot/server/createRenderer.js +8 -7
  30. package/boot/server/createRenderer.js.map +1 -1
  31. package/boot/server/index.js +2 -2
  32. package/boot/server/index.js.map +1 -1
  33. package/boot/server/persistedQueries/__tests__/getPersistedQueriesForRequest.test.js +53 -39
  34. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js +2 -2
  35. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js.map +1 -1
  36. package/cart/useAddToCart.d.ts +2 -2
  37. package/cart/useAddToCart.js +13 -12
  38. package/cart/useAddToCart.js.map +1 -1
  39. package/components/Auth/CustomerUpdateForm.js +7 -7
  40. package/components/Auth/CustomerUpdateForm.js.map +1 -1
  41. package/components/AuthContext/LogOut.d.ts +1 -0
  42. package/components/ChannelContext/ChannelProvider.d.ts +1 -3
  43. package/components/ChannelContext/ChannelProvider.js +6 -13
  44. package/components/ChannelContext/ChannelProvider.js.map +1 -1
  45. package/components/ChannelContext/ChannelProvider.test.js +110 -0
  46. package/components/ConfigProvider.d.ts +1 -0
  47. package/components/ConfigProvider.js.map +1 -1
  48. package/components/DynamicRoute/ContentRoute.d.ts +1 -1
  49. package/components/DynamicRoute/ProductByArticlenumber.d.ts +1 -0
  50. package/components/DynamicRoute/ProductRoute.d.ts +1 -0
  51. package/components/DynamicRoute/ProductRoute.js +4 -2
  52. package/components/DynamicRoute/ProductRoute.js.map +1 -1
  53. package/components/DynamicRoute/RouteResolver.js +1 -1
  54. package/components/DynamicRoute/RouteResolver.js.map +1 -1
  55. package/components/Mutation/AddToCart/addToCartUtils.js +3 -2
  56. package/components/Mutation/AddToCart/addToCartUtils.js.map +1 -1
  57. package/components/Mutation/DecrementQuantity.d.ts +1 -0
  58. package/components/Mutation/IncrementQuantity.d.ts +1 -0
  59. package/components/Mutation/RemoveFromCart.d.ts +2 -1
  60. package/components/Mutation/SetQuantity.d.ts +1 -0
  61. package/components/Mutation/cartMutationUtils.js +7 -6
  62. package/components/Mutation/cartMutationUtils.js.map +1 -1
  63. package/components/OpenGraph/OpenGraph.test.js +32 -5
  64. package/components/OpenGraph/OpenGraphProductData.d.ts +6 -1
  65. package/components/OpenGraph/OpenGraphProductData.js +18 -12
  66. package/components/OpenGraph/OpenGraphProductData.js.map +1 -1
  67. package/components/Query/CartProvider.js +32 -22
  68. package/components/Query/CartProvider.js.map +1 -1
  69. package/components/StructuredData/SiteLinksSearchStructuredData.d.ts +1 -0
  70. package/components/StructuredData/StructuredBreadcrumbData.d.ts +1 -0
  71. package/components/StructuredData/StructuredBreadcrumbData.js +4 -3
  72. package/components/StructuredData/StructuredBreadcrumbData.js.map +1 -1
  73. package/data/fragments/ProductListsFragments.gql +94 -0
  74. package/data/mutations/productListMutations.gql +18 -0
  75. package/data/queries/ProductLists.gql +8 -0
  76. package/dependencies.d.ts +10 -1
  77. package/hooks/ProductList/ProductListContext.js +49 -14
  78. package/hooks/ProductList/ProductListContext.js.map +1 -1
  79. package/hooks/ProductList/ProductLists.gql +0 -0
  80. package/hooks/ProductList/action-creators.d.ts +20 -7
  81. package/hooks/ProductList/action-creators.js +138 -44
  82. package/hooks/ProductList/action-creators.js.map +1 -1
  83. package/hooks/ProductList/index.d.ts +34 -8
  84. package/hooks/ProductList/index.js +19 -0
  85. package/hooks/ProductList/index.js.map +1 -1
  86. package/hooks/ProductList/list-transforms.d.ts +3 -2
  87. package/hooks/ProductList/list-transforms.js +22 -22
  88. package/hooks/ProductList/list-transforms.js.map +1 -1
  89. package/hooks/ProductList/list-transforms.test.js +103 -100
  90. package/hooks/ProductList/product-list-reducer.d.ts +37 -14
  91. package/hooks/ProductList/product-list-reducer.js +106 -43
  92. package/hooks/ProductList/product-list-reducer.js.map +1 -1
  93. package/hooks/ProductList/product-list-reducer.test.js +144 -82
  94. package/hooks/ProductList/useProductList.d.ts +2 -2
  95. package/hooks/ProductList/useProductList.js +12 -5
  96. package/hooks/ProductList/useProductList.js.map +1 -1
  97. package/hooks/ProductList/useProductListItems.d.ts +1 -1
  98. package/hooks/ProductList/useProductListItems.js +8 -6
  99. package/hooks/ProductList/useProductListItems.js.map +1 -1
  100. package/hooks/useInfinitePagination.js +1 -1
  101. package/hooks/useInfinitePagination.js.map +1 -1
  102. package/hooks/useRoutePreload.js +2 -2
  103. package/hooks/useRoutePreload.js.map +1 -1
  104. package/package.json +5 -5
  105. package/resolvers/index.d.ts +3 -0
  106. package/resolvers/index.js +3 -0
  107. package/resolvers/index.js.map +1 -1
  108. package/sentry/client.js +9 -4
  109. package/sentry/client.js.map +1 -1
  110. package/sentry/common.d.ts +1 -0
  111. package/sentry/common.js +5 -0
  112. package/sentry/common.js.map +1 -0
  113. package/sentry/server.js +11 -2
  114. package/sentry/server.js.map +1 -1
  115. package/time.d.ts +1 -0
  116. package/time.js +6 -0
  117. package/time.js.map +1 -0
  118. package/types.d.ts +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jetshop/core",
3
- "version": "5.8.4",
3
+ "version": "5.11.1",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "**/*.js",
@@ -39,9 +39,9 @@
39
39
  "@graphql-tools/wrap": "^7.0.5",
40
40
  "@loadable/component": "^5.11.0",
41
41
  "@loadable/server": "^5.11.0",
42
- "@sentry/browser": "^6.0.0",
43
- "@sentry/core": "^6.0.0",
44
- "@sentry/node": "^6.0.0",
42
+ "@sentry/browser": "^6.15.0",
43
+ "@sentry/core": "^6.15.0",
44
+ "@sentry/node": "^6.15.0",
45
45
  "@tanem/react-nprogress": "^1.1.0",
46
46
  "@types/accept-language-parser": "^1.5.1",
47
47
  "@types/gtag.js": "^0.0.3",
@@ -83,7 +83,7 @@
83
83
  "prop-types": "^15.6.2",
84
84
  "qs": "^6.5.2",
85
85
  "react-apollo": "^3.1.5",
86
- "react-apollo-network-status": "^1.1.0",
86
+ "react-apollo-network-status": "^4.0.0",
87
87
  "react-cookie": "^4.1.1",
88
88
  "react-helmet-async": "^1.0.2",
89
89
  "react-media": "^1.10.0",
@@ -1,4 +1,7 @@
1
1
  export declare const resolvers: (searchParams: string) => {
2
+ Cart: {
3
+ __optimistic: () => boolean;
4
+ };
2
5
  ListFilterItem: {
3
6
  isActive: (parent: any) => any;
4
7
  };
@@ -1,5 +1,8 @@
1
1
  import { boolFilterValue, clearAllFilters, clearListFilter, clearMultiListFilter, clearMultiListFilterList, clearRangeFilter, isListFilterActive, isMultiFilterActive, isMultiFilterListActive, isRangeFilterActive, listFilterHasActiveItems, rangeFilterValue, setBoolFilter, setMultiListFilter, setRangeFilter, toggleListFilterItem, toggleMultiListFilterItem } from './filters';
2
2
  export const resolvers = (searchParams) => ({
3
+ Cart: {
4
+ __optimistic: () => false
5
+ },
3
6
  ListFilterItem: {
4
7
  isActive: (parent) => isListFilterActive(parent)(searchParams)
5
8
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,WAAW,CAAC;AAEnB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC,CAAC;IAClD,cAAc,EAAE;QACd,QAAQ,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;KACpE;IACD,UAAU,EAAE;QACV,cAAc,EAAE,CAAC,MAAW,EAAE,EAAE,CAC9B,wBAAwB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;KACjD;IACD,aAAa,EAAE;QACb,KAAK,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;KAC9D;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;QACpE,KAAK,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;KAC/D;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;KACrE;IACD,mBAAmB,EAAE;QACnB,cAAc,EAAE,CAAC,MAAW,EAAE,EAAE,CAC9B,uBAAuB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;KAChD;IACD,QAAQ,EAAE;QACR,oBAAoB;QACpB,eAAe;QACf,eAAe;QACf,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,wBAAwB;QACxB,oBAAoB;QACpB,kBAAkB;QAClB,yBAAyB;KAC1B;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,WAAW,CAAC;AAEnB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,EAAE;QACJ,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK;KAC1B;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;KACpE;IACD,UAAU,EAAE;QACV,cAAc,EAAE,CAAC,MAAW,EAAE,EAAE,CAC9B,wBAAwB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;KACjD;IACD,aAAa,EAAE;QACb,KAAK,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;KAC9D;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;QACpE,KAAK,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;KAC/D;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;KACrE;IACD,mBAAmB,EAAE;QACnB,cAAc,EAAE,CAAC,MAAW,EAAE,EAAE,CAC9B,uBAAuB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;KAChD;IACD,QAAQ,EAAE;QACR,oBAAoB;QACpB,eAAe;QACf,eAAe;QACf,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,wBAAwB;QACxB,oBAAoB;QACpB,kBAAkB;QAClB,yBAAyB;KAC1B;CACF,CAAC,CAAC"}
package/sentry/client.js CHANGED
@@ -1,23 +1,28 @@
1
1
  import * as Sentry from '@sentry/browser';
2
2
  import { checkSentryDSN } from './utils';
3
+ import { ignoreErrors as commonIgnoreErrors } from './common';
3
4
  export function init(dsn, ignoreErrors = []) {
4
5
  if (checkSentryDSN(dsn)) {
5
6
  Sentry.init({
7
+ release: process.env.CI_COMMIT_SHA || undefined,
6
8
  dsn,
7
9
  ignoreErrors: [
10
+ ...commonIgnoreErrors,
8
11
  'PersistedQueryNotFound',
9
- /^(.*?(\bMissingRoute\b)[^$]*)/g,
10
12
  'PERSISTED_QUERY_NOT_FOUND',
11
13
  'NetworkError when attempting to fetch resource',
12
- /^ChunkLoadError: Loading chunk \d+ failed\.$/,
14
+ /Loading chunk \d+ failed/,
13
15
  // Network errors
14
16
  'TypeError: NetworkError when attempting to fetch resource.',
15
17
  'TypeError: Nätverksanslutningen förlorades.',
16
18
  'TypeError: Netværksforbindelsen gik tabt.',
17
- 'TypeError: Verkkoyhteys katkesi.' // Network connection lost (finnish)
19
+ 'TypeError: Verkkoyhteys katkesi.',
20
+ 'Failed to fetch',
21
+ 'ResizeObserver loop',
22
+ 'Unauthorized'
18
23
  ].concat(ignoreErrors)
19
24
  });
20
- Sentry.configureScope(scope => {
25
+ Sentry.configureScope((scope) => {
21
26
  scope.setTag('BUILD_TARGET', 'client');
22
27
  });
23
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,UAAU,IAAI,CAClB,GAAY,EACZ,eAAoC,EAAE;IAEtC,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC;YACV,GAAG;YACH,YAAY,EAAE;gBACZ,wBAAwB;gBACxB,gCAAgC;gBAChC,2BAA2B;gBAC3B,gDAAgD;gBAChD,8CAA8C;gBAC9C,iBAAiB;gBACjB,4DAA4D;gBAC5D,6CAA6C;gBAC7C,2CAA2C;gBAC3C,kCAAkC,CAAC,oCAAoC;aACxE,CAAC,MAAM,CAAC,YAAY,CAAC;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAC5B,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9D,MAAM,UAAU,IAAI,CAClB,GAAY,EACZ,eAAoC,EAAE;IAEtC,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS;YAC/C,GAAG;YACH,YAAY,EAAE;gBACZ,GAAG,kBAAkB;gBACrB,wBAAwB;gBACxB,2BAA2B;gBAC3B,gDAAgD;gBAChD,0BAA0B;gBAC1B,iBAAiB;gBACjB,4DAA4D;gBAC5D,6CAA6C;gBAC7C,2CAA2C;gBAC3C,kCAAkC;gBAClC,iBAAiB;gBACjB,qBAAqB;gBACrB,cAAc;aACf,CAAC,MAAM,CAAC,YAAY,CAAC;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const ignoreErrors: string[];
@@ -0,0 +1,5 @@
1
+ export const ignoreErrors = [
2
+ 'MissingRoute',
3
+ 'This channel requires you to be logged in'
4
+ ];
5
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["common.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,cAAc;IACd,2CAA2C;CAC5C,CAAC"}
package/sentry/server.js CHANGED
@@ -1,9 +1,18 @@
1
1
  import * as Sentry from '@sentry/node';
2
2
  import { checkSentryDSN } from './utils';
3
+ import { ignoreErrors as commonIgnoreErrors } from './common';
3
4
  export function init(dsn, ignoreErrors = []) {
4
5
  if (checkSentryDSN(dsn)) {
5
- Sentry.init({ dsn, ignoreErrors });
6
- Sentry.configureScope(scope => {
6
+ Sentry.init({
7
+ release: process.env.CI_COMMIT_SHA || undefined,
8
+ dsn,
9
+ ignoreErrors: [
10
+ ...commonIgnoreErrors,
11
+ 'request to https://storeapi.jetshop.io/ failed',
12
+ ...ignoreErrors
13
+ ]
14
+ });
15
+ Sentry.configureScope((scope) => {
7
16
  scope.setTag('BUILD_TARGET', 'server');
8
17
  });
9
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,UAAU,IAAI,CAClB,GAAW,EACX,eAAoC,EAAE;IAEtC,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAC5B,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9D,MAAM,UAAU,IAAI,CAClB,GAAW,EACX,eAAoC,EAAE;IAEtC,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS;YAC/C,GAAG;YACH,YAAY,EAAE;gBACZ,GAAG,kBAAkB;gBACrB,gDAAgD;gBAChD,GAAG,YAAY;aAChB;SACF,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC"}
package/time.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function measure(name: string): void;
package/time.js ADDED
@@ -0,0 +1,6 @@
1
+ const start = +new Date();
2
+ export function measure(name) {
3
+ const now = +new Date();
4
+ console.log('MEASUREMENT:', name, now - start, 'ms');
5
+ }
6
+ //# sourceMappingURL=time.js.map
package/time.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["time.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;AAE1B,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC"}
package/types.d.ts CHANGED
@@ -1635,6 +1635,7 @@ export type Product = Document & {
1635
1635
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1636
1636
  campaigns?: Maybe<Array<Maybe<Category>>>;
1637
1637
  hasVariants: Scalars['Boolean'];
1638
+ hasVariantsWithDifferingPrices: Scalars['Boolean'];
1638
1639
  variants?: Maybe<ProductVariants>;
1639
1640
  images?: Maybe<Array<Maybe<ProductImage>>>;
1640
1641
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */