@shopify/hydrogen 1.0.0-alpha.22 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2198 -0
- package/README.md +2 -2
- package/dist/esnext/FileSessionStorage.d.ts +1 -0
- package/dist/esnext/FileSessionStorage.js +1 -0
- package/dist/esnext/client.d.ts +14 -5
- package/dist/esnext/client.js +14 -5
- package/dist/esnext/components/AddToCartButton/AddToCartButton.client.d.ts +12 -7
- package/dist/esnext/components/AddToCartButton/AddToCartButton.client.js +40 -36
- package/dist/esnext/components/AddToCartButton/index.d.ts +1 -1
- package/dist/esnext/components/BaseButton/BaseButton.client.d.ts +14 -0
- package/dist/esnext/components/BaseButton/BaseButton.client.js +15 -0
- package/dist/esnext/components/BaseButton/index.d.ts +1 -0
- package/dist/esnext/components/BaseButton/index.js +1 -0
- package/dist/esnext/components/BuyNowButton/BuyNowButton.client.d.ts +15 -0
- package/dist/esnext/components/BuyNowButton/BuyNowButton.client.js +27 -0
- package/dist/esnext/components/BuyNowButton/index.d.ts +1 -1
- package/dist/esnext/components/BuyNowButton/index.js +1 -1
- package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.d.ts +7 -3
- package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.js +9 -6
- package/dist/esnext/components/CartCost/CartCost.client.d.ts +14 -0
- package/dist/esnext/components/CartCost/CartCost.client.js +29 -0
- package/dist/esnext/components/CartCost/index.d.ts +1 -0
- package/dist/esnext/components/CartCost/index.js +1 -0
- package/dist/esnext/components/CartLineImage/CartLineImage.client.d.ts +9 -6
- package/dist/esnext/components/CartLineImage/CartLineImage.client.js +6 -3
- package/dist/esnext/components/CartLinePrice/CartLinePrice.client.d.ts +10 -4
- package/dist/esnext/components/CartLinePrice/CartLinePrice.client.js +9 -8
- package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.d.ts +8 -3
- package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.js +4 -0
- package/dist/esnext/components/CartLineProvider/CartLineProvider.client.d.ts +5 -0
- package/dist/esnext/components/CartLineProvider/CartLineProvider.client.js +3 -0
- package/dist/esnext/components/CartLineProvider/context.d.ts +20 -10
- package/dist/esnext/components/CartLineProvider/index.d.ts +1 -1
- package/dist/esnext/components/CartLineProvider/index.js +1 -1
- package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.d.ts +8 -3
- package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.js +4 -0
- package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.d.ts +9 -4
- package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.js +22 -13
- package/dist/esnext/components/CartLines/CartLines.client.d.ts +15 -0
- package/dist/esnext/components/CartLines/{CartLines.js → CartLines.client.js} +7 -5
- package/dist/esnext/components/CartLines/index.d.ts +1 -1
- package/dist/esnext/components/CartLines/index.js +1 -1
- package/dist/esnext/components/CartProvider/CartProvider.client.d.ts +37 -3
- package/dist/esnext/components/CartProvider/CartProvider.client.js +474 -370
- package/dist/esnext/components/CartProvider/cart-queries.d.ts +10 -0
- package/dist/esnext/components/CartProvider/cart-queries.js +202 -0
- package/dist/esnext/components/CartProvider/constants.d.ts +1 -1
- package/dist/esnext/components/CartProvider/constants.js +1 -1
- package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.d.ts +82 -4
- package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.d.ts +82 -4
- package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.d.ts +82 -4
- package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.d.ts +83 -5
- package/dist/esnext/components/CartProvider/graphql/CartFragment.d.ts +22 -8
- package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.d.ts +82 -4
- package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.d.ts +82 -4
- package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.d.ts +82 -4
- package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.d.ts +83 -5
- package/dist/esnext/components/CartProvider/graphql/CartQuery.d.ts +82 -4
- package/dist/esnext/components/CartProvider/hooks.client.d.ts +15 -0
- package/dist/esnext/components/CartProvider/hooks.client.js +64 -0
- package/dist/esnext/components/CartProvider/index.d.ts +3 -3
- package/dist/esnext/components/CartProvider/index.js +2 -3
- package/dist/esnext/components/CartProvider/types.d.ts +48 -49
- package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.d.ts +7 -2
- package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.js +11 -4
- package/dist/esnext/components/ExternalVideo/ExternalVideo.d.ts +16 -9
- package/dist/esnext/components/ExternalVideo/ExternalVideo.js +11 -6
- package/dist/esnext/components/ExternalVideo/index.d.ts +1 -1
- package/dist/esnext/components/Image/Image.d.ts +103 -12
- package/dist/esnext/components/Image/Image.js +133 -7
- package/dist/esnext/components/Image/index.d.ts +2 -1
- package/dist/esnext/components/Link/Link.client.d.ts +27 -0
- package/dist/esnext/components/Link/Link.client.js +145 -0
- package/dist/esnext/components/Link/index.d.ts +1 -0
- package/dist/esnext/components/Link/index.js +1 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.d.ts +2 -2
- package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.js +3 -12
- package/dist/esnext/components/LocalizationProvider/LocalizationContext.client.d.ts +6 -5
- package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.d.ts +19 -2
- package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.js +24 -5
- package/dist/esnext/components/LocalizationProvider/index.d.ts +0 -1
- package/dist/esnext/components/LocalizationProvider/index.js +0 -1
- package/dist/esnext/components/MediaFile/MediaFile.d.ts +18 -18
- package/dist/esnext/components/MediaFile/MediaFile.js +20 -10
- package/dist/esnext/components/MediaFile/index.d.ts +1 -1
- package/dist/esnext/components/Metafield/Metafield.client.d.ts +16 -7
- package/dist/esnext/components/Metafield/Metafield.client.js +83 -29
- package/dist/esnext/components/Metafield/components/StarRating/StarRating.d.ts +5 -5
- package/dist/esnext/components/Metafield/components/StarRating/StarRating.js +1 -1
- package/dist/esnext/components/Metafield/index.d.ts +1 -2
- package/dist/esnext/components/Metafield/types.d.ts +1 -1
- package/dist/esnext/components/ModelViewer/ModelViewer.client.d.ts +128 -0
- package/dist/esnext/components/ModelViewer/ModelViewer.client.js +104 -0
- package/dist/esnext/components/ModelViewer/index.d.ts +1 -0
- package/dist/esnext/components/ModelViewer/index.js +1 -0
- package/dist/esnext/components/Money/Money.client.d.ts +24 -6
- package/dist/esnext/components/Money/Money.client.js +36 -7
- package/dist/esnext/components/Money/index.d.ts +1 -1
- package/dist/esnext/components/ProductOptionsProvider/ProductOptionsProvider.client.d.ts +21 -0
- package/dist/esnext/components/ProductOptionsProvider/ProductOptionsProvider.client.js +133 -0
- package/dist/esnext/components/ProductOptionsProvider/context.d.ts +2 -0
- package/dist/esnext/components/ProductOptionsProvider/context.js +2 -0
- package/dist/esnext/components/ProductOptionsProvider/index.d.ts +2 -0
- package/dist/esnext/components/ProductOptionsProvider/index.js +2 -0
- package/dist/esnext/components/ProductPrice/ProductPrice.client.d.ts +15 -4
- package/dist/esnext/components/ProductPrice/ProductPrice.client.js +35 -13
- package/dist/esnext/components/Seo/CollectionSeo.client.d.ts +3 -0
- package/dist/esnext/components/Seo/CollectionSeo.client.js +14 -0
- package/dist/esnext/components/Seo/DefaultPageSeo.client.d.ts +3 -0
- package/dist/esnext/components/Seo/DefaultPageSeo.client.js +18 -0
- package/dist/esnext/components/Seo/DescriptionSeo.client.d.ts +4 -0
- package/dist/esnext/components/Seo/DescriptionSeo.client.js +10 -0
- package/dist/esnext/components/Seo/HomePageSeo.client.d.ts +2 -0
- package/dist/esnext/components/Seo/HomePageSeo.client.js +25 -0
- package/dist/esnext/components/Seo/ImageSeo.client.d.ts +3 -0
- package/dist/esnext/components/Seo/ImageSeo.client.js +10 -0
- package/dist/esnext/components/Seo/NoIndexSeo.client.d.ts +3 -0
- package/dist/esnext/components/Seo/NoIndexSeo.client.js +10 -0
- package/dist/esnext/components/Seo/PageSeo.client.d.ts +3 -0
- package/dist/esnext/components/Seo/PageSeo.client.js +12 -0
- package/dist/esnext/components/Seo/ProductSeo.client.d.ts +5 -0
- package/dist/esnext/components/Seo/ProductSeo.client.js +62 -0
- package/dist/esnext/components/Seo/Seo.client.d.ts +30 -0
- package/dist/esnext/components/Seo/Seo.client.js +31 -0
- package/dist/esnext/components/Seo/TitleSeo.client.d.ts +3 -0
- package/dist/esnext/components/Seo/TitleSeo.client.js +10 -0
- package/dist/esnext/components/Seo/TwitterSeo.client.d.ts +2 -0
- package/dist/esnext/components/Seo/TwitterSeo.client.js +9 -0
- package/dist/esnext/components/Seo/index.d.ts +1 -0
- package/dist/esnext/components/Seo/index.js +1 -0
- package/dist/esnext/components/Seo/seo-types.d.ts +18 -0
- package/dist/esnext/components/{ExternalVideo/ExternalVideoFragment.js → Seo/seo-types.js} +0 -0
- package/dist/esnext/components/ShopPayButton/ShopPayButton.client.d.ts +29 -4
- package/dist/esnext/components/ShopPayButton/ShopPayButton.client.js +50 -26
- package/dist/esnext/components/ShopPayButton/index.d.ts +1 -1
- package/dist/esnext/components/Video/Video.d.ts +13 -12
- package/dist/esnext/components/Video/Video.js +21 -6
- package/dist/esnext/components/Video/index.d.ts +1 -1
- package/dist/esnext/components/index.d.ts +28 -41
- package/dist/esnext/components/index.js +26 -87
- package/dist/esnext/components/types.d.ts +4 -6
- package/dist/esnext/components/types.js +1 -1
- package/dist/esnext/config.d.ts +7 -0
- package/dist/esnext/config.js +5 -0
- package/dist/esnext/constants.d.ts +9 -0
- package/dist/esnext/constants.js +9 -0
- package/dist/esnext/entry-client.js +145 -23
- package/dist/esnext/entry-server.d.ts +5 -2
- package/dist/esnext/entry-server.js +570 -247
- package/dist/esnext/foundation/Analytics/Analytics.client.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/Analytics.client.js +30 -0
- package/dist/esnext/foundation/Analytics/Analytics.server.d.ts +1 -0
- package/dist/esnext/foundation/Analytics/Analytics.server.js +47 -0
- package/dist/esnext/foundation/Analytics/ClientAnalytics.d.ts +27 -0
- package/dist/esnext/foundation/Analytics/ClientAnalytics.js +99 -0
- package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.d.ts +4 -0
- package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.js +51 -0
- package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.client.d.ts +7 -0
- package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.client.js +81 -0
- package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetricsDebug.client.d.ts +1 -0
- package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetricsDebug.client.js +23 -0
- package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.js +7 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.js +7 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.client.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.client.js +182 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.server.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.server.js +43 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/const.d.ts +28 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/const.js +51 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/utils.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/utils.js +56 -0
- package/dist/esnext/foundation/Analytics/const.d.ts +9 -0
- package/dist/esnext/foundation/Analytics/const.js +9 -0
- package/dist/esnext/foundation/Analytics/hook.d.ts +1 -0
- package/dist/esnext/foundation/Analytics/hook.js +9 -0
- package/dist/esnext/foundation/Analytics/index.d.ts +1 -0
- package/dist/esnext/foundation/Analytics/index.js +1 -0
- package/dist/esnext/foundation/Analytics/types.d.ts +5 -0
- package/dist/esnext/{components/ProductProvider → foundation/Analytics}/types.js +0 -0
- package/dist/esnext/foundation/Analytics/utils.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/utils.js +29 -0
- package/dist/esnext/foundation/AnalyticsErrorBoundary.client.d.ts +4 -0
- package/dist/esnext/foundation/AnalyticsErrorBoundary.client.js +8 -0
- package/dist/esnext/foundation/BuiltInRoutes/BuiltInRoutes.d.ts +2 -0
- package/dist/esnext/foundation/BuiltInRoutes/BuiltInRoutes.js +23 -0
- package/dist/esnext/foundation/BuiltInRoutes/healthCheck.d.ts +1 -0
- package/dist/esnext/foundation/BuiltInRoutes/healthCheck.js +3 -0
- package/dist/esnext/foundation/Cache/cache-sub-request.d.ts +17 -0
- package/dist/esnext/foundation/Cache/cache-sub-request.js +64 -0
- package/dist/esnext/foundation/Cache/cache.d.ts +17 -0
- package/dist/esnext/foundation/Cache/cache.js +127 -0
- package/dist/esnext/foundation/Cache/strategies/index.d.ts +7 -0
- package/dist/esnext/foundation/Cache/strategies/index.js +54 -0
- package/dist/esnext/foundation/Cookie/Cookie.d.ts +48 -0
- package/dist/esnext/foundation/Cookie/Cookie.js +72 -0
- package/dist/esnext/foundation/CookieSessionStorage/CookieSessionStorage.d.ts +5 -0
- package/dist/esnext/foundation/CookieSessionStorage/CookieSessionStorage.js +31 -0
- package/dist/esnext/foundation/DevTools/DevTools.client.d.ts +3 -0
- package/dist/esnext/foundation/DevTools/DevTools.client.js +17 -0
- package/dist/esnext/foundation/DevTools/DevTools.server.d.ts +1 -0
- package/dist/esnext/foundation/DevTools/DevTools.server.js +14 -0
- package/dist/esnext/foundation/DevTools/components/GraphQL.client.d.ts +1 -0
- package/dist/esnext/foundation/DevTools/components/GraphQL.client.js +25 -0
- package/dist/esnext/foundation/DevTools/components/Heading.d.ts +5 -0
- package/dist/esnext/foundation/DevTools/components/Heading.js +12 -0
- package/dist/esnext/foundation/DevTools/components/Interface.client.d.ts +11 -0
- package/dist/esnext/foundation/DevTools/components/Interface.client.js +47 -0
- package/dist/esnext/foundation/DevTools/components/Panels.d.ts +8 -0
- package/dist/esnext/foundation/DevTools/components/Panels.js +60 -0
- package/dist/esnext/foundation/DevTools/components/Performance.client.d.ts +14 -0
- package/dist/esnext/foundation/DevTools/components/Performance.client.js +26 -0
- package/dist/esnext/foundation/DevTools/components/Settings.client.d.ts +7 -0
- package/dist/esnext/foundation/DevTools/components/Settings.client.js +20 -0
- package/dist/esnext/foundation/DevTools/components/Table.d.ts +9 -0
- package/dist/esnext/foundation/DevTools/components/Table.js +7 -0
- package/dist/esnext/foundation/DevTools/components/icons.d.ts +2 -0
- package/dist/esnext/foundation/DevTools/components/icons.js +13 -0
- package/dist/esnext/foundation/DevTools/components/index.d.ts +2 -0
- package/dist/esnext/foundation/DevTools/components/index.js +2 -0
- package/dist/esnext/foundation/FileRoutes/FileRoutes.server.d.ts +22 -0
- package/dist/esnext/foundation/FileRoutes/FileRoutes.server.js +69 -0
- package/dist/esnext/foundation/FileSessionStorage/FileSessionStorage.d.ts +6 -0
- package/dist/esnext/foundation/FileSessionStorage/FileSessionStorage.js +149 -0
- package/dist/esnext/foundation/Head/Head.client.d.ts +5 -0
- package/dist/esnext/foundation/Head/Head.client.js +10 -0
- package/dist/esnext/foundation/Head/index.d.ts +1 -0
- package/dist/esnext/foundation/Head/index.js +1 -0
- package/dist/esnext/foundation/Html/Html.d.ts +13 -0
- package/dist/esnext/foundation/Html/Html.js +96 -0
- package/dist/esnext/foundation/HydrogenRequest/HydrogenRequest.server.d.ts +76 -0
- package/dist/esnext/foundation/HydrogenRequest/HydrogenRequest.server.js +210 -0
- package/dist/esnext/foundation/HydrogenResponse/HydrogenResponse.server.d.ts +21 -0
- package/dist/esnext/foundation/HydrogenResponse/HydrogenResponse.server.js +48 -0
- package/dist/esnext/foundation/MemorySessionStorage/MemorySessionStorage.d.ts +5 -0
- package/dist/esnext/foundation/MemorySessionStorage/MemorySessionStorage.js +53 -0
- package/dist/esnext/foundation/Redirect/Redirect.client.d.ts +5 -0
- package/dist/esnext/foundation/Redirect/Redirect.client.js +15 -0
- package/dist/esnext/foundation/Route/Route.server.d.ts +12 -0
- package/dist/esnext/foundation/Route/Route.server.js +28 -0
- package/dist/esnext/foundation/Router/BrowserRouter.client.d.ts +14 -0
- package/dist/esnext/foundation/Router/BrowserRouter.client.js +138 -0
- package/dist/esnext/foundation/Router/Router.server.d.ts +10 -0
- package/dist/esnext/foundation/Router/Router.server.js +8 -0
- package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.d.ts +41 -0
- package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.js +65 -0
- package/dist/esnext/foundation/ServerPropsProvider/index.d.ts +2 -0
- package/dist/esnext/foundation/ServerPropsProvider/index.js +1 -0
- package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.d.ts +23 -0
- package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.js +125 -0
- package/dist/esnext/foundation/ServerRequestProvider/index.d.ts +1 -0
- package/dist/esnext/foundation/ServerRequestProvider/index.js +1 -0
- package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.d.ts +30 -0
- package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.js +59 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.client.d.ts +7 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.client.js +8 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.server.d.ts +16 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.server.js +60 -0
- package/dist/esnext/foundation/ShopifyProvider/index.d.ts +1 -2
- package/dist/esnext/foundation/ShopifyProvider/index.js +1 -2
- package/dist/esnext/foundation/ShopifyProvider/types.d.ts +12 -10
- package/dist/esnext/foundation/constants.d.ts +2 -0
- package/dist/esnext/foundation/constants.js +4 -0
- package/dist/esnext/foundation/fetchSync/client/fetchSync.d.ts +10 -0
- package/dist/esnext/foundation/fetchSync/client/fetchSync.js +28 -0
- package/dist/esnext/foundation/fetchSync/server/fetchSync.d.ts +8 -0
- package/dist/esnext/foundation/fetchSync/server/fetchSync.js +29 -0
- package/dist/esnext/foundation/fetchSync/types.d.ts +5 -0
- package/dist/{worker → esnext/foundation/fetchSync}/types.js +0 -0
- package/dist/esnext/foundation/index.d.ts +3 -4
- package/dist/esnext/foundation/index.js +3 -4
- package/dist/esnext/foundation/runtime.d.ts +2 -0
- package/dist/esnext/foundation/runtime.js +6 -0
- package/dist/esnext/foundation/session/session.d.ts +27 -0
- package/dist/esnext/foundation/session/session.js +37 -0
- package/dist/esnext/foundation/ssr-interop.d.ts +29 -0
- package/dist/esnext/foundation/ssr-interop.js +35 -0
- package/dist/esnext/foundation/useNavigate/useNavigate.d.ts +17 -0
- package/dist/esnext/foundation/useNavigate/useNavigate.js +39 -0
- package/dist/esnext/foundation/useQuery/hooks.d.ts +37 -0
- package/dist/esnext/foundation/useQuery/hooks.js +105 -0
- package/dist/esnext/foundation/useQuery/index.d.ts +1 -0
- package/dist/esnext/foundation/useQuery/index.js +1 -0
- package/dist/esnext/foundation/useRequestContext/index.d.ts +15 -0
- package/dist/esnext/foundation/useRequestContext/index.js +23 -0
- package/dist/esnext/foundation/useRouteParams/RouteParamsProvider.client.d.ts +13 -0
- package/dist/esnext/foundation/useRouteParams/RouteParamsProvider.client.js +12 -0
- package/dist/esnext/foundation/useRouteParams/useRouteParams.d.ts +4 -0
- package/dist/esnext/foundation/useRouteParams/useRouteParams.js +9 -0
- package/dist/esnext/foundation/useServerProps/index.d.ts +1 -0
- package/dist/esnext/foundation/useServerProps/index.js +1 -0
- package/dist/esnext/foundation/useServerProps/use-server-props.d.ts +21 -0
- package/dist/esnext/foundation/useServerProps/use-server-props.js +35 -0
- package/dist/esnext/foundation/useSession/useSession.d.ts +2 -0
- package/dist/esnext/foundation/useSession/useSession.js +7 -0
- package/dist/esnext/foundation/useShop/index.d.ts +1 -0
- package/dist/esnext/foundation/useShop/index.js +1 -0
- package/dist/esnext/foundation/useShop/use-shop.d.ts +6 -0
- package/dist/esnext/foundation/useShop/use-shop.js +14 -0
- package/dist/esnext/foundation/useUrl/index.d.ts +1 -0
- package/dist/esnext/foundation/useUrl/index.js +1 -0
- package/dist/esnext/foundation/useUrl/useUrl.d.ts +4 -0
- package/dist/esnext/foundation/useUrl/useUrl.js +29 -0
- package/dist/esnext/framework/cache/in-memory.d.ts +17 -0
- package/dist/esnext/framework/cache/in-memory.js +80 -0
- package/dist/esnext/framework/graphiql.d.ts +1 -1
- package/dist/esnext/framework/graphiql.js +1 -2
- package/dist/esnext/framework/load-config.d.ts +5 -0
- package/dist/esnext/framework/load-config.js +7 -0
- package/dist/esnext/framework/middleware.d.ts +11 -7
- package/dist/esnext/framework/middleware.js +49 -68
- package/dist/esnext/framework/plugin.d.ts +8 -3
- package/dist/esnext/framework/plugin.js +23 -4
- package/dist/esnext/framework/plugins/vite-plugin-client-imports.d.ts +2 -0
- package/dist/esnext/framework/plugins/vite-plugin-client-imports.js +25 -0
- package/dist/esnext/framework/plugins/vite-plugin-css-modules-rsc.d.ts +2 -0
- package/dist/esnext/framework/plugins/vite-plugin-css-modules-rsc.js +98 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydration-auto-import.d.ts +3 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydration-auto-import.js +35 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-client-middleware.d.ts +9 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-client-middleware.js +36 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.d.ts +1 -1
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +79 -20
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +10 -3
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.js +47 -7
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-rsc.d.ts +2 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-rsc.js +23 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-suppress-warnings.d.ts +3 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-suppress-warnings.js +19 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-virtual-files.d.ts +7 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-virtual-files.js +101 -0
- package/dist/esnext/framework/plugins/vite-plugin-platform-entry.d.ts +3 -0
- package/dist/esnext/framework/plugins/vite-plugin-platform-entry.js +70 -0
- package/dist/esnext/framework/plugins/{vite-plugin-react-server-components-shim.d.ts → vite-plugin-purge-query-cache.d.ts} +0 -0
- package/dist/esnext/framework/plugins/vite-plugin-purge-query-cache.js +11 -0
- package/dist/{node/framework/plugins/vite-plugin-react-server-components-shim.d.ts → esnext/framework/plugins/vite-plugin-ssr-interop.d.ts} +0 -0
- package/dist/esnext/framework/plugins/vite-plugin-ssr-interop.js +16 -0
- package/dist/esnext/framework/types.d.ts +6 -0
- package/dist/esnext/{components/Image/ImageFragment.js → framework/types.js} +0 -0
- package/dist/esnext/framework/viteception.d.ts +5 -0
- package/dist/esnext/framework/viteception.js +16 -0
- package/dist/esnext/hooks/index.d.ts +5 -5
- package/dist/esnext/hooks/index.js +5 -5
- package/dist/esnext/hooks/useCart/index.d.ts +1 -0
- package/dist/esnext/hooks/useCart/index.js +1 -0
- package/dist/esnext/hooks/useCart/useCart.d.ts +4 -0
- package/dist/esnext/hooks/useCart/useCart.js +12 -0
- package/dist/esnext/hooks/useCartLine/index.d.ts +1 -0
- package/dist/esnext/hooks/useCartLine/index.js +1 -0
- package/dist/esnext/hooks/useCartLine/useCartLine.d.ts +39 -0
- package/dist/esnext/{components/CartLineProvider/hooks.js → hooks/useCartLine/useCartLine.js} +4 -1
- package/dist/esnext/hooks/useLoadScript/index.d.ts +1 -0
- package/dist/esnext/hooks/useLoadScript/index.js +1 -0
- package/dist/esnext/hooks/useLoadScript/useLoadScript.client.d.ts +8 -0
- package/dist/esnext/hooks/useLoadScript/useLoadScript.client.js +23 -0
- package/dist/esnext/hooks/useLocalization/useLocalization.d.ts +4 -0
- package/dist/esnext/hooks/useLocalization/useLocalization.js +14 -0
- package/dist/esnext/hooks/useMeasurement/hooks.js +2 -2
- package/dist/esnext/hooks/useMoney/hooks.d.ts +44 -1
- package/dist/esnext/hooks/useMoney/hooks.js +69 -22
- package/dist/esnext/hooks/useProductOptions/helpers.d.ts +6 -4
- package/dist/esnext/hooks/useProductOptions/helpers.js +9 -6
- package/dist/esnext/hooks/useProductOptions/index.d.ts +1 -1
- package/dist/esnext/hooks/useProductOptions/index.js +1 -1
- package/dist/esnext/hooks/useProductOptions/types.d.ts +42 -48
- package/dist/esnext/hooks/useProductOptions/useProductOptions.client.d.ts +1 -0
- package/dist/esnext/hooks/useProductOptions/useProductOptions.client.js +9 -0
- package/dist/esnext/hooks/useShopQuery/hooks.d.ts +22 -3
- package/dist/esnext/hooks/useShopQuery/hooks.js +163 -24
- package/dist/esnext/hooks/useShopQuery/index.d.ts +1 -1
- package/dist/esnext/hooks/useShopQuery/index.js +1 -1
- package/dist/esnext/index.d.ts +41 -8
- package/dist/esnext/index.js +37 -10
- package/dist/esnext/node.d.ts +1 -0
- package/dist/esnext/node.js +1 -0
- package/dist/esnext/platforms/node.d.ts +9 -0
- package/dist/esnext/platforms/node.js +41 -0
- package/dist/esnext/{components/LocalizationProvider/LocalizationQuery.js → platforms/worker-event.d.ts} +0 -0
- package/dist/esnext/platforms/worker-event.js +3 -0
- package/dist/esnext/platforms/worker.d.ts +14 -0
- package/dist/esnext/platforms/worker.js +25 -0
- package/dist/esnext/shared-types.d.ts +27 -0
- package/dist/esnext/shared-types.js +4 -0
- package/dist/esnext/{graphql/types/types.d.ts → storefront-api-types.d.ts} +2404 -1886
- package/dist/esnext/{graphql/types/types.js → storefront-api-types.js} +1079 -722
- package/dist/esnext/streaming.server.d.ts +16 -0
- package/dist/esnext/streaming.server.js +24 -0
- package/dist/esnext/types.d.ts +92 -39
- package/dist/esnext/types.js +1 -1
- package/dist/esnext/utilities/apiRoutes.d.ts +42 -0
- package/dist/esnext/utilities/apiRoutes.js +152 -0
- package/dist/esnext/utilities/bot-ua.d.ts +4 -0
- package/dist/esnext/utilities/bot-ua.js +61 -0
- package/dist/esnext/utilities/defer.d.ts +6 -0
- package/dist/esnext/utilities/defer.js +14 -0
- package/dist/esnext/utilities/devtools.d.ts +11 -0
- package/dist/esnext/utilities/devtools.js +11 -0
- package/dist/esnext/utilities/empty-hydrogen-config.d.ts +2 -0
- package/dist/esnext/utilities/empty-hydrogen-config.js +2 -0
- package/dist/esnext/utilities/error.d.ts +1 -0
- package/dist/esnext/utilities/error.js +6 -0
- package/dist/esnext/utilities/fetch.d.ts +9 -0
- package/dist/esnext/utilities/fetch.js +31 -0
- package/dist/esnext/utilities/flattenConnection/flattenConnection.d.ts +7 -0
- package/dist/esnext/utilities/flattenConnection/flattenConnection.js +18 -0
- package/dist/esnext/utilities/flattenConnection/index.d.ts +1 -0
- package/dist/esnext/utilities/flattenConnection/index.js +1 -0
- package/dist/esnext/utilities/graphql-tag.d.ts +1 -0
- package/dist/esnext/utilities/graphql-tag.js +6 -0
- package/dist/esnext/utilities/graphql-tracker.d.ts +17 -0
- package/dist/esnext/utilities/graphql-tracker.js +121 -0
- package/dist/esnext/utilities/hash.d.ts +2 -0
- package/dist/esnext/utilities/hash.js +30 -0
- package/dist/esnext/utilities/html-encoding.d.ts +1 -0
- package/dist/esnext/utilities/html-encoding.js +8 -0
- package/dist/esnext/utilities/image_size.d.ts +30 -14
- package/dist/esnext/utilities/image_size.js +80 -30
- package/dist/esnext/utilities/index.d.ts +10 -6
- package/dist/esnext/utilities/index.js +10 -6
- package/dist/esnext/utilities/isBrowser/index.d.ts +1 -0
- package/dist/esnext/utilities/isBrowser/index.js +1 -0
- package/dist/esnext/utilities/isBrowser/isBrowser.d.ts +4 -0
- package/dist/esnext/utilities/isBrowser/isBrowser.js +6 -0
- package/dist/esnext/utilities/isServer/index.d.ts +1 -0
- package/dist/esnext/utilities/isServer/index.js +1 -0
- package/dist/esnext/utilities/isServer/isServer.d.ts +4 -0
- package/dist/esnext/utilities/isServer/isServer.js +7 -0
- package/dist/esnext/utilities/{script_loader.d.ts → load_script.d.ts} +0 -0
- package/dist/esnext/utilities/{script_loader.js → load_script.js} +1 -1
- package/dist/esnext/utilities/log/index.d.ts +4 -0
- package/dist/esnext/utilities/log/index.js +4 -0
- package/dist/esnext/utilities/log/log-cache-api-status.d.ts +1 -0
- package/dist/esnext/utilities/log/log-cache-api-status.js +17 -0
- package/dist/esnext/utilities/log/log-cache-header.d.ts +10 -0
- package/dist/esnext/utilities/log/log-cache-header.js +30 -0
- package/dist/esnext/utilities/log/log-query-timeline.d.ts +12 -0
- package/dist/esnext/utilities/log/log-query-timeline.js +102 -0
- package/dist/esnext/utilities/log/log.d.ts +28 -0
- package/dist/esnext/utilities/log/log.js +74 -0
- package/dist/esnext/utilities/log/utils.d.ts +3 -0
- package/dist/esnext/utilities/log/utils.js +11 -0
- package/dist/esnext/utilities/matchPath.d.ts +10 -0
- package/dist/esnext/utilities/matchPath.js +54 -0
- package/dist/esnext/utilities/{meaurement.d.ts → measurement.d.ts} +0 -0
- package/dist/esnext/utilities/{meaurement.js → measurement.js} +0 -0
- package/dist/esnext/utilities/object.d.ts +5 -0
- package/dist/esnext/utilities/object.js +7 -0
- package/dist/esnext/utilities/parse.d.ts +1 -0
- package/dist/esnext/utilities/parse.js +9 -0
- package/dist/esnext/utilities/parseMetafield/index.d.ts +1 -0
- package/dist/esnext/utilities/parseMetafield/index.js +1 -0
- package/dist/esnext/utilities/parseMetafield/parseMetafield.d.ts +15 -0
- package/dist/esnext/utilities/parseMetafield/parseMetafield.js +62 -0
- package/dist/esnext/utilities/storefrontApi.d.ts +5 -0
- package/dist/esnext/utilities/storefrontApi.js +26 -0
- package/dist/esnext/utilities/suspense.d.ts +7 -2
- package/dist/esnext/utilities/suspense.js +32 -6
- package/dist/esnext/utilities/template.d.ts +9 -0
- package/dist/esnext/utilities/template.js +22 -0
- package/dist/esnext/utilities/timing.d.ts +7 -0
- package/dist/esnext/utilities/timing.js +14 -0
- package/dist/esnext/{components/MediaFile/MediaFileFragment.js → utilities/web-api-polyfill.d.ts} +0 -0
- package/dist/esnext/utilities/web-api-polyfill.js +25 -0
- package/dist/esnext/version.d.ts +1 -1
- package/dist/esnext/version.js +1 -1
- package/dist/node/framework/cache/in-memory.d.ts +17 -0
- package/dist/node/framework/cache/in-memory.js +84 -0
- package/dist/node/framework/graphiql.d.ts +1 -1
- package/dist/node/framework/graphiql.js +1 -2
- package/dist/node/framework/load-config.d.ts +5 -0
- package/dist/node/framework/load-config.js +11 -0
- package/dist/node/framework/middleware.d.ts +11 -7
- package/dist/node/framework/middleware.js +56 -73
- package/dist/node/framework/plugin.d.ts +5 -3
- package/dist/node/framework/plugin.js +27 -8
- package/dist/node/framework/plugins/vite-plugin-client-imports.d.ts +2 -0
- package/dist/node/framework/plugins/vite-plugin-client-imports.js +28 -0
- package/dist/node/framework/plugins/vite-plugin-css-modules-rsc.d.ts +2 -0
- package/dist/node/framework/plugins/vite-plugin-css-modules-rsc.js +104 -0
- package/dist/node/framework/plugins/vite-plugin-hydration-auto-import.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-hydration-auto-import.js +40 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-client-middleware.d.ts +9 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-client-middleware.js +38 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-config.d.ts +1 -1
- package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +79 -20
- package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +10 -3
- package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.js +48 -7
- package/dist/node/framework/plugins/vite-plugin-hydrogen-rsc.d.ts +2 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-rsc.js +29 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-suppress-warnings.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-suppress-warnings.js +21 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-virtual-files.d.ts +7 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-virtual-files.js +107 -0
- package/dist/node/framework/plugins/vite-plugin-platform-entry.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-platform-entry.js +75 -0
- package/dist/node/framework/plugins/vite-plugin-purge-query-cache.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-purge-query-cache.js +16 -0
- package/dist/node/framework/plugins/vite-plugin-ssr-interop.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-ssr-interop.js +18 -0
- package/dist/node/framework/types.d.ts +6 -0
- package/dist/node/{foundation/ShopifyProvider → framework}/types.js +0 -0
- package/dist/node/framework/viteception.d.ts +5 -0
- package/dist/node/framework/viteception.js +20 -0
- package/dist/node/shared-types.d.ts +27 -0
- package/dist/node/shared-types.js +5 -0
- package/dist/{esnext/components/Metafield/MetafieldFragment.js → node/utilities/web-api-polyfill.d.ts} +0 -0
- package/dist/node/utilities/web-api-polyfill.js +53 -0
- package/package.json +101 -56
- package/vendor/react-server-dom-vite/LICENSE +21 -0
- package/vendor/react-server-dom-vite/README.md +5 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-plugin.js +600 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.development.server.js +1808 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.production.min.server.js +47 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.development.server.js +1882 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.production.min.server.js +47 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.development.js +629 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.production.min.js +19 -0
- package/vendor/react-server-dom-vite/esm/package.json +3 -0
- package/vendor/react-server-dom-vite/esm/react-server-dom-vite-client-proxy.js +83 -0
- package/vendor/react-server-dom-vite/esm/react-server-dom-vite-plugin.js +596 -0
- package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.browser.server.js +1800 -0
- package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.node.server.js +1874 -0
- package/vendor/react-server-dom-vite/esm/react-server-dom-vite.js +619 -0
- package/vendor/react-server-dom-vite/index.js +7 -0
- package/vendor/react-server-dom-vite/package.json +67 -0
- package/vendor/react-server-dom-vite/plugin.js +3 -0
- package/vendor/react-server-dom-vite/writer.browser.server.js +7 -0
- package/vendor/react-server-dom-vite/writer.node.server.js +7 -0
- package/client.d.ts +0 -1
- package/client.js +0 -1
- package/dist/esnext/components/BuyNowButton/BuyNowButton.d.ts +0 -12
- package/dist/esnext/components/BuyNowButton/BuyNowButton.js +0 -29
- package/dist/esnext/components/CartContainer/CartContainer.client.d.ts +0 -9
- package/dist/esnext/components/CartContainer/CartContainer.client.js +0 -24
- package/dist/esnext/components/CartContainer/index.d.ts +0 -1
- package/dist/esnext/components/CartContainer/index.js +0 -1
- package/dist/esnext/components/CartLineAttributes/CartLineAttributes.client.d.ts +0 -10
- package/dist/esnext/components/CartLineAttributes/CartLineAttributes.client.js +0 -9
- package/dist/esnext/components/CartLineAttributes/index.d.ts +0 -1
- package/dist/esnext/components/CartLineAttributes/index.js +0 -1
- package/dist/esnext/components/CartLineProvider/hooks.d.ts +0 -26
- package/dist/esnext/components/CartLineSelectedOptions/CartLineSelectedOptions.client.d.ts +0 -10
- package/dist/esnext/components/CartLineSelectedOptions/CartLineSelectedOptions.client.js +0 -9
- package/dist/esnext/components/CartLineSelectedOptions/index.d.ts +0 -1
- package/dist/esnext/components/CartLineSelectedOptions/index.js +0 -1
- package/dist/esnext/components/CartLines/CartLines.d.ts +0 -7
- package/dist/esnext/components/CartProvider/CartServerProvider.server.d.ts +0 -11
- package/dist/esnext/components/CartProvider/CartServerProvider.server.js +0 -20
- package/dist/esnext/components/CartProvider/hooks.d.ts +0 -18
- package/dist/esnext/components/CartProvider/hooks.js +0 -79
- package/dist/esnext/components/CartToggle/CartToggle.client.d.ts +0 -8
- package/dist/esnext/components/CartToggle/CartToggle.client.js +0 -11
- package/dist/esnext/components/CartToggle/index.d.ts +0 -1
- package/dist/esnext/components/CartToggle/index.js +0 -1
- package/dist/esnext/components/CartTotal/CartTotal.client.d.ts +0 -3
- package/dist/esnext/components/CartTotal/CartTotal.client.js +0 -8
- package/dist/esnext/components/CartTotal/index.d.ts +0 -1
- package/dist/esnext/components/CartTotal/index.js +0 -1
- package/dist/esnext/components/CartUIProvider/CartUIProvider.client.d.ts +0 -5
- package/dist/esnext/components/CartUIProvider/CartUIProvider.client.js +0 -26
- package/dist/esnext/components/CartUIProvider/context.d.ts +0 -9
- package/dist/esnext/components/CartUIProvider/context.js +0 -2
- package/dist/esnext/components/CartUIProvider/hooks.d.ts +0 -1
- package/dist/esnext/components/CartUIProvider/hooks.js +0 -9
- package/dist/esnext/components/CartUIProvider/index.d.ts +0 -2
- package/dist/esnext/components/CartUIProvider/index.js +0 -2
- package/dist/esnext/components/ExternalVideo/ExternalVideoFragment.d.ts +0 -4
- package/dist/esnext/components/Image/ImageFragment.d.ts +0 -4
- package/dist/esnext/components/LocalizationProvider/LocalizationQuery.d.ts +0 -18
- package/dist/esnext/components/LocalizationProvider/hooks.d.ts +0 -8
- package/dist/esnext/components/LocalizationProvider/hooks.js +0 -17
- package/dist/esnext/components/MediaFile/MediaFileFragment.d.ts +0 -22
- package/dist/esnext/components/Metafield/MetafieldFragment.d.ts +0 -4
- package/dist/esnext/components/Model3D/Model3D.client.d.ts +0 -25
- package/dist/esnext/components/Model3D/Model3D.client.js +0 -30
- package/dist/esnext/components/Model3D/Model3DFragment.d.ts +0 -11
- package/dist/esnext/components/Model3D/Model3DFragment.js +0 -1
- package/dist/esnext/components/Model3D/index.d.ts +0 -1
- package/dist/esnext/components/Model3D/index.js +0 -1
- package/dist/esnext/components/ProductDescription/ProductDescription.client.d.ts +0 -3
- package/dist/esnext/components/ProductDescription/ProductDescription.client.js +0 -10
- package/dist/esnext/components/ProductDescription/index.d.ts +0 -1
- package/dist/esnext/components/ProductDescription/index.js +0 -1
- package/dist/esnext/components/ProductMetafield/ProductMetafield.client.d.ts +0 -7
- package/dist/esnext/components/ProductMetafield/ProductMetafield.client.js +0 -16
- package/dist/esnext/components/ProductMetafield/index.d.ts +0 -1
- package/dist/esnext/components/ProductMetafield/index.js +0 -1
- package/dist/esnext/components/ProductProvider/ProductProvider.client.d.ts +0 -7
- package/dist/esnext/components/ProductProvider/ProductProvider.client.js +0 -35
- package/dist/esnext/components/ProductProvider/ProductProviderFragment.d.ts +0 -96
- package/dist/esnext/components/ProductProvider/ProductProviderFragment.js +0 -1
- package/dist/esnext/components/ProductProvider/context.d.ts +0 -13
- package/dist/esnext/components/ProductProvider/context.js +0 -2
- package/dist/esnext/components/ProductProvider/hooks.d.ts +0 -1
- package/dist/esnext/components/ProductProvider/hooks.js +0 -6
- package/dist/esnext/components/ProductProvider/index.d.ts +0 -2
- package/dist/esnext/components/ProductProvider/index.js +0 -2
- package/dist/esnext/components/ProductProvider/types.d.ts +0 -5
- package/dist/esnext/components/ProductTitle/ProductTitle.client.d.ts +0 -3
- package/dist/esnext/components/ProductTitle/ProductTitle.client.js +0 -11
- package/dist/esnext/components/ProductTitle/index.d.ts +0 -1
- package/dist/esnext/components/ProductTitle/index.js +0 -1
- package/dist/esnext/components/RawHtml/RawHtml.d.ts +0 -7
- package/dist/esnext/components/RawHtml/RawHtml.js +0 -13
- package/dist/esnext/components/RawHtml/index.d.ts +0 -1
- package/dist/esnext/components/RawHtml/index.js +0 -1
- package/dist/esnext/components/SelectedVariantAddToCartButton/SelectedVariantAddToCartButton.client.d.ts +0 -6
- package/dist/esnext/components/SelectedVariantAddToCartButton/SelectedVariantAddToCartButton.client.js +0 -12
- package/dist/esnext/components/SelectedVariantAddToCartButton/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantAddToCartButton/index.js +0 -1
- package/dist/esnext/components/SelectedVariantBuyNowButton/SelectedVariantBuyNowButton.d.ts +0 -4
- package/dist/esnext/components/SelectedVariantBuyNowButton/SelectedVariantBuyNowButton.js +0 -12
- package/dist/esnext/components/SelectedVariantBuyNowButton/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantBuyNowButton/index.js +0 -1
- package/dist/esnext/components/SelectedVariantImage/SelectedVariantImage.client.d.ts +0 -6
- package/dist/esnext/components/SelectedVariantImage/SelectedVariantImage.client.js +0 -12
- package/dist/esnext/components/SelectedVariantImage/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantImage/index.js +0 -1
- package/dist/esnext/components/SelectedVariantMetafield/SelectedVariantMetafield.client.d.ts +0 -7
- package/dist/esnext/components/SelectedVariantMetafield/SelectedVariantMetafield.client.js +0 -15
- package/dist/esnext/components/SelectedVariantMetafield/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantMetafield/index.js +0 -1
- package/dist/esnext/components/SelectedVariantPrice/SelectedVariantPrice.client.d.ts +0 -6
- package/dist/esnext/components/SelectedVariantPrice/SelectedVariantPrice.client.js +0 -18
- package/dist/esnext/components/SelectedVariantPrice/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantPrice/index.js +0 -1
- package/dist/esnext/components/SelectedVariantShopPayButton/SelectedVariantShopPayButton.client.d.ts +0 -2
- package/dist/esnext/components/SelectedVariantShopPayButton/SelectedVariantShopPayButton.client.js +0 -12
- package/dist/esnext/components/SelectedVariantShopPayButton/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantShopPayButton/index.js +0 -1
- package/dist/esnext/components/SelectedVariantUnitPrice/SelectedVariantUnitPrice.client.d.ts +0 -3
- package/dist/esnext/components/SelectedVariantUnitPrice/SelectedVariantUnitPrice.client.js +0 -12
- package/dist/esnext/components/SelectedVariantUnitPrice/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantUnitPrice/index.js +0 -1
- package/dist/esnext/components/UnitPrice/UnitPrice.client.d.ts +0 -8
- package/dist/esnext/components/UnitPrice/UnitPrice.client.js +0 -16
- package/dist/esnext/components/UnitPrice/index.d.ts +0 -1
- package/dist/esnext/components/UnitPrice/index.js +0 -1
- package/dist/esnext/components/Video/VideoFragment.d.ts +0 -11
- package/dist/esnext/components/Video/VideoFragment.js +0 -1
- package/dist/esnext/foundation/ClientMarker/ClientMarker.d.ts +0 -10
- package/dist/esnext/foundation/ClientMarker/ClientMarker.js +0 -25
- package/dist/esnext/foundation/ClientMarker/index.d.ts +0 -1
- package/dist/esnext/foundation/ClientMarker/index.js +0 -1
- package/dist/esnext/foundation/Hydration/Cache.client.d.ts +0 -9
- package/dist/esnext/foundation/Hydration/Cache.client.js +0 -131
- package/dist/esnext/foundation/Hydration/ClientComponents.server.d.ts +0 -13
- package/dist/esnext/foundation/Hydration/ClientComponents.server.js +0 -18
- package/dist/esnext/foundation/Hydration/Html.d.ts +0 -5
- package/dist/esnext/foundation/Hydration/Html.js +0 -9
- package/dist/esnext/foundation/Hydration/HydrationContext.server.d.ts +0 -1
- package/dist/esnext/foundation/Hydration/HydrationContext.server.js +0 -2
- package/dist/esnext/foundation/Hydration/ServerComponentRequest.server.d.ts +0 -13
- package/dist/esnext/foundation/Hydration/ServerComponentRequest.server.js +0 -39
- package/dist/esnext/foundation/Hydration/ServerComponentResponse.server.d.ts +0 -18
- package/dist/esnext/foundation/Hydration/ServerComponentResponse.server.js +0 -35
- package/dist/esnext/foundation/Hydration/react-utils.d.ts +0 -5
- package/dist/esnext/foundation/Hydration/react-utils.js +0 -55
- package/dist/esnext/foundation/Hydration/wire.server.d.ts +0 -4
- package/dist/esnext/foundation/Hydration/wire.server.js +0 -75
- package/dist/esnext/foundation/Hydration/writer.server.d.ts +0 -14
- package/dist/esnext/foundation/Hydration/writer.server.js +0 -29
- package/dist/esnext/foundation/Router/DefaultRoutes.d.ts +0 -20
- package/dist/esnext/foundation/Router/DefaultRoutes.js +0 -54
- package/dist/esnext/foundation/Router/ServerStateRouter.client.d.ts +0 -6
- package/dist/esnext/foundation/Router/ServerStateRouter.client.js +0 -27
- package/dist/esnext/foundation/Router/index.d.ts +0 -1
- package/dist/esnext/foundation/Router/index.js +0 -1
- package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.client.d.ts +0 -11
- package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.client.js +0 -48
- package/dist/esnext/foundation/ServerStateProvider/index.d.ts +0 -1
- package/dist/esnext/foundation/ServerStateProvider/index.js +0 -1
- package/dist/esnext/foundation/ShopifyProvider/ShopifyContext.d.ts +0 -1
- package/dist/esnext/foundation/ShopifyProvider/ShopifyContext.js +0 -2
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.d.ts +0 -3
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.js +0 -11
- package/dist/esnext/foundation/ShopifyProvider/ShopifyServerProvider.server.d.ts +0 -8
- package/dist/esnext/foundation/ShopifyProvider/ShopifyServerProvider.server.js +0 -7
- package/dist/esnext/foundation/ShopifyProvider/hooks.d.ts +0 -2
- package/dist/esnext/foundation/ShopifyProvider/hooks.js +0 -9
- package/dist/esnext/framework/plugins/vite-plugin-react-server-components-shim.js +0 -123
- package/dist/esnext/framework/server-components.d.ts +0 -12
- package/dist/esnext/framework/server-components.js +0 -72
- package/dist/esnext/graphql/graphql-constants.d.ts +0 -1295
- package/dist/esnext/graphql/graphql-constants.js +0 -2482
- package/dist/esnext/handle-event.d.ts +0 -20
- package/dist/esnext/handle-event.js +0 -140
- package/dist/esnext/handle-worker-event.d.ts +0 -11
- package/dist/esnext/handle-worker-event.js +0 -14
- package/dist/esnext/hooks/useParsedMetafields/hooks.d.ts +0 -3
- package/dist/esnext/hooks/useParsedMetafields/hooks.js +0 -15
- package/dist/esnext/hooks/useParsedMetafields/index.d.ts +0 -1
- package/dist/esnext/hooks/useParsedMetafields/index.js +0 -1
- package/dist/esnext/hooks/useProductOptions/useProductOptions.d.ts +0 -23
- package/dist/esnext/hooks/useProductOptions/useProductOptions.js +0 -84
- package/dist/esnext/hooks/useQuery/QueryProvider.d.ts +0 -6
- package/dist/esnext/hooks/useQuery/QueryProvider.js +0 -13
- package/dist/esnext/hooks/useQuery/hooks.d.ts +0 -12
- package/dist/esnext/hooks/useQuery/hooks.js +0 -28
- package/dist/esnext/hooks/useQuery/index.d.ts +0 -2
- package/dist/esnext/hooks/useQuery/index.js +0 -2
- package/dist/esnext/utilities/connections.d.ts +0 -2
- package/dist/esnext/utilities/connections.js +0 -4
- package/dist/esnext/utilities/environment.d.ts +0 -2
- package/dist/esnext/utilities/environment.js +0 -2
- package/dist/esnext/utilities/metafields.d.ts +0 -2
- package/dist/esnext/utilities/metafields.js +0 -32
- package/dist/node/foundation/ClientMarker/ClientMarker.d.ts +0 -10
- package/dist/node/foundation/ClientMarker/ClientMarker.js +0 -48
- package/dist/node/foundation/ClientMarker/index.d.ts +0 -1
- package/dist/node/foundation/ClientMarker/index.js +0 -13
- package/dist/node/foundation/Hydration/HydrationContext.server.d.ts +0 -1
- package/dist/node/foundation/Hydration/HydrationContext.server.js +0 -5
- package/dist/node/foundation/Hydration/ServerComponentRequest.server.d.ts +0 -13
- package/dist/node/foundation/Hydration/ServerComponentRequest.server.js +0 -43
- package/dist/node/foundation/Hydration/ServerComponentResponse.server.d.ts +0 -18
- package/dist/node/foundation/Hydration/ServerComponentResponse.server.js +0 -39
- package/dist/node/foundation/Hydration/react-utils.d.ts +0 -5
- package/dist/node/foundation/Hydration/react-utils.js +0 -63
- package/dist/node/foundation/Router/DefaultRoutes.d.ts +0 -20
- package/dist/node/foundation/Router/DefaultRoutes.js +0 -78
- package/dist/node/foundation/Router/index.d.ts +0 -1
- package/dist/node/foundation/Router/index.js +0 -5
- package/dist/node/foundation/ShopifyProvider/ShopifyContext.d.ts +0 -1
- package/dist/node/foundation/ShopifyProvider/ShopifyContext.js +0 -5
- package/dist/node/foundation/ShopifyProvider/ShopifyProvider.d.ts +0 -3
- package/dist/node/foundation/ShopifyProvider/ShopifyProvider.js +0 -34
- package/dist/node/foundation/ShopifyProvider/ShopifyServerProvider.server.d.ts +0 -8
- package/dist/node/foundation/ShopifyProvider/ShopifyServerProvider.server.js +0 -14
- package/dist/node/foundation/ShopifyProvider/hooks.d.ts +0 -2
- package/dist/node/foundation/ShopifyProvider/hooks.js +0 -13
- package/dist/node/foundation/ShopifyProvider/index.d.ts +0 -2
- package/dist/node/foundation/ShopifyProvider/index.js +0 -8
- package/dist/node/foundation/ShopifyProvider/types.d.ts +0 -12
- package/dist/node/foundation/index.d.ts +0 -4
- package/dist/node/foundation/index.js +0 -13
- package/dist/node/framework/plugins/vite-plugin-react-server-components-shim.js +0 -128
- package/dist/node/framework/server-components.d.ts +0 -12
- package/dist/node/framework/server-components.js +0 -77
- package/dist/node/graphql/types/types.d.ts +0 -5583
- package/dist/node/graphql/types/types.js +0 -1417
- package/dist/node/handle-event.d.ts +0 -20
- package/dist/node/handle-event.js +0 -143
- package/dist/node/hooks/useQuery/QueryProvider.d.ts +0 -6
- package/dist/node/hooks/useQuery/QueryProvider.js +0 -20
- package/dist/node/hooks/useQuery/hooks.d.ts +0 -12
- package/dist/node/hooks/useQuery/hooks.js +0 -32
- package/dist/node/hooks/useQuery/index.d.ts +0 -2
- package/dist/node/hooks/useQuery/index.js +0 -14
- package/dist/node/types.d.ts +0 -62
- package/dist/node/types.js +0 -2
- package/dist/worker/foundation/Hydration/ServerComponentRequest.server.d.ts +0 -13
- package/dist/worker/foundation/Hydration/ServerComponentRequest.server.js +0 -39
- package/dist/worker/foundation/Hydration/ServerComponentResponse.server.d.ts +0 -18
- package/dist/worker/foundation/Hydration/ServerComponentResponse.server.js +0 -35
- package/dist/worker/graphql/types/types.d.ts +0 -5583
- package/dist/worker/graphql/types/types.js +0 -1414
- package/dist/worker/handle-event.d.ts +0 -20
- package/dist/worker/handle-event.js +0 -140
- package/dist/worker/handle-worker-event.d.ts +0 -11
- package/dist/worker/handle-worker-event.js +0 -14
- package/dist/worker/types.d.ts +0 -62
- package/entry-client.d.ts +0 -1
- package/entry-client.js +0 -1
- package/entry-server.d.ts +0 -1
- package/entry-server.js +0 -1
- package/marker.js +0 -1
- package/middleware.d.ts +0 -1
- package/middleware.js +0 -1
- package/plugin.d.ts +0 -1
- package/plugin.js +0 -1
- package/worker.js +0 -1
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { createElement, Fragment } from 'react';
|
|
2
|
-
import { wrapPromise } from '../../utilities';
|
|
3
|
-
const cache = new Map();
|
|
4
|
-
/**
|
|
5
|
-
* Much of this is borrowed from React's demo implementation:
|
|
6
|
-
* @see https://github.com/reactjs/server-components-demo/blob/main/src/Cache.client.js
|
|
7
|
-
*
|
|
8
|
-
* Note that we'd want to add some other constraints and controls around caching here.
|
|
9
|
-
*/
|
|
10
|
-
export function useServerResponse(state) {
|
|
11
|
-
const key = JSON.stringify(state);
|
|
12
|
-
let response = cache.get(key);
|
|
13
|
-
if (response) {
|
|
14
|
-
return response;
|
|
15
|
-
}
|
|
16
|
-
response = createFromFetch(fetch('/react?state=' + encodeURIComponent(key)));
|
|
17
|
-
cache.set(key, response);
|
|
18
|
-
return response;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Similar to the RSC demo, `createFromFetch` wraps around a fetch call and throws
|
|
22
|
-
* promise events to the Suspense boundary until the content has loaded.
|
|
23
|
-
*/
|
|
24
|
-
function createFromFetch(fetchPromise) {
|
|
25
|
-
return wrapPromise(fetchPromise
|
|
26
|
-
.then((response) => {
|
|
27
|
-
if (!response.ok) {
|
|
28
|
-
throw new Error(`Hydration request failed: ${response.statusText}`);
|
|
29
|
-
}
|
|
30
|
-
return response.text();
|
|
31
|
-
})
|
|
32
|
-
.then((payload) => {
|
|
33
|
-
return convertHydrationResponseToReactComponents(payload);
|
|
34
|
-
})
|
|
35
|
-
.catch((e) => {
|
|
36
|
-
console.error(e);
|
|
37
|
-
}));
|
|
38
|
-
}
|
|
39
|
-
export async function convertHydrationResponseToReactComponents(response) {
|
|
40
|
-
const manifest = createManifestFromWirePayload(response);
|
|
41
|
-
/**
|
|
42
|
-
* Eager-load all the modules referenced in the manifest. Otherwise,
|
|
43
|
-
* Hydration errors crop up and show in the console.
|
|
44
|
-
*/
|
|
45
|
-
const modules = await eagerLoadModules(manifest);
|
|
46
|
-
function isReactTuple(item) {
|
|
47
|
-
return item instanceof Array && item.length === 4 && item[0] === '$';
|
|
48
|
-
}
|
|
49
|
-
function isReactTupleOrString(item) {
|
|
50
|
-
return typeof item === 'string' || isReactTuple(item);
|
|
51
|
-
}
|
|
52
|
-
function isReactTupleOrArrayOfTuples(item) {
|
|
53
|
-
return isReactTupleOrString(item) || isReactTupleOrString(item[0]);
|
|
54
|
-
}
|
|
55
|
-
function wireSyntaxToReactElement(item, key) {
|
|
56
|
-
if (typeof item === 'string')
|
|
57
|
-
return item;
|
|
58
|
-
if (typeof item !== 'object')
|
|
59
|
-
return null;
|
|
60
|
-
// Assume it's an array of tuples, defined in the component as a fragment.
|
|
61
|
-
if (!isReactTuple(item)) {
|
|
62
|
-
return createElement(Fragment, {
|
|
63
|
-
children: item.map(wireSyntaxToReactElement),
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
let [, type, , props] = item;
|
|
67
|
-
const allProps = { ...props };
|
|
68
|
-
/**
|
|
69
|
-
* Convert all props (including children) that may be serialized as tuples
|
|
70
|
-
* or arrays of tuples into React elements.
|
|
71
|
-
*/
|
|
72
|
-
Object.entries(allProps).map(([key, prop]) => {
|
|
73
|
-
if (prop instanceof Array && isReactTupleOrArrayOfTuples(prop)) {
|
|
74
|
-
/**
|
|
75
|
-
* - Array of children tuples
|
|
76
|
-
* - ...or a list of children, combo of strings and tuples, produced by dangerouslySetInnerHtml
|
|
77
|
-
*/
|
|
78
|
-
if (prop.every(isReactTupleOrString)) {
|
|
79
|
-
allProps[key] = prop.map(wireSyntaxToReactElement);
|
|
80
|
-
/**
|
|
81
|
-
* - Single tuple
|
|
82
|
-
*/
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
allProps[key] = wireSyntaxToReactElement(prop);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
/**
|
|
90
|
-
* If the type is a module and not a React Symbol, reference the component
|
|
91
|
-
* listed in the manifest as `M<number>` and lazy-load it.
|
|
92
|
-
* `lazy()` throws Suspense promises until the component has loaded.
|
|
93
|
-
*/
|
|
94
|
-
if (type.startsWith('@')) {
|
|
95
|
-
const module = manifest[type.replace('@', 'M')];
|
|
96
|
-
const mod = modules[type.replace('@', 'M')];
|
|
97
|
-
type = module.named ? mod[module.name] : mod.default;
|
|
98
|
-
}
|
|
99
|
-
return createElement(type, { ...allProps, key });
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* The manifest is listed as `J0` for some reason. This is how React does it.
|
|
103
|
-
* Maybe this is to support for additional model trees like `J1`?
|
|
104
|
-
*
|
|
105
|
-
* Regardless, this is guaranteed to exist from our server response.
|
|
106
|
-
*/
|
|
107
|
-
return wireSyntaxToReactElement(manifest.J0);
|
|
108
|
-
}
|
|
109
|
-
function createManifestFromWirePayload(payload) {
|
|
110
|
-
return payload.split('\n').reduce((memo, row) => {
|
|
111
|
-
const [key, ...values] = row.split(':');
|
|
112
|
-
memo[key] = JSON.parse(values.join(':'));
|
|
113
|
-
return memo;
|
|
114
|
-
}, {});
|
|
115
|
-
}
|
|
116
|
-
async function eagerLoadModules(manifest) {
|
|
117
|
-
const modules = await Promise.all(Object.entries(manifest)
|
|
118
|
-
.map(([key, module]) => {
|
|
119
|
-
if (!key.startsWith('M'))
|
|
120
|
-
return;
|
|
121
|
-
return import(/* @vite-ignore */ module.id);
|
|
122
|
-
})
|
|
123
|
-
.filter(Boolean));
|
|
124
|
-
return Object.keys(manifest)
|
|
125
|
-
.filter((key) => key.startsWith('M'))
|
|
126
|
-
.map((key, idx) => [key, modules[idx]])
|
|
127
|
-
.reduce((memo, item) => {
|
|
128
|
-
memo[item[0]] = item[1];
|
|
129
|
-
return memo;
|
|
130
|
-
}, {});
|
|
131
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export interface ClientModule {
|
|
2
|
-
name: string;
|
|
3
|
-
id: string;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Track the client components discovered while rendering SSR output to wire syntax.
|
|
7
|
-
*/
|
|
8
|
-
export declare class ClientComponents {
|
|
9
|
-
modules: string[];
|
|
10
|
-
add(module: ClientModule): number;
|
|
11
|
-
indexOf(module: ClientModule): number;
|
|
12
|
-
all(): any[];
|
|
13
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Track the client components discovered while rendering SSR output to wire syntax.
|
|
3
|
-
*/
|
|
4
|
-
export class ClientComponents {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.modules = [];
|
|
7
|
-
}
|
|
8
|
-
add(module) {
|
|
9
|
-
this.modules.push(JSON.stringify(module));
|
|
10
|
-
return this.modules.length;
|
|
11
|
-
}
|
|
12
|
-
indexOf(module) {
|
|
13
|
-
return this.modules.indexOf(JSON.stringify(module)) + 1;
|
|
14
|
-
}
|
|
15
|
-
all() {
|
|
16
|
-
return this.modules.map((module) => JSON.parse(module));
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/// <reference types="vite/client" />
|
|
2
|
-
import React from 'react';
|
|
3
|
-
export function Html({ children, head }) {
|
|
4
|
-
return (React.createElement("html", { lang: "en" },
|
|
5
|
-
React.createElement("head", { dangerouslySetInnerHTML: { __html: head } }),
|
|
6
|
-
React.createElement("body", null,
|
|
7
|
-
React.createElement("div", { id: "root" }, children),
|
|
8
|
-
import.meta.env.DEV && (React.createElement("script", { type: "module", src: "/src/entry-client.jsx" })))));
|
|
9
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const HydrationContext: import("react").Context<boolean>;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This augments the `Request` object from the Fetch API:
|
|
3
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/Request
|
|
4
|
-
*
|
|
5
|
-
* - Adds a `cookies` map for easy access
|
|
6
|
-
* - Adds a static constructor to convert a Node.js `IncomingMessage` to a Request.
|
|
7
|
-
*/
|
|
8
|
-
export declare class ServerComponentRequest extends Request {
|
|
9
|
-
cookies: Map<string, string>;
|
|
10
|
-
constructor(input: any);
|
|
11
|
-
constructor(input: RequestInfo, init?: RequestInit);
|
|
12
|
-
private parseCookies;
|
|
13
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This augments the `Request` object from the Fetch API:
|
|
3
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/Request
|
|
4
|
-
*
|
|
5
|
-
* - Adds a `cookies` map for easy access
|
|
6
|
-
* - Adds a static constructor to convert a Node.js `IncomingMessage` to a Request.
|
|
7
|
-
*/
|
|
8
|
-
export class ServerComponentRequest extends Request {
|
|
9
|
-
constructor(input, init) {
|
|
10
|
-
if (input instanceof Request) {
|
|
11
|
-
super(input, init);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
super(getUrlFromNodeRequest(input), {
|
|
15
|
-
headers: new Headers(input.headers),
|
|
16
|
-
method: input.method,
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
this.cookies = this.parseCookies();
|
|
20
|
-
}
|
|
21
|
-
parseCookies() {
|
|
22
|
-
const cookieString = this.headers.get('cookie') || '';
|
|
23
|
-
return new Map(cookieString
|
|
24
|
-
.split(';')
|
|
25
|
-
.map((chunk) => chunk.trim().split('=')));
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* @see https://github.com/frandiox/vitedge/blob/17f3cd943e86d7c0c71a862985ddd6caa2899425/src/node/utils.js#L19-L24
|
|
30
|
-
*
|
|
31
|
-
* Note: Request can sometimes be an instance of Express request, where `originalUrl` is the true source of what the
|
|
32
|
-
* URL pathname is. We want to use that if it's present, so we union type this to `any`.
|
|
33
|
-
*/
|
|
34
|
-
function getUrlFromNodeRequest(request) {
|
|
35
|
-
var _a;
|
|
36
|
-
// TODO: Find out how to determine https from `request` object without forwarded proto
|
|
37
|
-
const secure = request.headers['x-forwarded-proto'] === 'https';
|
|
38
|
-
return new URL(`${secure ? 'https' : 'http'}://${request.headers.host + ((_a = request.originalUrl) !== null && _a !== void 0 ? _a : request.url)}`).toString();
|
|
39
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export declare class ServerComponentResponse extends Response {
|
|
2
|
-
private wait;
|
|
3
|
-
/**
|
|
4
|
-
* Allow custom body to be a string or a Promise.
|
|
5
|
-
*/
|
|
6
|
-
customBody: string | Promise<string>;
|
|
7
|
-
/**
|
|
8
|
-
* Buffer the current response until all queries have resolved,
|
|
9
|
-
* and prevent it from streaming back early.
|
|
10
|
-
*/
|
|
11
|
-
doNotStream(): void;
|
|
12
|
-
canStream(): boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Send the response from a Server Component. Renders React components to string,
|
|
15
|
-
* and returns `null` to make React happy.
|
|
16
|
-
*/
|
|
17
|
-
send(body: any): null;
|
|
18
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { renderToString } from 'react-dom/server';
|
|
2
|
-
export class ServerComponentResponse extends Response {
|
|
3
|
-
constructor() {
|
|
4
|
-
super(...arguments);
|
|
5
|
-
this.wait = false;
|
|
6
|
-
/**
|
|
7
|
-
* Allow custom body to be a string or a Promise.
|
|
8
|
-
*/
|
|
9
|
-
this.customBody = '';
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Buffer the current response until all queries have resolved,
|
|
13
|
-
* and prevent it from streaming back early.
|
|
14
|
-
*/
|
|
15
|
-
doNotStream() {
|
|
16
|
-
this.wait = true;
|
|
17
|
-
}
|
|
18
|
-
canStream() {
|
|
19
|
-
return !this.wait;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Send the response from a Server Component. Renders React components to string,
|
|
23
|
-
* and returns `null` to make React happy.
|
|
24
|
-
*/
|
|
25
|
-
send(body) {
|
|
26
|
-
if (typeof body === 'object' &&
|
|
27
|
-
body.$$typeof === Symbol.for('react.element')) {
|
|
28
|
-
this.customBody = renderToString(body);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
this.customBody = body;
|
|
32
|
-
}
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Iterate through each prop in an object and render it to an object.
|
|
3
|
-
*/
|
|
4
|
-
export declare function renderReactProps(props: any): Record<string, any>;
|
|
5
|
-
export declare function parseReactFromString(input: string, options?: any): string | JSX.Element | JSX.Element[];
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { renderToString } from 'react-dom/server';
|
|
2
|
-
/**
|
|
3
|
-
* Load `domToReact` from within the library so it doesn't try to load `htmlToDom`
|
|
4
|
-
* which seems to always resolve to the client version, even though we want server.
|
|
5
|
-
*/
|
|
6
|
-
import domToReact from 'html-react-parser/lib/dom-to-react';
|
|
7
|
-
import htmlToDOM from 'html-dom-parser';
|
|
8
|
-
/**
|
|
9
|
-
* Iterate through each prop in an object and render it to an object.
|
|
10
|
-
*/
|
|
11
|
-
export function renderReactProps(props) {
|
|
12
|
-
return Object.entries(props).reduce((memo, [key, prop]) => {
|
|
13
|
-
if (prop instanceof Array) {
|
|
14
|
-
memo[key] = prop.map((p) => renderReactProp(p));
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
memo[key] = renderReactProp(prop);
|
|
18
|
-
}
|
|
19
|
-
return memo;
|
|
20
|
-
}, {});
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* If a prop is a React element (determined by the `$$typeof` property),
|
|
24
|
-
* check to see if it's a Function and call it. Otherwise, recursively
|
|
25
|
-
* render React props to support nested components.
|
|
26
|
-
*/
|
|
27
|
-
function renderReactProp(prop) {
|
|
28
|
-
if (typeof prop === 'object' &&
|
|
29
|
-
prop['$$typeof'] === Symbol.for('react.element')) {
|
|
30
|
-
if (prop.type instanceof Function) {
|
|
31
|
-
/**
|
|
32
|
-
* We can't simply call prop.type(), since this does funky things
|
|
33
|
-
* with hooks, etc. Instead, we render it to string and convert
|
|
34
|
-
* it to a React object. This *still* isn't a perfect approach
|
|
35
|
-
* because the component isn't wrapped in the same context
|
|
36
|
-
* that the developer may have intended. However, we can
|
|
37
|
-
* set expectations as thus when passing components as
|
|
38
|
-
* props within Server Components.
|
|
39
|
-
*/
|
|
40
|
-
return parseReactFromString(renderToString(prop));
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
return {
|
|
44
|
-
...prop,
|
|
45
|
-
props: renderReactProps(prop.props),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return prop;
|
|
50
|
-
}
|
|
51
|
-
export function parseReactFromString(input, options = {}) {
|
|
52
|
-
return domToReact(
|
|
53
|
-
// @ts-ignore
|
|
54
|
-
htmlToDOM(input, { lowerCaseAttributeNames: false }), options);
|
|
55
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { ClientComponents } from './ClientComponents.server';
|
|
2
|
-
import { parseReactFromString } from './react-utils';
|
|
3
|
-
/**
|
|
4
|
-
* Parse the HTML and convert it to wire syntax model.
|
|
5
|
-
*/
|
|
6
|
-
export function generateWireSyntaxFromRenderedHtml(html) {
|
|
7
|
-
const clientComponents = new ClientComponents();
|
|
8
|
-
const wireModel = parseReactFromString(html, {
|
|
9
|
-
library: {
|
|
10
|
-
// @ts-ignore
|
|
11
|
-
createElement: convertToWireSyntax,
|
|
12
|
-
},
|
|
13
|
-
});
|
|
14
|
-
/**
|
|
15
|
-
* Converts each DOM element to React's "wire" syntax. (I came up with this name; not sure what it's called).
|
|
16
|
-
* This is a terse syntax that records the model tree as an array of tuples. It also lists the client
|
|
17
|
-
* components used with their corresponding IDs to import dynamically.
|
|
18
|
-
*/
|
|
19
|
-
function convertToWireSyntax(type, props, children) {
|
|
20
|
-
let componentType = type;
|
|
21
|
-
let componentProps = props;
|
|
22
|
-
if (props && props['data-client-component']) {
|
|
23
|
-
const component = {
|
|
24
|
-
name: props['data-client-component'],
|
|
25
|
-
id: props['data-id'],
|
|
26
|
-
named: props['data-named'] === 'true',
|
|
27
|
-
};
|
|
28
|
-
const index = clientComponents.indexOf(component) > 0
|
|
29
|
-
? clientComponents.indexOf(component)
|
|
30
|
-
: clientComponents.add(component);
|
|
31
|
-
componentType = `@${index}`;
|
|
32
|
-
componentProps = JSON.parse(props['data-props']);
|
|
33
|
-
}
|
|
34
|
-
convertComponentPropsToWireSyntax(componentProps !== null && componentProps !== void 0 ? componentProps : {});
|
|
35
|
-
if (isDomNode(children) ||
|
|
36
|
-
(children instanceof Array && children.some(isDomNode))) {
|
|
37
|
-
if (children instanceof Array) {
|
|
38
|
-
children = children.map((child) => {
|
|
39
|
-
if (typeof child === 'string') {
|
|
40
|
-
return child;
|
|
41
|
-
}
|
|
42
|
-
const { children, ...props } = child.props;
|
|
43
|
-
return convertToWireSyntax(child.type, props, children);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
const { children: childrenChildren, ...childrenProps } = children.props;
|
|
48
|
-
children = convertToWireSyntax(children.type, childrenProps, childrenChildren);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* TODO: The third position is actually supposed to be `key` I think.
|
|
53
|
-
* It's usually `null` which is what confused me. Find a way to pass
|
|
54
|
-
* through `key` here if we have one in `props`.
|
|
55
|
-
*/
|
|
56
|
-
return ['$', componentType, null, { ...componentProps, children }];
|
|
57
|
-
}
|
|
58
|
-
function convertComponentPropsToWireSyntax(componentProps) {
|
|
59
|
-
Object.entries(componentProps).forEach(([key, prop]) => {
|
|
60
|
-
if (isDomNode(prop)) {
|
|
61
|
-
const { children, ...props } = prop.props;
|
|
62
|
-
componentProps[key] = convertToWireSyntax(prop.type, props, children);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
return (clientComponents
|
|
67
|
-
.all()
|
|
68
|
-
.map((component, idx) => {
|
|
69
|
-
return `M${idx + 1}:${JSON.stringify(component)}`;
|
|
70
|
-
})
|
|
71
|
-
.join('\n') + `\nJ0:${JSON.stringify(wireModel)}`);
|
|
72
|
-
}
|
|
73
|
-
function isDomNode(item) {
|
|
74
|
-
return item !== null && typeof item === 'object' && '_owner' in item;
|
|
75
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HydrationWriter is an implementation of `WritableStream` which
|
|
3
|
-
* keeps track of chunks emitted from React's `pipeToNodeWritable`.
|
|
4
|
-
*/
|
|
5
|
-
export declare class HydrationWriter {
|
|
6
|
-
private chunks;
|
|
7
|
-
drainCallback: () => any;
|
|
8
|
-
write(chunk: any): void;
|
|
9
|
-
on(event: string, callback: any): void;
|
|
10
|
-
drain(): void;
|
|
11
|
-
destroy(): void;
|
|
12
|
-
end(): void;
|
|
13
|
-
toString(): string;
|
|
14
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HydrationWriter is an implementation of `WritableStream` which
|
|
3
|
-
* keeps track of chunks emitted from React's `pipeToNodeWritable`.
|
|
4
|
-
*/
|
|
5
|
-
export class HydrationWriter {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.chunks = [];
|
|
8
|
-
this.drainCallback = () => { };
|
|
9
|
-
}
|
|
10
|
-
write(chunk) {
|
|
11
|
-
this.chunks.push(chunk.toString());
|
|
12
|
-
}
|
|
13
|
-
on(event, callback) {
|
|
14
|
-
if (event === Events.drain) {
|
|
15
|
-
this.drainCallback = callback;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
drain() {
|
|
19
|
-
this.drainCallback();
|
|
20
|
-
}
|
|
21
|
-
destroy() { }
|
|
22
|
-
end() { }
|
|
23
|
-
toString() {
|
|
24
|
-
return this.chunks.join('');
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
const Events = {
|
|
28
|
-
drain: 'drain',
|
|
29
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from 'react';
|
|
2
|
-
export declare type ImportGlobEagerOutput = Record<string, Record<'default', any>>;
|
|
3
|
-
/**
|
|
4
|
-
* Build a set of default Hydrogen routes based on the output provided by Vite's
|
|
5
|
-
* import.meta.globEager method.
|
|
6
|
-
*
|
|
7
|
-
* @see https://vitejs.dev/guide/features.html#glob-import
|
|
8
|
-
*/
|
|
9
|
-
export declare function DefaultRoutes({ pages, serverState, fallback, }: {
|
|
10
|
-
pages: ImportGlobEagerOutput;
|
|
11
|
-
serverState: Record<string, any>;
|
|
12
|
-
fallback?: ReactElement;
|
|
13
|
-
}): JSX.Element;
|
|
14
|
-
interface HydrogenRoute {
|
|
15
|
-
component: any;
|
|
16
|
-
path: string;
|
|
17
|
-
exact: boolean;
|
|
18
|
-
}
|
|
19
|
-
export declare function createRoutesFromPages(pages: ImportGlobEagerOutput, topLevelPath?: string): HydrogenRoute[];
|
|
20
|
-
export {};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import React, { useMemo } from 'react';
|
|
2
|
-
import { Route, Switch, useRouteMatch } from 'react-router-dom';
|
|
3
|
-
/**
|
|
4
|
-
* Build a set of default Hydrogen routes based on the output provided by Vite's
|
|
5
|
-
* import.meta.globEager method.
|
|
6
|
-
*
|
|
7
|
-
* @see https://vitejs.dev/guide/features.html#glob-import
|
|
8
|
-
*/
|
|
9
|
-
export function DefaultRoutes({ pages, serverState, fallback, }) {
|
|
10
|
-
const { path } = useRouteMatch();
|
|
11
|
-
const routes = useMemo(() => createRoutesFromPages(pages, path), [pages, path]);
|
|
12
|
-
return (React.createElement(Switch, null,
|
|
13
|
-
routes.map((route) => (React.createElement(Route, { key: route.path, exact: route.exact, path: route.path },
|
|
14
|
-
React.createElement(route.component, { ...serverState })))),
|
|
15
|
-
fallback && React.createElement(Route, { path: "*" }, fallback)));
|
|
16
|
-
}
|
|
17
|
-
export function createRoutesFromPages(pages, topLevelPath = '*') {
|
|
18
|
-
const topLevelPrefix = topLevelPath.replace('*', '').replace(/\/$/, '');
|
|
19
|
-
const routes = Object.keys(pages).map((key) => {
|
|
20
|
-
const path = key
|
|
21
|
-
.replace('./pages', '')
|
|
22
|
-
.replace(/\.server\.(t|j)sx?$/, '')
|
|
23
|
-
/**
|
|
24
|
-
* Replace /index with /
|
|
25
|
-
*/
|
|
26
|
-
.replace(/\/index$/i, '/')
|
|
27
|
-
/**
|
|
28
|
-
* Only lowercase the first letter. This allows the developer to use camelCase
|
|
29
|
-
* dynamic paths while ensuring their standard routes are normalized to lowercase.
|
|
30
|
-
*/
|
|
31
|
-
.replace(/\b[A-Z]/, (firstLetter) => firstLetter.toLowerCase())
|
|
32
|
-
/**
|
|
33
|
-
* Convert /[handle].jsx and /[...handle].jsx to /:handle.jsx for react-router-dom
|
|
34
|
-
*/
|
|
35
|
-
.replace(/\[(?:[.]{3})?(\w+?)\]/g, (_match, param) => `:${param}`);
|
|
36
|
-
/**
|
|
37
|
-
* Catch-all routes [...handle].jsx don't need an exact match
|
|
38
|
-
* https://reactrouter.com/core/api/Route/exact-bool
|
|
39
|
-
*/
|
|
40
|
-
const exact = !/\[(?:[.]{3})(\w+?)\]/.test(key);
|
|
41
|
-
return {
|
|
42
|
-
path: topLevelPrefix + path,
|
|
43
|
-
component: pages[key].default,
|
|
44
|
-
exact,
|
|
45
|
-
};
|
|
46
|
-
});
|
|
47
|
-
/**
|
|
48
|
-
* Place static paths BEFORE dynamic paths to grant priority.
|
|
49
|
-
*/
|
|
50
|
-
return [
|
|
51
|
-
...routes.filter((route) => !route.path.includes(':')),
|
|
52
|
-
...routes.filter((route) => route.path.includes(':')),
|
|
53
|
-
];
|
|
54
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Since we don't render each <Route> on the client like React Router expects,
|
|
3
|
-
* this listens for changes to `location` and proxies the new pathname to
|
|
4
|
-
* server state, which in turn fetches the correct server component.
|
|
5
|
-
*/
|
|
6
|
-
export declare function ServerStateRouter(): null;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { useEffect, useState } from 'react';
|
|
2
|
-
import { useLocation } from 'react-router-dom';
|
|
3
|
-
import { useServerState } from '../ServerStateProvider';
|
|
4
|
-
/**
|
|
5
|
-
* Since we don't render each <Route> on the client like React Router expects,
|
|
6
|
-
* this listens for changes to `location` and proxies the new pathname to
|
|
7
|
-
* server state, which in turn fetches the correct server component.
|
|
8
|
-
*/
|
|
9
|
-
export function ServerStateRouter() {
|
|
10
|
-
const { setServerState, pending } = useServerState();
|
|
11
|
-
const [isNavigating, setIsNavigating] = useState(false);
|
|
12
|
-
const location = useLocation();
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
setIsNavigating(true);
|
|
15
|
-
setServerState('page', location.pathname);
|
|
16
|
-
}, [location.pathname, setServerState]);
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
/**
|
|
19
|
-
* Indicates navigation has occurred
|
|
20
|
-
*/
|
|
21
|
-
if (isNavigating && !pending) {
|
|
22
|
-
window.scrollTo(0, 0);
|
|
23
|
-
setIsNavigating(false);
|
|
24
|
-
}
|
|
25
|
-
}, [isNavigating, pending]);
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { DefaultRoutes } from './DefaultRoutes';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { DefaultRoutes } from './DefaultRoutes';
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React, { ReactNode } from 'react';
|
|
2
|
-
interface Props {
|
|
3
|
-
serverState: Record<string, any>;
|
|
4
|
-
setServerState: React.Dispatch<React.SetStateAction<{
|
|
5
|
-
page: string;
|
|
6
|
-
}>>;
|
|
7
|
-
children: ReactNode;
|
|
8
|
-
}
|
|
9
|
-
export declare function ServerStateProvider({ serverState, setServerState, children, }: Props): JSX.Element;
|
|
10
|
-
export declare function useServerState(): any;
|
|
11
|
-
export {};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import React, { createContext, useContext, useMemo, useCallback,
|
|
2
|
-
// @ts-ignore
|
|
3
|
-
useTransition, } from 'react';
|
|
4
|
-
const ServerStateContext = createContext(null);
|
|
5
|
-
export function ServerStateProvider({ serverState, setServerState, children, }) {
|
|
6
|
-
const [pending, startTransition] = useTransition();
|
|
7
|
-
const setServerStateCallback = useCallback((input, value) => {
|
|
8
|
-
/**
|
|
9
|
-
* By wrapping this state change in a transition, React renders the new state
|
|
10
|
-
* concurrently in a new "tree" instead of Suspending and showing the (blank)
|
|
11
|
-
* fallback. This is preferred behavior, though we may want to revisit how
|
|
12
|
-
* we make this decision globally for the developer - and consider providing
|
|
13
|
-
* the `pending` flag also provided by the hook to display in the UI.
|
|
14
|
-
*/
|
|
15
|
-
startTransition(() => {
|
|
16
|
-
// Support callback-style setState
|
|
17
|
-
if (typeof input === 'function') {
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
return setServerState(input);
|
|
20
|
-
}
|
|
21
|
-
// Support a simple object, and spread it into the existing object.
|
|
22
|
-
if (typeof input === 'object') {
|
|
23
|
-
return setServerState((prev) => ({
|
|
24
|
-
...prev,
|
|
25
|
-
// @ts-ignore
|
|
26
|
-
...input,
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
// Support a key, value as well.
|
|
30
|
-
if (typeof input === 'string') {
|
|
31
|
-
return setServerState((prev) => ({
|
|
32
|
-
...prev,
|
|
33
|
-
[input]: value,
|
|
34
|
-
}));
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}, [setServerState, startTransition]);
|
|
38
|
-
const value = useMemo(() => ({
|
|
39
|
-
pending,
|
|
40
|
-
serverState,
|
|
41
|
-
setServerState: setServerStateCallback,
|
|
42
|
-
}), [serverState, setServerStateCallback, pending]);
|
|
43
|
-
return (React.createElement(ServerStateContext.Provider, { value: value }, children));
|
|
44
|
-
}
|
|
45
|
-
export function useServerState() {
|
|
46
|
-
var _a;
|
|
47
|
-
return (_a = useContext(ServerStateContext)) !== null && _a !== void 0 ? _a : {};
|
|
48
|
-
}
|