@shopify/hydrogen 0.8.3 → 0.10.0-experimental.1

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.
Files changed (215) hide show
  1. package/dist/esnext/client.d.ts +1 -1
  2. package/dist/esnext/client.js +1 -1
  3. package/dist/esnext/components/Link/Link.client.d.ts +1 -1
  4. package/dist/esnext/components/Link/Link.client.js +5 -1
  5. package/dist/esnext/components/ProductProvider/ProductProvider.client.d.ts +3 -2
  6. package/dist/esnext/components/RawHtml/RawHtml.js +1 -1
  7. package/dist/esnext/entry-client.js +8 -9
  8. package/dist/esnext/entry-server.d.ts +3 -0
  9. package/dist/esnext/entry-server.js +399 -232
  10. package/dist/esnext/foundation/Router/DefaultRoutes.d.ts +3 -3
  11. package/dist/esnext/foundation/Router/DefaultRoutes.js +20 -10
  12. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.d.ts +22 -0
  13. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.js +67 -0
  14. package/dist/esnext/foundation/ServerRequestProvider/index.d.ts +1 -0
  15. package/dist/esnext/foundation/ServerRequestProvider/index.js +1 -0
  16. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.d.ts +2 -1
  17. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.js +3 -2
  18. package/dist/esnext/foundation/ShopifyProvider/index.d.ts +1 -1
  19. package/dist/esnext/foundation/ShopifyProvider/index.js +1 -1
  20. package/dist/esnext/foundation/{ShopifyProvider/consts.d.ts → constants.d.ts} +0 -0
  21. package/dist/esnext/foundation/constants.js +3 -0
  22. package/dist/esnext/foundation/index.d.ts +2 -3
  23. package/dist/esnext/foundation/index.js +2 -3
  24. package/dist/esnext/foundation/useQuery/hooks.d.ts +7 -2
  25. package/dist/esnext/foundation/useQuery/hooks.js +3 -2
  26. package/dist/esnext/foundation/useShop/index.d.ts +1 -1
  27. package/dist/esnext/foundation/useShop/index.js +1 -1
  28. package/dist/esnext/foundation/useShop/use-shop.d.ts +3 -2
  29. package/dist/esnext/foundation/useShop/use-shop.js +11 -4
  30. package/dist/esnext/framework/Hydration/Html.d.ts +7 -3
  31. package/dist/esnext/framework/Hydration/Html.js +4 -3
  32. package/dist/esnext/framework/Hydration/ServerComponentRequest.server.d.ts +5 -0
  33. package/dist/esnext/framework/Hydration/ServerComponentRequest.server.js +12 -0
  34. package/dist/esnext/framework/Hydration/{Cache.client.d.ts → rsc.d.ts} +4 -2
  35. package/dist/esnext/framework/Hydration/rsc.js +62 -0
  36. package/dist/esnext/framework/graphiql.js +1 -1
  37. package/dist/esnext/framework/middleware.js +16 -18
  38. package/dist/esnext/framework/plugin.d.ts +2 -1
  39. package/dist/esnext/framework/plugin.js +14 -3
  40. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +26 -11
  41. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.js +2 -0
  42. package/dist/esnext/framework/plugins/{vite-plugin-react-server-components-shim.d.ts → vite-plugin-purge-query-cache.d.ts} +0 -0
  43. package/dist/esnext/framework/plugins/vite-plugin-purge-query-cache.js +11 -0
  44. package/dist/esnext/handle-event.d.ts +3 -2
  45. package/dist/esnext/handle-event.js +42 -88
  46. package/dist/esnext/handle-worker-event.d.ts +1 -1
  47. package/dist/esnext/hooks/useShopQuery/hooks.js +2 -2
  48. package/dist/esnext/types.d.ts +21 -16
  49. package/dist/esnext/utilities/apiRoutes.d.ts +21 -0
  50. package/dist/esnext/utilities/apiRoutes.js +73 -0
  51. package/dist/esnext/utilities/defer.d.ts +6 -0
  52. package/dist/esnext/utilities/defer.js +14 -0
  53. package/dist/esnext/utilities/fetch.js +10 -11
  54. package/dist/esnext/utilities/flattenConnection/flattenConnection.d.ts +1 -1
  55. package/dist/esnext/utilities/flattenConnection/flattenConnection.js +1 -1
  56. package/dist/esnext/utilities/log/log.d.ts +1 -1
  57. package/dist/esnext/utilities/log/log.js +6 -5
  58. package/dist/esnext/utilities/matchPath.d.ts +10 -0
  59. package/dist/esnext/utilities/matchPath.js +54 -0
  60. package/dist/esnext/utilities/object.d.ts +5 -0
  61. package/dist/esnext/utilities/object.js +7 -0
  62. package/dist/esnext/version.d.ts +1 -1
  63. package/dist/esnext/version.js +1 -1
  64. package/dist/node/foundation/{ShopifyProvider/consts.d.ts → constants.d.ts} +0 -0
  65. package/dist/node/foundation/{ShopifyProvider/consts.js → constants.js} +2 -0
  66. package/dist/node/framework/Hydration/Html.d.ts +7 -3
  67. package/dist/node/framework/Hydration/Html.js +4 -3
  68. package/dist/node/framework/Hydration/ServerComponentRequest.server.d.ts +5 -0
  69. package/dist/node/framework/Hydration/ServerComponentRequest.server.js +12 -0
  70. package/dist/node/framework/Hydration/{Cache.client.d.ts → rsc.d.ts} +4 -2
  71. package/dist/node/framework/Hydration/rsc.js +65 -0
  72. package/dist/node/framework/graphiql.js +2 -2
  73. package/dist/node/framework/middleware.js +16 -18
  74. package/dist/node/framework/plugin.d.ts +2 -1
  75. package/dist/node/framework/plugin.js +14 -3
  76. package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +26 -11
  77. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.js +2 -0
  78. package/dist/node/framework/plugins/{vite-plugin-react-server-components-shim.d.ts → vite-plugin-purge-query-cache.d.ts} +0 -0
  79. package/dist/node/framework/plugins/vite-plugin-purge-query-cache.js +16 -0
  80. package/dist/node/handle-event.d.ts +3 -2
  81. package/dist/node/handle-event.js +42 -88
  82. package/dist/node/types.d.ts +21 -16
  83. package/dist/node/utilities/apiRoutes.d.ts +21 -0
  84. package/dist/node/utilities/apiRoutes.js +79 -0
  85. package/dist/node/utilities/log/log.d.ts +17 -0
  86. package/dist/node/utilities/log/log.js +83 -0
  87. package/dist/node/utilities/matchPath.d.ts +10 -0
  88. package/dist/node/utilities/matchPath.js +58 -0
  89. package/dist/worker/framework/Hydration/ServerComponentRequest.server.d.ts +5 -0
  90. package/dist/worker/framework/Hydration/ServerComponentRequest.server.js +12 -0
  91. package/dist/worker/handle-event.d.ts +3 -2
  92. package/dist/worker/handle-event.js +42 -88
  93. package/dist/worker/handle-worker-event.d.ts +1 -1
  94. package/dist/worker/types.d.ts +21 -16
  95. package/dist/worker/utilities/apiRoutes.d.ts +21 -0
  96. package/dist/worker/utilities/apiRoutes.js +73 -0
  97. package/dist/worker/utilities/log/log.d.ts +17 -0
  98. package/dist/worker/utilities/log/log.js +76 -0
  99. package/dist/worker/utilities/matchPath.d.ts +10 -0
  100. package/dist/worker/utilities/matchPath.js +54 -0
  101. package/package.json +17 -12
  102. package/vendor/react-server-dom-vite/LICENSE +21 -0
  103. package/vendor/react-server-dom-vite/README.md +5 -0
  104. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-plugin.js +189 -0
  105. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.development.server.js +1030 -0
  106. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.production.min.server.js +429 -0
  107. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.development.server.js +1052 -0
  108. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.production.min.server.js +445 -0
  109. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.development.js +620 -0
  110. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.production.min.js +252 -0
  111. package/vendor/react-server-dom-vite/esm/package.json +3 -0
  112. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-client-proxy.js +81 -0
  113. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-plugin.js +183 -0
  114. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.browser.server.js +1013 -0
  115. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.node.server.js +1031 -0
  116. package/vendor/react-server-dom-vite/esm/react-server-dom-vite.js +610 -0
  117. package/vendor/react-server-dom-vite/index.js +7 -0
  118. package/vendor/react-server-dom-vite/package.json +68 -0
  119. package/vendor/react-server-dom-vite/plugin.js +3 -0
  120. package/vendor/react-server-dom-vite/writer.browser.server.js +7 -0
  121. package/vendor/react-server-dom-vite/writer.node.server.js +7 -0
  122. package/dist/esnext/foundation/RenderCacheProvider/RenderCacheContext.d.ts +0 -2
  123. package/dist/esnext/foundation/RenderCacheProvider/RenderCacheContext.js +0 -4
  124. package/dist/esnext/foundation/RenderCacheProvider/RenderCacheProvider.d.ts +0 -2
  125. package/dist/esnext/foundation/RenderCacheProvider/RenderCacheProvider.js +0 -5
  126. package/dist/esnext/foundation/RenderCacheProvider/hook.d.ts +0 -11
  127. package/dist/esnext/foundation/RenderCacheProvider/hook.js +0 -34
  128. package/dist/esnext/foundation/RenderCacheProvider/index.d.ts +0 -1
  129. package/dist/esnext/foundation/RenderCacheProvider/index.js +0 -1
  130. package/dist/esnext/foundation/RenderCacheProvider/types.d.ts +0 -18
  131. package/dist/esnext/foundation/RenderCacheProvider/types.js +0 -1
  132. package/dist/esnext/foundation/ShopifyProvider/ShopifyServerProvider.server.d.ts +0 -6
  133. package/dist/esnext/foundation/ShopifyProvider/ShopifyServerProvider.server.js +0 -5
  134. package/dist/esnext/foundation/ShopifyProvider/consts.js +0 -1
  135. package/dist/esnext/framework/ClientMarker/ClientMarker.d.ts +0 -9
  136. package/dist/esnext/framework/ClientMarker/ClientMarker.js +0 -47
  137. package/dist/esnext/framework/ClientMarker/index.d.ts +0 -1
  138. package/dist/esnext/framework/ClientMarker/index.js +0 -1
  139. package/dist/esnext/framework/Hydration/Cache.client.js +0 -140
  140. package/dist/esnext/framework/Hydration/ClientComponents.server.d.ts +0 -13
  141. package/dist/esnext/framework/Hydration/ClientComponents.server.js +0 -18
  142. package/dist/esnext/framework/Hydration/HydrationContext.server.d.ts +0 -1
  143. package/dist/esnext/framework/Hydration/HydrationContext.server.js +0 -2
  144. package/dist/esnext/framework/Hydration/client-imports.d.ts +0 -1
  145. package/dist/esnext/framework/Hydration/client-imports.js +0 -25
  146. package/dist/esnext/framework/Hydration/react-utils.d.ts +0 -5
  147. package/dist/esnext/framework/Hydration/react-utils.js +0 -56
  148. package/dist/esnext/framework/Hydration/wire.server.d.ts +0 -4
  149. package/dist/esnext/framework/Hydration/wire.server.js +0 -75
  150. package/dist/esnext/framework/Hydration/writer.server.d.ts +0 -14
  151. package/dist/esnext/framework/Hydration/writer.server.js +0 -30
  152. package/dist/esnext/framework/plugins/resolver.d.ts +0 -1
  153. package/dist/esnext/framework/plugins/resolver.js +0 -3
  154. package/dist/esnext/framework/plugins/vite-plugin-react-server-components-shim.js +0 -78
  155. package/dist/esnext/framework/server-components.d.ts +0 -4
  156. package/dist/esnext/framework/server-components.js +0 -46
  157. package/dist/node/framework/ClientMarker/ClientMarker.d.ts +0 -9
  158. package/dist/node/framework/ClientMarker/ClientMarker.js +0 -70
  159. package/dist/node/framework/ClientMarker/index.d.ts +0 -1
  160. package/dist/node/framework/ClientMarker/index.js +0 -13
  161. package/dist/node/framework/Hydration/Cache.client.js +0 -148
  162. package/dist/node/framework/Hydration/ClientComponents.server.d.ts +0 -13
  163. package/dist/node/framework/Hydration/ClientComponents.server.js +0 -22
  164. package/dist/node/framework/Hydration/HydrationContext.server.d.ts +0 -1
  165. package/dist/node/framework/Hydration/HydrationContext.server.js +0 -5
  166. package/dist/node/framework/Hydration/client-imports.d.ts +0 -1
  167. package/dist/node/framework/Hydration/client-imports.js +0 -28
  168. package/dist/node/framework/Hydration/react-utils.d.ts +0 -5
  169. package/dist/node/framework/Hydration/react-utils.js +0 -64
  170. package/dist/node/framework/Hydration/wire.server.d.ts +0 -4
  171. package/dist/node/framework/Hydration/wire.server.js +0 -79
  172. package/dist/node/framework/Hydration/writer.server.d.ts +0 -14
  173. package/dist/node/framework/Hydration/writer.server.js +0 -34
  174. package/dist/node/framework/plugins/resolver.d.ts +0 -1
  175. package/dist/node/framework/plugins/resolver.js +0 -7
  176. package/dist/node/framework/plugins/vite-plugin-react-server-components-shim.js +0 -83
  177. package/dist/node/framework/server-components.d.ts +0 -4
  178. package/dist/node/framework/server-components.js +0 -53
  179. package/dist/node/utilities/fetch.d.ts +0 -4
  180. package/dist/node/utilities/fetch.js +0 -66
  181. package/dist/node/utilities/flattenConnection/flattenConnection.d.ts +0 -5
  182. package/dist/node/utilities/flattenConnection/flattenConnection.js +0 -11
  183. package/dist/node/utilities/flattenConnection/index.d.ts +0 -1
  184. package/dist/node/utilities/flattenConnection/index.js +0 -5
  185. package/dist/node/utilities/image_size.d.ts +0 -29
  186. package/dist/node/utilities/image_size.js +0 -106
  187. package/dist/node/utilities/index.d.ts +0 -11
  188. package/dist/node/utilities/index.js +0 -32
  189. package/dist/node/utilities/isClient/index.d.ts +0 -1
  190. package/dist/node/utilities/isClient/index.js +0 -5
  191. package/dist/node/utilities/isClient/isClient.d.ts +0 -4
  192. package/dist/node/utilities/isClient/isClient.js +0 -10
  193. package/dist/node/utilities/isServer/index.d.ts +0 -1
  194. package/dist/node/utilities/isServer/index.js +0 -5
  195. package/dist/node/utilities/isServer/isServer.d.ts +0 -4
  196. package/dist/node/utilities/isServer/isServer.js +0 -11
  197. package/dist/node/utilities/measurement.d.ts +0 -3
  198. package/dist/node/utilities/measurement.js +0 -103
  199. package/dist/node/utilities/parseMetafieldValue/index.d.ts +0 -1
  200. package/dist/node/utilities/parseMetafieldValue/index.js +0 -5
  201. package/dist/node/utilities/parseMetafieldValue/parseMetafieldValue.d.ts +0 -5
  202. package/dist/node/utilities/parseMetafieldValue/parseMetafieldValue.js +0 -39
  203. package/dist/node/utilities/script_loader.d.ts +0 -3
  204. package/dist/node/utilities/script_loader.js +0 -27
  205. package/dist/node/utilities/suspense.d.ts +0 -7
  206. package/dist/node/utilities/suspense.js +0 -30
  207. package/dist/node/utilities/video_parameters.d.ts +0 -47
  208. package/dist/node/utilities/video_parameters.js +0 -27
  209. package/dist/node/version.d.ts +0 -1
  210. package/dist/node/version.js +0 -4
  211. package/dist/worker/framework/Hydration/ServerComponentResponse.server.d.ts +0 -32
  212. package/dist/worker/framework/Hydration/ServerComponentResponse.server.js +0 -64
  213. package/dist/worker/framework/cache.d.ts +0 -26
  214. package/dist/worker/framework/cache.js +0 -101
  215. package/marker.js +0 -1
