@jetshop/core 5.13.12-0 → 5.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (559) hide show
  1. package/ChannelHandler/CategoryPathnameRedirectQuery.gql +9 -9
  2. package/ChannelHandler/ChannelHandler.d.ts +52 -50
  3. package/ChannelHandler/ChannelHandler.js +114 -108
  4. package/ChannelHandler/ChannelHandler.js.map +1 -1
  5. package/ChannelHandler/PagePathnameRedirectQuery.gql +9 -9
  6. package/ChannelHandler/PreserveRedirectRouteQuery.gql +19 -19
  7. package/ChannelHandler/ProductPathnameRedirectQuery.gql +9 -9
  8. package/ChannelHandler/StartPagePathnameRedirectQuery.gql +9 -9
  9. package/ChannelHandler/channelUtils.d.ts +72 -68
  10. package/ChannelHandler/channelUtils.js +311 -266
  11. package/ChannelHandler/channelUtils.js.map +1 -1
  12. package/ChannelHandler/redirectUtils.d.ts +4 -4
  13. package/ChannelHandler/redirectUtils.js +49 -49
  14. package/ChannelHandler/redirectUtils.test.js +524 -538
  15. package/ChannelHandler/redirectUtilsGroupedChannels.test.js +784 -0
  16. package/analytics/Analytics.d.ts +18 -18
  17. package/analytics/Analytics.js +56 -56
  18. package/analytics/AnalyticsProvider.d.ts +42 -42
  19. package/analytics/AnalyticsProvider.js +177 -177
  20. package/analytics/AnalyticsProvider.js.map +1 -1
  21. package/analytics/deprecatedTracking.d.ts +17 -17
  22. package/analytics/deprecatedTracking.js +32 -32
  23. package/analytics/integrations/ga4.d.ts +23 -23
  24. package/analytics/integrations/ga4.js +144 -145
  25. package/analytics/integrations/ga4.js.map +1 -1
  26. package/analytics/integrations/gtag/gtag.d.ts +8 -8
  27. package/analytics/integrations/gtag/gtag.js +180 -180
  28. package/analytics/integrations/gtag/index.d.ts +1 -1
  29. package/analytics/integrations/gtag/index.js +1 -1
  30. package/analytics/integrations/gtm/index.d.ts +12 -12
  31. package/analytics/integrations/gtm/index.js +200 -200
  32. package/analytics/integrations/gtm/referrerModifier.d.ts +1 -1
  33. package/analytics/integrations/gtm/referrerModifier.js +61 -61
  34. package/analytics/integrations/releware/index.d.ts +3 -3
  35. package/analytics/integrations/releware/index.js +38 -38
  36. package/analytics/integrations/unslugify.d.ts +1 -1
  37. package/analytics/integrations/unslugify.js +15 -17
  38. package/analytics/integrations/unslugify.js.map +1 -1
  39. package/analytics/trackerRegistry.d.ts +101 -101
  40. package/analytics/trackerRegistry.js +219 -219
  41. package/analytics/trackerRegistry.test.js +160 -160
  42. package/analytics/tracking.d.ts +14 -14
  43. package/analytics/tracking.js +71 -71
  44. package/analytics/utils/breadcrumbsWithoutProduct.d.ts +1 -1
  45. package/analytics/utils/breadcrumbsWithoutProduct.js +8 -8
  46. package/analytics/utils/script.d.ts +8 -8
  47. package/analytics/utils/script.js +39 -39
  48. package/analytics/webVitals.d.ts +5 -5
  49. package/analytics/webVitals.js +38 -38
  50. package/boot/AuthHandler.d.ts +14 -14
  51. package/boot/AuthHandler.js +38 -38
  52. package/boot/ChannelsQuery.gql +7 -7
  53. package/boot/PreviewHandler.d.ts +7 -7
  54. package/boot/PreviewHandler.js +13 -13
  55. package/boot/SharedTree.d.ts +25 -25
  56. package/boot/SharedTree.js +28 -28
  57. package/boot/addMissingConfig.d.ts +5 -5
  58. package/boot/addMissingConfig.js +33 -33
  59. package/boot/apollo.d.ts +21 -21
  60. package/boot/apollo.js +197 -197
  61. package/boot/client/entrypoint.d.ts +1 -1
  62. package/boot/client/entrypoint.js +4 -4
  63. package/boot/client/index.d.ts +1 -1
  64. package/boot/client/index.js +1 -1
  65. package/boot/client/startClient.d.ts +4 -4
  66. package/boot/client/startClient.js +142 -142
  67. package/boot/client-schema.gql +59 -59
  68. package/boot/server/IntervalQuery.d.ts +32 -32
  69. package/boot/server/IntervalQuery.js +94 -94
  70. package/boot/server/IntervalQuery.test.js +280 -280
  71. package/boot/server/PersistedApolloClient.d.ts +20 -20
  72. package/boot/server/PersistedApolloClient.js +39 -39
  73. package/boot/server/PersistedApolloClient.test.js +233 -233
  74. package/boot/server/asyncErrorHandler.d.ts +3 -3
  75. package/boot/server/asyncErrorHandler.js +4 -4
  76. package/boot/server/breakpointMiddleware.d.ts +3 -3
  77. package/boot/server/breakpointMiddleware.js +9 -9
  78. package/boot/server/createApolloServer.d.ts +28 -28
  79. package/boot/server/createApolloServer.js +143 -143
  80. package/boot/server/createApolloServer.test.js +114 -114
  81. package/boot/server/createDevServer.d.ts +14 -14
  82. package/boot/server/createDevServer.js +29 -29
  83. package/boot/server/createRenderer.d.ts +28 -28
  84. package/boot/server/createRenderer.js +235 -235
  85. package/boot/server/createServer.d.ts +14 -14
  86. package/boot/server/createServer.js +41 -41
  87. package/boot/server/entrypoint.d.ts +1 -1
  88. package/boot/server/entrypoint.js +35 -35
  89. package/boot/server/getPrefetchFiles.d.ts +10 -10
  90. package/boot/server/getPrefetchFiles.js +19 -19
  91. package/boot/server/getPreloadAssets.d.ts +10 -10
  92. package/boot/server/getPreloadAssets.js +17 -17
  93. package/boot/server/getPreloadAssets.test.js +133 -133
  94. package/boot/server/index.d.ts +9 -9
  95. package/boot/server/index.js +122 -122
  96. package/boot/server/listen.d.ts +13 -13
  97. package/boot/server/listen.js +16 -16
  98. package/boot/server/overwriteServerIntl.js +1 -1
  99. package/boot/server/persistedQueries/PersistedClient.d.ts +22 -22
  100. package/boot/server/persistedQueries/PersistedClient.js +57 -57
  101. package/boot/server/persistedQueries/__tests__/getPersistedQueriesForRequest.test.js +201 -201
  102. package/boot/server/persistedQueries/__tests__/mockQuery.gql +6 -6
  103. package/boot/server/persistedQueries/getPersistedQueriesForRequest.d.ts +3 -3
  104. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js +26 -26
  105. package/boot/server/saleSource.test.js +39 -39
  106. package/boot/server/salesSource.d.ts +8 -8
  107. package/boot/server/salesSource.js +15 -15
  108. package/boot/utils/__tests__/uid.js +47 -47
  109. package/boot/utils/createIntOptions.d.ts +6 -6
  110. package/boot/utils/createIntOptions.js +18 -18
  111. package/boot/utils/queryLoggingMiddleware.d.ts +2 -2
  112. package/boot/utils/queryLoggingMiddleware.js +14 -14
  113. package/boot/utils/uid.d.ts +3 -3
  114. package/boot/utils/uid.js +19 -19
  115. package/cart/AddToCartFormik.d.ts +42 -42
  116. package/cart/AddToCartFormik.js +76 -76
  117. package/cart/useAddToCart.d.ts +88 -88
  118. package/cart/useAddToCart.js +117 -117
  119. package/ci/.gitlab-ci.yml +3 -3
  120. package/components/Auth/CustomerUpdateForm.d.ts +32 -32
  121. package/components/Auth/CustomerUpdateForm.js +121 -121
  122. package/components/Auth/ForgotPasswordProvider.d.ts +71 -71
  123. package/components/Auth/ForgotPasswordProvider.js +56 -56
  124. package/components/Auth/ResetPasswordProvider.d.ts +88 -88
  125. package/components/Auth/ResetPasswordProvider.js +77 -77
  126. package/components/Auth/SSN.d.ts +12 -12
  127. package/components/Auth/SSN.js +34 -34
  128. package/components/Auth/SSNLookupContainer.d.ts +15 -15
  129. package/components/Auth/SSNLookupContainer.js +19 -19
  130. package/components/Auth/SignupFormContainer.d.ts +19 -19
  131. package/components/Auth/SignupFormContainer.js +81 -81
  132. package/components/Auth/UpdatePasswordForm.d.ts +44 -44
  133. package/components/Auth/UpdatePasswordForm.js +97 -97
  134. package/components/Auth/formFieldsFromSettings.d.ts +65 -65
  135. package/components/Auth/formFieldsFromSettings.js +76 -76
  136. package/components/Auth/formFieldsFromSettings.js.map +1 -1
  137. package/components/Auth/formatSignupInput.d.ts +8 -8
  138. package/components/Auth/formatSignupInput.js +42 -42
  139. package/components/Auth/signup-context.d.ts +36 -36
  140. package/components/Auth/signup-context.js +71 -71
  141. package/components/Auth/signup-field-translations.d.ts +3 -3
  142. package/components/Auth/signup-field-translations.js +43 -43
  143. package/components/Auth/signupSubmit.d.ts +6 -6
  144. package/components/Auth/signupSubmit.js +56 -56
  145. package/components/Auth/useAddressFields.d.ts +22 -22
  146. package/components/Auth/useAddressFields.js +32 -32
  147. package/components/Auth/useAddressFields.test.js +294 -294
  148. package/components/Auth/useCustomer.d.ts +116 -70
  149. package/components/Auth/useCustomer.js +188 -167
  150. package/components/Auth/useCustomer.js.map +1 -1
  151. package/components/Auth/useLoginFields.d.ts +20 -20
  152. package/components/Auth/useLoginFields.js +20 -20
  153. package/components/Auth/useSignupForm.d.ts +7 -7
  154. package/components/Auth/useSignupForm.js +14 -14
  155. package/components/AuthContext/AuthContext.d.ts +8 -8
  156. package/components/AuthContext/AuthContext.js +8 -8
  157. package/components/AuthContext/AuthProvider.d.ts +6 -6
  158. package/components/AuthContext/AuthProvider.js +84 -84
  159. package/components/AuthContext/AuthProvider.js.map +1 -1
  160. package/components/AuthContext/AuthProvider.test.js +66 -66
  161. package/components/AuthContext/LogOut.d.ts +5 -5
  162. package/components/AuthContext/LogOut.js +14 -14
  163. package/components/AuthContext/googleUserIdQuery.gql +6 -6
  164. package/components/AuthContext/useAuth.d.ts +6 -6
  165. package/components/AuthContext/useAuth.js +20 -20
  166. package/components/BreakpointProvider.d.ts +21 -21
  167. package/components/BreakpointProvider.js +23 -23
  168. package/components/Cart/CartIdContext.d.ts +11 -11
  169. package/components/Cart/CartIdContext.js +60 -60
  170. package/components/Cart/CartIdContext.test.js +87 -87
  171. package/components/ChannelContext/ChannelContext.d.ts +21 -20
  172. package/components/ChannelContext/ChannelContext.js +3 -3
  173. package/components/ChannelContext/ChannelContext.js.map +1 -1
  174. package/components/ChannelContext/ChannelProvider.d.ts +10 -10
  175. package/components/ChannelContext/ChannelProvider.js +44 -42
  176. package/components/ChannelContext/ChannelProvider.js.map +1 -1
  177. package/components/ChannelContext/ChannelProvider.test.js +112 -112
  178. package/components/ChannelContext/CountrySettingsQuery.gql +34 -34
  179. package/components/ChannelContext/index.d.ts +2 -2
  180. package/components/ChannelContext/index.js +2 -2
  181. package/components/ChannelContext/useCountrySettings.d.ts +8 -8
  182. package/components/ChannelContext/useCountrySettings.js +23 -23
  183. package/components/ChannelContext/useCountrySettings.js.map +1 -1
  184. package/components/ConfigProvider.d.ts +107 -108
  185. package/components/ConfigProvider.js +19 -19
  186. package/components/ConfigProvider.js.map +1 -1
  187. package/components/DynamicRoute/ActiveFiltersQuery.gql +21 -21
  188. package/components/DynamicRoute/CategoryRoute.d.ts +13 -13
  189. package/components/DynamicRoute/CategoryRoute.js +55 -55
  190. package/components/DynamicRoute/ContentRoute.d.ts +14 -14
  191. package/components/DynamicRoute/ContentRoute.js +27 -27
  192. package/components/DynamicRoute/PreviewRoute.d.ts +17 -17
  193. package/components/DynamicRoute/PreviewRoute.js +57 -57
  194. package/components/DynamicRoute/ProductByArticlenumber.d.ts +5 -5
  195. package/components/DynamicRoute/ProductByArticlenumber.gql +16 -16
  196. package/components/DynamicRoute/ProductByArticlenumber.js +21 -21
  197. package/components/DynamicRoute/ProductRoute.d.ts +15 -15
  198. package/components/DynamicRoute/ProductRoute.js +57 -57
  199. package/components/DynamicRoute/RouteResolver.d.ts +22 -22
  200. package/components/DynamicRoute/RouteResolver.js +64 -64
  201. package/components/DynamicRoute/Status.d.ts +14 -14
  202. package/components/DynamicRoute/Status.js +19 -19
  203. package/components/DynamicRoute/index.d.ts +17 -17
  204. package/components/DynamicRoute/index.js +95 -95
  205. package/components/Filters/index.d.ts +1 -1
  206. package/components/Filters/index.js +1 -1
  207. package/components/Filters/toggleActiveListItem.gql +15 -15
  208. package/components/Filters/utils/replaceInSearch.d.ts +14 -14
  209. package/components/Filters/utils/replaceInSearch.js +22 -22
  210. package/components/Filters/utils/replaceInSearch.test.js +184 -184
  211. package/components/Filters/utils/updateHistory.d.ts +25 -25
  212. package/components/Filters/utils/updateHistory.js +29 -29
  213. package/components/Filters/utils/updateHistory.test.js +102 -102
  214. package/components/Fonts/CustomFont.d.ts +14 -14
  215. package/components/Fonts/CustomFont.js +16 -16
  216. package/components/Fonts/GoogleFont.d.ts +10 -10
  217. package/components/Fonts/GoogleFont.js +34 -34
  218. package/components/Fonts/TypekitFont.d.ts +16 -16
  219. package/components/Fonts/TypekitFont.js +24 -24
  220. package/components/Fonts/injectFont.d.ts +11 -11
  221. package/components/Fonts/injectFont.js +29 -29
  222. package/components/Head.d.ts +11 -11
  223. package/components/Head.js +79 -74
  224. package/components/Head.js.map +1 -1
  225. package/components/Mutation/AddToCart/addToCartUtils.d.ts +18 -18
  226. package/components/Mutation/AddToCart/addToCartUtils.js +51 -51
  227. package/components/Mutation/AddToCartFormik.d.ts +53 -53
  228. package/components/Mutation/AddToCartFormik.js +171 -171
  229. package/components/Mutation/DecrementQuantity.d.ts +4 -4
  230. package/components/Mutation/DecrementQuantity.js +34 -34
  231. package/components/Mutation/IncrementQuantity.d.ts +4 -4
  232. package/components/Mutation/IncrementQuantity.js +34 -34
  233. package/components/Mutation/RemoveFromCart.d.ts +5 -5
  234. package/components/Mutation/RemoveFromCart.js +51 -51
  235. package/components/Mutation/SetQuantity.d.ts +4 -4
  236. package/components/Mutation/SetQuantity.js +36 -36
  237. package/components/Mutation/SubscribeToNewsletter.d.ts +4 -4
  238. package/components/Mutation/SubscribeToNewsletter.js +29 -29
  239. package/components/Mutation/SubscribeToStockNotifications.d.ts +4 -4
  240. package/components/Mutation/SubscribeToStockNotifications.js +30 -30
  241. package/components/Mutation/cartMutationUtils.d.ts +28 -28
  242. package/components/Mutation/cartMutationUtils.js +108 -108
  243. package/components/Mutation/cartMutationUtils.spec.js +142 -142
  244. package/components/Mutation/useDecrementQuantity.d.ts +11 -11
  245. package/components/Mutation/useDecrementQuantity.js +53 -53
  246. package/components/Mutation/useIncrementQuantity.d.ts +11 -11
  247. package/components/Mutation/useIncrementQuantity.js +53 -53
  248. package/components/Mutation/useRemoveFromCart.d.ts +13 -13
  249. package/components/Mutation/useRemoveFromCart.js +49 -49
  250. package/components/Mutation/useSetQuantity.d.ts +12 -12
  251. package/components/Mutation/useSetQuantity.js +37 -37
  252. package/components/Notifications/Notifications.d.ts +15 -15
  253. package/components/Notifications/Notifications.js +26 -26
  254. package/components/Notifications/index.d.ts +2 -2
  255. package/components/Notifications/index.js +2 -2
  256. package/components/Notifications/notificationMachine.d.ts +30 -30
  257. package/components/Notifications/notificationMachine.js +73 -73
  258. package/components/Notifications/notificationsMachine.d.ts +37 -37
  259. package/components/Notifications/notificationsMachine.js +65 -65
  260. package/components/Notifications/useNotification.d.ts +9 -9
  261. package/components/Notifications/useNotification.js +26 -26
  262. package/components/OpenGraph/OpenGraph.test.js +180 -180
  263. package/components/OpenGraph/OpenGraphGeneralPageData.d.ts +25 -25
  264. package/components/OpenGraph/OpenGraphGeneralPageData.js +36 -36
  265. package/components/OpenGraph/OpenGraphGeneralPageData.js.map +1 -1
  266. package/components/OpenGraph/OpenGraphProductData.d.ts +25 -25
  267. package/components/OpenGraph/OpenGraphProductData.js +48 -48
  268. package/components/OpenGraph/OpenGraphProductData.js.map +1 -1
  269. package/components/OpenGraph/index.d.ts +2 -2
  270. package/components/OpenGraph/index.js +2 -2
  271. package/components/Pagination/PaginationContainer.d.ts +2 -2
  272. package/components/Pagination/PaginationContainer.js +4 -4
  273. package/components/Pagination/PaginationContext.d.ts +14 -14
  274. package/components/Pagination/PaginationContext.js +3 -3
  275. package/components/Pagination/PaginationProvider.d.ts +19 -19
  276. package/components/Pagination/PaginationProvider.js +94 -94
  277. package/components/Pagination/PaginationProvider.test.js +282 -282
  278. package/components/PreviewContext.d.ts +10 -10
  279. package/components/PreviewContext.js +26 -26
  280. package/components/ProductConfigurationProvider/ConfigPrice.gql +22 -22
  281. package/components/ProductConfigurationProvider/ProductConfigurationContext.d.ts +13 -13
  282. package/components/ProductConfigurationProvider/ProductConfigurationContext.js +4 -4
  283. package/components/ProductConfigurationProvider/ProductConfigurationProvider.d.ts +6 -6
  284. package/components/ProductConfigurationProvider/ProductConfigurationProvider.js +49 -49
  285. package/components/Query/CartProvider.d.ts +22 -22
  286. package/components/Query/CartProvider.js +67 -67
  287. package/components/SortOrder/SortOrderContainer.d.ts +40 -40
  288. package/components/SortOrder/SortOrderContainer.js +101 -101
  289. package/components/SortOrder/SortOrderContext.d.ts +9 -9
  290. package/components/SortOrder/SortOrderContext.js +8 -8
  291. package/components/StructuredData/SiteLinksSearchStructuredData.d.ts +3 -3
  292. package/components/StructuredData/SiteLinksSearchStructuredData.js +24 -24
  293. package/components/StructuredData/StructuredBreadcrumbData.d.ts +12 -12
  294. package/components/StructuredData/StructuredBreadcrumbData.js +54 -54
  295. package/components/StructuredData/StructuredCategoryData.d.ts +16 -16
  296. package/components/StructuredData/StructuredCategoryData.js +17 -17
  297. package/components/StructuredData/StructuredData.d.ts +9 -9
  298. package/components/StructuredData/StructuredData.js +6 -6
  299. package/components/StructuredData/StructuredPageData.d.ts +16 -16
  300. package/components/StructuredData/StructuredPageData.js +16 -16
  301. package/components/StructuredData/StructuredProductData.d.ts +18 -18
  302. package/components/StructuredData/StructuredProductData.js +42 -42
  303. package/components/StructuredData/StructuredProductData.test.js +130 -130
  304. package/components/StructuredData/index.d.ts +5 -5
  305. package/components/StructuredData/index.js +5 -5
  306. package/data/cache.d.ts +3 -3
  307. package/data/cache.js +20 -20
  308. package/data/fragmentTypes.d.ts +8 -8
  309. package/data/fragmentTypes.js +83 -83
  310. package/data/fragments/BadgeFragment.gql +7 -7
  311. package/data/fragments/CartCoreFragment.gql +89 -89
  312. package/data/fragments/ChannelsFragment.gql +59 -58
  313. package/data/fragments/CommentsFragment.gql +6 -6
  314. package/data/fragments/HeadFragment.gql +9 -9
  315. package/data/fragments/PriceFragment.gql +5 -5
  316. package/data/fragments/ProductCampaignFragment.gql +10 -10
  317. package/data/fragments/ProductConfigurationsFragment.gql +24 -24
  318. package/data/fragments/ProductListsFragments.gql +94 -94
  319. package/data/fragments/ProductMetadataFragment.gql +20 -20
  320. package/data/fragments/ProductPriceFragment.gql +10 -10
  321. package/data/fragments/ProductVariantPriceFragment.gql +10 -10
  322. package/data/fragments/RouteCrumbFragment.gql +20 -20
  323. package/data/fragments/RouteMetaFragment.gql +18 -18
  324. package/data/fragments/StockStatusFragment.gql +7 -7
  325. package/data/fragments/index.d.ts +1 -1
  326. package/data/fragments/index.js +1 -1
  327. package/data/mutations/accountMutations.gql +28 -28
  328. package/data/mutations/cartMutations.gql +41 -41
  329. package/data/mutations/productListMutations.gql +18 -18
  330. package/data/mutations/signup.gql +7 -7
  331. package/data/mutations/subscribeToNewsletter.gql +3 -3
  332. package/data/mutations/subscribeToStockNotifications.gql +6 -6
  333. package/data/mutations/updateCustomer.gql +5 -5
  334. package/data/mutations/updatePassword.gql +5 -5
  335. package/data/queries/CartMutationQuery.gql +36 -36
  336. package/data/queries/CartQuery.gql +7 -7
  337. package/data/queries/GetCustomerCountryCode.gql +9 -9
  338. package/data/queries/PersonLookupQuery.gql +28 -28
  339. package/data/queries/ProductLists.gql +8 -8
  340. package/dependencies.d.ts +104 -104
  341. package/errorReporting.browser.d.ts +3 -3
  342. package/errorReporting.browser.js +11 -11
  343. package/errorReporting.d.ts +3 -3
  344. package/errorReporting.js +19 -19
  345. package/errorReporting.server.d.ts +3 -3
  346. package/errorReporting.server.js +11 -11
  347. package/errorReporting.shared.d.ts +5 -5
  348. package/errorReporting.shared.js +16 -16
  349. package/experiments/ExperimentsProvider.d.ts +4 -4
  350. package/experiments/ExperimentsProvider.js +28 -28
  351. package/experiments/ExperimentsProvider.test.js +105 -105
  352. package/experiments/integration.test.js +76 -76
  353. package/experiments/selectExperimentVariant.d.ts +3 -3
  354. package/experiments/selectExperimentVariant.js +34 -34
  355. package/experiments/selectExperimentVariant.test.js +64 -64
  356. package/experiments/useExperiment.d.ts +2 -2
  357. package/experiments/useExperiment.js +10 -10
  358. package/experiments/useExperiment.test.js +100 -100
  359. package/global.d.ts +2 -1
  360. package/helpers/decodeUrlQuery.d.ts +9 -9
  361. package/helpers/decodeUrlQuery.js +26 -26
  362. package/helpers/decodeUrlQuery.test.js +54 -54
  363. package/helpers/distance.d.ts +7 -7
  364. package/helpers/distance.js +12 -12
  365. package/helpers/encodeVariant.d.ts +3 -3
  366. package/helpers/encodeVariant.js +24 -24
  367. package/helpers/getBreakpointsFromValues.d.ts +6 -6
  368. package/helpers/getBreakpointsFromValues.js +14 -14
  369. package/helpers/getBreakpointsFromValues.test.js +47 -47
  370. package/helpers/getCartItemVariant.d.ts +7 -7
  371. package/helpers/getCartItemVariant.js +8 -8
  372. package/helpers/getErrorDetail.d.ts +7 -7
  373. package/helpers/getErrorDetail.js +11 -11
  374. package/helpers/getErrorDetail.test.js +44 -44
  375. package/helpers/getHeaders.d.ts +6 -6
  376. package/helpers/getHeaders.js +3 -3
  377. package/helpers/isRelativeUrl.d.ts +1 -1
  378. package/helpers/isRelativeUrl.js +3 -3
  379. package/helpers/logError.d.ts +1 -1
  380. package/helpers/logError.js +16 -16
  381. package/helpers/logWarningInDev.d.ts +1 -1
  382. package/helpers/logWarningInDev.js +6 -6
  383. package/helpers/throwErrorInDev.d.ts +6 -6
  384. package/helpers/throwErrorInDev.js +14 -14
  385. package/helpers/uniqueId.d.ts +5 -5
  386. package/helpers/uniqueId.js +9 -9
  387. package/hooks/CartCheckoutQuery.gql +5 -5
  388. package/hooks/Channels/useChannelSettings.d.ts +7 -7
  389. package/hooks/Channels/useChannelSettings.js +11 -11
  390. package/hooks/Channels/useChannelSettings.js.map +1 -1
  391. package/hooks/Channels/useChannelSettings.test.js +51 -51
  392. package/hooks/Filters/useBooleanFilter.d.ts +8 -8
  393. package/hooks/Filters/useBooleanFilter.js +20 -20
  394. package/hooks/Filters/useFilters.d.ts +3 -3
  395. package/hooks/Filters/useFilters.js +15 -15
  396. package/hooks/Filters/useListFilter.d.ts +10 -10
  397. package/hooks/Filters/useListFilter.js +37 -37
  398. package/hooks/Filters/useMultiFilter.d.ts +13 -13
  399. package/hooks/Filters/useMultiFilter.js +49 -49
  400. package/hooks/Filters/useRangeFilter.d.ts +10 -10
  401. package/hooks/Filters/useRangeFilter.js +35 -35
  402. package/hooks/Filters/useSortOrder.d.ts +11 -11
  403. package/hooks/Filters/useSortOrder.js +21 -21
  404. package/hooks/FreeShippingQuery.gql +16 -16
  405. package/hooks/PackageProducts/index.d.ts +2 -2
  406. package/hooks/PackageProducts/index.js +2 -2
  407. package/hooks/PackageProducts/packagePriceQuery.gql +29 -29
  408. package/hooks/PackageProducts/usePackageProductItem.d.ts +17 -17
  409. package/hooks/PackageProducts/usePackageProductItem.js +26 -26
  410. package/hooks/PackageProducts/usePackageProducts.d.ts +19 -19
  411. package/hooks/PackageProducts/usePackageProducts.js +345 -345
  412. package/hooks/PackageProducts/usePackageProducts.test.js +383 -383
  413. package/hooks/Product/index.d.ts +1 -1
  414. package/hooks/Product/index.js +1 -1
  415. package/hooks/Product/useStockStatus.d.ts +9 -9
  416. package/hooks/Product/useStockStatus.js +25 -25
  417. package/hooks/Product/useSwitchToVariantImage.d.ts +9 -9
  418. package/hooks/Product/useSwitchToVariantImage.js +20 -20
  419. package/hooks/ProductList/ProductListContext.d.ts +7 -7
  420. package/hooks/ProductList/ProductListContext.js +110 -110
  421. package/hooks/ProductList/action-creators.d.ts +46 -46
  422. package/hooks/ProductList/action-creators.js +296 -296
  423. package/hooks/ProductList/index.d.ts +118 -118
  424. package/hooks/ProductList/index.js +21 -21
  425. package/hooks/ProductList/list-transforms.d.ts +73 -73
  426. package/hooks/ProductList/list-transforms.js +106 -106
  427. package/hooks/ProductList/list-transforms.test.js +489 -489
  428. package/hooks/ProductList/product-list-reducer.d.ts +76 -76
  429. package/hooks/ProductList/product-list-reducer.js +197 -197
  430. package/hooks/ProductList/product-list-reducer.test.js +464 -464
  431. package/hooks/ProductList/useProductList.d.ts +13 -13
  432. package/hooks/ProductList/useProductList.js +93 -93
  433. package/hooks/ProductList/useProductListItems.d.ts +10 -10
  434. package/hooks/ProductList/useProductListItems.js +48 -48
  435. package/hooks/ProductList/validate-product.d.ts +6 -6
  436. package/hooks/ProductList/validate-product.js +40 -40
  437. package/hooks/Subscriptions/useNewsletterSubscription.d.ts +38 -38
  438. package/hooks/Subscriptions/useNewsletterSubscription.js +41 -41
  439. package/hooks/Subscriptions/useStockNotifications.d.ts +36 -36
  440. package/hooks/Subscriptions/useStockNotifications.js +37 -37
  441. package/hooks/Subscriptions/useStoreSubscriptions.d.ts +48 -48
  442. package/hooks/Subscriptions/useStoreSubscriptions.js +150 -150
  443. package/hooks/Subscriptions/useStoresubscriptions.test.js +179 -179
  444. package/hooks/useAddMultipleToCart.d.ts +27 -27
  445. package/hooks/useAddMultipleToCart.js +113 -113
  446. package/hooks/useAddMultipleToCart.test.js +181 -181
  447. package/hooks/useChannelBanner.js +22 -22
  448. package/hooks/useChannelBanner.test.js +77 -77
  449. package/hooks/useCustomerOrders.test.js +176 -176
  450. package/hooks/useCustomerOrdersQuery.d.ts +21 -21
  451. package/hooks/useCustomerOrdersQuery.js +20 -20
  452. package/hooks/useDeleteAccountMutation.d.ts +15 -15
  453. package/hooks/useDeleteAccountMutation.js +38 -38
  454. package/hooks/useDynamicPrice.d.ts +3 -3
  455. package/hooks/useDynamicPrice.js +24 -24
  456. package/hooks/useFreeShippingCheck.d.ts +15 -15
  457. package/hooks/useFreeShippingCheck.js +30 -30
  458. package/hooks/useGeolocation.d.ts +11 -11
  459. package/hooks/useGeolocation.js +33 -33
  460. package/hooks/useInfinitePagination.d.ts +37 -37
  461. package/hooks/useInfinitePagination.js +138 -138
  462. package/hooks/useLogError.d.ts +1 -1
  463. package/hooks/useLogError.js +7 -7
  464. package/hooks/useLoginMutation.d.ts +12 -12
  465. package/hooks/useLoginMutation.js +14 -14
  466. package/hooks/useLoginRedirect.d.ts +4 -4
  467. package/hooks/useLoginRedirect.js +36 -36
  468. package/hooks/useOrderDetailQuery.d.ts +20 -20
  469. package/hooks/useOrderDetailQuery.js +28 -28
  470. package/hooks/usePreconnectLinks.d.ts +10 -10
  471. package/hooks/usePreconnectLinks.js +29 -29
  472. package/hooks/usePreconnectLinks.test.js +95 -95
  473. package/hooks/usePrice.d.ts +39 -39
  474. package/hooks/usePrice.js +71 -71
  475. package/hooks/usePrice.test.js +171 -171
  476. package/hooks/useProductVariants/index.d.ts +1 -1
  477. package/hooks/useProductVariants/index.js +1 -1
  478. package/hooks/useProductVariants/useProductVariants.d.ts +19 -19
  479. package/hooks/useProductVariants/useProductVariants.js +202 -202
  480. package/hooks/useProductVariants/useProductVariants.test.js +415 -415
  481. package/hooks/useProductVariants/useVariantFromUrl.d.ts +5 -5
  482. package/hooks/useProductVariants/useVariantFromUrl.js +15 -15
  483. package/hooks/useProductVariants/useVariantFromUrl.test.js +79 -79
  484. package/hooks/useRoutePreload.d.ts +24 -24
  485. package/hooks/useRoutePreload.js +39 -39
  486. package/hooks/useShopConfig.d.ts +1 -1
  487. package/hooks/useShopConfig.js +10 -10
  488. package/hooks/useShopConfig.js.map +1 -1
  489. package/hooks/useThrowErrorInDev.d.ts +1 -1
  490. package/hooks/useThrowErrorInDev.js +7 -7
  491. package/hooks/useThunkReducer.d.ts +7 -7
  492. package/hooks/useThunkReducer.js +23 -23
  493. package/hooks/useWarningInDev.d.ts +1 -1
  494. package/hooks/useWarningInDev.js +9 -9
  495. package/inServer.d.ts +1 -1
  496. package/inServer.js +2 -2
  497. package/index.d.ts +1 -1
  498. package/index.js +1 -1
  499. package/integrations/addwishSchemaExtension.d.ts +35 -35
  500. package/integrations/addwishSchemaExtension.js +140 -140
  501. package/integrations/nostoSchemaExtension.d.ts +5 -5
  502. package/integrations/nostoSchemaExtension.js +76 -76
  503. package/integrations/sluggishSchemaExtension.d.ts +2 -2
  504. package/integrations/sluggishSchemaExtension.js +26 -26
  505. package/package.json +2 -2
  506. package/polyfills.d.ts +1 -1
  507. package/polyfills.js +37 -37
  508. package/registerServiceWorker.js +110 -110
  509. package/resolvers/filters/boolFilter.d.ts +3 -3
  510. package/resolvers/filters/boolFilter.js +84 -84
  511. package/resolvers/filters/defaultActiveFilters.d.ts +3 -3
  512. package/resolvers/filters/defaultActiveFilters.js +8 -8
  513. package/resolvers/filters/filterParams.d.ts +3 -3
  514. package/resolvers/filters/filterParams.js +84 -84
  515. package/resolvers/filters/filters.d.ts +5 -5
  516. package/resolvers/filters/filters.js +78 -78
  517. package/resolvers/filters/index.d.ts +27 -27
  518. package/resolvers/filters/index.js +7 -7
  519. package/resolvers/filters/listFilter.d.ts +7 -7
  520. package/resolvers/filters/listFilter.js +73 -73
  521. package/resolvers/filters/listFilterItem.d.ts +3 -3
  522. package/resolvers/filters/listFilterItem.js +122 -122
  523. package/resolvers/filters/multiListFilter.d.ts +5 -5
  524. package/resolvers/filters/multiListFilter.js +195 -195
  525. package/resolvers/filters/multiListFilterList.d.ts +3 -3
  526. package/resolvers/filters/multiListFilterList.js +55 -55
  527. package/resolvers/filters/rangeFilter.d.ts +5 -5
  528. package/resolvers/filters/rangeFilter.js +137 -137
  529. package/resolvers/filters/updateQueryString.d.ts +12 -12
  530. package/resolvers/filters/updateQueryString.js +116 -116
  531. package/resolvers/index.d.ts +37 -37
  532. package/resolvers/index.js +37 -37
  533. package/scripts/dev-apolloServer.js +31 -31
  534. package/sentry/client.d.ts +1 -1
  535. package/sentry/client.js +29 -29
  536. package/sentry/common.d.ts +1 -1
  537. package/sentry/common.js +4 -4
  538. package/sentry/server.d.ts +1 -1
  539. package/sentry/server.js +19 -19
  540. package/sentry/utils.d.ts +1 -1
  541. package/sentry/utils.js +1 -1
  542. package/server/graphql.d.ts +20 -20
  543. package/server/graphql.js +118 -118
  544. package/server/graphql.test.js +123 -123
  545. package/server/index.d.ts +2 -2
  546. package/server/index.js +2 -2
  547. package/server/tracking/facebook.d.ts +5 -5
  548. package/server/tracking/facebook.js +132 -132
  549. package/server/tracking/middleware.d.ts +8 -8
  550. package/server/tracking/middleware.js +14 -14
  551. package/server/tracking/types.d.ts +33 -33
  552. package/setupTests.js +2 -2
  553. package/test-utils/ProviderPyramid.js +45 -45
  554. package/test-utils/mockShopConfig.js +26 -26
  555. package/test-utils/mockedProduct.js +253 -253
  556. package/test-utils/renderWithRouter.js +20 -20
  557. package/test-utils/variables.js +2476 -1231
  558. package/time.d.ts +1 -1
  559. package/time.js +5 -5
