@ohos-ports/shopify 4.8.0-beta.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 (606) hide show
  1. package/README.md +75 -0
  2. package/bin/run.cmd +3 -0
  3. package/bin/run.js +11 -0
  4. package/dist/acorn-7M27BPGP.js +16 -0
  5. package/dist/analytics-3IIUBZ3B.js +1 -0
  6. package/dist/analytics-OOT5AB52.js +1 -0
  7. package/dist/angular-DW5TQVCM.js +4 -0
  8. package/dist/assets/graphiql/favicon.ico +0 -0
  9. package/dist/assets/graphiql/style.css +58 -0
  10. package/dist/assets/hydrogen/bundle/analyzer.html +2056 -0
  11. package/dist/assets/hydrogen/i18n/domains.ts +21 -0
  12. package/dist/assets/hydrogen/i18n/mock-i18n-types.ts +5 -0
  13. package/dist/assets/hydrogen/i18n/subdomains.ts +20 -0
  14. package/dist/assets/hydrogen/i18n/subfolders.ts +22 -0
  15. package/dist/assets/hydrogen/routes/locale-check.ts +16 -0
  16. package/dist/assets/hydrogen/starter/.cursor/rules/hydrogen-react-router.mdc +52 -0
  17. package/dist/assets/hydrogen/starter/.graphqlrc.ts +29 -0
  18. package/dist/assets/hydrogen/starter/AGENTS.md +5 -0
  19. package/dist/assets/hydrogen/starter/CHANGELOG.md +2839 -0
  20. package/dist/assets/hydrogen/starter/CLAUDE.md +1 -0
  21. package/dist/assets/hydrogen/starter/README.md +45 -0
  22. package/dist/assets/hydrogen/starter/app/assets/favicon.svg +28 -0
  23. package/dist/assets/hydrogen/starter/app/components/AddToCartButton.tsx +37 -0
  24. package/dist/assets/hydrogen/starter/app/components/Aside.tsx +101 -0
  25. package/dist/assets/hydrogen/starter/app/components/CartLineItem.tsx +197 -0
  26. package/dist/assets/hydrogen/starter/app/components/CartMain.tsx +109 -0
  27. package/dist/assets/hydrogen/starter/app/components/CartSummary.tsx +300 -0
  28. package/dist/assets/hydrogen/starter/app/components/Footer.tsx +129 -0
  29. package/dist/assets/hydrogen/starter/app/components/Header.tsx +231 -0
  30. package/dist/assets/hydrogen/starter/app/components/MockShopNotice.tsx +20 -0
  31. package/dist/assets/hydrogen/starter/app/components/PageLayout.tsx +174 -0
  32. package/dist/assets/hydrogen/starter/app/components/PaginatedResourceSection.tsx +61 -0
  33. package/dist/assets/hydrogen/starter/app/components/ProductForm.tsx +150 -0
  34. package/dist/assets/hydrogen/starter/app/components/ProductImage.tsx +23 -0
  35. package/dist/assets/hydrogen/starter/app/components/ProductItem.tsx +44 -0
  36. package/dist/assets/hydrogen/starter/app/components/ProductPrice.tsx +27 -0
  37. package/dist/assets/hydrogen/starter/app/components/SearchForm.tsx +68 -0
  38. package/dist/assets/hydrogen/starter/app/components/SearchFormPredictive.tsx +76 -0
  39. package/dist/assets/hydrogen/starter/app/components/SearchResults.tsx +161 -0
  40. package/dist/assets/hydrogen/starter/app/components/SearchResultsPredictive.tsx +304 -0
  41. package/dist/assets/hydrogen/starter/app/entry.client.tsx +21 -0
  42. package/dist/assets/hydrogen/starter/app/entry.server.tsx +53 -0
  43. package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerAddressMutations.ts +64 -0
  44. package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerDetailsQuery.ts +40 -0
  45. package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerOrderQuery.ts +90 -0
  46. package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerOrdersQuery.ts +63 -0
  47. package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerUpdateMutation.ts +25 -0
  48. package/dist/assets/hydrogen/starter/app/lib/context.ts +65 -0
  49. package/dist/assets/hydrogen/starter/app/lib/fragments.ts +242 -0
  50. package/dist/assets/hydrogen/starter/app/lib/orderFilters.ts +90 -0
  51. package/dist/assets/hydrogen/starter/app/lib/redirect.ts +23 -0
  52. package/dist/assets/hydrogen/starter/app/lib/search.ts +79 -0
  53. package/dist/assets/hydrogen/starter/app/lib/session.ts +72 -0
  54. package/dist/assets/hydrogen/starter/app/lib/variants.ts +46 -0
  55. package/dist/assets/hydrogen/starter/app/root.tsx +209 -0
  56. package/dist/assets/hydrogen/starter/app/routes/$.tsx +11 -0
  57. package/dist/assets/hydrogen/starter/app/routes/[robots.txt].tsx +78 -0
  58. package/dist/assets/hydrogen/starter/app/routes/[sitemap.xml].tsx +16 -0
  59. package/dist/assets/hydrogen/starter/app/routes/_index.tsx +177 -0
  60. package/dist/assets/hydrogen/starter/app/routes/account.$.tsx +9 -0
  61. package/dist/assets/hydrogen/starter/app/routes/account._index.tsx +5 -0
  62. package/dist/assets/hydrogen/starter/app/routes/account.addresses.tsx +516 -0
  63. package/dist/assets/hydrogen/starter/app/routes/account.orders.$id.tsx +222 -0
  64. package/dist/assets/hydrogen/starter/app/routes/account.orders._index.tsx +222 -0
  65. package/dist/assets/hydrogen/starter/app/routes/account.profile.tsx +133 -0
  66. package/dist/assets/hydrogen/starter/app/routes/account.tsx +97 -0
  67. package/dist/assets/hydrogen/starter/app/routes/account_.authorize.tsx +5 -0
  68. package/dist/assets/hydrogen/starter/app/routes/account_.login.tsx +17 -0
  69. package/dist/assets/hydrogen/starter/app/routes/account_.logout.tsx +11 -0
  70. package/dist/assets/hydrogen/starter/app/routes/blogs.$blogHandle.$articleHandle.tsx +129 -0
  71. package/dist/assets/hydrogen/starter/app/routes/blogs.$blogHandle._index.tsx +175 -0
  72. package/dist/assets/hydrogen/starter/app/routes/blogs._index.tsx +109 -0
  73. package/dist/assets/hydrogen/starter/app/routes/cart.$lines.tsx +70 -0
  74. package/dist/assets/hydrogen/starter/app/routes/cart.tsx +113 -0
  75. package/dist/assets/hydrogen/starter/app/routes/collections.$handle.tsx +161 -0
  76. package/dist/assets/hydrogen/starter/app/routes/collections._index.tsx +133 -0
  77. package/dist/assets/hydrogen/starter/app/routes/collections.all.tsx +122 -0
  78. package/dist/assets/hydrogen/starter/app/routes/discount.$code.tsx +48 -0
  79. package/dist/assets/hydrogen/starter/app/routes/pages.$handle.tsx +88 -0
  80. package/dist/assets/hydrogen/starter/app/routes/policies.$handle.tsx +93 -0
  81. package/dist/assets/hydrogen/starter/app/routes/policies._index.tsx +69 -0
  82. package/dist/assets/hydrogen/starter/app/routes/products.$handle.tsx +232 -0
  83. package/dist/assets/hydrogen/starter/app/routes/search.tsx +426 -0
  84. package/dist/assets/hydrogen/starter/app/routes/sitemap.$type.$page[.xml].tsx +23 -0
  85. package/dist/assets/hydrogen/starter/app/routes.ts +9 -0
  86. package/dist/assets/hydrogen/starter/app/styles/app.css +645 -0
  87. package/dist/assets/hydrogen/starter/app/styles/reset.css +139 -0
  88. package/dist/assets/hydrogen/starter/customer-accountapi.generated.d.ts +543 -0
  89. package/dist/assets/hydrogen/starter/env.d.ts +7 -0
  90. package/dist/assets/hydrogen/starter/eslint.config.js +247 -0
  91. package/dist/assets/hydrogen/starter/guides/predictiveSearch/predictiveSearch.jpg +0 -0
  92. package/dist/assets/hydrogen/starter/guides/predictiveSearch/predictiveSearch.md +394 -0
  93. package/dist/assets/hydrogen/starter/guides/search/search.jpg +0 -0
  94. package/dist/assets/hydrogen/starter/guides/search/search.md +335 -0
  95. package/dist/assets/hydrogen/starter/package.json +62 -0
  96. package/dist/assets/hydrogen/starter/public/.gitkeep +0 -0
  97. package/dist/assets/hydrogen/starter/react-router.config.ts +13 -0
  98. package/dist/assets/hydrogen/starter/server.ts +59 -0
  99. package/dist/assets/hydrogen/starter/storefrontapi.generated.d.ts +1342 -0
  100. package/dist/assets/hydrogen/starter/tsconfig.json +43 -0
  101. package/dist/assets/hydrogen/starter/vite.config.ts +44 -0
  102. package/dist/assets/hydrogen/tailwind/package.json +11 -0
  103. package/dist/assets/hydrogen/tailwind/tailwind.css +6 -0
  104. package/dist/assets/hydrogen/vanilla-extract/package.json +8 -0
  105. package/dist/assets/hydrogen/virtual-routes/assets/debug-network.css +609 -0
  106. package/dist/assets/hydrogen/virtual-routes/assets/favicon-dark.svg +20 -0
  107. package/dist/assets/hydrogen/virtual-routes/assets/favicon.svg +28 -0
  108. package/dist/assets/hydrogen/virtual-routes/assets/inter-variable-font.woff2 +0 -0
  109. package/dist/assets/hydrogen/virtual-routes/assets/jetbrainsmono-variable-font.woff2 +0 -0
  110. package/dist/assets/hydrogen/virtual-routes/assets/styles.css +249 -0
  111. package/dist/assets/hydrogen/virtual-routes/components/FlameChartWrapper.jsx +123 -0
  112. package/dist/assets/hydrogen/virtual-routes/components/HydrogenLogoBaseBW.jsx +32 -0
  113. package/dist/assets/hydrogen/virtual-routes/components/HydrogenLogoBaseColor.jsx +47 -0
  114. package/dist/assets/hydrogen/virtual-routes/components/IconBanner.jsx +292 -0
  115. package/dist/assets/hydrogen/virtual-routes/components/IconClose.jsx +38 -0
  116. package/dist/assets/hydrogen/virtual-routes/components/IconDiscard.jsx +44 -0
  117. package/dist/assets/hydrogen/virtual-routes/components/IconError.jsx +61 -0
  118. package/dist/assets/hydrogen/virtual-routes/components/IconGithub.jsx +23 -0
  119. package/dist/assets/hydrogen/virtual-routes/components/IconTwitter.jsx +21 -0
  120. package/dist/assets/hydrogen/virtual-routes/components/Layout.jsx +7 -0
  121. package/dist/assets/hydrogen/virtual-routes/components/RequestDetails.jsx +171 -0
  122. package/dist/assets/hydrogen/virtual-routes/components/RequestTable.jsx +91 -0
  123. package/dist/assets/hydrogen/virtual-routes/components/RequestWaterfall.jsx +151 -0
  124. package/dist/assets/hydrogen/virtual-routes/layout.jsx +33 -0
  125. package/dist/assets/hydrogen/virtual-routes/lib/useDebugNetworkServer.jsx +178 -0
  126. package/dist/assets/hydrogen/virtual-routes/routes/[.]well-known.appspecific.com[.]chrome[.]devtools[.]json.jsx +37 -0
  127. package/dist/assets/hydrogen/virtual-routes/routes/graphiql.jsx +5 -0
  128. package/dist/assets/hydrogen/virtual-routes/routes/index.jsx +265 -0
  129. package/dist/assets/hydrogen/virtual-routes/routes/subrequest-profiler.jsx +243 -0
  130. package/dist/assets/hydrogen/virtual-routes/virtual-root-with-layout.jsx +63 -0
  131. package/dist/assets/hydrogen/virtual-routes/virtual-root.jsx +67 -0
  132. package/dist/assets/hydrogen/vite/package.json +13 -0
  133. package/dist/assets/hydrogen/vite/vite.config.js +43 -0
  134. package/dist/assets/speedscope/SourceCodePro-Regular.ttf.f546cbe0.woff2 +0 -0
  135. package/dist/assets/speedscope/demangle-cpp.1768f4cc.js +4 -0
  136. package/dist/assets/speedscope/favicon-16x16.f74b3187.png +0 -0
  137. package/dist/assets/speedscope/favicon-32x32.bc503437.png +0 -0
  138. package/dist/assets/speedscope/file-format-schema.json +324 -0
  139. package/dist/assets/speedscope/import.bcbb2033.js +123 -0
  140. package/dist/assets/speedscope/index.html +2 -0
  141. package/dist/assets/speedscope/perf-vertx-stacks-01-collapsed-all.2681da68.txt +199 -0
  142. package/dist/assets/speedscope/release.txt +3 -0
  143. package/dist/assets/speedscope/reset.8c46b7a1.css +2 -0
  144. package/dist/assets/speedscope/source-code-pro.52b1676f.css +2 -0
  145. package/dist/assets/speedscope/source-code-pro.LICENSE.md +93 -0
  146. package/dist/assets/speedscope/source-map.438fa06b.js +24 -0
  147. package/dist/assets/speedscope/speedscope.6f107512.js +193 -0
  148. package/dist/babel-I2RLWM7N.js +15 -0
  149. package/dist/bootstrap.d.ts +5 -0
  150. package/dist/bootstrap.js +3 -0
  151. package/dist/chokidar-5RWEYTNQ.js +1 -0
  152. package/dist/chunk-2AK44UYM.js +1 -0
  153. package/dist/chunk-2CIZE537.js +3 -0
  154. package/dist/chunk-2EAFYCCS.js +16 -0
  155. package/dist/chunk-2KD4LHRT.js +5 -0
  156. package/dist/chunk-2KGPH7YG.js +2 -0
  157. package/dist/chunk-2O224ZPO.js +3 -0
  158. package/dist/chunk-2XDUJQQN.js +12 -0
  159. package/dist/chunk-36ROOKQB.js +1 -0
  160. package/dist/chunk-3DCN3N23.js +4 -0
  161. package/dist/chunk-3JXPOOFV.js +836 -0
  162. package/dist/chunk-4QBJ5JBX.js +18 -0
  163. package/dist/chunk-4ZNV5YSL.js +1 -0
  164. package/dist/chunk-5HBIIYSK.js +1 -0
  165. package/dist/chunk-5L63PRJL.js +2 -0
  166. package/dist/chunk-5N6HNQQ5.js +8 -0
  167. package/dist/chunk-5SEEDOQ5.js +1 -0
  168. package/dist/chunk-636CTEW7.js +1 -0
  169. package/dist/chunk-67Z34HN5.js +5 -0
  170. package/dist/chunk-6BDAJ6UD.js +5 -0
  171. package/dist/chunk-6CXG3XLP.js +1 -0
  172. package/dist/chunk-6MWWJZFN.js +19 -0
  173. package/dist/chunk-6QDOCBD4.js +6 -0
  174. package/dist/chunk-6RQOEPEC.js +1 -0
  175. package/dist/chunk-72ZY3KTF.js +1 -0
  176. package/dist/chunk-742XXXGL.js +6 -0
  177. package/dist/chunk-773TIA5M.js +2 -0
  178. package/dist/chunk-7HFHL5SO.js +2 -0
  179. package/dist/chunk-7ISJRIPT.js +1 -0
  180. package/dist/chunk-7LWUHQIF.js +1 -0
  181. package/dist/chunk-7T6M7FAC.js +103 -0
  182. package/dist/chunk-7UNQOKZW.js +1 -0
  183. package/dist/chunk-7Y7AZRL3.js +10 -0
  184. package/dist/chunk-A6BMJISP.js +8 -0
  185. package/dist/chunk-AAK376RT.js +2 -0
  186. package/dist/chunk-AEUCDGTB.js +294 -0
  187. package/dist/chunk-AWUX36VG.js +1 -0
  188. package/dist/chunk-B4OMIONW.js +5 -0
  189. package/dist/chunk-BOAGJ6P5.js +1 -0
  190. package/dist/chunk-BWJIZYAG.js +1 -0
  191. package/dist/chunk-BZ73NV3L.js +2 -0
  192. package/dist/chunk-C3RUVXG2.js +6 -0
  193. package/dist/chunk-C4YLE3NS.js +64 -0
  194. package/dist/chunk-CEYIZC3M.js +2 -0
  195. package/dist/chunk-CIWKN4HF.js +7 -0
  196. package/dist/chunk-CRALWNNO.js +1 -0
  197. package/dist/chunk-CTNBSUVU.js +83 -0
  198. package/dist/chunk-CULTZLC4.js +1 -0
  199. package/dist/chunk-CX5CC6P5.js +1 -0
  200. package/dist/chunk-CX75OKZK.js +1 -0
  201. package/dist/chunk-DASVZTAX.js +359 -0
  202. package/dist/chunk-DPNZWBT5.js +1 -0
  203. package/dist/chunk-DX3JLOUA.js +4 -0
  204. package/dist/chunk-E55KS3GZ.js +1 -0
  205. package/dist/chunk-E5FXOLQO.js +17 -0
  206. package/dist/chunk-E6N4PZZR.js +7 -0
  207. package/dist/chunk-EB574SY6.js +6 -0
  208. package/dist/chunk-ET2CGROE.js +451 -0
  209. package/dist/chunk-EX5GVHGE.js +1 -0
  210. package/dist/chunk-F3NYCSXT.js +273 -0
  211. package/dist/chunk-F3TMLDLC.js +1 -0
  212. package/dist/chunk-F6X6OXXB.js +3 -0
  213. package/dist/chunk-FDBHQLFK.js +1 -0
  214. package/dist/chunk-FDYW3UQC.js +1 -0
  215. package/dist/chunk-FEDVVYK2.js +1 -0
  216. package/dist/chunk-FFSDGRAN.js +1 -0
  217. package/dist/chunk-FJ6F4XRV.js +28 -0
  218. package/dist/chunk-FKIVKNOV.js +2 -0
  219. package/dist/chunk-FOREMLFZ.js +1 -0
  220. package/dist/chunk-FUYDGK33.js +2 -0
  221. package/dist/chunk-FX3L344E.js +1 -0
  222. package/dist/chunk-G5XIGN5D.js +593 -0
  223. package/dist/chunk-GAYKYEIM.js +1 -0
  224. package/dist/chunk-GB3YC4TI.js +1 -0
  225. package/dist/chunk-GCN4O7HM.js +1 -0
  226. package/dist/chunk-GCY7LPEF.js +6 -0
  227. package/dist/chunk-GNBRCK7L.js +3 -0
  228. package/dist/chunk-GRPKF5ZB.js +1 -0
  229. package/dist/chunk-GRSF7456.js +1 -0
  230. package/dist/chunk-H2TQ4ODI.js +1 -0
  231. package/dist/chunk-H6XEESUN.js +4 -0
  232. package/dist/chunk-HB347DXT.js +2 -0
  233. package/dist/chunk-HFSCXTJQ.js +97 -0
  234. package/dist/chunk-HHN6KZXX.js +1 -0
  235. package/dist/chunk-HP64ZTEJ.js +6 -0
  236. package/dist/chunk-I5A6BPCP.js +1 -0
  237. package/dist/chunk-IARCMH7G.js +5 -0
  238. package/dist/chunk-IBI5UCJO.js +1 -0
  239. package/dist/chunk-IKUSLRGD.js +1 -0
  240. package/dist/chunk-IT4HYLTY.js +1 -0
  241. package/dist/chunk-IWOTLFOY.js +32 -0
  242. package/dist/chunk-J3JPJCWP.js +1 -0
  243. package/dist/chunk-J4T73EAS.js +8 -0
  244. package/dist/chunk-JD5P5RAJ.js +1 -0
  245. package/dist/chunk-JG4HH54Q.js +1 -0
  246. package/dist/chunk-JIYSCWCG.js +1 -0
  247. package/dist/chunk-JJZNUFPD.js +44 -0
  248. package/dist/chunk-JLGA3B7P.js +1 -0
  249. package/dist/chunk-JWRK5KLD.js +560 -0
  250. package/dist/chunk-JX7FYWPO.js +1 -0
  251. package/dist/chunk-K42WBNJQ.js +18 -0
  252. package/dist/chunk-KDU7VW3L.js +11 -0
  253. package/dist/chunk-KWVOJWO7.js +1 -0
  254. package/dist/chunk-LANUJ7LX.js +16 -0
  255. package/dist/chunk-LD6ZCTZ3.js +9 -0
  256. package/dist/chunk-LFOBYEWG.js +1 -0
  257. package/dist/chunk-LQ7ENG4V.js +1 -0
  258. package/dist/chunk-LUKQ5HLC.js +1 -0
  259. package/dist/chunk-M2XHIN57.js +4 -0
  260. package/dist/chunk-MNOQAXJW.js +3 -0
  261. package/dist/chunk-MPW2YJWU.js +31 -0
  262. package/dist/chunk-MYQUYU4U.js +2 -0
  263. package/dist/chunk-N65F7ET2.js +1 -0
  264. package/dist/chunk-N6RBRPGW.js +7 -0
  265. package/dist/chunk-N75VOJHO.js +15 -0
  266. package/dist/chunk-NBFMP5XQ.js +1 -0
  267. package/dist/chunk-NE3ZFSMS.js +1 -0
  268. package/dist/chunk-NGLMZYS7.js +278 -0
  269. package/dist/chunk-NHAUJWEG.js +1 -0
  270. package/dist/chunk-NILETICC.js +11 -0
  271. package/dist/chunk-NNZXKFOS.js +7 -0
  272. package/dist/chunk-NQK2VCDA.js +1 -0
  273. package/dist/chunk-NROVZETL.js +1 -0
  274. package/dist/chunk-NW6NUGN7.js +1 -0
  275. package/dist/chunk-O7DZXO3O.js +15 -0
  276. package/dist/chunk-OBYQSIYU.js +25 -0
  277. package/dist/chunk-OEG3N5PG.js +15 -0
  278. package/dist/chunk-OGBZTY2G.js +5 -0
  279. package/dist/chunk-OMHR423H.js +1 -0
  280. package/dist/chunk-OV6SRRXR.js +5 -0
  281. package/dist/chunk-OVV5YGKN.js +1 -0
  282. package/dist/chunk-OZL5FTT7.js +1 -0
  283. package/dist/chunk-OZMQ2EJB.js +1 -0
  284. package/dist/chunk-P2OI2P2M.js +1 -0
  285. package/dist/chunk-P57P7UAN.js +3 -0
  286. package/dist/chunk-PATTG7YZ.js +1 -0
  287. package/dist/chunk-PG5YNPJB.js +26 -0
  288. package/dist/chunk-PP4L2JJ6.js +3 -0
  289. package/dist/chunk-Q5JX23QU.js +1 -0
  290. package/dist/chunk-Q5KVMLBK.js +4 -0
  291. package/dist/chunk-Q5LIJGT7.js +12 -0
  292. package/dist/chunk-Q6ADIMJM.js +6 -0
  293. package/dist/chunk-Q7BOSHWX.js +7 -0
  294. package/dist/chunk-QERQARMC.js +1 -0
  295. package/dist/chunk-QOV43E26.js +1 -0
  296. package/dist/chunk-QTFUYKMF.js +1 -0
  297. package/dist/chunk-QTJCCOAG.js +20 -0
  298. package/dist/chunk-R6ICQT2D.js +1 -0
  299. package/dist/chunk-R7T3LYJL.js +3 -0
  300. package/dist/chunk-RJ5VF3QY.js +2 -0
  301. package/dist/chunk-RXQJCJDV.js +1 -0
  302. package/dist/chunk-S2TLBBSS.js +5 -0
  303. package/dist/chunk-S5FOQY35.js +1 -0
  304. package/dist/chunk-SYLHT42O.js +1 -0
  305. package/dist/chunk-T4AA6TSF.js +15 -0
  306. package/dist/chunk-T4QWK5GG.js +10 -0
  307. package/dist/chunk-T7KHS6RF.js +1 -0
  308. package/dist/chunk-T7PJDT5O.js +6 -0
  309. package/dist/chunk-TEY4LRY7.js +1 -0
  310. package/dist/chunk-TFBRVLDN.js +1 -0
  311. package/dist/chunk-TOLPNBZK.js +4 -0
  312. package/dist/chunk-TR4OWSEX.js +77 -0
  313. package/dist/chunk-TU47HMTL.js +1 -0
  314. package/dist/chunk-TUVDJ3PG.js +2 -0
  315. package/dist/chunk-TYMYIUIQ.js +1 -0
  316. package/dist/chunk-U2DWBZK2.js +1 -0
  317. package/dist/chunk-U53OLUOE.js +3 -0
  318. package/dist/chunk-UAETNFN4.js +1 -0
  319. package/dist/chunk-UAFEFKAQ.js +5 -0
  320. package/dist/chunk-ULRJDKWQ.js +1 -0
  321. package/dist/chunk-UOHNRH6E.js +7 -0
  322. package/dist/chunk-UZARYOLN.js +1 -0
  323. package/dist/chunk-VASGXHYA.js +1 -0
  324. package/dist/chunk-VD4XJ6BX.js +1 -0
  325. package/dist/chunk-VE35YELD.js +1 -0
  326. package/dist/chunk-VFM2KQRM.js +19 -0
  327. package/dist/chunk-VJEKDBGZ.js +1 -0
  328. package/dist/chunk-VKWPEFWQ.js +1 -0
  329. package/dist/chunk-VSDRNYA5.js +1 -0
  330. package/dist/chunk-VUMUCNI7.js +1 -0
  331. package/dist/chunk-VVZSYHDG.js +4 -0
  332. package/dist/chunk-VXEYO3ZP.js +1 -0
  333. package/dist/chunk-VYDSOAV4.js +9 -0
  334. package/dist/chunk-W6ST525S.js +99 -0
  335. package/dist/chunk-WBYAGS6B.js +6 -0
  336. package/dist/chunk-WGAFCKGD.js +1 -0
  337. package/dist/chunk-WYBTC356.js +1 -0
  338. package/dist/chunk-XF2KTEID.js +1 -0
  339. package/dist/chunk-XH5YGJQR.js +1 -0
  340. package/dist/chunk-XHKWITLA.js +1705 -0
  341. package/dist/chunk-XOCB4KNX.js +2 -0
  342. package/dist/chunk-XUUAKGEX.js +1 -0
  343. package/dist/chunk-XUYVJEZG.js +3 -0
  344. package/dist/chunk-Y47C3LSX.js +3 -0
  345. package/dist/chunk-Y5PRPHLQ.js +6 -0
  346. package/dist/chunk-YD2VQEN5.js +1 -0
  347. package/dist/chunk-YESGYUEL.js +1 -0
  348. package/dist/chunk-YEVGLC5X.js +1 -0
  349. package/dist/chunk-YFINLODF.js +375 -0
  350. package/dist/chunk-YKL3BLWC.js +46 -0
  351. package/dist/chunk-YLQ3LNNY.js +99 -0
  352. package/dist/chunk-YLXPYXQP.js +1 -0
  353. package/dist/chunk-YNDIZCD2.js +7 -0
  354. package/dist/chunk-YPWHD3NL.js +1 -0
  355. package/dist/chunk-YSAFHVV6.js +8 -0
  356. package/dist/chunk-YY6TFARF.js +1 -0
  357. package/dist/chunk-YZMY2CTU.js +10 -0
  358. package/dist/chunk-Z4AFEO36.js +1 -0
  359. package/dist/chunk-Z5WPP6ME.js +1 -0
  360. package/dist/chunk-Z65E4UAP.js +1 -0
  361. package/dist/chunk-ZDF5N422.js +1 -0
  362. package/dist/chunk-ZDRIQC7O.js +1 -0
  363. package/dist/chunk-ZH44BDUR.js +5 -0
  364. package/dist/chunk-ZI7LK3LW.js +11 -0
  365. package/dist/chunk-ZL5LU4U2.js +32 -0
  366. package/dist/chunk-ZYX7UHCQ.js +1 -0
  367. package/dist/chunk-ZZRFG6ME.js +317 -0
  368. package/dist/cli/commands/app/app-logs/sources.js +1 -0
  369. package/dist/cli/commands/app/build.js +1 -0
  370. package/dist/cli/commands/app/bulk/cancel.js +1 -0
  371. package/dist/cli/commands/app/bulk/execute.js +1 -0
  372. package/dist/cli/commands/app/bulk/status.js +1 -0
  373. package/dist/cli/commands/app/config/link.js +1 -0
  374. package/dist/cli/commands/app/config/pull.js +1 -0
  375. package/dist/cli/commands/app/config/use.js +1 -0
  376. package/dist/cli/commands/app/config/validate.js +1 -0
  377. package/dist/cli/commands/app/demo/watcher.js +1 -0
  378. package/dist/cli/commands/app/deploy.js +1 -0
  379. package/dist/cli/commands/app/dev/clean.js +1 -0
  380. package/dist/cli/commands/app/dev.js +1 -0
  381. package/dist/cli/commands/app/doctor/instructions.js +1 -0
  382. package/dist/cli/commands/app/doctor.js +1 -0
  383. package/dist/cli/commands/app/env/pull.js +1 -0
  384. package/dist/cli/commands/app/env/show.js +1 -0
  385. package/dist/cli/commands/app/execute.js +1 -0
  386. package/dist/cli/commands/app/function/build.js +1 -0
  387. package/dist/cli/commands/app/function/info.js +1 -0
  388. package/dist/cli/commands/app/function/replay.js +1 -0
  389. package/dist/cli/commands/app/function/run.js +1 -0
  390. package/dist/cli/commands/app/function/schema.js +1 -0
  391. package/dist/cli/commands/app/function/typegen.js +1 -0
  392. package/dist/cli/commands/app/generate/extension.js +1 -0
  393. package/dist/cli/commands/app/graphiql.js +1 -0
  394. package/dist/cli/commands/app/import-custom-data-definitions.js +1 -0
  395. package/dist/cli/commands/app/import-extensions.js +1 -0
  396. package/dist/cli/commands/app/info.js +1 -0
  397. package/dist/cli/commands/app/init.js +1 -0
  398. package/dist/cli/commands/app/logs.js +1 -0
  399. package/dist/cli/commands/app/release.js +1 -0
  400. package/dist/cli/commands/app/subscription-migrations/cancel.js +1 -0
  401. package/dist/cli/commands/app/subscription-migrations/list.js +1 -0
  402. package/dist/cli/commands/app/subscription-migrations/schedule.js +1 -0
  403. package/dist/cli/commands/app/subscription-migrations/status.js +1 -0
  404. package/dist/cli/commands/app/subscription-migrations/unschedule.js +1 -0
  405. package/dist/cli/commands/app/versions/list.js +1 -0
  406. package/dist/cli/commands/app/webhook/trigger.js +1 -0
  407. package/dist/cli/commands/auth/login.d.ts +8 -0
  408. package/dist/cli/commands/auth/login.js +1 -0
  409. package/dist/cli/commands/auth/logout.d.ts +5 -0
  410. package/dist/cli/commands/auth/logout.js +1 -0
  411. package/dist/cli/commands/cache/clear.d.ts +6 -0
  412. package/dist/cli/commands/cache/clear.js +1 -0
  413. package/dist/cli/commands/config/autoupgrade/constants.d.ts +4 -0
  414. package/dist/cli/commands/config/autoupgrade/constants.js +1 -0
  415. package/dist/cli/commands/config/autoupgrade/off.d.ts +7 -0
  416. package/dist/cli/commands/config/autoupgrade/off.js +1 -0
  417. package/dist/cli/commands/config/autoupgrade/on.d.ts +7 -0
  418. package/dist/cli/commands/config/autoupgrade/on.js +1 -0
  419. package/dist/cli/commands/config/autoupgrade/status.d.ts +7 -0
  420. package/dist/cli/commands/config/autoupgrade/status.js +1 -0
  421. package/dist/cli/commands/debug/command-flags.d.ts +9 -0
  422. package/dist/cli/commands/debug/command-flags.js +1 -0
  423. package/dist/cli/commands/doc/fetch.d.ts +12 -0
  424. package/dist/cli/commands/doc/fetch.js +1 -0
  425. package/dist/cli/commands/doc/search.d.ts +13 -0
  426. package/dist/cli/commands/doc/search.js +1 -0
  427. package/dist/cli/commands/docs/generate.d.ts +21 -0
  428. package/dist/cli/commands/docs/generate.js +1 -0
  429. package/dist/cli/commands/doctor-release/doctor-release.d.ts +6 -0
  430. package/dist/cli/commands/doctor-release/doctor-release.js +1 -0
  431. package/dist/cli/commands/doctor-release/theme/index.d.ts +14 -0
  432. package/dist/cli/commands/doctor-release/theme/index.js +1 -0
  433. package/dist/cli/commands/help.d.ts +13 -0
  434. package/dist/cli/commands/help.js +1 -0
  435. package/dist/cli/commands/kitchen-sink/async.d.ts +11 -0
  436. package/dist/cli/commands/kitchen-sink/async.js +1 -0
  437. package/dist/cli/commands/kitchen-sink/index.d.ts +12 -0
  438. package/dist/cli/commands/kitchen-sink/index.js +1 -0
  439. package/dist/cli/commands/kitchen-sink/prompts.d.ts +11 -0
  440. package/dist/cli/commands/kitchen-sink/prompts.js +1 -0
  441. package/dist/cli/commands/kitchen-sink/static.d.ts +11 -0
  442. package/dist/cli/commands/kitchen-sink/static.js +1 -0
  443. package/dist/cli/commands/notifications/generate.d.ts +6 -0
  444. package/dist/cli/commands/notifications/generate.js +1 -0
  445. package/dist/cli/commands/notifications/list.d.ts +9 -0
  446. package/dist/cli/commands/notifications/list.js +1 -0
  447. package/dist/cli/commands/organization/list.js +1 -0
  448. package/dist/cli/commands/search.d.ts +14 -0
  449. package/dist/cli/commands/search.js +1 -0
  450. package/dist/cli/commands/send-analytics.d.ts +5 -0
  451. package/dist/cli/commands/send-analytics.js +1 -0
  452. package/dist/cli/commands/theme/check.js +1 -0
  453. package/dist/cli/commands/theme/console.js +1 -0
  454. package/dist/cli/commands/theme/delete.js +1 -0
  455. package/dist/cli/commands/theme/dev.js +1 -0
  456. package/dist/cli/commands/theme/duplicate.js +1 -0
  457. package/dist/cli/commands/theme/info.js +1 -0
  458. package/dist/cli/commands/theme/init.js +1 -0
  459. package/dist/cli/commands/theme/language-server.js +1 -0
  460. package/dist/cli/commands/theme/list.js +1 -0
  461. package/dist/cli/commands/theme/metafields/pull.js +1 -0
  462. package/dist/cli/commands/theme/open.js +1 -0
  463. package/dist/cli/commands/theme/package.js +1 -0
  464. package/dist/cli/commands/theme/preview.js +1 -0
  465. package/dist/cli/commands/theme/profile.js +1 -0
  466. package/dist/cli/commands/theme/publish.js +1 -0
  467. package/dist/cli/commands/theme/pull.js +1 -0
  468. package/dist/cli/commands/theme/push.js +1 -0
  469. package/dist/cli/commands/theme/rename.js +1 -0
  470. package/dist/cli/commands/theme/share.js +1 -0
  471. package/dist/cli/commands/upgrade.d.ts +7 -0
  472. package/dist/cli/commands/upgrade.js +1 -0
  473. package/dist/cli/commands/version.d.ts +5 -0
  474. package/dist/cli/commands/version.js +1 -0
  475. package/dist/cli/help.d.ts +38 -0
  476. package/dist/cli/help.js +2 -0
  477. package/dist/cli/services/commands/doc/fetch.d.ts +1 -0
  478. package/dist/cli/services/commands/doc/fetch.js +45 -0
  479. package/dist/cli/services/commands/doc/search.d.ts +1 -0
  480. package/dist/cli/services/commands/doc/search.js +47 -0
  481. package/dist/cli/services/commands/notifications.d.ts +2 -0
  482. package/dist/cli/services/commands/notifications.js +106 -0
  483. package/dist/cli/services/commands/search.d.ts +1 -0
  484. package/dist/cli/services/commands/search.js +7 -0
  485. package/dist/cli/services/commands/version.d.ts +1 -0
  486. package/dist/cli/services/commands/version.js +6 -0
  487. package/dist/cli/services/doctor-release/context.d.ts +16 -0
  488. package/dist/cli/services/doctor-release/context.js +11 -0
  489. package/dist/cli/services/doctor-release/theme/runner.d.ts +7 -0
  490. package/dist/cli/services/doctor-release/theme/runner.js +37 -0
  491. package/dist/cli/services/doctor-release/theme/tests/init.d.ts +11 -0
  492. package/dist/cli/services/doctor-release/theme/tests/init.js +34 -0
  493. package/dist/cli/services/doctor-release/theme/tests/push.d.ts +10 -0
  494. package/dist/cli/services/doctor-release/theme/tests/push.js +44 -0
  495. package/dist/cli/services/kitchen-sink/async.d.ts +1 -0
  496. package/dist/cli/services/kitchen-sink/async.js +65 -0
  497. package/dist/cli/services/kitchen-sink/prompts.d.ts +1 -0
  498. package/dist/cli/services/kitchen-sink/prompts.js +168 -0
  499. package/dist/cli/services/kitchen-sink/static.d.ts +1 -0
  500. package/dist/cli/services/kitchen-sink/static.js +201 -0
  501. package/dist/command-registry.d.ts +8 -0
  502. package/dist/command-registry.js +1 -0
  503. package/dist/conf-store-ASDCTDQ4.js +1 -0
  504. package/dist/configs/all.yml +280 -0
  505. package/dist/configs/nothing.yml +3 -0
  506. package/dist/configs/recommended.yml +258 -0
  507. package/dist/configs/theme-app-extension.yml +24 -0
  508. package/dist/custom-oclif-loader-BWAMUFQ4.js +1 -0
  509. package/dist/data/app_block_entry.json +13 -0
  510. package/dist/data/default_setting_values.json +24 -0
  511. package/dist/data/filters.json +6177 -0
  512. package/dist/data/latest.json +2 -0
  513. package/dist/data/local_block_entry.json +25 -0
  514. package/dist/data/manifest_theme.json +19 -0
  515. package/dist/data/manifest_theme_app_extension.json +10 -0
  516. package/dist/data/objects.json +20621 -0
  517. package/dist/data/preset.json +72 -0
  518. package/dist/data/preset_blocks.json +91 -0
  519. package/dist/data/section.json +208 -0
  520. package/dist/data/setting.json +1538 -0
  521. package/dist/data/settings.json +10 -0
  522. package/dist/data/shopify_system_translations.json +2766 -0
  523. package/dist/data/tags.json +1276 -0
  524. package/dist/data/targetted_block_entry.json +15 -0
  525. package/dist/data/theme_block.json +91 -0
  526. package/dist/data/theme_block_entry.json +14 -0
  527. package/dist/data/theme_settings.json +83 -0
  528. package/dist/data/translations.json +63 -0
  529. package/dist/deprecations-VBQV7Q4O.js +1 -0
  530. package/dist/devtools-37DE4MUR.js +1 -0
  531. package/dist/devtools-WAWU5KQL.js +1 -0
  532. package/dist/dist-FZLOAKU7.js +1 -0
  533. package/dist/dist-HTY6UHG5.js +1 -0
  534. package/dist/environments-HSTNEQRG.js +1 -0
  535. package/dist/error-2LZYKRMA.js +1 -0
  536. package/dist/error-handler-PIGEJ7BT.js +1 -0
  537. package/dist/estree-JV5M77BA.js +44 -0
  538. package/dist/flow-N4JYPYMQ.js +20 -0
  539. package/dist/fs-BJHNJDDK.js +1 -0
  540. package/dist/glimmer-JEV3BXHR.js +37 -0
  541. package/dist/graphql-DTF6MHYF.js +28 -0
  542. package/dist/hooks/did-you-mean.d.ts +1 -0
  543. package/dist/hooks/did-you-mean.js +1 -0
  544. package/dist/hooks/hydrogen-init.d.ts +7 -0
  545. package/dist/hooks/hydrogen-init.js +1 -0
  546. package/dist/hooks/plugin-plugins.d.ts +1 -0
  547. package/dist/hooks/plugin-plugins.js +1 -0
  548. package/dist/hooks/postrun.d.ts +1 -0
  549. package/dist/hooks/postrun.js +1 -0
  550. package/dist/hooks/prerun.d.ts +1 -0
  551. package/dist/hooks/prerun.js +2 -0
  552. package/dist/hooks/public-metadata.d.ts +1 -0
  553. package/dist/hooks/public-metadata.js +1 -0
  554. package/dist/hooks/sensitive-metadata.d.ts +1 -0
  555. package/dist/hooks/sensitive-metadata.js +1 -0
  556. package/dist/hooks/tunnel-provider.d.ts +1 -0
  557. package/dist/hooks/tunnel-provider.js +1 -0
  558. package/dist/hooks/tunnel-start.d.ts +1 -0
  559. package/dist/hooks/tunnel-start.js +1 -0
  560. package/dist/html-LVOJ3RQS.js +25 -0
  561. package/dist/http-proxy-node16-A6AKKRQH.js +38 -0
  562. package/dist/index.d.ts +13 -0
  563. package/dist/index.js +120 -0
  564. package/dist/is-global-6SCOAJVG.js +1 -0
  565. package/dist/latest-version-LDWU5F7A.js +49 -0
  566. package/dist/lib-2BR2WN7L.js +1 -0
  567. package/dist/lib-M72BVWQ3.js +1 -0
  568. package/dist/lib-O5EZ4NVT.js +1 -0
  569. package/dist/lib-P3APEIHY.js +1 -0
  570. package/dist/local-PZWPRFU7.js +1 -0
  571. package/dist/markdown-J6CE6POI.js +62 -0
  572. package/dist/meriyah-PNQQZQYI.js +5 -0
  573. package/dist/metadata-VVBHB3HL.js +1 -0
  574. package/dist/morph-BMYYMQNX.js +30489 -0
  575. package/dist/multipart-parser-5NSSTW27.js +2 -0
  576. package/dist/node-package-manager-ETYQN7OM.js +1 -0
  577. package/dist/notifications-system-652OG5KL.js +1 -0
  578. package/dist/npa-A4YSCQ5Q.js +1 -0
  579. package/dist/open-KLSGXBIW.js +1 -0
  580. package/dist/os-7D6NT4O3.js +1 -0
  581. package/dist/out-53ABAVL7.js +1 -0
  582. package/dist/output-74VDGYJD.js +1 -0
  583. package/dist/path-MBXP7ZIC.js +1 -0
  584. package/dist/postcss-Q36SHOML.js +61 -0
  585. package/dist/prettier-EGVCP5CY.js +1 -0
  586. package/dist/source-map-E7FCCJL7.js +1 -0
  587. package/dist/system-P5QIJALL.js +1 -0
  588. package/dist/templates/ui-extensions/html/error.html.liquid +41 -0
  589. package/dist/templates/ui-extensions/html/post_purchase/index.html.liquid +44 -0
  590. package/dist/templates/ui-extensions/html/post_purchase/tunnel-error.html.liquid +41 -0
  591. package/dist/templates/ui-extensions/html/tunnel-error.html.liquid +55 -0
  592. package/dist/toml_patch_bg.wasm +0 -0
  593. package/dist/tsconfig.tsbuildinfo +1 -0
  594. package/dist/typescript-5R4Y7PXE.js +1 -0
  595. package/dist/typescript-WYPDGPSV.js +21 -0
  596. package/dist/ui-H5I5YVKV.js +1 -0
  597. package/dist/upgrade-34HSYBXI.js +1 -0
  598. package/dist/vendor/esbuild-ohos/lib/main.js +2538 -0
  599. package/dist/vendor/esbuild-ohos/package.json +7 -0
  600. package/dist/version-EKXEAF6Q.js +1 -0
  601. package/dist/version-J2PYO6M5.js +1 -0
  602. package/dist/workerd-X4TGHEG3.js +18 -0
  603. package/dist/yaml-6KWCJ64X.js +159 -0
  604. package/dist/yoga.wasm +0 -0
  605. package/oclif.manifest.json +10100 -0
  606. package/package.json +153 -0
