@shopify/hydrogen 0.1.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/README.md +29 -0
- package/client.d.ts +1 -0
- package/client.js +1 -0
- package/dist/esnext/client.d.ts +7 -0
- package/dist/esnext/client.js +7 -0
- package/dist/esnext/components/AddToCartButton/AddToCartButton.client.d.ts +15 -0
- package/dist/esnext/components/AddToCartButton/AddToCartButton.client.js +44 -0
- package/dist/esnext/components/AddToCartButton/index.d.ts +1 -0
- package/dist/esnext/components/AddToCartButton/index.js +1 -0
- package/dist/esnext/components/BuyNowButton/BuyNowButton.d.ts +12 -0
- package/dist/esnext/components/BuyNowButton/BuyNowButton.js +29 -0
- package/dist/esnext/components/BuyNowButton/index.d.ts +1 -0
- package/dist/esnext/components/BuyNowButton/index.js +1 -0
- package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.d.ts +7 -0
- package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.js +14 -0
- package/dist/esnext/components/CartCheckoutButton/index.d.ts +1 -0
- package/dist/esnext/components/CartCheckoutButton/index.js +1 -0
- package/dist/esnext/components/CartContainer/CartContainer.client.d.ts +9 -0
- package/dist/esnext/components/CartContainer/CartContainer.client.js +24 -0
- package/dist/esnext/components/CartContainer/index.d.ts +1 -0
- package/dist/esnext/components/CartContainer/index.js +1 -0
- package/dist/esnext/components/CartLineAttributes/CartLineAttributes.client.d.ts +10 -0
- package/dist/esnext/components/CartLineAttributes/CartLineAttributes.client.js +9 -0
- package/dist/esnext/components/CartLineAttributes/index.d.ts +1 -0
- package/dist/esnext/components/CartLineAttributes/index.js +1 -0
- package/dist/esnext/components/CartLineImage/CartLineImage.client.d.ts +6 -0
- package/dist/esnext/components/CartLineImage/CartLineImage.client.js +8 -0
- package/dist/esnext/components/CartLineImage/index.d.ts +1 -0
- package/dist/esnext/components/CartLineImage/index.js +1 -0
- package/dist/esnext/components/CartLinePrice/CartLinePrice.client.d.ts +6 -0
- package/dist/esnext/components/CartLinePrice/CartLinePrice.client.js +17 -0
- package/dist/esnext/components/CartLinePrice/index.d.ts +1 -0
- package/dist/esnext/components/CartLinePrice/index.js +1 -0
- package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.d.ts +3 -0
- package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.js +8 -0
- package/dist/esnext/components/CartLineProductTitle/index.d.ts +1 -0
- package/dist/esnext/components/CartLineProductTitle/index.js +1 -0
- package/dist/esnext/components/CartLineProvider/CartLineProvider.client.d.ts +6 -0
- package/dist/esnext/components/CartLineProvider/CartLineProvider.client.js +5 -0
- package/dist/esnext/components/CartLineProvider/context.d.ts +26 -0
- package/dist/esnext/components/CartLineProvider/context.js +2 -0
- package/dist/esnext/components/CartLineProvider/hooks.d.ts +26 -0
- package/dist/esnext/components/CartLineProvider/hooks.js +9 -0
- package/dist/esnext/components/CartLineProvider/index.d.ts +2 -0
- package/dist/esnext/components/CartLineProvider/index.js +2 -0
- package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.d.ts +3 -0
- package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.js +8 -0
- package/dist/esnext/components/CartLineQuantity/index.d.ts +1 -0
- package/dist/esnext/components/CartLineQuantity/index.js +1 -0
- package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.d.ts +8 -0
- package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.js +17 -0
- package/dist/esnext/components/CartLineQuantityAdjustButton/index.d.ts +1 -0
- package/dist/esnext/components/CartLineQuantityAdjustButton/index.js +1 -0
- package/dist/esnext/components/CartLineSelectedOptions/CartLineSelectedOptions.client.d.ts +10 -0
- package/dist/esnext/components/CartLineSelectedOptions/CartLineSelectedOptions.client.js +9 -0
- package/dist/esnext/components/CartLineSelectedOptions/index.d.ts +1 -0
- package/dist/esnext/components/CartLineSelectedOptions/index.js +1 -0
- package/dist/esnext/components/CartLines/CartLines.d.ts +7 -0
- package/dist/esnext/components/CartLines/CartLines.js +15 -0
- package/dist/esnext/components/CartLines/index.d.ts +1 -0
- package/dist/esnext/components/CartLines/index.js +1 -0
- package/dist/esnext/components/CartProvider/CartProvider.client.d.ts +7 -0
- package/dist/esnext/components/CartProvider/CartProvider.client.js +422 -0
- package/dist/esnext/components/CartProvider/CartServerProvider.server.d.ts +11 -0
- package/dist/esnext/components/CartProvider/CartServerProvider.server.js +20 -0
- package/dist/esnext/components/CartProvider/constants.d.ts +2 -0
- package/dist/esnext/components/CartProvider/constants.js +2 -0
- package/dist/esnext/components/CartProvider/context.d.ts +2 -0
- package/dist/esnext/components/CartProvider/context.js +2 -0
- package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.d.ts +17 -0
- package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartFragment.d.ts +68 -0
- package/dist/esnext/components/CartProvider/graphql/CartFragment.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartQuery.d.ts +13 -0
- package/dist/esnext/components/CartProvider/graphql/CartQuery.js +1 -0
- package/dist/esnext/components/CartProvider/hooks.d.ts +18 -0
- package/dist/esnext/components/CartProvider/hooks.js +79 -0
- package/dist/esnext/components/CartProvider/index.d.ts +4 -0
- package/dist/esnext/components/CartProvider/index.js +4 -0
- package/dist/esnext/components/CartProvider/types.d.ts +105 -0
- package/dist/esnext/components/CartProvider/types.js +1 -0
- package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.d.ts +2 -0
- package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.js +10 -0
- package/dist/esnext/components/CartShopPayButton/index.d.ts +1 -0
- package/dist/esnext/components/CartShopPayButton/index.js +1 -0
- package/dist/esnext/components/CartToggle/CartToggle.client.d.ts +8 -0
- package/dist/esnext/components/CartToggle/CartToggle.client.js +11 -0
- package/dist/esnext/components/CartToggle/index.d.ts +1 -0
- package/dist/esnext/components/CartToggle/index.js +1 -0
- package/dist/esnext/components/CartTotal/CartTotal.client.d.ts +3 -0
- package/dist/esnext/components/CartTotal/CartTotal.client.js +8 -0
- package/dist/esnext/components/CartTotal/index.d.ts +1 -0
- package/dist/esnext/components/CartTotal/index.js +1 -0
- package/dist/esnext/components/CartUIProvider/CartUIProvider.client.d.ts +5 -0
- package/dist/esnext/components/CartUIProvider/CartUIProvider.client.js +26 -0
- package/dist/esnext/components/CartUIProvider/context.d.ts +9 -0
- package/dist/esnext/components/CartUIProvider/context.js +2 -0
- package/dist/esnext/components/CartUIProvider/hooks.d.ts +1 -0
- package/dist/esnext/components/CartUIProvider/hooks.js +9 -0
- package/dist/esnext/components/CartUIProvider/index.d.ts +2 -0
- package/dist/esnext/components/CartUIProvider/index.js +2 -0
- package/dist/esnext/components/ExternalVideo/ExternalVideo.d.ts +14 -0
- package/dist/esnext/components/ExternalVideo/ExternalVideo.js +9 -0
- package/dist/esnext/components/ExternalVideo/ExternalVideoFragment.d.ts +4 -0
- package/dist/esnext/components/ExternalVideo/ExternalVideoFragment.js +1 -0
- package/dist/esnext/components/ExternalVideo/index.d.ts +1 -0
- package/dist/esnext/components/ExternalVideo/index.js +1 -0
- package/dist/esnext/components/Image/Image.d.ts +14 -0
- package/dist/esnext/components/Image/Image.js +10 -0
- package/dist/esnext/components/Image/ImageFragment.d.ts +4 -0
- package/dist/esnext/components/Image/ImageFragment.js +1 -0
- package/dist/esnext/components/Image/index.d.ts +1 -0
- package/dist/esnext/components/Image/index.js +1 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.d.ts +6 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.js +14 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationContext.client.d.ts +8 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationContext.client.js +2 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.d.ts +4 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.js +8 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationQuery.d.ts +18 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationQuery.js +1 -0
- package/dist/esnext/components/LocalizationProvider/hooks.d.ts +8 -0
- package/dist/esnext/components/LocalizationProvider/hooks.js +17 -0
- package/dist/esnext/components/LocalizationProvider/index.d.ts +2 -0
- package/dist/esnext/components/LocalizationProvider/index.js +2 -0
- package/dist/esnext/components/MediaFile/MediaFile.d.ts +19 -0
- package/dist/esnext/components/MediaFile/MediaFile.js +22 -0
- package/dist/esnext/components/MediaFile/MediaFileFragment.d.ts +22 -0
- package/dist/esnext/components/MediaFile/MediaFileFragment.js +1 -0
- package/dist/esnext/components/MediaFile/index.d.ts +1 -0
- package/dist/esnext/components/MediaFile/index.js +1 -0
- package/dist/esnext/components/Metafield/Metafield.client.d.ts +8 -0
- package/dist/esnext/components/Metafield/Metafield.client.js +50 -0
- package/dist/esnext/components/Metafield/MetafieldFragment.d.ts +4 -0
- package/dist/esnext/components/Metafield/MetafieldFragment.js +1 -0
- package/dist/esnext/components/Metafield/components/StarRating/StarRating.d.ts +12 -0
- package/dist/esnext/components/Metafield/components/StarRating/StarRating.js +48 -0
- package/dist/esnext/components/Metafield/components/StarRating/index.d.ts +1 -0
- package/dist/esnext/components/Metafield/components/StarRating/index.js +1 -0
- package/dist/esnext/components/Metafield/components/index.d.ts +1 -0
- package/dist/esnext/components/Metafield/components/index.js +1 -0
- package/dist/esnext/components/Metafield/index.d.ts +3 -0
- package/dist/esnext/components/Metafield/index.js +1 -0
- package/dist/esnext/components/Metafield/types.d.ts +4 -0
- package/dist/esnext/components/Metafield/types.js +1 -0
- package/dist/esnext/components/Model3D/Model3D.client.d.ts +25 -0
- package/dist/esnext/components/Model3D/Model3D.client.js +30 -0
- package/dist/esnext/components/Model3D/Model3DFragment.d.ts +11 -0
- package/dist/esnext/components/Model3D/Model3DFragment.js +1 -0
- package/dist/esnext/components/Model3D/index.d.ts +1 -0
- package/dist/esnext/components/Model3D/index.js +1 -0
- package/dist/esnext/components/Money/Money.client.d.ts +7 -0
- package/dist/esnext/components/Money/Money.client.js +10 -0
- package/dist/esnext/components/Money/index.d.ts +1 -0
- package/dist/esnext/components/Money/index.js +1 -0
- package/dist/esnext/components/ProductDescription/ProductDescription.client.d.ts +3 -0
- package/dist/esnext/components/ProductDescription/ProductDescription.client.js +10 -0
- package/dist/esnext/components/ProductDescription/index.d.ts +1 -0
- package/dist/esnext/components/ProductDescription/index.js +1 -0
- package/dist/esnext/components/ProductMetafield/ProductMetafield.client.d.ts +7 -0
- package/dist/esnext/components/ProductMetafield/ProductMetafield.client.js +16 -0
- package/dist/esnext/components/ProductMetafield/index.d.ts +1 -0
- package/dist/esnext/components/ProductMetafield/index.js +1 -0
- package/dist/esnext/components/ProductPrice/ProductPrice.client.d.ts +7 -0
- package/dist/esnext/components/ProductPrice/ProductPrice.client.js +32 -0
- package/dist/esnext/components/ProductPrice/index.d.ts +1 -0
- package/dist/esnext/components/ProductPrice/index.js +1 -0
- package/dist/esnext/components/ProductProvider/ProductProvider.client.d.ts +7 -0
- package/dist/esnext/components/ProductProvider/ProductProvider.client.js +35 -0
- package/dist/esnext/components/ProductProvider/ProductProviderFragment.d.ts +96 -0
- package/dist/esnext/components/ProductProvider/ProductProviderFragment.js +1 -0
- package/dist/esnext/components/ProductProvider/context.d.ts +13 -0
- package/dist/esnext/components/ProductProvider/context.js +2 -0
- package/dist/esnext/components/ProductProvider/hooks.d.ts +1 -0
- package/dist/esnext/components/ProductProvider/hooks.js +6 -0
- package/dist/esnext/components/ProductProvider/index.d.ts +2 -0
- package/dist/esnext/components/ProductProvider/index.js +2 -0
- package/dist/esnext/components/ProductProvider/types.d.ts +5 -0
- package/dist/esnext/components/ProductProvider/types.js +1 -0
- package/dist/esnext/components/ProductTitle/ProductTitle.client.d.ts +3 -0
- package/dist/esnext/components/ProductTitle/ProductTitle.client.js +11 -0
- package/dist/esnext/components/ProductTitle/index.d.ts +1 -0
- package/dist/esnext/components/ProductTitle/index.js +1 -0
- package/dist/esnext/components/RawHtml/RawHtml.d.ts +7 -0
- package/dist/esnext/components/RawHtml/RawHtml.js +13 -0
- package/dist/esnext/components/RawHtml/index.d.ts +1 -0
- package/dist/esnext/components/RawHtml/index.js +1 -0
- package/dist/esnext/components/SelectedVariantAddToCartButton/SelectedVariantAddToCartButton.client.d.ts +6 -0
- package/dist/esnext/components/SelectedVariantAddToCartButton/SelectedVariantAddToCartButton.client.js +12 -0
- package/dist/esnext/components/SelectedVariantAddToCartButton/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantAddToCartButton/index.js +1 -0
- package/dist/esnext/components/SelectedVariantBuyNowButton/SelectedVariantBuyNowButton.d.ts +4 -0
- package/dist/esnext/components/SelectedVariantBuyNowButton/SelectedVariantBuyNowButton.js +12 -0
- package/dist/esnext/components/SelectedVariantBuyNowButton/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantBuyNowButton/index.js +1 -0
- package/dist/esnext/components/SelectedVariantImage/SelectedVariantImage.client.d.ts +6 -0
- package/dist/esnext/components/SelectedVariantImage/SelectedVariantImage.client.js +12 -0
- package/dist/esnext/components/SelectedVariantImage/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantImage/index.js +1 -0
- package/dist/esnext/components/SelectedVariantMetafield/SelectedVariantMetafield.client.d.ts +7 -0
- package/dist/esnext/components/SelectedVariantMetafield/SelectedVariantMetafield.client.js +15 -0
- package/dist/esnext/components/SelectedVariantMetafield/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantMetafield/index.js +1 -0
- package/dist/esnext/components/SelectedVariantPrice/SelectedVariantPrice.client.d.ts +6 -0
- package/dist/esnext/components/SelectedVariantPrice/SelectedVariantPrice.client.js +18 -0
- package/dist/esnext/components/SelectedVariantPrice/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantPrice/index.js +1 -0
- package/dist/esnext/components/SelectedVariantShopPayButton/SelectedVariantShopPayButton.client.d.ts +2 -0
- package/dist/esnext/components/SelectedVariantShopPayButton/SelectedVariantShopPayButton.client.js +12 -0
- package/dist/esnext/components/SelectedVariantShopPayButton/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantShopPayButton/index.js +1 -0
- package/dist/esnext/components/SelectedVariantUnitPrice/SelectedVariantUnitPrice.client.d.ts +3 -0
- package/dist/esnext/components/SelectedVariantUnitPrice/SelectedVariantUnitPrice.client.js +12 -0
- package/dist/esnext/components/SelectedVariantUnitPrice/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantUnitPrice/index.js +1 -0
- package/dist/esnext/components/ShopPayButton/ShopPayButton.client.d.ts +15 -0
- package/dist/esnext/components/ShopPayButton/ShopPayButton.client.js +32 -0
- package/dist/esnext/components/ShopPayButton/index.d.ts +1 -0
- package/dist/esnext/components/ShopPayButton/index.js +1 -0
- package/dist/esnext/components/UnitPrice/UnitPrice.client.d.ts +8 -0
- package/dist/esnext/components/UnitPrice/UnitPrice.client.js +16 -0
- package/dist/esnext/components/UnitPrice/index.d.ts +1 -0
- package/dist/esnext/components/UnitPrice/index.js +1 -0
- package/dist/esnext/components/Video/Video.d.ts +13 -0
- package/dist/esnext/components/Video/Video.js +8 -0
- package/dist/esnext/components/Video/VideoFragment.d.ts +11 -0
- package/dist/esnext/components/Video/VideoFragment.js +1 -0
- package/dist/esnext/components/Video/index.d.ts +1 -0
- package/dist/esnext/components/Video/index.js +1 -0
- package/dist/esnext/components/index.d.ts +41 -0
- package/dist/esnext/components/index.js +87 -0
- package/dist/esnext/components/types.d.ts +73 -0
- package/dist/esnext/components/types.js +10 -0
- package/dist/esnext/entry-client.d.ts +3 -0
- package/dist/esnext/entry-client.js +36 -0
- package/dist/esnext/entry-server.d.ts +3 -0
- package/dist/esnext/entry-server.js +286 -0
- package/dist/esnext/foundation/ClientMarker/ClientMarker.d.ts +10 -0
- package/dist/esnext/foundation/ClientMarker/ClientMarker.js +25 -0
- package/dist/esnext/foundation/ClientMarker/index.d.ts +1 -0
- package/dist/esnext/foundation/ClientMarker/index.js +1 -0
- package/dist/esnext/foundation/Hydration/Cache.client.d.ts +9 -0
- package/dist/esnext/foundation/Hydration/Cache.client.js +131 -0
- package/dist/esnext/foundation/Hydration/ClientComponents.server.d.ts +13 -0
- package/dist/esnext/foundation/Hydration/ClientComponents.server.js +18 -0
- package/dist/esnext/foundation/Hydration/Html.d.ts +5 -0
- package/dist/esnext/foundation/Hydration/Html.js +9 -0
- package/dist/esnext/foundation/Hydration/HydrationContext.server.d.ts +1 -0
- package/dist/esnext/foundation/Hydration/HydrationContext.server.js +2 -0
- package/dist/esnext/foundation/Hydration/ServerComponentRequest.server.d.ts +13 -0
- package/dist/esnext/foundation/Hydration/ServerComponentRequest.server.js +39 -0
- package/dist/esnext/foundation/Hydration/ServerComponentResponse.server.d.ts +18 -0
- package/dist/esnext/foundation/Hydration/ServerComponentResponse.server.js +35 -0
- package/dist/esnext/foundation/Hydration/react-utils.d.ts +5 -0
- package/dist/esnext/foundation/Hydration/react-utils.js +55 -0
- package/dist/esnext/foundation/Hydration/wire.server.d.ts +4 -0
- package/dist/esnext/foundation/Hydration/wire.server.js +75 -0
- package/dist/esnext/foundation/Hydration/writer.server.d.ts +14 -0
- package/dist/esnext/foundation/Hydration/writer.server.js +29 -0
- package/dist/esnext/foundation/Router/DefaultRoutes.d.ts +20 -0
- package/dist/esnext/foundation/Router/DefaultRoutes.js +54 -0
- package/dist/esnext/foundation/Router/ServerStateRouter.client.d.ts +6 -0
- package/dist/esnext/foundation/Router/ServerStateRouter.client.js +27 -0
- package/dist/esnext/foundation/Router/index.d.ts +1 -0
- package/dist/esnext/foundation/Router/index.js +1 -0
- package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.client.d.ts +11 -0
- package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.client.js +48 -0
- package/dist/esnext/foundation/ServerStateProvider/index.d.ts +1 -0
- package/dist/esnext/foundation/ServerStateProvider/index.js +1 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyContext.d.ts +1 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyContext.js +2 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.d.ts +3 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.js +11 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyServerProvider.server.d.ts +8 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyServerProvider.server.js +7 -0
- package/dist/esnext/foundation/ShopifyProvider/hooks.d.ts +2 -0
- package/dist/esnext/foundation/ShopifyProvider/hooks.js +9 -0
- package/dist/esnext/foundation/ShopifyProvider/index.d.ts +2 -0
- package/dist/esnext/foundation/ShopifyProvider/index.js +2 -0
- package/dist/esnext/foundation/ShopifyProvider/types.d.ts +12 -0
- package/dist/esnext/foundation/ShopifyProvider/types.js +1 -0
- package/dist/esnext/foundation/index.d.ts +4 -0
- package/dist/esnext/foundation/index.js +4 -0
- package/dist/esnext/framework/graphiql.d.ts +1 -0
- package/dist/esnext/framework/graphiql.js +39 -0
- package/dist/esnext/framework/middleware.d.ts +17 -0
- package/dist/esnext/framework/middleware.js +116 -0
- package/dist/esnext/framework/plugin.d.ts +3 -0
- package/dist/esnext/framework/plugin.js +14 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.d.ts +3 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +43 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +4 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.js +28 -0
- package/dist/esnext/framework/plugins/vite-plugin-react-server-components-shim.d.ts +3 -0
- package/dist/esnext/framework/plugins/vite-plugin-react-server-components-shim.js +123 -0
- package/dist/esnext/framework/server-components.d.ts +12 -0
- package/dist/esnext/framework/server-components.js +72 -0
- package/dist/esnext/graphql/graphql-constants.d.ts +1295 -0
- package/dist/esnext/graphql/graphql-constants.js +2482 -0
- package/dist/esnext/graphql/types/types.d.ts +5583 -0
- package/dist/esnext/graphql/types/types.js +1414 -0
- package/dist/esnext/handle-event.d.ts +20 -0
- package/dist/esnext/handle-event.js +140 -0
- package/dist/esnext/handle-worker-event.d.ts +11 -0
- package/dist/esnext/handle-worker-event.js +14 -0
- package/dist/esnext/hooks/index.d.ts +5 -0
- package/dist/esnext/hooks/index.js +5 -0
- package/dist/esnext/hooks/useMeasurement/hooks.d.ts +9 -0
- package/dist/esnext/hooks/useMeasurement/hooks.js +13 -0
- package/dist/esnext/hooks/useMeasurement/index.d.ts +1 -0
- package/dist/esnext/hooks/useMeasurement/index.js +1 -0
- package/dist/esnext/hooks/useMoney/hooks.d.ts +11 -0
- package/dist/esnext/hooks/useMoney/hooks.js +33 -0
- package/dist/esnext/hooks/useMoney/index.d.ts +1 -0
- package/dist/esnext/hooks/useMoney/index.js +1 -0
- package/dist/esnext/hooks/useParsedMetafields/hooks.d.ts +3 -0
- package/dist/esnext/hooks/useParsedMetafields/hooks.js +15 -0
- package/dist/esnext/hooks/useParsedMetafields/index.d.ts +1 -0
- package/dist/esnext/hooks/useParsedMetafields/index.js +1 -0
- package/dist/esnext/hooks/useProductOptions/helpers.d.ts +4 -0
- package/dist/esnext/hooks/useProductOptions/helpers.js +33 -0
- package/dist/esnext/hooks/useProductOptions/index.d.ts +2 -0
- package/dist/esnext/hooks/useProductOptions/index.js +2 -0
- package/dist/esnext/hooks/useProductOptions/types.d.ts +50 -0
- package/dist/esnext/hooks/useProductOptions/types.js +1 -0
- package/dist/esnext/hooks/useProductOptions/useProductOptions.d.ts +23 -0
- package/dist/esnext/hooks/useProductOptions/useProductOptions.js +84 -0
- package/dist/esnext/hooks/useQuery/QueryProvider.d.ts +6 -0
- package/dist/esnext/hooks/useQuery/QueryProvider.js +13 -0
- package/dist/esnext/hooks/useQuery/hooks.d.ts +12 -0
- package/dist/esnext/hooks/useQuery/hooks.js +28 -0
- package/dist/esnext/hooks/useQuery/index.d.ts +2 -0
- package/dist/esnext/hooks/useQuery/index.js +2 -0
- package/dist/esnext/hooks/useShopQuery/hooks.d.ts +9 -0
- package/dist/esnext/hooks/useShopQuery/hooks.js +34 -0
- package/dist/esnext/hooks/useShopQuery/index.d.ts +1 -0
- package/dist/esnext/hooks/useShopQuery/index.js +1 -0
- package/dist/esnext/index.d.ts +9 -0
- package/dist/esnext/index.js +11 -0
- package/dist/esnext/types.d.ts +62 -0
- package/dist/esnext/types.js +1 -0
- package/dist/esnext/utilities/connections.d.ts +2 -0
- package/dist/esnext/utilities/connections.js +4 -0
- package/dist/esnext/utilities/environment.d.ts +2 -0
- package/dist/esnext/utilities/environment.js +2 -0
- package/dist/esnext/utilities/image_size.d.ts +17 -0
- package/dist/esnext/utilities/image_size.js +45 -0
- package/dist/esnext/utilities/index.d.ts +8 -0
- package/dist/esnext/utilities/index.js +8 -0
- package/dist/esnext/utilities/meaurement.d.ts +3 -0
- package/dist/esnext/utilities/meaurement.js +98 -0
- package/dist/esnext/utilities/metafields.d.ts +2 -0
- package/dist/esnext/utilities/metafields.js +32 -0
- package/dist/esnext/utilities/script_loader.d.ts +3 -0
- package/dist/esnext/utilities/script_loader.js +23 -0
- package/dist/esnext/utilities/suspense.d.ts +7 -0
- package/dist/esnext/utilities/suspense.js +32 -0
- package/dist/esnext/utilities/video_parameters.d.ts +47 -0
- package/dist/esnext/utilities/video_parameters.js +22 -0
- package/dist/esnext/version.d.ts +1 -0
- package/dist/esnext/version.js +1 -0
- package/dist/node/foundation/ClientMarker/ClientMarker.d.ts +10 -0
- package/dist/node/foundation/ClientMarker/ClientMarker.js +48 -0
- package/dist/node/foundation/ClientMarker/index.d.ts +1 -0
- package/dist/node/foundation/ClientMarker/index.js +13 -0
- package/dist/node/foundation/Hydration/HydrationContext.server.d.ts +1 -0
- package/dist/node/foundation/Hydration/HydrationContext.server.js +5 -0
- package/dist/node/foundation/Hydration/ServerComponentRequest.server.d.ts +13 -0
- package/dist/node/foundation/Hydration/ServerComponentRequest.server.js +43 -0
- package/dist/node/foundation/Hydration/ServerComponentResponse.server.d.ts +18 -0
- package/dist/node/foundation/Hydration/ServerComponentResponse.server.js +39 -0
- package/dist/node/foundation/Hydration/react-utils.d.ts +5 -0
- package/dist/node/foundation/Hydration/react-utils.js +63 -0
- package/dist/node/foundation/Router/DefaultRoutes.d.ts +20 -0
- package/dist/node/foundation/Router/DefaultRoutes.js +78 -0
- package/dist/node/foundation/Router/index.d.ts +1 -0
- package/dist/node/foundation/Router/index.js +5 -0
- package/dist/node/foundation/ShopifyProvider/ShopifyContext.d.ts +1 -0
- package/dist/node/foundation/ShopifyProvider/ShopifyContext.js +5 -0
- package/dist/node/foundation/ShopifyProvider/ShopifyProvider.d.ts +3 -0
- package/dist/node/foundation/ShopifyProvider/ShopifyProvider.js +34 -0
- package/dist/node/foundation/ShopifyProvider/ShopifyServerProvider.server.d.ts +8 -0
- package/dist/node/foundation/ShopifyProvider/ShopifyServerProvider.server.js +14 -0
- package/dist/node/foundation/ShopifyProvider/hooks.d.ts +2 -0
- package/dist/node/foundation/ShopifyProvider/hooks.js +13 -0
- package/dist/node/foundation/ShopifyProvider/index.d.ts +2 -0
- package/dist/node/foundation/ShopifyProvider/index.js +8 -0
- package/dist/node/foundation/ShopifyProvider/types.d.ts +12 -0
- package/dist/node/foundation/ShopifyProvider/types.js +2 -0
- package/dist/node/foundation/index.d.ts +4 -0
- package/dist/node/foundation/index.js +13 -0
- package/dist/node/framework/graphiql.d.ts +1 -0
- package/dist/node/framework/graphiql.js +43 -0
- package/dist/node/framework/middleware.d.ts +17 -0
- package/dist/node/framework/middleware.js +141 -0
- package/dist/node/framework/plugin.d.ts +3 -0
- package/dist/node/framework/plugin.js +19 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-config.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +45 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +4 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.js +33 -0
- package/dist/node/framework/plugins/vite-plugin-react-server-components-shim.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-react-server-components-shim.js +128 -0
- package/dist/node/framework/server-components.d.ts +12 -0
- package/dist/node/framework/server-components.js +77 -0
- package/dist/node/graphql/types/types.d.ts +5583 -0
- package/dist/node/graphql/types/types.js +1417 -0
- package/dist/node/handle-event.d.ts +20 -0
- package/dist/node/handle-event.js +143 -0
- package/dist/node/hooks/useQuery/QueryProvider.d.ts +6 -0
- package/dist/node/hooks/useQuery/QueryProvider.js +20 -0
- package/dist/node/hooks/useQuery/hooks.d.ts +12 -0
- package/dist/node/hooks/useQuery/hooks.js +32 -0
- package/dist/node/hooks/useQuery/index.d.ts +2 -0
- package/dist/node/hooks/useQuery/index.js +14 -0
- package/dist/node/types.d.ts +62 -0
- package/dist/node/types.js +2 -0
- package/dist/worker/foundation/Hydration/ServerComponentRequest.server.d.ts +13 -0
- package/dist/worker/foundation/Hydration/ServerComponentRequest.server.js +39 -0
- package/dist/worker/foundation/Hydration/ServerComponentResponse.server.d.ts +18 -0
- package/dist/worker/foundation/Hydration/ServerComponentResponse.server.js +35 -0
- package/dist/worker/graphql/types/types.d.ts +5583 -0
- package/dist/worker/graphql/types/types.js +1414 -0
- package/dist/worker/handle-event.d.ts +20 -0
- package/dist/worker/handle-event.js +140 -0
- package/dist/worker/handle-worker-event.d.ts +11 -0
- package/dist/worker/handle-worker-event.js +14 -0
- package/dist/worker/types.d.ts +62 -0
- package/dist/worker/types.js +1 -0
- package/entry-client.d.ts +1 -0
- package/entry-client.js +1 -0
- package/entry-server.d.ts +1 -0
- package/entry-server.js +1 -0
- package/marker.js +1 -0
- package/middleware.d.ts +1 -0
- package/middleware.js +1 -0
- package/package.json +98 -0
- package/plugin.d.ts +1 -0
- package/plugin.js +1 -0
- package/worker.js +1 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { ServerResponse } from 'http';
|
|
3
|
+
import { ServerComponentRequest } from './foundation/Hydration/ServerComponentRequest.server';
|
|
4
|
+
interface HydrogenFetchEvent {
|
|
5
|
+
/**
|
|
6
|
+
* Hydrogen only cares about a single property, since we pass `request` as a separate option.
|
|
7
|
+
*/
|
|
8
|
+
waitUntil?: (callback: Promise<void>) => void;
|
|
9
|
+
}
|
|
10
|
+
export interface HandleEventOptions {
|
|
11
|
+
request: ServerComponentRequest;
|
|
12
|
+
entrypoint: any;
|
|
13
|
+
indexTemplate: string | ((url: string) => Promise<string>);
|
|
14
|
+
assetHandler?: (event: HydrogenFetchEvent, url: URL) => Promise<Response>;
|
|
15
|
+
cache?: Cache;
|
|
16
|
+
streamableResponse: ServerResponse;
|
|
17
|
+
dev?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export default function handleEvent(event: HydrogenFetchEvent, { request, entrypoint, indexTemplate, assetHandler, cache, streamableResponse, dev, }: HandleEventOptions): Promise<Response | undefined>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const EXPIRES_HEADER = 'Expires';
|
|
4
|
+
const CACHE_TTL_IN_SECONDS = 60;
|
|
5
|
+
async function handleEvent(event, { request, entrypoint, indexTemplate, assetHandler, cache, streamableResponse, dev, }) {
|
|
6
|
+
var _a, _b, _c;
|
|
7
|
+
if (cache) {
|
|
8
|
+
const response = await cache.match(request);
|
|
9
|
+
if (response && responseIsValid(response)) {
|
|
10
|
+
return response;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const url = new URL(request.url);
|
|
14
|
+
const isReactHydrationRequest = url.pathname === '/react';
|
|
15
|
+
try {
|
|
16
|
+
const template = typeof indexTemplate === 'function'
|
|
17
|
+
? await indexTemplate(url.toString())
|
|
18
|
+
: indexTemplate;
|
|
19
|
+
/**
|
|
20
|
+
* If this is a request for an asset, and an asset handler is present, call it.
|
|
21
|
+
*/
|
|
22
|
+
if (/\.(png|jpe?g|gif|css|js|svg|ico|map)$/i.test(url.pathname) &&
|
|
23
|
+
assetHandler) {
|
|
24
|
+
return assetHandler(event, url);
|
|
25
|
+
}
|
|
26
|
+
const { render, hydrate, stream } = entrypoint.default || entrypoint;
|
|
27
|
+
// @ts-ignore
|
|
28
|
+
if (dev && !(render && hydrate && stream)) {
|
|
29
|
+
throw new Error(`entry-server.jsx could not be loaded. This likely occurred because of a Vite compilation error.\n` +
|
|
30
|
+
`Please check your server logs for more information.`);
|
|
31
|
+
}
|
|
32
|
+
const isStreamable = streamableResponse && isStreamableRequest(url);
|
|
33
|
+
const context = {};
|
|
34
|
+
/**
|
|
35
|
+
* Stream back real-user responses, but for bots/etc,
|
|
36
|
+
* use `render` instead. This is because we need to inject <head>
|
|
37
|
+
* things for SEO reasons.
|
|
38
|
+
*/
|
|
39
|
+
if (isStreamable) {
|
|
40
|
+
if (isReactHydrationRequest) {
|
|
41
|
+
hydrate(url, { context, request, response: streamableResponse });
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
stream(url, { context, request, response: streamableResponse, template });
|
|
45
|
+
}
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const { body, bodyAttributes, htmlAttributes, componentResponse, ...head } = await render(url, { request, context, isReactHydrationRequest });
|
|
49
|
+
const headers = componentResponse.headers;
|
|
50
|
+
/**
|
|
51
|
+
* TODO: Set as part of cache-control headers when Oxygen support lands.
|
|
52
|
+
*/
|
|
53
|
+
headers.set(EXPIRES_HEADER, new Date(Date.now() + CACHE_TTL_IN_SECONDS * 1000).toUTCString());
|
|
54
|
+
if (componentResponse.customBody) {
|
|
55
|
+
return new Response(await componentResponse.customBody, {
|
|
56
|
+
status: (_a = componentResponse.status) !== null && _a !== void 0 ? _a : 200,
|
|
57
|
+
headers,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
let response;
|
|
61
|
+
if (isReactHydrationRequest) {
|
|
62
|
+
response = new Response(body, {
|
|
63
|
+
status: (_b = componentResponse.status) !== null && _b !== void 0 ? _b : 200,
|
|
64
|
+
headers,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const html = template
|
|
69
|
+
.replace(`<div id="root"></div>`, `<div id="root" data-server-rendered="true">${body}</div>`)
|
|
70
|
+
.replace(/<head>(.*?)<\/head>/s, generateHeadTag(head))
|
|
71
|
+
.replace('<body', bodyAttributes ? `<body ${bodyAttributes}` : '$&')
|
|
72
|
+
.replace('<html', htmlAttributes ? `<html ${htmlAttributes}` : '$&');
|
|
73
|
+
headers.append('content-type', 'text/html');
|
|
74
|
+
response = new Response(html, {
|
|
75
|
+
status: (_c = componentResponse.status) !== null && _c !== void 0 ? _c : 200,
|
|
76
|
+
headers,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
if (cache) {
|
|
80
|
+
/**
|
|
81
|
+
* Put response into cache. If the Worker runtime requires `event.waitUntil` to keep the request
|
|
82
|
+
* alive while the cache operation completes, use it. Otherwise, assume queued microtasks will finish.
|
|
83
|
+
*/
|
|
84
|
+
if (typeof event.waitUntil === 'function') {
|
|
85
|
+
event.waitUntil(cache.put(request, response.clone()));
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
cache.put(request, response.clone());
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return response;
|
|
92
|
+
}
|
|
93
|
+
catch (e) {
|
|
94
|
+
console.log(e.stack);
|
|
95
|
+
return new Response(e.message || e.toString(), {
|
|
96
|
+
status: 500,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.default = handleEvent;
|
|
101
|
+
/**
|
|
102
|
+
* Determine whether a current response is valid.
|
|
103
|
+
* This is necessary because the Oxygen Cache API does not yet
|
|
104
|
+
* support automatic expiration via cache-control headers.
|
|
105
|
+
* Eventually, a method like this may not be necessary.
|
|
106
|
+
*/
|
|
107
|
+
function responseIsValid(response) {
|
|
108
|
+
const expiration = response.headers.get(EXPIRES_HEADER);
|
|
109
|
+
if (!expiration)
|
|
110
|
+
return false;
|
|
111
|
+
return new Date(expiration) > new Date();
|
|
112
|
+
}
|
|
113
|
+
function isStreamableRequest(url) {
|
|
114
|
+
/**
|
|
115
|
+
* TODO: Add UA detection.
|
|
116
|
+
*/
|
|
117
|
+
const isBot = url.searchParams.has('_bot');
|
|
118
|
+
return !isBot;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Generate the contents of the `head` tag, and update the existing `<title>` tag
|
|
122
|
+
* if one exists, and if a title is passed.
|
|
123
|
+
*/
|
|
124
|
+
function generateHeadTag(head) {
|
|
125
|
+
const headProps = ['base', 'meta', 'style', 'noscript', 'script', 'link'];
|
|
126
|
+
const { title, ...rest } = head;
|
|
127
|
+
const otherHeadProps = headProps
|
|
128
|
+
.map((prop) => rest[prop])
|
|
129
|
+
.filter(Boolean)
|
|
130
|
+
.join('\n');
|
|
131
|
+
return (_outerHtml, innerHtml) => {
|
|
132
|
+
let headHtml = otherHeadProps + innerHtml;
|
|
133
|
+
if (title) {
|
|
134
|
+
if (headHtml.includes('<title>')) {
|
|
135
|
+
headHtml = headHtml.replace(/(<title>(?:.|\n)*?<\/title>)/, title);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
headHtml += title;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return `<head>${headHtml}</head>`;
|
|
142
|
+
};
|
|
143
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import type { ReactQueryHydrationContext } from '../../foundation/ShopifyProvider/types';
|
|
3
|
+
export declare function QueryProvider({ children, hydrationContext, }: {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
hydrationContext?: ReactQueryHydrationContext;
|
|
6
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.QueryProvider = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const react_query_1 = require("react-query");
|
|
9
|
+
const hydration_1 = require("react-query/hydration");
|
|
10
|
+
function QueryProvider({ children, hydrationContext, }) {
|
|
11
|
+
const queryClient = new react_query_1.QueryClient({
|
|
12
|
+
defaultOptions: { queries: { suspense: true } },
|
|
13
|
+
});
|
|
14
|
+
if (hydrationContext) {
|
|
15
|
+
hydrationContext.queryClient = queryClient;
|
|
16
|
+
}
|
|
17
|
+
return (react_1.default.createElement(react_query_1.QueryClientProvider, { client: queryClient },
|
|
18
|
+
react_1.default.createElement(hydration_1.Hydrate, { state: hydrationContext === null || hydrationContext === void 0 ? void 0 : hydrationContext.dehydratedState }, children)));
|
|
19
|
+
}
|
|
20
|
+
exports.QueryProvider = QueryProvider;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { UseQueryOptions, QueryKey } from 'react-query';
|
|
2
|
+
/**
|
|
3
|
+
* useQuery is a wrapper around `fetch` which supports Suspense calls on the server
|
|
4
|
+
* and on the client. It is backed by `react-query`, and it accepts options to that package's
|
|
5
|
+
* `useQuery` hook.
|
|
6
|
+
*
|
|
7
|
+
* If the `init` object contains `accept` or `content-type` headers indicating JSON,
|
|
8
|
+
* the response will be converted to JSON. Otherwise, it will be read as text.
|
|
9
|
+
*
|
|
10
|
+
* @see https://react-query.tanstack.com/reference/useQuery
|
|
11
|
+
*/
|
|
12
|
+
export declare function useQuery<T>(url: string, init?: RequestInit, queryOptions?: UseQueryOptions<T, Error, T, QueryKey>): import("react-query").UseQueryResult<T, Error>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useQuery = void 0;
|
|
4
|
+
const react_query_1 = require("react-query");
|
|
5
|
+
/**
|
|
6
|
+
* useQuery is a wrapper around `fetch` which supports Suspense calls on the server
|
|
7
|
+
* and on the client. It is backed by `react-query`, and it accepts options to that package's
|
|
8
|
+
* `useQuery` hook.
|
|
9
|
+
*
|
|
10
|
+
* If the `init` object contains `accept` or `content-type` headers indicating JSON,
|
|
11
|
+
* the response will be converted to JSON. Otherwise, it will be read as text.
|
|
12
|
+
*
|
|
13
|
+
* @see https://react-query.tanstack.com/reference/useQuery
|
|
14
|
+
*/
|
|
15
|
+
function useQuery(url, init, queryOptions) {
|
|
16
|
+
return react_query_1.useQuery(
|
|
17
|
+
/**
|
|
18
|
+
* TODO: Add better key generation, taking into account headers, etc.
|
|
19
|
+
*/
|
|
20
|
+
[url, init === null || init === void 0 ? void 0 : init.body], async () => {
|
|
21
|
+
const response = await fetch(url, init);
|
|
22
|
+
if (!response.ok) {
|
|
23
|
+
throw new Error(`[useQuery] error: ${response.status} ${response.statusText}`);
|
|
24
|
+
}
|
|
25
|
+
const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
|
|
26
|
+
const isJsonRequest = headers.get('accept') === 'application/json' ||
|
|
27
|
+
headers.get('content-type') === 'application/json';
|
|
28
|
+
const method = isJsonRequest ? 'json' : 'text';
|
|
29
|
+
return response[method]();
|
|
30
|
+
}, queryOptions);
|
|
31
|
+
}
|
|
32
|
+
exports.useQuery = useQuery;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./hooks"), exports);
|
|
14
|
+
__exportStar(require("./QueryProvider"), exports);
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { ServerResponse } from 'http';
|
|
3
|
+
import type { ServerComponentResponse } from './foundation/Hydration/ServerComponentResponse.server';
|
|
4
|
+
import type { ServerComponentRequest } from './foundation/Hydration/ServerComponentRequest.server';
|
|
5
|
+
import type { Metafield } from './graphql/types/types';
|
|
6
|
+
export declare type Renderer = (url: URL, options: {
|
|
7
|
+
request: ServerComponentRequest;
|
|
8
|
+
context?: Record<string, any>;
|
|
9
|
+
isReactHydrationRequest?: boolean;
|
|
10
|
+
}) => Promise<{
|
|
11
|
+
body: string;
|
|
12
|
+
componentResponse: ServerComponentResponse;
|
|
13
|
+
} & Record<string, any>>;
|
|
14
|
+
export declare type Streamer = (url: URL, options: {
|
|
15
|
+
context: any;
|
|
16
|
+
request: ServerComponentRequest;
|
|
17
|
+
response: ServerResponse;
|
|
18
|
+
template: string;
|
|
19
|
+
}) => void;
|
|
20
|
+
export declare type Hydrator = (url: URL, options: {
|
|
21
|
+
context: any;
|
|
22
|
+
request: ServerComponentRequest;
|
|
23
|
+
response: ServerResponse;
|
|
24
|
+
}) => void;
|
|
25
|
+
export declare type EntryServerHandler = {
|
|
26
|
+
render: Renderer;
|
|
27
|
+
stream: Streamer;
|
|
28
|
+
hydrate: Hydrator;
|
|
29
|
+
};
|
|
30
|
+
export declare type ShopifyConfig = {
|
|
31
|
+
locale?: string;
|
|
32
|
+
storeDomain: string;
|
|
33
|
+
storefrontToken: string;
|
|
34
|
+
graphqlApiVersion?: string;
|
|
35
|
+
};
|
|
36
|
+
export declare type Hook = (params: {
|
|
37
|
+
url: URL;
|
|
38
|
+
} & Record<string, any>) => any | Promise<any>;
|
|
39
|
+
export declare type ServerHandler = (App: any, hook?: Hook) => {
|
|
40
|
+
render: Renderer;
|
|
41
|
+
stream: Streamer;
|
|
42
|
+
hydrate: Hydrator;
|
|
43
|
+
};
|
|
44
|
+
export declare type ClientHandler = (App: any, hook?: Hook) => Promise<void>;
|
|
45
|
+
export interface GraphQLConnection<T> {
|
|
46
|
+
edges?: {
|
|
47
|
+
node: T;
|
|
48
|
+
}[];
|
|
49
|
+
}
|
|
50
|
+
export declare type RawMetafield = Partial<Metafield>;
|
|
51
|
+
export declare type ParsedMetafield = Omit<Partial<Metafield>, 'value'> & {
|
|
52
|
+
value?: string | number | boolean | Record<any, string> | Date | Rating | Measurement;
|
|
53
|
+
};
|
|
54
|
+
export interface Rating {
|
|
55
|
+
value: number;
|
|
56
|
+
scale_min: number;
|
|
57
|
+
scale_max: number;
|
|
58
|
+
}
|
|
59
|
+
export interface Measurement {
|
|
60
|
+
unit: string;
|
|
61
|
+
value: number;
|
|
62
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
}
|