@@ -1,141 +1,141 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { print } from 'graphql';
11
- import gql from 'graphql-tag';
12
- import fetch from 'node-fetch';
13
- import qs from 'qs';
14
- const typeDefs = gql `
15
- type GetAddwishProductsResponse {
16
- # Addwish Box ID
17
- id: String!
18
- products: [Product!]
19
- errorCode: String
20
- countAfterSource: String
21
- }
22
- extend type Query {
23
- getAddwishProducts(
24
- # Recommendation box ID
25
- id: String!
26
- # This url specifies the product you want to find relations for. Note that you can also specify specific urls for each recommendation box.
27
- url: String
28
- ): GetAddwishProductsResponse!
29
- }
30
- `;
31
- class UnexpectedResponseError extends Error {
32
- constructor(message, { id, response, box }) {
33
- super(message);
34
- console.warn(message, { id, response, box });
35
- }
36
- }
37
- export function validateResponseBox({ response, id }) {
38
- const box = response.result[id];
39
- if (!box) {
40
- throw new UnexpectedResponseError('Box not found in the rsponse.', {
41
- id,
42
- response,
43
- box
44
- });
45
- }
46
- if (box.errorCode) {
47
- throw new UnexpectedResponseError(`Box error: "${box.errorCode}"`, {
48
- id,
49
- response,
50
- box
51
- });
52
- }
53
- if (!Array.isArray(box.result)) {
54
- throw new UnexpectedResponseError("Result property wasn't an array", {
55
- id,
56
- response,
57
- box
58
- });
59
- }
60
- if (box.result.length > 0 &&
61
- typeof box.result[0].productNumber !== 'string') {
62
- throw new UnexpectedResponseError('"productNumber" needs to be a string', {
63
- id,
64
- response,
65
- box
66
- });
67
- }
68
- }
69
- const ADDWISH_GET_PRODUCTBOXES_URL = `https://www.addwish.com/api/v1/product-recommendation/getProductBoxes`;
70
- export function fetchAddwishRecommendations({ ids, url }) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- const addwishUrl = `${ADDWISH_GET_PRODUCTBOXES_URL}?${qs.stringify({
73
- format: 'json',
74
- url,
75
- ids: ids.join(',')
76
- })}`;
77
- return fetch(addwishUrl).then(res => res.json());
78
- });
79
- }
80
- export const addwishSchemaExtension = ({ remoteSchema }) => {
81
- const resolvers = {
82
- Query: {
83
- getAddwishProducts: {
84
- resolve(_source, { id, url }) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- // Don't fail the whole API response because Addwish is down etc
87
- try {
88
- // Could be refactored to use DataLoader
89
- const response = yield fetchAddwishRecommendations({
90
- ids: [id],
91
- url
92
- });
93
- validateResponseBox({ response, id });
94
- const box = response.result[id];
95
- return {
96
- id,
97
- box,
98
- errorCode: null,
99
- countAfterSource: box.countAfterSource
100
- };
101
- }
102
- catch (err) {
103
- return {
104
- id,
105
- errorCode: err.message || 'Something went wrong',
106
- box: null
107
- };
108
- }
109
- });
110
- }
111
- }
112
- },
113
- GetAddwishProductsResponse: {
114
- products: {
115
- resolve({ box }, _args, context, info) {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- if (!box) {
118
- return null;
119
- }
120
- if (box.result.length <= 0) {
121
- return [];
122
- }
123
- const articleNumbers = box.result.map(item => item.productNumber);
124
- return info.mergeInfo.delegateToSchema({
125
- schema: remoteSchema,
126
- operation: 'query',
127
- fieldName: 'products',
128
- args: {
129
- articleNumbers
130
- },
131
- context,
132
- info
133
- });
134
- });
135
- }
136
- }
137
- }
138
- };
139
- return { schema: print(typeDefs), resolvers };
140
- };
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { print } from 'graphql';
11
+ import gql from 'graphql-tag';
12
+ import fetch from 'node-fetch';
13
+ import qs from 'qs';
14
+ const typeDefs = gql `
15
+ type GetAddwishProductsResponse {
16
+ # Addwish Box ID
17
+ id: String!
18
+ products: [Product!]
19
+ errorCode: String
20
+ countAfterSource: String
21
+ }
22
+ extend type Query {
23
+ getAddwishProducts(
24
+ # Recommendation box ID
25
+ id: String!
26
+ # This url specifies the product you want to find relations for. Note that you can also specify specific urls for each recommendation box.
27
+ url: String
28
+ ): GetAddwishProductsResponse!
29
+ }
30
+ `;
31
+ class UnexpectedResponseError extends Error {
32
+ constructor(message, { id, response, box }) {
33
+ super(message);
34
+ console.warn(message, { id, response, box });
35
+ }
36
+ }
37
+ export function validateResponseBox({ response, id }) {
38
+ const box = response.result[id];
39
+ if (!box) {
40
+ throw new UnexpectedResponseError('Box not found in the rsponse.', {
41
+ id,
42
+ response,
43
+ box
44
+ });
45
+ }
46
+ if (box.errorCode) {
47
+ throw new UnexpectedResponseError(`Box error: "${box.errorCode}"`, {
48
+ id,
49
+ response,
50
+ box
51
+ });
52
+ }
53
+ if (!Array.isArray(box.result)) {
54
+ throw new UnexpectedResponseError("Result property wasn't an array", {
55
+ id,
56
+ response,
57
+ box
58
+ });
59
+ }
60
+ if (box.result.length > 0 &&
61
+ typeof box.result[0].productNumber !== 'string') {
62
+ throw new UnexpectedResponseError('"productNumber" needs to be a string', {
63
+ id,
64
+ response,
65
+ box
66
+ });
67
+ }
68
+ }
69
+ const ADDWISH_GET_PRODUCTBOXES_URL = `https://www.addwish.com/api/v1/product-recommendation/getProductBoxes`;
70
+ export function fetchAddwishRecommendations({ ids, url }) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ const addwishUrl = `${ADDWISH_GET_PRODUCTBOXES_URL}?${qs.stringify({
73
+ format: 'json',
74
+ url,
75
+ ids: ids.join(',')
76
+ })}`;
77
+ return fetch(addwishUrl).then(res => res.json());
78
+ });
79
+ }
80
+ export const addwishSchemaExtension = ({ remoteSchema }) => {
81
+ const resolvers = {
82
+ Query: {
83
+ getAddwishProducts: {
84
+ resolve(_source, { id, url }) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ // Don't fail the whole API response because Addwish is down etc
87
+ try {
88
+ // Could be refactored to use DataLoader
89
+ const response = yield fetchAddwishRecommendations({
90
+ ids: [id],
91
+ url
92
+ });
93
+ validateResponseBox({ response, id });
94
+ const box = response.result[id];
95
+ return {
96
+ id,
97
+ box,
98
+ errorCode: null,
99
+ countAfterSource: box.countAfterSource
100
+ };
101
+ }
102
+ catch (err) {
103
+ return {
104
+ id,
105
+ errorCode: err.message || 'Something went wrong',
106
+ box: null
107
+ };
108
+ }
109
+ });
110
+ }
111
+ }
112
+ },
113
+ GetAddwishProductsResponse: {
114
+ products: {
115
+ resolve({ box }, _args, context, info) {
116
+ return __awaiter(this, void 0, void 0, function* () {
117
+ if (!box) {
118
+ return null;
119
+ }
120
+ if (box.result.length <= 0) {
121
+ return [];
122
+ }
123
+ const articleNumbers = box.result.map(item => item.productNumber);
124
+ return info.mergeInfo.delegateToSchema({
125
+ schema: remoteSchema,
126
+ operation: 'query',
127
+ fieldName: 'products',
128
+ args: {
129
+ articleNumbers
130
+ },
131
+ context,
132
+ info
133
+ });
134
+ });
135
+ }
136
+ }
137
+ }
138
+ };
139
+ return { schema: print(typeDefs), resolvers };
140
+ };
141
141
  //# sourceMappingURL=addwishSchemaExtension.js.map
