@shopify/hydrogen 0.11.1 → 0.13.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 (318) hide show
  1. package/CHANGELOG.md +500 -3
  2. package/dist/esnext/client.d.ts +2 -0
  3. package/dist/esnext/client.js +2 -0
  4. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.d.ts +3 -4
  5. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.js +9 -22
  6. package/dist/esnext/components/AddToCartButton/index.d.ts +1 -1
  7. package/dist/esnext/components/BuyNowButton/BuyNowButton.client.d.ts +4 -5
  8. package/dist/esnext/components/BuyNowButton/index.d.ts +1 -1
  9. package/dist/esnext/components/BuyNowButton/index.js +1 -1
  10. package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.d.ts +2 -3
  11. package/dist/esnext/components/CartEstimatedCost/CartEstimatedCost.client.d.ts +3 -3
  12. package/dist/esnext/components/CartLineImage/CartLineImage.client.d.ts +5 -3
  13. package/dist/esnext/components/CartLinePrice/CartLinePrice.client.d.ts +5 -5
  14. package/dist/esnext/components/CartLinePrice/CartLinePrice.client.js +1 -1
  15. package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.d.ts +1 -3
  16. package/dist/esnext/components/CartLineProvider/context.d.ts +10 -16
  17. package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.d.ts +1 -3
  18. package/dist/esnext/components/CartProvider/CartProvider.client.d.ts +1 -1
  19. package/dist/esnext/components/CartProvider/CartProvider.client.js +8 -2
  20. package/dist/esnext/components/CartProvider/cart-queries.d.ts +9 -0
  21. package/dist/esnext/components/CartProvider/cart-queries.js +876 -0
  22. package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.d.ts +72 -5
  23. package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.d.ts +72 -5
  24. package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.d.ts +72 -5
  25. package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.d.ts +73 -6
  26. package/dist/esnext/components/CartProvider/graphql/CartFragment.d.ts +13 -11
  27. package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.d.ts +72 -5
  28. package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.d.ts +72 -5
  29. package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.d.ts +72 -5
  30. package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.d.ts +73 -6
  31. package/dist/esnext/components/CartProvider/graphql/CartQuery.d.ts +72 -5
  32. package/dist/esnext/components/CartProvider/hooks.d.ts +1 -1
  33. package/dist/esnext/components/CartProvider/hooks.js +4 -1
  34. package/dist/esnext/components/CartProvider/types.d.ts +1 -1
  35. package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.d.ts +3 -2
  36. package/dist/esnext/components/ExternalVideo/ExternalVideo.d.ts +8 -13
  37. package/dist/esnext/components/ExternalVideo/ExternalVideo.js +7 -7
  38. package/dist/esnext/components/ExternalVideo/index.d.ts +1 -1
  39. package/dist/esnext/components/ExternalVideo/index.js +1 -1
  40. package/dist/esnext/components/Image/Image.d.ts +14 -16
  41. package/dist/esnext/components/Image/Image.js +17 -17
  42. package/dist/esnext/components/Image/index.d.ts +1 -1
  43. package/dist/esnext/components/Image/index.js +1 -1
  44. package/dist/esnext/components/Link/Link.client.d.ts +4 -5
  45. package/dist/esnext/components/Link/Link.client.js +5 -4
  46. package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.js +1 -3
  47. package/dist/esnext/components/LocalizationProvider/LocalizationContext.client.d.ts +0 -1
  48. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.d.ts +4 -5
  49. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.js +15 -4
  50. package/dist/esnext/components/LocalizationProvider/LocalizationQuery.d.ts +5 -8
  51. package/dist/esnext/components/LocalizationProvider/index.d.ts +0 -1
  52. package/dist/esnext/components/LocalizationProvider/index.js +0 -1
  53. package/dist/esnext/components/MediaFile/MediaFile.d.ts +10 -21
  54. package/dist/esnext/components/MediaFile/MediaFile.js +7 -5
  55. package/dist/esnext/components/MediaFile/index.d.ts +1 -1
  56. package/dist/esnext/components/MediaFile/index.js +1 -1
  57. package/dist/esnext/components/Metafield/Metafield.client.d.ts +2 -6
  58. package/dist/esnext/components/Metafield/Metafield.client.js +8 -8
  59. package/dist/esnext/components/Metafield/components/StarRating/StarRating.d.ts +1 -3
  60. package/dist/esnext/components/Metafield/index.d.ts +1 -2
  61. package/dist/esnext/components/Metafield/index.js +1 -1
  62. package/dist/esnext/components/Metafield/types.d.ts +1 -1
  63. package/dist/esnext/components/ModelViewer/ModelViewer.client.d.ts +58 -66
  64. package/dist/esnext/components/ModelViewer/ModelViewer.client.js +10 -7
  65. package/dist/esnext/components/ModelViewer/index.d.ts +1 -1
  66. package/dist/esnext/components/Money/Money.client.d.ts +8 -12
  67. package/dist/esnext/components/Money/Money.client.js +1 -4
  68. package/dist/esnext/components/Money/index.d.ts +1 -1
  69. package/dist/esnext/components/Money/index.js +1 -1
  70. package/dist/esnext/components/ProductDescription/ProductDescription.client.d.ts +7 -2
  71. package/dist/esnext/components/ProductDescription/ProductDescription.client.js +4 -3
  72. package/dist/esnext/components/ProductMetafield/ProductMetafield.client.js +3 -3
  73. package/dist/esnext/components/ProductPrice/ProductPrice.client.d.ts +5 -5
  74. package/dist/esnext/components/ProductPrice/ProductPrice.client.js +2 -2
  75. package/dist/esnext/components/ProductProvider/ProductProvider.client.d.ts +8 -8
  76. package/dist/esnext/components/ProductProvider/ProductProvider.client.js +2 -4
  77. package/dist/esnext/components/ProductProvider/context.d.ts +23 -14
  78. package/dist/esnext/components/ProductProvider/index.d.ts +1 -1
  79. package/dist/esnext/components/ProductProvider/index.js +1 -1
  80. package/dist/esnext/components/Seo/CollectionSeo.client.d.ts +3 -2
  81. package/dist/esnext/components/Seo/CollectionSeo.client.js +3 -3
  82. package/dist/esnext/components/Seo/DefaultPageSeo.client.d.ts +3 -2
  83. package/dist/esnext/components/Seo/DefaultPageSeo.client.js +2 -2
  84. package/dist/esnext/components/Seo/DescriptionSeo.client.d.ts +3 -3
  85. package/dist/esnext/components/Seo/DescriptionSeo.client.js +1 -1
  86. package/dist/esnext/components/Seo/HomePageSeo.client.d.ts +1 -1
  87. package/dist/esnext/components/Seo/ImageSeo.client.d.ts +3 -2
  88. package/dist/esnext/components/Seo/PageSeo.client.d.ts +3 -2
  89. package/dist/esnext/components/Seo/PageSeo.client.js +2 -2
  90. package/dist/esnext/components/Seo/ProductSeo.client.d.ts +5 -2
  91. package/dist/esnext/components/Seo/ProductSeo.client.js +10 -5
  92. package/dist/esnext/components/Seo/Seo.client.d.ts +11 -7
  93. package/dist/esnext/components/Seo/Seo.client.js +8 -14
  94. package/dist/esnext/components/Seo/TitleSeo.client.d.ts +3 -4
  95. package/dist/esnext/components/Seo/TwitterSeo.client.d.ts +1 -1
  96. package/dist/esnext/components/Seo/seo-types.d.ts +17 -0
  97. package/dist/esnext/components/{ExternalVideo/ExternalVideoFragment.js → Seo/seo-types.js} +0 -0
  98. package/dist/esnext/components/ShopPayButton/ShopPayButton.client.d.ts +2 -1
  99. package/dist/esnext/components/ShopPayButton/ShopPayButton.client.js +1 -9
  100. package/dist/esnext/components/ShopPayButton/index.d.ts +1 -1
  101. package/dist/esnext/components/UnitPrice/UnitPrice.client.d.ts +8 -13
  102. package/dist/esnext/components/UnitPrice/UnitPrice.client.js +9 -4
  103. package/dist/esnext/components/UnitPrice/index.d.ts +1 -1
  104. package/dist/esnext/components/UnitPrice/index.js +1 -1
  105. package/dist/esnext/components/Video/Video.d.ts +8 -16
  106. package/dist/esnext/components/Video/Video.js +11 -6
  107. package/dist/esnext/components/Video/index.d.ts +1 -2
  108. package/dist/esnext/components/Video/index.js +1 -1
  109. package/dist/esnext/components/index.d.ts +3 -16
  110. package/dist/esnext/components/index.js +2 -5
  111. package/dist/esnext/entry-client.js +27 -8
  112. package/dist/esnext/entry-server.d.ts +2 -1
  113. package/dist/esnext/entry-server.js +127 -160
  114. package/dist/esnext/foundation/Boomerang/Boomerang.client.d.ts +3 -1
  115. package/dist/esnext/foundation/Boomerang/Boomerang.client.js +17 -3
  116. package/dist/esnext/foundation/FileRoutes/FileRoutes.server.d.ts +22 -0
  117. package/dist/esnext/foundation/{Router/DefaultRoutes.js → FileRoutes/FileRoutes.server.js} +24 -23
  118. package/dist/esnext/foundation/Redirect/Redirect.client.d.ts +5 -0
  119. package/dist/esnext/foundation/Redirect/Redirect.client.js +14 -0
  120. package/dist/esnext/foundation/Route/Route.server.d.ts +12 -0
  121. package/dist/esnext/foundation/Route/Route.server.js +33 -0
  122. package/dist/esnext/foundation/Router/{Router.client.d.ts → BrowserRouter.client.d.ts} +3 -2
  123. package/dist/esnext/foundation/Router/{Router.client.js → BrowserRouter.client.js} +11 -7
  124. package/dist/esnext/foundation/Router/Router.server.d.ts +10 -0
  125. package/dist/esnext/foundation/Router/Router.server.js +8 -0
  126. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.js +19 -24
  127. package/dist/esnext/foundation/ServerStateProvider/{ServerStateProvider.client.d.ts → ServerStateProvider.d.ts} +0 -0
  128. package/dist/esnext/foundation/ServerStateProvider/{ServerStateProvider.client.js → ServerStateProvider.js} +0 -0
  129. package/dist/esnext/foundation/ServerStateProvider/index.d.ts +2 -2
  130. package/dist/esnext/foundation/ServerStateProvider/index.js +1 -1
  131. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.client.js +3 -0
  132. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.server.js +3 -0
  133. package/dist/esnext/foundation/ShopifyProvider/index.d.ts +0 -1
  134. package/dist/esnext/foundation/ShopifyProvider/index.js +0 -1
  135. package/dist/esnext/foundation/index.d.ts +0 -2
  136. package/dist/esnext/foundation/index.js +0 -2
  137. package/dist/esnext/{hooks → foundation}/useNavigate/useNavigate.d.ts +6 -3
  138. package/dist/esnext/{hooks → foundation}/useNavigate/useNavigate.js +4 -1
  139. package/dist/esnext/foundation/useQuery/hooks.d.ts +5 -4
  140. package/dist/esnext/foundation/useQuery/hooks.js +13 -4
  141. package/dist/esnext/foundation/useRouteParams/RouteParamsProvider.client.d.ts +9 -0
  142. package/dist/esnext/foundation/useRouteParams/RouteParamsProvider.client.js +7 -0
  143. package/dist/esnext/foundation/useRouteParams/useRouteParams.d.ts +4 -0
  144. package/dist/esnext/foundation/useRouteParams/useRouteParams.js +9 -0
  145. package/dist/esnext/foundation/useUrl/useUrl.js +1 -1
  146. package/dist/esnext/framework/Hydration/Html.d.ts +2 -0
  147. package/dist/esnext/framework/Hydration/Html.js +71 -2
  148. package/dist/esnext/framework/Hydration/ServerComponentRequest.server.d.ts +13 -0
  149. package/dist/esnext/framework/Hydration/ServerComponentRequest.server.js +28 -7
  150. package/dist/esnext/framework/Hydration/ServerComponentResponse.server.d.ts +4 -1
  151. package/dist/esnext/framework/Hydration/ServerComponentResponse.server.js +5 -0
  152. package/dist/esnext/framework/Hydration/rsc.js +1 -1
  153. package/dist/esnext/framework/cache/in-memory.d.ts +1 -0
  154. package/dist/esnext/framework/cache/in-memory.js +15 -5
  155. package/dist/esnext/framework/middleware.js +25 -3
  156. package/dist/esnext/framework/plugin.js +6 -1
  157. package/dist/esnext/framework/plugins/vite-plugin-css-modules-rsc.d.ts +2 -0
  158. package/dist/esnext/framework/plugins/vite-plugin-css-modules-rsc.js +28 -0
  159. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +61 -77
  160. package/dist/esnext/framework/plugins/vite-plugin-platform-entry.js +1 -1
  161. package/dist/esnext/hooks/index.d.ts +0 -1
  162. package/dist/esnext/hooks/index.js +0 -1
  163. package/dist/esnext/hooks/useCartLine/useCartLine.d.ts +10 -18
  164. package/dist/esnext/hooks/useCountry/useCountry.d.ts +4 -4
  165. package/dist/esnext/hooks/useMoney/hooks.d.ts +3 -3
  166. package/dist/esnext/hooks/useMoney/hooks.js +2 -2
  167. package/dist/esnext/hooks/useParsedMetafields/useParsedMetafields.d.ts +17 -2
  168. package/dist/esnext/hooks/useParsedMetafields/useParsedMetafields.js +7 -3
  169. package/dist/esnext/hooks/useProduct/useProduct.d.ts +36 -138
  170. package/dist/esnext/hooks/useProductOptions/helpers.d.ts +6 -4
  171. package/dist/esnext/hooks/useProductOptions/helpers.js +13 -6
  172. package/dist/esnext/hooks/useProductOptions/types.d.ts +15 -35
  173. package/dist/esnext/hooks/useProductOptions/useProductOptions.d.ts +6 -5
  174. package/dist/esnext/hooks/useProductOptions/useProductOptions.js +13 -3
  175. package/dist/esnext/hooks/useShopQuery/hooks.js +79 -21
  176. package/dist/esnext/index.d.ts +8 -2
  177. package/dist/esnext/index.js +8 -2
  178. package/dist/esnext/platforms/node.d.ts +2 -3
  179. package/dist/esnext/platforms/node.js +5 -3
  180. package/dist/esnext/platforms/worker-event.d.ts +0 -8
  181. package/dist/esnext/platforms/worker-event.js +2 -23
  182. package/dist/esnext/platforms/worker.d.ts +14 -0
  183. package/dist/esnext/platforms/worker.js +25 -0
  184. package/dist/esnext/{graphql/types/types.d.ts → storefront-api-types.d.ts} +2016 -1593
  185. package/dist/esnext/{graphql/types/types.js → storefront-api-types.js} +1025 -732
  186. package/dist/esnext/streaming.server.d.ts +9 -6
  187. package/dist/esnext/streaming.server.js +2 -27
  188. package/dist/esnext/types.d.ts +3 -18
  189. package/dist/esnext/utilities/apiRoutes.d.ts +19 -3
  190. package/dist/esnext/utilities/apiRoutes.js +27 -5
  191. package/dist/esnext/utilities/devtools.d.ts +11 -0
  192. package/dist/esnext/utilities/devtools.js +11 -0
  193. package/dist/esnext/utilities/fetch.d.ts +7 -1
  194. package/dist/esnext/utilities/fetch.js +9 -18
  195. package/dist/esnext/utilities/flattenConnection/flattenConnection.d.ts +3 -2
  196. package/dist/esnext/utilities/flattenConnection/flattenConnection.js +6 -2
  197. package/dist/esnext/utilities/graphql-tracker.d.ts +17 -0
  198. package/dist/esnext/utilities/graphql-tracker.js +119 -0
  199. package/dist/esnext/utilities/image_size.d.ts +5 -4
  200. package/dist/esnext/utilities/log/log-query-timeline.d.ts +1 -1
  201. package/dist/esnext/utilities/log/log-query-timeline.js +1 -2
  202. package/dist/esnext/utilities/log/log.d.ts +1 -0
  203. package/dist/esnext/utilities/log/utils.js +3 -0
  204. package/dist/esnext/utilities/parseMetafieldValue/parseMetafieldValue.d.ts +3 -2
  205. package/dist/esnext/utilities/video_parameters.js +0 -4
  206. package/dist/esnext/version.d.ts +1 -1
  207. package/dist/esnext/version.js +1 -1
  208. package/dist/node/entry-server.d.ts +2 -1
  209. package/dist/node/entry-server.js +129 -158
  210. package/dist/node/foundation/Redirect/Redirect.client.d.ts +5 -0
  211. package/dist/node/foundation/Redirect/Redirect.client.js +17 -0
  212. package/dist/node/foundation/Router/BrowserRouter.client.d.ts +13 -0
  213. package/dist/node/foundation/Router/BrowserRouter.client.js +77 -0
  214. package/dist/node/foundation/ServerRequestProvider/ServerRequestProvider.js +24 -25
  215. package/dist/node/foundation/ServerRequestProvider/index.js +5 -1
  216. package/dist/node/foundation/ServerStateProvider/{ServerStateProvider.client.d.ts → ServerStateProvider.d.ts} +0 -0
  217. package/dist/node/foundation/ServerStateProvider/{ServerStateProvider.client.js → ServerStateProvider.js} +5 -1
  218. package/dist/node/foundation/ServerStateProvider/index.d.ts +2 -2
  219. package/dist/node/foundation/ServerStateProvider/index.js +3 -3
  220. package/dist/node/foundation/ssr-interop.d.ts +29 -0
  221. package/dist/node/foundation/ssr-interop.js +39 -0
  222. package/dist/node/foundation/useNavigate/useNavigate.d.ts +13 -0
  223. package/dist/node/foundation/useNavigate/useNavigate.js +18 -0
  224. package/dist/node/foundation/useServerState/index.d.ts +1 -0
  225. package/dist/node/foundation/useServerState/index.js +5 -0
  226. package/dist/node/foundation/useServerState/use-server-state.d.ts +16 -0
  227. package/dist/node/foundation/useServerState/use-server-state.js +24 -0
  228. package/dist/node/framework/Hydration/Html.d.ts +2 -0
  229. package/dist/node/framework/Hydration/Html.js +73 -3
  230. package/dist/node/framework/Hydration/ServerComponentRequest.server.d.ts +13 -0
  231. package/dist/node/framework/Hydration/ServerComponentRequest.server.js +28 -7
  232. package/dist/node/framework/Hydration/ServerComponentResponse.server.d.ts +4 -1
  233. package/dist/node/framework/Hydration/ServerComponentResponse.server.js +8 -0
  234. package/dist/node/framework/Hydration/rsc.js +1 -1
  235. package/dist/node/framework/cache/in-memory.d.ts +1 -0
  236. package/dist/node/framework/cache/in-memory.js +15 -5
  237. package/dist/node/framework/middleware.js +30 -4
  238. package/dist/node/framework/plugin.js +11 -2
  239. package/dist/node/framework/plugins/vite-plugin-css-modules-rsc.d.ts +2 -0
  240. package/dist/node/framework/plugins/vite-plugin-css-modules-rsc.js +31 -0
  241. package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +61 -77
  242. package/dist/node/framework/plugins/vite-plugin-platform-entry.js +1 -1
  243. package/dist/node/{graphql/types/types.d.ts → storefront-api-types.d.ts} +2016 -1593
  244. package/dist/node/{graphql/types/types.js → storefront-api-types.js} +1026 -733
  245. package/dist/node/streaming.server.d.ts +9 -6
  246. package/dist/node/streaming.server.js +3 -29
  247. package/dist/node/types.d.ts +3 -18
  248. package/dist/node/utilities/apiRoutes.d.ts +19 -3
  249. package/dist/node/utilities/apiRoutes.js +29 -7
  250. package/dist/node/utilities/fetch.d.ts +10 -0
  251. package/dist/node/utilities/fetch.js +39 -0
  252. package/dist/node/utilities/log/log-query-timeline.d.ts +1 -1
  253. package/dist/node/utilities/log/log-query-timeline.js +1 -2
  254. package/dist/node/utilities/log/log.d.ts +1 -0
  255. package/dist/node/utilities/log/utils.js +3 -0
  256. package/dist/node/utilities/web-api-polyfill.js +5 -1
  257. package/dist/node/version.d.ts +1 -0
  258. package/dist/node/version.js +4 -0
  259. package/package.json +21 -21
  260. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-plugin.js +43 -104
  261. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.development.server.js +1566 -848
  262. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.production.min.server.js +36 -421
  263. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.development.server.js +1523 -864
  264. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.production.min.server.js +35 -437
  265. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.development.js +507 -517
  266. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.production.min.js +10 -246
  267. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-client-proxy.js +18 -25
  268. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-plugin.js +47 -108
  269. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.browser.server.js +1033 -306
  270. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.node.server.js +965 -293
  271. package/vendor/react-server-dom-vite/esm/react-server-dom-vite.js +98 -108
  272. package/vendor/react-server-dom-vite/package.json +0 -2
  273. package/dist/esnext/components/ExternalVideo/ExternalVideoFragment.d.ts +0 -4
  274. package/dist/esnext/components/Image/ImageFragment.d.ts +0 -4
  275. package/dist/esnext/components/Image/ImageFragment.js +0 -1
  276. package/dist/esnext/components/MediaFile/MediaFileFragment.d.ts +0 -22
  277. package/dist/esnext/components/MediaFile/MediaFileFragment.js +0 -1
  278. package/dist/esnext/components/Metafield/MetafieldFragment.d.ts +0 -19
  279. package/dist/esnext/components/Metafield/MetafieldFragment.js +0 -1
  280. package/dist/esnext/components/ModelViewer/Model3DFragment.d.ts +0 -11
  281. package/dist/esnext/components/ModelViewer/Model3DFragment.js +0 -1
  282. package/dist/esnext/components/Money/MoneyFragment.d.ts +0 -4
  283. package/dist/esnext/components/Money/MoneyFragment.js +0 -1
  284. package/dist/esnext/components/ProductProvider/ProductProviderFragment.d.ts +0 -80
  285. package/dist/esnext/components/ProductProvider/ProductProviderFragment.js +0 -1
  286. package/dist/esnext/components/ProductProvider/types.d.ts +0 -19
  287. package/dist/esnext/components/ProductProvider/types.js +0 -1
  288. package/dist/esnext/components/RawHtml/RawHtml.d.ts +0 -19
  289. package/dist/esnext/components/RawHtml/RawHtml.js +0 -21
  290. package/dist/esnext/components/RawHtml/index.d.ts +0 -1
  291. package/dist/esnext/components/RawHtml/index.js +0 -1
  292. package/dist/esnext/components/Router/index.d.ts +0 -1
  293. package/dist/esnext/components/Router/index.js +0 -1
  294. package/dist/esnext/components/Seo/types.d.ts +0 -67
  295. package/dist/esnext/components/Seo/types.js +0 -1
  296. package/dist/esnext/components/UnitPrice/UnitPriceFragment.d.ts +0 -12
  297. package/dist/esnext/components/UnitPrice/UnitPriceFragment.js +0 -1
  298. package/dist/esnext/components/Video/VideoFragment.d.ts +0 -11
  299. package/dist/esnext/components/Video/VideoFragment.js +0 -1
  300. package/dist/esnext/foundation/Boomerang/BoomerangPageTemplate.client.d.ts +0 -3
  301. package/dist/esnext/foundation/Boomerang/BoomerangPageTemplate.client.js +0 -14
  302. package/dist/esnext/foundation/Router/DefaultRoutes.d.ts +0 -22
  303. package/dist/esnext/foundation/Router/index.d.ts +0 -1
  304. package/dist/esnext/foundation/Router/index.js +0 -1
  305. package/dist/esnext/graphql/graphql-constants.d.ts +0 -1751
  306. package/dist/esnext/graphql/graphql-constants.js +0 -3364
  307. package/dist/esnext/hooks/useAvailableCountries/index.d.ts +0 -1
  308. package/dist/esnext/hooks/useAvailableCountries/index.js +0 -1
  309. package/dist/esnext/hooks/useAvailableCountries/useAvailableCountries.d.ts +0 -11
  310. package/dist/esnext/hooks/useAvailableCountries/useAvailableCountries.js +0 -17
  311. package/dist/esnext/hooks/useNavigate/index.d.ts +0 -1
  312. package/dist/esnext/hooks/useNavigate/index.js +0 -1
  313. package/dist/esnext/hooks/useProductOptions/SellingPlanFragment.d.ts +0 -28
  314. package/dist/esnext/hooks/useProductOptions/SellingPlanFragment.js +0 -1
  315. package/dist/esnext/hooks/useProductOptions/SellingPlanGroupsFragment.d.ts +0 -20
  316. package/dist/esnext/hooks/useProductOptions/SellingPlanGroupsFragment.js +0 -1
  317. package/dist/esnext/hooks/useProductOptions/VariantFragment.d.ts +0 -64
  318. package/dist/esnext/hooks/useProductOptions/VariantFragment.js +0 -1