@@ -5,5 +5,5 @@ export * from './foundation/useShop';
5
5
  export * from './foundation/ShopifyProvider';
6
6
  export * from './foundation/ServerStateProvider';
7
7
  export { ServerStateRouter } from './foundation/Router/ServerStateRouter.client';
8
- export { Helmet } from 'react-helmet-async';
8
+ export { Helmet, HelmetProvider } from 'react-helmet-async';
9
9
  export * from './utilities';
@@ -5,5 +5,5 @@ export * from './foundation/useShop';
5
5
  export * from './foundation/ShopifyProvider';
6
6
  export * from './foundation/ServerStateProvider';
7
7
  export { ServerStateRouter } from './foundation/Router/ServerStateRouter.client';
8
- export { Helmet } from 'react-helmet-async';
8
+ export { Helmet, HelmetProvider } from 'react-helmet-async';
9
9
  export * from './utilities';
@@ -1 +1 @@
1
- export { Link } from 'react-router-dom';
1
+ export declare function Link(props: any): JSX.Element;
@@ -1 +1,5 @@
1
- export { Link } from 'react-router-dom';
1
+ import React from 'react';
2
+ import { Link as RRLink } from 'react-router-dom';
3
+ export function Link(props) {
4
+ return import.meta.env.SSR ? (React.createElement("a", { href: props.to, ...props, to: null })) : (React.createElement(RRLink, { ...props }));
5
+ }
@@ -1,4 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
+ import { useProductOptions } from '../../hooks';
2
3
  import { Product } from './types';