@@ -1,5 +1,5 @@
1
- import { SchemaExtension } from '../boot/server/createApolloServer';
2
- export declare const createNostoSchemaExtension: ({ nostoApiToken }: {
3
- nostoApiToken: string;
4
- }) => SchemaExtension;
5
- export declare const getNostoSchemaLinkTypeDefs: SchemaExtension;
1
+ import { SchemaExtension } from '../boot/server/createApolloServer';
2
+ export declare const createNostoSchemaExtension: ({ nostoApiToken }: {
3
+ nostoApiToken: string;
4
+ }) => SchemaExtension;
5
+ export declare const getNostoSchemaLinkTypeDefs: SchemaExtension;
@@ -1,77 +1,77 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { setContext } from 'apollo-link-context';
11
- import fetch from 'node-fetch';
12
- import { introspectSchema, makeRemoteExecutableSchema, transformSchema, RenameTypes, RenameRootFields } from 'graphql-tools';
13
- import { HttpLink } from 'apollo-link-http';
14
- function getNostoSchema({ nostoApiToken }) {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- const http = new HttpLink({
17
- uri: `https://api.nosto.com/v1/graphql`,
18
- fetch: fetch
19
- });
20
- // on introspect, get headers from conf/env
21
- const introspectLink = setContext(() => ({
22
- headers: {
23
- Authorization: `Basic ${Buffer.from(`:${nostoApiToken}`).toString('base64')}`
24
- }
25
- })).concat(http);
26
- // We could do this build-time to speed up start
27
- const schema = yield introspectSchema(introspectLink);
28
- const executableSchema = makeRemoteExecutableSchema({
29
- schema,
30
- link: introspectLink
31
- });
32
- const transformedNostoSchema = transformSchema(executableSchema, [
33
- new RenameTypes((name) => `Nosto${name}`),
34
- new RenameRootFields((_operation, name) => `nosto${name.substring(0, 1).toUpperCase()}${name.substring(1)}`)
35
- ]);
36
- return transformedNostoSchema;
37
- });
38
- }
39
- export const createNostoSchemaExtension = ({ nostoApiToken }) => {
40
- const nostoSchemaExtension = ({ remoteSchema }) => __awaiter(void 0, void 0, void 0, function* () {
41
- const schema = yield getNostoSchema({ nostoApiToken });
42
- const resolvers = {
43
- NostoRecommendedProduct: {
44
- product: {
45
- fragment: `... on RecommendedProduct { productId }`,
46
- resolve(recommendedProduct, _args, context, info) {
47
- return info.mergeInfo.delegateToSchema({
48
- schema: remoteSchema,
49
- operation: 'query',
50
- fieldName: 'product',
51
- args: {
52
- id: parseInt(recommendedProduct.productId)
53
- },
54
- context,
55
- info
56
- });
57
- }
58
- }
59
- }
60
- };
61
- return {
62
- schema,
63
- resolvers
64
- };
65
- });
66
- return nostoSchemaExtension;
67
- };
68
- export const getNostoSchemaLinkTypeDefs = () => {
69
- return {
70
- schema: `
71
- extend type NostoRecommendedProduct {
72
- product: Product
73
- }
74
- `
75
- };
76
- };
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { setContext } from 'apollo-link-context';
11
+ import fetch from 'node-fetch';
12
+ import { introspectSchema, makeRemoteExecutableSchema, transformSchema, RenameTypes, RenameRootFields } from 'graphql-tools';
13
+ import { HttpLink } from 'apollo-link-http';
14
+ function getNostoSchema({ nostoApiToken }) {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ const http = new HttpLink({
17
+ uri: `https://api.nosto.com/v1/graphql`,
18
+ fetch: fetch
19
+ });
20
+ // on introspect, get headers from conf/env
21
+ const introspectLink = setContext(() => ({
22
+ headers: {
23
+ Authorization: `Basic ${Buffer.from(`:${nostoApiToken}`).toString('base64')}`
24
+ }
25
+ })).concat(http);
26
+ // We could do this build-time to speed up start
27
+ const schema = yield introspectSchema(introspectLink);
28
+ const executableSchema = makeRemoteExecutableSchema({
29
+ schema,
30
+ link: introspectLink
31
+ });
32
+ const transformedNostoSchema = transformSchema(executableSchema, [
33
+ new RenameTypes((name) => `Nosto${name}`),
34
+ new RenameRootFields((_operation, name) => `nosto${name.substring(0, 1).toUpperCase()}${name.substring(1)}`)
35
+ ]);
36
+ return transformedNostoSchema;
37
+ });
38
+ }
39
+ export const createNostoSchemaExtension = ({ nostoApiToken }) => {
40
+ const nostoSchemaExtension = ({ remoteSchema }) => __awaiter(void 0, void 0, void 0, function* () {
41
+ const schema = yield getNostoSchema({ nostoApiToken });
42
+ const resolvers = {
43
+ NostoRecommendedProduct: {
44
+ product: {
45
+ fragment: `... on RecommendedProduct { productId }`,
46
+ resolve(recommendedProduct, _args, context, info) {
47
+ return info.mergeInfo.delegateToSchema({
48
+ schema: remoteSchema,
49
+ operation: 'query',
50
+ fieldName: 'product',
51
+ args: {
52
+ id: parseInt(recommendedProduct.productId)
53
+ },
54
+ context,
55
+ info
56
+ });
57
+ }
58
+ }
59
+ }
60
+ };
61
+ return {
62
+ schema,
63
+ resolvers
64
+ };
65
+ });
66
+ return nostoSchemaExtension;
67
+ };
68
+ export const getNostoSchemaLinkTypeDefs = () => {
69
+ return {
70
+ schema: `
71
+ extend type NostoRecommendedProduct {
72
+ product: Product
73
+ }
74
+ `
75
+ };
76
+ };
77
77
  //# sourceMappingURL=nostoSchemaExtension.js.map
