@shopify/cli 4.5.0 → 4.5.2

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 (283) hide show
  1. package/dist/{analytics-GAPN4I6R.js → analytics-M7ZU437S.js} +1 -1
  2. package/dist/{analytics-DMUNCDGT.js → analytics-ZRM4FEOE.js} +1 -1
  3. package/dist/assets/hydrogen/starter/CHANGELOG.md +8 -0
  4. package/dist/assets/hydrogen/starter/README.md +4 -4
  5. package/dist/assets/hydrogen/starter/package.json +1 -1
  6. package/dist/assets/hydrogen/starter/vite.config.ts +6 -0
  7. package/dist/bootstrap.js +1 -1
  8. package/dist/{chunk-WFB3FHKV.js → chunk-23LZNWB5.js} +1 -1
  9. package/dist/{chunk-LMPD55L6.js → chunk-2ACN7JIZ.js} +1 -1
  10. package/dist/{chunk-B367FOQA.js → chunk-2TJ6LOCC.js} +1 -1
  11. package/dist/{chunk-KUKYAIOR.js → chunk-34SINZ7L.js} +1 -1
  12. package/dist/{chunk-3OE5HXHO.js → chunk-35FS2NTM.js} +1 -1
  13. package/dist/{chunk-P3RGC53U.js → chunk-3EJGRQTH.js} +1 -1
  14. package/dist/{chunk-K2CIMJJW.js → chunk-3IFZECSI.js} +1 -1
  15. package/dist/{chunk-SF53RKMO.js → chunk-3OCR7P3S.js} +1 -1
  16. package/dist/{chunk-XXUWTD7A.js → chunk-42RVM4EZ.js} +1 -1
  17. package/dist/{chunk-KJQAJUDU.js → chunk-4MLEL3VK.js} +1 -1
  18. package/dist/{chunk-JGN7YG5X.js → chunk-4P54DKG4.js} +1 -1
  19. package/dist/chunk-4ROX2TCK.js +1 -0
  20. package/dist/{chunk-RY2ESY3P.js → chunk-4UJNCOE6.js} +1 -1
  21. package/dist/{chunk-2MZACB7V.js → chunk-4VJ5VBSR.js} +1 -1
  22. package/dist/{chunk-WU6GIY22.js → chunk-523SJVNT.js} +1 -1
  23. package/dist/{chunk-QCBAFI6Z.js → chunk-5CV7GFWZ.js} +1 -1
  24. package/dist/{chunk-6I3FNLT3.js → chunk-5GVE4ILZ.js} +1 -1
  25. package/dist/{chunk-GOAKZ2IL.js → chunk-5N7H4PJJ.js} +1 -1
  26. package/dist/{chunk-F447QKVX.js → chunk-5VC4XXYH.js} +1 -1
  27. package/dist/{chunk-NJLSZS27.js → chunk-5VRU3BT5.js} +1 -1
  28. package/dist/{chunk-K7I5BGFC.js → chunk-6AWRW3GS.js} +1 -1
  29. package/dist/{chunk-SY2AH7C2.js → chunk-6K4DVV37.js} +1 -1
  30. package/dist/{chunk-ZFOWAMFK.js → chunk-6VR22Z5R.js} +1 -1
  31. package/dist/{chunk-2IPVQRMI.js → chunk-6ZWMXMNM.js} +1 -1
  32. package/dist/{chunk-ICXHUPP5.js → chunk-75DBVSVI.js} +1 -1
  33. package/dist/{chunk-N5U5Q2MG.js → chunk-7AY6HLQG.js} +1 -1
  34. package/dist/{chunk-4LML2QWN.js → chunk-7AYYQUJG.js} +1 -1
  35. package/dist/{chunk-J5U2FUIX.js → chunk-7KWBVZPI.js} +1 -1
  36. package/dist/{chunk-2MDFREEW.js → chunk-7PVNAILK.js} +1 -1
  37. package/dist/{chunk-I3Y6XTKN.js → chunk-7RJPTSL6.js} +1 -1
  38. package/dist/{chunk-PH7F4BMG.js → chunk-7TQ6HVHN.js} +1 -1
  39. package/dist/{chunk-KZDI2BXR.js → chunk-AAK3WGD7.js} +1 -1
  40. package/dist/chunk-AATUQ2AY.js +278 -0
  41. package/dist/{chunk-WPITBIL5.js → chunk-ADKFAPED.js} +1 -1
  42. package/dist/{chunk-P4243GCY.js → chunk-ANH2V6DJ.js} +1 -1
  43. package/dist/{chunk-N4LCWB56.js → chunk-AUAUAK6P.js} +1 -1
  44. package/dist/chunk-B5MFFERE.js +1 -0
  45. package/dist/{chunk-DLZPP33V.js → chunk-BLSWUNOK.js} +1 -1
  46. package/dist/{chunk-QJL3SXYA.js → chunk-BQARKSGG.js} +1 -1
  47. package/dist/{chunk-24RF5KN3.js → chunk-BUVP2UUA.js} +1 -1
  48. package/dist/{chunk-2VUG6LRN.js → chunk-BVWQZKNK.js} +1 -1
  49. package/dist/{chunk-UQZ7HZ47.js → chunk-CEBDKIVH.js} +1 -1
  50. package/dist/{chunk-3JZKWK2V.js → chunk-CX44CQFL.js} +1 -1
  51. package/dist/{chunk-663TS34D.js → chunk-DELISRUH.js} +1 -1
  52. package/dist/{chunk-UFGDNIYX.js → chunk-DI5ZPWNA.js} +1 -1
  53. package/dist/{chunk-QHWF3S7U.js → chunk-DIPTSBQM.js} +1 -1
  54. package/dist/{chunk-235JVI2J.js → chunk-DN3BB4IO.js} +2 -2
  55. package/dist/{chunk-FJOEHMXM.js → chunk-DZMXYETH.js} +1 -1
  56. package/dist/{chunk-P375IGKT.js → chunk-EAOT5CK5.js} +1 -1
  57. package/dist/{chunk-YYLEWVO6.js → chunk-EEEKSYWV.js} +1 -1
  58. package/dist/{chunk-N5YIZJ4S.js → chunk-EOJNSPIH.js} +1 -1
  59. package/dist/{chunk-YF4HKJB5.js → chunk-FSVSM57K.js} +1 -1
  60. package/dist/{chunk-PK6NOLT5.js → chunk-G6BFXMOV.js} +1 -1
  61. package/dist/{chunk-UTLRP527.js → chunk-GMAZ2BQY.js} +1 -1
  62. package/dist/{chunk-QAM7VCLV.js → chunk-HOAVZLEG.js} +1 -1
  63. package/dist/{chunk-A2O3MBPH.js → chunk-HQE5B2CF.js} +1 -1
  64. package/dist/{chunk-XZWAX4FI.js → chunk-HSVZU7MP.js} +1 -1
  65. package/dist/{chunk-N625VE5T.js → chunk-HYF3VJYS.js} +1 -1
  66. package/dist/{chunk-7ZIO3X22.js → chunk-I5X3IP6T.js} +1 -1
  67. package/dist/{chunk-UTPJAU5S.js → chunk-ICRQZAXP.js} +1 -1
  68. package/dist/{chunk-AUZCENYI.js → chunk-IIFRDOYG.js} +1 -1
  69. package/dist/{chunk-YJAX22JK.js → chunk-JADXT2DY.js} +1 -1
  70. package/dist/{chunk-VKFDDZD3.js → chunk-JOKLZMTP.js} +1 -1
  71. package/dist/{chunk-KNEF6NAG.js → chunk-K4APB7O3.js} +1 -1
  72. package/dist/{chunk-ROQXPIEZ.js → chunk-KB6H5LQJ.js} +1 -1
  73. package/dist/{chunk-BCEWCYZD.js → chunk-KFUOVO3X.js} +1 -1
  74. package/dist/{chunk-3JAC5SI7.js → chunk-KIAMA3L2.js} +1 -1
  75. package/dist/{chunk-XSXX75VV.js → chunk-KMQE7WFZ.js} +1 -1
  76. package/dist/{chunk-JC3PRJJS.js → chunk-KPNNGJAW.js} +1 -1
  77. package/dist/{chunk-52H2R2FU.js → chunk-KQTVJMV6.js} +1 -1
  78. package/dist/{chunk-7BVXGS44.js → chunk-L42FYXFW.js} +144 -144
  79. package/dist/{chunk-V774I3FW.js → chunk-LGFOE4XL.js} +1 -1
  80. package/dist/{chunk-4EYTWWYF.js → chunk-LSCDB36D.js} +1 -1
  81. package/dist/{chunk-BNX4MZMV.js → chunk-LVLDPYH5.js} +1 -1
  82. package/dist/{chunk-PVD544NN.js → chunk-LXOBFJZO.js} +1 -1
  83. package/dist/{chunk-VNYKNAT5.js → chunk-MC466GSO.js} +2 -2
  84. package/dist/{chunk-32KQKGSY.js → chunk-ML6SILEL.js} +1 -1
  85. package/dist/{chunk-ICHNVDFU.js → chunk-MYQTAM77.js} +1 -1
  86. package/dist/{chunk-H3V6Y5JO.js → chunk-N6IFIMC6.js} +1 -1
  87. package/dist/{chunk-S5JJL3BP.js → chunk-NGCPVRDM.js} +1 -1
  88. package/dist/{chunk-5O7PY44R.js → chunk-NIVGP4LB.js} +1 -1
  89. package/dist/{chunk-HHA322FT.js → chunk-NSADN5S2.js} +47 -47
  90. package/dist/{chunk-CVRAATZ5.js → chunk-NVA2354A.js} +1 -1
  91. package/dist/{chunk-BH34ZLZ4.js → chunk-NWH3TAHK.js} +1 -1
  92. package/dist/{chunk-QRETBFXI.js → chunk-NYG2VQFQ.js} +1 -1
  93. package/dist/{chunk-UJVYIWUI.js → chunk-OC5PD4ID.js} +1 -1
  94. package/dist/{chunk-AP6FNGTA.js → chunk-OCBGHOH2.js} +1 -1
  95. package/dist/{chunk-YT3NPMWK.js → chunk-ODSMT2ZC.js} +1 -1
  96. package/dist/{chunk-DKVU7LYY.js → chunk-OJZT3NA2.js} +1 -1
  97. package/dist/{chunk-ZZ3SMI2A.js → chunk-OMXKQY2L.js} +1 -1
  98. package/dist/{chunk-VUACOGOX.js → chunk-P2SBE77Z.js} +1 -1
  99. package/dist/{chunk-TKW3Z7XL.js → chunk-P6LVSNTT.js} +1 -1
  100. package/dist/{chunk-FA25RL4G.js → chunk-P7OSUECN.js} +1 -1
  101. package/dist/chunk-P7U6BWKN.js +1 -0
  102. package/dist/{chunk-6LTJMYUD.js → chunk-PEYYIWP6.js} +1 -1
  103. package/dist/{chunk-J2ZES5K5.js → chunk-Q7DSLGTN.js} +1 -1
  104. package/dist/{chunk-BU7R7NFL.js → chunk-QEVGRNUE.js} +1 -1
  105. package/dist/{chunk-DQOS54HN.js → chunk-QFXJNFMI.js} +1 -1
  106. package/dist/{chunk-7DYZVU7H.js → chunk-R6A754UW.js} +1 -1
  107. package/dist/{chunk-UEC23KAO.js → chunk-R7QYSC6T.js} +1 -1
  108. package/dist/{chunk-E4GW6OXT.js → chunk-RE652L3G.js} +1 -1
  109. package/dist/{chunk-KESQOMEW.js → chunk-RFOALCVH.js} +1 -1
  110. package/dist/{chunk-5A7EMVAP.js → chunk-RLB5QHWG.js} +1 -1
  111. package/dist/{chunk-RUKK4KXX.js → chunk-RTINXD5Z.js} +1 -1
  112. package/dist/{chunk-HP3NDE7S.js → chunk-SG5TRPJ7.js} +1 -1
  113. package/dist/{chunk-BBATKR3B.js → chunk-SH6Q5CLM.js} +1 -1
  114. package/dist/{chunk-HX3TALXV.js → chunk-SSDEWKDZ.js} +2 -2
  115. package/dist/{chunk-MGPLKG23.js → chunk-SZM6ANMN.js} +1 -1
  116. package/dist/{chunk-V66IHWQO.js → chunk-T35C6NC7.js} +1 -1
  117. package/dist/{chunk-BXDZX3BS.js → chunk-TB7HFPBB.js} +3 -3
  118. package/dist/{chunk-3NMVMCOM.js → chunk-TH6CLNGO.js} +1 -1
  119. package/dist/{chunk-3EQY5B4S.js → chunk-TIU7MMRT.js} +1 -1
  120. package/dist/{chunk-7KHYEIA7.js → chunk-TM44Z7U7.js} +1 -1
  121. package/dist/{chunk-BVHBMOIB.js → chunk-TNUY66EE.js} +1 -1
  122. package/dist/{chunk-G6YOP2SJ.js → chunk-TPGREOWO.js} +1 -1
  123. package/dist/{chunk-4U3NC3UU.js → chunk-TSEPNC3O.js} +1 -1
  124. package/dist/{chunk-TEXYUUTD.js → chunk-TTEY5PLR.js} +1 -1
  125. package/dist/{chunk-RY5CY3ZW.js → chunk-U3MSTPZP.js} +1 -1
  126. package/dist/{chunk-UGGFSV7N.js → chunk-U4HLIXRH.js} +1 -1
  127. package/dist/{chunk-74IG3ZE3.js → chunk-UAYIFFYJ.js} +3 -3
  128. package/dist/chunk-UHIP5CFI.js +1 -0
  129. package/dist/{chunk-H2JU5BGK.js → chunk-UHMRDG6J.js} +1 -1
  130. package/dist/{chunk-XA5JA7DK.js → chunk-UMB4BWCK.js} +1 -1
  131. package/dist/{chunk-UP7H24B3.js → chunk-UMFVRG33.js} +1 -1
  132. package/dist/{chunk-5EVFLUUA.js → chunk-UVIGXZMV.js} +1 -1
  133. package/dist/{chunk-IFVYCKX5.js → chunk-UW6YEKST.js} +1 -1
  134. package/dist/{chunk-BLI7DUNV.js → chunk-V6QZF5YS.js} +1 -1
  135. package/dist/{chunk-57IRHKV3.js → chunk-VCWESQBC.js} +1 -1
  136. package/dist/{chunk-AYSS2ERL.js → chunk-VGSH33QU.js} +1 -1
  137. package/dist/{chunk-6V37CHBZ.js → chunk-VJQJ5PTQ.js} +1 -1
  138. package/dist/{chunk-PFEC2NUB.js → chunk-WDSBR7KX.js} +1 -1
  139. package/dist/{chunk-TGM7L6RV.js → chunk-WN5VTUWJ.js} +1 -1
  140. package/dist/{chunk-7HZG7FBK.js → chunk-WTRKTFVE.js} +1 -1
  141. package/dist/{chunk-4Q54UDO3.js → chunk-X3VG75LO.js} +1 -1
  142. package/dist/{chunk-ZKBWEHIY.js → chunk-XCGV3IJ5.js} +1 -1
  143. package/dist/{chunk-RBOYWA2D.js → chunk-XDV4PRFT.js} +1 -1
  144. package/dist/{chunk-DBBU6OVN.js → chunk-XHTICMA7.js} +1 -1
  145. package/dist/{chunk-ZZWSMRKT.js → chunk-XS7WK4YK.js} +1 -1
  146. package/dist/{chunk-2ROG5NK3.js → chunk-XSUZPWYV.js} +1 -1
  147. package/dist/{chunk-7EOQVQND.js → chunk-XUAAQI5N.js} +1 -1
  148. package/dist/{chunk-WTYH2O47.js → chunk-XXLGM6OZ.js} +1 -1
  149. package/dist/{chunk-S442LGHR.js → chunk-YKNMNGV7.js} +1 -1
  150. package/dist/{chunk-AYKRKE6O.js → chunk-YNX4DT2O.js} +1 -1
  151. package/dist/{chunk-IE4SSSXU.js → chunk-YWQPSMRZ.js} +1 -1
  152. package/dist/{chunk-JZVNNQWE.js → chunk-YXNKDX56.js} +1 -1
  153. package/dist/{chunk-MSJDZLZT.js → chunk-Z33MWGCG.js} +1 -1
  154. package/dist/{chunk-LXZM6Z4F.js → chunk-Z6VNPAY7.js} +1 -1
  155. package/dist/{chunk-O7OQK2OC.js → chunk-ZAN7AZTX.js} +1 -1
  156. package/dist/{chunk-ABCU552E.js → chunk-ZIM2G3EP.js} +1 -1
  157. package/dist/{chunk-U44HRKSU.js → chunk-ZSYMRT3S.js} +1 -1
  158. package/dist/{chunk-TM534QSE.js → chunk-ZT4PUH7L.js} +1 -1
  159. package/dist/{chunk-Z66NZ2HC.js → chunk-ZUWEGJA7.js} +1 -1
  160. package/dist/cli/commands/app/app-logs/sources.js +1 -1
  161. package/dist/cli/commands/app/build.js +1 -1
  162. package/dist/cli/commands/app/bulk/cancel.js +1 -1
  163. package/dist/cli/commands/app/bulk/execute.js +1 -1
  164. package/dist/cli/commands/app/bulk/status.js +1 -1
  165. package/dist/cli/commands/app/config/link.js +1 -1
  166. package/dist/cli/commands/app/config/pull.js +1 -1
  167. package/dist/cli/commands/app/config/use.js +1 -1
  168. package/dist/cli/commands/app/config/validate.js +1 -1
  169. package/dist/cli/commands/app/demo/watcher.js +1 -1
  170. package/dist/cli/commands/app/deploy.js +1 -1
  171. package/dist/cli/commands/app/dev/clean.js +1 -1
  172. package/dist/cli/commands/app/dev.js +1 -1
  173. package/dist/cli/commands/app/env/pull.js +1 -1
  174. package/dist/cli/commands/app/env/show.js +1 -1
  175. package/dist/cli/commands/app/execute.js +1 -1
  176. package/dist/cli/commands/app/function/build.js +1 -1
  177. package/dist/cli/commands/app/function/info.js +1 -1
  178. package/dist/cli/commands/app/function/replay.js +1 -1
  179. package/dist/cli/commands/app/function/run.js +1 -1
  180. package/dist/cli/commands/app/function/schema.js +1 -1
  181. package/dist/cli/commands/app/function/typegen.js +1 -1
  182. package/dist/cli/commands/app/generate/extension.js +1 -1
  183. package/dist/cli/commands/app/graphiql.js +1 -1
  184. package/dist/cli/commands/app/import-custom-data-definitions.js +1 -1
  185. package/dist/cli/commands/app/import-extensions.js +1 -1
  186. package/dist/cli/commands/app/info.js +1 -1
  187. package/dist/cli/commands/app/init.js +1 -1
  188. package/dist/cli/commands/app/logs.js +1 -1
  189. package/dist/cli/commands/app/release.js +1 -1
  190. package/dist/cli/commands/app/versions/list.js +1 -1
  191. package/dist/cli/commands/app/webhook/trigger.js +1 -1
  192. package/dist/cli/commands/auth/login.js +1 -1
  193. package/dist/cli/commands/auth/logout.js +1 -1
  194. package/dist/cli/commands/cache/clear.js +1 -1
  195. package/dist/cli/commands/config/autoupgrade/off.js +1 -1
  196. package/dist/cli/commands/config/autoupgrade/on.js +1 -1
  197. package/dist/cli/commands/config/autoupgrade/status.js +1 -1
  198. package/dist/cli/commands/debug/command-flags.js +1 -1
  199. package/dist/cli/commands/doc/fetch.js +1 -1
  200. package/dist/cli/commands/doc/search.js +1 -1
  201. package/dist/cli/commands/docs/generate.js +1 -1
  202. package/dist/cli/commands/doctor-release/doctor-release.js +1 -1
  203. package/dist/cli/commands/doctor-release/theme/index.js +1 -1
  204. package/dist/cli/commands/help.js +1 -1
  205. package/dist/cli/commands/kitchen-sink/async.js +1 -1
  206. package/dist/cli/commands/kitchen-sink/index.js +1 -1
  207. package/dist/cli/commands/kitchen-sink/prompts.js +1 -1
  208. package/dist/cli/commands/kitchen-sink/static.js +1 -1
  209. package/dist/cli/commands/notifications/generate.js +1 -1
  210. package/dist/cli/commands/notifications/list.js +1 -1
  211. package/dist/cli/commands/organization/list.js +1 -1
  212. package/dist/cli/commands/search.js +1 -1
  213. package/dist/cli/commands/theme/check.js +1 -1
  214. package/dist/cli/commands/theme/console.js +1 -1
  215. package/dist/cli/commands/theme/delete.js +1 -1
  216. package/dist/cli/commands/theme/dev.js +1 -1
  217. package/dist/cli/commands/theme/duplicate.js +1 -1
  218. package/dist/cli/commands/theme/info.js +1 -1
  219. package/dist/cli/commands/theme/init.js +1 -1
  220. package/dist/cli/commands/theme/language-server.js +1 -1
  221. package/dist/cli/commands/theme/list.js +1 -1
  222. package/dist/cli/commands/theme/metafields/pull.js +1 -1
  223. package/dist/cli/commands/theme/open.js +1 -1
  224. package/dist/cli/commands/theme/package.js +1 -1
  225. package/dist/cli/commands/theme/preview.js +1 -1
  226. package/dist/cli/commands/theme/profile.js +1 -1
  227. package/dist/cli/commands/theme/publish.js +1 -1
  228. package/dist/cli/commands/theme/pull.js +1 -1
  229. package/dist/cli/commands/theme/push.js +1 -1
  230. package/dist/cli/commands/theme/rename.js +1 -1
  231. package/dist/cli/commands/theme/share.js +1 -1
  232. package/dist/cli/commands/upgrade.js +1 -1
  233. package/dist/cli/commands/version.js +1 -1
  234. package/dist/command-registry.js +1 -1
  235. package/dist/{conf-store-V6ILVUUO.js → conf-store-HOA62HKK.js} +1 -1
  236. package/dist/configs/all.yml +3 -0
  237. package/dist/configs/recommended.yml +3 -0
  238. package/dist/data/filters.json +1 -1
  239. package/dist/data/objects.json +30 -3
  240. package/dist/data/shopify_system_translations.json +48 -4
  241. package/dist/{deprecations-MOEFN6OW.js → deprecations-2FTB7JEW.js} +1 -1
  242. package/dist/{dist-E6QKEULH.js → dist-63JMGNUL.js} +1 -1
  243. package/dist/dist-6TY6L7OW.js +1 -0
  244. package/dist/{environments-5KA3OBIZ.js → environments-XVYTKHRZ.js} +1 -1
  245. package/dist/{error-NYYI6HVX.js → error-SDU6RPQQ.js} +1 -1
  246. package/dist/{error-handler-BOESDKZA.js → error-handler-4YEBBCUH.js} +1 -1
  247. package/dist/{fs-XE6SBVBF.js → fs-B4UJTUCD.js} +1 -1
  248. package/dist/hooks/app-init.js +1 -1
  249. package/dist/hooks/did-you-mean.js +1 -1
  250. package/dist/hooks/hydrogen-init.js +1 -1
  251. package/dist/hooks/postrun.js +1 -1
  252. package/dist/hooks/prerun.js +1 -1
  253. package/dist/hooks/public-metadata.js +1 -1
  254. package/dist/hooks/sensitive-metadata.js +1 -1
  255. package/dist/hooks/tunnel-provider.js +1 -1
  256. package/dist/hooks/tunnel-start.js +1 -1
  257. package/dist/index.js +1 -1
  258. package/dist/{is-global-JOHCPSKZ.js → is-global-5LFZDDNH.js} +1 -1
  259. package/dist/{local-BTQDUX72.js → local-VTYGIJVD.js} +1 -1
  260. package/dist/{local-storage-WUSIVDTQ.js → local-storage-A6NBLBB2.js} +1 -1
  261. package/dist/{metadata-APVOKTBV.js → metadata-FREAI3KR.js} +1 -1
  262. package/dist/{node-package-manager-AC34ZJZD.js → node-package-manager-N5SUT2WN.js} +1 -1
  263. package/dist/notifications-system-P3SUTD25.js +1 -0
  264. package/dist/{output-EAPQ7OWD.js → output-VUR2QZPW.js} +1 -1
  265. package/dist/{system-D7CH26HU.js → system-OXF2P5CT.js} +1 -1
  266. package/dist/tsconfig.tsbuildinfo +1 -1
  267. package/dist/{ui-AXZBGWIQ.js → ui-N2C5FC3G.js} +1 -1
  268. package/dist/upgrade-AJ36IT7H.js +1 -0
  269. package/dist/{version-FAU37PQN.js → version-DSFP332V.js} +1 -1
  270. package/dist/version-HUOO3XOE.js +1 -0
  271. package/dist/{workerd-XXPWKQOM.js → workerd-KPQTFQD4.js} +1 -1
  272. package/oclif.manifest.json +20 -2
  273. package/package.json +8 -8
  274. package/dist/chunk-63NFEXJR.js +0 -275
  275. package/dist/chunk-E64BQS4D.js +0 -1
  276. package/dist/chunk-PLHJQQVZ.js +0 -1
  277. package/dist/chunk-Q3WOWDUU.js +0 -1
  278. package/dist/chunk-Z2Y6G2QF.js +0 -1
  279. package/dist/dist-2BL5GGMG.js +0 -1
  280. package/dist/notifications-system-4ODOESG2.js +0 -1
  281. package/dist/upgrade-SLPJF6LD.js +0 -1
  282. package/dist/version-3IYH4V5U.js +0 -1
  283. /package/dist/{morph-CG6HEMCQ.js → morph-QZGREMO2.js} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as b}from"./chunk-J3JPJCWP.js";import{a as fe}from"./chunk-N5YIZJ4S.js";import{b as re,c as oe,d as se,e as ne,f as ie,h as ae,i as le,k as ce,l as me,n as de}from"./chunk-235JVI2J.js";import{c as ee,e as te}from"./chunk-H3V6Y5JO.js";import{a as X}from"./chunk-52H2R2FU.js";import{c as Q,e as v,m as Z,n as x}from"./chunk-XZWAX4FI.js";import{k as P,l as V,n as y}from"./chunk-7ZIO3X22.js";import{s as C,u as k}from"./chunk-JGN7YG5X.js";import{a as B,b as N}from"./chunk-BCEWCYZD.js";import{o as K,s as J,t as z,u as Y,w as j}from"./chunk-Q7BOSHWX.js";import{ta as $,xa as L}from"./chunk-3EQY5B4S.js";import{a as O}from"./chunk-5C7HDTHJ.js";import{J as U,s as W,u as I,v as M,w as R,y as q,z as G}from"./chunk-YYLEWVO6.js";import{d as _,e as H}from"./chunk-N5U5Q2MG.js";import{d as g}from"./chunk-AUZCENYI.js";import{Fb as w,Hb as E,Mb as T,Pb as u}from"./chunk-BXDZX3BS.js";import{u as p}from"./chunk-A4SBXDZB.js";import{g as d}from"./chunk-VKWPEFWQ.js";d();d();d();d();var he={workPromise:Promise.resolve()};async function ue(e,t,o,r,s){if(o.length===0)return he;u("Initiating theme asset reconciliation process");let{filesOnlyPresentLocally:a,filesOnlyPresentOnRemote:i,filesWithConflictingChecksums:l}=Ce(o,r),n=a.length===0&&i.length===0&&l.length===0;if(L(`theme-service:theme-reconciliation:manual:${n}`),n)return u("Local and remote checksums match - no need to reconcile theme assets"),he;let c=await Se({filesOnlyPresentLocally:a,filesOnlyPresentOnRemote:i,filesWithConflictingChecksums:l},s);return{workPromise:Ae(e,t,r,c)}}function Ce(e,t){let o=new Set,r=[],s=[];for(let i of e){o.add(i.key);let l=t.files.get(i.key);l?i.checksum!==l.checksum&&s.push(i):r.push(i)}let a=Array.from(t.files.values()).filter(i=>!o.has(i.key));return{filesOnlyPresentOnRemote:A(r,t),filesOnlyPresentLocally:A(a,t),filesWithConflictingChecksums:A(s,t)}}function A(e,t){return t.applyIgnoreFilters(e).filter(r=>r.key.endsWith(".json"))}async function S(e,t,o){if(e.length===0)return;I({body:{list:{title:t,items:e.map(s=>s.key)}}}),await G({message:"Reconciliation Strategy",choices:[{label:o.remote.label,value:D},{label:o.local.label,value:pe}]})===D?o.remote.callback(e):o.local.callback(e)}async function Ae(e,t,o,r){let{localFilesToDelete:s,filesToDownload:a,remoteFilesToDelete:i}=r,l=s.map(m=>o.delete(m.key)),n=b(a,k,async m=>{let f=await P(e.id,m.map(h=>h.key),t);return Promise.all(f.map(h=>{if(h)return o.write(h)}))}),c=V(e.id,i.map(m=>m.key),t);await Promise.all([...l,...n,c])}async function Se(e,t){let{filesOnlyPresentLocally:o,filesOnlyPresentOnRemote:r,filesWithConflictingChecksums:s}=e,a=[],i=[],l=[];return t.noDelete||await S(o,"The files listed below are only present locally. What would you like to do?",{remote:{label:"Delete files from the local directory",callback:n=>{a.push(...n)}},local:{label:"Upload local files to the remote theme",callback:()=>{}}}),await S(r,"The files listed below are only present on the remote theme. What would you like to do?",{remote:{label:"Download remote files to the local directory",callback:n=>{i.push(...n)}},local:{label:"Delete files from the remote theme",callback:n=>{l.push(...n)}}}),await S(s,"The files listed below differ between the local and remote versions. What would you like to do?",{remote:{label:"Keep the remote version",callback:n=>{i.push(...n)}},local:{label:"Keep the local version",callback:()=>{}}}),{localFilesToDelete:a,filesToDownload:i,remoteFilesToDelete:l}}d();var De=3e3,F=class extends Error{};function we(e,t,o,r,s,a){u("Listening for changes in the theme editor");let i=5,l=0,n="",c=o,m=async()=>{await new Promise(f=>setTimeout(f,De)),c=await Fe(e,t,c,r,s).then(f=>(l=0,n="",f)).catch(f=>{if(l++,f.message!==n&&(n=f.message,v("Error while polling for changes.",f)),l>=i){let h=new g("Too many polling errors...","Please check the errors above and ensure you have a stable internet connection.");q(h),a(h)}return c})};setTimeout(async()=>{for(;;)await m()})}async function Fe(e,t,o,r,s){let a=new Set(r.unsyncedFileKeys),i=ye(o,r,a),l=await y(e.id,t).then(m=>ye(m,r,a)),n=$e(i,l),c=Oe(l,i);return await He(r,n),await Le(e,t,r,n),await _e(r,c,s),l}function Oe(e,t){let o=new Map(e.map(s=>[s.key,s]));return t.filter(s=>o.get(s.key)===void 0)}function $e(e,t){let o=new Map(e.map(s=>[s.key,s]));return t.filter(s=>{let a=o.get(s.key);if(!a||a.checksum!==s.checksum)return!0})}async function Le(e,t,o,r){let s=r.filter(i=>o.files.get(i.key)?.checksum!==i.checksum),a=b(s,k,async i=>P(e.id,i.map(l=>l.key),t).then(l=>Promise.all(l.map(async n=>{n&&(await o.write(n),T(E`• ${C.format(new Date)} Synced ${w.raw("\xBB")} ${w.gray(`download ${n.key} from remote theme`)}`))}))));await Promise.all(a)}async function _e(e,t,o){if(!o.noDelete)return Promise.all(t.map(r=>{if(e.files.get(r.key))return e.delete(r.key).then(()=>{T(E`• ${C.format(new Date)} Synced ${w.raw("\xBB")} ${w.gray(`remove ${r.key} from local theme`)}`)})}))}async function He(e,t){let o=new Map(e.files);await Promise.all(t.map(r=>e.read(r.key)));for(let r of t){let s=o.get(r.key)?.checksum,a=e.files.get(r.key)?.checksum;if(s!==a)throw new F(`Detected changes to the file '${r.key}' on both local and remote sources. Aborting...`)}}function ye(e,t,o){return t.applyIgnoreFilters(e).filter(s=>s.key.endsWith(".json")).filter(s=>!o.has(s.key))}var pe="local",D="remote";async function ge(e,t,o,r,s,a){u("Initiating theme asset reconciliation process"),await r.ready();let{workPromise:i}=await ue(e,t,o,r,s);return{updatedRemoteChecksumsPromise:i.then(async()=>{let n=await y(e.id,t);return we(e,t,n,r,s,a),n}),workPromise:i}}d();function ke(){if(Promise.withResolvers)return Promise.withResolvers();let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}import{createServer as We}from"node:http";function Pe(e,t){let{promise:o,resolve:r,reject:s}=ke(),a=ae(e,t),i=Ie(e,t,s),l=Promise.all([a,i.workPromise]).then(()=>t.localThemeFileSystem.startWatcher(e.id.toString(),t.session)),n=qe(e,t,l);return{workPromise:l,serverStart:n.start,dispatchEvent:n.dispatch,renderDevSetupProgress:i.renderProgress,backgroundJobPromise:o,resolveBackgroundJob:r}}function Ie(e,t,o){let r=n=>(v("Failed to perform the initial theme synchronization.",n),o(n),new Promise(()=>{})),a=y(e.id,t.session).then(n=>Me(e,t,n,o)),i=a.then(async({updatedRemoteChecksumsPromise:n})=>{let c=await n;return fe(e,t.session,c,t.localThemeFileSystem,{nodelete:t.options.noDelete,deferPartialWork:!0,backgroundWorkCatch:r})});return{workPromise:i.then(n=>n.workPromise).catch(r),renderProgress:async()=>{if(t.options.themeEditorSync){let{workPromise:c}=await a;await te([{title:"Performing file synchronization. This may take a while...",task:async()=>{await c}}])}let{renderThemeSyncProgress:n}=await i;await n()}}}function Me(e,t,o,r){return t.options.themeEditorSync?ge(e,t.session,o,t.localThemeFileSystem,{noDelete:t.options.noDelete,ignore:t.options.ignore,only:t.options.only},r):Promise.resolve({updatedRemoteChecksumsPromise:Promise.resolve(o),workPromise:Promise.resolve()})}function qe(e,t,o){let r=Y(),s=[`http://${t.options.host}:${t.options.port}`,`https://${t.session.storeFqdn}`,"https://online-store-web.shopifyapps.com"];r.use(ne(t.options.host,t.options.port)),r.use(z(async()=>(await o,J(i=>{i.node.req.headers.origin&&K(i,{origin:n=>s.includes(n),credentials:!0,methods:["GET","POST","HEAD","OPTIONS"],preflight:{statusCode:204}})})))),t.options.liveReload!=="off"&&r.use(le(e,t)),r.use(se(e,t)),r.use(re(e,t)),r.use(oe(e,t));let a=We(j(r));return{dispatch:r.handler.bind(r),start:async()=>new Promise(i=>a.listen({port:t.options.port,host:t.options.host},()=>i({close:async()=>{await Promise.all([new Promise(l=>{a.closeAllConnections(),a.close(l)})])}})))}}import Ge from"readline";var Ue="127.0.0.1",Ke=9292,ve=!1;async function xt(e){if(!await de(e.directory)&&!await ee(e.force))return;e.password?.startsWith("shpat_")&&R({headline:"Admin API token missing features:",body:["Directly using an Admin API token will result in some missing features.","We recommend generating a password from the Theme Access app.","Alternatively, you can authenticate normally by not passing the --password flag.",`
1
+ import{a as b}from"./chunk-J3JPJCWP.js";import{a as fe}from"./chunk-EOJNSPIH.js";import{b as re,c as oe,d as se,e as ne,f as ie,h as ae,i as le,k as ce,l as me,n as de}from"./chunk-DN3BB4IO.js";import{c as ee,e as te}from"./chunk-N6IFIMC6.js";import{a as X}from"./chunk-KQTVJMV6.js";import{c as Q,e as v,m as Z,n as x}from"./chunk-HSVZU7MP.js";import{k as P,l as V,n as y}from"./chunk-I5X3IP6T.js";import{s as C,u as k}from"./chunk-4P54DKG4.js";import{a as B,b as N}from"./chunk-KFUOVO3X.js";import{o as K,s as J,t as z,u as Y,w as j}from"./chunk-Q7BOSHWX.js";import{ta as $,xa as L}from"./chunk-TIU7MMRT.js";import{a as O}from"./chunk-5C7HDTHJ.js";import{J as U,s as W,u as I,v as M,w as R,y as q,z as G}from"./chunk-EEEKSYWV.js";import{d as _,e as H}from"./chunk-7AY6HLQG.js";import{d as g}from"./chunk-IIFRDOYG.js";import{Fb as w,Hb as E,Mb as T,Pb as u}from"./chunk-TB7HFPBB.js";import{u as p}from"./chunk-A4SBXDZB.js";import{g as d}from"./chunk-VKWPEFWQ.js";d();d();d();d();var he={workPromise:Promise.resolve()};async function ue(e,t,o,r,s){if(o.length===0)return he;u("Initiating theme asset reconciliation process");let{filesOnlyPresentLocally:a,filesOnlyPresentOnRemote:i,filesWithConflictingChecksums:l}=Ce(o,r),n=a.length===0&&i.length===0&&l.length===0;if(L(`theme-service:theme-reconciliation:manual:${n}`),n)return u("Local and remote checksums match - no need to reconcile theme assets"),he;let c=await Se({filesOnlyPresentLocally:a,filesOnlyPresentOnRemote:i,filesWithConflictingChecksums:l},s);return{workPromise:Ae(e,t,r,c)}}function Ce(e,t){let o=new Set,r=[],s=[];for(let i of e){o.add(i.key);let l=t.files.get(i.key);l?i.checksum!==l.checksum&&s.push(i):r.push(i)}let a=Array.from(t.files.values()).filter(i=>!o.has(i.key));return{filesOnlyPresentOnRemote:A(r,t),filesOnlyPresentLocally:A(a,t),filesWithConflictingChecksums:A(s,t)}}function A(e,t){return t.applyIgnoreFilters(e).filter(r=>r.key.endsWith(".json"))}async function S(e,t,o){if(e.length===0)return;I({body:{list:{title:t,items:e.map(s=>s.key)}}}),await G({message:"Reconciliation Strategy",choices:[{label:o.remote.label,value:D},{label:o.local.label,value:pe}]})===D?o.remote.callback(e):o.local.callback(e)}async function Ae(e,t,o,r){let{localFilesToDelete:s,filesToDownload:a,remoteFilesToDelete:i}=r,l=s.map(m=>o.delete(m.key)),n=b(a,k,async m=>{let f=await P(e.id,m.map(h=>h.key),t);return Promise.all(f.map(h=>{if(h)return o.write(h)}))}),c=V(e.id,i.map(m=>m.key),t);await Promise.all([...l,...n,c])}async function Se(e,t){let{filesOnlyPresentLocally:o,filesOnlyPresentOnRemote:r,filesWithConflictingChecksums:s}=e,a=[],i=[],l=[];return t.noDelete||await S(o,"The files listed below are only present locally. What would you like to do?",{remote:{label:"Delete files from the local directory",callback:n=>{a.push(...n)}},local:{label:"Upload local files to the remote theme",callback:()=>{}}}),await S(r,"The files listed below are only present on the remote theme. What would you like to do?",{remote:{label:"Download remote files to the local directory",callback:n=>{i.push(...n)}},local:{label:"Delete files from the remote theme",callback:n=>{l.push(...n)}}}),await S(s,"The files listed below differ between the local and remote versions. What would you like to do?",{remote:{label:"Keep the remote version",callback:n=>{i.push(...n)}},local:{label:"Keep the local version",callback:()=>{}}}),{localFilesToDelete:a,filesToDownload:i,remoteFilesToDelete:l}}d();var De=3e3,F=class extends Error{};function we(e,t,o,r,s,a){u("Listening for changes in the theme editor");let i=5,l=0,n="",c=o,m=async()=>{await new Promise(f=>setTimeout(f,De)),c=await Fe(e,t,c,r,s).then(f=>(l=0,n="",f)).catch(f=>{if(l++,f.message!==n&&(n=f.message,v("Error while polling for changes.",f)),l>=i){let h=new g("Too many polling errors...","Please check the errors above and ensure you have a stable internet connection.");q(h),a(h)}return c})};setTimeout(async()=>{for(;;)await m()})}async function Fe(e,t,o,r,s){let a=new Set(r.unsyncedFileKeys),i=ye(o,r,a),l=await y(e.id,t).then(m=>ye(m,r,a)),n=$e(i,l),c=Oe(l,i);return await He(r,n),await Le(e,t,r,n),await _e(r,c,s),l}function Oe(e,t){let o=new Map(e.map(s=>[s.key,s]));return t.filter(s=>o.get(s.key)===void 0)}function $e(e,t){let o=new Map(e.map(s=>[s.key,s]));return t.filter(s=>{let a=o.get(s.key);if(!a||a.checksum!==s.checksum)return!0})}async function Le(e,t,o,r){let s=r.filter(i=>o.files.get(i.key)?.checksum!==i.checksum),a=b(s,k,async i=>P(e.id,i.map(l=>l.key),t).then(l=>Promise.all(l.map(async n=>{n&&(await o.write(n),T(E`• ${C.format(new Date)} Synced ${w.raw("\xBB")} ${w.gray(`download ${n.key} from remote theme`)}`))}))));await Promise.all(a)}async function _e(e,t,o){if(!o.noDelete)return Promise.all(t.map(r=>{if(e.files.get(r.key))return e.delete(r.key).then(()=>{T(E`• ${C.format(new Date)} Synced ${w.raw("\xBB")} ${w.gray(`remove ${r.key} from local theme`)}`)})}))}async function He(e,t){let o=new Map(e.files);await Promise.all(t.map(r=>e.read(r.key)));for(let r of t){let s=o.get(r.key)?.checksum,a=e.files.get(r.key)?.checksum;if(s!==a)throw new F(`Detected changes to the file '${r.key}' on both local and remote sources. Aborting...`)}}function ye(e,t,o){return t.applyIgnoreFilters(e).filter(s=>s.key.endsWith(".json")).filter(s=>!o.has(s.key))}var pe="local",D="remote";async function ge(e,t,o,r,s,a){u("Initiating theme asset reconciliation process"),await r.ready();let{workPromise:i}=await ue(e,t,o,r,s);return{updatedRemoteChecksumsPromise:i.then(async()=>{let n=await y(e.id,t);return we(e,t,n,r,s,a),n}),workPromise:i}}d();function ke(){if(Promise.withResolvers)return Promise.withResolvers();let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}import{createServer as We}from"node:http";function Pe(e,t){let{promise:o,resolve:r,reject:s}=ke(),a=ae(e,t),i=Ie(e,t,s),l=Promise.all([a,i.workPromise]).then(()=>t.localThemeFileSystem.startWatcher(e.id.toString(),t.session)),n=qe(e,t,l);return{workPromise:l,serverStart:n.start,dispatchEvent:n.dispatch,renderDevSetupProgress:i.renderProgress,backgroundJobPromise:o,resolveBackgroundJob:r}}function Ie(e,t,o){let r=n=>(v("Failed to perform the initial theme synchronization.",n),o(n),new Promise(()=>{})),a=y(e.id,t.session).then(n=>Me(e,t,n,o)),i=a.then(async({updatedRemoteChecksumsPromise:n})=>{let c=await n;return fe(e,t.session,c,t.localThemeFileSystem,{nodelete:t.options.noDelete,deferPartialWork:!0,backgroundWorkCatch:r})});return{workPromise:i.then(n=>n.workPromise).catch(r),renderProgress:async()=>{if(t.options.themeEditorSync){let{workPromise:c}=await a;await te([{title:"Performing file synchronization. This may take a while...",task:async()=>{await c}}])}let{renderThemeSyncProgress:n}=await i;await n()}}}function Me(e,t,o,r){return t.options.themeEditorSync?ge(e,t.session,o,t.localThemeFileSystem,{noDelete:t.options.noDelete,ignore:t.options.ignore,only:t.options.only},r):Promise.resolve({updatedRemoteChecksumsPromise:Promise.resolve(o),workPromise:Promise.resolve()})}function qe(e,t,o){let r=Y(),s=[`http://${t.options.host}:${t.options.port}`,`https://${t.session.storeFqdn}`,"https://online-store-web.shopifyapps.com"];r.use(ne(t.options.host,t.options.port)),r.use(z(async()=>(await o,J(i=>{i.node.req.headers.origin&&K(i,{origin:n=>s.includes(n),credentials:!0,methods:["GET","POST","HEAD","OPTIONS"],preflight:{statusCode:204}})})))),t.options.liveReload!=="off"&&r.use(le(e,t)),r.use(se(e,t)),r.use(re(e,t)),r.use(oe(e,t));let a=We(j(r));return{dispatch:r.handler.bind(r),start:async()=>new Promise(i=>a.listen({port:t.options.port,host:t.options.host},()=>i({close:async()=>{await Promise.all([new Promise(l=>{a.closeAllConnections(),a.close(l)})])}})))}}import Ge from"readline";var Ue="127.0.0.1",Ke=9292,ve=!1;async function xt(e){if(!await de(e.directory)&&!await ee(e.force))return;e.password?.startsWith("shpat_")&&R({headline:"Admin API token missing features:",body:["Directly using an Admin API token will result in some missing features.","We recommend generating a password from the Theme Access app.","Alternatively, you can authenticate normally by not passing the --password flag.",`
2
2
  `,{list:{title:"Known limitations:",items:["Hot module reloading","Password protected storefronts"]}}],link:{label:"Theme Access app",url:"https://shopify.dev/docs/storefronts/themes/tools/theme-access"}}),e.listing&&await ce(e.directory,e.listing);let[t,o]=await Promise.all([Z(e.adminSession),Q(e.adminSession)]),r=o?await X(e.storePassword,e.adminSession.storeFqdn,t):void 0,s=ie(),a=me(e.directory,{filters:e,listing:e.listing,noDelete:e.noDelete,notify:e.notify}),i=e.host??Ue,l;if(e.port){if(!await N(e.port))throw new g(`Port ${e.port} is not available. Try a different port or remove the --port flag to use an available port.`);l=e.port}else l=await B(Ke);let n={local:`http://${i}:${l}`,giftCard:`http://${i}:${l}/gift_cards/[store_id]/preview`,themeEditor:`https://${e.store}/admin/themes/${e.theme.id}/editor?hr=${l}`,preview:`https://${e.store}/?preview_theme_id=${e.theme.id}`},m={session:await x(e.theme.id.toString(),e.adminSession,e.password,r,t),localThemeFileSystem:a,localThemeExtensionFileSystem:s,directory:e.directory,type:"theme",lastRequestedPath:"",options:{themeEditorSync:e["theme-editor-sync"],host:i,port:l,open:e.open,liveReload:e["live-reload"],standardEventsDevBundle:!0,standardEventsInspector:e["standard-events-inspector"],noDelete:e.noDelete,ignore:e.ignore,only:e.only,errorOverlay:e["error-overlay"]}},{serverStart:f,renderDevSetupProgress:h,backgroundJobPromise:Re,resolveBackgroundJob:Ee}=Pe(e.theme,m);Ge.emitKeypressEvents(process.stdin);let Te=ze(n,m,Ee);process.stdin.on("keypress",Te),await Promise.all([Re,h().then(f).then(()=>{process.stdin.isTTY&&process.stdin.setRawMode(!0),je(n),e.open&&be(n.local,"development server")})]),await Je(e.commandConfig,e.adminSession),process.exit(0)}async function Je(e,t){if(!ve){ve=!0;try{await _(()=>({store_fqdn_hash:O(t.storeFqdn)})),await H(()=>({store_fqdn:t.storeFqdn})),await $({config:e,exitMode:"ok"})}catch{}}}function ze(e,t,o){let r=W(be,100,{leading:!0,trailing:!1});return(s,a)=>{if(a.ctrl&&a.name==="c"){o();return}switch(a.name){case void 0:break;case"t":r(e.local,"localhost");break;case"p":r(e.preview,"theme preview");break;case"e":r(t.lastRequestedPath==="/"?e.themeEditor:`${e.themeEditor}&previewPath=${encodeURIComponent(t.lastRequestedPath)}`,"theme editor");break;case"g":r(e.giftCard,"gift card preview");break;default:break}}}function be(e,t){U(e).catch(Ye(t))}function Ye(e){return t=>{R({headline:`Failed to open ${e}.`,body:t.stack??t.message})}}function je(e){M({body:[{list:{title:p.bold("Preview your theme ")+p.cyan("(t)"),items:[{link:{url:e.local}}]}}],nextSteps:[[{link:{label:`Share your theme preview ${p.cyan("(p)")}`,url:e.preview}},{subdued:e.preview}],[{link:{label:`Customize your theme at the theme editor ${p.cyan("(e)")}`,url:e.themeEditor}}],[{link:{label:`Preview your gift cards ${p.cyan("(g)")}`,url:e.giftCard}}]]})}export{xt as a,be as b};
@@ -1,4 +1,4 @@
1
- import{a as v}from"./chunk-PK6NOLT5.js";import{a as c}from"./chunk-F447QKVX.js";import{a as u}from"./chunk-7KHYEIA7.js";import{a as y}from"./chunk-O7OQK2OC.js";import{d as f}from"./chunk-H3V6Y5JO.js";import{p,v as m}from"./chunk-JGN7YG5X.js";import{xa as h}from"./chunk-3EQY5B4S.js";import{b as l,d}from"./chunk-S5JJL3BP.js";import{r as O}from"./chunk-T6CC5WUU.js";import{e as F,g as a}from"./chunk-VKWPEFWQ.js";a();var t=F(O(),1);var w,o=class extends m{async command(r,n){let{ignore:g=[],only:_=[]}=r;h("theme-command:dev:single-env:authenticated");let i,e;if(r.theme){let s={filter:{theme:r.theme}};i=await u(n,s),e={...r,theme:i.id.toString(),store:n.storeFqdn}}else{i=await new c(n).findOrCreate();let s=r["theme-editor-sync"]&&i.createdAtRuntime;e={...r,theme:i.id.toString(),store:n.storeFqdn,"overwrite-json":s}}await f(i,"start development mode",r["allow-live"])&&(await v({adminSession:n,commandConfig:this.config,directory:e.path,store:e.store,password:e.password,storePassword:e["store-password"],theme:i,listing:e.listing,host:e.host,port:e.port,"live-reload":e["live-reload"],"error-overlay":e["error-overlay"],force:e.force,open:e.open,"theme-editor-sync":e["theme-editor-sync"],"standard-events-inspector":e["standard-events-inspector"],noDelete:e.nodelete,ignore:g,only:_,notify:e.notify}),await y({path:e.path,password:e.password,store:e.store,force:e.force,verbose:e.verbose,noColor:e["no-color"],silent:!0}))}};w=o;o.summary="Uploads the current theme as a development theme to the connected store, then prints theme editor and preview URLs to your terminal. While running, changes will push to the store in real time.";o.descriptionWithMarkdown=`
1
+ import{a as v}from"./chunk-G6BFXMOV.js";import{a as c}from"./chunk-5VC4XXYH.js";import{a as u}from"./chunk-TM44Z7U7.js";import{a as y}from"./chunk-ZAN7AZTX.js";import{d as f}from"./chunk-N6IFIMC6.js";import{p,v as m}from"./chunk-4P54DKG4.js";import{xa as h}from"./chunk-TIU7MMRT.js";import{b as l,d}from"./chunk-NGCPVRDM.js";import{r as O}from"./chunk-T6CC5WUU.js";import{e as F,g as a}from"./chunk-VKWPEFWQ.js";a();var t=F(O(),1);var w,o=class extends m{async command(r,n){let{ignore:g=[],only:_=[]}=r;h("theme-command:dev:single-env:authenticated");let i,e;if(r.theme){let s={filter:{theme:r.theme}};i=await u(n,s),e={...r,theme:i.id.toString(),store:n.storeFqdn}}else{i=await new c(n).findOrCreate();let s=r["theme-editor-sync"]&&i.createdAtRuntime;e={...r,theme:i.id.toString(),store:n.storeFqdn,"overwrite-json":s}}await f(i,"start development mode",r["allow-live"])&&(await v({adminSession:n,commandConfig:this.config,directory:e.path,store:e.store,password:e.password,storePassword:e["store-password"],theme:i,listing:e.listing,host:e.host,port:e.port,"live-reload":e["live-reload"],"error-overlay":e["error-overlay"],force:e.force,open:e.open,"theme-editor-sync":e["theme-editor-sync"],"standard-events-inspector":e["standard-events-inspector"],noDelete:e.nodelete,ignore:g,only:_,notify:e.notify}),await y({path:e.path,password:e.password,store:e.store,force:e.force,verbose:e.verbose,noColor:e["no-color"],silent:!0}))}};w=o;o.summary="Uploads the current theme as a development theme to the connected store, then prints theme editor and preview URLs to your terminal. While running, changes will push to the store in real time.";o.descriptionWithMarkdown=`
2
2
  Uploads the current theme as the specified theme, or a [development theme](https://shopify.dev/docs/themes/tools/cli#development-themes), to a store so you can preview it.
3
3
 
4
4
  This command returns the following information:
@@ -1,4 +1,4 @@
1
- import{a as D}from"./chunk-F447QKVX.js";import{a as _,c as b}from"./chunk-7KHYEIA7.js";import{a as c,b as F}from"./chunk-H3V6Y5JO.js";import{e as y,q as T}from"./chunk-7ZIO3X22.js";import{i as v,p as g,v as w}from"./chunk-JGN7YG5X.js";import{b as u}from"./chunk-S5JJL3BP.js";import{A as p,v as d}from"./chunk-YYLEWVO6.js";import{V as f}from"./chunk-BXDZX3BS.js";import{r as C}from"./chunk-T6CC5WUU.js";import{e as Y,g as h}from"./chunk-VKWPEFWQ.js";h();h();async function I(t,e,i){let r=e.themes;e.development&&(r=[(await new D(t).find()).id.toString()]);let n=t.storeFqdn,s=await L(t,{...e,themes:r,development:!1});if(!e.force&&!i&&!await M(s,n))return;await Promise.all(s.map(o=>(y(o)&&v(),T(o.id,t))));let l=e.environment?[{subdued:`Environment: ${e.environment}
1
+ import{a as D}from"./chunk-5VC4XXYH.js";import{a as _,c as b}from"./chunk-TM44Z7U7.js";import{a as c,b as F}from"./chunk-N6IFIMC6.js";import{e as y,q as T}from"./chunk-I5X3IP6T.js";import{i as v,p as g,v as w}from"./chunk-4P54DKG4.js";import{b as u}from"./chunk-NGCPVRDM.js";import{A as p,v as d}from"./chunk-EEEKSYWV.js";import{V as f}from"./chunk-TB7HFPBB.js";import{r as C}from"./chunk-T6CC5WUU.js";import{e as Y,g as h}from"./chunk-VKWPEFWQ.js";h();h();async function I(t,e,i){let r=e.themes;e.development&&(r=[(await new D(t).find()).id.toString()]);let n=t.storeFqdn,s=await L(t,{...e,themes:r,development:!1});if(!e.force&&!i&&!await M(s,n))return;await Promise.all(s.map(o=>(y(o)&&v(),T(o.id,t))));let l=e.environment?[{subdued:`Environment: ${e.environment}
2
2
 
3
3
  `}]:[];d({body:f(s,o=>[...l,`The following themes were deleted from ${n}:`,F(o)],o=>[...l,"The theme",...c(o),`was deleted from ${n}.`])})}async function L(t,e){if(e.selectTheme||e.themes.length>0)return b(t,e);let i=t.storeFqdn;return[await _(t,{header:`Select a theme to delete from ${i}`,filter:{development:e.development}})]}async function M(t,e){let r={message:f(t,n=>[`Delete the following themes from ${e}?`],n=>["Delete",...c(n),`from ${e}?`]),confirmationMessage:"Yes, confirm changes",cancellationMessage:"Cancel"};return t.length>1&&(r.infoTable={"":t.map(c)}),p(r)}var a=Y(C(),1);var O,m=class extends w{async command(e,i,r){let{environment:n,development:s,force:l,theme:o}=e,E=o??[];await I(i,{selectTheme:e["show-all"],environment:n,development:s,themes:E,force:l},r)}};O=m;m.summary="Delete remote themes from the connected store. This command can't be undone.";m.descriptionWithMarkdown=`Deletes a theme from your store.
4
4
 
@@ -1 +1 @@
1
- import{a}from"./chunk-2MDFREEW.js";import{g as t}from"./chunk-VKWPEFWQ.js";t();var e=async()=>a.getAllSensitiveMetadata(),i=e;export{i as a};
1
+ import{a}from"./chunk-7PVNAILK.js";import{g as t}from"./chunk-VKWPEFWQ.js";t();var e=async()=>a.getAllSensitiveMetadata(),i=e;export{i as a};
@@ -1,4 +1,4 @@
1
- import{k as P,t as F}from"./chunk-7ZIO3X22.js";import{a as N}from"./chunk-Q7BOSHWX.js";import{a as T}from"./chunk-TGM7L6RV.js";import{M as H,O as q,o as $,va as d,xa as h}from"./chunk-3EQY5B4S.js";import{a as x}from"./chunk-Q3WOWDUU.js";import{P as v,x as I,y as L}from"./chunk-YYLEWVO6.js";import{d as l}from"./chunk-AUZCENYI.js";import{Fb as C,Hb as U,Pb as c}from"./chunk-BXDZX3BS.js";import{u as O}from"./chunk-MGPLKG23.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();p();function D(e){let t=new URLSearchParams;for(let[r,o]of Object.entries(e.replaceTemplates??[]))t.append(`replace_templates[${r}]`,o);for(let[r,o]of Object.entries(e.replaceExtensionTemplates??[])){let n=r.split("/")[0];t.append(`replace_extension_templates[${n}][${r}]`,o)}return t.append("_method",e.method),t}function w(){return{"User-Agent":`Shopify CLI; v=${x}`}}function k(e){return delete e.cookie,delete e.authorization,e}p();function S(e){let t={};return e.split(";").forEach(r=>{let o=r.match(/(.*?)=(.*)$/)??[],n=o[1]?.trim(),s=o[2]?.trim()??"";n&&(t[n]=s)}),t}function E(e){return Object.entries(e).map(([t,r])=>`${t}=${r}`).join("; ")}var y=class extends l{};async function Re(e){return F(e)}async function be(e,t,r){let o=M(t),n=new URLSearchParams;n.append("form_type","storefront_password"),n.append("utf8","\u2713"),n.append("password",e??""),h("theme-service:storefront-session:check-storefront-password");let s={"cache-control":"no-cache","content-type":"application/x-www-form-urlencoded",...r},a=await $(`${o}/password`,{headers:s,body:n.toString(),method:"POST",redirect:"manual"});if(a.status===429)throw d(new l(`Too many incorrect password attempts. Please try again after ${a.headers.get("retry-after")} seconds.`));return B(a,o)}async function j(e,t,r,o,n={}){let s={},a=await G(e,r,n),i=M(t);if(s._shopify_essential=a,h(`theme-service:storefront-session:is-password-protected:${!!o}`),!o)return s;let u=await ee(a,e,i,o,n);return{...s,...u}}async function G(e,t,r,o=1){let n=new URLSearchParams({preview_theme_id:t,_fd:"0",pb:"0"}),s=`${e}?${n}`;h("theme-service:storefront-session:get-session-essential-cookie");let a={...r,...w()},i=await $(s,{method:"HEAD",redirect:"manual",headers:a}),u=i.headers.raw()["set-cookie"]??[],f=_(u,"_shopify_essential");if(!f){if(c(`Failed to obtain _shopify_essential cookie.
1
+ import{k as P,t as F}from"./chunk-I5X3IP6T.js";import{a as N}from"./chunk-Q7BOSHWX.js";import{a as T}from"./chunk-WN5VTUWJ.js";import{M as H,O as q,o as $,va as d,xa as h}from"./chunk-TIU7MMRT.js";import{a as x}from"./chunk-B5MFFERE.js";import{P as v,x as I,y as L}from"./chunk-EEEKSYWV.js";import{d as l}from"./chunk-IIFRDOYG.js";import{Fb as C,Hb as U,Pb as c}from"./chunk-TB7HFPBB.js";import{u as O}from"./chunk-SZM6ANMN.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();p();function D(e){let t=new URLSearchParams;for(let[r,o]of Object.entries(e.replaceTemplates??[]))t.append(`replace_templates[${r}]`,o);for(let[r,o]of Object.entries(e.replaceExtensionTemplates??[])){let n=r.split("/")[0];t.append(`replace_extension_templates[${n}][${r}]`,o)}return t.append("_method",e.method),t}function w(){return{"User-Agent":`Shopify CLI; v=${x}`}}function k(e){return delete e.cookie,delete e.authorization,e}p();function S(e){let t={};return e.split(";").forEach(r=>{let o=r.match(/(.*?)=(.*)$/)??[],n=o[1]?.trim(),s=o[2]?.trim()??"";n&&(t[n]=s)}),t}function E(e){return Object.entries(e).map(([t,r])=>`${t}=${r}`).join("; ")}var y=class extends l{};async function Re(e){return F(e)}async function be(e,t,r){let o=M(t),n=new URLSearchParams;n.append("form_type","storefront_password"),n.append("utf8","\u2713"),n.append("password",e??""),h("theme-service:storefront-session:check-storefront-password");let s={"cache-control":"no-cache","content-type":"application/x-www-form-urlencoded",...r},a=await $(`${o}/password`,{headers:s,body:n.toString(),method:"POST",redirect:"manual"});if(a.status===429)throw d(new l(`Too many incorrect password attempts. Please try again after ${a.headers.get("retry-after")} seconds.`));return B(a,o)}async function j(e,t,r,o,n={}){let s={},a=await G(e,r,n),i=M(t);if(s._shopify_essential=a,h(`theme-service:storefront-session:is-password-protected:${!!o}`),!o)return s;let u=await ee(a,e,i,o,n);return{...s,...u}}async function G(e,t,r,o=1){let n=new URLSearchParams({preview_theme_id:t,_fd:"0",pb:"0"}),s=`${e}?${n}`;h("theme-service:storefront-session:get-session-essential-cookie");let a={...r,...w()},i=await $(s,{method:"HEAD",redirect:"manual",headers:a}),u=i.headers.raw()["set-cookie"]??[],f=_(u,"_shopify_essential");if(!f){if(c(`Failed to obtain _shopify_essential cookie.
2
2
 
3
3
  -Request ID: ${i.headers.get("x-request-id")??"unknown"}
4
4
 
@@ -1,3 +1,3 @@
1
- import{a as M}from"./chunk-PLHJQQVZ.js";import{a as S}from"./chunk-6V37CHBZ.js";import{A as b,B as A,D as C,E as x,Fa as V}from"./chunk-KJQAJUDU.js";import{a as c}from"./chunk-2MDFREEW.js";import{b as j,c as E}from"./chunk-S5JJL3BP.js";import{v as y,x as u}from"./chunk-YYLEWVO6.js";import{d as g,f as o}from"./chunk-AUZCENYI.js";import{Lb as s,Sb as w,Vb as h}from"./chunk-BXDZX3BS.js";import{g as m}from"./chunk-VKWPEFWQ.js";m();m();async function N(f,t){let i=new Set(t.map(n=>n.file)).size;await c.addPublicMetadata(()=>({cmd_app_validate_valid:f,cmd_app_validate_issue_count:t.length,cmd_app_validate_file_count:i}))}async function J(f,t={json:!1}){let i=f.errors;if(!i||i.isEmpty()){if(await N(!0,[]),t.json){s(JSON.stringify({valid:!0,issues:[]},null,2));return}y({headline:"App configuration is valid."});return}let n=i.getErrors();if(await N(!1,n),t.json){let d=n.map(({file:p,message:a,path:r,code:e})=>({file:p,message:a,path:r,code:e}));throw s(JSON.stringify({valid:!1,issues:d},null,2)),new o}throw u({headline:"Validation errors found.",body:n.map(d=>`\u2022 ${x(d)}`).join(`
1
+ import{a as M}from"./chunk-UHIP5CFI.js";import{a as S}from"./chunk-VJQJ5PTQ.js";import{A as b,B as A,D as C,E as x,Fa as V}from"./chunk-4MLEL3VK.js";import{a as c}from"./chunk-7PVNAILK.js";import{b as j,c as E}from"./chunk-NGCPVRDM.js";import{v as y,x as u}from"./chunk-EEEKSYWV.js";import{d as g,f as o}from"./chunk-IIFRDOYG.js";import{Lb as s,Sb as w,Vb as h}from"./chunk-TB7HFPBB.js";import{g as m}from"./chunk-VKWPEFWQ.js";m();m();async function N(f,t){let i=new Set(t.map(n=>n.file)).size;await c.addPublicMetadata(()=>({cmd_app_validate_valid:f,cmd_app_validate_issue_count:t.length,cmd_app_validate_file_count:i}))}async function J(f,t={json:!1}){let i=f.errors;if(!i||i.isEmpty()){if(await N(!0,[]),t.json){s(JSON.stringify({valid:!0,issues:[]},null,2));return}y({headline:"App configuration is valid."});return}let n=i.getErrors();if(await N(!1,n),t.json){let d=n.map(({file:p,message:a,path:r,code:e})=>({file:p,message:a,path:r,code:e}));throw s(JSON.stringify({valid:!1,issues:d},null,2)),new o}throw u({headline:"Validation errors found.",body:n.map(d=>`\u2022 ${x(d)}`).join(`
2
2
  `)}),new o}var v;async function _(f,t){await c.addPublicMetadata(()=>({cmd_app_validate_valid:!1,cmd_app_validate_issue_count:f,cmd_app_validate_file_count:t}))}var l=class extends M{async run(){let{flags:t}=await this.parse(v);await c.addPublicMetadata(()=>({cmd_app_validate_json:t.json}));let i;try{i=await b.load(t.path)}catch(a){if(a instanceof g&&t.json){await _(1,1);let r=h(w(a.message)).trim();throw s(JSON.stringify({valid:!1,issues:[{message:r}]},null,2)),new o}throw a}let n;try{n=await C(i,t.config)}catch(a){if(a instanceof g&&t.json){await _(1,1);let r=h(w(a.message)).trim();throw s(JSON.stringify({valid:!1,issues:[{message:r}]},null,2)),new o}throw a}let d=A(i,n.file);if(d.length>0){let a=d.map(e=>({file:e.path,message:e.message})),r=new Set(d.map(e=>e.path)).size;throw await _(a.length,r),t.json?(s(JSON.stringify({valid:!1,issues:a},null,2)),new o):(u({headline:"Validation errors found.",body:a.map(e=>`\u2022 ${e.message}`).join(`
3
3
  `)}),new o)}let p;try{p=(await V({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config,unsafeTolerateErrors:!0})).app}catch(a){let r=a instanceof g?h(w(a.message)).trim():"";throw r.startsWith("Validation errors in ")&&t.json?(await _(1,1),s(JSON.stringify({valid:!1,issues:[{message:r}]},null,2)),new o):a}return await J(p,{json:t.json}),{app:p}}};v=l;l.summary="Validate your app configuration and extensions.";l.descriptionWithMarkdown="Validates the selected app configuration file and all extension configurations against their schemas and reports any errors found.";l.description=v.descriptionWithoutMarkdown();l.flags={...j,...S,...E};var X=l;export{X as a};
@@ -1 +1 @@
1
- import{b as c}from"./chunk-TGM7L6RV.js";import{h as E,ua as T,va as u,xa as s}from"./chunk-3EQY5B4S.js";import{F as w}from"./chunk-YYLEWVO6.js";import{d as N}from"./chunk-AUZCENYI.js";import{Pb as V,T as _}from"./chunk-BXDZX3BS.js";import{g as l}from"./chunk-VKWPEFWQ.js";l();var j=/gid:\/\/shopify\/\w*\/(\d+)/,g="development",ne="live",ie="unpublished";function ae(e){return e.role===g}async function te(e){let n=await _("creative");return w({message:e,defaultValue:n})}function S(e){return`gid://shopify/OnlineStoreTheme/${e}`}function f(e){let n=j.exec(e);if(n&&n[1]!==void 0)return parseInt(n[1],10);throw new Error(`Invalid GID: ${e}`)}l();l();var F;(function(e){e.Delete="DELETE",e.Upload="UPLOAD"})(F||(F={}));l();function y(e){if(!e)return;e.processing??(e.processing=!1),e.createdAtRuntime??(e.createdAtRuntime=!1);let{id:n,name:a,role:i,processing:t,createdAtRuntime:d}=e;return{id:n,name:a,processing:t,createdAtRuntime:d,role:i==="main"?"live":i}}function re(e){if(!e)return;let{key:n,checksum:a,attachment:i,value:t}=e,d={size:(t||i||"").length,mtime:Date.now()};return{key:n,checksum:a,attachment:i,value:t,stats:d}}l();var A={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themeUpdate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OnlineStoreThemeInput"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themeUpdate"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}},{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"theme"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var x={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themeDelete"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themeDelete"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"deletedThemeId"}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var I={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themeDuplicate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"name"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themeDuplicate"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}},{kind:"Argument",name:{kind:"Name",value:"name"},value:{kind:"Variable",name:{kind:"Name",value:"name"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"newTheme"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var O={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themePublish"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themePublish"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"theme"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var B={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themeCreate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"name"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"source"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"URL"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"role"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ThemeRole"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themeCreate"},arguments:[{kind:"Argument",name:{kind:"Name",value:"name"},value:{kind:"Variable",name:{kind:"Name",value:"name"}}},{kind:"Argument",name:{kind:"Name",value:"source"},value:{kind:"Variable",name:{kind:"Name",value:"source"}}},{kind:"Argument",name:{kind:"Name",value:"role"},value:{kind:"Variable",name:{kind:"Name",value:"role"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"theme"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var C={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getThemeFileBodies"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"after"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"filenames"}},type:{kind:"ListType",type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"theme"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"files"},arguments:[{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"IntValue",value:"250"}},{kind:"Argument",name:{kind:"Name",value:"after"},value:{kind:"Variable",name:{kind:"Name",value:"after"}}},{kind:"Argument",name:{kind:"Name",value:"filenames"},value:{kind:"Variable",name:{kind:"Name",value:"filenames"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"nodes"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"size"}},{kind:"Field",name:{kind:"Name",value:"checksumMd5"}},{kind:"Field",name:{kind:"Name",value:"body"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"OnlineStoreThemeFileBodyText"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"content"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"OnlineStoreThemeFileBodyBase64"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"contentBase64"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"OnlineStoreThemeFileBodyUrl"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"url"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"pageInfo"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hasNextPage"}},{kind:"Field",name:{kind:"Name",value:"endCursor"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var q={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getThemeFileChecksums"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"after"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"theme"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"files"},arguments:[{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"IntValue",value:"250"}},{kind:"Argument",name:{kind:"Name",value:"after"},value:{kind:"Variable",name:{kind:"Name",value:"after"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"nodes"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"size"}},{kind:"Field",name:{kind:"Name",value:"checksumMd5"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"pageInfo"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hasNextPage"}},{kind:"Field",name:{kind:"Name",value:"endCursor"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var P={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themeFilesUpsert"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"files"}},type:{kind:"NonNullType",type:{kind:"ListType",type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OnlineStoreThemeFilesUpsertFileInput"}}}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"themeId"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themeFilesUpsert"},arguments:[{kind:"Argument",name:{kind:"Name",value:"files"},value:{kind:"Variable",name:{kind:"Name",value:"files"}}},{kind:"Argument",name:{kind:"Name",value:"themeId"},value:{kind:"Variable",name:{kind:"Name",value:"themeId"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"upsertedThemeFiles"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var U={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themeFilesDelete"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"themeId"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"files"}},type:{kind:"NonNullType",type:{kind:"ListType",type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themeFilesDelete"},arguments:[{kind:"Argument",name:{kind:"Name",value:"themeId"},value:{kind:"Variable",name:{kind:"Name",value:"themeId"}}},{kind:"Argument",name:{kind:"Name",value:"files"},value:{kind:"Variable",name:{kind:"Name",value:"files"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"deletedThemeFiles"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var L={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"metafieldDefinitionsByOwnerType"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"ownerType"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"MetafieldOwnerType"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"metafieldDefinitions"},arguments:[{kind:"Argument",name:{kind:"Name",value:"ownerType"},value:{kind:"Variable",name:{kind:"Name",value:"ownerType"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"IntValue",value:"250"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"nodes"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"key"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"namespace"}},{kind:"Field",name:{kind:"Name",value:"description"}},{kind:"Field",name:{kind:"Name",value:"type"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"category"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var R={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getThemes"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"after"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themes"},arguments:[{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"IntValue",value:"50"}},{kind:"Argument",name:{kind:"Name",value:"after"},value:{kind:"Variable",name:{kind:"Name",value:"after"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"nodes"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"processing"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"pageInfo"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hasNextPage"}},{kind:"Field",name:{kind:"Name",value:"endCursor"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var M={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getTheme"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"theme"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"processing"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var G={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"findDevelopmentThemeByName"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"name"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themes"},arguments:[{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"IntValue",value:"2"}},{kind:"Argument",name:{kind:"Name",value:"names"},value:{kind:"ListValue",values:[{kind:"Variable",name:{kind:"Name",value:"name"}}]}},{kind:"Argument",name:{kind:"Name",value:"roles"},value:{kind:"ListValue",values:[{kind:"EnumValue",value:"DEVELOPMENT"}]}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"nodes"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"processing"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var $={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"OnlineStorePasswordProtection"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"onlineStore"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"passwordProtection"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"enabled"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};var Q="https://cdn.shopify.com/static/online-store/theme-skeleton.zip",p={useNetworkLevelRetry:!0,useAbortSignal:!1,maxRetryTimeMs:90*1e3,recordCommandRetries:!0},z="the required theme access scope";async function rn(e,n){let a=S(e);s("theme-api:fetch-theme");try{let{theme:i}=await c({query:M,session:n,variables:{id:a},responseOptions:{handleErrors:!1},preferredBehaviour:p});if(i)return y({id:f(i.id),processing:i.processing,role:i.role.toLowerCase(),name:i.name})}catch(i){H(i),u(i),V(`Error fetching theme with ID: ${e}`)}}async function sn(e){let n=[],a=null;for(s("theme-api:fetch-themes");;){let i=await b({query:R,session:e,variables:{after:a},responseOptions:{handleErrors:!1},preferredBehaviour:p});i.themes||r("Failed to fetch themes");let{nodes:t,pageInfo:d}=i.themes;if(t.forEach(m=>{let o=y({id:f(m.id),processing:m.processing,role:m.role.toLowerCase(),name:m.name});o&&n.push(o)}),!d.hasNextPage)return n;a=d.endCursor}}async function kn(e,n){s("theme-api:find-development-theme-by-name");let{themes:a}=await b({query:G,session:n,variables:{name:e},responseOptions:{handleErrors:!1},preferredBehaviour:p});if(a||r("Failed to fetch themes"),a.nodes.length>1)throw u(new N(`More than one development theme is named "${e}"`));if(a.nodes.length===1){let{id:i,processing:t,role:d,name:m}=a.nodes[0];return y({id:f(i),processing:t,role:d.toLowerCase(),name:m})}}async function un(e,n){let a=e.src??Q;s("theme-api:create-theme");let{themeCreate:i}=await c({query:B,session:n,variables:{name:e.name??"",source:a,role:(e.role??g).toUpperCase()},responseOptions:{handleErrors:!1},preferredBehaviour:p});i||r("Failed to create theme");let{theme:t,userErrors:d}=i;if(d.length){let m=i.userErrors.map(o=>o.message).join(", ");throw u(new N(m))}return t||r("Failed to create theme"),y({id:f(t.id),name:t.name,role:t.role.toLowerCase()})}async function cn(e,n,a){let i=[],t=null;for(s("theme-api:fetch-assets");;){let d=await b({query:C,session:a,variables:{id:D(e),filenames:n,after:t},responseOptions:{handleErrors:!1},preferredBehaviour:p});if(!d.theme?.files?.nodes||!d.theme?.files?.pageInfo){let k=d.theme?.files?.userErrors.map(h=>h.filename).join(", ");r(`Error fetching assets: ${k}`)}let{nodes:m,pageInfo:o}=d.theme.files;if(i.push(...await Promise.all(m.map(async k=>{let{attachment:h,value:v}=await Z(k.body);return{attachment:h,key:k.filename,checksum:k.checksumMd5,value:v}}))),!o.hasNextPage)return i;t=o.endCursor}}async function pn(e,n,a){let t=[];s("theme-api:delete-assets");for(let d=0;d<n.length;d+=50){let m=n.slice(d,d+50),{themeFilesDelete:o}=await c({query:U,session:a,variables:{themeId:S(e),files:m},preferredBehaviour:p});o||r("Failed to delete theme assets");let{deletedThemeFiles:k,userErrors:h}=o;k&&k.forEach(v=>{t.push({key:v.filename,success:!0,operation:F.Delete})}),h.length>0&&h.forEach(v=>{v.filename?(u(`Asset deletion failed for ${v.filename}: ${v.message}`),t.push({key:v.filename,success:!1,operation:F.Delete,errors:{asset:[v.message]}})):r(`Failed to delete theme assets: ${v.message}`)})}return t}async function vn(e,n,a){let i=[];s("theme-api:bulk-upload-assets");for(let t=0;t<n.length;t+=50){let d=n.slice(t,t+50),m=X(d);T("theme-api:upload-files");let o=await K(e,m,a);T("theme-api:upload-files"),i.push(...W(o))}return i}function X(e){return e.map(n=>n.attachment?{filename:n.key,body:{type:"BASE64",value:n.attachment}}:{filename:n.key,body:{type:"TEXT",value:n.value??""}})}async function K(e,n,a){return c({query:P,session:a,variables:{themeId:D(e),files:n},preferredBehaviour:p})}function W(e){let{themeFilesUpsert:n}=e;n||r("Failed to upload theme files");let{upsertedThemeFiles:a,userErrors:i}=n,t=[];return a?.forEach(d=>{t.push({key:d.filename,success:!0,operation:F.Upload})}),i.forEach(d=>{d.filename||r(`Error uploading theme files: ${d.message}`),u(`Asset upload failed for ${d.filename}: ${d.message}`),t.push({key:d.filename,success:!1,operation:F.Upload,errors:{asset:[d.message]}})}),t}async function Nn(e,n){let a=[],i=null;for(s("theme-api:fetch-checksums");;){let t=await b({query:q,session:n,variables:{id:D(e),after:i},responseOptions:{handleErrors:!1},preferredBehaviour:p});if(!t?.theme?.files?.nodes||!t?.theme?.files?.pageInfo){let o=t.theme?.files?.userErrors.map(k=>k.filename).join(", ");throw u(new N(`Failed to fetch checksums for: ${o}`))}let{nodes:d,pageInfo:m}=t.theme.files;if(a.push(...d.map(o=>({key:o.filename,checksum:o.checksumMd5}))),!m.hasNextPage)return a;i=m.endCursor}}async function hn(e,n,a){let i=n.name,t={};i&&(t.name=i),s("theme-api:update-theme");let{themeUpdate:d}=await c({query:A,session:a,variables:{id:S(e),input:t},preferredBehaviour:p});d||r("Failed to update theme");let{theme:m,userErrors:o}=d;if(o.length){let k=d.userErrors.map(h=>h.message).join(", ");throw u(new N(k))}return m||r("Failed to update theme"),y({id:f(m.id),name:m.name,role:m.role.toLowerCase()})}async function fn(e,n){s("theme-api:publish-theme");let{themePublish:a}=await c({query:O,session:n,variables:{id:S(e)},preferredBehaviour:p});a||r("Failed to update theme");let{theme:i,userErrors:t}=a;if(t.length){let d=a.userErrors.map(m=>m.message).join(", ");throw u(new N(d))}return i||r("Failed to update theme"),y({id:f(i.id),name:i.name,role:i.role.toLowerCase()})}async function yn(e,n){s("theme-api:delete-theme");let{themeDelete:a}=await c({query:x,session:n,variables:{id:S(e)},preferredBehaviour:p});a||r("Failed to update theme");let{deletedThemeId:i,userErrors:t}=a;if(t.length){let d=a.userErrors.map(m=>m.message).join(", ");throw u(new N(d))}return i||r("Failed to update theme"),!0}async function Sn(e,n,a){let i;s("theme-api:duplicate-theme");let{themeDuplicate:t}=await c({query:I,session:a,variables:{id:S(e),name:n},preferredBehaviour:p,responseOptions:{onResponse:k=>{i=k.headers.get("x-request-id")??void 0}}});if(!t)return u("Failed to duplicate theme"),{theme:void 0,userErrors:[{message:"Failed to duplicate theme"}],requestId:i};let{newTheme:d,userErrors:m}=t;return m.length>0?{theme:void 0,userErrors:m,requestId:i}:d?{theme:y({id:f(d.id),name:d.name,role:d.role.toLowerCase()}),userErrors:[],requestId:i}:{theme:void 0,userErrors:[{message:"Failed to duplicate theme"}],requestId:i}}async function Fn(e,n){s("theme-api:fetch-metafield-definitions");let{metafieldDefinitions:a}=await c({query:L,session:n,variables:{ownerType:e}});return a.nodes.map(i=>({key:i.key,namespace:i.namespace,name:i.name,description:i.description,type:{name:i.type.name,category:i.type.category}}))}async function bn(e){s("theme-api:check-password-protection");let{onlineStore:n}=await c({query:$,session:e});n||r("Unable to get details about the storefront's password protection");let{passwordProtection:a}=n;return a.enabled}function r(e){throw u(new N(e))}async function b(e){try{return await c(e)}catch(n){throw H(n),n}}function H(e){if(!(e instanceof E))return;let n=Y(e);if(!n)return;let a=[["If you authenticated with an Admin API access token, update the app or integration that issued the token to include the required theme access scopes, then reauthorize it or generate a new token."],["For",{command:"theme pull"},{char:","},{command:"theme list"},{char:","},"and",{command:"theme info"},{char:","},"add the",{command:"read_themes"},"scope",{char:"."}],["For",{command:"theme push"},"and",{command:"theme dev"},{char:","},"add both the",{command:"read_themes"},"and",{command:"write_themes"},"scopes",{char:"."}],["If you authenticated with your Shopify account, make sure your staff or collaborator account can access Online Store themes, then run",{command:"shopify auth logout"},"and try again",{char:"."}],["See",{link:{label:"Shopify access scopes",url:"https://shopify.dev/api/usage/access-scopes"}},{char:"."}]];throw u(new N(`The authenticated account or access token is missing ${n}.`,void 0,a))}function Y(e){let n=e.response.errors;if(!Array.isArray(n))return;let a=n.find(t=>t.extensions?.code==="ACCESS_DENIED");if(!a)return;let i=a.extensions?.requiredAccess;return typeof i!="string"?z:i.trim().replace(/\.$/,"")||z}function D(e){return`gid://shopify/OnlineStoreTheme/${e}`}async function Z(e){switch(e.__typename){case"OnlineStoreThemeFileBodyText":return{value:e.content};case"OnlineStoreThemeFileBodyBase64":return{attachment:e.contentBase64};case"OnlineStoreThemeFileBodyUrl":try{let a=await(await fetch(e.url)).arrayBuffer();return{attachment:Buffer.from(a).toString("base64")}}catch{throw u(new N(`Error downloading content from URL: ${e.url}`))}}}export{re as a,g as b,ne as c,ie as d,ae as e,te as f,rn as g,sn as h,kn as i,un as j,cn as k,pn as l,vn as m,Nn as n,hn as o,fn as p,yn as q,Sn as r,Fn as s,bn as t};
1
+ import{b as c}from"./chunk-WN5VTUWJ.js";import{h as E,ua as T,va as u,xa as s}from"./chunk-TIU7MMRT.js";import{F as w}from"./chunk-EEEKSYWV.js";import{d as N}from"./chunk-IIFRDOYG.js";import{Pb as V,T as _}from"./chunk-TB7HFPBB.js";import{g as l}from"./chunk-VKWPEFWQ.js";l();var j=/gid:\/\/shopify\/\w*\/(\d+)/,g="development",ne="live",ie="unpublished";function ae(e){return e.role===g}async function te(e){let n=await _("creative");return w({message:e,defaultValue:n})}function S(e){return`gid://shopify/OnlineStoreTheme/${e}`}function f(e){let n=j.exec(e);if(n&&n[1]!==void 0)return parseInt(n[1],10);throw new Error(`Invalid GID: ${e}`)}l();l();var F;(function(e){e.Delete="DELETE",e.Upload="UPLOAD"})(F||(F={}));l();function y(e){if(!e)return;e.processing??(e.processing=!1),e.createdAtRuntime??(e.createdAtRuntime=!1);let{id:n,name:a,role:i,processing:t,createdAtRuntime:d}=e;return{id:n,name:a,processing:t,createdAtRuntime:d,role:i==="main"?"live":i}}function re(e){if(!e)return;let{key:n,checksum:a,attachment:i,value:t}=e,d={size:(t||i||"").length,mtime:Date.now()};return{key:n,checksum:a,attachment:i,value:t,stats:d}}l();var A={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themeUpdate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OnlineStoreThemeInput"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themeUpdate"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}},{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"theme"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var x={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themeDelete"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themeDelete"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"deletedThemeId"}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var I={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themeDuplicate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"name"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themeDuplicate"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}},{kind:"Argument",name:{kind:"Name",value:"name"},value:{kind:"Variable",name:{kind:"Name",value:"name"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"newTheme"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var O={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themePublish"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themePublish"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"theme"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var B={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themeCreate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"name"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"source"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"URL"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"role"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ThemeRole"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themeCreate"},arguments:[{kind:"Argument",name:{kind:"Name",value:"name"},value:{kind:"Variable",name:{kind:"Name",value:"name"}}},{kind:"Argument",name:{kind:"Name",value:"source"},value:{kind:"Variable",name:{kind:"Name",value:"source"}}},{kind:"Argument",name:{kind:"Name",value:"role"},value:{kind:"Variable",name:{kind:"Name",value:"role"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"theme"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var C={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getThemeFileBodies"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"after"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"filenames"}},type:{kind:"ListType",type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"theme"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"files"},arguments:[{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"IntValue",value:"250"}},{kind:"Argument",name:{kind:"Name",value:"after"},value:{kind:"Variable",name:{kind:"Name",value:"after"}}},{kind:"Argument",name:{kind:"Name",value:"filenames"},value:{kind:"Variable",name:{kind:"Name",value:"filenames"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"nodes"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"size"}},{kind:"Field",name:{kind:"Name",value:"checksumMd5"}},{kind:"Field",name:{kind:"Name",value:"body"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"OnlineStoreThemeFileBodyText"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"content"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"OnlineStoreThemeFileBodyBase64"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"contentBase64"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"OnlineStoreThemeFileBodyUrl"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"url"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"pageInfo"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hasNextPage"}},{kind:"Field",name:{kind:"Name",value:"endCursor"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var q={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getThemeFileChecksums"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"after"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"theme"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"files"},arguments:[{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"IntValue",value:"250"}},{kind:"Argument",name:{kind:"Name",value:"after"},value:{kind:"Variable",name:{kind:"Name",value:"after"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"nodes"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"size"}},{kind:"Field",name:{kind:"Name",value:"checksumMd5"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"pageInfo"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hasNextPage"}},{kind:"Field",name:{kind:"Name",value:"endCursor"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var P={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themeFilesUpsert"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"files"}},type:{kind:"NonNullType",type:{kind:"ListType",type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OnlineStoreThemeFilesUpsertFileInput"}}}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"themeId"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themeFilesUpsert"},arguments:[{kind:"Argument",name:{kind:"Name",value:"files"},value:{kind:"Variable",name:{kind:"Name",value:"files"}}},{kind:"Argument",name:{kind:"Name",value:"themeId"},value:{kind:"Variable",name:{kind:"Name",value:"themeId"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"upsertedThemeFiles"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var U={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"themeFilesDelete"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"themeId"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"files"}},type:{kind:"NonNullType",type:{kind:"ListType",type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themeFilesDelete"},arguments:[{kind:"Argument",name:{kind:"Name",value:"themeId"},value:{kind:"Variable",name:{kind:"Name",value:"themeId"}}},{kind:"Argument",name:{kind:"Name",value:"files"},value:{kind:"Variable",name:{kind:"Name",value:"files"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"deletedThemeFiles"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"filename"}},{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var L={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"metafieldDefinitionsByOwnerType"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"ownerType"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"MetafieldOwnerType"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"metafieldDefinitions"},arguments:[{kind:"Argument",name:{kind:"Name",value:"ownerType"},value:{kind:"Variable",name:{kind:"Name",value:"ownerType"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"IntValue",value:"250"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"nodes"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"key"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"namespace"}},{kind:"Field",name:{kind:"Name",value:"description"}},{kind:"Field",name:{kind:"Name",value:"type"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"category"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var R={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getThemes"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"after"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themes"},arguments:[{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"IntValue",value:"50"}},{kind:"Argument",name:{kind:"Name",value:"after"},value:{kind:"Variable",name:{kind:"Name",value:"after"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"nodes"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"processing"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"pageInfo"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hasNextPage"}},{kind:"Field",name:{kind:"Name",value:"endCursor"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var M={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getTheme"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"id"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"theme"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"id"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"processing"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var G={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"findDevelopmentThemeByName"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"name"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"themes"},arguments:[{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"IntValue",value:"2"}},{kind:"Argument",name:{kind:"Name",value:"names"},value:{kind:"ListValue",values:[{kind:"Variable",name:{kind:"Name",value:"name"}}]}},{kind:"Argument",name:{kind:"Name",value:"roles"},value:{kind:"ListValue",values:[{kind:"EnumValue",value:"DEVELOPMENT"}]}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"nodes"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"processing"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};l();var $={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"OnlineStorePasswordProtection"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"onlineStore"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"passwordProtection"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"enabled"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};var Q="https://cdn.shopify.com/static/online-store/theme-skeleton.zip",p={useNetworkLevelRetry:!0,useAbortSignal:!1,maxRetryTimeMs:90*1e3,recordCommandRetries:!0},z="the required theme access scope";async function rn(e,n){let a=S(e);s("theme-api:fetch-theme");try{let{theme:i}=await c({query:M,session:n,variables:{id:a},responseOptions:{handleErrors:!1},preferredBehaviour:p});if(i)return y({id:f(i.id),processing:i.processing,role:i.role.toLowerCase(),name:i.name})}catch(i){H(i),u(i),V(`Error fetching theme with ID: ${e}`)}}async function sn(e){let n=[],a=null;for(s("theme-api:fetch-themes");;){let i=await b({query:R,session:e,variables:{after:a},responseOptions:{handleErrors:!1},preferredBehaviour:p});i.themes||r("Failed to fetch themes");let{nodes:t,pageInfo:d}=i.themes;if(t.forEach(m=>{let o=y({id:f(m.id),processing:m.processing,role:m.role.toLowerCase(),name:m.name});o&&n.push(o)}),!d.hasNextPage)return n;a=d.endCursor}}async function kn(e,n){s("theme-api:find-development-theme-by-name");let{themes:a}=await b({query:G,session:n,variables:{name:e},responseOptions:{handleErrors:!1},preferredBehaviour:p});if(a||r("Failed to fetch themes"),a.nodes.length>1)throw u(new N(`More than one development theme is named "${e}"`));if(a.nodes.length===1){let{id:i,processing:t,role:d,name:m}=a.nodes[0];return y({id:f(i),processing:t,role:d.toLowerCase(),name:m})}}async function un(e,n){let a=e.src??Q;s("theme-api:create-theme");let{themeCreate:i}=await c({query:B,session:n,variables:{name:e.name??"",source:a,role:(e.role??g).toUpperCase()},responseOptions:{handleErrors:!1},preferredBehaviour:p});i||r("Failed to create theme");let{theme:t,userErrors:d}=i;if(d.length){let m=i.userErrors.map(o=>o.message).join(", ");throw u(new N(m))}return t||r("Failed to create theme"),y({id:f(t.id),name:t.name,role:t.role.toLowerCase()})}async function cn(e,n,a){let i=[],t=null;for(s("theme-api:fetch-assets");;){let d=await b({query:C,session:a,variables:{id:D(e),filenames:n,after:t},responseOptions:{handleErrors:!1},preferredBehaviour:p});if(!d.theme?.files?.nodes||!d.theme?.files?.pageInfo){let k=d.theme?.files?.userErrors.map(h=>h.filename).join(", ");r(`Error fetching assets: ${k}`)}let{nodes:m,pageInfo:o}=d.theme.files;if(i.push(...await Promise.all(m.map(async k=>{let{attachment:h,value:v}=await Z(k.body);return{attachment:h,key:k.filename,checksum:k.checksumMd5,value:v}}))),!o.hasNextPage)return i;t=o.endCursor}}async function pn(e,n,a){let t=[];s("theme-api:delete-assets");for(let d=0;d<n.length;d+=50){let m=n.slice(d,d+50),{themeFilesDelete:o}=await c({query:U,session:a,variables:{themeId:S(e),files:m},preferredBehaviour:p});o||r("Failed to delete theme assets");let{deletedThemeFiles:k,userErrors:h}=o;k&&k.forEach(v=>{t.push({key:v.filename,success:!0,operation:F.Delete})}),h.length>0&&h.forEach(v=>{v.filename?(u(`Asset deletion failed for ${v.filename}: ${v.message}`),t.push({key:v.filename,success:!1,operation:F.Delete,errors:{asset:[v.message]}})):r(`Failed to delete theme assets: ${v.message}`)})}return t}async function vn(e,n,a){let i=[];s("theme-api:bulk-upload-assets");for(let t=0;t<n.length;t+=50){let d=n.slice(t,t+50),m=X(d);T("theme-api:upload-files");let o=await K(e,m,a);T("theme-api:upload-files"),i.push(...W(o))}return i}function X(e){return e.map(n=>n.attachment?{filename:n.key,body:{type:"BASE64",value:n.attachment}}:{filename:n.key,body:{type:"TEXT",value:n.value??""}})}async function K(e,n,a){return c({query:P,session:a,variables:{themeId:D(e),files:n},preferredBehaviour:p})}function W(e){let{themeFilesUpsert:n}=e;n||r("Failed to upload theme files");let{upsertedThemeFiles:a,userErrors:i}=n,t=[];return a?.forEach(d=>{t.push({key:d.filename,success:!0,operation:F.Upload})}),i.forEach(d=>{d.filename||r(`Error uploading theme files: ${d.message}`),u(`Asset upload failed for ${d.filename}: ${d.message}`),t.push({key:d.filename,success:!1,operation:F.Upload,errors:{asset:[d.message]}})}),t}async function Nn(e,n){let a=[],i=null;for(s("theme-api:fetch-checksums");;){let t=await b({query:q,session:n,variables:{id:D(e),after:i},responseOptions:{handleErrors:!1},preferredBehaviour:p});if(!t?.theme?.files?.nodes||!t?.theme?.files?.pageInfo){let o=t.theme?.files?.userErrors.map(k=>k.filename).join(", ");throw u(new N(`Failed to fetch checksums for: ${o}`))}let{nodes:d,pageInfo:m}=t.theme.files;if(a.push(...d.map(o=>({key:o.filename,checksum:o.checksumMd5}))),!m.hasNextPage)return a;i=m.endCursor}}async function hn(e,n,a){let i=n.name,t={};i&&(t.name=i),s("theme-api:update-theme");let{themeUpdate:d}=await c({query:A,session:a,variables:{id:S(e),input:t},preferredBehaviour:p});d||r("Failed to update theme");let{theme:m,userErrors:o}=d;if(o.length){let k=d.userErrors.map(h=>h.message).join(", ");throw u(new N(k))}return m||r("Failed to update theme"),y({id:f(m.id),name:m.name,role:m.role.toLowerCase()})}async function fn(e,n){s("theme-api:publish-theme");let{themePublish:a}=await c({query:O,session:n,variables:{id:S(e)},preferredBehaviour:p});a||r("Failed to update theme");let{theme:i,userErrors:t}=a;if(t.length){let d=a.userErrors.map(m=>m.message).join(", ");throw u(new N(d))}return i||r("Failed to update theme"),y({id:f(i.id),name:i.name,role:i.role.toLowerCase()})}async function yn(e,n){s("theme-api:delete-theme");let{themeDelete:a}=await c({query:x,session:n,variables:{id:S(e)},preferredBehaviour:p});a||r("Failed to update theme");let{deletedThemeId:i,userErrors:t}=a;if(t.length){let d=a.userErrors.map(m=>m.message).join(", ");throw u(new N(d))}return i||r("Failed to update theme"),!0}async function Sn(e,n,a){let i;s("theme-api:duplicate-theme");let{themeDuplicate:t}=await c({query:I,session:a,variables:{id:S(e),name:n},preferredBehaviour:p,responseOptions:{onResponse:k=>{i=k.headers.get("x-request-id")??void 0}}});if(!t)return u("Failed to duplicate theme"),{theme:void 0,userErrors:[{message:"Failed to duplicate theme"}],requestId:i};let{newTheme:d,userErrors:m}=t;return m.length>0?{theme:void 0,userErrors:m,requestId:i}:d?{theme:y({id:f(d.id),name:d.name,role:d.role.toLowerCase()}),userErrors:[],requestId:i}:{theme:void 0,userErrors:[{message:"Failed to duplicate theme"}],requestId:i}}async function Fn(e,n){s("theme-api:fetch-metafield-definitions");let{metafieldDefinitions:a}=await c({query:L,session:n,variables:{ownerType:e}});return a.nodes.map(i=>({key:i.key,namespace:i.namespace,name:i.name,description:i.description,type:{name:i.type.name,category:i.type.category}}))}async function bn(e){s("theme-api:check-password-protection");let{onlineStore:n}=await c({query:$,session:e});n||r("Unable to get details about the storefront's password protection");let{passwordProtection:a}=n;return a.enabled}function r(e){throw u(new N(e))}async function b(e){try{return await c(e)}catch(n){throw H(n),n}}function H(e){if(!(e instanceof E))return;let n=Y(e);if(!n)return;let a=[["If you authenticated with an Admin API access token, update the app or integration that issued the token to include the required theme access scopes, then reauthorize it or generate a new token."],["For",{command:"theme pull"},{char:","},{command:"theme list"},{char:","},"and",{command:"theme info"},{char:","},"add the",{command:"read_themes"},"scope",{char:"."}],["For",{command:"theme push"},"and",{command:"theme dev"},{char:","},"add both the",{command:"read_themes"},"and",{command:"write_themes"},"scopes",{char:"."}],["If you authenticated with your Shopify account, make sure your staff or collaborator account can access Online Store themes, then run",{command:"shopify auth logout"},"and try again",{char:"."}],["See",{link:{label:"Shopify access scopes",url:"https://shopify.dev/api/usage/access-scopes"}},{char:"."}]];throw u(new N(`The authenticated account or access token is missing ${n}.`,void 0,a))}function Y(e){let n=e.response.errors;if(!Array.isArray(n))return;let a=n.find(t=>t.extensions?.code==="ACCESS_DENIED");if(!a)return;let i=a.extensions?.requiredAccess;return typeof i!="string"?z:i.trim().replace(/\.$/,"")||z}function D(e){return`gid://shopify/OnlineStoreTheme/${e}`}async function Z(e){switch(e.__typename){case"OnlineStoreThemeFileBodyText":return{value:e.content};case"OnlineStoreThemeFileBodyBase64":return{attachment:e.contentBase64};case"OnlineStoreThemeFileBodyUrl":try{let a=await(await fetch(e.url)).arrayBuffer();return{attachment:Buffer.from(a).toString("base64")}}catch{throw u(new N(`Error downloading content from URL: ${e.url}`))}}}export{re as a,g as b,ne as c,ie as d,ae as e,te as f,rn as g,sn as h,kn as i,un as j,cn as k,pn as l,vn as m,Nn as n,hn as o,fn as p,yn as q,Sn as r,Fn as s,bn as t};
@@ -1 +1 @@
1
- import{a as h,b as w}from"./chunk-ZFOWAMFK.js";import{n as f}from"./chunk-3EQY5B4S.js";import{P as d}from"./chunk-YYLEWVO6.js";import{d as i}from"./chunk-AUZCENYI.js";import{Ga as m,na as p}from"./chunk-BXDZX3BS.js";import{d as u}from"./chunk-773TIA5M.js";import{g as l}from"./chunk-VKWPEFWQ.js";l();import{writeFile as g}from"fs/promises";var S=1024*1024,y=100,U=y*S,E=3,_=new Set([408,429,500,502,503,504]);async function j(o,e){let t=u(e,"manifest.json");await g(t,JSON.stringify(o,null,2))}var A=["!**/*.js.map","!**/*.metafile.json"];async function k(o,e,t){let n=t??["**/*",...A];e.endsWith(".br")?await w({inputDirectory:o,outputPath:e,matchFilePattern:n}):await h({inputDirectory:o,outputZipPath:e,matchFilePattern:n})}async function C(o,e){let t=await m(e);if(t>U){let s=`${(Math.ceil(t/S*100)/100).toFixed(2)} MB`;throw new i(`Your app bundle exceeds the ${y} MB upload limit (it is ${s}).`,"Check the asset paths in your extension configuration \u2014 a misconfigured source can pull in much more than intended. Exclude large files or directories from your bundle, then try again.")}let n=p(e),r;for(let s=1;s<=E;s++){if(r=await f(o,{method:"put",body:n},"slow-request"),r.ok)return;let T=s===E;if(_.has(r.status)&&!T){await r.text().catch(()=>{}),await d(2**s*.1);continue}break}let a=r?.status,c=(await r?.text().catch(()=>""))?.trim();throw new i(`Failed to upload your app bundle to storage${a?` (HTTP ${a})`:""}.`,"This is usually transient. Please try again, and check your network connection if it persists.",c?[`Storage responded with: ${c.slice(0,300)}`]:void 0)}async function D(o,e){let t=await o.generateSignedUploadUrl(e);if(!t.assetUrl||t.userErrors?.length>0){let n=t.userErrors.map(r=>r.message).join(", ");throw new i(n)}return t.assetUrl}export{j as a,A as b,k as c,C as d,D as e};
1
+ import{a as h,b as w}from"./chunk-6VR22Z5R.js";import{n as f}from"./chunk-TIU7MMRT.js";import{P as d}from"./chunk-EEEKSYWV.js";import{d as i}from"./chunk-IIFRDOYG.js";import{Ga as m,na as p}from"./chunk-TB7HFPBB.js";import{d as u}from"./chunk-773TIA5M.js";import{g as l}from"./chunk-VKWPEFWQ.js";l();import{writeFile as g}from"fs/promises";var S=1024*1024,y=100,U=y*S,E=3,_=new Set([408,429,500,502,503,504]);async function j(o,e){let t=u(e,"manifest.json");await g(t,JSON.stringify(o,null,2))}var A=["!**/*.js.map","!**/*.metafile.json"];async function k(o,e,t){let n=t??["**/*",...A];e.endsWith(".br")?await w({inputDirectory:o,outputPath:e,matchFilePattern:n}):await h({inputDirectory:o,outputZipPath:e,matchFilePattern:n})}async function C(o,e){let t=await m(e);if(t>U){let s=`${(Math.ceil(t/S*100)/100).toFixed(2)} MB`;throw new i(`Your app bundle exceeds the ${y} MB upload limit (it is ${s}).`,"Check the asset paths in your extension configuration \u2014 a misconfigured source can pull in much more than intended. Exclude large files or directories from your bundle, then try again.")}let n=p(e),r;for(let s=1;s<=E;s++){if(r=await f(o,{method:"put",body:n},"slow-request"),r.ok)return;let T=s===E;if(_.has(r.status)&&!T){await r.text().catch(()=>{}),await d(2**s*.1);continue}break}let a=r?.status,c=(await r?.text().catch(()=>""))?.trim();throw new i(`Failed to upload your app bundle to storage${a?` (HTTP ${a})`:""}.`,"This is usually transient. Please try again, and check your network connection if it persists.",c?[`Storage responded with: ${c.slice(0,300)}`]:void 0)}async function D(o,e){let t=await o.generateSignedUploadUrl(e);if(!t.assetUrl||t.userErrors?.length>0){let n=t.userErrors.map(r=>r.message).join(", ");throw new i(n)}return t.assetUrl}export{j as a,A as b,k as c,C as d,D as e};
@@ -1 +1 @@
1
- import{Eb as x,Sb as P,vb as w}from"./chunk-BXDZX3BS.js";import{e as g}from"./chunk-773TIA5M.js";import{r as T}from"./chunk-T6CC5WUU.js";import{c as h,e as O,g as u}from"./chunk-VKWPEFWQ.js";var M=h(a=>{"use strict";u();a.__esModule=void 0;a.__esModule=!0;var B=typeof Object.setPrototypeOf=="function",R=typeof Object.getPrototypeOf=="function",U=typeof Object.defineProperty=="function",q=typeof Object.create=="function",z=typeof Object.prototype.hasOwnProperty=="function",H=function(e,r){B?Object.setPrototypeOf(e,r):e.__proto__=r};a.setPrototypeOf=H;var L=function(e){return R?Object.getPrototypeOf(e):e.__proto__||e.prototype};a.getPrototypeOf=L;var j=!1,Y=function t(e,r,n){if(U&&!j)try{Object.defineProperty(e,r,n)}catch{j=!0,t(e,r,n)}else e[r]=n.value};a.defineProperty=Y;var k=function(e,r){return z?e.hasOwnProperty(e,r):e[r]===void 0};a.hasOwnProperty=k;var D=function(e,r){if(q)return Object.create(e,r);var n=function(){};n.prototype=e;var s=new n;if(typeof r>"u")return s;if(typeof r=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof r=="object")for(var o in r)k(r,o)&&(s[o]=r[o].value);return s};a.objectCreate=D});var S=h(f=>{"use strict";u();f.__esModule=void 0;f.__esModule=!0;var b=M(),G=b.setPrototypeOf,Z=b.getPrototypeOf,v=b.defineProperty,J=b.objectCreate,K=new Error().toString()==="[object Error]",m="";function p(t){var e=this.constructor,r=e.name||(function(){var y=e.toString().match(/^function\s*([^\s(]+)/);return y===null?m||"Error":y[1]})(),n=r==="Error",s=n?m:r,o=Error.apply(this,arguments);if(G(o,Z(this)),!(o instanceof e)||!(o instanceof p)){var o=this;Error.apply(this,arguments),v(o,"message",{configurable:!0,enumerable:!1,value:t,writable:!0})}if(v(o,"name",{configurable:!0,enumerable:!1,value:s,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(o,n?p:e),o.stack===void 0){var c=new Error(t);c.name=o.name,o.stack=c.stack}return K&&v(o,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),o}m=p.name||"ExtendableError";p.prototype=J(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}});f.ExtendableError=p;f.default=f.ExtendableError});u();var A=O(T()),V=O(S()),i;(function(t){t[t.Abort=0]="Abort",t[t.AbortSilent=1]="AbortSilent",t[t.Bug=2]="Bug"})(i||(i={}));var _=class extends Error{},l=class extends Error{constructor(e,r,n=null,s,o){let c=typeof e=="string"||"value"in e;super(c?P(e):w(e)),n?n instanceof x?this.tryMessage=P(n):this.tryMessage=n:this.tryMessage=null,this.type=r,this.nextSteps=s,this.customSections=o,this.skipOclifErrorHandling=!0,c||(this.formattedMessage=e)}},E=class extends l{constructor(e,r=null,n,s){super(e,i.Abort,r,n,s)}},I=class extends l{constructor(e,r,n,s=null){super(e,i.Abort,s),this.command=r,this.args=n}},C=class extends l{constructor(){super("",i.AbortSilent)}},d=class extends l{constructor(e,r=null){super(e,i.Bug,r)}};async function ne(t){let e;if(N(t))e=t;else if(typeof t=="string")e=new d(t);else if(t instanceof Error)e=new d(t.message),e.stack=t.stack;else{let n=t;e=new d(n?.message??"Unknown error"),n?.stack&&(e.stack=n?.stack)}let{renderFatalError:r}=await import("./ui-AXZBGWIQ.js");return r(e),Promise.resolve(t)}function oe(t){if(t instanceof A.Errors.CLIError){let e=new E(t.message);return e.stack=t.stack,Promise.resolve(e)}else return Promise.resolve(t)}function N(t){try{return Object.prototype.hasOwnProperty.call(t,"type")}catch{return!1}}function se(t){if(!N(t)){if(t instanceof Error){let e=t.message;return!Q(e)}return!0}return t.type===i.Bug}function ae(t){return g(t).replace("file:/","/").replace(/^\/?[A-Z]:/,"")}function Q(t){return["EPERM: operation not permitted, scandir","EPERM: operation not permitted, rename","EACCES: permission denied","EPERM: operation not permitted, symlink","This version of npm supports the following node versions","EBUSY: resource busy or locked","ENOTEMPTY: directory not empty","getaddrinfo ENOTFOUND","Client network socket disconnected before secure TLS connection was established","spawn EPERM","socket hang up","The user aborted a request.","write EPIPE","Unsupported platform"].some(n=>t.includes(n))}export{i as a,_ as b,l as c,E as d,I as e,C as f,d as g,ne as h,oe as i,se as j,ae as k,V as l};
1
+ import{Eb as x,Sb as P,vb as w}from"./chunk-TB7HFPBB.js";import{e as g}from"./chunk-773TIA5M.js";import{r as T}from"./chunk-T6CC5WUU.js";import{c as h,e as O,g as u}from"./chunk-VKWPEFWQ.js";var M=h(a=>{"use strict";u();a.__esModule=void 0;a.__esModule=!0;var B=typeof Object.setPrototypeOf=="function",R=typeof Object.getPrototypeOf=="function",U=typeof Object.defineProperty=="function",q=typeof Object.create=="function",z=typeof Object.prototype.hasOwnProperty=="function",H=function(e,r){B?Object.setPrototypeOf(e,r):e.__proto__=r};a.setPrototypeOf=H;var L=function(e){return R?Object.getPrototypeOf(e):e.__proto__||e.prototype};a.getPrototypeOf=L;var j=!1,Y=function t(e,r,n){if(U&&!j)try{Object.defineProperty(e,r,n)}catch{j=!0,t(e,r,n)}else e[r]=n.value};a.defineProperty=Y;var k=function(e,r){return z?e.hasOwnProperty(e,r):e[r]===void 0};a.hasOwnProperty=k;var D=function(e,r){if(q)return Object.create(e,r);var n=function(){};n.prototype=e;var s=new n;if(typeof r>"u")return s;if(typeof r=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof r=="object")for(var o in r)k(r,o)&&(s[o]=r[o].value);return s};a.objectCreate=D});var S=h(f=>{"use strict";u();f.__esModule=void 0;f.__esModule=!0;var b=M(),G=b.setPrototypeOf,Z=b.getPrototypeOf,v=b.defineProperty,J=b.objectCreate,K=new Error().toString()==="[object Error]",m="";function p(t){var e=this.constructor,r=e.name||(function(){var y=e.toString().match(/^function\s*([^\s(]+)/);return y===null?m||"Error":y[1]})(),n=r==="Error",s=n?m:r,o=Error.apply(this,arguments);if(G(o,Z(this)),!(o instanceof e)||!(o instanceof p)){var o=this;Error.apply(this,arguments),v(o,"message",{configurable:!0,enumerable:!1,value:t,writable:!0})}if(v(o,"name",{configurable:!0,enumerable:!1,value:s,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(o,n?p:e),o.stack===void 0){var c=new Error(t);c.name=o.name,o.stack=c.stack}return K&&v(o,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),o}m=p.name||"ExtendableError";p.prototype=J(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}});f.ExtendableError=p;f.default=f.ExtendableError});u();var A=O(T()),V=O(S()),i;(function(t){t[t.Abort=0]="Abort",t[t.AbortSilent=1]="AbortSilent",t[t.Bug=2]="Bug"})(i||(i={}));var _=class extends Error{},l=class extends Error{constructor(e,r,n=null,s,o){let c=typeof e=="string"||"value"in e;super(c?P(e):w(e)),n?n instanceof x?this.tryMessage=P(n):this.tryMessage=n:this.tryMessage=null,this.type=r,this.nextSteps=s,this.customSections=o,this.skipOclifErrorHandling=!0,c||(this.formattedMessage=e)}},E=class extends l{constructor(e,r=null,n,s){super(e,i.Abort,r,n,s)}},I=class extends l{constructor(e,r,n,s=null){super(e,i.Abort,s),this.command=r,this.args=n}},C=class extends l{constructor(){super("",i.AbortSilent)}},d=class extends l{constructor(e,r=null){super(e,i.Bug,r)}};async function ne(t){let e;if(N(t))e=t;else if(typeof t=="string")e=new d(t);else if(t instanceof Error)e=new d(t.message),e.stack=t.stack;else{let n=t;e=new d(n?.message??"Unknown error"),n?.stack&&(e.stack=n?.stack)}let{renderFatalError:r}=await import("./ui-N2C5FC3G.js");return r(e),Promise.resolve(t)}function oe(t){if(t instanceof A.Errors.CLIError){let e=new E(t.message);return e.stack=t.stack,Promise.resolve(e)}else return Promise.resolve(t)}function N(t){try{return Object.prototype.hasOwnProperty.call(t,"type")}catch{return!1}}function se(t){if(!N(t)){if(t instanceof Error){let e=t.message;return!Q(e)}return!0}return t.type===i.Bug}function ae(t){return g(t).replace("file:/","/").replace(/^\/?[A-Z]:/,"")}function Q(t){return["EPERM: operation not permitted, scandir","EPERM: operation not permitted, rename","EACCES: permission denied","EPERM: operation not permitted, symlink","This version of npm supports the following node versions","EBUSY: resource busy or locked","ENOTEMPTY: directory not empty","getaddrinfo ENOTFOUND","Client network socket disconnected before secure TLS connection was established","spawn EPERM","socket hang up","The user aborted a request.","write EPIPE","Unsupported platform"].some(n=>t.includes(n))}export{i as a,_ as b,l as c,E as d,I as e,C as f,d as g,ne as h,oe as i,se as j,ae as k,V as l};
@@ -1,4 +1,4 @@
1
- import{a as X,b as H,c as K}from"./chunk-3OE5HXHO.js";import{a as M,c as P,e as h,f as T,h as q,i as V,m as U,p as _,q as F,r as j,s as z,u as Q}from"./chunk-WU6GIY22.js";import{a as W}from"./chunk-PLHJQQVZ.js";import{a as G,b as J}from"./chunk-6V37CHBZ.js";import{b as L}from"./chunk-S5JJL3BP.js";import{E as R,a as D,u as v,v as d,w as E,x as A}from"./chunk-YYLEWVO6.js";import{d as f,g as x}from"./chunk-AUZCENYI.js";import{Fb as r,Hb as s,Lb as N,Ta as $,ma as S,ua as I}from"./chunk-BXDZX3BS.js";import{g as m}from"./chunk-VKWPEFWQ.js";m();m();async function oe(t,e){if(t)return t.join(`
1
+ import{a as X,b as H,c as K}from"./chunk-35FS2NTM.js";import{a as M,c as P,e as h,f as T,h as q,i as V,m as U,p as _,q as F,r as j,s as z,u as Q}from"./chunk-523SJVNT.js";import{a as W}from"./chunk-UHIP5CFI.js";import{a as G,b as J}from"./chunk-VJQJ5PTQ.js";import{b as L}from"./chunk-NGCPVRDM.js";import{E as R,a as D,u as v,v as d,w as E,x as A}from"./chunk-EEEKSYWV.js";import{d as f,g as x}from"./chunk-IIFRDOYG.js";import{Fb as r,Hb as s,Lb as N,Ta as $,ma as S,ua as I}from"./chunk-TB7HFPBB.js";import{g as m}from"./chunk-VKWPEFWQ.js";m();m();async function oe(t,e){if(t)return t.join(`
2
2
  `);if(e){if(!await $(e))throw new f(s`Variable file not found at ${r.path(e)}. Please check the path and try again.`);return S(e,{encoding:"utf8"})}else return}async function Z(t){let{organization:e,remoteApp:i,store:n,query:a,variables:p,variableFile:k,outputFile:B,watch:ee=!1,version:te}=t,{adminSession:c,version:w}=await R({title:s`Authenticating`,task:async()=>{let o=await X(i,n.shopDomain),u=await T({adminSession:o,userSpecifiedVersion:te,minimumDefaultVersion:M});return{adminSession:o,version:u}},renderOptions:{stdout:process.stderr}}),C=await oe(p,k);ae(a,C),K(a,n),v({headline:"Starting bulk operation.",body:[{list:{items:H({organization:e,remoteApp:i,storeFqdn:n.shopDomain,version:w})}}]});let y=h(a)?await V({adminSession:c,query:a,variablesJsonl:C,version:w}):await q({adminSession:c,query:a,version:w});if(y?.userErrors?.length){A({headline:"Error creating bulk operation.",body:{list:{items:y.userErrors.map(o=>o.field?`${o.field.join(".")}: ${o.message}`:o.message)}}});return}let g=y?.bulkOperation;if(g)if(ee){let o=new D,u=await F(c,g.id,o.signal,()=>o.abort());o.signal.aborted?v({headline:`Bulk operation ${u.id} is still running in the background.`,body:b(u.id)}):await Y(u,B)}else{let o=await _(c,g.id);["FAILED","CANCELED","EXPIRED"].includes(o.status)?await Y(o,B):d({headline:"Bulk operation is running.",body:b(o.id),customSections:[{body:[{list:{items:[s`ID: ${r.cyan(o.id)}`.value]}}]}]})}else throw E({headline:"Bulk operation not created successfully.",body:"This is an unexpected error. Please try again later."}),new x("Bulk operation response returned null with no error message.")}async function Y(t,e){let i=U(t).value,a=[{body:[{list:{items:[s`ID: ${r.cyan(t.id)}`.value,s`Status: ${r.yellow(t.status)}`.value,s`Created at: ${r.gray(String(t.createdAt))}`.value,...t.completedAt?[s`Completed at: ${r.gray(String(t.completedAt))}`.value]:[]]}}]}];switch(t.status){case"CREATED":d({headline:"Bulk operation started.",body:b(t.id),customSections:a});break;case"RUNNING":d({headline:"Bulk operation is running.",body:b(t.id),customSections:a});break;case"COMPLETED":if(t.url){let p=await j(t.url),k=z(p);e?await I(e,p):N(p),k?E({headline:"Bulk operation completed with errors.",body:e?`Results written to ${e}. Check file for error details.`:"Check results for error details.",customSections:a}):d({headline:i,body:e?[`Results written to ${e}`]:void 0,customSections:a})}else d({headline:i,customSections:a});break;case"CANCELED":case"CANCELING":case"EXPIRED":case"FAILED":A({headline:i,customSections:a});break}}function ae(t,e){if(h(t)&&!e)throw new f(s`Bulk mutations require variables. Provide a JSONL file with ${r.yellow("--variable-file")} or individual JSON objects with ${r.yellow("--variables")}.`);if(!h(t)&&e)throw new f(s`The ${r.yellow("--variables")} and ${r.yellow("--variable-file")} flags can only be used with mutations, not queries.`)}function b(t){return[`Monitor its progress with:
3
3
  `,{command:`shopify app bulk status --id=${P(t)}`}]}var O,l=class extends W{async run(){let{flags:e}=await this.parse(O),{query:i,appContextResult:n,store:a}=await Q(e);return await Z({organization:n.organization,remoteApp:n.remoteApp,store:a,query:i,variables:e.variables,variableFile:e["variable-file"],watch:e.watch??!1,outputFile:e["output-file"],...e.version&&{version:e.version}}),{app:n.app}}};O=l;l.summary="Execute bulk operations.";l.descriptionWithMarkdown=`Executes an Admin API GraphQL query or mutation on the specified store, as a bulk operation. Mutations are only allowed on dev stores.
4
4
 
@@ -1 +1 @@
1
- import{a as s}from"./chunk-N4LCWB56.js";import{a as e}from"./chunk-RUKK4KXX.js";import{a as o}from"./chunk-I3Y6XTKN.js";import{b as i}from"./chunk-74IG3ZE3.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();var t=class extends i{static{this.description="View all the available UI kit components"}static{this.hiddenAliases=["kitchen-sink all"]}static{this.hidden=!0}async run(){await o(),await e(),await s()}};export{t as a};
1
+ import{a as s}from"./chunk-AUAUAK6P.js";import{a as e}from"./chunk-RTINXD5Z.js";import{a as o}from"./chunk-7RJPTSL6.js";import{b as i}from"./chunk-UAYIFFYJ.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();var t=class extends i{static{this.description="View all the available UI kit components"}static{this.hiddenAliases=["kitchen-sink all"]}static{this.hidden=!0}async run(){await o(),await e(),await s()}};export{t as a};
@@ -1 +1 @@
1
- import{e as o}from"./chunk-S5JJL3BP.js";import{b as s}from"./chunk-74IG3ZE3.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var t=class extends s{static{this.description="Clear the CLI cache, used to store some API responses and handle notifications status"}static{this.hidden=!0}async run(){await o()}};export{t as a};
1
+ import{e as o}from"./chunk-NGCPVRDM.js";import{b as s}from"./chunk-UAYIFFYJ.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var t=class extends s{static{this.description="Clear the CLI cache, used to store some API responses and handle notifications status"}static{this.hidden=!0}async run(){await o()}};export{t as a};
@@ -1,4 +1,4 @@
1
- import{f as m,i as f}from"./chunk-UEC23KAO.js";import{d as s}from"./chunk-AUZCENYI.js";import{$ as c,Ta as r,qa as h,wa as l}from"./chunk-BXDZX3BS.js";import{d as o}from"./chunk-773TIA5M.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();async function b(t,i){let n=t?.path??"",e=o(i,n);if(!await r(e))throw new s(`
1
+ import{f as m,i as f}from"./chunk-R7QYSC6T.js";import{d as s}from"./chunk-IIFRDOYG.js";import{$ as c,Ta as r,qa as h,wa as l}from"./chunk-TB7HFPBB.js";import{d as o}from"./chunk-773TIA5M.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();async function b(t,i){let n=t?.path??"",e=o(i,n);if(!await r(e))throw new s(`
2
2
  The extension is not available for ${t?.value}`);return e}async function k({name:t,app:i}){let n=c(t),e=o(i.directory,f.extensions.directoryName,n);if(await r(e))throw new s(`
3
3
  A directory with this name (${n}) already exists.
4
4
  Choose a new name for your extension.`);return await l(e),await h(o(e,m.lockFile)),e}async function v({localApp:t,developerPlatformClient:i,apiKey:n,organizationId:e}){let{dashboardManagedExtensionRegistrations:x}=(await i.appExtensionRegistrations({id:n,apiKey:n,organizationId:e})).app;return x.length>0||t.allExtensions.filter(u=>u.isThemeExtension).length>0||t.allExtensions.length>0}export{b as a,k as b,v as c};
@@ -1 +1 @@
1
- import{P as m}from"./chunk-YYLEWVO6.js";import{d as c}from"./chunk-AUZCENYI.js";import{Fb as l,Hb as n,Pb as a}from"./chunk-BXDZX3BS.js";import{g as s}from"./chunk-VKWPEFWQ.js";s();import{createServer as d}from"net";var u=new Set;async function P(o,t){if(o&&await g(o))return a(n`Port ${o.toString()} is free`),o;a(n`Getting a random port...`);let r=await w(()=>f(),t?.maxTries,t?.waitTimeInSeconds);for(let e=0;e<(t?.maxTries??5)&&u.has(r);e++)r=await w(()=>f(),t?.maxTries,t?.waitTimeInSeconds);return a(n`Random port obtained: ${l.raw(`${r}`)}`),u.add(r),r}async function g(o){return new Promise(t=>{let r=d();r.unref(),r.once("error",()=>t(!1));try{r.listen(o,"localhost",()=>{r.close(()=>t(!0))})}catch(e){if(!(e instanceof RangeError))throw e;t(!1)}})}function f(){return new Promise((o,t)=>{let r=d();r.unref(),r.once("error",t),r.listen(0,"localhost",()=>{let e=r.address();if(e&&typeof e=="object"){let i=e.port;r.close(()=>o(i))}else r.close(()=>t(new Error("Unable to determine assigned port")))})})}async function w(o,t=5,r=1){let e=1;for(;;)try{return await o()}catch(i){if(e++<t)a(n`Unknown problem getting a random port: ${i.message}`),await m(r);else throw new c(i.message)}}export{P as a,g as b};
1
+ import{P as m}from"./chunk-EEEKSYWV.js";import{d as c}from"./chunk-IIFRDOYG.js";import{Fb as l,Hb as n,Pb as a}from"./chunk-TB7HFPBB.js";import{g as s}from"./chunk-VKWPEFWQ.js";s();import{createServer as d}from"net";var u=new Set;async function P(o,t){if(o&&await g(o))return a(n`Port ${o.toString()} is free`),o;a(n`Getting a random port...`);let r=await w(()=>f(),t?.maxTries,t?.waitTimeInSeconds);for(let e=0;e<(t?.maxTries??5)&&u.has(r);e++)r=await w(()=>f(),t?.maxTries,t?.waitTimeInSeconds);return a(n`Random port obtained: ${l.raw(`${r}`)}`),u.add(r),r}async function g(o){return new Promise(t=>{let r=d();r.unref(),r.once("error",()=>t(!1));try{r.listen(o,"localhost",()=>{r.close(()=>t(!0))})}catch(e){if(!(e instanceof RangeError))throw e;t(!1)}})}function f(){return new Promise((o,t)=>{let r=d();r.unref(),r.once("error",t),r.listen(0,"localhost",()=>{let e=r.address();if(e&&typeof e=="object"){let i=e.port;r.close(()=>o(i))}else r.close(()=>t(new Error("Unable to determine assigned port")))})})}async function w(o,t=5,r=1){let e=1;for(;;)try{return await o()}catch(i){if(e++<t)a(n`Unknown problem getting a random port: ${i.message}`),await m(r);else throw new c(i.message)}}export{P as a,g as b};
@@ -1 +1 @@
1
- import{b as u,c as d}from"./chunk-4U3NC3UU.js";import{a as m}from"./chunk-Z2Y6G2QF.js";import{a}from"./chunk-6V37CHBZ.js";import{Ga as c,q as p}from"./chunk-KJQAJUDU.js";import{b as e}from"./chunk-S5JJL3BP.js";import{v as n}from"./chunk-YYLEWVO6.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();var s,o=class extends m{async run(){let{flags:t}=await this.parse(s),{app:r}=await c({directory:t.path,userProvidedConfigName:t.config}),l=await d(r,t.path);return await p(l,{app:r,stdout:process.stdout,stderr:process.stderr,useTasks:!0,environment:"production"}),n({headline:"Function built successfully."}),{app:r}}};s=o;o.summary="Compile a function to wasm.";o.descriptionWithMarkdown="Compiles the function in your current directory to WebAssembly (Wasm) for testing purposes.";o.description=s.descriptionWithoutMarkdown();o.flags={...e,...a,...u};var k=o;export{k as a};
1
+ import{b as u,c as d}from"./chunk-TSEPNC3O.js";import{a as m}from"./chunk-P7U6BWKN.js";import{a}from"./chunk-VJQJ5PTQ.js";import{Ga as c,q as p}from"./chunk-4MLEL3VK.js";import{b as e}from"./chunk-NGCPVRDM.js";import{v as n}from"./chunk-EEEKSYWV.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();var s,o=class extends m{async run(){let{flags:t}=await this.parse(s),{app:r}=await c({directory:t.path,userProvidedConfigName:t.config}),l=await d(r,t.path);return await p(l,{app:r,stdout:process.stdout,stderr:process.stderr,useTasks:!0,environment:"production"}),n({headline:"Function built successfully."}),{app:r}}};s=o;o.summary="Compile a function to wasm.";o.descriptionWithMarkdown="Compiles the function in your current directory to WebAssembly (Wasm) for testing purposes.";o.description=s.descriptionWithoutMarkdown();o.flags={...e,...a,...u};var k=o;export{k as a};
@@ -1 +1 @@
1
- import{b as d,c as f}from"./chunk-4U3NC3UU.js";import{a as c}from"./chunk-Z2Y6G2QF.js";import{a as p}from"./chunk-6V37CHBZ.js";import{Ga as u,e as i}from"./chunk-KJQAJUDU.js";import{b as n}from"./chunk-S5JJL3BP.js";import{v as e}from"./chunk-YYLEWVO6.js";import{g as s}from"./chunk-VKWPEFWQ.js";s();var a,t=class extends c{async run(){let{flags:o}=await this.parse(a),{app:r}=await u({directory:o.path,userProvidedConfigName:o.config}),m=await f(r,o.path);return await i(m,{stdout:process.stdout,stderr:process.stderr,app:r}),e({headline:"GraphQL types generated successfully."}),{app:r}}};a=t;t.summary="Generate GraphQL types for a function.";t.descriptionWithMarkdown="Creates GraphQL types based on your [input query](https://shopify.dev/docs/apps/functions/input-output#input) for a function. Supports JavaScript functions out of the box, or any language via the `build.typegen_command` configuration.";t.description=a.descriptionWithoutMarkdown();t.flags={...n,...p,...d};var x=t;export{x as a};
1
+ import{b as d,c as f}from"./chunk-TSEPNC3O.js";import{a as c}from"./chunk-P7U6BWKN.js";import{a as p}from"./chunk-VJQJ5PTQ.js";import{Ga as u,e as i}from"./chunk-4MLEL3VK.js";import{b as n}from"./chunk-NGCPVRDM.js";import{v as e}from"./chunk-EEEKSYWV.js";import{g as s}from"./chunk-VKWPEFWQ.js";s();var a,t=class extends c{async run(){let{flags:o}=await this.parse(a),{app:r}=await u({directory:o.path,userProvidedConfigName:o.config}),m=await f(r,o.path);return await i(m,{stdout:process.stdout,stderr:process.stderr,app:r}),e({headline:"GraphQL types generated successfully."}),{app:r}}};a=t;t.summary="Generate GraphQL types for a function.";t.descriptionWithMarkdown="Creates GraphQL types based on your [input query](https://shopify.dev/docs/apps/functions/input-output#input) for a function. Supports JavaScript functions out of the box, or any language via the `build.typegen_command` configuration.";t.description=a.descriptionWithoutMarkdown();t.flags={...n,...p,...d};var x=t;export{x as a};
@@ -1 +1 @@
1
- import{a as E}from"./chunk-F447QKVX.js";import{a as _}from"./chunk-7KHYEIA7.js";import{a as I,b as w}from"./chunk-STJ3LWFL.js";import{f as a,g as u,p as S,v as b}from"./chunk-JGN7YG5X.js";import{ua as f,xa as p}from"./chunk-3EQY5B4S.js";import{b as T,c as g}from"./chunk-S5JJL3BP.js";import{g as s,u as c}from"./chunk-YYLEWVO6.js";import{d as v}from"./chunk-AUZCENYI.js";import{Lb as l}from"./chunk-BXDZX3BS.js";import{r as x}from"./chunk-T6CC5WUU.js";import{e as L,g as m}from"./chunk-VKWPEFWQ.js";m();m();function A(o,e){return{theme:{id:o.id,name:o.name,role:o.role,shop:e.storeFqdn,preview_url:I(o,e),editor_url:w(o,e)}}}function D(o){let{platform:e,arch:n}=s(),t=a(),r=null;return t&&(r=Number(u())||null),{store:t??"Not configured",development_theme_id:r,cli_version:o.cliVersion,os:`${e}-${n}`,shell:process.env.SHELL??"unknown",node_version:process.version}}async function O(o,e){let n;if(e.development)n=await new E(o).findOrCreate();else{let t={filter:{theme:e.theme}};n=await _(o,t)}return n?A(n,o):void 0}async function y(o){return[M(),await j(o)]}function M(){let o=a()??"Not configured",e=u();return p(`theme-command:info:dev-theme-loaded:${e}`),N("Theme Configuration",[["Store",o],["Development Theme ID",e?`#${e}`:{subdued:"Not set"}]])}async function j(o){let{platform:e,arch:n}=s();return N("Tooling and System",[["Shopify CLI",o.cliVersion],["OS",`${e}-${n}`],["Shell",process.env.SHELL??"unknown"],["Node version",process.version]])}function N(o,e){return{title:o,body:{tabularData:e,firstColumnSubdued:!0}}}async function F(o,e){let n=Object.entries(o.theme).map(([t,r])=>{if(t==="editor_url"||t==="preview_url"){let C=String(r),$=t==="editor_url"?"Open in Theme Editor":"Preview Theme";return[d(t),{link:{url:C,label:$}}]}else return t==="id"?[d(t),`#${r}`]:[d(t),`${r}`]});return{customSections:[...e.environment?[{title:"Theme information",body:[{subdued:`Environment name: ${e.environment}`}]}]:[],{title:"Theme Details",body:{tabularData:n,firstColumnSubdued:!0}}]}}function d(o){return o.split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}var h=L(x(),1);var i=class extends b{async command(e,n){if(f("theme-command:info"),e.theme||e.development){let t=await O(n,e);if(!t)throw new v("Theme not found!");if(e.json)return l(JSON.stringify(t,null,2));let r=await F(t,e);c(r)}else{if(e.json)return l(JSON.stringify(D({cliVersion:this.config.version}),null,2));let t=await y({cliVersion:this.config.version});c({customSections:t})}f("theme-command:info")}};i.description="Displays information about your theme environment, including your current store. Can also retrieve information about a specific theme.";i.flags={...T,...g,...S,development:h.Flags.boolean({char:"d",description:"Retrieve info from your development theme.",env:"SHOPIFY_FLAG_DEVELOPMENT"}),theme:h.Flags.string({char:"t",description:"Theme ID or name of the remote theme.",env:"SHOPIFY_FLAG_THEME_ID"})};i.multiEnvironmentsFlags=["store","password"];var k=i;export{k as a};
1
+ import{a as E}from"./chunk-5VC4XXYH.js";import{a as _}from"./chunk-TM44Z7U7.js";import{a as I,b as w}from"./chunk-STJ3LWFL.js";import{f as a,g as u,p as S,v as b}from"./chunk-4P54DKG4.js";import{ua as f,xa as p}from"./chunk-TIU7MMRT.js";import{b as T,c as g}from"./chunk-NGCPVRDM.js";import{g as s,u as c}from"./chunk-EEEKSYWV.js";import{d as v}from"./chunk-IIFRDOYG.js";import{Lb as l}from"./chunk-TB7HFPBB.js";import{r as x}from"./chunk-T6CC5WUU.js";import{e as L,g as m}from"./chunk-VKWPEFWQ.js";m();m();function A(o,e){return{theme:{id:o.id,name:o.name,role:o.role,shop:e.storeFqdn,preview_url:I(o,e),editor_url:w(o,e)}}}function D(o){let{platform:e,arch:n}=s(),t=a(),r=null;return t&&(r=Number(u())||null),{store:t??"Not configured",development_theme_id:r,cli_version:o.cliVersion,os:`${e}-${n}`,shell:process.env.SHELL??"unknown",node_version:process.version}}async function O(o,e){let n;if(e.development)n=await new E(o).findOrCreate();else{let t={filter:{theme:e.theme}};n=await _(o,t)}return n?A(n,o):void 0}async function y(o){return[M(),await j(o)]}function M(){let o=a()??"Not configured",e=u();return p(`theme-command:info:dev-theme-loaded:${e}`),N("Theme Configuration",[["Store",o],["Development Theme ID",e?`#${e}`:{subdued:"Not set"}]])}async function j(o){let{platform:e,arch:n}=s();return N("Tooling and System",[["Shopify CLI",o.cliVersion],["OS",`${e}-${n}`],["Shell",process.env.SHELL??"unknown"],["Node version",process.version]])}function N(o,e){return{title:o,body:{tabularData:e,firstColumnSubdued:!0}}}async function F(o,e){let n=Object.entries(o.theme).map(([t,r])=>{if(t==="editor_url"||t==="preview_url"){let C=String(r),$=t==="editor_url"?"Open in Theme Editor":"Preview Theme";return[d(t),{link:{url:C,label:$}}]}else return t==="id"?[d(t),`#${r}`]:[d(t),`${r}`]});return{customSections:[...e.environment?[{title:"Theme information",body:[{subdued:`Environment name: ${e.environment}`}]}]:[],{title:"Theme Details",body:{tabularData:n,firstColumnSubdued:!0}}]}}function d(o){return o.split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}var h=L(x(),1);var i=class extends b{async command(e,n){if(f("theme-command:info"),e.theme||e.development){let t=await O(n,e);if(!t)throw new v("Theme not found!");if(e.json)return l(JSON.stringify(t,null,2));let r=await F(t,e);c(r)}else{if(e.json)return l(JSON.stringify(D({cliVersion:this.config.version}),null,2));let t=await y({cliVersion:this.config.version});c({customSections:t})}f("theme-command:info")}};i.description="Displays information about your theme environment, including your current store. Can also retrieve information about a specific theme.";i.flags={...T,...g,...S,development:h.Flags.boolean({char:"d",description:"Retrieve info from your development theme.",env:"SHOPIFY_FLAG_DEVELOPMENT"}),theme:h.Flags.string({char:"t",description:"Theme ID or name of the remote theme.",env:"SHOPIFY_FLAG_THEME_ID"})};i.multiEnvironmentsFlags=["store","password"];var k=i;export{k as a};
@@ -1 +1 @@
1
- import{c as t}from"./chunk-STJ3LWFL.js";import{d as l}from"./chunk-XZWAX4FI.js";import{f as i,m,n as w,o as d,r as f}from"./chunk-JGN7YG5X.js";import{F as n}from"./chunk-YYLEWVO6.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();async function y(o,r,P){i()||f({store:r});let e=o??m()??await p(["Enter your",{link:{label:"store password",url:t(r)}}]),s=!1;for(;!await l(e,r,P);)s||(d(),s=!0),e=await p(["Incorrect",{link:{label:"store password",url:t(r)}},{char:"."},"Please try again"]);return w(e),e}async function p(o){return n({message:o,password:!0})}export{y as a};
1
+ import{c as t}from"./chunk-STJ3LWFL.js";import{d as l}from"./chunk-HSVZU7MP.js";import{f as i,m,n as w,o as d,r as f}from"./chunk-4P54DKG4.js";import{F as n}from"./chunk-EEEKSYWV.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();async function y(o,r,P){i()||f({store:r});let e=o??m()??await p(["Enter your",{link:{label:"store password",url:t(r)}}]),s=!1;for(;!await l(e,r,P);)s||(d(),s=!0),e=await p(["Incorrect",{link:{label:"store password",url:t(r)}},{char:"."},"Please try again"]);return w(e),e}async function p(o){return n({message:o,password:!0})}export{y as a};