@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,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ServerComponentResponse = void 0;
|
|
4
|
+
const server_1 = require("react-dom/server");
|
|
5
|
+
class ServerComponentResponse extends Response {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.wait = false;
|
|
9
|
+
/**
|
|
10
|
+
* Allow custom body to be a string or a Promise.
|
|
11
|
+
*/
|
|
12
|
+
this.customBody = '';
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Buffer the current response until all queries have resolved,
|
|
16
|
+
* and prevent it from streaming back early.
|
|
17
|
+
*/
|
|
18
|
+
doNotStream() {
|
|
19
|
+
this.wait = true;
|
|
20
|
+
}
|
|
21
|
+
canStream() {
|
|
22
|
+
return !this.wait;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Send the response from a Server Component. Renders React components to string,
|
|
26
|
+
* and returns `null` to make React happy.
|
|
27
|
+
*/
|
|
28
|
+
send(body) {
|
|
29
|
+
if (typeof body === 'object' &&
|
|
30
|
+
body.$$typeof === Symbol.for('react.element')) {
|
|
31
|
+
this.customBody = server_1.renderToString(body);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this.customBody = body;
|
|
35
|
+
}
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.ServerComponentResponse = ServerComponentResponse;
|
|
@@ -0,0 +1,5 @@
|
|
|
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[];
|
|
@@ -0,0 +1,63 @@
|
|
|
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.parseReactFromString = exports.renderReactProps = void 0;
|
|
7
|
+
const server_1 = require("react-dom/server");
|
|
8
|
+
/**
|
|
9
|
+
* Load `domToReact` from within the library so it doesn't try to load `htmlToDom`
|
|
10
|
+
* which seems to always resolve to the client version, even though we want server.
|
|
11
|
+
*/
|
|
12
|
+
const dom_to_react_1 = __importDefault(require("html-react-parser/lib/dom-to-react"));
|
|
13
|
+
const html_dom_parser_1 = __importDefault(require("html-dom-parser"));
|
|
14
|
+
/**
|
|
15
|
+
* Iterate through each prop in an object and render it to an object.
|
|
16
|
+
*/
|
|
17
|
+
function renderReactProps(props) {
|
|
18
|
+
return Object.entries(props).reduce((memo, [key, prop]) => {
|
|
19
|
+
if (prop instanceof Array) {
|
|
20
|
+
memo[key] = prop.map((p) => renderReactProp(p));
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
memo[key] = renderReactProp(prop);
|
|
24
|
+
}
|
|
25
|
+
return memo;
|
|
26
|
+
}, {});
|
|
27
|
+
}
|
|
28
|
+
exports.renderReactProps = renderReactProps;
|
|
29
|
+
/**
|
|
30
|
+
* If a prop is a React element (determined by the `$$typeof` property),
|
|
31
|
+
* check to see if it's a Function and call it. Otherwise, recursively
|
|
32
|
+
* render React props to support nested components.
|
|
33
|
+
*/
|
|
34
|
+
function renderReactProp(prop) {
|
|
35
|
+
if (typeof prop === 'object' &&
|
|
36
|
+
prop['$$typeof'] === Symbol.for('react.element')) {
|
|
37
|
+
if (prop.type instanceof Function) {
|
|
38
|
+
/**
|
|
39
|
+
* We can't simply call prop.type(), since this does funky things
|
|
40
|
+
* with hooks, etc. Instead, we render it to string and convert
|
|
41
|
+
* it to a React object. This *still* isn't a perfect approach
|
|
42
|
+
* because the component isn't wrapped in the same context
|
|
43
|
+
* that the developer may have intended. However, we can
|
|
44
|
+
* set expectations as thus when passing components as
|
|
45
|
+
* props within Server Components.
|
|
46
|
+
*/
|
|
47
|
+
return parseReactFromString(server_1.renderToString(prop));
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
return {
|
|
51
|
+
...prop,
|
|
52
|
+
props: renderReactProps(prop.props),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return prop;
|
|
57
|
+
}
|
|
58
|
+
function parseReactFromString(input, options = {}) {
|
|
59
|
+
return dom_to_react_1.default(
|
|
60
|
+
// @ts-ignore
|
|
61
|
+
html_dom_parser_1.default(input, { lowerCaseAttributeNames: false }), options);
|
|
62
|
+
}
|
|
63
|
+
exports.parseReactFromString = parseReactFromString;
|
|
@@ -0,0 +1,20 @@
|
|
|
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 {};
|
|
@@ -0,0 +1,78 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.createRoutesFromPages = exports.DefaultRoutes = void 0;
|
|
23
|
+
const react_1 = __importStar(require("react"));
|
|
24
|
+
const react_router_dom_1 = require("react-router-dom");
|
|
25
|
+
/**
|
|
26
|
+
* Build a set of default Hydrogen routes based on the output provided by Vite's
|
|
27
|
+
* import.meta.globEager method.
|
|
28
|
+
*
|
|
29
|
+
* @see https://vitejs.dev/guide/features.html#glob-import
|
|
30
|
+
*/
|
|
31
|
+
function DefaultRoutes({ pages, serverState, fallback, }) {
|
|
32
|
+
const { path } = react_router_dom_1.useRouteMatch();
|
|
33
|
+
const routes = react_1.useMemo(() => createRoutesFromPages(pages, path), [pages, path]);
|
|
34
|
+
return (react_1.default.createElement(react_router_dom_1.Switch, null,
|
|
35
|
+
routes.map((route) => (react_1.default.createElement(react_router_dom_1.Route, { key: route.path, exact: route.exact, path: route.path },
|
|
36
|
+
react_1.default.createElement(route.component, { ...serverState })))),
|
|
37
|
+
fallback && react_1.default.createElement(react_router_dom_1.Route, { path: "*" }, fallback)));
|
|
38
|
+
}
|
|
39
|
+
exports.DefaultRoutes = DefaultRoutes;
|
|
40
|
+
function createRoutesFromPages(pages, topLevelPath = '*') {
|
|
41
|
+
const topLevelPrefix = topLevelPath.replace('*', '').replace(/\/$/, '');
|
|
42
|
+
const routes = Object.keys(pages).map((key) => {
|
|
43
|
+
const path = key
|
|
44
|
+
.replace('./pages', '')
|
|
45
|
+
.replace(/\.server\.(t|j)sx?$/, '')
|
|
46
|
+
/**
|
|
47
|
+
* Replace /index with /
|
|
48
|
+
*/
|
|
49
|
+
.replace(/\/index$/i, '/')
|
|
50
|
+
/**
|
|
51
|
+
* Only lowercase the first letter. This allows the developer to use camelCase
|
|
52
|
+
* dynamic paths while ensuring their standard routes are normalized to lowercase.
|
|
53
|
+
*/
|
|
54
|
+
.replace(/\b[A-Z]/, (firstLetter) => firstLetter.toLowerCase())
|
|
55
|
+
/**
|
|
56
|
+
* Convert /[handle].jsx and /[...handle].jsx to /:handle.jsx for react-router-dom
|
|
57
|
+
*/
|
|
58
|
+
.replace(/\[(?:[.]{3})?(\w+?)\]/g, (_match, param) => `:${param}`);
|
|
59
|
+
/**
|
|
60
|
+
* Catch-all routes [...handle].jsx don't need an exact match
|
|
61
|
+
* https://reactrouter.com/core/api/Route/exact-bool
|
|
62
|
+
*/
|
|
63
|
+
const exact = !/\[(?:[.]{3})(\w+?)\]/.test(key);
|
|
64
|
+
return {
|
|
65
|
+
path: topLevelPrefix + path,
|
|
66
|
+
component: pages[key].default,
|
|
67
|
+
exact,
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* Place static paths BEFORE dynamic paths to grant priority.
|
|
72
|
+
*/
|
|
73
|
+
return [
|
|
74
|
+
...routes.filter((route) => !route.path.includes(':')),
|
|
75
|
+
...routes.filter((route) => route.path.includes(':')),
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
exports.createRoutesFromPages = createRoutesFromPages;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DefaultRoutes } from './DefaultRoutes';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultRoutes = void 0;
|
|
4
|
+
var DefaultRoutes_1 = require("./DefaultRoutes");
|
|
5
|
+
Object.defineProperty(exports, "DefaultRoutes", { enumerable: true, get: function () { return DefaultRoutes_1.DefaultRoutes; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ShopifyContext: import("react").Context<import("../../types").ShopifyConfig | null>;
|
|
@@ -0,0 +1,34 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.ShopifyProvider = exports.DEFAULT_API_VERSION = void 0;
|
|
23
|
+
const react_1 = __importStar(require("react"));
|
|
24
|
+
const ShopifyContext_1 = require("./ShopifyContext");
|
|
25
|
+
exports.DEFAULT_API_VERSION = '2021-10';
|
|
26
|
+
function ShopifyProvider({ shopifyConfig, children, }) {
|
|
27
|
+
const shopifyProviderValue = react_1.useMemo(() => ({
|
|
28
|
+
locale: 'en-us',
|
|
29
|
+
graphqlApiVersion: exports.DEFAULT_API_VERSION,
|
|
30
|
+
...shopifyConfig,
|
|
31
|
+
}), [shopifyConfig]);
|
|
32
|
+
return (react_1.default.createElement(ShopifyContext_1.ShopifyContext.Provider, { value: shopifyProviderValue }, children));
|
|
33
|
+
}
|
|
34
|
+
exports.ShopifyProvider = ShopifyProvider;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ShopifyConfig } from '../../types';
|
|
3
|
+
import { ReactQueryHydrationContext } from './types';
|
|
4
|
+
export declare function ShopifyServerProvider({ children, shopifyConfig, hydrationContext, }: {
|
|
5
|
+
children: ReactElement;
|
|
6
|
+
shopifyConfig: ShopifyConfig;
|
|
7
|
+
hydrationContext: ReactQueryHydrationContext;
|
|
8
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
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.ShopifyServerProvider = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const ShopifyProvider_1 = require("./ShopifyProvider");
|
|
9
|
+
const useQuery_1 = require("../../hooks/useQuery");
|
|
10
|
+
function ShopifyServerProvider({ children, shopifyConfig, hydrationContext, }) {
|
|
11
|
+
return (react_1.default.createElement(ShopifyProvider_1.ShopifyProvider, { shopifyConfig: shopifyConfig },
|
|
12
|
+
react_1.default.createElement(useQuery_1.QueryProvider, { hydrationContext: hydrationContext }, children)));
|
|
13
|
+
}
|
|
14
|
+
exports.ShopifyServerProvider = ShopifyServerProvider;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useShop = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const ShopifyContext_1 = require("./ShopifyContext");
|
|
6
|
+
function useShop() {
|
|
7
|
+
const context = react_1.useContext(ShopifyContext_1.ShopifyContext);
|
|
8
|
+
if (!context) {
|
|
9
|
+
throw new Error('No Shopify Context found');
|
|
10
|
+
}
|
|
11
|
+
return context;
|
|
12
|
+
}
|
|
13
|
+
exports.useShop = useShop;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useShop = exports.DEFAULT_API_VERSION = exports.ShopifyProvider = void 0;
|
|
4
|
+
var ShopifyProvider_1 = require("./ShopifyProvider");
|
|
5
|
+
Object.defineProperty(exports, "ShopifyProvider", { enumerable: true, get: function () { return ShopifyProvider_1.ShopifyProvider; } });
|
|
6
|
+
Object.defineProperty(exports, "DEFAULT_API_VERSION", { enumerable: true, get: function () { return ShopifyProvider_1.DEFAULT_API_VERSION; } });
|
|
7
|
+
var hooks_1 = require("./hooks");
|
|
8
|
+
Object.defineProperty(exports, "useShop", { enumerable: true, get: function () { return hooks_1.useShop; } });
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { QueryClient } from 'react-query';
|
|
2
|
+
import { ShopifyConfig } from '../../types';
|
|
3
|
+
export declare type ShopifyProviderValue = ShopifyConfig;
|
|
4
|
+
export declare type ShopifyProviderProps = {
|
|
5
|
+
shopifyConfig: ShopifyConfig;
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
manager?: any;
|
|
8
|
+
};
|
|
9
|
+
export interface ReactQueryHydrationContext {
|
|
10
|
+
queryClient?: QueryClient;
|
|
11
|
+
dehydratedState?: any;
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientMarker = exports.DefaultRoutes = exports.ShopifyServerProvider = exports.DEFAULT_API_VERSION = exports.useShop = exports.ShopifyProvider = void 0;
|
|
4
|
+
var ShopifyProvider_1 = require("./ShopifyProvider");
|
|
5
|
+
Object.defineProperty(exports, "ShopifyProvider", { enumerable: true, get: function () { return ShopifyProvider_1.ShopifyProvider; } });
|
|
6
|
+
Object.defineProperty(exports, "useShop", { enumerable: true, get: function () { return ShopifyProvider_1.useShop; } });
|
|
7
|
+
Object.defineProperty(exports, "DEFAULT_API_VERSION", { enumerable: true, get: function () { return ShopifyProvider_1.DEFAULT_API_VERSION; } });
|
|
8
|
+
var ShopifyServerProvider_server_1 = require("./ShopifyProvider/ShopifyServerProvider.server");
|
|
9
|
+
Object.defineProperty(exports, "ShopifyServerProvider", { enumerable: true, get: function () { return ShopifyServerProvider_server_1.ShopifyServerProvider; } });
|
|
10
|
+
var Router_1 = require("./Router");
|
|
11
|
+
Object.defineProperty(exports, "DefaultRoutes", { enumerable: true, get: function () { return Router_1.DefaultRoutes; } });
|
|
12
|
+
var ClientMarker_1 = require("./ClientMarker");
|
|
13
|
+
Object.defineProperty(exports, "ClientMarker", { enumerable: true, get: function () { return ClientMarker_1.ClientMarker; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function graphiqlHtml(shop: string, token: string, apiVersion?: string): string;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.graphiqlHtml = void 0;
|
|
4
|
+
const foundation_1 = require("../foundation");
|
|
5
|
+
function graphiqlHtml(shop, token, apiVersion = foundation_1.DEFAULT_API_VERSION) {
|
|
6
|
+
return `<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>Shopify Storefront API</title>
|
|
9
|
+
<link href="https://unpkg.com/graphiql/graphiql.min.css" rel="stylesheet" />
|
|
10
|
+
</head>
|
|
11
|
+
<body style="margin: 0;">
|
|
12
|
+
<div id="graphiql" style="height: 100vh;"></div>
|
|
13
|
+
<script
|
|
14
|
+
crossorigin
|
|
15
|
+
src="https://unpkg.com/react/umd/react.production.min.js"
|
|
16
|
+
></script>
|
|
17
|
+
<script
|
|
18
|
+
crossorigin
|
|
19
|
+
src="https://unpkg.com/react-dom/umd/react-dom.production.min.js"
|
|
20
|
+
></script>
|
|
21
|
+
<script
|
|
22
|
+
crossorigin
|
|
23
|
+
src="https://unpkg.com/graphiql/graphiql.min.js"
|
|
24
|
+
></script>
|
|
25
|
+
<script>
|
|
26
|
+
const fetcher = GraphiQL.createFetcher({
|
|
27
|
+
url: 'https://${shop}/api/${apiVersion}/graphql.json',
|
|
28
|
+
headers: {
|
|
29
|
+
Accept: 'application/json',
|
|
30
|
+
'Content-Type': 'application/graphql',
|
|
31
|
+
'X-Shopify-Storefront-Access-Token': '${token}'
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
ReactDOM.render(
|
|
35
|
+
React.createElement(GraphiQL, { fetcher: fetcher }),
|
|
36
|
+
document.getElementById('graphiql'),
|
|
37
|
+
);
|
|
38
|
+
</script>
|
|
39
|
+
</body>
|
|
40
|
+
</html>
|
|
41
|
+
`;
|
|
42
|
+
}
|
|
43
|
+
exports.graphiqlHtml = graphiqlHtml;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IncomingMessage, NextFunction } from 'connect';
|
|
2
|
+
import http from 'http';
|
|
3
|
+
import { ViteDevServer } from 'vite';
|
|
4
|
+
import { ShopifyConfig } from '../types';
|
|
5
|
+
declare type HydrogenMiddlewareArgs = {
|
|
6
|
+
dev?: boolean;
|
|
7
|
+
shopifyConfig?: ShopifyConfig;
|
|
8
|
+
indexTemplate: string | ((url: string) => Promise<string>);
|
|
9
|
+
getServerEntrypoint: () => Record<string, any> | Promise<Record<string, any>>;
|
|
10
|
+
devServer?: ViteDevServer;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Provides middleware to Node.js Express-like servers. Used by the Hydrogen
|
|
14
|
+
* Vite dev server plugin as well as production Node.js implementation.
|
|
15
|
+
*/
|
|
16
|
+
export default function hydrogenMiddleware({ dev, shopifyConfig, indexTemplate, getServerEntrypoint, devServer, }: HydrogenMiddlewareArgs): (request: IncomingMessage, response: http.ServerResponse, next: NextFunction) => Promise<void>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,141 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
const graphiql_1 = require("./graphiql");
|
|
26
|
+
const handle_event_1 = __importDefault(require("../handle-event"));
|
|
27
|
+
/**
|
|
28
|
+
* Provides middleware to Node.js Express-like servers. Used by the Hydrogen
|
|
29
|
+
* Vite dev server plugin as well as production Node.js implementation.
|
|
30
|
+
*/
|
|
31
|
+
function hydrogenMiddleware({ dev, shopifyConfig, indexTemplate, getServerEntrypoint, devServer, }) {
|
|
32
|
+
return async function (request, response, next) {
|
|
33
|
+
const graphiqlRequest = dev && isGraphiqlRequest(request);
|
|
34
|
+
if (graphiqlRequest) {
|
|
35
|
+
return respondWithGraphiql(response, shopifyConfig);
|
|
36
|
+
}
|
|
37
|
+
const url = new URL('http://' + request.headers.host + request.originalUrl);
|
|
38
|
+
const isReactHydrationRequest = url.pathname === '/react';
|
|
39
|
+
/**
|
|
40
|
+
* If it's a dev environment, it's assumed that Vite's dev server is handling
|
|
41
|
+
* any static or JS requests, so we need to ensure that we don't try to handle them.
|
|
42
|
+
*
|
|
43
|
+
* If it's a product environment, it's assumed that the developer is handling
|
|
44
|
+
* static requests with e.g. static middleware.
|
|
45
|
+
*/
|
|
46
|
+
if (dev && !shouldInterceptRequest(request, isReactHydrationRequest)) {
|
|
47
|
+
return next();
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
/**
|
|
51
|
+
* We're running in the Node.js runtime without access to `fetch`,
|
|
52
|
+
* which is needed for proxy requests and server-side API requests.
|
|
53
|
+
*/
|
|
54
|
+
if (!globalThis.fetch) {
|
|
55
|
+
const fetch = await Promise.resolve().then(() => __importStar(require('node-fetch')));
|
|
56
|
+
// @ts-ignore
|
|
57
|
+
globalThis.fetch = fetch.default;
|
|
58
|
+
// @ts-ignore
|
|
59
|
+
globalThis.Request = fetch.Request;
|
|
60
|
+
// @ts-ignore
|
|
61
|
+
globalThis.Response = fetch.Response;
|
|
62
|
+
// @ts-ignore
|
|
63
|
+
globalThis.Headers = fetch.Headers;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Dynamically import ServerComponentResponse after the `fetch`
|
|
67
|
+
* polyfill has loaded above.
|
|
68
|
+
*/
|
|
69
|
+
const { ServerComponentRequest } = await Promise.resolve().then(() => __importStar(require('../foundation/Hydration/ServerComponentRequest.server')));
|
|
70
|
+
const eventResponse = await handle_event_1.default(
|
|
71
|
+
/**
|
|
72
|
+
* Mimic a `FetchEvent`
|
|
73
|
+
*/
|
|
74
|
+
{}, {
|
|
75
|
+
request: new ServerComponentRequest(request),
|
|
76
|
+
entrypoint: await getServerEntrypoint(),
|
|
77
|
+
indexTemplate,
|
|
78
|
+
streamableResponse: response,
|
|
79
|
+
dev,
|
|
80
|
+
});
|
|
81
|
+
/**
|
|
82
|
+
* If a `Response` was returned, that means it was not streamed.
|
|
83
|
+
* Convert the response into a proper Node.js response.
|
|
84
|
+
*/
|
|
85
|
+
if (eventResponse) {
|
|
86
|
+
eventResponse.headers.forEach((value, key) => {
|
|
87
|
+
response.setHeader(key, value);
|
|
88
|
+
});
|
|
89
|
+
response.statusCode = eventResponse.status;
|
|
90
|
+
response.end(eventResponse.body);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (e) {
|
|
94
|
+
if (dev && devServer)
|
|
95
|
+
devServer.ssrFixStacktrace(e);
|
|
96
|
+
console.log(e.stack);
|
|
97
|
+
response.statusCode = 500;
|
|
98
|
+
/**
|
|
99
|
+
* Attempt to print the error stack within the template.
|
|
100
|
+
* This allows the react-refresh plugin and other Vite runtime helpers
|
|
101
|
+
* to display the error and auto-refresh when the error is fixed, instead
|
|
102
|
+
* of a white screen that needs a manual refresh.
|
|
103
|
+
*/
|
|
104
|
+
try {
|
|
105
|
+
const template = typeof indexTemplate === 'function'
|
|
106
|
+
? await indexTemplate(url.toString())
|
|
107
|
+
: indexTemplate;
|
|
108
|
+
const html = template.replace(`<div id="root"></div>`, `<div id="root"><pre><code>${e.stack}</code></pre></div>`);
|
|
109
|
+
response.write(html);
|
|
110
|
+
next(e);
|
|
111
|
+
}
|
|
112
|
+
catch (_e) {
|
|
113
|
+
// If template loading is the culprit, give up and just return the error stack.
|
|
114
|
+
response.write(e.stack);
|
|
115
|
+
next(e);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
exports.default = hydrogenMiddleware;
|
|
121
|
+
function shouldInterceptRequest(request, isReactHydrationRequest) {
|
|
122
|
+
var _a;
|
|
123
|
+
return ((((_a = request.headers['accept']) === null || _a === void 0 ? void 0 : _a.includes('text/html')) ||
|
|
124
|
+
isReactHydrationRequest) &&
|
|
125
|
+
request.method === 'GET' &&
|
|
126
|
+
request.url !== '/favicon.ico');
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* /graphiql and /___graphql are supported
|
|
130
|
+
*/
|
|
131
|
+
function isGraphiqlRequest(request) {
|
|
132
|
+
return /^\/(?:_{3})?graphi?ql/.test(request.url || '');
|
|
133
|
+
}
|
|
134
|
+
async function respondWithGraphiql(response, shopifyConfig) {
|
|
135
|
+
if (!shopifyConfig) {
|
|
136
|
+
throw new Error("You must provide shopifyConfig to Hydrogen's Vite middleware");
|
|
137
|
+
}
|
|
138
|
+
const { storeDomain, storefrontToken, graphqlApiVersion } = shopifyConfig;
|
|
139
|
+
response.setHeader('Content-Type', 'text/html');
|
|
140
|
+
response.end(graphiql_1.graphiqlHtml(storeDomain, storefrontToken, graphqlApiVersion));
|
|
141
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
const vite_plugin_hydrogen_config_1 = __importDefault(require("./plugins/vite-plugin-hydrogen-config"));
|
|
7
|
+
const vite_plugin_hydrogen_middleware_1 = __importDefault(require("./plugins/vite-plugin-hydrogen-middleware"));
|
|
8
|
+
const vite_plugin_react_server_components_shim_1 = __importDefault(require("./plugins/vite-plugin-react-server-components-shim"));
|
|
9
|
+
const vite_plugin_inspect_1 = __importDefault(require("vite-plugin-inspect"));
|
|
10
|
+
const plugin_react_1 = __importDefault(require("@vitejs/plugin-react"));
|
|
11
|
+
exports.default = (shopifyConfig) => {
|
|
12
|
+
return [
|
|
13
|
+
process.env.VITE_INSPECT && vite_plugin_inspect_1.default(),
|
|
14
|
+
vite_plugin_hydrogen_config_1.default(),
|
|
15
|
+
vite_plugin_hydrogen_middleware_1.default(shopifyConfig),
|
|
16
|
+
vite_plugin_react_server_components_shim_1.default(),
|
|
17
|
+
plugin_react_1.default(),
|
|
18
|
+
];
|
|
19
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = () => {
|
|
4
|
+
return {
|
|
5
|
+
name: 'vite-plugin-hydrogen-config',
|
|
6
|
+
config: () => ({
|
|
7
|
+
resolve: {
|
|
8
|
+
alias: {
|
|
9
|
+
/**
|
|
10
|
+
* For some reason, when building in a worker, Vite always
|
|
11
|
+
* pulls the client version instead of the server version of these
|
|
12
|
+
* dependencies. We intentially force it to load the server versions.
|
|
13
|
+
*/
|
|
14
|
+
'html-dom-parser': process.env.WORKER
|
|
15
|
+
? 'html-dom-parser/lib/server/html-to-dom'
|
|
16
|
+
: 'html-dom-parser',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
build: {
|
|
20
|
+
sourcemap: true,
|
|
21
|
+
},
|
|
22
|
+
ssr: {
|
|
23
|
+
external: ['isomorphic-dompurify'],
|
|
24
|
+
/**
|
|
25
|
+
* Tell Vite to bundle everything when we're building for Workers.
|
|
26
|
+
*/
|
|
27
|
+
noExternal: Boolean(process.env.WORKER),
|
|
28
|
+
target: process.env.WORKER ? 'webworker' : 'node',
|
|
29
|
+
},
|
|
30
|
+
optimizeDeps: {
|
|
31
|
+
/**
|
|
32
|
+
* Additionally, the following dependencies have trouble loading the
|
|
33
|
+
* correct version of the dependency (server vs client). This tells Vite to take the
|
|
34
|
+
* server versions and optimize them for ESM.
|
|
35
|
+
*/
|
|
36
|
+
include: [
|
|
37
|
+
'html-dom-parser',
|
|
38
|
+
'html-react-parser',
|
|
39
|
+
'focus-trap-react',
|
|
40
|
+
'react-helmet-async',
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
45
|
+
};
|