@@ -5,17 +5,20 @@ export declare const createFromReadableStream: (rs: ReadableStream<Uint8Array>)
5
5
  };
6
6
  declare type StreamOptions = {
7
7
  nonce?: string;
8
- onCompleteShell?: () => void;
9
- onCompleteAll?: () => void;
10
- onError?: (error: Error) => void;
11
8
  bootstrapScripts?: string[];
12
9
  bootstrapModules?: string[];
10
+ onError?: (error: Error) => void;
13
11
  };
14
- export declare const ssrRenderToPipeableStream: (App: JSX.Element, options: StreamOptions) => {
12
+ export declare const ssrRenderToPipeableStream: (App: JSX.Element, options: StreamOptions & {
13
+ onAllReady?: (() => void) | undefined;
14
+ onShellReady?: (() => void) | undefined;
15
+ onShellError?: ((error: Error) => void) | undefined;
16
+ }) => {
15
17
  pipe: Writable['pipe'];
16
18
  };
17
- export declare const ssrRenderToReadableStream: (App: JSX.Element, options: StreamOptions) => ReadableStream<Uint8Array>;
18
- export declare function supportsReadableStream(): boolean;
19
+ export declare const ssrRenderToReadableStream: (App: JSX.Element, options: StreamOptions) => Promise<ReadableStream<Uint8Array> & {
20
+ allReady: Promise<void>;
21
+ }>;
19
22
  export declare function isStreamingSupported(): Promise<boolean>;
20
23
  export declare function bufferReadableStream(reader: ReadableStreamDefaultReader, cb?: (chunk: string) => void): Promise<string>;
21
24
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bufferReadableStream = exports.isStreamingSupported = exports.supportsReadableStream = exports.ssrRenderToReadableStream = exports.ssrRenderToPipeableStream = exports.createFromReadableStream = exports.rscRenderToReadableStream = void 0;
3
+ exports.bufferReadableStream = exports.isStreamingSupported = exports.ssrRenderToReadableStream = exports.ssrRenderToPipeableStream = exports.createFromReadableStream = exports.rscRenderToReadableStream = void 0;
4
4
  const server_1 = require("react-dom/server");
5
5
  // @ts-ignore
6
6
  const writer_browser_server_1 = require("@shopify/hydrogen/vendor/react-server-dom-vite/writer.browser.server");
@@ -10,35 +10,9 @@ exports.rscRenderToReadableStream = writer_browser_server_1.renderToReadableStre
10
10
  exports.createFromReadableStream = react_server_dom_vite_1.createFromReadableStream;
11
11
  exports.ssrRenderToPipeableStream = server_1.renderToPipeableStream;
12
12
  exports.ssrRenderToReadableStream = server_1.renderToReadableStream;
13
- function supportsReadableStream() {
14
- try {
15
- new ReadableStream();
16
- return true;
17
- }
18
- catch (_) {
19
- return false;
20
- }
21
- }
22
- exports.supportsReadableStream = supportsReadableStream;
23
- let cachedStreamingSupport;
24
13
  async function isStreamingSupported() {
25
- if (cachedStreamingSupport === undefined) {
26
- try {
27
- const rs = new ReadableStream({
28
- start(controller) {
29
- controller.close();
30
- },
31
- });
32
- // This will throw in CFW until streaming
33
- // is supported. It works in Miniflare.
34
- await new Response(rs).text();
35
- cachedStreamingSupport = true;
36
- }
37
- catch (_) {
38
- cachedStreamingSupport = false;
39
- }
40
- }
41
- return cachedStreamingSupport;
14
+ var _a, _b;
15
+ return Boolean((_b = (_a = globalThis.Oxygen) === null || _a === void 0 ? void 0 : _a.env) === null || _b === void 0 ? void 0 : _b.HYDROGEN_ENABLE_WORKER_STREAMING);
42
16
  }
43
17
  exports.isStreamingSupported = isStreamingSupported;
44
18
  async function bufferReadableStream(reader, cb) {
@@ -3,10 +3,10 @@ import type { ServerResponse } from 'http';
3
3
  import type { Logger } from './utilities/log/log';
4
4
  import type { ServerComponentRequest } from './framework/Hydration/ServerComponentRequest.server';
5
5
  import type { ServerComponentResponse } from './framework/Hydration/ServerComponentResponse.server';
6
- import type { Metafield, Image, MediaContentType } from './graphql/types/types';
6
+ import type { Metafield, ProductVariant, Product, MediaImage } from './storefront-api-types';
7
7
  declare type CommonOptions = {
8
8
  App: any;
9
- pages?: ImportGlobEagerOutput;
9
+ routes?: ImportGlobEagerOutput;
10
10
  request: ServerComponentRequest;
11
11
  componentResponse: ServerComponentResponse;
12
12
  log: Logger;
@@ -36,7 +36,7 @@ export declare type Hook = (params: {
36
36
  } & Record<string, any>) => any | Promise<any>;
37
37
  export declare type ImportGlobEagerOutput = Record<string, Record<'default' | 'api', any>>;
38
38
  export declare type ServerHandlerConfig = {
39
- pages?: ImportGlobEagerOutput;
39
+ routes?: ImportGlobEagerOutput;
40
40
  shopifyConfig: ShopifyConfig;
41
41
  };
42
42
  export declare type ClientHandlerConfig = {
@@ -50,21 +50,6 @@ export interface GraphQLConnection<T> {
50
50
  node: T;
51
51
  }[];
52
52
  }
53
- export interface MediaImage {
54
- __typename?: string;
55
- id?: string;
56
- mediaContentType?: MediaContentType;
57
- data?: Pick<Image, 'altText' | 'url' | 'id' | 'width' | 'height'>;
58
- }
59
- interface ProductVariant {
60
- __typename?: string;
61
- }
62
- interface Product {
63
- __typename?: string;
64
- }
65
- export declare type RawMetafield = Omit<Partial<Metafield>, 'reference'> & {
66
- reference?: MediaImage | ProductVariant | Product | null;
67
- };
68
53
  export declare type ParsedMetafield = Omit<Partial<Metafield>, 'value' | 'reference'> & {
69
54
  value?: string | number | boolean | Record<any, string> | Date | Rating | Measurement;
70
55
  reference?: MediaImage | ProductVariant | Product | null;
@@ -1,7 +1,9 @@
1
- import { ImportGlobEagerOutput } from '../types';
1
+ import { ImportGlobEagerOutput, ShopifyConfig } from '../types';
2
+ import type { ASTNode } from 'graphql';
2
3
  declare type RouteParams = Record<string, string>;
3
4
  declare type RequestOptions = {
4
5
  params: RouteParams;
6
+ queryShop: (args: QueryShopArgs) => Promise<any>;
5
7
  };
6
8
  declare type ResourceGetter = (request: Request, requestOptions: RequestOptions) => Promise<Response | Object | String>;
7
9
  interface HydrogenApiRoute {
@@ -14,7 +16,21 @@ export declare type ApiRouteMatch = {
14
16
  hasServerComponent: boolean;
15
17
  params: RouteParams;
16
18
  };
17
- export declare function getApiRoutesFromPages(pages: ImportGlobEagerOutput | undefined, topLevelPath?: string): Array<HydrogenApiRoute>;
19
+ export declare function getApiRoutes(pages: ImportGlobEagerOutput | undefined, topLevelPath?: string): Array<HydrogenApiRoute>;
18
20
  export declare function getApiRouteFromURL(url: URL, routes: Array<HydrogenApiRoute>): ApiRouteMatch | null;
19
- export declare function renderApiRoute(request: Request, route: ApiRouteMatch): Promise<Response>;
21
+ /** The `queryShop` utility is a function that helps you query the Storefront API.
22
+ * It's similar to the `useShopQuery` hook, which is available in server components.
23
+ * To use `queryShop`, pass `shopifyConfig` to `renderHydrogen` inside `App.server.jsx`.
24
+ */
25
+ interface QueryShopArgs {
26
+ /** A string of the GraphQL query.
27
+ * If no query is provided, then the `useShopQuery` makes no calls to the Storefront API.
28
+ */
29
+ query: ASTNode | string;
30
+ /** An object of the variables for the GraphQL query. */
31
+ variables?: Record<string, any>;
32
+ /** A string corresponding to a valid locale identifier like `en-us` used to make the request. */
33
+ locale?: string;
34
+ }
35
+ export declare function renderApiRoute(request: Request, route: ApiRouteMatch, shopifyConfig: ShopifyConfig): Promise<Response>;
20
36
  export {};
@@ -1,19 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.renderApiRoute = exports.getApiRouteFromURL = exports.getApiRoutesFromPages = void 0;
3
+ exports.renderApiRoute = exports.getApiRouteFromURL = exports.getApiRoutes = void 0;
4
4
  const matchPath_1 = require("./matchPath");
5
5
  const log_1 = require("../utilities/log/");
6
+ const fetch_1 = require("./fetch");
6
7
  let memoizedRoutes = [];
7
8
  let memoizedPages = {};
8
- function getApiRoutesFromPages(pages, topLevelPath = '*') {
9
+ function getApiRoutes(pages, topLevelPath = '*') {
9
10
  if (!pages || memoizedPages === pages)
10
11
  return memoizedRoutes;
11
12
  const topLevelPrefix = topLevelPath.replace('*', '').replace(/\/$/, '');
12
13
  const routes = Object.keys(pages)
13
14
  .filter((key) => pages[key].api)
14
15
  .map((key) => {
15
- const path = key
16
- .replace('./pages', '')
16
+ let path = key
17
+ .replace('./routes', '')
17
18
  .replace(/\.server\.(t|j)sx?$/, '')
18
19
  /**
19
20
  * Replace /index with /
@@ -28,6 +29,8 @@ function getApiRoutesFromPages(pages, topLevelPath = '*') {
28
29
  * Convert /[handle].jsx and /[...handle].jsx to /:handle.jsx for react-router-dom
29
30
  */
30
31
  .replace(/\[(?:[.]{3})?(\w+?)\]/g, (_match, param) => `:${param}`);
32
+ if (path.endsWith('/') && path !== '/')
33
+ path = path.substring(0, path.length - 1);
31
34
  /**
32
35
  * Catch-all routes [...handle].jsx don't need an exact match
33
36
  * https://reactrouter.com/core/api/Route/exact-bool
@@ -47,7 +50,7 @@ function getApiRoutesFromPages(pages, topLevelPath = '*') {
47
50
  memoizedPages = pages;
48
51
  return memoizedRoutes;
49
52
  }
50
- exports.getApiRoutesFromPages = getApiRoutesFromPages;
53
+ exports.getApiRoutes = getApiRoutes;
51
54
  function getApiRouteFromURL(url, routes) {
52
55
  let foundRoute, foundRouteDetails;
53
56
  for (let i = 0; i < routes.length; i++) {
@@ -66,11 +69,30 @@ function getApiRouteFromURL(url, routes) {
66
69
  };
67
70
  }
68
71
  exports.getApiRouteFromURL = getApiRouteFromURL;
69
- async function renderApiRoute(request, route) {
72
+ function queryShopBuilder(shopifyConfig) {
73
+ return async function queryShop({ query, variables, locale, }) {
74
+ var _a;
75
+ const { storeDomain, storefrontApiVersion, storefrontToken, defaultLocale } = shopifyConfig;
76
+ const fetcher = (0, fetch_1.fetchBuilder)(`https://${storeDomain}/api/${storefrontApiVersion}/graphql.json`, {
77
+ method: 'POST',
78
+ body: (0, fetch_1.graphqlRequestBody)(query, variables),
79
+ headers: {
80
+ 'X-Shopify-Storefront-Access-Token': storefrontToken,
81
+ 'Accept-Language': (_a = locale) !== null && _a !== void 0 ? _a : defaultLocale,
82
+ 'Content-Type': 'application/json',
83
+ },
84
+ });
85
+ return await fetcher();
86
+ };
87
+ }
88
+ async function renderApiRoute(request, route, shopifyConfig) {
70
89
  let response;
71
90
  const log = (0, log_1.getLoggerWithContext)(request);
72
91
  try {
73
- response = await route.resource(request, { params: route.params });
92
+ response = await route.resource(request, {
93
+ params: route.params,
94
+ queryShop: queryShopBuilder(shopifyConfig),
95
+ });
74
96
  if (!(response instanceof Response)) {
75
97
  if (typeof response === 'string' || response instanceof String) {
76
98
  response = new Response(response);
@@ -0,0 +1,10 @@
1
+ import { ASTNode } from 'graphql';
2
+ declare type FetchInit = {
3
+ body?: string;
4
+ method?: string;
5
+ headers?: Record<string, string>;
6
+ };
7
+ export declare function fetchBuilder<T>(url: string, options?: FetchInit): () => Promise<T>;
8
+ export declare function graphqlRequestBody(query: ASTNode | string, variables?: Record<string, any>): string;
9
+ export declare function decodeShopifyId(id: string): string;
10
+ export {};
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeShopifyId = exports.graphqlRequestBody = exports.fetchBuilder = void 0;
4
+ const graphql_1 = require("graphql");
5
+ const version_1 = require("../version");
6
+ const defaultHeaders = {
7
+ 'content-type': 'application/json',
8
+ 'user-agent': `Hydrogen ${version_1.LIB_VERSION}`,
9
+ };
10
+ function fetchBuilder(url, options = {}) {
11
+ const requestInit = {
12
+ ...options,
13
+ headers: { ...defaultHeaders, ...options.headers },
14
+ };
15
+ return async () => {
16
+ const response = await fetch(url, requestInit);
17
+ if (!response.ok) {
18
+ throw response;
19
+ }
20
+ const data = await response.json();
21
+ return data;
22
+ };
23
+ }
24
+ exports.fetchBuilder = fetchBuilder;
25
+ function graphqlRequestBody(query, variables) {
26
+ const queryString = typeof query === 'string' ? query : (0, graphql_1.print)(query);
27
+ return JSON.stringify({
28
+ query: queryString,
29
+ variables,
30
+ });
31
+ }
32
+ exports.graphqlRequestBody = graphqlRequestBody;
33
+ function decodeShopifyId(id) {
34
+ if (!id.startsWith('gid://')) {
35
+ throw new Error('invalid Shopify ID');
36
+ }
37
+ return id;
38
+ }
39
+ exports.decodeShopifyId = decodeShopifyId;
@@ -1,7 +1,7 @@
1
1
  import { ServerComponentRequest } from '../../framework/Hydration/ServerComponentRequest.server';
2
2
  import { QueryKey } from '../../types';
3
3
  import type { RenderType } from './log';
4
- export declare type TimingType = 'requested' | 'resolved' | 'rendered' | 'preload' | 'expired';
4
+ export declare type TimingType = 'requested' | 'resolved' | 'rendered' | 'preload';
5
5
  export declare type QueryTiming = {
6
6
  name: string;
7
7
  timingType: TimingType;
@@ -12,7 +12,6 @@ const TIMING_MAPPING = {
12
12
  rendered: 'Rendered',
13
13
  resolved: 'Resolved',
14
14
  preload: 'Preload',
15
- expired: 'Expired',
16
15
  };
17
16
  function collectQueryTimings(request, queryKey, timingType, duration) {
18
17
  request.ctx.queryTimings.push({
@@ -49,7 +48,7 @@ function logQueryTimings(type, request) {
49
48
  }
50
49
  const loadColor = query.timingType === 'preload' ? kolorist_1.green : color;
51
50
  const duration = query.duration;
52
- log.debug(color(`│ ${`${(query.timestamp - requestStartTime).toFixed(2)}ms`.padEnd(10)} ${loadColor(TIMING_MAPPING[query.timingType].padEnd(10))} ${query.name}${query.timingType === 'resolved' || query.timingType === 'expired'
51
+ log.debug(color(`│ ${`${(query.timestamp - requestStartTime).toFixed(2)}ms`.padEnd(10)} ${loadColor(TIMING_MAPPING[query.timingType].padEnd(10))} ${query.name}${query.timingType === 'resolved'
53
52
  ? ` (Took ${duration === null || duration === void 0 ? void 0 : duration.toFixed(2)}ms)`
54
53
  : ''}`));
55
54
  // SSR + RSC render path generates 2 `load` and `render` for each query
@@ -11,6 +11,7 @@ export declare type LoggerOptions = {
11
11
  showCacheControlHeader?: boolean;
12
12
  showCacheApiStatus?: boolean;
13
13
  showQueryTiming?: boolean;
14
+ showUnusedQueryProperties?: boolean;
14
15
  };
15
16
  export declare type RenderType = 'str' | 'rsc' | 'ssr' | 'api';
16
17
  export declare const log: Logger;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseUrl = exports.findQueryName = void 0;
4
4
  function findQueryName(key) {
5
5
  const decodeKey = decodeURIComponent(key);
6
+ if (key.length < 100) {
7
+ return key.replace('"__QUERY_CACHE_ID__"', '').replace(/"/g, '');
8
+ }
6
9
  const match = decodeKey.match(/query ([^\s\()]*)\s?(|\(\{)/);
7
10
  if (match && match.length > 1) {
8
11
  return match[1];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -0,0 +1 @@
1
+ export declare const LIB_VERSION = "0.13.1";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LIB_VERSION = void 0;
4
+ exports.LIB_VERSION = '0.13.1';
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "engines": {
8
8
  "node": ">=14"
9
9
  },
10
- "version": "0.11.1",
10
+ "version": "0.13.1",
11
11
  "description": "Modern custom Shopify storefronts",
12
12
  "license": "MIT",
13
13
  "main": "dist/esnext/index.js",
@@ -33,6 +33,7 @@
33
33
  "dev-esnext": "tsc -w --incremental --p tsconfig.build.json",
34
34
  "dev-node": "tsc -w --incremental --p tsconfig.cjs.json",
35
35
  "dev-copy": "cpy --parents *.[jt]s *.json vendor ../../node_modules/@shopify/hydrogen",
36
+ "dev-graphql": "graphql-codegen --config codegen.yml --watch",
36
37
  "prebuild": "rimraf dist ../../node_modules/@shopify/hydrogen && mkdirp ../../node_modules/@shopify/hydrogen",
37
38
  "build": "run-p build-esnext build-node && yarn build-copy",
38
39
  "build-esnext": "tsc --p tsconfig.build.json",
@@ -49,17 +50,17 @@
49
50
  "directory": "packages/hydrogen"
50
51
  },
51
52
  "devDependencies": {
52
- "@babel/core": "^7.13.16",
53
- "@graphql-codegen/cli": "^1.21.4",
54
- "@graphql-codegen/graphql-modules-preset": "^1.2.5",
55
- "@graphql-codegen/import-types-preset": "^1.18.1",
56
- "@graphql-codegen/introspection": "1.18.2",
57
- "@graphql-codegen/near-operation-file-preset": "^1.18.0",
58
- "@graphql-codegen/typed-document-node": "^1.18.5",
59
- "@graphql-codegen/typescript": "^1.22.0",
60
- "@graphql-codegen/typescript-graphql-files-modules": "1.18.1",
61
- "@graphql-codegen/typescript-operations": "^1.17.16",
62
- "@graphql-codegen/typescript-react-apollo": "2.2.4",
53
+ "@babel/core": "^7.17.5",
54
+ "@graphql-codegen/add": "^3.1.1",
55
+ "@graphql-codegen/cli": "2.6.2",
56
+ "@graphql-codegen/graphql-modules-preset": "^2.3.5",
57
+ "@graphql-codegen/import-types-preset": "^2.1.12",
58
+ "@graphql-codegen/introspection": "2.1.1",
59
+ "@graphql-codegen/near-operation-file-preset": "^2.2.6",
60
+ "@graphql-codegen/typed-document-node": "^2.2.5",
61
+ "@graphql-codegen/typescript": "2.4.5",
62
+ "@graphql-codegen/typescript-graphql-files-modules": "2.1.1",
63
+ "@graphql-codegen/typescript-operations": "2.3.2",
63
64
  "@graphql-typed-document-node/core": "^3.1.0",
64
65
  "@rollup/plugin-graphql": "^1.0.0",
65
66
  "@types/body-parser": "^1.19.2",
@@ -81,8 +82,8 @@
81
82
  "peerDependencies": {
82
83
  "body-parser": "^1.19.1",
83
84
  "compression": "^1.7.4",
84
- "react": "0.0.0-experimental-529dc3ce8-20220124",
85
- "react-dom": "0.0.0-experimental-529dc3ce8-20220124",
85
+ "react": "0.0.0-experimental-2bf7c02f0-20220314",
86
+ "react-dom": "0.0.0-experimental-2bf7c02f0-20220314",
86
87
  "serve-static": "^1.14.1",
87
88
  "vite": "^2.8.0"
88
89
  },
@@ -100,15 +101,14 @@
100
101
  "dependencies": {
101
102
  "@vitejs/plugin-react": "^1.1.1",
102
103
  "abort-controller": "^3.0.0",
103
- "body-parser": "^1.19.1",
104
+ "body-parser": "^1.19.2",
104
105
  "connect": "^3.7.0",
105
- "es-module-lexer": "^0.9.0",
106
- "fast-glob": "^3.2.5",
107
- "graphql": "^16.0.1",
108
- "history": "^5.2.0",
109
- "isomorphic-dompurify": "^0.13.0",
106
+ "es-module-lexer": "^0.10.0",
107
+ "fast-glob": "^3.2.11",
108
+ "graphql": "^16.3.0",
109
+ "history": "^5.3.0",
110
110
  "kolorist": "^1.5.1",
111
- "magic-string": "^0.25.7",
111
+ "magic-string": "^0.26.1",
112
112
  "node-fetch": "^2.6.7",
113
113
  "path-to-regexp": "^6.2.0",
114
114
  "react-error-boundary": "^3.1.3",