@@ -1,2 +1,2 @@
1
- import { SchemaExtension } from '../boot/server/createApolloServer';
2
- export declare const sluggishSchemaExtension: SchemaExtension;
1
+ import { SchemaExtension } from '../boot/server/createApolloServer';
2
+ export declare const sluggishSchemaExtension: SchemaExtension;
@@ -1,27 +1,27 @@
1
- import { print } from 'graphql';
2
- import gql from 'graphql-tag';
3
- export const sluggishSchemaExtension = () => {
4
- const typeDefs = gql `
5
- extend type Page {
6
- sluggish: String!
7
- }
8
- `;
9
- const resolvers = {
10
- Page: {
11
- sluggish: {
12
- /**
13
- * This fragment ensures that `id` + `name` are present in `source` when querying `sluggish`
14
- */
15
- fragment: `... on Page { id, name }`,
16
- resolve(source) {
17
- return `${source.id}-${source.name
18
- .toLowerCase()
19
- .replace(/[^\w ]+/g, '')
20
- .replace(/ +/g, '-')}`;
21
- }
22
- }
23
- }
24
- };
25
- return { schema: print(typeDefs), resolvers };
26
- };
1
+ import { print } from 'graphql';
2
+ import gql from 'graphql-tag';
3
+ export const sluggishSchemaExtension = () => {
4
+ const typeDefs = gql `
5
+ extend type Page {
6
+ sluggish: String!
7
+ }
8
+ `;
9
+ const resolvers = {
10
+ Page: {
11
+ sluggish: {
12
+ /**
13
+ * This fragment ensures that `id` + `name` are present in `source` when querying `sluggish`
14
+ */
15
+ fragment: `... on Page { id, name }`,
16
+ resolve(source) {
17
+ return `${source.id}-${source.name
18
+ .toLowerCase()
19
+ .replace(/[^\w ]+/g, '')
20
+ .replace(/ +/g, '-')}`;
21
+ }
22
+ }
23
+ }
24
+ };
25
+ return { schema: print(typeDefs), resolvers };
26
+ };
27
27
  //# sourceMappingURL=sluggishSchemaExtension.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jetshop/core",