@@ -0,0 +1,90 @@
1
+ // NOTE: https://shopify.dev/docs/api/customer/latest/queries/order
2
+ export const CUSTOMER_ORDER_QUERY = `#graphql
3
+ fragment OrderMoney on MoneyV2 {
4
+ amount
5
+ currencyCode
6
+ }
7
+ fragment DiscountApplication on DiscountApplication {
8
+ value {
9
+ __typename
10
+ ... on MoneyV2 {
11
+ ...OrderMoney
12
+ }
13
+ ... on PricingPercentageValue {
14
+ percentage
15
+ }
16
+ }
17
+ }
18
+ fragment OrderLineItemFull on LineItem {
19
+ id
20
+ title
21
+ quantity
22
+ price {
23
+ ...OrderMoney
24
+ }
25
+ discountAllocations {
26
+ allocatedAmount {
27
+ ...OrderMoney
28
+ }
29
+ discountApplication {
30
+ ...DiscountApplication
31
+ }
32
+ }
33
+ totalDiscount {
34
+ ...OrderMoney
35
+ }
36
+ image {
37
+ altText
38
+ height
39
+ url
40
+ id
41
+ width
42
+ }
43
+ variantTitle
44
+ }
45
+ fragment Order on Order {
46
+ id
47
+ name
48
+ confirmationNumber
49
+ statusPageUrl
50
+ fulfillmentStatus
51
+ processedAt
52
+ fulfillments(first: 1) {
53
+ nodes {
54
+ status
55
+ }
56
+ }
57
+ totalTax {
58
+ ...OrderMoney
59
+ }
60
+ totalPrice {
61
+ ...OrderMoney
62
+ }
63
+ subtotal {
64
+ ...OrderMoney
65
+ }
66
+ shippingAddress {
67
+ name
68
+ formatted(withName: true)
69
+ formattedArea
70
+ }
71
+ discountApplications(first: 100) {
72
+ nodes {
73
+ ...DiscountApplication
74
+ }
75
+ }
76
+ lineItems(first: 100) {
77
+ nodes {
78
+ ...OrderLineItemFull
79
+ }
80
+ }
81
+ }
82
+ query Order($orderId: ID!, $language: LanguageCode)
83
+ @inContext(language: $language) {
84
+ order(id: $orderId) {
85
+ ... on Order {
86
+ ...Order
87
+ }
88
+ }
89
+ }
90
+ ` as const;
@@ -0,0 +1,63 @@
1
+ // NOTE: https://shopify.dev/docs/api/customer/latest/objects/Order
2
+ export const ORDER_ITEM_FRAGMENT = `#graphql
3
+ fragment OrderItem on Order {
4
+ totalPrice {
5
+ amount
6
+ currencyCode
7
+ }
8
+ financialStatus
9
+ fulfillmentStatus
10
+ fulfillments(first: 1) {
11
+ nodes {
12
+ status
13
+ }
14
+ }
15
+ id
16
+ number
17
+ confirmationNumber
18
+ processedAt
19
+ }
20
+ ` as const;
21
+
22
+ // NOTE: https://shopify.dev/docs/api/customer/latest/objects/Customer
23
+ export const CUSTOMER_ORDERS_FRAGMENT = `#graphql
24
+ fragment CustomerOrders on Customer {
25
+ orders(
26
+ sortKey: PROCESSED_AT,
27
+ reverse: true,
28
+ first: $first,
29
+ last: $last,
30
+ before: $startCursor,
31
+ after: $endCursor,
32
+ query: $query
33
+ ) {
34
+ nodes {
35
+ ...OrderItem
36
+ }
37
+ pageInfo {
38
+ hasPreviousPage
39
+ hasNextPage
40
+ endCursor
41
+ startCursor
42
+ }
43
+ }
44
+ }
45
+ ${ORDER_ITEM_FRAGMENT}
46
+ ` as const;
47
+
48
+ // NOTE: https://shopify.dev/docs/api/customer/latest/queries/customer
49
+ export const CUSTOMER_ORDERS_QUERY = `#graphql
50
+ ${CUSTOMER_ORDERS_FRAGMENT}
51
+ query CustomerOrders(
52
+ $endCursor: String
53
+ $first: Int
54
+ $last: Int
55
+ $startCursor: String
56
+ $query: String
57
+ $language: LanguageCode
58
+ ) @inContext(language: $language) {
59
+ customer {
60
+ ...CustomerOrders
61
+ }
62
+ }
63
+ ` as const;
@@ -0,0 +1,25 @@
1
+ // NOTE: https://shopify.dev/docs/api/customer/latest/mutations/customerUpdate
2
+ export const CUSTOMER_UPDATE_MUTATION = `#graphql
3
+ mutation customerUpdate(
4
+ $customer: CustomerUpdateInput!
5
+ $language: LanguageCode
6
+ ) @inContext(language: $language) {
7
+ customerUpdate(input: $customer) {
8
+ customer {
9
+ firstName
10
+ lastName
11
+ emailAddress {
12
+ emailAddress
13
+ }
14
+ phoneNumber {
15
+ phoneNumber
16
+ }
17
+ }
18
+ userErrors {
19
+ code
20
+ field
21
+ message
22
+ }
23
+ }
24
+ }
25
+ ` as const;
@@ -0,0 +1,65 @@
1
+ import {createHydrogenContext} from '@shopify/hydrogen';
2
+ import {AppSession} from '~/lib/session';
3
+ import {CART_QUERY_FRAGMENT} from '~/lib/fragments';
4
+ import type {CartApiQueryFragment} from 'storefrontapi.generated';
5
+
6
+ // Define the additional context object
7
+ const additionalContext = {
8
+ // Additional context for custom properties, CMS clients, 3P SDKs, etc.
9
+ // These will be available as both context.propertyName and context.get(propertyContext)
10
+ // Example of complex objects that could be added:
11
+ // cms: await createCMSClient(env),
12
+ // reviews: await createReviewsClient(env),
13
+ } as const;
14
+
15
+ // Automatically augment HydrogenAdditionalContext with the additional context type
16
+ type AdditionalContextType = typeof additionalContext;
17
+
18
+ declare global {
19
+ interface HydrogenAdditionalContext extends AdditionalContextType {}
20
+
21
+ // Augment HydrogenCustomCartFragment with the codegen'd cart fragment type so
22
+ // that context.cart.get() and all cart mutations return the extended cart type.
23
+ interface HydrogenCustomCartFragment extends CartApiQueryFragment {}
24
+ }
25
+
26
+ /**
27
+ * Creates Hydrogen context for React Router 7.9.x
28
+ * Returns HydrogenRouterContextProvider with hybrid access patterns
29
+ * */
30
+ export async function createHydrogenRouterContext(
31
+ request: Request,
32
+ env: Env,
33
+ executionContext: ExecutionContext,
34
+ ) {
35
+ /**
36
+ * Open a cache instance in the worker and a custom session instance.
37
+ */
38
+ if (!env?.SESSION_SECRET) {
39
+ throw new Error('SESSION_SECRET environment variable is not set');
40
+ }
41
+
42
+ const waitUntil = executionContext.waitUntil.bind(executionContext);
43
+ const [cache, session] = await Promise.all([
44
+ caches.open('hydrogen'),
45
+ AppSession.init(request, [env.SESSION_SECRET]),
46
+ ]);
47
+
48
+ const hydrogenContext = createHydrogenContext(
49
+ {
50
+ env,
51
+ request,
52
+ cache,
53
+ waitUntil,
54
+ session,
55
+ // Or detect from URL path based on locale subpath, cookies, or any other strategy
56
+ i18n: {language: 'EN', country: 'US'},
57
+ cart: {
58
+ queryFragment: CART_QUERY_FRAGMENT,
59
+ },
60
+ },
61
+ additionalContext,
62
+ );
63
+
64
+ return hydrogenContext;
65
+ }
@@ -0,0 +1,242 @@
1
+ // NOTE: https://shopify.dev/docs/api/storefront/latest/queries/cart
2
+ export const CART_QUERY_FRAGMENT = `#graphql
3
+ fragment Money on MoneyV2 {
4
+ currencyCode
5
+ amount
6
+ }
7
+ fragment CartLine on CartLine {
8
+ id
9
+ quantity
10
+ attributes {
11
+ key
12
+ value
13
+ }
14
+ cost {
15
+ totalAmount {
16
+ ...Money
17
+ }
18
+ amountPerQuantity {
19
+ ...Money
20
+ }
21
+ compareAtAmountPerQuantity {
22
+ ...Money
23
+ }
24
+ }
25
+ merchandise {
26
+ ... on ProductVariant {
27
+ id
28
+ availableForSale
29
+ compareAtPrice {
30
+ ...Money
31
+ }
32
+ price {
33
+ ...Money
34
+ }
35
+ requiresShipping
36
+ title
37
+ image {
38
+ id
39
+ url
40
+ altText
41
+ width
42
+ height
43
+
44
+ }
45
+ product {
46
+ handle
47
+ title
48
+ id
49
+ vendor
50
+ }
51
+ selectedOptions {
52
+ name
53
+ value
54
+ }
55
+ }
56
+ }
57
+ parentRelationship {
58
+ parent {
59
+ id
60
+ }
61
+ }
62
+ }
63
+ fragment CartLineComponent on ComponentizableCartLine {
64
+ id
65
+ quantity
66
+ attributes {
67
+ key
68
+ value
69
+ }
70
+ cost {
71
+ totalAmount {
72
+ ...Money
73
+ }
74
+ amountPerQuantity {
75
+ ...Money
76
+ }
77
+ compareAtAmountPerQuantity {
78
+ ...Money
79
+ }
80
+ }
81
+ merchandise {
82
+ ... on ProductVariant {
83
+ id
84
+ availableForSale
85
+ compareAtPrice {
86
+ ...Money
87
+ }
88
+ price {
89
+ ...Money
90
+ }
91
+ requiresShipping
92
+ title
93
+ image {
94
+ id
95
+ url
96
+ altText
97
+ width
98
+ height
99
+ }
100
+ product {
101
+ handle
102
+ title
103
+ id
104
+ vendor
105
+ }
106
+ selectedOptions {
107
+ name
108
+ value
109
+ }
110
+ }
111
+ }
112
+ lineComponents {
113
+ ...CartLine
114
+ }
115
+ }
116
+ fragment CartApiQuery on Cart {
117
+ updatedAt
118
+ id
119
+ appliedGiftCards {
120
+ id
121
+ lastCharacters
122
+ amountUsed {
123
+ ...Money
124
+ }
125
+ }
126
+ checkoutUrl
127
+ totalQuantity
128
+ buyerIdentity {
129
+ countryCode
130
+ customer {
131
+ id
132
+ email
133
+ firstName
134
+ lastName
135
+ displayName
136
+ }
137
+ email
138
+ phone
139
+ }
140
+ lines(first: $numCartLines) {
141
+ nodes {
142
+ ...CartLine
143
+ }
144
+ nodes {
145
+ ...CartLineComponent
146
+ }
147
+ }
148
+ cost {
149
+ subtotalAmount {
150
+ ...Money
151
+ }
152
+ totalAmount {
153
+ ...Money
154
+ }
155
+ totalDutyAmount {
156
+ ...Money
157
+ }
158
+ totalTaxAmount {
159
+ ...Money
160
+ }
161
+ }
162
+ note
163
+ attributes {
164
+ key
165
+ value
166
+ }
167
+ discountCodes {
168
+ code
169
+ applicable
170
+ }
171
+ }
172
+ ` as const;
173
+
174
+ const MENU_FRAGMENT = `#graphql
175
+ fragment MenuItem on MenuItem {
176
+ id
177
+ resourceId
178
+ tags
179
+ title
180
+ type
181
+ url
182
+ }
183
+ fragment ChildMenuItem on MenuItem {
184
+ ...MenuItem
185
+ }
186
+ fragment ParentMenuItem on MenuItem {
187
+ ...MenuItem
188
+ items {
189
+ ...ChildMenuItem
190
+ }
191
+ }
192
+ fragment Menu on Menu {
193
+ id
194
+ items {
195
+ ...ParentMenuItem
196
+ }
197
+ }
198
+ ` as const;
199
+
200
+ export const HEADER_QUERY = `#graphql
201
+ fragment Shop on Shop {
202
+ id
203
+ name
204
+ description
205
+ primaryDomain {
206
+ url
207
+ }
208
+ brand {
209
+ logo {
210
+ image {
211
+ url
212
+ }
213
+ }
214
+ }
215
+ }
216
+ query Header(
217
+ $country: CountryCode
218
+ $headerMenuHandle: String!
219
+ $language: LanguageCode
220
+ ) @inContext(language: $language, country: $country) {
221
+ shop {
222
+ ...Shop
223
+ }
224
+ menu(handle: $headerMenuHandle) {
225
+ ...Menu
226
+ }
227
+ }
228
+ ${MENU_FRAGMENT}
229
+ ` as const;
230
+
231
+ export const FOOTER_QUERY = `#graphql
232
+ query Footer(
233
+ $country: CountryCode
234
+ $footerMenuHandle: String!
235
+ $language: LanguageCode
236
+ ) @inContext(language: $language, country: $country) {
237
+ menu(handle: $footerMenuHandle) {
238
+ ...Menu
239
+ }
240
+ }
241
+ ${MENU_FRAGMENT}
242
+ ` as const;
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Field name constants for order filtering
3
+ */
4
+ export const ORDER_FILTER_FIELDS = {
5
+ NAME: 'name',
6
+ CONFIRMATION_NUMBER: 'confirmation_number',
7
+ } as const;
8
+
9
+ /**
10
+ * Parameters for filtering customer orders, see: https://shopify.dev/docs/api/customer/latest/queries/customer#returns-Customer.fields.orders.arguments.query
11
+ */
12
+ export interface OrderFilterParams {
13
+ /** Order name or number (e.g., "#1001" or "1001") */
14
+ name?: string;
15
+ /** Order confirmation number */
16
+ confirmationNumber?: string;
17
+ }
18
+
19
+ /**
20
+ * Sanitizes a filter value to prevent injection attacks or malformed queries.
21
+ * Allows only alphanumeric characters, underscore, and dash.
22
+ * @param value - The input string to sanitize
23
+ * @returns The sanitized string
24
+ */
25
+ function sanitizeFilterValue(value: string): string {
26
+ // Only allow alphanumeric, underscore, and dash
27
+ // Remove anything else to prevent injection
28
+ return value.replace(/[^a-zA-Z0-9_\-]/g, '');
29
+ }
30
+
31
+ /**
32
+ * Builds a query string for filtering customer orders using the Customer Account API
33
+ * @param filters - The filter parameters
34
+ * @returns A formatted query string for the GraphQL query parameter, or undefined if no filters
35
+ * @example
36
+ * buildOrderSearchQuery(\{ name: '1001' \}) // returns "name:1001"
37
+ * buildOrderSearchQuery(\{ name: '1001', confirmationNumber: 'ABC123' \}) // returns "name:1001 AND confirmation_number:ABC123"
38
+ */
39
+ export function buildOrderSearchQuery(
40
+ filters: OrderFilterParams,
41
+ ): string | undefined {
42
+ const queryParts: string[] = [];
43
+
44
+ if (filters.name) {
45
+ // Remove # if present and trim
46
+ const cleanName = filters.name.replace(/^#/, '').trim();
47
+ const sanitizedName = sanitizeFilterValue(cleanName);
48
+ if (sanitizedName) {
49
+ queryParts.push(`name:${sanitizedName}`);
50
+ }
51
+ }
52
+
53
+ if (filters.confirmationNumber) {
54
+ const cleanConfirmation = filters.confirmationNumber.trim();
55
+ const sanitizedConfirmation = sanitizeFilterValue(cleanConfirmation);
56
+ if (sanitizedConfirmation) {
57
+ queryParts.push(`confirmation_number:${sanitizedConfirmation}`);
58
+ }
59
+ }
60
+
61
+ return queryParts.length > 0 ? queryParts.join(' AND ') : undefined;
62
+ }
63
+
64
+ /**
65
+ * Parses order filter parameters from URLSearchParams
66
+ * @param searchParams - The URL search parameters
67
+ * @returns Parsed filter parameters
68
+ * @example
69
+ * const url = new URL('https://example.com/orders?name=1001&confirmation_number=ABC123');
70
+ * parseOrderFilters(url.searchParams) // returns \{ name: '1001', confirmationNumber: 'ABC123' \}
71
+ */
72
+ export function parseOrderFilters(
73
+ searchParams: URLSearchParams,
74
+ ): OrderFilterParams {
75
+ const filters: OrderFilterParams = {};
76
+
77
+ const name = searchParams.get(ORDER_FILTER_FIELDS.NAME);
78
+ if (name) {
79
+ filters.name = name;
80
+ }
81
+
82
+ const confirmationNumber = searchParams.get(
83
+ ORDER_FILTER_FIELDS.CONFIRMATION_NUMBER,
84
+ );
85
+ if (confirmationNumber) {
86
+ filters.confirmationNumber = confirmationNumber;
87
+ }
88
+
89
+ return filters;
90
+ }
@@ -0,0 +1,23 @@
1
+ import {redirect} from 'react-router';
2
+
3
+ export function redirectIfHandleIsLocalized(
4
+ request: Request,
5
+ ...localizedResources: Array<{
6
+ handle: string;
7
+ data: {handle: string} & unknown;
8
+ }>
9
+ ) {
10
+ const url = new URL(request.url);
11
+ let shouldRedirect = false;
12
+
13
+ localizedResources.forEach(({handle, data}) => {
14
+ if (handle !== data.handle) {
15
+ url.pathname = url.pathname.replace(handle, data.handle);
16
+ shouldRedirect = true;
17
+ }
18
+ });
19
+
20
+ if (shouldRedirect) {
21
+ throw redirect(url.toString());
22
+ }
23
+ }
@@ -0,0 +1,79 @@
1
+ import type {
2
+ PredictiveSearchQuery,
3
+ RegularSearchQuery,
4
+ } from 'storefrontapi.generated';
5
+
6
+ type ResultWithItems<Type extends 'predictive' | 'regular', Items> = {
7
+ type: Type;
8
+ term: string;
9
+ error?: string;
10
+ result: {total: number; items: Items};
11
+ };
12
+
13
+ export type RegularSearchReturn = ResultWithItems<
14
+ 'regular',
15
+ RegularSearchQuery
16
+ >;
17
+ export type PredictiveSearchReturn = ResultWithItems<
18
+ 'predictive',
19
+ NonNullable<PredictiveSearchQuery['predictiveSearch']>
20
+ >;
21
+
22
+ /**
23
+ * Returns the empty state of a predictive search result to reset the search state.
24
+ */
25
+ export function getEmptyPredictiveSearchResult(): PredictiveSearchReturn['result'] {
26
+ return {
27
+ total: 0,
28
+ items: {
29
+ articles: [],
30
+ collections: [],
31
+ products: [],
32
+ pages: [],
33
+ queries: [],
34
+ },
35
+ };
36
+ }
37
+
38
+ interface UrlWithTrackingParams {
39
+ /** The base URL to which the tracking parameters will be appended. */
40
+ baseUrl: string;
41
+ /** The trackingParams returned by the Storefront API. */
42
+ trackingParams?: string | null;
43
+ /** Any additional query parameters to be appended to the URL. */
44
+ params?: Record<string, string>;
45
+ /** The search term to be appended to the URL. */
46
+ term: string;
47
+ }
48
+
49
+ /**
50
+ * A utility function that appends tracking parameters to a URL. Tracking parameters are
51
+ * used internally by Shopify to enhance search results and admin dashboards.
52
+ * @example
53
+ * ```ts
54
+ * const baseUrl = 'www.example.com';
55
+ * const trackingParams = 'utm_source=shopify&utm_medium=shopify_app&utm_campaign=storefront';
56
+ * const params = { foo: 'bar' };
57
+ * const term = 'search term';
58
+ * const url = urlWithTrackingParams({ baseUrl, trackingParams, params, term });
59
+ * console.log(url);
60
+ * // Output: 'https://www.example.com?foo=bar&q=search%20term&utm_source=shopify&utm_medium=shopify_app&utm_campaign=storefront'
61
+ * ```
62
+ */
63
+ export function urlWithTrackingParams({
64
+ baseUrl,
65
+ trackingParams,
66
+ params: extraParams,
67
+ term,
68
+ }: UrlWithTrackingParams) {
69
+ let search = new URLSearchParams({
70
+ ...extraParams,
71
+ q: encodeURIComponent(term),
72
+ }).toString();
73
+
74
+ if (trackingParams) {
75
+ search = `${search}&${trackingParams}`;
76
+ }
77
+
78
+ return `${baseUrl}?${search}`;
79
+ }