@jetshop/core 5.13.12-0 → 5.14.0-alpha.49df897e
Sign up to get free protection for your applications and to get access to all the features.
- package/ChannelHandler/CategoryPathnameRedirectQuery.gql +9 -9
- package/ChannelHandler/ChannelHandler.d.ts +52 -50
- package/ChannelHandler/ChannelHandler.js +114 -108
- package/ChannelHandler/ChannelHandler.js.map +1 -1
- package/ChannelHandler/PagePathnameRedirectQuery.gql +9 -9
- package/ChannelHandler/PreserveRedirectRouteQuery.gql +19 -19
- package/ChannelHandler/ProductPathnameRedirectQuery.gql +9 -9
- package/ChannelHandler/StartPagePathnameRedirectQuery.gql +9 -9
- package/ChannelHandler/channelUtils.d.ts +72 -68
- package/ChannelHandler/channelUtils.js +372 -266
- package/ChannelHandler/channelUtils.js.map +1 -1
- package/ChannelHandler/redirectUtils.d.ts +4 -4
- package/ChannelHandler/redirectUtils.js +49 -49
- package/ChannelHandler/redirectUtils.test.js +514 -538
- package/ChannelHandler/redirectUtilsGroupedChannels.test.js +732 -0
- package/analytics/Analytics.d.ts +18 -18
- package/analytics/Analytics.js +56 -56
- package/analytics/AnalyticsProvider.d.ts +42 -42
- package/analytics/AnalyticsProvider.js +177 -177
- package/analytics/AnalyticsProvider.js.map +1 -1
- package/analytics/deprecatedTracking.d.ts +17 -17
- package/analytics/deprecatedTracking.js +32 -32
- package/analytics/integrations/ga4.d.ts +23 -23
- package/analytics/integrations/ga4.js +144 -145
- package/analytics/integrations/ga4.js.map +1 -1
- package/analytics/integrations/gtag/gtag.d.ts +8 -8
- package/analytics/integrations/gtag/gtag.js +180 -180
- package/analytics/integrations/gtag/index.d.ts +1 -1
- package/analytics/integrations/gtag/index.js +1 -1
- package/analytics/integrations/gtm/index.d.ts +12 -12
- package/analytics/integrations/gtm/index.js +200 -200
- package/analytics/integrations/gtm/referrerModifier.d.ts +1 -1
- package/analytics/integrations/gtm/referrerModifier.js +61 -61
- package/analytics/integrations/releware/index.d.ts +3 -3
- package/analytics/integrations/releware/index.js +38 -38
- package/analytics/integrations/unslugify.d.ts +1 -1
- package/analytics/integrations/unslugify.js +15 -17
- package/analytics/integrations/unslugify.js.map +1 -1
- package/analytics/trackerRegistry.d.ts +101 -101
- package/analytics/trackerRegistry.js +219 -219
- package/analytics/trackerRegistry.test.js +160 -160
- package/analytics/tracking.d.ts +14 -14
- package/analytics/tracking.js +71 -71
- package/analytics/utils/breadcrumbsWithoutProduct.d.ts +1 -1
- package/analytics/utils/breadcrumbsWithoutProduct.js +8 -8
- package/analytics/utils/script.d.ts +8 -8
- package/analytics/utils/script.js +39 -39
- package/analytics/webVitals.d.ts +5 -5
- package/analytics/webVitals.js +38 -38
- package/boot/AuthHandler.d.ts +14 -14
- package/boot/AuthHandler.js +38 -38
- package/boot/ChannelsQuery.gql +7 -7
- package/boot/PreviewHandler.d.ts +7 -7
- package/boot/PreviewHandler.js +13 -13
- package/boot/SharedTree.d.ts +25 -25
- package/boot/SharedTree.js +28 -28
- package/boot/addMissingConfig.d.ts +5 -5
- package/boot/addMissingConfig.js +33 -33
- package/boot/apollo.d.ts +21 -21
- package/boot/apollo.js +197 -197
- package/boot/client/entrypoint.d.ts +1 -1
- package/boot/client/entrypoint.js +4 -4
- package/boot/client/index.d.ts +1 -1
- package/boot/client/index.js +1 -1
- package/boot/client/startClient.d.ts +4 -4
- package/boot/client/startClient.js +142 -142
- package/boot/client-schema.gql +59 -59
- package/boot/server/IntervalQuery.d.ts +32 -32
- package/boot/server/IntervalQuery.js +94 -94
- package/boot/server/IntervalQuery.test.js +280 -280
- package/boot/server/PersistedApolloClient.d.ts +20 -20
- package/boot/server/PersistedApolloClient.js +39 -39
- package/boot/server/PersistedApolloClient.test.js +233 -233
- package/boot/server/asyncErrorHandler.d.ts +3 -3
- package/boot/server/asyncErrorHandler.js +4 -4
- package/boot/server/breakpointMiddleware.d.ts +3 -3
- package/boot/server/breakpointMiddleware.js +9 -9
- package/boot/server/createApolloServer.d.ts +28 -28
- package/boot/server/createApolloServer.js +143 -143
- package/boot/server/createApolloServer.test.js +114 -114
- package/boot/server/createDevServer.d.ts +14 -14
- package/boot/server/createDevServer.js +29 -29
- package/boot/server/createRenderer.d.ts +28 -28
- package/boot/server/createRenderer.js +235 -235
- package/boot/server/createServer.d.ts +14 -14
- package/boot/server/createServer.js +41 -41
- package/boot/server/entrypoint.d.ts +1 -1
- package/boot/server/entrypoint.js +35 -35
- package/boot/server/getPrefetchFiles.d.ts +10 -10
- package/boot/server/getPrefetchFiles.js +19 -19
- package/boot/server/getPreloadAssets.d.ts +10 -10
- package/boot/server/getPreloadAssets.js +17 -17
- package/boot/server/getPreloadAssets.test.js +133 -133
- package/boot/server/index.d.ts +9 -9
- package/boot/server/index.js +122 -122
- package/boot/server/listen.d.ts +13 -13
- package/boot/server/listen.js +16 -16
- package/boot/server/overwriteServerIntl.js +1 -1
- package/boot/server/persistedQueries/PersistedClient.d.ts +22 -22
- package/boot/server/persistedQueries/PersistedClient.js +57 -57
- package/boot/server/persistedQueries/__tests__/getPersistedQueriesForRequest.test.js +201 -201
- package/boot/server/persistedQueries/__tests__/mockQuery.gql +6 -6
- package/boot/server/persistedQueries/getPersistedQueriesForRequest.d.ts +3 -3
- package/boot/server/persistedQueries/getPersistedQueriesForRequest.js +26 -26
- package/boot/server/saleSource.test.js +39 -39
- package/boot/server/salesSource.d.ts +8 -8
- package/boot/server/salesSource.js +15 -15
- package/boot/utils/__tests__/uid.js +47 -47
- package/boot/utils/createIntOptions.d.ts +6 -6
- package/boot/utils/createIntOptions.js +18 -18
- package/boot/utils/queryLoggingMiddleware.d.ts +2 -2
- package/boot/utils/queryLoggingMiddleware.js +14 -14
- package/boot/utils/uid.d.ts +3 -3
- package/boot/utils/uid.js +19 -19
- package/cart/AddToCartFormik.d.ts +42 -42
- package/cart/AddToCartFormik.js +76 -76
- package/cart/useAddToCart.d.ts +88 -88
- package/cart/useAddToCart.js +117 -117
- package/ci/.gitlab-ci.yml +3 -3
- package/components/Auth/CustomerUpdateForm.d.ts +32 -32
- package/components/Auth/CustomerUpdateForm.js +121 -121
- package/components/Auth/ForgotPasswordProvider.d.ts +71 -71
- package/components/Auth/ForgotPasswordProvider.js +56 -56
- package/components/Auth/ResetPasswordProvider.d.ts +88 -88
- package/components/Auth/ResetPasswordProvider.js +77 -77
- package/components/Auth/SSN.d.ts +12 -12
- package/components/Auth/SSN.js +34 -34
- package/components/Auth/SSNLookupContainer.d.ts +15 -15
- package/components/Auth/SSNLookupContainer.js +19 -19
- package/components/Auth/SignupFormContainer.d.ts +19 -19
- package/components/Auth/SignupFormContainer.js +81 -81
- package/components/Auth/UpdatePasswordForm.d.ts +44 -44
- package/components/Auth/UpdatePasswordForm.js +97 -97
- package/components/Auth/formFieldsFromSettings.d.ts +65 -65
- package/components/Auth/formFieldsFromSettings.js +76 -76
- package/components/Auth/formatSignupInput.d.ts +8 -8
- package/components/Auth/formatSignupInput.js +42 -42
- package/components/Auth/signup-context.d.ts +36 -36
- package/components/Auth/signup-context.js +71 -71
- package/components/Auth/signup-field-translations.d.ts +3 -3
- package/components/Auth/signup-field-translations.js +43 -43
- package/components/Auth/signupSubmit.d.ts +6 -6
- package/components/Auth/signupSubmit.js +56 -56
- package/components/Auth/useAddressFields.d.ts +22 -22
- package/components/Auth/useAddressFields.js +32 -32
- package/components/Auth/useAddressFields.test.js +294 -294
- package/components/Auth/useCustomer.d.ts +70 -70
- package/components/Auth/useCustomer.js +167 -167
- package/components/Auth/useLoginFields.d.ts +20 -20
- package/components/Auth/useLoginFields.js +20 -20
- package/components/Auth/useSignupForm.d.ts +7 -7
- package/components/Auth/useSignupForm.js +14 -14
- package/components/AuthContext/AuthContext.d.ts +8 -8
- package/components/AuthContext/AuthContext.js +8 -8
- package/components/AuthContext/AuthProvider.d.ts +6 -6
- package/components/AuthContext/AuthProvider.js +84 -84
- package/components/AuthContext/AuthProvider.js.map +1 -1
- package/components/AuthContext/AuthProvider.test.js +66 -66
- package/components/AuthContext/LogOut.d.ts +5 -5
- package/components/AuthContext/LogOut.js +14 -14
- package/components/AuthContext/googleUserIdQuery.gql +6 -6
- package/components/AuthContext/useAuth.d.ts +6 -6
- package/components/AuthContext/useAuth.js +20 -20
- package/components/BreakpointProvider.d.ts +21 -21
- package/components/BreakpointProvider.js +23 -23
- package/components/Cart/CartIdContext.d.ts +11 -11
- package/components/Cart/CartIdContext.js +60 -60
- package/components/Cart/CartIdContext.test.js +87 -87
- package/components/ChannelContext/ChannelContext.d.ts +21 -20
- package/components/ChannelContext/ChannelContext.js +3 -3
- package/components/ChannelContext/ChannelContext.js.map +1 -1
- package/components/ChannelContext/ChannelProvider.d.ts +10 -10
- package/components/ChannelContext/ChannelProvider.js +44 -42
- package/components/ChannelContext/ChannelProvider.js.map +1 -1
- package/components/ChannelContext/ChannelProvider.test.js +112 -112
- package/components/ChannelContext/CountrySettingsQuery.gql +34 -34
- package/components/ChannelContext/index.d.ts +2 -2
- package/components/ChannelContext/index.js +2 -2
- package/components/ChannelContext/useCountrySettings.d.ts +8 -8
- package/components/ChannelContext/useCountrySettings.js +23 -23
- package/components/ChannelContext/useCountrySettings.js.map +1 -1
- package/components/ConfigProvider.d.ts +107 -108
- package/components/ConfigProvider.js +19 -19
- package/components/ConfigProvider.js.map +1 -1
- package/components/DynamicRoute/ActiveFiltersQuery.gql +21 -21
- package/components/DynamicRoute/CategoryRoute.d.ts +13 -13
- package/components/DynamicRoute/CategoryRoute.js +55 -55
- package/components/DynamicRoute/ContentRoute.d.ts +14 -14
- package/components/DynamicRoute/ContentRoute.js +27 -27
- package/components/DynamicRoute/PreviewRoute.d.ts +17 -17
- package/components/DynamicRoute/PreviewRoute.js +57 -57
- package/components/DynamicRoute/ProductByArticlenumber.d.ts +5 -5
- package/components/DynamicRoute/ProductByArticlenumber.gql +16 -16
- package/components/DynamicRoute/ProductByArticlenumber.js +21 -21
- package/components/DynamicRoute/ProductRoute.d.ts +15 -15
- package/components/DynamicRoute/ProductRoute.js +57 -57
- package/components/DynamicRoute/RouteResolver.d.ts +22 -22
- package/components/DynamicRoute/RouteResolver.js +64 -64
- package/components/DynamicRoute/Status.d.ts +14 -14
- package/components/DynamicRoute/Status.js +19 -19
- package/components/DynamicRoute/index.d.ts +17 -17
- package/components/DynamicRoute/index.js +95 -95
- package/components/Filters/index.d.ts +1 -1
- package/components/Filters/index.js +1 -1
- package/components/Filters/toggleActiveListItem.gql +15 -15
- package/components/Filters/utils/replaceInSearch.d.ts +14 -14
- package/components/Filters/utils/replaceInSearch.js +22 -22
- package/components/Filters/utils/replaceInSearch.test.js +184 -184
- package/components/Filters/utils/updateHistory.d.ts +25 -25
- package/components/Filters/utils/updateHistory.js +29 -29
- package/components/Filters/utils/updateHistory.test.js +102 -102
- package/components/Fonts/CustomFont.d.ts +14 -14
- package/components/Fonts/CustomFont.js +16 -16
- package/components/Fonts/GoogleFont.d.ts +10 -10
- package/components/Fonts/GoogleFont.js +34 -34
- package/components/Fonts/TypekitFont.d.ts +16 -16
- package/components/Fonts/TypekitFont.js +24 -24
- package/components/Fonts/injectFont.d.ts +11 -11
- package/components/Fonts/injectFont.js +29 -29
- package/components/Head.d.ts +11 -11
- package/components/Head.js +79 -74
- package/components/Head.js.map +1 -1
- package/components/Mutation/AddToCart/addToCartUtils.d.ts +18 -18
- package/components/Mutation/AddToCart/addToCartUtils.js +51 -51
- package/components/Mutation/AddToCartFormik.d.ts +53 -53
- package/components/Mutation/AddToCartFormik.js +171 -171
- package/components/Mutation/DecrementQuantity.d.ts +4 -4
- package/components/Mutation/DecrementQuantity.js +34 -34
- package/components/Mutation/IncrementQuantity.d.ts +4 -4
- package/components/Mutation/IncrementQuantity.js +34 -34
- package/components/Mutation/RemoveFromCart.d.ts +5 -5
- package/components/Mutation/RemoveFromCart.js +51 -51
- package/components/Mutation/SetQuantity.d.ts +4 -4
- package/components/Mutation/SetQuantity.js +36 -36
- package/components/Mutation/SubscribeToNewsletter.d.ts +4 -4
- package/components/Mutation/SubscribeToNewsletter.js +29 -29
- package/components/Mutation/SubscribeToStockNotifications.d.ts +4 -4
- package/components/Mutation/SubscribeToStockNotifications.js +30 -30
- package/components/Mutation/cartMutationUtils.d.ts +28 -28
- package/components/Mutation/cartMutationUtils.js +108 -108
- package/components/Mutation/cartMutationUtils.spec.js +142 -142
- package/components/Mutation/useDecrementQuantity.d.ts +11 -11
- package/components/Mutation/useDecrementQuantity.js +53 -53
- package/components/Mutation/useIncrementQuantity.d.ts +11 -11
- package/components/Mutation/useIncrementQuantity.js +53 -53
- package/components/Mutation/useRemoveFromCart.d.ts +13 -13
- package/components/Mutation/useRemoveFromCart.js +49 -49
- package/components/Mutation/useSetQuantity.d.ts +12 -12
- package/components/Mutation/useSetQuantity.js +37 -37
- package/components/Notifications/Notifications.d.ts +15 -15
- package/components/Notifications/Notifications.js +26 -26
- package/components/Notifications/index.d.ts +2 -2
- package/components/Notifications/index.js +2 -2
- package/components/Notifications/notificationMachine.d.ts +30 -30
- package/components/Notifications/notificationMachine.js +73 -73
- package/components/Notifications/notificationsMachine.d.ts +37 -37
- package/components/Notifications/notificationsMachine.js +65 -65
- package/components/Notifications/useNotification.d.ts +9 -9
- package/components/Notifications/useNotification.js +26 -26
- package/components/OpenGraph/OpenGraph.test.js +180 -180
- package/components/OpenGraph/OpenGraphGeneralPageData.d.ts +25 -25
- package/components/OpenGraph/OpenGraphGeneralPageData.js +36 -36
- package/components/OpenGraph/OpenGraphGeneralPageData.js.map +1 -1
- package/components/OpenGraph/OpenGraphProductData.d.ts +25 -25
- package/components/OpenGraph/OpenGraphProductData.js +48 -48
- package/components/OpenGraph/OpenGraphProductData.js.map +1 -1
- package/components/OpenGraph/index.d.ts +2 -2
- package/components/OpenGraph/index.js +2 -2
- package/components/Pagination/PaginationContainer.d.ts +2 -2
- package/components/Pagination/PaginationContainer.js +4 -4
- package/components/Pagination/PaginationContext.d.ts +14 -14
- package/components/Pagination/PaginationContext.js +3 -3
- package/components/Pagination/PaginationProvider.d.ts +19 -19
- package/components/Pagination/PaginationProvider.js +94 -94
- package/components/Pagination/PaginationProvider.test.js +282 -282
- package/components/PreviewContext.d.ts +10 -10
- package/components/PreviewContext.js +26 -26
- package/components/ProductConfigurationProvider/ConfigPrice.gql +22 -22
- package/components/ProductConfigurationProvider/ProductConfigurationContext.d.ts +13 -13
- package/components/ProductConfigurationProvider/ProductConfigurationContext.js +4 -4
- package/components/ProductConfigurationProvider/ProductConfigurationProvider.d.ts +6 -6
- package/components/ProductConfigurationProvider/ProductConfigurationProvider.js +49 -49
- package/components/Query/CartProvider.d.ts +22 -22
- package/components/Query/CartProvider.js +67 -67
- package/components/SortOrder/SortOrderContainer.d.ts +40 -40
- package/components/SortOrder/SortOrderContainer.js +101 -101
- package/components/SortOrder/SortOrderContext.d.ts +9 -9
- package/components/SortOrder/SortOrderContext.js +8 -8
- package/components/StructuredData/SiteLinksSearchStructuredData.d.ts +3 -3
- package/components/StructuredData/SiteLinksSearchStructuredData.js +24 -24
- package/components/StructuredData/StructuredBreadcrumbData.d.ts +12 -12
- package/components/StructuredData/StructuredBreadcrumbData.js +54 -54
- package/components/StructuredData/StructuredCategoryData.d.ts +16 -16
- package/components/StructuredData/StructuredCategoryData.js +17 -17
- package/components/StructuredData/StructuredData.d.ts +9 -9
- package/components/StructuredData/StructuredData.js +6 -6
- package/components/StructuredData/StructuredPageData.d.ts +16 -16
- package/components/StructuredData/StructuredPageData.js +16 -16
- package/components/StructuredData/StructuredProductData.d.ts +18 -18
- package/components/StructuredData/StructuredProductData.js +42 -42
- package/components/StructuredData/StructuredProductData.test.js +130 -130
- package/components/StructuredData/index.d.ts +5 -5
- package/components/StructuredData/index.js +5 -5
- package/data/cache.d.ts +3 -3
- package/data/cache.js +20 -20
- package/data/fragmentTypes.d.ts +8 -8
- package/data/fragmentTypes.js +83 -83
- package/data/fragments/BadgeFragment.gql +7 -7
- package/data/fragments/CartCoreFragment.gql +89 -89
- package/data/fragments/ChannelsFragment.gql +59 -58
- package/data/fragments/CommentsFragment.gql +6 -6
- package/data/fragments/HeadFragment.gql +9 -9
- package/data/fragments/PriceFragment.gql +5 -5
- package/data/fragments/ProductCampaignFragment.gql +10 -10
- package/data/fragments/ProductConfigurationsFragment.gql +24 -24
- package/data/fragments/ProductListsFragments.gql +94 -94
- package/data/fragments/ProductMetadataFragment.gql +20 -20
- package/data/fragments/ProductPriceFragment.gql +10 -10
- package/data/fragments/ProductVariantPriceFragment.gql +10 -10
- package/data/fragments/RouteCrumbFragment.gql +20 -20
- package/data/fragments/RouteMetaFragment.gql +18 -18
- package/data/fragments/StockStatusFragment.gql +7 -7
- package/data/fragments/index.d.ts +1 -1
- package/data/fragments/index.js +1 -1
- package/data/mutations/accountMutations.gql +28 -28
- package/data/mutations/cartMutations.gql +41 -41
- package/data/mutations/productListMutations.gql +18 -18
- package/data/mutations/signup.gql +7 -7
- package/data/mutations/subscribeToNewsletter.gql +3 -3
- package/data/mutations/subscribeToStockNotifications.gql +6 -6
- package/data/mutations/updateCustomer.gql +5 -5
- package/data/mutations/updatePassword.gql +5 -5
- package/data/queries/CartMutationQuery.gql +36 -36
- package/data/queries/CartQuery.gql +7 -7
- package/data/queries/GetCustomerCountryCode.gql +9 -9
- package/data/queries/PersonLookupQuery.gql +28 -28
- package/data/queries/ProductLists.gql +8 -8
- package/dependencies.d.ts +104 -104
- package/errorReporting.browser.d.ts +3 -3
- package/errorReporting.browser.js +11 -11
- package/errorReporting.d.ts +3 -3
- package/errorReporting.js +19 -19
- package/errorReporting.server.d.ts +3 -3
- package/errorReporting.server.js +11 -11
- package/errorReporting.shared.d.ts +5 -5
- package/errorReporting.shared.js +16 -16
- package/experiments/ExperimentsProvider.d.ts +4 -4
- package/experiments/ExperimentsProvider.js +28 -28
- package/experiments/ExperimentsProvider.test.js +105 -105
- package/experiments/integration.test.js +76 -76
- package/experiments/selectExperimentVariant.d.ts +3 -3
- package/experiments/selectExperimentVariant.js +34 -34
- package/experiments/selectExperimentVariant.test.js +64 -64
- package/experiments/useExperiment.d.ts +2 -2
- package/experiments/useExperiment.js +10 -10
- package/experiments/useExperiment.test.js +100 -100
- package/global.d.ts +1 -1
- package/helpers/decodeUrlQuery.d.ts +9 -9
- package/helpers/decodeUrlQuery.js +26 -26
- package/helpers/decodeUrlQuery.test.js +54 -54
- package/helpers/distance.d.ts +7 -7
- package/helpers/distance.js +12 -12
- package/helpers/encodeVariant.d.ts +3 -3
- package/helpers/encodeVariant.js +24 -24
- package/helpers/getBreakpointsFromValues.d.ts +6 -6
- package/helpers/getBreakpointsFromValues.js +14 -14
- package/helpers/getBreakpointsFromValues.test.js +47 -47
- package/helpers/getCartItemVariant.d.ts +7 -7
- package/helpers/getCartItemVariant.js +8 -8
- package/helpers/getErrorDetail.d.ts +7 -7
- package/helpers/getErrorDetail.js +11 -11
- package/helpers/getErrorDetail.test.js +44 -44
- package/helpers/getHeaders.d.ts +6 -6
- package/helpers/getHeaders.js +3 -3
- package/helpers/isRelativeUrl.d.ts +1 -1
- package/helpers/isRelativeUrl.js +3 -3
- package/helpers/logError.d.ts +1 -1
- package/helpers/logError.js +16 -16
- package/helpers/logWarningInDev.d.ts +1 -1
- package/helpers/logWarningInDev.js +6 -6
- package/helpers/throwErrorInDev.d.ts +6 -6
- package/helpers/throwErrorInDev.js +14 -14
- package/helpers/uniqueId.d.ts +5 -5
- package/helpers/uniqueId.js +9 -9
- package/hooks/CartCheckoutQuery.gql +5 -5
- package/hooks/Channels/useChannelSettings.d.ts +7 -7
- package/hooks/Channels/useChannelSettings.js +11 -11
- package/hooks/Channels/useChannelSettings.js.map +1 -1
- package/hooks/Channels/useChannelSettings.test.js +51 -51
- package/hooks/Filters/useBooleanFilter.d.ts +8 -8
- package/hooks/Filters/useBooleanFilter.js +20 -20
- package/hooks/Filters/useFilters.d.ts +3 -3
- package/hooks/Filters/useFilters.js +15 -15
- package/hooks/Filters/useListFilter.d.ts +10 -10
- package/hooks/Filters/useListFilter.js +37 -37
- package/hooks/Filters/useMultiFilter.d.ts +13 -13
- package/hooks/Filters/useMultiFilter.js +49 -49
- package/hooks/Filters/useRangeFilter.d.ts +10 -10
- package/hooks/Filters/useRangeFilter.js +35 -35
- package/hooks/Filters/useSortOrder.d.ts +11 -11
- package/hooks/Filters/useSortOrder.js +21 -21
- package/hooks/FreeShippingQuery.gql +16 -16
- package/hooks/PackageProducts/index.d.ts +2 -2
- package/hooks/PackageProducts/index.js +2 -2
- package/hooks/PackageProducts/packagePriceQuery.gql +29 -29
- package/hooks/PackageProducts/usePackageProductItem.d.ts +17 -17
- package/hooks/PackageProducts/usePackageProductItem.js +26 -26
- package/hooks/PackageProducts/usePackageProducts.d.ts +19 -19
- package/hooks/PackageProducts/usePackageProducts.js +345 -345
- package/hooks/PackageProducts/usePackageProducts.test.js +383 -383
- package/hooks/Product/index.d.ts +1 -1
- package/hooks/Product/index.js +1 -1
- package/hooks/Product/useStockStatus.d.ts +9 -9
- package/hooks/Product/useStockStatus.js +25 -25
- package/hooks/Product/useSwitchToVariantImage.d.ts +9 -9
- package/hooks/Product/useSwitchToVariantImage.js +20 -20
- package/hooks/ProductList/ProductListContext.d.ts +7 -7
- package/hooks/ProductList/ProductListContext.js +110 -110
- package/hooks/ProductList/action-creators.d.ts +46 -46
- package/hooks/ProductList/action-creators.js +296 -296
- package/hooks/ProductList/index.d.ts +118 -118
- package/hooks/ProductList/index.js +21 -21
- package/hooks/ProductList/list-transforms.d.ts +73 -73
- package/hooks/ProductList/list-transforms.js +106 -106
- package/hooks/ProductList/list-transforms.test.js +489 -489
- package/hooks/ProductList/product-list-reducer.d.ts +76 -76
- package/hooks/ProductList/product-list-reducer.js +197 -197
- package/hooks/ProductList/product-list-reducer.test.js +464 -464
- package/hooks/ProductList/useProductList.d.ts +13 -13
- package/hooks/ProductList/useProductList.js +93 -93
- package/hooks/ProductList/useProductListItems.d.ts +10 -10
- package/hooks/ProductList/useProductListItems.js +48 -48
- package/hooks/ProductList/validate-product.d.ts +6 -6
- package/hooks/ProductList/validate-product.js +40 -40
- package/hooks/Subscriptions/useNewsletterSubscription.d.ts +38 -38
- package/hooks/Subscriptions/useNewsletterSubscription.js +41 -41
- package/hooks/Subscriptions/useStockNotifications.d.ts +36 -36
- package/hooks/Subscriptions/useStockNotifications.js +37 -37
- package/hooks/Subscriptions/useStoreSubscriptions.d.ts +48 -48
- package/hooks/Subscriptions/useStoreSubscriptions.js +150 -150
- package/hooks/Subscriptions/useStoresubscriptions.test.js +179 -179
- package/hooks/useAddMultipleToCart.d.ts +27 -27
- package/hooks/useAddMultipleToCart.js +113 -113
- package/hooks/useAddMultipleToCart.test.js +181 -181
- package/hooks/useChannelBanner.js +22 -22
- package/hooks/useChannelBanner.test.js +77 -77
- package/hooks/useCustomerOrders.test.js +176 -176
- package/hooks/useCustomerOrdersQuery.d.ts +21 -21
- package/hooks/useCustomerOrdersQuery.js +20 -20
- package/hooks/useDeleteAccountMutation.d.ts +15 -15
- package/hooks/useDeleteAccountMutation.js +38 -38
- package/hooks/useDynamicPrice.d.ts +3 -3
- package/hooks/useDynamicPrice.js +24 -24
- package/hooks/useFreeShippingCheck.d.ts +15 -15
- package/hooks/useFreeShippingCheck.js +30 -30
- package/hooks/useGeolocation.d.ts +11 -11
- package/hooks/useGeolocation.js +33 -33
- package/hooks/useInfinitePagination.d.ts +37 -37
- package/hooks/useInfinitePagination.js +138 -138
- package/hooks/useLogError.d.ts +1 -1
- package/hooks/useLogError.js +7 -7
- package/hooks/useLoginMutation.d.ts +12 -12
- package/hooks/useLoginMutation.js +14 -14
- package/hooks/useLoginRedirect.d.ts +4 -4
- package/hooks/useLoginRedirect.js +36 -36
- package/hooks/useOrderDetailQuery.d.ts +20 -20
- package/hooks/useOrderDetailQuery.js +28 -28
- package/hooks/usePreconnectLinks.d.ts +10 -10
- package/hooks/usePreconnectLinks.js +29 -29
- package/hooks/usePreconnectLinks.test.js +95 -95
- package/hooks/usePrice.d.ts +39 -39
- package/hooks/usePrice.js +71 -71
- package/hooks/usePrice.test.js +171 -171
- package/hooks/useProductVariants/index.d.ts +1 -1
- package/hooks/useProductVariants/index.js +1 -1
- package/hooks/useProductVariants/useProductVariants.d.ts +19 -19
- package/hooks/useProductVariants/useProductVariants.js +202 -202
- package/hooks/useProductVariants/useProductVariants.test.js +415 -415
- package/hooks/useProductVariants/useVariantFromUrl.d.ts +5 -5
- package/hooks/useProductVariants/useVariantFromUrl.js +15 -15
- package/hooks/useProductVariants/useVariantFromUrl.test.js +79 -79
- package/hooks/useRoutePreload.d.ts +24 -24
- package/hooks/useRoutePreload.js +39 -39
- package/hooks/useShopConfig.d.ts +1 -1
- package/hooks/useShopConfig.js +10 -10
- package/hooks/useShopConfig.js.map +1 -1
- package/hooks/useThrowErrorInDev.d.ts +1 -1
- package/hooks/useThrowErrorInDev.js +7 -7
- package/hooks/useThunkReducer.d.ts +7 -7
- package/hooks/useThunkReducer.js +23 -23
- package/hooks/useWarningInDev.d.ts +1 -1
- package/hooks/useWarningInDev.js +9 -9
- package/inServer.d.ts +1 -1
- package/inServer.js +2 -2
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/integrations/addwishSchemaExtension.d.ts +35 -35
- package/integrations/addwishSchemaExtension.js +140 -140
- package/integrations/nostoSchemaExtension.d.ts +5 -5
- package/integrations/nostoSchemaExtension.js +76 -76
- package/integrations/sluggishSchemaExtension.d.ts +2 -2
- package/integrations/sluggishSchemaExtension.js +26 -26
- package/package.json +2 -2
- package/polyfills.d.ts +1 -1
- package/polyfills.js +37 -37
- package/registerServiceWorker.js +110 -110
- package/resolvers/filters/boolFilter.d.ts +3 -3
- package/resolvers/filters/boolFilter.js +84 -84
- package/resolvers/filters/defaultActiveFilters.d.ts +3 -3
- package/resolvers/filters/defaultActiveFilters.js +8 -8
- package/resolvers/filters/filterParams.d.ts +3 -3
- package/resolvers/filters/filterParams.js +84 -84
- package/resolvers/filters/filters.d.ts +5 -5
- package/resolvers/filters/filters.js +78 -78
- package/resolvers/filters/index.d.ts +27 -27
- package/resolvers/filters/index.js +7 -7
- package/resolvers/filters/listFilter.d.ts +7 -7
- package/resolvers/filters/listFilter.js +73 -73
- package/resolvers/filters/listFilterItem.d.ts +3 -3
- package/resolvers/filters/listFilterItem.js +122 -122
- package/resolvers/filters/multiListFilter.d.ts +5 -5
- package/resolvers/filters/multiListFilter.js +195 -195
- package/resolvers/filters/multiListFilterList.d.ts +3 -3
- package/resolvers/filters/multiListFilterList.js +55 -55
- package/resolvers/filters/rangeFilter.d.ts +5 -5
- package/resolvers/filters/rangeFilter.js +137 -137
- package/resolvers/filters/updateQueryString.d.ts +12 -12
- package/resolvers/filters/updateQueryString.js +116 -116
- package/resolvers/index.d.ts +37 -37
- package/resolvers/index.js +37 -37
- package/scripts/dev-apolloServer.js +31 -31
- package/sentry/client.d.ts +1 -1
- package/sentry/client.js +29 -29
- package/sentry/common.d.ts +1 -1
- package/sentry/common.js +4 -4
- package/sentry/server.d.ts +1 -1
- package/sentry/server.js +19 -19
- package/sentry/utils.d.ts +1 -1
- package/sentry/utils.js +1 -1
- package/server/graphql.d.ts +20 -20
- package/server/graphql.js +118 -118
- package/server/graphql.test.js +123 -123
- package/server/index.d.ts +2 -2
- package/server/index.js +2 -2
- package/server/tracking/facebook.d.ts +5 -5
- package/server/tracking/facebook.js +132 -132
- package/server/tracking/middleware.d.ts +8 -8
- package/server/tracking/middleware.js +14 -14
- package/server/tracking/types.d.ts +33 -33
- package/setupTests.js +2 -2
- package/test-utils/ProviderPyramid.js +45 -45
- package/test-utils/mockShopConfig.js +26 -26
- package/test-utils/mockedProduct.js +253 -253
- package/test-utils/renderWithRouter.js +20 -20
- package/test-utils/variables.js +2465 -1231
- package/time.d.ts +1 -1
- 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.
|
3
|
+
"version": "5.14.0-alpha.49df897e",
|
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.
|
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
|