3
4
  /**
4
5
  * The `ProductProvider` component sets up a context with product details. Descendents of
@@ -9,8 +10,8 @@ export declare function ProductProvider({ children, product, initialVariantId, }
9
10
  children: ReactNode;
10
11
  /** A [Product object](/api/storefront/reference/products/product). */
11
12
  product: Product;
12
- /** The initially selected variant. */
13
- initialVariantId: string;
13
+ /** The initially selected variant. This is required only if you're using a `SelectedVariantX` hook in the `ProductProvider` component.*/
14
+ initialVariantId?: Parameters<typeof useProductOptions>['0']['initialVariantId'];
14
15
  }): JSX.Element;
15
16
  export declare namespace ProductProvider {
16
17
  var Fragment: string;
@@ -16,6 +16,6 @@ export function RawHtml(props) {
16
16
  }
17
17
  // TODO: Re-enable when we find a way to support Worker runtime
18
18
  // return DOMPurify.sanitize(text, DOMPURIFY_CONFIG);
19
- }, [string, unsanitized]);
19
+ }, [string, !!unsanitized]);
20
20
  return (React.createElement(Wrapper, { ...passthroughProps, dangerouslySetInnerHTML: { __html: sanitizedString } }));
21
21
  }
@@ -3,10 +3,9 @@ import React, { Suspense, useState } from 'react';
3
3
  import { createRoot } from 'react-dom';
