@shopify/hydrogen 0.22.1 → 0.25.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.
Files changed (445) hide show
  1. package/CHANGELOG.md +378 -0
  2. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.d.ts +2 -5
  3. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.js +18 -17
  4. package/dist/esnext/components/BaseButton/BaseButton.client.d.ts +14 -0
  5. package/dist/esnext/components/BaseButton/BaseButton.client.js +15 -0
  6. package/dist/esnext/components/BaseButton/index.d.ts +1 -0
  7. package/dist/esnext/components/BaseButton/index.js +1 -0
  8. package/dist/esnext/components/BuyNowButton/BuyNowButton.client.d.ts +2 -5
  9. package/dist/esnext/components/BuyNowButton/BuyNowButton.client.js +5 -4
  10. package/dist/esnext/components/CartEstimatedCost/CartEstimatedCost.client.js +4 -4
  11. package/dist/esnext/components/CartLinePrice/CartLinePrice.client.js +5 -8
  12. package/dist/esnext/components/CartLineProvider/context.d.ts +10 -0
  13. package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.d.ts +4 -5
  14. package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.js +16 -14
  15. package/dist/esnext/components/CartLines/{CartLines.d.ts → CartLines.client.d.ts} +0 -0
  16. package/dist/esnext/components/CartLines/{CartLines.js → CartLines.client.js} +1 -1
  17. package/dist/esnext/components/CartLines/index.d.ts +1 -1
  18. package/dist/esnext/components/CartLines/index.js +1 -1
  19. package/dist/esnext/components/CartProvider/CartProvider.client.js +31 -38
  20. package/dist/esnext/components/CartProvider/cart-queries.d.ts +1 -1
  21. package/dist/esnext/components/CartProvider/cart-queries.js +11 -0
  22. package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.d.ts +11 -1
  23. package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.d.ts +11 -1
  24. package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.d.ts +11 -1
  25. package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.d.ts +11 -1
  26. package/dist/esnext/components/CartProvider/graphql/CartFragment.d.ts +11 -1
  27. package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.d.ts +11 -1
  28. package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.d.ts +11 -1
  29. package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.d.ts +11 -1
  30. package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.d.ts +11 -1
  31. package/dist/esnext/components/CartProvider/graphql/CartQuery.d.ts +11 -1
  32. package/dist/esnext/components/CartProvider/hooks.client.js +5 -8
  33. package/dist/esnext/components/CartProvider/types.d.ts +2 -0
  34. package/dist/esnext/components/ExternalVideo/ExternalVideo.js +1 -1
  35. package/dist/esnext/components/Image/Image.d.ts +21 -0
  36. package/dist/esnext/components/Image/Image.js +88 -14
  37. package/dist/esnext/components/Link/Link.client.d.ts +2 -0
  38. package/dist/esnext/components/Link/Link.client.js +8 -5
  39. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.js +2 -2
  40. package/dist/esnext/components/Metafield/Metafield.client.d.ts +6 -10
  41. package/dist/esnext/components/Metafield/Metafield.client.js +67 -31
  42. package/dist/esnext/components/Metafield/components/StarRating/StarRating.js +1 -1
  43. package/dist/esnext/components/ModelViewer/ModelViewer.client.js +2 -3
  44. package/dist/esnext/components/Money/Money.client.js +1 -1
  45. package/dist/esnext/components/ProductOptionsProvider/ProductOptionsProvider.client.d.ts +21 -0
  46. package/dist/esnext/components/ProductOptionsProvider/ProductOptionsProvider.client.js +133 -0
  47. package/dist/esnext/components/ProductOptionsProvider/context.d.ts +2 -0
  48. package/dist/esnext/components/{ProductProvider → ProductOptionsProvider}/context.js +0 -1
  49. package/dist/esnext/components/ProductOptionsProvider/index.d.ts +2 -0
  50. package/dist/esnext/components/ProductOptionsProvider/index.js +2 -0
  51. package/dist/esnext/components/ProductPrice/ProductPrice.client.d.ts +5 -2
  52. package/dist/esnext/components/ProductPrice/ProductPrice.client.js +10 -12
  53. package/dist/esnext/components/Seo/CollectionSeo.client.js +2 -3
  54. package/dist/esnext/components/Seo/DefaultPageSeo.client.js +3 -3
  55. package/dist/esnext/components/Seo/NoIndexSeo.client.js +2 -2
  56. package/dist/esnext/components/Seo/PageSeo.client.js +2 -3
  57. package/dist/esnext/components/Seo/ProductSeo.client.js +9 -10
  58. package/dist/esnext/components/ShopPayButton/ShopPayButton.client.js +2 -3
  59. package/dist/esnext/components/Video/Video.js +2 -3
  60. package/dist/esnext/components/index.d.ts +1 -1
  61. package/dist/esnext/components/index.js +1 -1
  62. package/dist/esnext/config.d.ts +4 -0
  63. package/dist/esnext/config.js +4 -0
  64. package/dist/esnext/constants.d.ts +2 -0
  65. package/dist/esnext/constants.js +2 -0
  66. package/dist/esnext/entry-client.js +107 -21
  67. package/dist/esnext/entry-server.d.ts +2 -31
  68. package/dist/esnext/entry-server.js +400 -335
  69. package/dist/esnext/foundation/Analytics/Analytics.client.js +15 -13
  70. package/dist/esnext/foundation/Analytics/Analytics.server.js +27 -20
  71. package/dist/esnext/foundation/Analytics/ClientAnalytics.d.ts +4 -2
  72. package/dist/esnext/foundation/Analytics/ClientAnalytics.js +16 -14
  73. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.d.ts +4 -0
  74. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.js +36 -0
  75. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.d.ts +3 -0
  76. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.js +27 -0
  77. package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.d.ts +3 -0
  78. package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.js +21 -0
  79. package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.client.d.ts +3 -0
  80. package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.client.js +190 -0
  81. package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.server.d.ts +3 -0
  82. package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.server.js +23 -0
  83. package/dist/esnext/foundation/Analytics/connectors/Shopify/const.d.ts +28 -0
  84. package/dist/esnext/foundation/Analytics/connectors/Shopify/const.js +51 -0
  85. package/dist/esnext/foundation/Analytics/connectors/Shopify/utils.d.ts +3 -0
  86. package/dist/esnext/foundation/Analytics/connectors/Shopify/utils.js +56 -0
  87. package/dist/esnext/foundation/Analytics/hook.js +4 -2
  88. package/dist/esnext/foundation/Analytics/utils.d.ts +2 -0
  89. package/dist/esnext/foundation/Analytics/utils.js +21 -0
  90. package/dist/esnext/foundation/BuiltInRoutes/BuiltInRoutes.d.ts +2 -0
  91. package/dist/esnext/foundation/BuiltInRoutes/BuiltInRoutes.js +23 -0
  92. package/dist/esnext/foundation/BuiltInRoutes/healthCheck.d.ts +1 -0
  93. package/dist/esnext/foundation/BuiltInRoutes/healthCheck.js +3 -0
  94. package/dist/{node/framework → esnext/foundation/Cache}/cache-sub-request.d.ts +1 -1
  95. package/dist/esnext/{framework → foundation/Cache}/cache-sub-request.js +4 -4
  96. package/dist/esnext/{framework → foundation/Cache}/cache.d.ts +1 -1
  97. package/dist/esnext/{framework → foundation/Cache}/cache.js +4 -4
  98. package/dist/esnext/foundation/Cache/strategies/index.d.ts +7 -0
  99. package/dist/esnext/foundation/Cache/strategies/index.js +54 -0
  100. package/dist/esnext/foundation/Cookie/Cookie.d.ts +3 -3
  101. package/dist/esnext/foundation/Cookie/Cookie.js +5 -0
  102. package/dist/esnext/foundation/DevTools/DevTools.client.d.ts +3 -0
  103. package/dist/esnext/foundation/DevTools/DevTools.client.js +17 -0
  104. package/dist/esnext/foundation/DevTools/DevTools.server.d.ts +1 -0
  105. package/dist/esnext/foundation/DevTools/DevTools.server.js +14 -0
  106. package/dist/esnext/foundation/DevTools/components/GraphQL.client.d.ts +1 -0
  107. package/dist/esnext/foundation/DevTools/components/GraphQL.client.js +25 -0
  108. package/dist/esnext/foundation/DevTools/components/Heading.d.ts +5 -0
  109. package/dist/esnext/foundation/DevTools/components/Heading.js +12 -0
  110. package/dist/esnext/foundation/DevTools/components/Interface.client.d.ts +11 -0
  111. package/dist/esnext/foundation/DevTools/components/Interface.client.js +47 -0
  112. package/dist/esnext/foundation/DevTools/components/Panels.d.ts +8 -0
  113. package/dist/esnext/foundation/DevTools/components/Panels.js +60 -0
  114. package/dist/esnext/foundation/DevTools/components/Performance.client.d.ts +14 -0
  115. package/dist/esnext/foundation/DevTools/components/Performance.client.js +26 -0
  116. package/dist/esnext/foundation/DevTools/components/Settings.client.d.ts +7 -0
  117. package/dist/esnext/foundation/DevTools/components/Settings.client.js +20 -0
  118. package/dist/esnext/foundation/DevTools/components/Table.d.ts +9 -0
  119. package/dist/esnext/foundation/DevTools/components/Table.js +7 -0
  120. package/dist/esnext/foundation/DevTools/components/icons.d.ts +2 -0
  121. package/dist/esnext/foundation/DevTools/components/icons.js +13 -0
  122. package/dist/esnext/foundation/DevTools/components/index.d.ts +2 -0
  123. package/dist/esnext/foundation/DevTools/components/index.js +2 -0
  124. package/dist/esnext/foundation/FileRoutes/FileRoutes.server.js +4 -4
  125. package/dist/{node/framework/Hydration → esnext/foundation/Html}/Html.d.ts +3 -1
  126. package/dist/esnext/{framework/Hydration → foundation/Html}/Html.js +15 -5
  127. package/dist/esnext/{framework/Hydration/ServerComponentRequest.server.d.ts → foundation/HydrogenRequest/HydrogenRequest.server.d.ts} +14 -4
  128. package/dist/esnext/{framework/Hydration/ServerComponentRequest.server.js → foundation/HydrogenRequest/HydrogenRequest.server.js} +70 -12
  129. package/dist/esnext/{framework/Hydration/ServerComponentResponse.server.d.ts → foundation/HydrogenResponse/HydrogenResponse.server.d.ts} +6 -11
  130. package/dist/esnext/foundation/HydrogenResponse/HydrogenResponse.server.js +48 -0
  131. package/dist/esnext/foundation/Router/BrowserRouter.client.js +15 -9
  132. package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.d.ts +2 -1
  133. package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.js +1 -1
  134. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.d.ts +5 -6
  135. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.js +19 -24
  136. package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.d.ts +1 -1
  137. package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.js +1 -1
  138. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.server.js +4 -5
  139. package/dist/esnext/foundation/fetchSync/server/fetchSync.js +1 -1
  140. package/dist/esnext/foundation/index.d.ts +1 -1
  141. package/dist/esnext/foundation/index.js +1 -1
  142. package/dist/esnext/foundation/runtime.d.ts +2 -0
  143. package/dist/esnext/foundation/runtime.js +6 -0
  144. package/dist/esnext/foundation/session/session.d.ts +3 -3
  145. package/dist/esnext/foundation/ssr-interop.d.ts +2 -2
  146. package/dist/esnext/foundation/useNavigate/useNavigate.d.ts +2 -0
  147. package/dist/esnext/foundation/useNavigate/useNavigate.js +10 -4
  148. package/dist/esnext/foundation/useQuery/hooks.d.ts +1 -0
  149. package/dist/esnext/foundation/useQuery/hooks.js +29 -18
  150. package/dist/esnext/foundation/useRequestContext/index.d.ts +15 -0
  151. package/dist/esnext/foundation/useRequestContext/index.js +23 -0
  152. package/dist/esnext/foundation/useServerProps/use-server-props.js +2 -2
  153. package/dist/esnext/foundation/useSession/useSession.js +1 -2
  154. package/dist/esnext/foundation/useUrl/useUrl.js +1 -2
  155. package/dist/esnext/framework/cache/in-memory.js +3 -3
  156. package/dist/esnext/framework/middleware.d.ts +1 -1
  157. package/dist/esnext/framework/middleware.js +3 -4
  158. package/dist/esnext/framework/plugin.d.ts +7 -3
  159. package/dist/esnext/framework/plugin.js +4 -1
  160. package/dist/esnext/framework/plugins/vite-plugin-client-imports.js +1 -1
  161. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +70 -64
  162. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +1 -1
  163. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.js +3 -4
  164. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-rsc.js +5 -13
  165. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-suppress-warnings.d.ts +3 -0
  166. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-suppress-warnings.js +19 -0
  167. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-virtual-files.d.ts +1 -1
  168. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-virtual-files.js +6 -4
  169. package/dist/esnext/framework/types.d.ts +5 -0
  170. package/dist/esnext/framework/types.js +1 -0
  171. package/dist/esnext/hooks/index.d.ts +0 -1
  172. package/dist/esnext/hooks/index.js +0 -1
  173. package/dist/esnext/hooks/useCartLine/useCartLine.d.ts +10 -0
  174. package/dist/esnext/hooks/useMoney/hooks.js +53 -39
  175. package/dist/esnext/hooks/useProductOptions/helpers.js +6 -10
  176. package/dist/esnext/hooks/useProductOptions/types.d.ts +17 -15
  177. package/dist/esnext/hooks/useProductOptions/useProductOptions.client.d.ts +1 -15
  178. package/dist/esnext/hooks/useProductOptions/useProductOptions.client.js +8 -107
  179. package/dist/esnext/hooks/useShopQuery/hooks.js +30 -18
  180. package/dist/esnext/index.d.ts +7 -5
  181. package/dist/esnext/index.js +5 -5
  182. package/dist/esnext/shared-types.d.ts +26 -0
  183. package/dist/esnext/shared-types.js +4 -0
  184. package/dist/esnext/storefront-api-types.d.ts +37 -443
  185. package/dist/esnext/streaming.server.d.ts +9 -19
  186. package/dist/esnext/streaming.server.js +2 -11
  187. package/dist/esnext/types.d.ts +40 -40
  188. package/dist/esnext/types.js +1 -1
  189. package/dist/esnext/utilities/apiRoutes.d.ts +8 -4
  190. package/dist/esnext/utilities/apiRoutes.js +6 -4
  191. package/dist/esnext/utilities/devtools.d.ts +1 -1
  192. package/dist/esnext/utilities/devtools.js +3 -3
  193. package/dist/esnext/utilities/flattenConnection/flattenConnection.d.ts +1 -0
  194. package/dist/esnext/utilities/flattenConnection/flattenConnection.js +13 -6
  195. package/dist/esnext/utilities/graphql-tracker.js +7 -9
  196. package/dist/esnext/utilities/hash.d.ts +2 -2
  197. package/dist/esnext/utilities/hash.js +29 -6
  198. package/dist/esnext/utilities/image_size.d.ts +24 -3
  199. package/dist/esnext/utilities/image_size.js +53 -31
  200. package/dist/esnext/utilities/index.d.ts +2 -2
  201. package/dist/esnext/utilities/index.js +2 -2
  202. package/dist/esnext/utilities/isBrowser/index.d.ts +1 -0
  203. package/dist/esnext/utilities/isBrowser/index.js +1 -0
  204. package/dist/esnext/utilities/isBrowser/isBrowser.d.ts +4 -0
  205. package/dist/esnext/utilities/isBrowser/isBrowser.js +6 -0
  206. package/dist/esnext/utilities/isServer/isServer.js +2 -2
  207. package/dist/esnext/utilities/load_script.js +1 -1
  208. package/dist/esnext/utilities/log/index.d.ts +1 -1
  209. package/dist/esnext/utilities/log/index.js +1 -1
  210. package/dist/esnext/utilities/log/log-cache-api-status.js +3 -2
  211. package/dist/esnext/utilities/log/log-cache-header.d.ts +4 -4
  212. package/dist/esnext/utilities/log/log-query-timeline.d.ts +3 -3
  213. package/dist/esnext/utilities/log/log-query-timeline.js +29 -10
  214. package/dist/esnext/utilities/log/log.d.ts +17 -11
  215. package/dist/esnext/utilities/log/log.js +28 -20
  216. package/dist/esnext/utilities/log/utils.js +1 -6
  217. package/dist/esnext/utilities/parseMetafield/index.d.ts +1 -0
  218. package/dist/esnext/utilities/parseMetafield/index.js +1 -0
  219. package/dist/esnext/utilities/parseMetafield/parseMetafield.d.ts +15 -0
  220. package/dist/esnext/utilities/{parseMetafieldValue/parseMetafieldValue.js → parseMetafield/parseMetafield.js} +28 -2
  221. package/dist/esnext/utilities/storefrontApi.js +9 -5
  222. package/dist/esnext/utilities/template.js +1 -2
  223. package/dist/esnext/utilities/web-api-polyfill.js +6 -0
  224. package/dist/esnext/version.d.ts +1 -1
  225. package/dist/esnext/version.js +1 -1
  226. package/dist/node/framework/cache/in-memory.js +3 -3
  227. package/dist/node/framework/middleware.d.ts +1 -1
  228. package/dist/node/framework/middleware.js +3 -4
  229. package/dist/node/framework/plugin.d.ts +4 -3
  230. package/dist/node/framework/plugin.js +5 -2
  231. package/dist/node/framework/plugins/vite-plugin-client-imports.js +1 -1
  232. package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +70 -64
  233. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +1 -1
  234. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.js +3 -4
  235. package/dist/node/framework/plugins/vite-plugin-hydrogen-rsc.js +6 -14
  236. package/dist/node/framework/plugins/vite-plugin-hydrogen-suppress-warnings.d.ts +3 -0
  237. package/dist/node/framework/plugins/vite-plugin-hydrogen-suppress-warnings.js +21 -0
  238. package/dist/node/framework/plugins/vite-plugin-hydrogen-virtual-files.d.ts +1 -1
  239. package/dist/node/framework/plugins/vite-plugin-hydrogen-virtual-files.js +6 -4
  240. package/dist/node/framework/types.d.ts +5 -0
  241. package/dist/node/{foundation/Analytics → framework}/types.js +0 -0
  242. package/dist/node/shared-types.d.ts +26 -0
  243. package/dist/node/shared-types.js +5 -0
  244. package/dist/node/utilities/web-api-polyfill.js +6 -0
  245. package/package.json +34 -26
  246. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-plugin.js +275 -60
  247. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.development.server.js +119 -64
  248. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.production.min.server.js +33 -32
  249. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.development.server.js +241 -75
  250. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.production.min.server.js +38 -35
  251. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.development.js +9 -8
  252. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.production.min.js +3 -3
  253. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-client-proxy.js +3 -9
  254. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-plugin.js +276 -61
  255. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.browser.server.js +119 -64
  256. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.node.server.js +241 -75
  257. package/vendor/react-server-dom-vite/esm/react-server-dom-vite.js +9 -8
  258. package/vendor/react-server-dom-vite/package.json +1 -1
  259. package/client.d.ts +0 -1
  260. package/client.js +0 -1
  261. package/config.d.ts +0 -1
  262. package/config.js +0 -1
  263. package/dist/esnext/components/DevTools.client.d.ts +0 -1
  264. package/dist/esnext/components/DevTools.client.js +0 -129
  265. package/dist/esnext/components/ProductProvider/ProductOptionsProvider.client.d.ts +0 -8
  266. package/dist/esnext/components/ProductProvider/ProductOptionsProvider.client.js +0 -12
  267. package/dist/esnext/components/ProductProvider/ProductProvider.client.d.ts +0 -24
  268. package/dist/esnext/components/ProductProvider/ProductProvider.client.js +0 -34
  269. package/dist/esnext/components/ProductProvider/context.d.ts +0 -29
  270. package/dist/esnext/components/ProductProvider/index.d.ts +0 -2
  271. package/dist/esnext/components/ProductProvider/index.js +0 -2
  272. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.server.d.ts +0 -2
  273. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.server.js +0 -33
  274. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.server.d.ts +0 -1
  275. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.server.js +0 -24
  276. package/dist/esnext/framework/CachingStrategy/index.d.ts +0 -10
  277. package/dist/esnext/framework/CachingStrategy/index.js +0 -96
  278. package/dist/esnext/framework/Hydration/Html.d.ts +0 -11
  279. package/dist/esnext/framework/Hydration/ServerComponentResponse.server.js +0 -42
  280. package/dist/esnext/framework/Hydration/rsc.d.ts +0 -8
  281. package/dist/esnext/framework/Hydration/rsc.js +0 -100
  282. package/dist/esnext/framework/cache-sub-request.d.ts +0 -17
  283. package/dist/esnext/framework/config.d.ts +0 -6
  284. package/dist/esnext/framework/config.js +0 -6
  285. package/dist/esnext/framework/runtime.d.ts +0 -13
  286. package/dist/esnext/framework/runtime.js +0 -27
  287. package/dist/esnext/hooks/useParsedMetafields/index.d.ts +0 -1
  288. package/dist/esnext/hooks/useParsedMetafields/index.js +0 -1
  289. package/dist/esnext/hooks/useParsedMetafields/useParsedMetafields.d.ts +0 -21
  290. package/dist/esnext/hooks/useParsedMetafields/useParsedMetafields.js +0 -21
  291. package/dist/esnext/hooks/useProduct/index.d.ts +0 -1
  292. package/dist/esnext/hooks/useProduct/index.js +0 -1
  293. package/dist/esnext/hooks/useProduct/useProduct.d.ts +0 -52
  294. package/dist/esnext/hooks/useProduct/useProduct.js +0 -43
  295. package/dist/esnext/utilities/isClient/index.d.ts +0 -1
  296. package/dist/esnext/utilities/isClient/index.js +0 -1
  297. package/dist/esnext/utilities/isClient/isClient.d.ts +0 -4
  298. package/dist/esnext/utilities/isClient/isClient.js +0 -6
  299. package/dist/esnext/utilities/parseMetafieldValue/index.d.ts +0 -1
  300. package/dist/esnext/utilities/parseMetafieldValue/index.js +0 -1
  301. package/dist/esnext/utilities/parseMetafieldValue/parseMetafieldValue.d.ts +0 -6
  302. package/dist/node/components/Image/Image.d.ts +0 -84
  303. package/dist/node/components/Image/Image.js +0 -89
  304. package/dist/node/components/Image/index.d.ts +0 -2
  305. package/dist/node/components/Image/index.js +0 -5
  306. package/dist/node/constants.d.ts +0 -7
  307. package/dist/node/constants.js +0 -10
  308. package/dist/node/entry-server.d.ts +0 -35
  309. package/dist/node/entry-server.js +0 -571
  310. package/dist/node/foundation/Analytics/Analytics.client.d.ts +0 -3
  311. package/dist/node/foundation/Analytics/Analytics.client.js +0 -32
  312. package/dist/node/foundation/Analytics/Analytics.server.d.ts +0 -1
  313. package/dist/node/foundation/Analytics/Analytics.server.js +0 -70
  314. package/dist/node/foundation/Analytics/ClientAnalytics.d.ts +0 -25
  315. package/dist/node/foundation/Analytics/ClientAnalytics.js +0 -100
  316. package/dist/node/foundation/Analytics/ServerAnalyticsRoute.server.d.ts +0 -2
  317. package/dist/node/foundation/Analytics/ServerAnalyticsRoute.server.js +0 -37
  318. package/dist/node/foundation/Analytics/const.d.ts +0 -9
  319. package/dist/node/foundation/Analytics/const.js +0 -12
  320. package/dist/node/foundation/Analytics/hook.d.ts +0 -1
  321. package/dist/node/foundation/Analytics/hook.js +0 -11
  322. package/dist/node/foundation/Analytics/types.d.ts +0 -5
  323. package/dist/node/foundation/Analytics/utils.d.ts +0 -1
  324. package/dist/node/foundation/Analytics/utils.js +0 -12
  325. package/dist/node/foundation/AnalyticsErrorBoundary.client.d.ts +0 -4
  326. package/dist/node/foundation/AnalyticsErrorBoundary.client.js +0 -14
  327. package/dist/node/foundation/Redirect/Redirect.client.d.ts +0 -5
  328. package/dist/node/foundation/Redirect/Redirect.client.js +0 -18
  329. package/dist/node/foundation/Router/BrowserRouter.client.d.ts +0 -14
  330. package/dist/node/foundation/Router/BrowserRouter.client.js +0 -159
  331. package/dist/node/foundation/ServerPropsProvider/ServerPropsProvider.d.ts +0 -40
  332. package/dist/node/foundation/ServerPropsProvider/ServerPropsProvider.js +0 -90
  333. package/dist/node/foundation/ServerPropsProvider/index.d.ts +0 -2
  334. package/dist/node/foundation/ServerPropsProvider/index.js +0 -6
  335. package/dist/node/foundation/ServerRequestProvider/ServerRequestProvider.d.ts +0 -23
  336. package/dist/node/foundation/ServerRequestProvider/ServerRequestProvider.js +0 -158
  337. package/dist/node/foundation/ServerRequestProvider/index.d.ts +0 -1
  338. package/dist/node/foundation/ServerRequestProvider/index.js +0 -17
  339. package/dist/node/foundation/ShopifyProvider/types.d.ts +0 -13
  340. package/dist/node/foundation/ShopifyProvider/types.js +0 -2
  341. package/dist/node/foundation/session/session.d.ts +0 -27
  342. package/dist/node/foundation/session/session.js +0 -43
  343. package/dist/node/foundation/ssr-interop.d.ts +0 -29
  344. package/dist/node/foundation/ssr-interop.js +0 -39
  345. package/dist/node/foundation/useNavigate/useNavigate.d.ts +0 -13
  346. package/dist/node/foundation/useNavigate/useNavigate.js +0 -18
  347. package/dist/node/foundation/useServerProps/use-server-props.d.ts +0 -21
  348. package/dist/node/foundation/useServerProps/use-server-props.js +0 -40
  349. package/dist/node/framework/CachingStrategy/index.d.ts +0 -10
  350. package/dist/node/framework/CachingStrategy/index.js +0 -108
  351. package/dist/node/framework/Hydration/Html.js +0 -94
  352. package/dist/node/framework/Hydration/ServerComponentRequest.server.d.ts +0 -58
  353. package/dist/node/framework/Hydration/ServerComponentRequest.server.js +0 -150
  354. package/dist/node/framework/Hydration/ServerComponentResponse.server.d.ts +0 -26
  355. package/dist/node/framework/Hydration/ServerComponentResponse.server.js +0 -49
  356. package/dist/node/framework/Hydration/rsc.d.ts +0 -8
  357. package/dist/node/framework/Hydration/rsc.js +0 -103
  358. package/dist/node/framework/cache-sub-request.js +0 -95
  359. package/dist/node/framework/cache.d.ts +0 -17
  360. package/dist/node/framework/cache.js +0 -135
  361. package/dist/node/framework/config.d.ts +0 -6
  362. package/dist/node/framework/config.js +0 -11
  363. package/dist/node/framework/runtime.d.ts +0 -13
  364. package/dist/node/framework/runtime.js +0 -35
  365. package/dist/node/storefront-api-types.d.ts +0 -6405
  366. package/dist/node/storefront-api-types.js +0 -1766
  367. package/dist/node/streaming.server.d.ts +0 -26
  368. package/dist/node/streaming.server.js +0 -33
  369. package/dist/node/types.d.ts +0 -105
  370. package/dist/node/types.js +0 -2
  371. package/dist/node/utilities/apiRoutes.d.ts +0 -37
  372. package/dist/node/utilities/apiRoutes.js +0 -157
  373. package/dist/node/utilities/bot-ua.d.ts +0 -4
  374. package/dist/node/utilities/bot-ua.js +0 -65
  375. package/dist/node/utilities/defer.d.ts +0 -6
  376. package/dist/node/utilities/defer.js +0 -18
  377. package/dist/node/utilities/error.d.ts +0 -1
  378. package/dist/node/utilities/error.js +0 -10
  379. package/dist/node/utilities/fetch.d.ts +0 -9
  380. package/dist/node/utilities/fetch.js +0 -37
  381. package/dist/node/utilities/flattenConnection/flattenConnection.d.ts +0 -6
  382. package/dist/node/utilities/flattenConnection/flattenConnection.js +0 -15
  383. package/dist/node/utilities/flattenConnection/index.d.ts +0 -1
  384. package/dist/node/utilities/flattenConnection/index.js +0 -5
  385. package/dist/node/utilities/hash.d.ts +0 -2
  386. package/dist/node/utilities/hash.js +0 -11
  387. package/dist/node/utilities/html-encoding.d.ts +0 -1
  388. package/dist/node/utilities/html-encoding.js +0 -12
  389. package/dist/node/utilities/image_size.d.ts +0 -12
  390. package/dist/node/utilities/image_size.js +0 -68
  391. package/dist/node/utilities/index.d.ts +0 -12
  392. package/dist/node/utilities/index.js +0 -33
  393. package/dist/node/utilities/isClient/index.d.ts +0 -1
  394. package/dist/node/utilities/isClient/index.js +0 -5
  395. package/dist/node/utilities/isClient/isClient.d.ts +0 -4
  396. package/dist/node/utilities/isClient/isClient.js +0 -10
  397. package/dist/node/utilities/isServer/index.d.ts +0 -1
  398. package/dist/node/utilities/isServer/index.js +0 -5
  399. package/dist/node/utilities/isServer/isServer.d.ts +0 -4
  400. package/dist/node/utilities/isServer/isServer.js +0 -11
  401. package/dist/node/utilities/load_script.d.ts +0 -3
  402. package/dist/node/utilities/load_script.js +0 -27
  403. package/dist/node/utilities/log/index.d.ts +0 -4
  404. package/dist/node/utilities/log/index.js +0 -18
  405. package/dist/node/utilities/log/log-cache-api-status.d.ts +0 -1
  406. package/dist/node/utilities/log/log-cache-api-status.js +0 -17
  407. package/dist/node/utilities/log/log-cache-header.d.ts +0 -10
  408. package/dist/node/utilities/log/log-cache-header.js +0 -35
  409. package/dist/node/utilities/log/log-query-timeline.d.ts +0 -12
  410. package/dist/node/utilities/log/log-query-timeline.js +0 -88
  411. package/dist/node/utilities/log/log.d.ts +0 -22
  412. package/dist/node/utilities/log/log.js +0 -74
  413. package/dist/node/utilities/log/utils.d.ts +0 -3
  414. package/dist/node/utilities/log/utils.js +0 -21
  415. package/dist/node/utilities/matchPath.d.ts +0 -10
  416. package/dist/node/utilities/matchPath.js +0 -58
  417. package/dist/node/utilities/measurement.d.ts +0 -3
  418. package/dist/node/utilities/measurement.js +0 -103
  419. package/dist/node/utilities/parse.d.ts +0 -1
  420. package/dist/node/utilities/parse.js +0 -13
  421. package/dist/node/utilities/parseMetafieldValue/index.d.ts +0 -1
  422. package/dist/node/utilities/parseMetafieldValue/index.js +0 -5
  423. package/dist/node/utilities/parseMetafieldValue/parseMetafieldValue.d.ts +0 -6
  424. package/dist/node/utilities/parseMetafieldValue/parseMetafieldValue.js +0 -40
  425. package/dist/node/utilities/storefrontApi.d.ts +0 -4
  426. package/dist/node/utilities/storefrontApi.js +0 -26
  427. package/dist/node/utilities/suspense.d.ts +0 -12
  428. package/dist/node/utilities/suspense.js +0 -64
  429. package/dist/node/utilities/template.d.ts +0 -9
  430. package/dist/node/utilities/template.js +0 -27
  431. package/dist/node/utilities/timing.d.ts +0 -7
  432. package/dist/node/utilities/timing.js +0 -18
  433. package/dist/node/utilities/video_parameters.d.ts +0 -47
  434. package/dist/node/utilities/video_parameters.js +0 -27
  435. package/dist/node/version.d.ts +0 -1
  436. package/dist/node/version.js +0 -4
  437. package/entry-client.d.ts +0 -1
  438. package/entry-client.js +0 -1
  439. package/entry-server.d.ts +0 -1
  440. package/entry-server.js +0 -1
  441. package/middleware.d.ts +0 -1
  442. package/middleware.js +0 -1
  443. package/plugin.d.ts +0 -1
  444. package/plugin.js +0 -1
  445. package/web-polyfills.js +0 -1
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getShopifyImageDimensions = exports.shopifyImageLoader = exports.addImageSizeParametersToUrl = void 0;
4
- // TODO: Are there other CDNs missing from here?
5
- const PRODUCTION_CDN_HOSTNAMES = [
6
- 'cdn.shopify.com',
7
- 'cdn.shopifycdn.net',
8
- 'shopify-assets.shopifycdn.com',
9
- 'shopify-assets.shopifycdn.net',
10
- ];
11
- const LOCAL_CDN_HOSTNAMES = ['spin.dev'];
12
- const ALL_CDN_HOSTNAMES = [...PRODUCTION_CDN_HOSTNAMES, ...LOCAL_CDN_HOSTNAMES];
13
- /**
14
- * Adds image size parameters to an image URL hosted by Shopify's CDN
15
- */
16
- function addImageSizeParametersToUrl({ src, width, height, crop, scale, }) {
17
- const newUrl = new URL(src);
18
- width && newUrl.searchParams.append('width', width.toString());
19
- height && newUrl.searchParams.append('height', height.toString());
20
- crop && newUrl.searchParams.append('crop', crop);
21
- scale && newUrl.searchParams.append('scale', scale.toString());
22
- return newUrl.toString();
23
- }
24
- exports.addImageSizeParametersToUrl = addImageSizeParametersToUrl;
25
- function shopifyImageLoader(params) {
26
- const newSrc = new URL(params.src);
27
- const isShopifyServedImage = ALL_CDN_HOSTNAMES.some((allowedHostname) => newSrc.hostname.endsWith(allowedHostname));
28
- if (!isShopifyServedImage ||
29
- (!params.width && !params.height && !params.crop && !params.scale)) {
30
- return params.src;
31
- }
32
- return addImageSizeParametersToUrl(params);
33
- }
34
- exports.shopifyImageLoader = shopifyImageLoader;
35
- function getShopifyImageDimensions(image, options) {
36
- // Storefront API could return null dimension values for images that are not hosted on Shopify CDN
37
- // The API dimensions references the image's intrinstic/natural dimensions and provides image aspect ratio information
38
- const apiWidth = image.width;
39
- const apiHeight = image.height;
40
- if (apiWidth && apiHeight && ((options === null || options === void 0 ? void 0 : options.width) || (options === null || options === void 0 ? void 0 : options.height))) {
41
- const optionWidth = (options === null || options === void 0 ? void 0 : options.width)
42
- ? parseInt(options.width.toString(), 10)
43
- : undefined;
44
- const optionHeight = (options === null || options === void 0 ? void 0 : options.height)
45
- ? parseInt(options.height.toString(), 10)
46
- : undefined;
47
- // Use option defined width & height
48
- if (optionWidth && optionHeight) {
49
- return { width: optionWidth, height: optionHeight };
50
- }
51
- // Calculate width from aspect ratio
52
- if (!optionWidth && optionHeight) {
53
- return {
54
- width: Math.round((apiWidth / apiHeight) * optionHeight),
55
- height: optionHeight,
56
- };
57
- }
58
- // Calculate height from aspect ratio
59
- if (optionWidth && !optionHeight) {
60
- return {
61
- width: optionWidth,
62
- height: Math.round((apiHeight / apiWidth) * optionWidth),
63
- };
64
- }
65
- }
66
- return { width: apiWidth, height: apiHeight };
67
- }
68
- exports.getShopifyImageDimensions = getShopifyImageDimensions;
@@ -1,12 +0,0 @@
1
- export { addImageSizeParametersToUrl, getShopifyImageDimensions, shopifyImageLoader, } from './image_size';
2
- export { YouTube, Vimeo, addParametersToEmbeddedVideoUrl, useEmbeddedVideoUrl, } from './video_parameters';
3
- export { loadScript } from './load_script';
4
- export { wrapPromise } from './suspense';
5
- export { flattenConnection } from './flattenConnection';
6
- export { isClient } from './isClient';
7
- export { isServer } from './isServer';
8
- export { getMeasurementAsParts, getMeasurementAsString } from './measurement';
9
- export { parseMetafieldValue } from './parseMetafieldValue';
10
- export { fetchBuilder, graphqlRequestBody, decodeShopifyId } from './fetch';
11
- export { getTime } from './timing';
12
- export { htmlEncode } from './html-encoding';
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.htmlEncode = exports.getTime = exports.decodeShopifyId = exports.graphqlRequestBody = exports.fetchBuilder = exports.parseMetafieldValue = exports.getMeasurementAsString = exports.getMeasurementAsParts = exports.isServer = exports.isClient = exports.flattenConnection = exports.wrapPromise = exports.loadScript = exports.useEmbeddedVideoUrl = exports.addParametersToEmbeddedVideoUrl = exports.shopifyImageLoader = exports.getShopifyImageDimensions = exports.addImageSizeParametersToUrl = void 0;
4
- var image_size_1 = require("./image_size");
5
- Object.defineProperty(exports, "addImageSizeParametersToUrl", { enumerable: true, get: function () { return image_size_1.addImageSizeParametersToUrl; } });
6
- Object.defineProperty(exports, "getShopifyImageDimensions", { enumerable: true, get: function () { return image_size_1.getShopifyImageDimensions; } });
7
- Object.defineProperty(exports, "shopifyImageLoader", { enumerable: true, get: function () { return image_size_1.shopifyImageLoader; } });
8
- var video_parameters_1 = require("./video_parameters");
9
- Object.defineProperty(exports, "addParametersToEmbeddedVideoUrl", { enumerable: true, get: function () { return video_parameters_1.addParametersToEmbeddedVideoUrl; } });
10
- Object.defineProperty(exports, "useEmbeddedVideoUrl", { enumerable: true, get: function () { return video_parameters_1.useEmbeddedVideoUrl; } });
11
- var load_script_1 = require("./load_script");
12
- Object.defineProperty(exports, "loadScript", { enumerable: true, get: function () { return load_script_1.loadScript; } });
13
- var suspense_1 = require("./suspense");
14
- Object.defineProperty(exports, "wrapPromise", { enumerable: true, get: function () { return suspense_1.wrapPromise; } });
15
- var flattenConnection_1 = require("./flattenConnection");
16
- Object.defineProperty(exports, "flattenConnection", { enumerable: true, get: function () { return flattenConnection_1.flattenConnection; } });
17
- var isClient_1 = require("./isClient");
18
- Object.defineProperty(exports, "isClient", { enumerable: true, get: function () { return isClient_1.isClient; } });
19
- var isServer_1 = require("./isServer");
20
- Object.defineProperty(exports, "isServer", { enumerable: true, get: function () { return isServer_1.isServer; } });
21
- var measurement_1 = require("./measurement");
22
- Object.defineProperty(exports, "getMeasurementAsParts", { enumerable: true, get: function () { return measurement_1.getMeasurementAsParts; } });
23
- Object.defineProperty(exports, "getMeasurementAsString", { enumerable: true, get: function () { return measurement_1.getMeasurementAsString; } });
24
- var parseMetafieldValue_1 = require("./parseMetafieldValue");
25
- Object.defineProperty(exports, "parseMetafieldValue", { enumerable: true, get: function () { return parseMetafieldValue_1.parseMetafieldValue; } });
26
- var fetch_1 = require("./fetch");
27
- Object.defineProperty(exports, "fetchBuilder", { enumerable: true, get: function () { return fetch_1.fetchBuilder; } });
28
- Object.defineProperty(exports, "graphqlRequestBody", { enumerable: true, get: function () { return fetch_1.graphqlRequestBody; } });
29
- Object.defineProperty(exports, "decodeShopifyId", { enumerable: true, get: function () { return fetch_1.decodeShopifyId; } });
30
- var timing_1 = require("./timing");
31
- Object.defineProperty(exports, "getTime", { enumerable: true, get: function () { return timing_1.getTime; } });
32
- var html_encoding_1 = require("./html-encoding");
33
- Object.defineProperty(exports, "htmlEncode", { enumerable: true, get: function () { return html_encoding_1.htmlEncode; } });
@@ -1 +0,0 @@
1
- export { isClient } from './isClient';
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isClient = void 0;
4
- var isClient_1 = require("./isClient");
5
- Object.defineProperty(exports, "isClient", { enumerable: true, get: function () { return isClient_1.isClient; } });
@@ -1,4 +0,0 @@
1
- /** The `isClient` utility is a function that returns a boolean indicating
2
- * if the code was run on the client.
3
- */
4
- export declare function isClient(): boolean;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isClient = void 0;
4
- /** The `isClient` utility is a function that returns a boolean indicating
5
- * if the code was run on the client.
6
- */
7
- function isClient() {
8
- return typeof window !== 'undefined';
9
- }
10
- exports.isClient = isClient;
@@ -1 +0,0 @@
1
- export { isServer } from './isServer';
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isServer = void 0;
4
- var isServer_1 = require("./isServer");
5
- Object.defineProperty(exports, "isServer", { enumerable: true, get: function () { return isServer_1.isServer; } });
@@ -1,4 +0,0 @@
1
- /** The `isServer` utility is a function that returns a `boolean` indicating
2
- * if the code was run on the server.
3
- */
4
- export declare function isServer(): boolean;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isServer = void 0;
4
- const isClient_1 = require("../isClient");
5
- /** The `isServer` utility is a function that returns a `boolean` indicating
6
- * if the code was run on the server.
7
- */
8
- function isServer() {
9
- return !(0, isClient_1.isClient)();
10
- }
11
- exports.isServer = isServer;
@@ -1,3 +0,0 @@
1
- export declare function loadScript(src: string, options?: {
2
- module?: boolean;
3
- }): Promise<boolean>;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadScript = void 0;
4
- const SCRIPTS_LOADED = {};
5
- function loadScript(src, options) {
6
- const isScriptLoaded = SCRIPTS_LOADED[src];
7
- if (isScriptLoaded) {
8
- return isScriptLoaded;
9
- }
10
- const promise = new Promise((resolve, reject) => {
11
- const script = document.createElement('script');
12
- if (options === null || options === void 0 ? void 0 : options.module) {
13
- script.type = 'module';
14
- }
15
- script.src = src;
16
- script.onload = () => {
17
- resolve(true);
18
- };
19
- script.onerror = () => {
20
- reject(false);
21
- };
22
- document.body.appendChild(script);
23
- });
24
- SCRIPTS_LOADED[src] = promise;
25
- return promise;
26
- }
27
- exports.loadScript = loadScript;
@@ -1,4 +0,0 @@
1
- export { log, setLogger, setLoggerOptions, getLoggerWithContext, Logger, logServerResponse, resetLogger, } from './log';
2
- export { collectQueryCacheControlHeaders, logCacheControlHeaders, } from './log-cache-header';
3
- export { logCacheApiStatus } from './log-cache-api-status';
4
- export { collectQueryTimings, logQueryTimings } from './log-query-timeline';
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logQueryTimings = exports.collectQueryTimings = exports.logCacheApiStatus = exports.logCacheControlHeaders = exports.collectQueryCacheControlHeaders = exports.resetLogger = exports.logServerResponse = exports.getLoggerWithContext = exports.setLoggerOptions = exports.setLogger = exports.log = void 0;
4
- var log_1 = require("./log");
5
- Object.defineProperty(exports, "log", { enumerable: true, get: function () { return log_1.log; } });
6
- Object.defineProperty(exports, "setLogger", { enumerable: true, get: function () { return log_1.setLogger; } });
7
- Object.defineProperty(exports, "setLoggerOptions", { enumerable: true, get: function () { return log_1.setLoggerOptions; } });
8
- Object.defineProperty(exports, "getLoggerWithContext", { enumerable: true, get: function () { return log_1.getLoggerWithContext; } });
9
- Object.defineProperty(exports, "logServerResponse", { enumerable: true, get: function () { return log_1.logServerResponse; } });
10
- Object.defineProperty(exports, "resetLogger", { enumerable: true, get: function () { return log_1.resetLogger; } });
11
- var log_cache_header_1 = require("./log-cache-header");
12
- Object.defineProperty(exports, "collectQueryCacheControlHeaders", { enumerable: true, get: function () { return log_cache_header_1.collectQueryCacheControlHeaders; } });
13
- Object.defineProperty(exports, "logCacheControlHeaders", { enumerable: true, get: function () { return log_cache_header_1.logCacheControlHeaders; } });
14
- var log_cache_api_status_1 = require("./log-cache-api-status");
15
- Object.defineProperty(exports, "logCacheApiStatus", { enumerable: true, get: function () { return log_cache_api_status_1.logCacheApiStatus; } });
16
- var log_query_timeline_1 = require("./log-query-timeline");
17
- Object.defineProperty(exports, "collectQueryTimings", { enumerable: true, get: function () { return log_query_timeline_1.collectQueryTimings; } });
18
- Object.defineProperty(exports, "logQueryTimings", { enumerable: true, get: function () { return log_query_timeline_1.logQueryTimings; } });
@@ -1 +0,0 @@
1
- export declare function logCacheApiStatus(status: string | null, url: string): void;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logCacheApiStatus = void 0;
4
- const utils_1 = require("./utils");
5
- const kolorist_1 = require("kolorist");
6
- const _1 = require(".");
7
- function logCacheApiStatus(status, url) {
8
- if (!_1.log.options().showCacheApiStatus) {
9
- return;
10
- }
11
- let queryName;
12
- if (/shopify\.dev/.test(url)) {
13
- queryName = (0, utils_1.findQueryName)(url);
14
- }
15
- _1.log.debug((0, kolorist_1.gray)(`[Cache] ${status === null || status === void 0 ? void 0 : status.padEnd(8)} ${queryName ? `query ${queryName}` : decodeURIComponent(url)}`));
16
- }
17
- exports.logCacheApiStatus = logCacheApiStatus;
@@ -1,10 +0,0 @@
1
- import { ServerComponentRequest } from '../../framework/Hydration/ServerComponentRequest.server';
2
- import { ServerComponentResponse } from '../../framework/Hydration/ServerComponentResponse.server';
3
- import { QueryKey } from '../../types';
4
- import type { RenderType } from './log';
5
- export declare type QueryCacheControlHeaders = {
6
- name: string;
7
- header: string | null;
8
- };
9
- export declare function collectQueryCacheControlHeaders(request: ServerComponentRequest, queryKey: QueryKey, cacheControlHeader: string | null): void;
10
- export declare function logCacheControlHeaders(type: RenderType, request: ServerComponentRequest, response?: ServerComponentResponse): void;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logCacheControlHeaders = exports.collectQueryCacheControlHeaders = void 0;
4
- const hash_1 = require("../hash");
5
- const utils_1 = require("./utils");
6
- const kolorist_1 = require("kolorist");
7
- const log_1 = require("./log");
8
- const color = kolorist_1.gray;
9
- function collectQueryCacheControlHeaders(request, queryKey, cacheControlHeader) {
10
- request.ctx.queryCacheControl.push({
11
- name: (0, utils_1.findQueryName)((0, hash_1.hashKey)(queryKey)),
12
- header: cacheControlHeader,
13
- });
14
- }
15
- exports.collectQueryCacheControlHeaders = collectQueryCacheControlHeaders;
16
- function logCacheControlHeaders(type, request, response) {
17
- const log = (0, log_1.getLoggerWithContext)(request);
18
- if (!log.options().showCacheControlHeader) {
19
- return;
20
- }
21
- log.debug(color(`┌── Cache control header for ${(0, utils_1.parseUrl)(type, request.url)}`));
22
- if (response) {
23
- log.debug(color(`│ ${response.cacheControlHeader}`));
24
- }
25
- const queryList = request.ctx.queryCacheControl;
26
- const longestQueryNameLength = queryList.reduce((max, query) => Math.max(max, query.name.length), 0);
27
- if (queryList.length > 0) {
28
- log.debug(color('│'));
29
- queryList.forEach((query) => {
30
- log.debug(color(`│ query ${query.name.padEnd(longestQueryNameLength + 1)}${query.header}`));
31
- });
32
- }
33
- log.debug(color('└──'));
34
- }
35
- exports.logCacheControlHeaders = logCacheControlHeaders;
@@ -1,12 +0,0 @@
1
- import { ServerComponentRequest } from '../../framework/Hydration/ServerComponentRequest.server';
2
- import { QueryKey } from '../../types';
3
- import type { RenderType } from './log';
4
- export declare type TimingType = 'requested' | 'resolved' | 'rendered' | 'preload';
5
- export declare type QueryTiming = {
6
- name: string;
7
- timingType: TimingType;
8
- timestamp: number;
9
- duration?: number;
10
- };
11
- export declare function collectQueryTimings(request: ServerComponentRequest, queryKey: QueryKey, timingType: TimingType, duration?: number): void;
12
- export declare function logQueryTimings(type: RenderType, request: ServerComponentRequest): void;
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logQueryTimings = exports.collectQueryTimings = void 0;
4
- const hash_1 = require("../hash");
5
- const utils_1 = require("./utils");
6
- const kolorist_1 = require("kolorist");
7
- const log_1 = require("./log");
8
- const timing_1 = require("../timing");
9
- const color = kolorist_1.gray;
10
- const TIMING_MAPPING = {
11
- requested: 'Requested',
12
- rendered: 'Rendered',
13
- resolved: 'Resolved',
14
- preload: 'Preload',
15
- };
16
- function collectQueryTimings(request, queryKey, timingType, duration) {
17
- request.ctx.queryTimings.push({
18
- name: (0, utils_1.findQueryName)((0, hash_1.hashKey)(queryKey)),
19
- timingType,
20
- timestamp: (0, timing_1.getTime)(),
21
- duration,
22
- });
23
- }
24
- exports.collectQueryTimings = collectQueryTimings;
25
- function logQueryTimings(type, request) {
26
- const log = (0, log_1.getLoggerWithContext)(request);
27
- if (!log.options().showQueryTiming) {
28
- return;
29
- }
30
- log.debug(color(`┌── Query timings for ${(0, utils_1.parseUrl)(type, request.url)}`));
31
- const queryList = request.ctx.queryTimings;
32
- if (queryList.length > 0) {
33
- const requestStartTime = request.time;
34
- const detectSuspenseWaterfall = {};
35
- const detectMultipleDataLoad = {};
36
- let suspenseWaterfallDetectedCount = 0;
37
- queryList.forEach((query, index) => {
38
- if (query.timingType === 'requested' || query.timingType === 'preload') {
39
- detectSuspenseWaterfall[query.name] = true;
40
- }
41
- else if (query.timingType === 'rendered') {
42
- delete detectSuspenseWaterfall[query.name];
43
- }
44
- else if (query.timingType === 'resolved') {
45
- detectMultipleDataLoad[query.name] = detectMultipleDataLoad[query.name]
46
- ? detectMultipleDataLoad[query.name] + 1
47
- : 1;
48
- }
49
- const loadColor = query.timingType === 'preload' ? kolorist_1.green : color;
50
- const duration = query.duration;
51
- log.debug(color(`│ ${`${(query.timestamp - requestStartTime).toFixed(2)}ms`.padEnd(10)} ${loadColor(TIMING_MAPPING[query.timingType].padEnd(10))} ${query.name}${query.timingType === 'resolved'
52
- ? ` (Took ${duration === null || duration === void 0 ? void 0 : duration.toFixed(2)}ms)`
53
- : ''}`));
54
- // SSR + RSC render path generates 2 `load` and `render` for each query
55
- // We want to avoid falsely identifying a suspense waterfall near the end
56
- // of the query list
57
- //
58
- // The (index + 4) is detecting that near the end of list.
59
- // A complete set of events for a given query is 4 entries
60
- // │ (639.62ms) Requested Localization
61
- // │ (993.33ms) Resolved Localization (Took 353.66ms)
62
- // │ (993.96ms) Requested Localization <-- second time React tries to load
63
- // │ (994.03ms) Rendered Localization
64
- //
65
- // so the end of list index range is 3 (one less from a set entry) + 1 (zero index)
66
- if (queryList.length >= index + 4 &&
67
- Object.keys(detectSuspenseWaterfall).length === 0) {
68
- suspenseWaterfallDetectedCount++;
69
- const warningColor = suspenseWaterfallDetectedCount === 1 ? kolorist_1.yellow : kolorist_1.red;
70
- log.debug(`${color(`│ `)}${warningColor(`Suspense waterfall detected`)}`);
71
- }
72
- });
73
- const unusedQueries = Object.keys(detectSuspenseWaterfall);
74
- if (unusedQueries.length > 0) {
75
- unusedQueries.forEach((queryName) => {
76
- log.debug(`${color(`│ `)}${(0, kolorist_1.yellow)(`Unused query detected: ${queryName}`)}`);
77
- });
78
- }
79
- Object.keys(detectMultipleDataLoad).forEach((queryName) => {
80
- const count = detectMultipleDataLoad[queryName];
81
- if (count > 1) {
82
- log.debug(`${color(`│ `)}${(0, kolorist_1.yellow)(`Multiple data loads detected: ${queryName}`)}`);
83
- }
84
- });
85
- }
86
- log.debug(color('└──'));
87
- }
88
- exports.logQueryTimings = logQueryTimings;
@@ -1,22 +0,0 @@
1
- import { ServerComponentRequest } from '../../framework/Hydration/ServerComponentRequest.server';
2
- export interface Logger {
3
- trace: (...args: Array<any>) => void;
4
- debug: (...args: Array<any>) => void;
5
- warn: (...args: Array<any>) => void;
6
- error: (...args: Array<any>) => void;
7
- fatal: (...args: Array<any>) => void;
8
- options: () => LoggerOptions;
9
- }
10
- export declare type LoggerOptions = {
11
- showCacheControlHeader?: boolean;
12
- showCacheApiStatus?: boolean;
13
- showQueryTiming?: boolean;
14
- showUnusedQueryProperties?: boolean;
15
- };
16
- export declare type RenderType = 'str' | 'rsc' | 'ssr' | 'api';
17
- export declare const log: Logger;
18
- export declare function getLoggerWithContext(context?: any): Logger;
19
- export declare function setLogger(newLogger: Logger): void;
20
- export declare function setLoggerOptions(options: LoggerOptions): void;
21
- export declare function resetLogger(): void;
22
- export declare function logServerResponse(type: RenderType, request: ServerComponentRequest, responseStatus: number): void;
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logServerResponse = exports.resetLogger = exports.setLoggerOptions = exports.setLogger = exports.getLoggerWithContext = exports.log = void 0;
4
- const kolorist_1 = require("kolorist");
5
- const timing_1 = require("../timing");
6
- const utils_1 = require("./utils");
7
- const defaultLogger = {
8
- trace(context, ...args) {
9
- // Re-enable following line to show trace debugging information
10
- // console.log(context.id, ...args);
11
- },
12
- debug(context, ...args) {
13
- console.log(...args);
14
- },
15
- warn(context, ...args) {
16
- console.warn((0, kolorist_1.yellow)('WARN: '), ...args);
17
- },
18
- error(context, ...args) {
19
- console.error((0, kolorist_1.red)('ERROR: '), ...args);
20
- },
21
- fatal(context, ...args) {
22
- console.error((0, kolorist_1.red)('FATAL: '), ...args);
23
- },
24
- options: () => ({}),
25
- };
26
- globalThis.__logger = defaultLogger;
27
- function buildLogger() {
28
- return {
29
- trace: (...args) => globalThis.__logger.trace(this, ...args),
30
- debug: (...args) => globalThis.__logger.debug(this, ...args),
31
- warn: (...args) => globalThis.__logger.warn(this, ...args),
32
- error: (...args) => globalThis.__logger.error(this, ...args),
33
- fatal: (...args) => globalThis.__logger.fatal(this, ...args),
34
- options: () => globalThis.__logger.options(),
35
- };
36
- }
37
- exports.log = buildLogger.call({});
38
- function getLoggerWithContext(context = {}) {
39
- return buildLogger.call(context);
40
- }
41
- exports.getLoggerWithContext = getLoggerWithContext;
42
- function setLogger(newLogger) {
43
- globalThis.__logger = newLogger;
44
- }
45
- exports.setLogger = setLogger;
46
- function setLoggerOptions(options) {
47
- globalThis.__logger.options = () => options;
48
- }
49
- exports.setLoggerOptions = setLoggerOptions;
50
- function resetLogger() {
51
- globalThis.__logger = defaultLogger;
52
- }
53
- exports.resetLogger = resetLogger;
54
- const SERVER_RESPONSE_MAP = {
55
- str: 'streaming SSR',
56
- rsc: 'Server Components',
57
- ssr: 'buffered SSR',
58
- };
59
- function logServerResponse(type, request, responseStatus) {
60
- const log = getLoggerWithContext(request);
61
- const coloredResponseStatus = responseStatus >= 500
62
- ? (0, kolorist_1.red)(responseStatus)
63
- : responseStatus >= 400
64
- ? (0, kolorist_1.yellow)(responseStatus)
65
- : responseStatus >= 300
66
- ? (0, kolorist_1.lightBlue)(responseStatus)
67
- : (0, kolorist_1.green)(responseStatus);
68
- const fullType = SERVER_RESPONSE_MAP[type] || type;
69
- const styledType = (0, kolorist_1.italic)(fullType.padEnd(17));
70
- const paddedTiming = (((0, timing_1.getTime)() - request.time).toFixed(2) + ' ms').padEnd(10);
71
- const url = (0, utils_1.parseUrl)(type, request.url);
72
- log.debug(`${request.method} ${styledType} ${coloredResponseStatus} ${paddedTiming} ${url}`);
73
- }
74
- exports.logServerResponse = logServerResponse;
@@ -1,3 +0,0 @@
1
- import type { RenderType } from './log';
2
- export declare function findQueryName(key: string): string;
3
- export declare function parseUrl(type: RenderType, url: string): string;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseUrl = exports.findQueryName = void 0;
4
- function findQueryName(key) {
5
- const decodeKey = decodeURIComponent(key);
6
- if (key.length < 100) {
7
- return key.replace('"__QUERY_CACHE_ID__"', '').replace(/"/g, '');
8
- }
9
- const match = decodeKey.match(/query ([^\s()]*)\s?(|\(\{)/);
10
- if (match && match.length > 1) {
11
- return match[1];
12
- }
13
- return '<unknown>';
14
- }
15
- exports.findQueryName = findQueryName;
16
- function parseUrl(type, url) {
17
- return type === 'rsc'
18
- ? decodeURIComponent(url.substring(url.indexOf('=') + 1))
19
- : url;
20
- }
21
- exports.parseUrl = parseUrl;
@@ -1,10 +0,0 @@
1
- import { TokensToRegexpOptions } from 'path-to-regexp';
2
- interface MatchPathOptions extends TokensToRegexpOptions {
3
- path?: string;
4
- exact?: boolean;
5
- }
6
- /**
7
- * Public API for matching a URL pathname to a path.
8
- */
9
- export declare function matchPath(pathname: string, options?: MatchPathOptions): any;
10
- export {};
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.matchPath = void 0;
4
- const path_to_regexp_1 = require("path-to-regexp");
5
- // Modified from React Router v5
6
- // https://github.com/remix-run/react-router/blob/v5/packages/react-router/modules/matchPath.js
7
- const cache = {};
8
- const cacheLimit = 10000;
9
- let cacheCount = 0;
10
- function compilePath(path, options) {
11
- const cacheKey = `${options.end}${options.strict}${options.sensitive}`;
12
- const pathCache = cache[cacheKey] || (cache[cacheKey] = {});
13
- if (pathCache[path])
14
- return pathCache[path];
15
- const keys = [];
16
- const regexp = (0, path_to_regexp_1.pathToRegexp)(path, keys, options);
17
- const result = { regexp, keys };
18
- if (cacheCount < cacheLimit) {
19
- pathCache[path] = result;
20
- cacheCount++;
21
- }
22
- return result;
23
- }
24
- /**
25
- * Public API for matching a URL pathname to a path.
26
- */
27
- function matchPath(pathname, options = {}) {
28
- const { path, exact = false, strict = false, sensitive = false } = options;
29
- const paths = [].concat(path);
30
- return paths.reduce((matched, path) => {
31
- if (!path && path !== '')
32
- return null;
33
- if (matched)
34
- return matched;
35
- const { regexp, keys } = compilePath(path, {
36
- end: exact,
37
- strict,
38
- sensitive,
39
- });
40
- const match = regexp.exec(pathname);
41
- if (!match)
42
- return null;
43
- const [url, ...values] = match;
44
- const isExact = pathname === url;
45
- if (exact && !isExact)
46
- return null;
47
- return {
48
- path,
49
- url: path === '/' && url === '' ? '/' : url,
50
- isExact,
51
- params: keys.reduce((memo, key, index) => {
52
- memo[key.name] = values[index];
53
- return memo;
54
- }, {}),
55
- };
56
- }, null);
57
- }
58
- exports.matchPath = matchPath;
@@ -1,3 +0,0 @@
1
- import { Measurement } from '../types';
2
- export declare function getMeasurementAsString(measurement: Measurement, locale?: string, options?: Intl.NumberFormatOptions): string;
3
- export declare function getMeasurementAsParts(measurement: Measurement, locale?: string, options?: Intl.NumberFormatOptions): Intl.NumberFormatPart[];