3
- "version": "5.13.12-0",
3
+ "version": "5.14.0",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "**/*.js",
@@ -44,7 +44,7 @@
44
44
  "@sentry/node": "^6.15.0",
45
45
  "@tanem/react-nprogress": "^1.1.0",
46
46
  "@types/accept-language-parser": "^1.5.1",
47
- "@types/gtag.js": "^0.0.3",
47
+ "@types/gtag.js": "^0.0.10",
48
48
  "@types/loadable__component": "^5.10.0",
49
49
  "@types/loadable__server": "^5.9.1",
50
50
  "@types/react-router-dom": "^5.1.8",
package/polyfills.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const createPolyfill: (locale: string) => string;
1
+ export declare const createPolyfill: (locale: string) => string;
package/polyfills.js CHANGED
@@ -1,38 +1,38 @@
1
- import { enableES5 } from 'immer';
2
- enableES5();
3
- const polyfills = (locale) => [
4
- 'es6',
5
- 'Object.values',
6
- 'Object.entries',
7
- 'Object.keys',
8
- 'Object.assign',
9
- 'Array.prototype.find',
10
- 'Array.prototype.findIndex',
11
- 'Array.prototype.flatMap',
12
- 'Array.prototype.includes',
13
- 'Array.prototype.keys',
14
- 'Array.from',
15
- 'Array.prototype.fill',
16
- 'String.prototype.endsWith',
17
- 'String.prototype.startsWith',
18
- 'URL',
19
- 'IntersectionObserver',
20
- `Intl.~locale.${locale}`,
21
- 'Promise',
22
- 'fetch',
23
- 'Symbol',
24
- 'ResizeObserver'
25
- ];
26
- export const createPolyfill = (locale) => {
27
- const features = polyfills(locale).join(',');
28
- // Here we add two script tags to be run once the client is loaded. One sets a global variable 'polyFillsLoaded' to false and adds a function bootShop which, when called will set 'polyFillsLoaded' to true. The second script will load the polyfills and once they are loaded will call the bootShop function to let the client know that the polyfills have been loaded and that the shop can be started.
29
- return `
30
- <script>
31
- window.polyFillsLoaded = false;
32
- window.bootShop = function() {
33
- window.polyFillsLoaded = true;
34
- };
35
- </script>
36
- <script async defer src="https://cdn.polyfill.io/v3/polyfill${process.env.NODE_ENV === 'production' ? '.min' : ''}.js?callback=bootShop&features=${features}&flags=gated"></script>`;
37
- };
1
+ import { enableES5 } from 'immer';
2
+ enableES5();
3
+ const polyfills = (locale) => [
4
+ 'es6',
5
+ 'Object.values',
6
+ 'Object.entries',
7
+ 'Object.keys',
8
+ 'Object.assign',
9
+ 'Array.prototype.find',
10
+ 'Array.prototype.findIndex',
11
+ 'Array.prototype.flatMap',
12
+ 'Array.prototype.includes',
13
+ 'Array.prototype.keys',
14
+ 'Array.from',
15
+ 'Array.prototype.fill',
16
+ 'String.prototype.endsWith',
17
+ 'String.prototype.startsWith',
18
+ 'URL',
19
+ 'IntersectionObserver',
20
+ `Intl.~locale.${locale}`,
21
+ 'Promise',
22
+ 'fetch',
23
+ 'Symbol',
24
+ 'ResizeObserver'
25
+ ];
26
+ export const createPolyfill = (locale) => {
27
+ const features = polyfills(locale).join(',');
28
+ // Here we add two script tags to be run once the client is loaded. One sets a global variable 'polyFillsLoaded' to false and adds a function bootShop which, when called will set 'polyFillsLoaded' to true. The second script will load the polyfills and once they are loaded will call the bootShop function to let the client know that the polyfills have been loaded and that the shop can be started.
29
+ return `
30
+ <script>
31
+ window.polyFillsLoaded = false;
32
+ window.bootShop = function() {
33
+ window.polyFillsLoaded = true;
34
+ };
35
+ </script>
36
+ <script async defer src="https://cdn.polyfill.io/v3/polyfill${process.env.NODE_ENV === 'production' ? '.min' : ''}.js?callback=bootShop&features=${features}&flags=gated"></script>`;
37
+ };
38
38
  //# sourceMappingURL=polyfills.js.map