4
4
  import { BrowserRouter } from 'react-router-dom';
5
5
  import { ErrorBoundary } from 'react-error-boundary';
6
- import { HelmetProvider } from 'react-helmet-async';
7
- import { useServerResponse } from './framework/Hydration/Cache.client';
8
- import { ServerStateProvider, ServerStateRouter } from './client';
9
- const renderHydrogen = async (ClientWrapper) => {
6
+ import { useServerResponse } from './framework/Hydration/rsc';
7
+ import { ServerStateProvider, ServerStateRouter, ShopifyProvider, } from './client';
8
+ const renderHydrogen = async (ClientWrapper, { shopifyConfig }) => {
10
9
  const root = document.getElementById('root');
11
10
  if (!root) {
12
11
  console.error(`Could not find a root element <div id="root"></div> to render.`);
@@ -14,20 +13,20 @@ const renderHydrogen = async (ClientWrapper) => {
14
13
  }
15
14
  createRoot(root, { hydrate: true }).render(React.createElement(ErrorBoundary, { FallbackComponent: Error },
16
15
  React.createElement(Suspense, { fallback: null },
17
- React.createElement(Content, { clientWrapper: ClientWrapper }))));
16
+ React.createElement(Content, { clientWrapper: ClientWrapper, shopifyConfig: shopifyConfig }))));
18
17
  };
19
18
  export default renderHydrogen;
20
- function Content({ clientWrapper: ClientWrapper }) {
19
+ function Content({ clientWrapper: ClientWrapper, shopifyConfig, }) {
21
20
  const [serverState, setServerState] = useState({
22
21
  pathname: window.location.pathname,
23
22
  search: window.location.search,
24
23
  });
25
24
  const response = useServerResponse(serverState);
26
- return (React.createElement(ServerStateProvider, { serverState: serverState, setServerState: setServerState },
27
- React.createElement(HelmetProvider, null,
25
+ return (React.createElement(ShopifyProvider, { shopifyConfig: shopifyConfig },
26
+ React.createElement(ServerStateProvider, { serverState: serverState, setServerState: setServerState },
28
27
  React.createElement(BrowserRouter, null,
29
28
  React.createElement(ServerStateRouter, null),
30
- React.createElement(ClientWrapper, null, response.read())))));
29
+ React.createElement(ClientWrapper, null, response.readRoot())))));
31
30
  }
32
31
  function Error({ error }) {
33
32
  return (React.createElement("div", { style: { padding: '1em' } },
@@ -1,3 +1,6 @@
1
1
  import type { ServerHandler } from './types';
2
+ declare global {
3
+ var __WORKER__: boolean;
4
+ }
2
5
  declare const renderHydrogen: ServerHandler;
3
6
  export default renderHydrogen;