@shopify/cli 4.9.4 → 4.9.5

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 (326) hide show
  1. package/dist/analytics-PBZEKUGU.js +1 -0
  2. package/dist/analytics-WVGBNFGK.js +1 -0
  3. package/dist/bootstrap.js +1 -1
  4. package/dist/{chunk-WEPO4J2F.js → chunk-2EC5SUGK.js} +1 -1
  5. package/dist/{chunk-ZEBMW5KS.js → chunk-2II4W4ZF.js} +1 -1
  6. package/dist/{chunk-YYA5VGDW.js → chunk-2QENUJVG.js} +1 -1
  7. package/dist/{chunk-FO2R6KHG.js → chunk-2RONPKOD.js} +1 -1
  8. package/dist/{chunk-DYPZX7MW.js → chunk-2VGPNRHH.js} +1 -1
  9. package/dist/{chunk-O5FFMTJE.js → chunk-2WDJXERZ.js} +1 -1
  10. package/dist/{chunk-GPRZYFDE.js → chunk-32NWVYUC.js} +1 -1
  11. package/dist/{chunk-73D5O7A3.js → chunk-32RRWGNS.js} +1 -1
  12. package/dist/{chunk-YBSX53QP.js → chunk-32VQQ6EU.js} +1 -1
  13. package/dist/{chunk-IPZ6LUJV.js → chunk-34RFTE5T.js} +1 -1
  14. package/dist/{chunk-LJIJEGND.js → chunk-35NTERVR.js} +1 -1
  15. package/dist/{chunk-PP4VCR4Y.js → chunk-35VQQKVX.js} +1 -1
  16. package/dist/{chunk-AYIU6Z4C.js → chunk-3N6NKC2U.js} +1 -1
  17. package/dist/{chunk-6A4H3HPY.js → chunk-3Q5BAPQK.js} +1 -1
  18. package/dist/{chunk-BVB3DTNE.js → chunk-3XAD2E55.js} +1 -1
  19. package/dist/{chunk-XWQM2NZ2.js → chunk-42DMJGOW.js} +1 -1
  20. package/dist/{chunk-WEXOA4C4.js → chunk-4BXQTW5G.js} +1 -1
  21. package/dist/{chunk-I5PQZRYM.js → chunk-4CTTWXUX.js} +1 -1
  22. package/dist/{chunk-Q37WAD6F.js → chunk-4HBKQUKY.js} +1 -1
  23. package/dist/{chunk-VS7QVU3Z.js → chunk-4IAGBAQD.js} +1 -1
  24. package/dist/{chunk-UIC7K2HX.js → chunk-4MQXMIWQ.js} +1 -1
  25. package/dist/{chunk-AVMNIZAJ.js → chunk-4VS7YD53.js} +1 -1
  26. package/dist/{chunk-HQJ62PII.js → chunk-5APLAJCB.js} +1 -1
  27. package/dist/{chunk-ZEE32UH6.js → chunk-5AQNISGC.js} +1 -1
  28. package/dist/{chunk-DEF2G7S4.js → chunk-5GFVMGAZ.js} +1 -1
  29. package/dist/{chunk-B3M3KIOU.js → chunk-5NCWBBRW.js} +1 -1
  30. package/dist/{chunk-7556AIVG.js → chunk-5O7JTVO2.js} +1 -1
  31. package/dist/{chunk-SNE4RHM4.js → chunk-5OM72O4N.js} +1 -1
  32. package/dist/chunk-5SLKHURV.js +1 -0
  33. package/dist/chunk-5VRB3FBD.js +6 -0
  34. package/dist/{chunk-LOWSU4BB.js → chunk-5XTJ4OL4.js} +1 -1
  35. package/dist/{chunk-UWI76E2L.js → chunk-62GA7XR3.js} +3 -3
  36. package/dist/{chunk-WLWHCUPZ.js → chunk-62LMVFR7.js} +1 -1
  37. package/dist/{chunk-D3KFKT4D.js → chunk-65GNYRYR.js} +2 -2
  38. package/dist/{chunk-OE3HSNSE.js → chunk-72CBJYAG.js} +1 -1
  39. package/dist/{chunk-TFXUDHCP.js → chunk-762IKULK.js} +1 -1
  40. package/dist/{chunk-67EBF76X.js → chunk-7BWSN3SG.js} +1 -1
  41. package/dist/{chunk-GSE6FXZU.js → chunk-7DSH4CRU.js} +1 -1
  42. package/dist/{chunk-QAJZUJR5.js → chunk-7HZU7CYS.js} +1 -1
  43. package/dist/{chunk-BOE2ST6J.js → chunk-7LB6DPB6.js} +1 -1
  44. package/dist/{chunk-UQ6ALA3Y.js → chunk-7Q4EKY3E.js} +1 -1
  45. package/dist/{chunk-47IQIIFX.js → chunk-7YXHILW4.js} +2 -2
  46. package/dist/{chunk-Q43LBSPT.js → chunk-7Z6IX7MU.js} +1 -1
  47. package/dist/{chunk-VNFUCH6T.js → chunk-A4XREDFZ.js} +1 -1
  48. package/dist/{chunk-BIWG3FQQ.js → chunk-AHNLGCHF.js} +1 -1
  49. package/dist/{chunk-7VAKNVFD.js → chunk-AJMJQA4J.js} +1 -1
  50. package/dist/{chunk-XNPUZRWP.js → chunk-ANG44FIF.js} +1 -1
  51. package/dist/{chunk-QTLGMJDW.js → chunk-AODTY2BL.js} +1 -1
  52. package/dist/{chunk-CQF5NDTJ.js → chunk-ARRRFY6S.js} +1 -1
  53. package/dist/{chunk-FQL2WEKX.js → chunk-BAHM64B4.js} +1 -1
  54. package/dist/{chunk-7HNRK2CR.js → chunk-BAP2CHI2.js} +1 -1
  55. package/dist/{chunk-ZTICX3AO.js → chunk-BD2L6YE5.js} +1 -1
  56. package/dist/{chunk-Z6X2GT6Q.js → chunk-BQWK222Q.js} +1 -1
  57. package/dist/{chunk-VMNOSVPT.js → chunk-C3PXIZY3.js} +1 -1
  58. package/dist/{chunk-RUHQNF2W.js → chunk-C6HGU77I.js} +1 -1
  59. package/dist/{chunk-DMNWSUKV.js → chunk-CBFAU5AF.js} +1 -1
  60. package/dist/{chunk-R7YJNDXW.js → chunk-CEQ5S3HH.js} +1 -1
  61. package/dist/{chunk-DMDLJRLW.js → chunk-COP2Q2YT.js} +1 -1
  62. package/dist/{chunk-4IFY7V7W.js → chunk-CSWDRG3E.js} +1 -1
  63. package/dist/{chunk-RJSQMKKS.js → chunk-CVBWEUWX.js} +1 -1
  64. package/dist/{chunk-FK7GA4QQ.js → chunk-D3NVUE65.js} +1 -1
  65. package/dist/{chunk-4ZNBEMRT.js → chunk-DCKRQZLE.js} +3 -3
  66. package/dist/{chunk-MW3IMZJ5.js → chunk-DO5YFMTJ.js} +1 -1
  67. package/dist/{chunk-R74WHKHH.js → chunk-DYH3ZXJS.js} +1 -1
  68. package/dist/{chunk-TPHHQAUD.js → chunk-EAVD3OH2.js} +1 -1
  69. package/dist/{chunk-YTR5JHNJ.js → chunk-EBX6DYDX.js} +1 -1
  70. package/dist/{chunk-C6IBY7NW.js → chunk-EDRCFY3K.js} +1 -1
  71. package/dist/{chunk-UNHT4ZFP.js → chunk-EEAY7HFW.js} +1 -1
  72. package/dist/{chunk-YT27FIQN.js → chunk-EJMLNBZA.js} +2 -2
  73. package/dist/{chunk-MCNK5SJ6.js → chunk-EO3S2TFI.js} +1 -1
  74. package/dist/{chunk-UU6BRRYS.js → chunk-EO422KZZ.js} +1 -1
  75. package/dist/{chunk-J6LQR2F6.js → chunk-EOIGDOUD.js} +1 -1
  76. package/dist/{chunk-K3HUQLIC.js → chunk-EYKXHMEJ.js} +1 -1
  77. package/dist/{chunk-MUM34KUM.js → chunk-EZG5EB7D.js} +1 -1
  78. package/dist/{chunk-N55MSO3X.js → chunk-FHV2H3Z2.js} +1 -1
  79. package/dist/{chunk-LYIXRMQJ.js → chunk-FVTP7EO4.js} +1 -1
  80. package/dist/{chunk-4O7LK5RG.js → chunk-FYIC4JHB.js} +1 -1
  81. package/dist/{chunk-CLD3NZYD.js → chunk-G362JEAV.js} +1 -1
  82. package/dist/{chunk-GE4MLO3C.js → chunk-GF36WNMH.js} +1 -1
  83. package/dist/{chunk-QPQS2YU3.js → chunk-GJ3QUZO6.js} +1 -1
  84. package/dist/{chunk-LJZTSQRD.js → chunk-GJZVUEMP.js} +1 -1
  85. package/dist/{chunk-5JIJDUXX.js → chunk-GP6O7YRO.js} +1 -1
  86. package/dist/{chunk-2PDVBGQH.js → chunk-GW424AJO.js} +1 -1
  87. package/dist/{chunk-6HPUOCFF.js → chunk-GXSF6NCR.js} +1 -1
  88. package/dist/chunk-GYVQIRBD.js +1 -0
  89. package/dist/{chunk-JYGZD4HM.js → chunk-H3ZPYOQV.js} +1 -1
  90. package/dist/{chunk-RXTLNUPF.js → chunk-H7YSZKZ2.js} +1 -1
  91. package/dist/{chunk-3V4VL3SD.js → chunk-HB4YI2PF.js} +4 -4
  92. package/dist/{chunk-37BGAWAW.js → chunk-HMWQOQAQ.js} +1 -1
  93. package/dist/{chunk-HPM3HF7A.js → chunk-HNSRF4SQ.js} +1 -1
  94. package/dist/{chunk-HASIOUH2.js → chunk-HTODXNY6.js} +1 -1
  95. package/dist/{chunk-7A3RW2VM.js → chunk-HY6EXJBZ.js} +1 -1
  96. package/dist/{chunk-LLPB6JN5.js → chunk-IUYVJJKE.js} +1 -1
  97. package/dist/{chunk-KQFA5YTT.js → chunk-JM2CQP64.js} +1 -1
  98. package/dist/{chunk-43URS56H.js → chunk-JPFHPVIO.js} +1 -1
  99. package/dist/{chunk-W4KE7AO6.js → chunk-K4AF7A25.js} +1 -1
  100. package/dist/{chunk-FEQHCE2E.js → chunk-K6FH5JSY.js} +2 -2
  101. package/dist/{chunk-2YVSZFXJ.js → chunk-KDV4WR5A.js} +1 -1
  102. package/dist/{chunk-4TFJ5RW7.js → chunk-KF7NL5YM.js} +1 -1
  103. package/dist/{chunk-SZI6G247.js → chunk-KMJTO7CU.js} +1 -1
  104. package/dist/{chunk-AMLCWRHU.js → chunk-KN3MUEWA.js} +1 -1
  105. package/dist/{chunk-MMQZO2W2.js → chunk-KOS53Z7E.js} +1 -1
  106. package/dist/{chunk-MJZSSCGD.js → chunk-KYB4JX76.js} +1 -1
  107. package/dist/{chunk-PB5ZZET5.js → chunk-LCMDVUVO.js} +1 -1
  108. package/dist/{chunk-45SZ5PSE.js → chunk-LG6DGIFX.js} +1 -1
  109. package/dist/{chunk-SQAS5RVZ.js → chunk-LJAU6YHF.js} +1 -1
  110. package/dist/{chunk-YPCXVZ2N.js → chunk-LLNUIGHP.js} +1 -1
  111. package/dist/{chunk-VGBUN3CZ.js → chunk-LMQOFVRC.js} +1 -1
  112. package/dist/{chunk-Y3PY5LP7.js → chunk-LQSD25YS.js} +1 -1
  113. package/dist/{chunk-QO5RNGWA.js → chunk-M2HQFHNO.js} +1 -1
  114. package/dist/{chunk-GM4EFJJF.js → chunk-M5WBYWSQ.js} +1 -1
  115. package/dist/{chunk-NYYXH2SX.js → chunk-MF7IHOM5.js} +1 -1
  116. package/dist/{chunk-PVAZCZSY.js → chunk-MQ4WV4B6.js} +1 -1
  117. package/dist/{chunk-PO5T44H3.js → chunk-MTBABHUB.js} +1 -1
  118. package/dist/{chunk-DSS4ECIH.js → chunk-MWWULCLD.js} +1 -1
  119. package/dist/{chunk-LKXFHYLI.js → chunk-MZL6VM3W.js} +1 -1
  120. package/dist/{chunk-4JGWKUJN.js → chunk-N47RQHEI.js} +1 -1
  121. package/dist/{chunk-G7JW4UIM.js → chunk-ND6O6KT6.js} +1 -1
  122. package/dist/{chunk-CVFPY2SH.js → chunk-NHE46R6C.js} +1 -1
  123. package/dist/{chunk-QUXQM3S3.js → chunk-NRG2WPSM.js} +1 -1
  124. package/dist/{chunk-6MC2BEW4.js → chunk-O2CP7DQE.js} +1 -1
  125. package/dist/chunk-O6FXUKI2.js +2 -0
  126. package/dist/chunk-OHJUEUSA.js +1 -0
  127. package/dist/{chunk-YHESTFMZ.js → chunk-OOKTWSGP.js} +1 -1
  128. package/dist/{chunk-K7D53KSJ.js → chunk-OONMCK7X.js} +1 -1
  129. package/dist/{chunk-R3KSOCMB.js → chunk-OWK2RI4O.js} +1 -1
  130. package/dist/{chunk-PG4S5HJJ.js → chunk-P2UEQJJ4.js} +1 -1
  131. package/dist/{chunk-MW3JKGJH.js → chunk-PFXDXD5O.js} +1 -1
  132. package/dist/{chunk-IGDVKRB4.js → chunk-PIGERIRY.js} +1 -1
  133. package/dist/{chunk-UEBUGSBT.js → chunk-PT3OZEBI.js} +1 -1
  134. package/dist/{chunk-IDKRJ2F4.js → chunk-QBIYAMSH.js} +1 -1
  135. package/dist/{chunk-PHG4DASY.js → chunk-QBJ74XPX.js} +1 -1
  136. package/dist/{chunk-N5AZZYQA.js → chunk-QGFJOTOH.js} +1 -1
  137. package/dist/chunk-QLHPTMIH.js +1 -0
  138. package/dist/{chunk-4TZCRMBJ.js → chunk-QUO4RD3W.js} +1 -1
  139. package/dist/{chunk-HJHS23Q3.js → chunk-RIO5HKD5.js} +1 -1
  140. package/dist/{chunk-ENQXB532.js → chunk-RUDHGUIM.js} +1 -1
  141. package/dist/{chunk-7HWMURCW.js → chunk-RW3P3UMU.js} +2 -2
  142. package/dist/{chunk-RSC5NQAT.js → chunk-S6A7TMR4.js} +1 -1
  143. package/dist/{chunk-66YRAUWX.js → chunk-S7EKUSO6.js} +1 -1
  144. package/dist/{chunk-NGSEF3UX.js → chunk-SEXH4EP5.js} +1 -1
  145. package/dist/{chunk-ONF7XXEL.js → chunk-SJ2ROSXG.js} +1 -1
  146. package/dist/{chunk-HSYMUYEZ.js → chunk-SNTRSP5K.js} +1 -1
  147. package/dist/{chunk-NU5WLZ6Y.js → chunk-SUTVPAJF.js} +1 -1
  148. package/dist/{chunk-ALK66U3O.js → chunk-SYCN2GT2.js} +1 -1
  149. package/dist/{chunk-S36VGP37.js → chunk-T3UCIWRH.js} +1 -1
  150. package/dist/{chunk-3LHE4GIX.js → chunk-TBNEN73P.js} +1 -1
  151. package/dist/{chunk-Y743UVBS.js → chunk-TVI7TQ4C.js} +1 -1
  152. package/dist/{chunk-TVCWDEVS.js → chunk-UEQT7TA4.js} +1 -1
  153. package/dist/{chunk-7SJHVJ3W.js → chunk-UUM367NR.js} +1 -1
  154. package/dist/{chunk-XNVOKAF2.js → chunk-V5FZRNXI.js} +1 -1
  155. package/dist/{chunk-EO4YJFMY.js → chunk-VG5ZDVDQ.js} +1 -1
  156. package/dist/{chunk-EMH7OHCW.js → chunk-VNG2I7NM.js} +1 -1
  157. package/dist/{chunk-3G2ZQ2EF.js → chunk-VSFZEGIK.js} +1 -1
  158. package/dist/{chunk-PFXNBHQQ.js → chunk-VTOPYXHO.js} +1 -1
  159. package/dist/{chunk-HLPAVELJ.js → chunk-WEICJ4GW.js} +1 -1
  160. package/dist/{chunk-5BTLE67Z.js → chunk-WGO2GC6I.js} +1 -1
  161. package/dist/{chunk-GZ7VGCVW.js → chunk-WJJXJNNP.js} +1 -1
  162. package/dist/{chunk-NCRWOW6F.js → chunk-WKVFVT3H.js} +1 -1
  163. package/dist/{chunk-XGKCPD6W.js → chunk-XAQUXFN5.js} +1 -1
  164. package/dist/{chunk-RK2V6OIJ.js → chunk-XE6EUHSS.js} +1 -1
  165. package/dist/{chunk-YHCP326A.js → chunk-XFEJS652.js} +1 -1
  166. package/dist/chunk-XI4QEULN.js +1 -0
  167. package/dist/{chunk-35WQTGN3.js → chunk-XP63T4KZ.js} +1 -1
  168. package/dist/{chunk-4OCVXE5Y.js → chunk-XPDHT3Z4.js} +1 -1
  169. package/dist/{chunk-6IMHGT7F.js → chunk-XRCAUZAZ.js} +1 -1
  170. package/dist/{chunk-Y62EMOQA.js → chunk-XSRZWJIJ.js} +1 -1
  171. package/dist/{chunk-F3PZGSOY.js → chunk-XTOOTN4P.js} +1 -1
  172. package/dist/{chunk-LWU5TKNA.js → chunk-XVFQ6CNO.js} +1 -1
  173. package/dist/{chunk-NT4A37HG.js → chunk-Y5VFOLNQ.js} +1 -1
  174. package/dist/{chunk-J4NBPC57.js → chunk-YFJELEVH.js} +1 -1
  175. package/dist/{chunk-6YDLNP4G.js → chunk-YIZAQABE.js} +1 -1
  176. package/dist/{chunk-Q2XLIWG4.js → chunk-YLCYRG2T.js} +1 -1
  177. package/dist/{chunk-A2VCTDKH.js → chunk-YN4FSUFF.js} +1 -1
  178. package/dist/{chunk-4O5GQ3DS.js → chunk-YNJIDLI3.js} +1 -1
  179. package/dist/{chunk-NCVGCVQ5.js → chunk-YRX4E67D.js} +1 -1
  180. package/dist/{chunk-HQY6JM6G.js → chunk-Z2NL6XQK.js} +1 -1
  181. package/dist/{chunk-J4J2YXH3.js → chunk-Z4DESIR5.js} +1 -1
  182. package/dist/{chunk-4ES7BJEK.js → chunk-Z6Z5DPKS.js} +1 -1
  183. package/dist/{chunk-XSMCQLJW.js → chunk-ZOE6WXW6.js} +1 -1
  184. package/dist/cli/commands/app/app-logs/sources.js +1 -1
  185. package/dist/cli/commands/app/build.js +1 -1
  186. package/dist/cli/commands/app/bulk/cancel.js +1 -1
  187. package/dist/cli/commands/app/bulk/execute.js +1 -1
  188. package/dist/cli/commands/app/bulk/status.js +1 -1
  189. package/dist/cli/commands/app/config/link.js +1 -1
  190. package/dist/cli/commands/app/config/pull.js +1 -1
  191. package/dist/cli/commands/app/config/use.js +1 -1
  192. package/dist/cli/commands/app/config/validate.js +1 -1
  193. package/dist/cli/commands/app/demo/watcher.js +1 -1
  194. package/dist/cli/commands/app/deploy.js +1 -1
  195. package/dist/cli/commands/app/dev/clean.js +1 -1
  196. package/dist/cli/commands/app/dev.js +1 -1
  197. package/dist/cli/commands/app/env/pull.js +1 -1
  198. package/dist/cli/commands/app/env/show.js +1 -1
  199. package/dist/cli/commands/app/execute.js +1 -1
  200. package/dist/cli/commands/app/function/build.js +1 -1
  201. package/dist/cli/commands/app/function/info.js +1 -1
  202. package/dist/cli/commands/app/function/replay.js +1 -1
  203. package/dist/cli/commands/app/function/run.js +1 -1
  204. package/dist/cli/commands/app/function/schema.js +1 -1
  205. package/dist/cli/commands/app/function/typegen.js +1 -1
  206. package/dist/cli/commands/app/generate/extension.js +1 -1
  207. package/dist/cli/commands/app/graphiql.js +1 -1
  208. package/dist/cli/commands/app/import/channel-config.js +1 -1
  209. package/dist/cli/commands/app/import/custom-data-definitions.js +1 -1
  210. package/dist/cli/commands/app/import/dashboard-extensions.js +1 -1
  211. package/dist/cli/commands/app/import-custom-data-definitions.js +1 -1
  212. package/dist/cli/commands/app/import-extensions.js +1 -1
  213. package/dist/cli/commands/app/info.js +1 -1
  214. package/dist/cli/commands/app/init.js +1 -1
  215. package/dist/cli/commands/app/logs.js +1 -1
  216. package/dist/cli/commands/app/release.js +1 -1
  217. package/dist/cli/commands/app/security/check.js +1 -1
  218. package/dist/cli/commands/app/security/clean.js +1 -1
  219. package/dist/cli/commands/app/security/instructions.js +1 -1
  220. package/dist/cli/commands/app/security/record.js +1 -1
  221. package/dist/cli/commands/app/security/review.js +1 -1
  222. package/dist/cli/commands/app/subscription-migrations/cancel.js +1 -1
  223. package/dist/cli/commands/app/subscription-migrations/list.js +1 -1
  224. package/dist/cli/commands/app/subscription-migrations/schedule.js +1 -1
  225. package/dist/cli/commands/app/subscription-migrations/status.js +1 -1
  226. package/dist/cli/commands/app/subscription-migrations/unschedule.js +1 -1
  227. package/dist/cli/commands/app/versions/list.js +1 -1
  228. package/dist/cli/commands/app/webhook/trigger.js +1 -1
  229. package/dist/cli/commands/auth/login.js +1 -1
  230. package/dist/cli/commands/auth/logout.js +1 -1
  231. package/dist/cli/commands/cache/clear.js +1 -1
  232. package/dist/cli/commands/config/autoupgrade/off.js +1 -1
  233. package/dist/cli/commands/config/autoupgrade/on.js +1 -1
  234. package/dist/cli/commands/config/autoupgrade/status.js +1 -1
  235. package/dist/cli/commands/debug/command-flags.js +1 -1
  236. package/dist/cli/commands/doc/fetch.js +1 -1
  237. package/dist/cli/commands/doc/search.js +1 -1
  238. package/dist/cli/commands/docs/generate.js +1 -1
  239. package/dist/cli/commands/doctor-release/doctor-release.js +1 -1
  240. package/dist/cli/commands/doctor-release/theme/index.js +1 -1
  241. package/dist/cli/commands/help.js +1 -1
  242. package/dist/cli/commands/kitchen-sink/async.js +1 -1
  243. package/dist/cli/commands/kitchen-sink/index.js +1 -1
  244. package/dist/cli/commands/kitchen-sink/prompts.js +1 -1
  245. package/dist/cli/commands/kitchen-sink/static.js +1 -1
  246. package/dist/cli/commands/notifications/generate.js +1 -1
  247. package/dist/cli/commands/notifications/list.js +1 -1
  248. package/dist/cli/commands/organization/list.js +1 -1
  249. package/dist/cli/commands/search.js +1 -1
  250. package/dist/cli/commands/send-analytics.js +1 -1
  251. package/dist/cli/commands/theme/check.js +1 -1
  252. package/dist/cli/commands/theme/console.js +1 -1
  253. package/dist/cli/commands/theme/delete.js +1 -1
  254. package/dist/cli/commands/theme/dev.js +1 -1
  255. package/dist/cli/commands/theme/duplicate.js +1 -1
  256. package/dist/cli/commands/theme/info.js +1 -1
  257. package/dist/cli/commands/theme/init.js +1 -1
  258. package/dist/cli/commands/theme/language-server.js +1 -1
  259. package/dist/cli/commands/theme/list.js +1 -1
  260. package/dist/cli/commands/theme/metafields/pull.js +1 -1
  261. package/dist/cli/commands/theme/open.js +1 -1
  262. package/dist/cli/commands/theme/package.js +1 -1
  263. package/dist/cli/commands/theme/preview.js +1 -1
  264. package/dist/cli/commands/theme/profile.js +1 -1
  265. package/dist/cli/commands/theme/publish.js +1 -1
  266. package/dist/cli/commands/theme/pull.js +1 -1
  267. package/dist/cli/commands/theme/push.js +1 -1
  268. package/dist/cli/commands/theme/rename.js +1 -1
  269. package/dist/cli/commands/theme/share.js +1 -1
  270. package/dist/cli/commands/upgrade.js +1 -1
  271. package/dist/cli/commands/version.js +1 -1
  272. package/dist/cli/help.js +1 -1
  273. package/dist/{command-json-schema-SS4GDJTQ.js → command-json-schema-3RP5P43D.js} +1 -1
  274. package/dist/command-registry.js +1 -1
  275. package/dist/{conf-store-54YJCIDK.js → conf-store-XORTWCKZ.js} +1 -1
  276. package/dist/{custom-oclif-loader-3UBH7Q7R.js → custom-oclif-loader-ZRYPPYIP.js} +1 -1
  277. package/dist/{deprecations-ZX7ZKF6L.js → deprecations-AZDMCRNN.js} +1 -1
  278. package/dist/dist-DTBXLVHF.js +1 -0
  279. package/dist/dist-SOYIDACZ.js +1 -0
  280. package/dist/environments-L42SEHB4.js +1 -0
  281. package/dist/{error-AA6LW3PN.js → error-H6B5BHYC.js} +1 -1
  282. package/dist/error-handler-JB752NKM.js +1 -0
  283. package/dist/{fs-4QZCAEP7.js → fs-XHZY6MNM.js} +1 -1
  284. package/dist/hooks/did-you-mean.js +1 -1
  285. package/dist/hooks/hydrogen-init.js +1 -1
  286. package/dist/hooks/postrun.js +1 -1
  287. package/dist/hooks/prerun.js +1 -1
  288. package/dist/hooks/public-metadata.js +1 -1
  289. package/dist/hooks/sensitive-metadata.js +1 -1
  290. package/dist/hooks/tunnel-provider.js +1 -1
  291. package/dist/hooks/tunnel-start.js +1 -1
  292. package/dist/index.js +1 -1
  293. package/dist/{is-global-FKG327CG.js → is-global-2NBDZWLC.js} +1 -1
  294. package/dist/{json-error-32ETFU3V.js → json-error-OHV2KQFY.js} +1 -1
  295. package/dist/{local-R3UAQN7T.js → local-ZZGRGYUP.js} +1 -1
  296. package/dist/{metadata-JWJG4JV4.js → metadata-YQNVKC2R.js} +1 -1
  297. package/dist/{node-package-manager-M4XHUTQR.js → node-package-manager-LN2Y7FQ2.js} +1 -1
  298. package/dist/notifications-system-HWJ3F44U.js +1 -0
  299. package/dist/{os-FEHBQQKP.js → os-MHOCCDIB.js} +1 -1
  300. package/dist/{output-2LS5AOAH.js → output-GILH4S6M.js} +1 -1
  301. package/dist/{system-TMD2LYZM.js → system-6WYK24ET.js} +1 -1
  302. package/dist/tsconfig.tsbuildinfo +1 -1
  303. package/dist/{ui-FNPICAAH.js → ui-RP6SVJUK.js} +1 -1
  304. package/dist/upgrade-5G7FBJJV.js +1 -0
  305. package/dist/version-TOBC7X2C.js +1 -0
  306. package/dist/version-UIRCT6RC.js +1 -0
  307. package/dist/{workerd-TKVRZK2F.js → workerd-ARH2OCYL.js} +1 -1
  308. package/oclif.manifest.json +1 -1
  309. package/package.json +7 -7
  310. package/dist/analytics-APDNTBDE.js +0 -1
  311. package/dist/analytics-LX52KYSE.js +0 -1
  312. package/dist/chunk-3C4WVKSO.js +0 -6
  313. package/dist/chunk-BQ3U3CQV.js +0 -1
  314. package/dist/chunk-GN66BRYF.js +0 -1
  315. package/dist/chunk-KTD7VLHL.js +0 -2
  316. package/dist/chunk-L4DFMMOI.js +0 -1
  317. package/dist/chunk-PWS4VFSD.js +0 -1
  318. package/dist/chunk-XUUIBSLW.js +0 -1
  319. package/dist/dist-JMNE7MP6.js +0 -1
  320. package/dist/dist-M2AXGBOL.js +0 -1
  321. package/dist/environments-KD2IDYPG.js +0 -1
  322. package/dist/error-handler-4VW3AV2G.js +0 -1
  323. package/dist/notifications-system-QVM2JWKB.js +0 -1
  324. package/dist/upgrade-YYPP5VZY.js +0 -1
  325. package/dist/version-OX3MORI6.js +0 -1
  326. package/dist/version-P7D5ME4Z.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as y0,b as F0}from"./chunk-LJIJEGND.js";import{b as _0,o as T8}from"./chunk-YLQ3LNNY.js";import{a as O8}from"./chunk-VJEKDBGZ.js";import{$ as Jo,B as Mn,C as v0,D as mi,E as C0,F as Td,G as w0,H as Ke,I as zo,J as Vo,K as b0,L as io,M as Go,N as Ko,O as pn,P as qc,Q as gr,R as Ie,S as gi,T as dn,U as Fs,V as A0,W as Wc,Y as S0,Z as x0,_ as Hc,aa as P0,ba as O0,ca as T0,da as I0,e as d0,ga as B0,ha as R0,ia as N0,ja as M0,la as j0,m as h0,ma as Id,n as D0,na as $0,o as m0,p as xd,q as jr,qa as L0,r as Ho,ra as zc,v as Uc,w as kc,x as E0,y as Pd,z as Od}from"./chunk-Y743UVBS.js";import{a as g0}from"./chunk-3G2ZQ2EF.js";import{da as P8}from"./chunk-NCRWOW6F.js";import{a as p0}from"./chunk-WLWHCUPZ.js";import{c as ys,d as wt}from"./chunk-D3KFKT4D.js";import{a as Gy,b as Ky}from"./chunk-TFXUDHCP.js";import{a as f0}from"./chunk-F3PZGSOY.js";import{a as mr}from"./chunk-45SZ5PSE.js";import{$ as ms,D as Ly,E as Uy,G as Cd,J as ky,P as w8,Q as qy,R as b8,S as A8,T as Wy,U as S8,V as fn,W as Bc,Y as Hy,Z as Ct,aa as zy,b as v8,e as hi,ea as Vy,j as By,l as Ry,o as Ny,u as My}from"./chunk-3V4VL3SD.js";import{m as Rc,n as Yy,s as Xy,t as Zy,w as Nc,x as Mc}from"./chunk-3C4WVKSO.js";import{d as C8,e as jy,q as $y}from"./chunk-QTLGMJDW.js";import{a as _d}from"./chunk-XUUIBSLW.js";import{a as Bn,b as ro}from"./chunk-5BTLE67Z.js";import{A as jc,B as e0,D as t0,E as Nr,F as bd,H as r0,J as _s,K as n0,M as i0,S as Di,V as $c,y as no,z as gs}from"./chunk-47IQIIFX.js";import{a as x8}from"./chunk-5HBIIYSK.js";import{b as Ds,d as Tc,e as Ic}from"./chunk-HILYTMVA.js";import{f as wd}from"./chunk-DSS4ECIH.js";import{i as k,k as Rn,l as Mr}from"./chunk-Q37WAD6F.js";import{$ as vt,$a as Iy,A as Fd,Aa as Rr,Cb as Ae,Db as Lc,Eb as Se,Fa as Sy,Ia as di,Ja as xy,Ka as Sc,Kb as s0,Mb as a0,Nb as ce,Oa as Py,Ob as Nn,P as pi,Pa as Oy,Qb as c0,R as Bt,Rb as l0,Sa as xc,Ta as Ty,U as F8,V as E8,X as Cy,Xa as Y,Ya as Ut,Z as ps,_a as Ve,aa as Ed,b as E,ca as vd,db as ln,ea as bc,f as d8,fb as Pc,g as h8,ha as wy,hb as Oc,ia as Wo,j as D8,la as by,m as m8,o as g8,oa as ds,q as Fy,qa as $e,r as Ey,ra as to,sa as hs,ta as Br,tb as Jy,u as _8,ua as Ac,y as vy,ya as mt,z as y8,za as Ay}from"./chunk-UWI76E2L.js";import{b as f8,c as p8,e as _y,f as yy,i as Qy}from"./chunk-B4OMIONW.js";import{g as o0,l as Ad,m as Sd,n as u0}from"./chunk-UEBUGSBT.js";import{a as fs}from"./chunk-JD5P5RAJ.js";import{c as B,d as eo,e as ot,f as Te,g as hy,h as De,i as Pe,j as Cc,k as Dy,m as wc,n as my,r as gy,s as yd}from"./chunk-6IDEDOXW.js";import{a as ze,c as N,e as fi,f as l8,g as d}from"./chunk-VKWPEFWQ.js";var cF=N((Gc,aF)=>{d();(function(e,t){typeof Gc=="object"&&typeof aF<"u"?t(Gc,(E8(),l8(F8)),v8()):typeof define=="function"&&define.amd?define(["exports","tslib","graphql"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e["graphql-tag"]={},e.tslib,e.graphql))})(Gc,(function(e,t,r){"use strict";var n=new Map,o=new Map,s=!0,a=!1;function l(q){return q.replace(/[\s,]+/g," ").trim()}function p(q){return l(q.source.body.substring(q.start,q.end))}function D(q){var J=new Set,Q=[];return q.definitions.forEach(function(fe){if(fe.kind==="FragmentDefinition"){var ye=fe.name.value,We=p(fe.loc),gt=o.get(ye);gt&&!gt.has(We)?s&&console.warn("Warning: fragment with name "+ye+` already exists.
1
+ import{a as y0,b as F0}from"./chunk-35NTERVR.js";import{b as _0,o as T8}from"./chunk-YLQ3LNNY.js";import{a as O8}from"./chunk-VJEKDBGZ.js";import{$ as Jo,B as Mn,C as v0,D as mi,E as C0,F as Td,G as w0,H as Ke,I as zo,J as Vo,K as b0,L as io,M as Go,N as Ko,O as pn,P as qc,Q as gr,R as Ie,S as gi,T as dn,U as Fs,V as A0,W as Wc,Y as S0,Z as x0,_ as Hc,aa as P0,ba as O0,ca as T0,da as I0,e as d0,ga as B0,ha as R0,ia as N0,ja as M0,la as j0,m as h0,ma as Id,n as D0,na as $0,o as m0,p as xd,q as jr,qa as L0,r as Ho,ra as zc,v as Uc,w as kc,x as E0,y as Pd,z as Od}from"./chunk-TVI7TQ4C.js";import{a as g0}from"./chunk-VSFZEGIK.js";import{da as P8}from"./chunk-WKVFVT3H.js";import{a as p0}from"./chunk-62LMVFR7.js";import{c as ys,d as wt}from"./chunk-65GNYRYR.js";import{a as Gy,b as Ky}from"./chunk-762IKULK.js";import{a as f0}from"./chunk-XTOOTN4P.js";import{a as mr}from"./chunk-LG6DGIFX.js";import{$ as ms,D as Ly,E as Uy,G as Cd,J as ky,P as w8,Q as qy,R as b8,S as A8,T as Wy,U as S8,V as fn,W as Bc,Y as Hy,Z as Ct,aa as zy,b as v8,e as hi,ea as Vy,j as By,l as Ry,o as Ny,u as My}from"./chunk-HB4YI2PF.js";import{m as Rc,n as Yy,s as Xy,t as Zy,w as Nc,x as Mc}from"./chunk-5VRB3FBD.js";import{d as C8,e as jy,q as $y}from"./chunk-AODTY2BL.js";import{a as _d}from"./chunk-GYVQIRBD.js";import{a as Bn,b as ro}from"./chunk-WGO2GC6I.js";import{A as jc,B as e0,D as t0,E as Nr,F as bd,H as r0,J as _s,K as n0,M as i0,S as Di,V as $c,y as no,z as gs}from"./chunk-7YXHILW4.js";import{a as x8}from"./chunk-5HBIIYSK.js";import{b as Ds,d as Tc,e as Ic}from"./chunk-HILYTMVA.js";import{f as wd}from"./chunk-MWWULCLD.js";import{i as k,k as Rn,l as Mr}from"./chunk-4HBKQUKY.js";import{$ as vt,$a as Iy,A as Fd,Aa as Rr,Cb as Ae,Db as Lc,Eb as Se,Fa as Sy,Ia as di,Ja as xy,Ka as Sc,Kb as s0,Mb as a0,Nb as ce,Oa as Py,Ob as Nn,P as pi,Pa as Oy,Qb as c0,R as Bt,Rb as l0,Sa as xc,Ta as Ty,U as F8,V as E8,X as Cy,Xa as Y,Ya as Ut,Z as ps,_a as Ve,aa as Ed,b as E,ca as vd,db as ln,ea as bc,f as d8,fb as Pc,g as h8,ha as wy,hb as Oc,ia as Wo,j as D8,la as by,m as m8,o as g8,oa as ds,q as Fy,qa as $e,r as Ey,ra as to,sa as hs,ta as Br,tb as Jy,u as _8,ua as Ac,y as vy,ya as mt,z as y8,za as Ay}from"./chunk-62GA7XR3.js";import{b as f8,c as p8,e as _y,f as yy,i as Qy}from"./chunk-B4OMIONW.js";import{g as o0,l as Ad,m as Sd,n as u0}from"./chunk-PT3OZEBI.js";import{a as fs}from"./chunk-JD5P5RAJ.js";import{c as B,d as eo,e as ot,f as Te,g as hy,h as De,i as Pe,j as Cc,k as Dy,m as wc,n as my,r as gy,s as yd}from"./chunk-6IDEDOXW.js";import{a as ze,c as N,e as fi,f as l8,g as d}from"./chunk-VKWPEFWQ.js";var cF=N((Gc,aF)=>{d();(function(e,t){typeof Gc=="object"&&typeof aF<"u"?t(Gc,(E8(),l8(F8)),v8()):typeof define=="function"&&define.amd?define(["exports","tslib","graphql"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e["graphql-tag"]={},e.tslib,e.graphql))})(Gc,(function(e,t,r){"use strict";var n=new Map,o=new Map,s=!0,a=!1;function l(q){return q.replace(/[\s,]+/g," ").trim()}function p(q){return l(q.source.body.substring(q.start,q.end))}function D(q){var J=new Set,Q=[];return q.definitions.forEach(function(fe){if(fe.kind==="FragmentDefinition"){var ye=fe.name.value,We=p(fe.loc),gt=o.get(ye);gt&&!gt.has(We)?s&&console.warn("Warning: fragment with name "+ye+` already exists.
2
2
  graphql-tag enforces all fragment names across your application to be unique; read more about
3
3
  this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):gt||o.set(ye,gt=new Set),gt.add(We),J.has(We)||(J.add(We),Q.push(fe))}else Q.push(fe)}),t.__assign(t.__assign({},q),{definitions:Q})}function g(q){var J=new Set(q.definitions);J.forEach(function(fe){fe.loc&&delete fe.loc,Object.keys(fe).forEach(function(ye){var We=fe[ye];We&&typeof We=="object"&&J.add(We)})});var Q=q.loc;return Q&&(delete Q.startToken,delete Q.endToken),q}function F(q){var J=l(q);if(!n.has(J)){var Q=r.parse(q,{experimentalFragmentVariables:a,allowLegacyFragmentVariables:a,experimentalFragmentArguments:a});if(!Q||Q.kind!=="Document")throw new Error("Not a valid GraphQL document.");n.set(J,g(D(Q)))}return n.get(J)}function w(q){for(var J=[],Q=1;Q<arguments.length;Q++)J[Q-1]=arguments[Q];typeof q=="string"&&(q=[q]);var fe=q[0];return J.forEach(function(ye,We){ye&&ye.kind==="Document"?fe+=ye.loc.source.body:fe+=ye,fe+=q[We+1]}),F(fe)}function v(){n.clear(),o.clear()}function S(){s=!1}function O(){a=!0}function P(){a=!1}var I={gql:w,resetCaches:v,disableFragmentWarnings:S,enableExperimentalFragmentVariables:O,disableExperimentalFragmentVariables:P};(function(q){q.gql=I.gql,q.resetCaches=I.resetCaches,q.disableFragmentWarnings=I.disableFragmentWarnings,q.enableExperimentalFragmentVariables=I.enableExperimentalFragmentVariables,q.disableExperimentalFragmentVariables=I.disableExperimentalFragmentVariables})(w||(w={})),w.default=w;var U=w;e.default=U,e.disableExperimentalFragmentVariables=P,e.disableFragmentWarnings=S,e.enableExperimentalFragmentVariables=O,e.gql=w,e.resetCaches=v,Object.defineProperty(e,"__esModule",{value:!0})}))});var fF=N((YH,lF)=>{d();lF.exports=cF().gql});var yF=N(_F=>{d();var X8=Object.create,Kc=Object.defineProperty,Z8=Object.getPrototypeOf,Q8=Object.prototype.hasOwnProperty,eB=Object.getOwnPropertyNames,tB=Object.getOwnPropertyDescriptor,dF=e=>Kc(e,"__esModule",{value:!0}),rB=(e,t)=>{dF(e);for(var r in t)Kc(e,r,{get:t[r],enumerable:!0})},nB=(e,t,r)=>{if(dF(e),t&&typeof t=="object"||typeof t=="function")for(let n of eB(t))!Q8.call(e,n)&&n!=="default"&&Kc(e,n,{get:()=>t[n],enumerable:!(r=tB(t,n))||r.enumerable});return e},Jc=e=>e&&e.__esModule?e:nB(Kc(e!=null?X8(Z8(e)):{},"default",{value:e,enumerable:!0}),e);rB(_F,{default:()=>pB,generateContentsFromGraphqlString:()=>gF,generateGraphQLString:()=>DF});var iB=Jc(ze("fs")),oB=Jc(fF()),uB=Jc(ze("readline")),pF=Jc(ze("path")),hF=(e,t)=>{let r=t?t(e):e;return JSON.stringify(r,(n,o)=>o===void 0?"__undefined":o).replace(/"__undefined"/g,"undefined")},sB=(e,t)=>{let r=new Set,n=[],o=s=>{r.has(s)||(r.add(s),s.imports.forEach(a=>{let l=t[a.absolutePath];o(l)}),n.unshift(s))};return e.forEach(o),n},aB=e=>new Promise(t=>{let r=uB.default.createInterface({input:iB.default.createReadStream(e)}),n="",o=[],s=!1,a=(l,p)=>{let D=p.replace(l,""),g=D.replace(/"|'/g,""),F=pF.default.join(pF.default.dirname(e),g);o.push({absolutePath:F,relativePath:D})};r.on("line",l=>{l.startsWith("#import ")?a("#import ",l):l.startsWith("# import ")?a("# import ",l):s?n+=l+`
4
4
  `:l[0]!=="#"&&l!==""&&(s=!0,n+=l+`
@@ -1,4 +1,4 @@
1
- import{b as Mn}from"./chunk-TQ7URMGS.js";import{$ as q,A as h,Aa as Ln,B as M,Ba as Nn,C as hn,D as he,E as Ut,F as He,G as Je,H as ve,Ha as dr,I as gn,Ia as Hn,J as $e,Ja as to,K as be,Ka as Ve,L as yn,La as et,M as Vt,Ma as ht,N as me,Na as oo,O as cr,Oa as tt,P as wn,Pa as ro,Q as Qe,Qa as Un,R as Ke,Ra as Vn,S as vn,Sa as Bn,T as Bt,Ta as no,U as bn,Ua as Gn,V as kn,Va as Yn,W as En,Wa as qn,X as Sn,Y as xn,Z as Me,_ as Pn,a as ae,aa as Xe,b as pt,ba as Cn,c as an,ca as Dn,d as Ne,da as Gt,e as we,ea as Yt,f as qe,fa as Tn,g as cn,ga as pe,h as ln,ha as In,i as rr,ia as On,j as We,ja as lr,k as ut,ka as $n,l as Oe,la as Rn,m as dn,ma as An,n as Nt,na as qt,o as nr,oa as Wt,p as ft,pa as zt,q as ir,qa as Fn,r as mn,ra as Jt,s as pn,sa as Qt,t as sr,ta as jn,u as un,ua as Kt,v as ar,va as Xt,w as Ht,wa as Ue,x as Mt,xa as Ze,y as ze,ya as Zt,z as fn,za as _n}from"./chunk-HSYMUYEZ.js";import{a as Xr}from"./chunk-JLGA3B7P.js";import{b as sn}from"./chunk-ZTICX3AO.js";import{b as Zr,c as en,d as Lt,h as tn,j as on,k as rn,l as nn}from"./chunk-FEQHCE2E.js";import{a as Rs}from"./chunk-UWHAOGO4.js";import{a as io}from"./chunk-FKIVKNOV.js";import{a as eo,b as mr,c as pr}from"./chunk-LJIJEGND.js";import{b as D}from"./chunk-4ZNBEMRT.js";import{ba as de,i as Vr,j as ue,wa as $s}from"./chunk-3V4VL3SD.js";import{B as zr,l as Gr,m as ye,p as At,s as Yr,u as qr,x as Wr}from"./chunk-3C4WVKSO.js";import{A as G,B as Jr,C as Ce,D as De,E as Se,H as X,S as or,a as Rt,y as U,z as F}from"./chunk-47IQIIFX.js";import{c as Ur}from"./chunk-HILYTMVA.js";import{i as w,l as jt}from"./chunk-Q37WAD6F.js";import{Aa as Ot,Ca as ge,Cb as fe,Eb as Y,Ga as Zo,Gb as Te,Ia as $t,Ka as Hr,Kb as $,La as Mr,Lb as Qr,Mb as Ie,Nb as Kr,Oa as er,Ob as V,Pb as Z,Sa as tr,Xa as J,Y as Tt,_a as mt,ca as Lr,qa as se,ra as Nr,ta as It,ua as Xo,wb as Br,ya as Q,yb as Ft}from"./chunk-UWI76E2L.js";import{i as L}from"./chunk-B4OMIONW.js";import{s as _t}from"./chunk-UEBUGSBT.js";import{c as E,e as x,f as ne,h as Ko,i as Ye,j as jr,p as _r}from"./chunk-6IDEDOXW.js";import{a as Os}from"./chunk-CX5CC6P5.js";import{e as K,g as c}from"./chunk-VKWPEFWQ.js";c();c();var uo=K(ae(),1);c();c();var so=[{name:"npm",lockfile:"package-lock.json",alternativeLockfiles:["npm-shrinkwrap.json"],installCommand:"npm ci"},{name:"yarn",lockfile:"yarn.lock",installCommand:"yarn install --frozen-lockfile"},{name:"pnpm",lockfile:"pnpm-lock.yaml",installCommand:"pnpm install --frozen-lockfile"},{name:"bun",lockfile:"bun.lockb",alternativeLockfiles:["bun.lock"],installCommand:"bun install --frozen-lockfile"}];function As(e){let t="No lockfile found",o="If you don\u2019t commit a lockfile, then your app might install the wrong package versions when deploying. To avoid versioning issues, generate a new lockfile and commit it to your repository.",r=[["Generate a lockfile. Run",{command:"npm|yarn|pnpm install"}],"Commit the new file to your repository"];if(e)throw new w(t,o,r);G({headline:t,body:o,nextSteps:r})}function Fs(e,t){let o=e.map(({packageManager:s,foundLockfile:a})=>`${a} (created by ${s.name})`),r="Multiple lockfiles found",n=[`Your project contains more than one lockfile. This can cause version conflicts when installing and deploying your app. The following lockfiles were detected:
1
+ import{b as Mn}from"./chunk-TQ7URMGS.js";import{$ as q,A as h,Aa as Ln,B as M,Ba as Nn,C as hn,D as he,E as Ut,F as He,G as Je,H as ve,Ha as dr,I as gn,Ia as Hn,J as $e,Ja as to,K as be,Ka as Ve,L as yn,La as et,M as Vt,Ma as ht,N as me,Na as oo,O as cr,Oa as tt,P as wn,Pa as ro,Q as Qe,Qa as Un,R as Ke,Ra as Vn,S as vn,Sa as Bn,T as Bt,Ta as no,U as bn,Ua as Gn,V as kn,Va as Yn,W as En,Wa as qn,X as Sn,Y as xn,Z as Me,_ as Pn,a as ae,aa as Xe,b as pt,ba as Cn,c as an,ca as Dn,d as Ne,da as Gt,e as we,ea as Yt,f as qe,fa as Tn,g as cn,ga as pe,h as ln,ha as In,i as rr,ia as On,j as We,ja as lr,k as ut,ka as $n,l as Oe,la as Rn,m as dn,ma as An,n as Nt,na as qt,o as nr,oa as Wt,p as ft,pa as zt,q as ir,qa as Fn,r as mn,ra as Jt,s as pn,sa as Qt,t as sr,ta as jn,u as un,ua as Kt,v as ar,va as Xt,w as Ht,wa as Ue,x as Mt,xa as Ze,y as ze,ya as Zt,z as fn,za as _n}from"./chunk-SNTRSP5K.js";import{a as Xr}from"./chunk-JLGA3B7P.js";import{b as sn}from"./chunk-BD2L6YE5.js";import{b as Zr,c as en,d as Lt,h as tn,j as on,k as rn,l as nn}from"./chunk-K6FH5JSY.js";import{a as Rs}from"./chunk-UWHAOGO4.js";import{a as io}from"./chunk-FKIVKNOV.js";import{a as eo,b as mr,c as pr}from"./chunk-35NTERVR.js";import{b as D}from"./chunk-DCKRQZLE.js";import{ba as de,i as Vr,j as ue,wa as $s}from"./chunk-HB4YI2PF.js";import{B as zr,l as Gr,m as ye,p as At,s as Yr,u as qr,x as Wr}from"./chunk-5VRB3FBD.js";import{A as G,B as Jr,C as Ce,D as De,E as Se,H as X,S as or,a as Rt,y as U,z as F}from"./chunk-7YXHILW4.js";import{c as Ur}from"./chunk-HILYTMVA.js";import{i as w,l as jt}from"./chunk-4HBKQUKY.js";import{Aa as Ot,Ca as ge,Cb as fe,Eb as Y,Ga as Zo,Gb as Te,Ia as $t,Ka as Hr,Kb as $,La as Mr,Lb as Qr,Mb as Ie,Nb as Kr,Oa as er,Ob as V,Pb as Z,Sa as tr,Xa as J,Y as Tt,_a as mt,ca as Lr,qa as se,ra as Nr,ta as It,ua as Xo,wb as Br,ya as Q,yb as Ft}from"./chunk-62GA7XR3.js";import{i as L}from"./chunk-B4OMIONW.js";import{s as _t}from"./chunk-PT3OZEBI.js";import{c as E,e as x,f as ne,h as Ko,i as Ye,j as jr,p as _r}from"./chunk-6IDEDOXW.js";import{a as Os}from"./chunk-CX5CC6P5.js";import{e as K,g as c}from"./chunk-VKWPEFWQ.js";c();c();var uo=K(ae(),1);c();c();var so=[{name:"npm",lockfile:"package-lock.json",alternativeLockfiles:["npm-shrinkwrap.json"],installCommand:"npm ci"},{name:"yarn",lockfile:"yarn.lock",installCommand:"yarn install --frozen-lockfile"},{name:"pnpm",lockfile:"pnpm-lock.yaml",installCommand:"pnpm install --frozen-lockfile"},{name:"bun",lockfile:"bun.lockb",alternativeLockfiles:["bun.lock"],installCommand:"bun install --frozen-lockfile"}];function As(e){let t="No lockfile found",o="If you don\u2019t commit a lockfile, then your app might install the wrong package versions when deploying. To avoid versioning issues, generate a new lockfile and commit it to your repository.",r=[["Generate a lockfile. Run",{command:"npm|yarn|pnpm install"}],"Commit the new file to your repository"];if(e)throw new w(t,o,r);G({headline:t,body:o,nextSteps:r})}function Fs(e,t){let o=e.map(({packageManager:s,foundLockfile:a})=>`${a} (created by ${s.name})`),r="Multiple lockfiles found",n=[`Your project contains more than one lockfile. This can cause version conflicts when installing and deploying your app. The following lockfiles were detected:
2
2
  `,{list:{items:o}}],i=["Delete any unneeded lockfiles","Commit the change to your repository"];if(t)throw new w(r,n,i);G({headline:r,body:n,nextSteps:i})}function js(e){let t="Lockfile ignored by Git",o="Your project\u2019s lockfile isn\u2019t being tracked by Git. If you don\u2019t commit a lockfile, then your app might install the wrong package versions when deploying.",r=[`In your project\u2019s .gitignore file, delete any references to ${e}`,"Commit the change to your repository"];G({headline:t,body:o,nextSteps:r})}async function Wn(e,t=!1){if(Ne&&!process.env.SHOPIFY_UNIT_TEST)return;let o=[];for(let i of so){let s=[i.lockfile,...i.alternativeLockfiles||[]];for(let a of s)if(await J(x(e,a))){o.push({packageManager:i,foundLockfile:a});break}}if(o.length===0)return As(t);if(o.length>1)return Fs(o,t);let r=o[0].foundLockfile;(await Zr(e,[r]).catch(()=>[])).length>0&&js(r)}c();var _s=["^cdn/","^_t/"];function ao(e){let t=new Set;return Object.values(e.routes).filter(o=>_s.some(r=>new RegExp(r).test(o.path??""))).forEach(o=>{o.path&&t.add(o.path)}),[...t]}var Ls=["","cart","products/:productHandle","collections","collections/:collectionHandle","sitemap.xml","robots.txt","pages/:pageHandle","policies/:policyHandle","search","account","account/login","account/orders/:orderId","account/authorize"];function co(e,t=Ls){let o=Object.values(e.routes),r=new Set(t);for(let n of t)for(let i of o)if(!n&&!i.path)r.delete(n);else if(n&&i.path){let s={path:i.path,parentId:i.parentId};for(;s.parentId&&s.parentId!=="root";){let p=o.find(d=>d.id===s.parentId);if(!p)break;s.path=p.path==null?s.path:`${p.path}/${s.path}`,s.parentId=p.parentId}let a=":?[^\\/\\?]+\\?",l=`^(${a}\\/)?`+n.replaceAll(".","\\.").replace(/\//g,`\\/(${a}\\/)?`).replace(/:[^/)?]+/g,"(:[^\\/]+|\\*)")+`(\\/${a})?$`;new RegExp(l).test(s.path)&&r.delete(n)}return[...r]}var Re=100;function zn(e){e.length?G({headline:"Standard Shopify routes missing",body:`Your Hydrogen project is missing ${e.length} standard Shopify route${e.length>1?"s":""}.
3
3
  Including these routes improves compatibility with Shopify\u2019s platform:
4
4
 
@@ -246,7 +246,7 @@ Skip the flag or provide the name of a template or a URL to a git repository.`,{
246
246
  }
247
247
  }
248
248
  }
249
- `;async function hs(e){let{hydrogenStorefronts:t}=await Qe(gc,e);return t.map(o=>({...o,parsedId:Ke(o.id)}))}var _o=class e extends D{static descriptionWithMarkdown="Lists all remote Hydrogen storefronts available to link to your local development environment.";static description="Returns a list of Hydrogen storefronts available on a given shop.";static flags={...h.path};async run(){let{flags:t}=await this.parse(e);await yc(t)}};async function yc({path:e=process.cwd()}){let{session:t}=await pe(e),o=await hs(t);o.length>0?(Z(),$(bc({storefronts:o,shop:t.storeFqdn}).toString()),o.forEach(({currentProductionDeployment:r,id:n,productionUrl:i,title:s})=>{Z(),$(Y`${L.whiteBright(s)} ${L.dim(`(id: ${Ke(n)})`)}`.value),i&&$(Y` ${L.whiteBright(i)}`.value),r&&$(Y` ${L.dim(vc(r))}`.value)})):U({headline:"Hydrogen storefronts",body:"There are no Hydrogen storefronts on your Shop.",nextSteps:[`Ensure you are logged in to the correct shop (currently: ${t.storeFqdn})`,`Create a new Hydrogen storefront: Run \`${await q(e)} link\` or visit ${Mi(t)}`]})}var wc=new Intl.DateTimeFormat("default",{year:"numeric",month:"numeric",day:"numeric"});function vc(e){let t="";if(!e)return t;if(t+=wc.format(new Date(e.createdAt)),e.commitMessage){let o=e.commitMessage.split(/\n/)[0];t+=`, ${o}`}return t}var bc=({storefronts:e,shop:t})=>Tt(e,o=>`Showing ${o.length} Hydrogen storefronts for the store ${t}`,o=>`Showing 1 Hydrogen storefront for the store ${t}`);c();var Lo=class e extends D{static descriptionWithMarkdown="Logs in to the specified shop and saves the shop domain to the project.";static description="Login to your Shopify account.";static flags={...h.path,...h.shop};async run(){let{flags:t}=await this.parse(e);await kc(t)}};async function kc({path:e=process.cwd(),shop:t}){Z(),Cn(!0);let{config:o}=await pe(e,t??!0);In(o)}c();var No=class e extends D{static descriptionWithMarkdown="Log out from the current shop.";static description="Logout of your local session.";static flags={...h.path};async run(){let{flags:t}=await this.parse(e);await Ec(t)}};async function Ec({path:e=process.cwd()}){Z(),await Tn(e),F({body:"You are logged out from Shopify."})}c();var Cr=K(ae(),1);c();async function gs(e){let{startWorkerdServer:t}=await import("./workerd-TKVRZK2F.js");return t(e)}var Ho=class e extends D{static descriptionWithMarkdown="Runs a server in your local development environment that serves your Hydrogen app's production build. Requires running the [build](https://shopify.dev/docs/api/shopify-cli/hydrogen/hydrogen-build) command first.";static description="Runs a Hydrogen storefront in an Oxygen worker for production.";static flags={...h.path,...h.port,...h.env,...h.envBranch,...h.envFile,...h.inspectorPort,...h.debug,...h.verbose,build:Cr.Flags.boolean({description:"Builds the app before starting the preview server."}),watch:Cr.Flags.boolean({description:"Watches for changes and rebuilds the project.",dependsOn:["build"]}),...he(h.entry,{entry:{dependsOn:["build"]}}),...he(h.codegen,{codegen:{dependsOn:["build"]}})};async run(){let{flags:t}=await this.parse(e),o=t.path?x(t.path):process.cwd(),{close:r}=await Sc({...M(t),directory:o});Ae(async()=>{await r()})}};async function Sc({port:e,directory:t,env:o,envBranch:r,inspectorPort:n,debug:i,verbose:s,build:a=!1,watch:l=!1,codegen:p=!1,codegenConfigPath:d,entry:u,envFile:m}){process.env.NODE_ENV||(process.env.NODE_ENV=l?"development":"production"),s&&Gt(),Yt()||Xe();let{root:f,buildPath:y,buildPathWorkerFile:v,buildPathClient:g}=ve(t),k=await Je(f);if(k)throw new w(be);let b,I=wt(),P=a?await Be({...{directory:f,entry:u,disableRouteWarning:!1,lockfileCheck:!1,sourcemap:!0,bundleStats:!1,useCodegen:p,codegenConfigPath:d},watch:l,async onServerBuildFinish(){I.state==="pending"?I.resolve():$("\u{1F3D7}\uFE0F Project rebuilt. Reloading server..."),await b?.reload()}}):I.resolve();k||(v=(await me(f).catch(()=>null))?.serverOutFile??E(y,"server","index.js"));let{shop:C,storefront:S}=await Bt(f),A=!!C&&!!S?.id,{allVariables:j,logInjectedVariables:R}=await ro({root:f,fetchRemote:A,envBranch:r,envHandle:o,envFile:m});e||(e=await at(ze));let _=await at(e+100);return await I.promise,R(),b=await gs({root:f,appPort:e,assetsPort:_,env:j,buildPathClient:g,buildPathWorkerFile:v,inspectorPort:n,debug:i,watch:l}),b.showBanner({mode:"preview",headlinePrefix:l?"Watching for changes. ":""}),{async close(){await Promise.allSettled([b.close(),P?.close()])}}}c();var Mo=class e extends D{static description="Scaffold routes and core functionality.";static flags={...h.path,...h.force,...h.markets,...h.shortcut,...he(h.installDeps,{"install-deps":{default:!0}})};async run(){let{flags:t}=await this.parse(e),o=t.path?x(t.path):process.cwd();await xc({...M(t),directory:o})}};async function xc(e){let t=new Rt,{rootDirectory:o,appDirectory:r}=await $e(e.directory),n=Ye(o),i=q(),s=Promise.resolve(),a=[{title:"Setting up project",task:async()=>{await s}}],l=e.markets?e.markets:await Mt({abortSignal:t.signal,extraChoices:{none:"Set up later"}}),p=l==="none"?void 0:l,{setupRoutes:d}=qt(t),u,m=await cn(".."),[f,y]=await Promise.all([J(E(o,"tsconfig.json")),mt("*.d.ts",{cwd:m})]);s=s.then(()=>Promise.all([...y.map(b=>It(E(m,b),x(o,b))),Wt({rootDirectory:o,appDirectory:r,typescript:f})])).then(async()=>{u=await d(o,f?"ts":"js",{i18nStrategy:p,overwriteFileDeps:!0})}),p&&(s=s.then(()=>Ht(p,{rootDirectory:o})));let v=await Promise.resolve(i),{createShortcut:g,showShortcutBanner:k}=await zt(t,v,e.shortcut);!p&&!g||(g&&(s=s.then(async()=>{await g()&&(v=Me)}),k()),await X(a),await Ze({location:n,name:n,directory:o},{cliCommand:v,depsInstalled:!0,packageManager:"npm",i18n:p,routes:u}))}c();var ys=K(ae(),1);var Uo=class e extends D{static descriptionWithMarkdown="Adds support for certain CSS strategies to your project.";static description="Setup CSS strategies for your project.";static flags={...h.path,...h.force,...he(h.installDeps,{"install-deps":{default:!0}})};static args={strategy:ys.Args.string({name:"strategy",description:`The CSS strategy to setup. One of ${rr.join()}`,options:rr})};async run(){let{flags:t,args:o}=await this.parse(e),r=t.path?x(t.path):process.cwd();await Pc({...M(t),strategy:o.strategy,directory:r})}};async function Pc({strategy:e,directory:t,force:o=!1,installDeps:r=!0}){let n=await me(t).catch(()=>null);if(!n)throw new w("No Vite config found. This command is only supported in Vite projects.");let{remixConfig:i}=n,s=e||await pn();if(s==="css-modules"||s==="postcss"){F({headline:`Vite works out of the box with ${ft[s]}.`,body:`See the Vite documentation for more information:
249
+ `;async function hs(e){let{hydrogenStorefronts:t}=await Qe(gc,e);return t.map(o=>({...o,parsedId:Ke(o.id)}))}var _o=class e extends D{static descriptionWithMarkdown="Lists all remote Hydrogen storefronts available to link to your local development environment.";static description="Returns a list of Hydrogen storefronts available on a given shop.";static flags={...h.path};async run(){let{flags:t}=await this.parse(e);await yc(t)}};async function yc({path:e=process.cwd()}){let{session:t}=await pe(e),o=await hs(t);o.length>0?(Z(),$(bc({storefronts:o,shop:t.storeFqdn}).toString()),o.forEach(({currentProductionDeployment:r,id:n,productionUrl:i,title:s})=>{Z(),$(Y`${L.whiteBright(s)} ${L.dim(`(id: ${Ke(n)})`)}`.value),i&&$(Y` ${L.whiteBright(i)}`.value),r&&$(Y` ${L.dim(vc(r))}`.value)})):U({headline:"Hydrogen storefronts",body:"There are no Hydrogen storefronts on your Shop.",nextSteps:[`Ensure you are logged in to the correct shop (currently: ${t.storeFqdn})`,`Create a new Hydrogen storefront: Run \`${await q(e)} link\` or visit ${Mi(t)}`]})}var wc=new Intl.DateTimeFormat("default",{year:"numeric",month:"numeric",day:"numeric"});function vc(e){let t="";if(!e)return t;if(t+=wc.format(new Date(e.createdAt)),e.commitMessage){let o=e.commitMessage.split(/\n/)[0];t+=`, ${o}`}return t}var bc=({storefronts:e,shop:t})=>Tt(e,o=>`Showing ${o.length} Hydrogen storefronts for the store ${t}`,o=>`Showing 1 Hydrogen storefront for the store ${t}`);c();var Lo=class e extends D{static descriptionWithMarkdown="Logs in to the specified shop and saves the shop domain to the project.";static description="Login to your Shopify account.";static flags={...h.path,...h.shop};async run(){let{flags:t}=await this.parse(e);await kc(t)}};async function kc({path:e=process.cwd(),shop:t}){Z(),Cn(!0);let{config:o}=await pe(e,t??!0);In(o)}c();var No=class e extends D{static descriptionWithMarkdown="Log out from the current shop.";static description="Logout of your local session.";static flags={...h.path};async run(){let{flags:t}=await this.parse(e);await Ec(t)}};async function Ec({path:e=process.cwd()}){Z(),await Tn(e),F({body:"You are logged out from Shopify."})}c();var Cr=K(ae(),1);c();async function gs(e){let{startWorkerdServer:t}=await import("./workerd-ARH2OCYL.js");return t(e)}var Ho=class e extends D{static descriptionWithMarkdown="Runs a server in your local development environment that serves your Hydrogen app's production build. Requires running the [build](https://shopify.dev/docs/api/shopify-cli/hydrogen/hydrogen-build) command first.";static description="Runs a Hydrogen storefront in an Oxygen worker for production.";static flags={...h.path,...h.port,...h.env,...h.envBranch,...h.envFile,...h.inspectorPort,...h.debug,...h.verbose,build:Cr.Flags.boolean({description:"Builds the app before starting the preview server."}),watch:Cr.Flags.boolean({description:"Watches for changes and rebuilds the project.",dependsOn:["build"]}),...he(h.entry,{entry:{dependsOn:["build"]}}),...he(h.codegen,{codegen:{dependsOn:["build"]}})};async run(){let{flags:t}=await this.parse(e),o=t.path?x(t.path):process.cwd(),{close:r}=await Sc({...M(t),directory:o});Ae(async()=>{await r()})}};async function Sc({port:e,directory:t,env:o,envBranch:r,inspectorPort:n,debug:i,verbose:s,build:a=!1,watch:l=!1,codegen:p=!1,codegenConfigPath:d,entry:u,envFile:m}){process.env.NODE_ENV||(process.env.NODE_ENV=l?"development":"production"),s&&Gt(),Yt()||Xe();let{root:f,buildPath:y,buildPathWorkerFile:v,buildPathClient:g}=ve(t),k=await Je(f);if(k)throw new w(be);let b,I=wt(),P=a?await Be({...{directory:f,entry:u,disableRouteWarning:!1,lockfileCheck:!1,sourcemap:!0,bundleStats:!1,useCodegen:p,codegenConfigPath:d},watch:l,async onServerBuildFinish(){I.state==="pending"?I.resolve():$("\u{1F3D7}\uFE0F Project rebuilt. Reloading server..."),await b?.reload()}}):I.resolve();k||(v=(await me(f).catch(()=>null))?.serverOutFile??E(y,"server","index.js"));let{shop:C,storefront:S}=await Bt(f),A=!!C&&!!S?.id,{allVariables:j,logInjectedVariables:R}=await ro({root:f,fetchRemote:A,envBranch:r,envHandle:o,envFile:m});e||(e=await at(ze));let _=await at(e+100);return await I.promise,R(),b=await gs({root:f,appPort:e,assetsPort:_,env:j,buildPathClient:g,buildPathWorkerFile:v,inspectorPort:n,debug:i,watch:l}),b.showBanner({mode:"preview",headlinePrefix:l?"Watching for changes. ":""}),{async close(){await Promise.allSettled([b.close(),P?.close()])}}}c();var Mo=class e extends D{static description="Scaffold routes and core functionality.";static flags={...h.path,...h.force,...h.markets,...h.shortcut,...he(h.installDeps,{"install-deps":{default:!0}})};async run(){let{flags:t}=await this.parse(e),o=t.path?x(t.path):process.cwd();await xc({...M(t),directory:o})}};async function xc(e){let t=new Rt,{rootDirectory:o,appDirectory:r}=await $e(e.directory),n=Ye(o),i=q(),s=Promise.resolve(),a=[{title:"Setting up project",task:async()=>{await s}}],l=e.markets?e.markets:await Mt({abortSignal:t.signal,extraChoices:{none:"Set up later"}}),p=l==="none"?void 0:l,{setupRoutes:d}=qt(t),u,m=await cn(".."),[f,y]=await Promise.all([J(E(o,"tsconfig.json")),mt("*.d.ts",{cwd:m})]);s=s.then(()=>Promise.all([...y.map(b=>It(E(m,b),x(o,b))),Wt({rootDirectory:o,appDirectory:r,typescript:f})])).then(async()=>{u=await d(o,f?"ts":"js",{i18nStrategy:p,overwriteFileDeps:!0})}),p&&(s=s.then(()=>Ht(p,{rootDirectory:o})));let v=await Promise.resolve(i),{createShortcut:g,showShortcutBanner:k}=await zt(t,v,e.shortcut);!p&&!g||(g&&(s=s.then(async()=>{await g()&&(v=Me)}),k()),await X(a),await Ze({location:n,name:n,directory:o},{cliCommand:v,depsInstalled:!0,packageManager:"npm",i18n:p,routes:u}))}c();var ys=K(ae(),1);var Uo=class e extends D{static descriptionWithMarkdown="Adds support for certain CSS strategies to your project.";static description="Setup CSS strategies for your project.";static flags={...h.path,...h.force,...he(h.installDeps,{"install-deps":{default:!0}})};static args={strategy:ys.Args.string({name:"strategy",description:`The CSS strategy to setup. One of ${rr.join()}`,options:rr})};async run(){let{flags:t,args:o}=await this.parse(e),r=t.path?x(t.path):process.cwd();await Pc({...M(t),strategy:o.strategy,directory:r})}};async function Pc({strategy:e,directory:t,force:o=!1,installDeps:r=!0}){let n=await me(t).catch(()=>null);if(!n)throw new w("No Vite config found. This command is only supported in Vite projects.");let{remixConfig:i}=n,s=e||await pn();if(s==="css-modules"||s==="postcss"){F({headline:`Vite works out of the box with ${ft[s]}.`,body:`See the Vite documentation for more information:
250
250
  ${ir[s]}`});return}let a=await mn(s,i,o);if(!a)return;let{workPromise:l,generatedAssets:p,needsInstallDeps:d}=a,u=[{title:"Updating files",task:async()=>{await l}}],m=!1;if(r&&d){let f=ye(i.rootDirectory);u.push({title:"Installing new dependencies",task:async()=>{let y=await f;m=y==="npm"||y==="unknown",await At({directory:i.rootDirectory,packageManager:y,args:[]})}})}await X(u),F({headline:`${ft[s]} setup complete.`,body:(p.length>0?`You can now modify CSS configuration in the following files:
251
251
  `+p.map(f=>` - ${f}`).join(`
252
252
  `)+`
@@ -1,2 +1,2 @@
1
- import{a as c}from"./chunk-7VAKNVFD.js";import{l as m}from"./chunk-Q37WAD6F.js";import{Ib as u,b as e}from"./chunk-UWI76E2L.js";import{b as H}from"./chunk-I3J63RFV.js";import{e as b,g as n}from"./chunk-VKWPEFWQ.js";n();var p=e.object({id:e.string(),summary:e.string().optional(),hidden:e.boolean().default(!1)}),l=e.object({name:e.string(),description:e.string().optional(),hidden:e.boolean().default(!1)}),g=e.object({name:e.string(),description:e.string().optional(),required:e.boolean().default(!1),hidden:e.boolean().default(!1),options:e.array(e.string()).optional(),default:e.unknown().optional()}),h=e.object({name:e.string(),type:e.enum(["boolean","option"]),char:e.string().optional(),summary:e.string().optional(),description:e.string().optional(),env:e.string().optional(),required:e.boolean().default(!1),hidden:e.boolean().default(!1),options:e.array(e.string()).optional(),default:e.unknown().optional(),multiple:e.boolean().optional(),allowNo:e.boolean().optional(),aliases:e.array(e.string()).optional(),dependsOn:e.array(e.string()).optional(),exclusive:e.array(e.string()).optional(),exactlyOne:e.array(e.string()).optional()}),f=p.extend({description:e.string().optional(),aliases:e.array(e.string()),usage:e.union([e.string(),e.array(e.string())]).optional(),examples:e.array(e.union([e.string(),e.object({description:e.string(),command:e.string()})])).optional(),strict:e.boolean().default(!0),args:e.record(g),flags:e.record(h)}),a={commands:e.array(p),topics:e.array(l)},s=c({name:"HelpResult",schema:e.discriminatedUnion("kind",[e.object({kind:e.literal("root"),...a}),e.object({kind:e.literal("topic"),topic:l,...a}),e.object({kind:e.literal("command"),command:f,...a})]),definitions:{HelpCommandSummary:p,HelpTopic:l,HelpArgument:g,HelpFlag:h,HelpCommand:f}});n();var y=b(H(),1);async function k(r,o,i=!1){let t=new d(r,{all:i});if(await t.showHelp(o),!t.result)throw new m("Oclif did not resolve a help subject.");return t.result}var d=class extends y.Help{result;async showCommandHelp(o){let i=t=>this.opts.all===!0||!t.hidden;this.result=s.validate({kind:"command",command:{...o,args:Object.fromEntries(Object.entries(o.args).filter(([,t])=>i(t))),flags:Object.fromEntries(Object.entries(o.flags).filter(([,t])=>i(t)))},...this.listings(o.id)})}async showRootHelp(){this.result=s.validate({kind:"root",...this.listings()})}async showTopicHelp(o){this.result=s.validate({kind:"topic",topic:o,...this.listings(o.name)})}listings(o){let i=t=>o===void 0?this.opts.all===!0||!t.includes(":"):t.startsWith(`${o}:`)&&t.split(":").length===o.split(":").length+1;return{commands:this.sortedCommands.filter(t=>t.id&&i(t.id)).map(t=>({id:t.id,summary:t.summary??t.description?.split(`
1
+ import{a as c}from"./chunk-AJMJQA4J.js";import{l as m}from"./chunk-4HBKQUKY.js";import{Ib as u,b as e}from"./chunk-62GA7XR3.js";import{b as H}from"./chunk-I3J63RFV.js";import{e as b,g as n}from"./chunk-VKWPEFWQ.js";n();var p=e.object({id:e.string(),summary:e.string().optional(),hidden:e.boolean().default(!1)}),l=e.object({name:e.string(),description:e.string().optional(),hidden:e.boolean().default(!1)}),g=e.object({name:e.string(),description:e.string().optional(),required:e.boolean().default(!1),hidden:e.boolean().default(!1),options:e.array(e.string()).optional(),default:e.unknown().optional()}),h=e.object({name:e.string(),type:e.enum(["boolean","option"]),char:e.string().optional(),summary:e.string().optional(),description:e.string().optional(),env:e.string().optional(),required:e.boolean().default(!1),hidden:e.boolean().default(!1),options:e.array(e.string()).optional(),default:e.unknown().optional(),multiple:e.boolean().optional(),allowNo:e.boolean().optional(),aliases:e.array(e.string()).optional(),dependsOn:e.array(e.string()).optional(),exclusive:e.array(e.string()).optional(),exactlyOne:e.array(e.string()).optional()}),f=p.extend({description:e.string().optional(),aliases:e.array(e.string()),usage:e.union([e.string(),e.array(e.string())]).optional(),examples:e.array(e.union([e.string(),e.object({description:e.string(),command:e.string()})])).optional(),strict:e.boolean().default(!0),args:e.record(g),flags:e.record(h)}),a={commands:e.array(p),topics:e.array(l)},s=c({name:"HelpResult",schema:e.discriminatedUnion("kind",[e.object({kind:e.literal("root"),...a}),e.object({kind:e.literal("topic"),topic:l,...a}),e.object({kind:e.literal("command"),command:f,...a})]),definitions:{HelpCommandSummary:p,HelpTopic:l,HelpArgument:g,HelpFlag:h,HelpCommand:f}});n();var y=b(H(),1);async function k(r,o,i=!1){let t=new d(r,{all:i});if(await t.showHelp(o),!t.result)throw new m("Oclif did not resolve a help subject.");return t.result}var d=class extends y.Help{result;async showCommandHelp(o){let i=t=>this.opts.all===!0||!t.hidden;this.result=s.validate({kind:"command",command:{...o,args:Object.fromEntries(Object.entries(o.args).filter(([,t])=>i(t))),flags:Object.fromEntries(Object.entries(o.flags).filter(([,t])=>i(t)))},...this.listings(o.id)})}async showRootHelp(){this.result=s.validate({kind:"root",...this.listings()})}async showTopicHelp(o){this.result=s.validate({kind:"topic",topic:o,...this.listings(o.name)})}listings(o){let i=t=>o===void 0?this.opts.all===!0||!t.includes(":"):t.startsWith(`${o}:`)&&t.split(":").length===o.split(":").length+1;return{commands:this.sortedCommands.filter(t=>t.id&&i(t.id)).map(t=>({id:t.id,summary:t.summary??t.description?.split(`
2
2
  `)[0],hidden:t.hidden??!1})),topics:this.sortedTopics.filter(t=>i(t.name))}}};n();function T(r){u(s.encode(r))}export{s as a,k as b,T as c};
@@ -1 +1 @@
1
- import{a}from"./chunk-45SZ5PSE.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-LG6DGIFX.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{p,v as d}from"./chunk-Y3PY5LP7.js";import{a as u}from"./chunk-YPCXVZ2N.js";import{da as w}from"./chunk-NCRWOW6F.js";import{b as l}from"./chunk-NU5WLZ6Y.js";import{z as f}from"./chunk-47IQIIFX.js";import{i}from"./chunk-Q37WAD6F.js";import{Xa as c,qa as h}from"./chunk-UWI76E2L.js";import{e as r,m}from"./chunk-6IDEDOXW.js";import{e as _,g as o}from"./chunk-VKWPEFWQ.js";o();o();var g=_(w(),1),P=["AGENTS.md","DESIGN.md","assets/**","blocks/**","config/**","layout/**","listings/**/*","locales/**","sections/**","snippets/**","templates/**","templates/customers/**","release-notes.md","update_extension.json"].join("|");async function y(e){let t=await k(e),s=`${e}/${t}`,n=`${e}/(${P})`;await u({inputDirectory:e,outputZipPath:s,matchFilePattern:n}),f({body:["Your local theme was packaged in",{filePath:m(s)}]})}async function k(e){let t=r(e,"config/settings_schema.json");if(!await c(t))throw new i("Provide a config/settings_schema.json to package your theme.");let s=await v(t);if(s===void 0||s.theme_name===void 0)throw new i("Provide a theme_info.theme_name configuration in config/settings_schema.json.");return`${[s.theme_name,s.theme_version].filter(Boolean).join("-")}.zip`}async function v(e){let t=(0,g.parseJSON)(await h(e),null,!0);if(!t)throw new i("The file config/settings_schema.json contains an error. Please check if the file is valid JSON and includes the theme_info.theme_name configuration.");return t.find(s=>s.name==="theme_info")}var a=class extends d{static summary="Package your theme into a .zip file, ready to upload to the Online Store.";static descriptionWithMarkdown=`Packages your local theme files into a ZIP file that can be uploaded to Shopify.
1
+ import{p,v as d}from"./chunk-LQSD25YS.js";import{a as u}from"./chunk-LLNUIGHP.js";import{da as w}from"./chunk-WKVFVT3H.js";import{b as l}from"./chunk-SUTVPAJF.js";import{z as f}from"./chunk-7YXHILW4.js";import{i}from"./chunk-4HBKQUKY.js";import{Xa as c,qa as h}from"./chunk-62GA7XR3.js";import{e as r,m}from"./chunk-6IDEDOXW.js";import{e as _,g as o}from"./chunk-VKWPEFWQ.js";o();o();var g=_(w(),1),P=["AGENTS.md","DESIGN.md","assets/**","blocks/**","config/**","layout/**","listings/**/*","locales/**","sections/**","snippets/**","templates/**","templates/customers/**","release-notes.md","update_extension.json"].join("|");async function y(e){let t=await k(e),s=`${e}/${t}`,n=`${e}/(${P})`;await u({inputDirectory:e,outputZipPath:s,matchFilePattern:n}),f({body:["Your local theme was packaged in",{filePath:m(s)}]})}async function k(e){let t=r(e,"config/settings_schema.json");if(!await c(t))throw new i("Provide a config/settings_schema.json to package your theme.");let s=await v(t);if(s===void 0||s.theme_name===void 0)throw new i("Provide a theme_info.theme_name configuration in config/settings_schema.json.");return`${[s.theme_name,s.theme_version].filter(Boolean).join("-")}.zip`}async function v(e){let t=(0,g.parseJSON)(await h(e),null,!0);if(!t)throw new i("The file config/settings_schema.json contains an error. Please check if the file is valid JSON and includes the theme_info.theme_name configuration.");return t.find(s=>s.name==="theme_info")}var a=class extends d{static summary="Package your theme into a .zip file, ready to upload to the Online Store.";static descriptionWithMarkdown=`Packages your local theme files into a ZIP file that can be uploaded to Shopify.
2
2
 
3
3
  Only folders that match the [default Shopify theme folder structure](https://shopify.dev/docs/storefronts/themes/tools/cli#directory-structure) are included in the package.
4
4
 
@@ -1,4 +1,4 @@
1
- import{b as l}from"./chunk-NU5WLZ6Y.js";import{b as u}from"./chunk-4ZNBEMRT.js";import{k as f}from"./chunk-3V4VL3SD.js";import{i as n}from"./chunk-Q37WAD6F.js";import{Ib as m}from"./chunk-UWI76E2L.js";import{b as g}from"./chunk-I3J63RFV.js";import{e as v,g as o}from"./chunk-VKWPEFWQ.js";o();o();var S="https://shopify.dev/assistant/search",w="X-Shopify-Surface",A="cli";async function y(s,e,p){let i=new URLSearchParams({query:s});e&&i.append("api_name",e),p&&i.append("api_version",p);let r;try{r=await f(`${S}?${i.toString()}`,{headers:{Accept:"application/json",[w]:A}})}catch{throw new n("Could not reach shopify.dev to run the search.","Check your network connection and try again.")}let h=await r.text();if(!r.ok){let d=`${r.status} ${r.statusText}`;try{let t=JSON.parse(h);t?.error&&(d=t.error)}catch(t){if(!(t instanceof SyntaxError))throw t}throw new n(`Search failed: ${d}`)}m(h)}var a=v(g(),1),c=class s extends u{static description="Query the shopify.dev vector store and print the most relevant documentation chunks as JSON. Best for programmatic discovery \u2014 surfacing the relevant pieces of documentation for a topic, rather than retrieving a whole document. To download a full document verbatim, use `doc fetch`.";static examples=[`# search shopify.dev for a topic
1
+ import{b as l}from"./chunk-SUTVPAJF.js";import{b as u}from"./chunk-DCKRQZLE.js";import{k as f}from"./chunk-HB4YI2PF.js";import{i as n}from"./chunk-4HBKQUKY.js";import{Ib as m}from"./chunk-62GA7XR3.js";import{b as g}from"./chunk-I3J63RFV.js";import{e as v,g as o}from"./chunk-VKWPEFWQ.js";o();o();var S="https://shopify.dev/assistant/search",w="X-Shopify-Surface",A="cli";async function y(s,e,p){let i=new URLSearchParams({query:s});e&&i.append("api_name",e),p&&i.append("api_version",p);let r;try{r=await f(`${S}?${i.toString()}`,{headers:{Accept:"application/json",[w]:A}})}catch{throw new n("Could not reach shopify.dev to run the search.","Check your network connection and try again.")}let h=await r.text();if(!r.ok){let d=`${r.status} ${r.statusText}`;try{let t=JSON.parse(h);t?.error&&(d=t.error)}catch(t){if(!(t instanceof SyntaxError))throw t}throw new n(`Search failed: ${d}`)}m(h)}var a=v(g(),1),c=class s extends u{static description="Query the shopify.dev vector store and print the most relevant documentation chunks as JSON. Best for programmatic discovery \u2014 surfacing the relevant pieces of documentation for a topic, rather than retrieving a whole document. To download a full document verbatim, use `doc fetch`.";static examples=[`# search shopify.dev for a topic
2
2
  shopify doc search --query "subscribe to webhooks"
3
3
 
4
4
  # narrow the search to a specific API and version
@@ -1 +1 @@
1
- import{b as n}from"./chunk-5BTLE67Z.js";import{g as t}from"./chunk-VKWPEFWQ.js";t();t();var o=class extends Error{type;constructor(e,p){super(p),this.type=e}},i=r=>async()=>r,s=r=>async e=>e.provider!==r.provider?n(new o("invalid-provider")):r.action(e.port);var d="cloudflare",v=i({name:d});export{o as a,s as b,d as c,v as d};
1
+ import{b as n}from"./chunk-WGO2GC6I.js";import{g as t}from"./chunk-VKWPEFWQ.js";t();t();var o=class extends Error{type;constructor(e,p){super(p),this.type=e}},i=r=>async()=>r,s=r=>async e=>e.provider!==r.provider?n(new o("invalid-provider")):r.action(e.port);var d="cloudflare",v=i({name:d});export{o as a,s as b,d as c,v as d};
@@ -1,4 +1,4 @@
1
- import{a as E}from"./chunk-5BGUKF7L.js";import{a as u,b as U,c as W}from"./chunk-HB3MJYBK.js";import{a as M}from"./chunk-GSE6FXZU.js";import{b as P}from"./chunk-HJHS23Q3.js";import{D as T,F as j,I as B,L as O,a as D,d as g,k as d,l as x,m as p,n as I,o as b,q as L,t as N}from"./chunk-EO4YJFMY.js";import{b as F}from"./chunk-NU5WLZ6Y.js";import{b as R}from"./chunk-4ZNBEMRT.js";import{A as C,B as A,y as S,z as $}from"./chunk-47IQIIFX.js";import{i as _}from"./chunk-Q37WAD6F.js";import{ka as w}from"./chunk-UWI76E2L.js";import{b as te}from"./chunk-I3J63RFV.js";import{e as ee,g as l}from"./chunk-VKWPEFWQ.js";l();l();l();var Y={high:"High",medium:"Medium",low:"Low"},ne={executed:"passed",not_applicable:"not applicable",unresolved:"unresolved"},se={executed:"executed",not_applicable:"not applicable",unresolved:"unresolved"},f=["deterministic","agent"],ie={deterministic:"deterministic-findings.json",agent:"agent-findings.json"},H=3,oe="Agent findings were recorded for a different scope than the latest scan.",q="agent result stale",re="The agent result is older than the deterministic result, so both are shown.",ce={info:S,success:$,warning:C,error:A};function J(e){for(let t of ue(e))ce[t.type](t.options)}function ue(e){let{checks:t}=e.result,n=t.filter(i=>i.status==="unresolved"&&d(i).length===0),s=t.filter(i=>i.status!=="unresolved"&&d(i).length===0),o=t.filter(i=>d(i).length>0);return[...n.length>0?[Se(n,e.verbose)]:[],...s.length>0?[$e(s,e.verbose)]:[],...o.map(i=>Ae(i,e.verbose,e.now)),ve(de(e))]}function de(e){let{result:t}=e,n=t.sources.deterministic!==null||t.sources.agent!==null,s=b(t.checks),o=t.sources.deterministic?.document,i=t.blocking.blockedChecks>0,r=t.checks.filter(p).length;return{type:le(t.checks,s,n),headline:pe(t.checks,s,n),...t.filter&&n?{filterLine:`Showing ${t.checks.length} of ${t.allChecks.length} checks (--check-id).`}:{},checksWithFindings:t.checks.filter(c=>d(c).length>0).map(fe),otherChecks:ge(s),...r>0?{staleAgentResults:ae(r)}:{},...o?{coverage:be(o)}:{},scopeLines:me(t.sources),...t.scopeDiffers?{scopeNote:oe}:{},resultsFiles:{directory:t.resultsDirectory,rows:f.map(c=>ye(c,t.sources[c]?.document,e.now))},...i?{blocking:`${u(t.blocking.blockedChecks,"check")} at or above ${t.blocking.level} (--blocking ${t.blocking.level}).`}:{nextSteps:ke(t,s,n,r,e.commands)}}}function ae(e){let t=e===1?"shows":"show";return`${u(e,"check")} ${t} both sources because the agent results are older than the deterministic results.`}function le(e,t,n){return n?e.some(s=>s.severity==="high"&&d(s).length>0)?"error":t.withFindings>0||t.unresolved>0?"warning":"success":"info"}function pe(e,t,n){if(!n)return"No app security check results to review.";if(t.withFindings===0)return`No findings in ${u(e.length,"check")}.`;let s=t.unresolved>0?` ${u(t.unresolved,"check")} unresolved.`:"";return`${U(t)}.${s}`}function fe(e){return{severity:Y[e.severity],id:e.id,counts:he(e)}}function he(e){let t=d(e);return f.map(n=>[n,t.filter(s=>s.source===n).length]).filter(([,n])=>n>0).map(([n,s])=>`${s} ${n}`).join(", ")}function ge(e){return[h(W(e)),V(e)].filter(t=>t!=="")}function V(e){return h([e.suppressed>0?`${u(e.suppressed,"finding")} suppressed`:void 0,e.superseded>0?`${u(e.superseded,"finding")} superseded`:void 0])}function m(e){return V(b([e]))}function h(e){return e.filter(t=>t!==void 0).join(" \xB7 ")}function be(e){let t=e.coverage.files_skipped,{too_large:n,unreadable:s}=L(t),o=[n>0?`${n} too large`:void 0,s>0?`${s} unreadable`:void 0].filter(a=>a!==void 0),i=t.length===0?"none skipped":`${t.length} skipped (${o.join(", ")})`,r=e.detection.languages.filter(a=>a.support==="unsupported"),c=r.length===0?"":` Unsupported ${r.length===1?"language":"languages"}: ${r.map(a=>`${a.name} (${u(a.files.length,"file")})`).join(", ")}.`;return`Deterministic coverage: ${u(e.coverage.files_scanned,"file")} scanned, ${i}.${c}`}function K(e){let t=[...e.include_dirs.map(n=>`--include-dir ${n}`),...e.excludes.map(n=>`--exclude ${n}`),...e.no_git_ignore?["--no-git-ignore"]:[]];return t.length===0?"none":t.join(" ")}function me({deterministic:e,agent:t}){return[...e?[`Scan directories: ${e.document.coverage.scan_directories.map(({directory:n})=>n).join(", ")}`,`Scan scope: ${K(e.document.coverage.scope)}`]:[],...t?[`Scope reported by the agent: ${K(t.document.scope)}`]:[]]}function ye(e,t,n){let s=ie[e];return t?{name:s,updated:z(t.generated_at,n),engine:t.engine.version}:{name:s,updated:"not found"}}function z(e,t){let n=Date.parse(e);return Number.isNaN(n)?"unknown":w(new Date(n),t)}function ke(e,t,n,s,o){let i={command:O(o.scan)};if(!n)return[["Run",i,"or have your coding agent run it."]];let r=[];if(t.withFindings>0){let c=["Fix the issues, then run",i,"again."];e.sources.agent===null?r.push(c,"For a deeper review, have your agent run the same command and record its findings."):s>0?r.push(c):r.push([...c,"To refresh agent findings, have your agent run the command and record its findings."])}return s>0?r.push(["Agent results are older than the deterministic results. Have your coding agent run",i,"and record its findings again to refresh them."]):t.withFindings===0&&e.sources.agent===null&&r.push(["For a deeper review, have your coding agent run",i,{char:"."}]),r}function ve(e){let t=[];return e.filterLine&&t.push({body:{subdued:e.filterLine}}),e.checksWithFindings.length>0&&t.push({title:"Checks with findings",body:{tabularData:e.checksWithFindings.map(n=>[n.severity,n.id,n.counts]),firstColumnSubdued:!0}}),e.otherChecks.length>0&&t.push({title:"Other checks",body:e.otherChecks.join(`
1
+ import{a as E}from"./chunk-5BGUKF7L.js";import{a as u,b as U,c as W}from"./chunk-HB3MJYBK.js";import{a as M}from"./chunk-7DSH4CRU.js";import{b as P}from"./chunk-RIO5HKD5.js";import{D as T,F as j,I as B,L as O,a as D,d as g,k as d,l as x,m as p,n as I,o as b,q as L,t as N}from"./chunk-VG5ZDVDQ.js";import{b as F}from"./chunk-SUTVPAJF.js";import{b as R}from"./chunk-DCKRQZLE.js";import{A as C,B as A,y as S,z as $}from"./chunk-7YXHILW4.js";import{i as _}from"./chunk-4HBKQUKY.js";import{ka as w}from"./chunk-62GA7XR3.js";import{b as te}from"./chunk-I3J63RFV.js";import{e as ee,g as l}from"./chunk-VKWPEFWQ.js";l();l();l();var Y={high:"High",medium:"Medium",low:"Low"},ne={executed:"passed",not_applicable:"not applicable",unresolved:"unresolved"},se={executed:"executed",not_applicable:"not applicable",unresolved:"unresolved"},f=["deterministic","agent"],ie={deterministic:"deterministic-findings.json",agent:"agent-findings.json"},H=3,oe="Agent findings were recorded for a different scope than the latest scan.",q="agent result stale",re="The agent result is older than the deterministic result, so both are shown.",ce={info:S,success:$,warning:C,error:A};function J(e){for(let t of ue(e))ce[t.type](t.options)}function ue(e){let{checks:t}=e.result,n=t.filter(i=>i.status==="unresolved"&&d(i).length===0),s=t.filter(i=>i.status!=="unresolved"&&d(i).length===0),o=t.filter(i=>d(i).length>0);return[...n.length>0?[Se(n,e.verbose)]:[],...s.length>0?[$e(s,e.verbose)]:[],...o.map(i=>Ae(i,e.verbose,e.now)),ve(de(e))]}function de(e){let{result:t}=e,n=t.sources.deterministic!==null||t.sources.agent!==null,s=b(t.checks),o=t.sources.deterministic?.document,i=t.blocking.blockedChecks>0,r=t.checks.filter(p).length;return{type:le(t.checks,s,n),headline:pe(t.checks,s,n),...t.filter&&n?{filterLine:`Showing ${t.checks.length} of ${t.allChecks.length} checks (--check-id).`}:{},checksWithFindings:t.checks.filter(c=>d(c).length>0).map(fe),otherChecks:ge(s),...r>0?{staleAgentResults:ae(r)}:{},...o?{coverage:be(o)}:{},scopeLines:me(t.sources),...t.scopeDiffers?{scopeNote:oe}:{},resultsFiles:{directory:t.resultsDirectory,rows:f.map(c=>ye(c,t.sources[c]?.document,e.now))},...i?{blocking:`${u(t.blocking.blockedChecks,"check")} at or above ${t.blocking.level} (--blocking ${t.blocking.level}).`}:{nextSteps:ke(t,s,n,r,e.commands)}}}function ae(e){let t=e===1?"shows":"show";return`${u(e,"check")} ${t} both sources because the agent results are older than the deterministic results.`}function le(e,t,n){return n?e.some(s=>s.severity==="high"&&d(s).length>0)?"error":t.withFindings>0||t.unresolved>0?"warning":"success":"info"}function pe(e,t,n){if(!n)return"No app security check results to review.";if(t.withFindings===0)return`No findings in ${u(e.length,"check")}.`;let s=t.unresolved>0?` ${u(t.unresolved,"check")} unresolved.`:"";return`${U(t)}.${s}`}function fe(e){return{severity:Y[e.severity],id:e.id,counts:he(e)}}function he(e){let t=d(e);return f.map(n=>[n,t.filter(s=>s.source===n).length]).filter(([,n])=>n>0).map(([n,s])=>`${s} ${n}`).join(", ")}function ge(e){return[h(W(e)),V(e)].filter(t=>t!=="")}function V(e){return h([e.suppressed>0?`${u(e.suppressed,"finding")} suppressed`:void 0,e.superseded>0?`${u(e.superseded,"finding")} superseded`:void 0])}function m(e){return V(b([e]))}function h(e){return e.filter(t=>t!==void 0).join(" \xB7 ")}function be(e){let t=e.coverage.files_skipped,{too_large:n,unreadable:s}=L(t),o=[n>0?`${n} too large`:void 0,s>0?`${s} unreadable`:void 0].filter(a=>a!==void 0),i=t.length===0?"none skipped":`${t.length} skipped (${o.join(", ")})`,r=e.detection.languages.filter(a=>a.support==="unsupported"),c=r.length===0?"":` Unsupported ${r.length===1?"language":"languages"}: ${r.map(a=>`${a.name} (${u(a.files.length,"file")})`).join(", ")}.`;return`Deterministic coverage: ${u(e.coverage.files_scanned,"file")} scanned, ${i}.${c}`}function K(e){let t=[...e.include_dirs.map(n=>`--include-dir ${n}`),...e.excludes.map(n=>`--exclude ${n}`),...e.no_git_ignore?["--no-git-ignore"]:[]];return t.length===0?"none":t.join(" ")}function me({deterministic:e,agent:t}){return[...e?[`Scan directories: ${e.document.coverage.scan_directories.map(({directory:n})=>n).join(", ")}`,`Scan scope: ${K(e.document.coverage.scope)}`]:[],...t?[`Scope reported by the agent: ${K(t.document.scope)}`]:[]]}function ye(e,t,n){let s=ie[e];return t?{name:s,updated:z(t.generated_at,n),engine:t.engine.version}:{name:s,updated:"not found"}}function z(e,t){let n=Date.parse(e);return Number.isNaN(n)?"unknown":w(new Date(n),t)}function ke(e,t,n,s,o){let i={command:O(o.scan)};if(!n)return[["Run",i,"or have your coding agent run it."]];let r=[];if(t.withFindings>0){let c=["Fix the issues, then run",i,"again."];e.sources.agent===null?r.push(c,"For a deeper review, have your agent run the same command and record its findings."):s>0?r.push(c):r.push([...c,"To refresh agent findings, have your agent run the command and record its findings."])}return s>0?r.push(["Agent results are older than the deterministic results. Have your coding agent run",i,"and record its findings again to refresh them."]):t.withFindings===0&&e.sources.agent===null&&r.push(["For a deeper review, have your coding agent run",i,{char:"."}]),r}function ve(e){let t=[];return e.filterLine&&t.push({body:{subdued:e.filterLine}}),e.checksWithFindings.length>0&&t.push({title:"Checks with findings",body:{tabularData:e.checksWithFindings.map(n=>[n.severity,n.id,n.counts]),firstColumnSubdued:!0}}),e.otherChecks.length>0&&t.push({title:"Other checks",body:e.otherChecks.join(`
2
2
  `)}),e.staleAgentResults&&t.push({body:e.staleAgentResults}),e.coverage&&t.push({body:{subdued:e.coverage}}),e.scopeLines.length>0&&t.push({body:{subdued:e.scopeLines.join(`
3
3
  `)}}),e.scopeNote&&t.push({body:e.scopeNote}),t.push({title:`Results files in ${e.resultsFiles.directory}`,body:{tabularData:[["",{subdued:"Updated"},{subdued:"Engine"}],...e.resultsFiles.rows.map(we)]}}),e.blocking===void 0?e.nextSteps.length>0&&t.push({title:"Next steps",body:{list:{items:e.nextSteps}}}):t.push({title:"Blocking",body:e.blocking}),{type:e.type,options:{headline:e.headline,customSections:t}}}function we(e){return e.engine===void 0?[e.name,{subdued:e.updated}]:[e.name,e.updated,e.engine]}function Se(e,t){return{type:"warning",options:{headline:`${u(e.length,"check")} unresolved.`,customSections:e.flatMap(n=>[{title:`${n.id} \xB7 ${n.title}`,body:{tabularData:X(n,{withDispositions:!0}),firstColumnSubdued:!0}},...t?n.findings.map(s=>y(s,t,`${n.id} \xB7 `)):[]])}}}function $e(e,t){let n=e.filter(x).length,s=e.length-n;return{type:"info",options:{headline:[n>0?`${u(n,"check")} passed.`:void 0,s>0?`${u(s,"check")} not applicable.`:void 0].filter(i=>i!==void 0).join(" "),customSections:[{body:{tabularData:e.map(Ce)}},...t?e.flatMap(i=>i.findings.map(r=>y(r,t,`${i.id} \xB7 `))):[]]}}}function Ce(e){let t=m(e);return[e.id,h([ne[e.status],t===""?void 0:t,p(e)?q:void 0])]}function Ae(e,t,n){let s=m(e),o=t?e.findings:d(e);return{type:e.severity==="high"?"error":"warning",options:{headline:`${Y[e.severity]} \xB7 ${e.id} \xB7 ${e.title}`,...s===""?{}:{body:{subdued:s}},...e.docs_url?{link:{label:`${e.id} on shopify.dev`,url:e.docs_url}}:{},customSections:[..._e(e,n),...o.map(i=>y(i,t))]}}}function _e(e,t){if(p(e))return[{body:{tabularData:f.flatMap(r=>{let c=e.by_source[r];return c?[[r,Q(c),z(c.generated_at,t)]]:[]}),firstColumnSubdued:!0}},{body:{subdued:re}}];let{deterministic:n,agent:s}=e.by_source;return n!==null&&s!==null&&n.status!==s.status?[{body:{tabularData:X(e,{withDispositions:!1}),firstColumnSubdued:!0}}]:[]}function X(e,t){let n=p(e),s=f.flatMap(i=>{let r=e.by_source[i];if(!r)return[];let c=n&&i==="agent"?q:void 0;return[[i,h([Q(r),c])]]}),o=t.withDispositions?m(e):"";return o===""?s:[...s,["findings",o]]}function Q(e){let t=se[e.status];return e.reason?`${t} \u2014 ${e.reason.message}`:t}function y(e,t,n=""){let s=e.disposition==="active"?"":` (${e.disposition})`,o=[e.message];if(e.snippet&&o.push({subdued:`
4
4
  Code: ${e.snippet}`}),e.source==="deterministic"){e.fix&&o.push({subdued:`
@@ -1,4 +1,4 @@
1
- import{k as P,t as F}from"./chunk-3LHE4GIX.js";import{a as N}from"./chunk-Q7BOSHWX.js";import{a as T}from"./chunk-WLWHCUPZ.js";import{I as H,K as q,k as $,pa as d,ra as h}from"./chunk-3V4VL3SD.js";import{a as x}from"./chunk-XUUIBSLW.js";import{B as I,C as L,T as v}from"./chunk-47IQIIFX.js";import{i as l}from"./chunk-Q37WAD6F.js";import{Cb as C,Eb as U,Nb as c}from"./chunk-UWI76E2L.js";import{u as O}from"./chunk-UEBUGSBT.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-TBNEN73P.js";import{a as N}from"./chunk-Q7BOSHWX.js";import{a as T}from"./chunk-62LMVFR7.js";import{I as H,K as q,k as $,pa as d,ra as h}from"./chunk-HB4YI2PF.js";import{a as x}from"./chunk-GYVQIRBD.js";import{B as I,C as L,T as v}from"./chunk-7YXHILW4.js";import{i as l}from"./chunk-4HBKQUKY.js";import{Cb as C,Eb as U,Nb as c}from"./chunk-62GA7XR3.js";import{u as O}from"./chunk-PT3OZEBI.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,4 +1,4 @@
1
- import{a as y}from"./chunk-RJSQMKKS.js";import{a as v}from"./chunk-R3KSOCMB.js";import{d as f}from"./chunk-QO5RNGWA.js";import{a as m}from"./chunk-BOE2ST6J.js";import{a as u}from"./chunk-QUXQM3S3.js";import{p as c,v as p}from"./chunk-Y3PY5LP7.js";import{b as h,e as d}from"./chunk-NU5WLZ6Y.js";import{ra as l}from"./chunk-3V4VL3SD.js";import{b as F}from"./chunk-I3J63RFV.js";import{e as _,g as a}from"./chunk-VKWPEFWQ.js";a();var t=_(F(),1);var s=class extends p{static get requiresSyncAnalytics(){return!0}static 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.";static descriptionWithMarkdown=`
1
+ import{a as y}from"./chunk-CVBWEUWX.js";import{a as v}from"./chunk-OWK2RI4O.js";import{d as f}from"./chunk-M2HQFHNO.js";import{a as m}from"./chunk-7LB6DPB6.js";import{a as u}from"./chunk-NRG2WPSM.js";import{p as c,v as p}from"./chunk-LQSD25YS.js";import{b as h,e as d}from"./chunk-SUTVPAJF.js";import{ra as l}from"./chunk-HB4YI2PF.js";import{b as F}from"./chunk-I3J63RFV.js";import{e as _,g as a}from"./chunk-VKWPEFWQ.js";a();var t=_(F(),1);var s=class extends p{static get requiresSyncAnalytics(){return!0}static 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.";static 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 +1 @@
1
- import{g as o}from"./chunk-NU5WLZ6Y.js";import{b as s}from"./chunk-4ZNBEMRT.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var t=class extends s{static description="Clear the CLI cache, used to store some API responses and handle notifications status";static hidden=!0;async run(){await o()}};export{t as a};
1
+ import{g as o}from"./chunk-SUTVPAJF.js";import{b as s}from"./chunk-DCKRQZLE.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var t=class extends s{static description="Clear the CLI cache, used to store some API responses and handle notifications status";static hidden=!0;async run(){await o()}};export{t as a};
@@ -1,4 +1,4 @@
1
- import{o as R}from"./chunk-47IQIIFX.js";import{i as E}from"./chunk-Q37WAD6F.js";import{Nb as p,Ob as m,aa as b,ga as N}from"./chunk-UWI76E2L.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();i();var l=class{export;input;inputBytes;output;outputBytes;logs;functionId;fuelConsumed;target;errorMessage;errorType;inputQueryVariablesMetafieldValue;inputQueryVariablesMetafieldNamespace;inputQueryVariablesMetafieldKey;constructor({export:e,input:r,inputBytes:o,output:n,outputBytes:s,logs:a,functionId:f,fuelConsumed:c,target:A,errorMessage:S,errorType:g,inputQueryVariablesMetafieldValue:w,inputQueryVariablesMetafieldNamespace:I,inputQueryVariablesMetafieldKey:M}){this.export=e,this.input=r,this.inputBytes=o,this.output=n,this.outputBytes=s,this.logs=a,this.functionId=f,this.fuelConsumed=c,this.target=A,this.errorMessage=S,this.errorType=g,this.inputQueryVariablesMetafieldValue=w,this.inputQueryVariablesMetafieldNamespace=I,this.inputQueryVariablesMetafieldKey=M}},h=class{cacheEntryEpochMs;cacheTtlMs;httpRequest;httpResponse;constructor({cacheEntryEpochMs:e,cacheTtlMs:r,httpRequest:o,httpResponse:n}){this.cacheEntryEpochMs=e,this.cacheTtlMs=r,this.httpRequest=o,this.httpResponse=n}},_;(function(t){t[t.NoCachedResponse=0]="NoCachedResponse",t[t.CacheAboutToExpire=1]="CacheAboutToExpire",t[t.Unknown=2]="Unknown"})(_||(_={}));var d=class{reason;httpRequest;constructor({reason:e,httpRequest:r}){this.reason=e,this.httpRequest=r}},y=class{attempt;connectTimeMs;writeReadTimeMs;httpRequest;httpResponse;error;constructor({attempt:e,connectTimeMs:r,writeReadTimeMs:o,httpRequest:n,httpResponse:s,error:a}){this.attempt=e,this.connectTimeMs=r,this.writeReadTimeMs=o,this.httpRequest=n,this.httpResponse=s,this.error=a}};i();function O(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)&&Object.getPrototypeOf(t)===Object.prototype}function C(t,e){return e?.deep&&O(t)||e?.deep&&Array.isArray(t)?u(t,e):t}function u(t,e){if(Array.isArray(t))return t.map(r=>e?.deep?u(r,e):r);if(O(t)){let r={};for(let[o,n]of Object.entries(t))r[b(o)]=C(n,e);return r}return t}var L=450,P=5*1e3,T=60*1e3,H=5,W=1e6,V="function_run",z="function_network_access",U="function_network_access.response_from_cache",q="function_network_access.request_execution_in_background",J="function_network_access.request_execution",Z="no_cached_response",ee="cached_response_about_to_expire";function te(t){let e=JSON.parse(t),r=e.input_query_variables_metafield_value&&x(e.input_query_variables_metafield_value);return new l({export:e.export,input:e.input,inputBytes:e.input_bytes,output:e.output,outputBytes:e.output_bytes,logs:e.logs,functionId:e.function_id,fuelConsumed:e.fuel_consumed,target:e.target,errorMessage:e.error_message,errorType:e.error_type,inputQueryVariablesMetafieldValue:r,inputQueryVariablesMetafieldNamespace:e.input_query_variables_metafield_namespace,inputQueryVariablesMetafieldKey:e.input_query_variables_metafield_key})}function re(t){let e=JSON.parse(t);return new h({cacheEntryEpochMs:e.cache_entry_epoch_ms,cacheTtlMs:e.cache_ttl_ms,httpRequest:e.http_request,httpResponse:e.http_response})}var Q={no_cached_response:_.NoCachedResponse,cached_response_about_to_expire:_.CacheAboutToExpire};function se(t){let e=JSON.parse(t);return new d({reason:Q[e.reason]??_.Unknown,httpRequest:e.http_request})}function oe(t){let e=JSON.parse(t);return new y({attempt:e.attempt,connectTimeMs:e.connect_time_ms??null,writeReadTimeMs:e.write_read_time_ms??null,httpRequest:e.http_request,httpResponse:e.http_response??null,error:e.error??null})}var ne=async t=>{let{errors:e}=t.response,r=L,o=null,n="not_attempted";if(e.length>0)if(p(`Errors: ${e.map(s=>s.message).join(", ")}`),e.some(s=>s.status===401))try{o=await t.onResubscribe(),n="succeeded"}catch(s){p(`Failed to resubscribe to app logs: ${s}`),r=T,n="failed",t.onThrottle(r)}else e.some(s=>s.status===429)?(r=T,t.onThrottle(r)):(r=P,t.onUnknownError(r));return{retryIntervalMs:r,nextJwtToken:o,resubscribeResult:n}};function ae(t){return t.allExtensions.flatMap(e=>e.isFunctionExtension?[`extensions.${e.configuration.handle}`]:[])}var ie=({appLog:t,appLogPayload:e,storeName:r,prettyPrint:o=!0})=>{let{cursor:n,...s}=t,a=u({...s,payload:e,localTime:N(t.log_timestamp),storeName:r});return e instanceof l&&(a.payload.logs=e.logs.split(`
1
+ import{o as R}from"./chunk-7YXHILW4.js";import{i as E}from"./chunk-4HBKQUKY.js";import{Nb as p,Ob as m,aa as b,ga as N}from"./chunk-62GA7XR3.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();i();var l=class{export;input;inputBytes;output;outputBytes;logs;functionId;fuelConsumed;target;errorMessage;errorType;inputQueryVariablesMetafieldValue;inputQueryVariablesMetafieldNamespace;inputQueryVariablesMetafieldKey;constructor({export:e,input:r,inputBytes:o,output:n,outputBytes:s,logs:a,functionId:f,fuelConsumed:c,target:A,errorMessage:S,errorType:g,inputQueryVariablesMetafieldValue:w,inputQueryVariablesMetafieldNamespace:I,inputQueryVariablesMetafieldKey:M}){this.export=e,this.input=r,this.inputBytes=o,this.output=n,this.outputBytes=s,this.logs=a,this.functionId=f,this.fuelConsumed=c,this.target=A,this.errorMessage=S,this.errorType=g,this.inputQueryVariablesMetafieldValue=w,this.inputQueryVariablesMetafieldNamespace=I,this.inputQueryVariablesMetafieldKey=M}},h=class{cacheEntryEpochMs;cacheTtlMs;httpRequest;httpResponse;constructor({cacheEntryEpochMs:e,cacheTtlMs:r,httpRequest:o,httpResponse:n}){this.cacheEntryEpochMs=e,this.cacheTtlMs=r,this.httpRequest=o,this.httpResponse=n}},_;(function(t){t[t.NoCachedResponse=0]="NoCachedResponse",t[t.CacheAboutToExpire=1]="CacheAboutToExpire",t[t.Unknown=2]="Unknown"})(_||(_={}));var d=class{reason;httpRequest;constructor({reason:e,httpRequest:r}){this.reason=e,this.httpRequest=r}},y=class{attempt;connectTimeMs;writeReadTimeMs;httpRequest;httpResponse;error;constructor({attempt:e,connectTimeMs:r,writeReadTimeMs:o,httpRequest:n,httpResponse:s,error:a}){this.attempt=e,this.connectTimeMs=r,this.writeReadTimeMs=o,this.httpRequest=n,this.httpResponse=s,this.error=a}};i();function O(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)&&Object.getPrototypeOf(t)===Object.prototype}function C(t,e){return e?.deep&&O(t)||e?.deep&&Array.isArray(t)?u(t,e):t}function u(t,e){if(Array.isArray(t))return t.map(r=>e?.deep?u(r,e):r);if(O(t)){let r={};for(let[o,n]of Object.entries(t))r[b(o)]=C(n,e);return r}return t}var L=450,P=5*1e3,T=60*1e3,H=5,W=1e6,V="function_run",z="function_network_access",U="function_network_access.response_from_cache",q="function_network_access.request_execution_in_background",J="function_network_access.request_execution",Z="no_cached_response",ee="cached_response_about_to_expire";function te(t){let e=JSON.parse(t),r=e.input_query_variables_metafield_value&&x(e.input_query_variables_metafield_value);return new l({export:e.export,input:e.input,inputBytes:e.input_bytes,output:e.output,outputBytes:e.output_bytes,logs:e.logs,functionId:e.function_id,fuelConsumed:e.fuel_consumed,target:e.target,errorMessage:e.error_message,errorType:e.error_type,inputQueryVariablesMetafieldValue:r,inputQueryVariablesMetafieldNamespace:e.input_query_variables_metafield_namespace,inputQueryVariablesMetafieldKey:e.input_query_variables_metafield_key})}function re(t){let e=JSON.parse(t);return new h({cacheEntryEpochMs:e.cache_entry_epoch_ms,cacheTtlMs:e.cache_ttl_ms,httpRequest:e.http_request,httpResponse:e.http_response})}var Q={no_cached_response:_.NoCachedResponse,cached_response_about_to_expire:_.CacheAboutToExpire};function se(t){let e=JSON.parse(t);return new d({reason:Q[e.reason]??_.Unknown,httpRequest:e.http_request})}function oe(t){let e=JSON.parse(t);return new y({attempt:e.attempt,connectTimeMs:e.connect_time_ms??null,writeReadTimeMs:e.write_read_time_ms??null,httpRequest:e.http_request,httpResponse:e.http_response??null,error:e.error??null})}var ne=async t=>{let{errors:e}=t.response,r=L,o=null,n="not_attempted";if(e.length>0)if(p(`Errors: ${e.map(s=>s.message).join(", ")}`),e.some(s=>s.status===401))try{o=await t.onResubscribe(),n="succeeded"}catch(s){p(`Failed to resubscribe to app logs: ${s}`),r=T,n="failed",t.onThrottle(r)}else e.some(s=>s.status===429)?(r=T,t.onThrottle(r)):(r=P,t.onUnknownError(r));return{retryIntervalMs:r,nextJwtToken:o,resubscribeResult:n}};function ae(t){return t.allExtensions.flatMap(e=>e.isFunctionExtension?[`extensions.${e.configuration.handle}`]:[])}var ie=({appLog:t,appLogPayload:e,storeName:r,prettyPrint:o=!0})=>{let{cursor:n,...s}=t,a=u({...s,payload:e,localTime:N(t.log_timestamp),storeName:r});return e instanceof l&&(a.payload.logs=e.logs.split(`
2
2
  `).filter(Boolean),a.payload.inputQueryVariablesMetafieldValue&&(a.payload.inputQueryVariablesMetafieldValue=x(a.payload.inputQueryVariablesMetafieldValue))),o?JSON.stringify(a,null,2):JSON.stringify(a)},pe=(t,e)=>{let r=u(JSON.parse(t));return e===V?new l(r):e===U?new h(r):e===q?new d(r):e===J?new y(r):r},ue=async(t,e,r,o)=>{let n=await t.subscribeToAppLogs(e,r);if(!n.appLogsSubscribe)throw new E("Failed to subscribe to app logs: No response received");let{jwtToken:s,success:a,errors:f}=n.appLogsSubscribe;if(p(`Token: ${s}
3
3
  `),p(`API Key: ${e.apiKey}
4
4
  `),f&&f.length>0){let c=f.join(", ");throw await R({stripAnsi:!1},()=>{m(`Errors subscribing to app logs: ${c}`,o),m("App log streaming is not available in this session.",o)}),new E(c)}else{if(!s)throw new E("Failed to subscribe to app logs: No response received");let c=Array.isArray(e.shopIds)?e.shopIds:[e.shopIds];p(`Subscribed to App Events for shop ID(s) ${c.join(", ")}`),a!==void 0&&p(`Success: ${a}
@@ -1 +1 @@
1
- import{a as f}from"./chunk-HB3MJYBK.js";import{a as I}from"./chunk-GSE6FXZU.js";import{a as x}from"./chunk-HJHS23Q3.js";import{A as _,D as T,F,I as d,L as u,a as b,e as A,f as k,r as v,v as R}from"./chunk-EO4YJFMY.js";import{b as S}from"./chunk-NU5WLZ6Y.js";import{b as w}from"./chunk-4ZNBEMRT.js";import{_ as y,z as g}from"./chunk-47IQIIFX.js";import{i as c}from"./chunk-Q37WAD6F.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();a();var B=5e6,$={readStdin:y,engineVersion:k,writeAgentFindings:R,recordMetadata:I};function E(t){return u(t.record)}function s(t,e){throw new c("The findings document was rejected. Nothing was recorded.",null,[["Fix every error, then run",{command:E(e)},"again."]],[{title:"Errors",body:{list:{items:t}}}])}async function z(t,e){try{return await e.readStdin()}catch(i){throw i instanceof c&&s([i.message],t),i}}async function V(t,e){let i=await z(t,e);if(i===void 0)throw new c("No findings document was piped on stdin.",null,[["Pipe the findings document on stdin:",{command:E(t)}]]);let n=Buffer.byteLength(i,"utf8");n>B&&s([`The findings document is ${n} bytes; the limit is 5 MB.`],t);try{return JSON.parse(i)}catch(o){let r=o instanceof Error?o.message:String(o);s([`The findings document is not valid JSON: ${r}`],t)}}async function m(t,e=$){let{selection:i}=t,n=d(i,t.path),o=await V(n,e),r=A(o,{engineVersion:e.engineVersion()});r.ok||s(r.errors,n);let h=_(r.document);h>v&&s([`The recorded findings would be stored as ${h} bytes; the limit is 5 MB. Shorten or remove findings.`],n);let C=await e.writeAgentFindings(i.appDirectory,T(i),r.document),l=r.document.checks.reduce((D,N)=>D+N.findings.length,0);return await e.recordMetadata({num_security_findings:l}),{path:C,checks:r.document.checks.length,findings:l}}function M(t,e,i){let n=d(e,i);g({headline:"Agent findings recorded.",body:[`Recorded ${f(t.checks,"check")} and ${f(t.findings,"finding")} in`,{filePath:t.path}],nextSteps:[["Run",{command:u(n.review)},"to see the results."]]})}var p=class t extends w{static summary="Record agent findings from an app security check.";static descriptionWithMarkdown="Reads a coding agent's complete findings document from stdin, validates it, and replaces `agent-findings.json` in the results directory, `.shopify/app-security/<results key>/`. The results key is `--client-id` when you pass it, and otherwise the name of the app configuration file without `.toml`. `--client-id` is checked against your Shopify account before anything is read, so it needs you to be logged in.\n\nThe document must include a `scope` with the `include_dirs`, `excludes` and `no_git_ignore` values of the `check` run it describes, exactly as typed. It's recorded as reported and never compared with the scan's files.\n\nThe document is recorded all or nothing: if anything is invalid, the command fails with every error, writes nothing, and exits with a non-zero code. It needs the results directory that `shopify app security check` creates.\n\nReports the number of findings to Shopify as usage telemetry, but not finding details. See [usage reporting](https://shopify.dev/docs/api/shopify-cli#usage-reporting) for details.";static description=this.descriptionForHelp();static flags={...S,...b};async run(){let{flags:e}=await this.parse(t),i=await F({path:e.path,config:e.config,clientId:e["client-id"],withoutAppConfig:e["without-app-config"],allowPrompts:!1,validateClientIdFlag:!0});await x(i,e.path);let n=await m({selection:i,path:e.path});M(n,i,e.path)}};export{p as a};
1
+ import{a as f}from"./chunk-HB3MJYBK.js";import{a as I}from"./chunk-7DSH4CRU.js";import{a as x}from"./chunk-RIO5HKD5.js";import{A as _,D as T,F,I as d,L as u,a as b,e as A,f as k,r as v,v as R}from"./chunk-VG5ZDVDQ.js";import{b as S}from"./chunk-SUTVPAJF.js";import{b as w}from"./chunk-DCKRQZLE.js";import{_ as y,z as g}from"./chunk-7YXHILW4.js";import{i as c}from"./chunk-4HBKQUKY.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();a();var B=5e6,$={readStdin:y,engineVersion:k,writeAgentFindings:R,recordMetadata:I};function E(t){return u(t.record)}function s(t,e){throw new c("The findings document was rejected. Nothing was recorded.",null,[["Fix every error, then run",{command:E(e)},"again."]],[{title:"Errors",body:{list:{items:t}}}])}async function z(t,e){try{return await e.readStdin()}catch(i){throw i instanceof c&&s([i.message],t),i}}async function V(t,e){let i=await z(t,e);if(i===void 0)throw new c("No findings document was piped on stdin.",null,[["Pipe the findings document on stdin:",{command:E(t)}]]);let n=Buffer.byteLength(i,"utf8");n>B&&s([`The findings document is ${n} bytes; the limit is 5 MB.`],t);try{return JSON.parse(i)}catch(o){let r=o instanceof Error?o.message:String(o);s([`The findings document is not valid JSON: ${r}`],t)}}async function m(t,e=$){let{selection:i}=t,n=d(i,t.path),o=await V(n,e),r=A(o,{engineVersion:e.engineVersion()});r.ok||s(r.errors,n);let h=_(r.document);h>v&&s([`The recorded findings would be stored as ${h} bytes; the limit is 5 MB. Shorten or remove findings.`],n);let C=await e.writeAgentFindings(i.appDirectory,T(i),r.document),l=r.document.checks.reduce((D,N)=>D+N.findings.length,0);return await e.recordMetadata({num_security_findings:l}),{path:C,checks:r.document.checks.length,findings:l}}function M(t,e,i){let n=d(e,i);g({headline:"Agent findings recorded.",body:[`Recorded ${f(t.checks,"check")} and ${f(t.findings,"finding")} in`,{filePath:t.path}],nextSteps:[["Run",{command:u(n.review)},"to see the results."]]})}var p=class t extends w{static summary="Record agent findings from an app security check.";static descriptionWithMarkdown="Reads a coding agent's complete findings document from stdin, validates it, and replaces `agent-findings.json` in the results directory, `.shopify/app-security/<results key>/`. The results key is `--client-id` when you pass it, and otherwise the name of the app configuration file without `.toml`. `--client-id` is checked against your Shopify account before anything is read, so it needs you to be logged in.\n\nThe document must include a `scope` with the `include_dirs`, `excludes` and `no_git_ignore` values of the `check` run it describes, exactly as typed. It's recorded as reported and never compared with the scan's files.\n\nThe document is recorded all or nothing: if anything is invalid, the command fails with every error, writes nothing, and exits with a non-zero code. It needs the results directory that `shopify app security check` creates.\n\nReports the number of findings to Shopify as usage telemetry, but not finding details. See [usage reporting](https://shopify.dev/docs/api/shopify-cli#usage-reporting) for details.";static description=this.descriptionForHelp();static flags={...S,...b};async run(){let{flags:e}=await this.parse(t),i=await F({path:e.path,config:e.config,clientId:e["client-id"],withoutAppConfig:e["without-app-config"],allowPrompts:!1,validateClientIdFlag:!0});await x(i,e.path);let n=await m({selection:i,path:e.path});M(n,i,e.path)}};export{p as a};
@@ -1,4 +1,4 @@
1
- import{a as E}from"./chunk-FKIVKNOV.js";import{a as P}from"./chunk-PWS4VFSD.js";import{a as w}from"./chunk-PO5T44H3.js";import{Ha as y,L as F,i as C,ja as x}from"./chunk-UNHT4ZFP.js";import{b as f}from"./chunk-LJIJEGND.js";import{b as v}from"./chunk-NU5WLZ6Y.js";import{Cb as o,Eb as p,Ib as h,Xa as g,qa as u,ya as l}from"./chunk-UWI76E2L.js";import{b as $}from"./chunk-I3J63RFV.js";import{e as c}from"./chunk-6IDEDOXW.js";import{e as _,g as s}from"./chunk-VKWPEFWQ.js";s();s();async function S({app:d,remoteApp:t,organization:a,envFile:e}){await x(t,a.source);let n={SHOPIFY_API_KEY:t.apiKey,SHOPIFY_API_SECRET:t.apiSecretKeys[0]?.secret,SCOPES:C(d.configuration)};if(await g(e)){let i=await u(e),r=f(i,n);if(r===i)return p`No changes to ${o.path(e)}`;{await l(e,r);let I=E(i??"",r);return p`Updated ${o.path(e)} to be:
1
+ import{a as E}from"./chunk-FKIVKNOV.js";import{a as P}from"./chunk-5SLKHURV.js";import{a as w}from"./chunk-MTBABHUB.js";import{Ha as y,L as F,i as C,ja as x}from"./chunk-EEAY7HFW.js";import{b as f}from"./chunk-35NTERVR.js";import{b as v}from"./chunk-SUTVPAJF.js";import{Cb as o,Eb as p,Ib as h,Xa as g,qa as u,ya as l}from"./chunk-62GA7XR3.js";import{b as $}from"./chunk-I3J63RFV.js";import{e as c}from"./chunk-6IDEDOXW.js";import{e as _,g as s}from"./chunk-VKWPEFWQ.js";s();s();async function S({app:d,remoteApp:t,organization:a,envFile:e}){await x(t,a.source);let n={SHOPIFY_API_KEY:t.apiKey,SHOPIFY_API_SECRET:t.apiSecretKeys[0]?.secret,SCOPES:C(d.configuration)};if(await g(e)){let i=await u(e),r=f(i,n);if(r===i)return p`No changes to ${o.path(e)}`;{await l(e,r);let I=E(i??"",r);return p`Updated ${o.path(e)} to be:
2
2
 
3
3
  ${r}
4
4
 
@@ -1,4 +1,4 @@
1
- import{a as Mt}from"./chunk-UOHNRH6E.js";import{a as Ur}from"./chunk-6A4H3HPY.js";import{b as Tr}from"./chunk-HQJ62PII.js";import{a as _r}from"./chunk-LWU5TKNA.js";import{a as Cr}from"./chunk-HQY6JM6G.js";import{a as Ir}from"./chunk-HASIOUH2.js";import{a as gr}from"./chunk-VMNOSVPT.js";import{a as wr}from"./chunk-DEF2G7S4.js";import{a as yr,b as vr,c as Pr,d as xr}from"./chunk-HPM3HF7A.js";import{a as Rr}from"./chunk-UQ6ALA3Y.js";import{a as Er}from"./chunk-4TFJ5RW7.js";import{a as br}from"./chunk-J6LQR2F6.js";import{a as Ar}from"./chunk-4ES7BJEK.js";import{a as Sr}from"./chunk-GZ7VGCVW.js";import{a as ar}from"./chunk-WEPO4J2F.js";import{a as lr}from"./chunk-A2VCTDKH.js";import{a as pr}from"./chunk-UIC7K2HX.js";import{a as dr}from"./chunk-4O7LK5RG.js";import{g as ur}from"./chunk-SZI6G247.js";import{a as Xe}from"./chunk-RSC5NQAT.js";import{c as Je,m as Ze}from"./chunk-LYIXRMQJ.js";import{a as mr}from"./chunk-I5PQZRYM.js";import{a as fr}from"./chunk-6HPUOCFF.js";import{a as cr}from"./chunk-NT4A37HG.js";import{b as ir,g as _e,j as Qe}from"./chunk-3LHE4GIX.js";import{a as lo,b as po,c as uo,d as mo}from"./chunk-FQL2WEKX.js";import{d as hr}from"./chunk-ZTICX3AO.js";import{a as nr,b as sr,c as ao,d as io,e as rt,f as co,g as fo}from"./chunk-PB5ZZET5.js";import{a as M,b as Ye}from"./chunk-4OCVXE5Y.js";import{a as Xt,b as Zt,d as Ae,f as er,m as Te,n as H,s as q,u as tr,v as rr,w as or}from"./chunk-Q7BOSHWX.js";import{a as Jt}from"./chunk-7HWMURCW.js";import{a as Zr,b as tt,c as ee,d as eo}from"./chunk-NCVGCVQ5.js";import{a as ho,f as go,g as wo,h as ot,i as yo,j as vo,k as Po,l as xo,m as Eo,n as bo,o as So,p as Uo,q as Ro,v as Ao,x as To,z as nt}from"./chunk-GE4MLO3C.js";import{a as to,b as ro,c as oo,d as no,e as so}from"./chunk-XSMCQLJW.js";import{a as Lr}from"./chunk-4TZCRMBJ.js";import{a as Xr}from"./chunk-EMH7OHCW.js";import{a as Jr}from"./chunk-PWS4VFSD.js";import{a as kr}from"./chunk-PO5T44H3.js";import{Ha as Qr,I as Br,K as Kr,M as Z,W as jr,X as zr,ha as Yr,i as $r,j as W,k as Mr,o as Dr,t as et,u as Or,v as Nr,w as qr,x as Wr,y as Hr,ya as Ie,z as Gr,za as ke}from"./chunk-UNHT4ZFP.js";import{B as Fr,la as Vr,p as Ce,u as ie}from"./chunk-Y743UVBS.js";import{d as Yt}from"./chunk-D3KFKT4D.js";import{a as K}from"./chunk-45SZ5PSE.js";import{b as Qt,e as Re}from"./chunk-NU5WLZ6Y.js";import{J as It,V as J,X as kt,c as Rt,h as At,j as Tt,m as _t,na as Lt,o as Ct,p as we,u as ye}from"./chunk-3V4VL3SD.js";import{A as se,H as be,L as Bt,N as Se,S as Ue,T as ae,U as ze,V as Kt,X as jt,a as Ut,d as ve,e as k,f as $,h as Pe,i as xe,j as Ft,k as Dt,l as Ot,m as Nt,n as qt,o as F,p as Wt,q as je,r as Ve,s as Ht,t as Gt,y as Ee}from"./chunk-47IQIIFX.js";import{b as Ke,d as Et,f as bt,i as St}from"./chunk-HILYTMVA.js";import{a as In}from"./chunk-7UNQOKZW.js";import{d as $t}from"./chunk-DSS4ECIH.js";import{i as A,l as X}from"./chunk-Q37WAD6F.js";import{a as _o}from"./chunk-Q2XLIWG4.js";import{Aa as fe,Cb as P,Eb as b,Ia as vt,Kb as B,Nb as g,Ob as C,Ra as he,T as Be,Xa as D,_a as ge,db as Pt,gb as xt,qa as L,ya as me}from"./chunk-UWI76E2L.js";import{e as Vt,g as zt}from"./chunk-UEBUGSBT.js";import{b as Cn}from"./chunk-I3J63RFV.js";import{a as ft}from"./chunk-JD5P5RAJ.js";import{c as S,e as Ge,f as ht,h as ue,i as gt,j as de,n as wt,o as yt}from"./chunk-6IDEDOXW.js";import{e as Q,g as p}from"./chunk-VKWPEFWQ.js";p();p();p();p();p();p();var kn=300*1e3,Ln='The host theme could not be created to host your theme app extension. Please try again or use the "--theme" flag to use an existing theme as the host theme.';async function Co(t,e,r=Date.now()){for(;await $n(t,e,r););}async function $n(t,e,r){let o=await _e(t,e);if(!o||Mn(o,r))throw new A(Ln);return await ae(3),o.processing}function Mn(t,e){return t.processing&&Date.now()-e>=kn}var Fn="https://codeload.github.com/Shopify/dawn/zip/refs/tags/v15.0.0",Dn="https://cdn.shopify.com/theme-store/uhrdefhlndzaoyrgylhto59sx2i7.jpg",st=3,Le=class extends cr{context="App Ext. Host";devPreview;constructor(e,r={devPreview:!1}){super(e),this.themeId=yr(e.storeFqdn),this.devPreview=r.devPreview}async findOrCreate(){let e=await this.fetch();return e??=this.devPreview?await this.createHostTheme():await this.create(),e}setTheme(e){vr(this.adminSession.storeFqdn,e)}removeTheme(){Pr(this.adminSession.storeFqdn)}async createHostTheme(){let e={role:ir,name:this.generateThemeName(this.context),src:Fn};for(let o=0;o<st;o++){g(`Attempt ${o}/${st}: Creating theme with name "${e.name}" and role "${e.role}"`);try{let n=await Qe(e,this.adminSession);if(n)return this.setTheme(n.id.toString()),g(`Waiting for theme with id "${n.id}" to be processed`),await Co(n.id,this.adminSession),n;throw new Error}catch{g(`Failed to create theme with name "${e.name}" and role "${e.role}". Retrying...`)}}g(`Theme creation failed after ${st} retries. Creating theme using fallback theme zip`);let r=await Qe({...e,src:Dn},this.adminSession);if(!r)throw g("Theme creation failed. Exiting process."),new X(`Could not create theme with name "${e.name}" and role "${e.role}"`);return r}};p();var On={"theme:init":gr,"theme:check":ar,"theme:console":lr,"theme:delete":pr,"theme:dev":dr,"theme:duplicate":mr,"theme:info":fr,"theme:language-server":wr,"theme:list":xr,"theme:metafields:pull":Rr,"theme:open":Er,"theme:package":br,"theme:profile":Sr,"theme:publish":Ur,"theme:preview":Ar,"theme:pull":Tr,"theme:push":_r,"theme:rename":Cr,"theme:share":Ir},ka=On;async function Io(t){let{remoteApp:e,localApp:r}=t,n=r.allExtensions.filter(U=>U.isThemeExtension);if(n.length===0)return;let a=n[0].directory,i=t.themeExtensionPort??9293,[c,d]=await Promise.all([It(t.storeFqdn),Wn(e)]),l=c.storeFqdn,[u,h]=await Promise.all([Ze(c),Je(c)]),y=h?await Xe(t.storePassword,l,u):void 0,m=await qn(c,t.theme),f=m.id.toString();return Ee({headline:"The theme app extension development server is ready.",orderedNextSteps:!0,nextSteps:[[{link:{label:"Install your app in your development store",url:d}}],[{link:{label:"Setup your theme app extension in the host theme",url:`https://${l}/admin/themes/${f}/editor`}}],["Preview your theme app extension at",{link:{label:`http://127.0.0.1:${i}`,url:`http://127.0.0.1:${i}`}}]]}),{type:"theme-app-extensions",prefix:"theme-extensions",function:Nn,options:{theme:m,adminSession:c,storefrontPassword:y,crawlerSignatureHeaders:u,themeExtensionDirectory:a,themeExtensionPort:i}}}var Nn=async(t,{theme:e,adminSession:r,storefrontPassword:o,crawlerSignatureHeaders:n,themeExtensionDirectory:s,themeExtensionPort:a})=>{await(await ur(e,{adminSession:r,storefrontPassword:o,crawlerSignatureHeaders:n,themeExtensionDirectory:s,themeExtensionPort:a})).start()};async function qn(t,e){let r;if(e)g(`Fetching theme with provided id ${e}`),r=await _e(parseInt(e,10),t);else{let o=new Le(t,{devPreview:!0});await be([{title:"Configuring host theme for theme app extension",task:async()=>{g("Finding or creating host theme for theme app extensions"),r=await o.findOrCreate()}}])}if(!r)throw new A("Could not find or create a host theme for theme app extensions");return r}async function Wn(t){return t.developerPlatformClient?.clientName===Vr.AppManagement?`https://${await we()}/?organization_id=${t.organizationId}&no_redirect=true&redirect=/oauth/redirect_from_developer_dashboard?client_id%3D${t.apiKey}`:`https://${await Ct()}/${t.organizationId}/apps/${t.id}/test`}p();p();p();p();p();p();async function Hn(t){let e=S(t.directory,"locales");return ge([S(e,"*.json")])}async function ko(t,e){let r=await Hn(t);if(!r.length)return{localization:void 0,status:""};let o=e.currentLocalizationPayload??{defaultLocale:"en",translations:{},lastUpdated:0},n="success";try{await Promise.all(r.map(async s=>{let[a,...i]=s.split("/").pop().split(".");if(a)return i[0]==="default"&&(o.defaultLocale=a),Gn(a,s,o,t,e)})),o.lastUpdated=Date.now(),g(`Parsed locales for extension ${t.handle} at ${t.directory}`,e.stdout)}catch{n="error"}return{localization:o,status:n}}async function Gn(t,e,r,o,n){let s;try{s=await L(e),r.translations[t]=JSON.parse(s)}catch(a){let i=`Error parsing ${t} locale for ${o.handle} at ${e}: ${a.message}`;throw C(i,n.stderr),new Error(i)}}p();function $e(t,e){switch(t){case"checkout_ui_extension":return{url:e.checkoutCartUrl};case"checkout_post_purchase":return{url:e.checkoutCartUrl};case"product_subscription":return{url:e.subscriptionProductUrl??""};default:return{url:""}}}var at=".js.map";async function te(t,e,r,o){return F({outputPrefix:t.outputPrefix},async()=>{o?.clear();let n=t.getOutputPathForDirectory(e),s=`${r.url}/extensions/${t.devUUID}`,{localization:a,status:i}=await ko(t,r),c=await Mr(t),d=t.outputRelativePath?ue(n):n,l=await Bn(t,s,d,o),u=null;return"metafields"in t.configuration&&Array.isArray(t.configuration.metafields)&&t.configuration.metafields.length>0&&(u=Lo(t.configuration.metafields)),{assets:{main:ce(l)&&l[0]?.assets?.main?l[0].assets.main:{name:"main",url:`${s}/assets/${t.outputFileName}`,lastUpdated:await he(n)??0}},supportedFeatures:{runsOffline:t.configuration.supported_features?.runs_offline??!1},capabilities:{blockProgress:t.configuration.capabilities?.block_progress??!1,networkAccess:t.configuration.capabilities?.network_access??!1,apiAccess:t.configuration.capabilities?.api_access??!1,collectBuyerConsent:{smsMarketing:t.configuration.capabilities?.collect_buyer_consent?.sms_marketing??!1,customerPrivacy:t.configuration.capabilities?.collect_buyer_consent?.customer_privacy??!1},iframe:{sources:t.configuration.capabilities?.iframe?.sources??[]}},development:{...r.currentDevelopmentPayload,resource:$e(t.type,r),root:{url:s},hidden:r.currentDevelopmentPayload?.hidden??!1,localizationStatus:i,status:r.currentDevelopmentPayload?.status??"success",...r.currentDevelopmentPayload??{status:"success"}},extensionPoints:l,localization:a??null,metafields:u,type:t.type,externalType:t.externalType,uuid:t.devUUID,surface:t.surface,version:c?.version,title:t.name,handle:t.handle,name:t.name,description:t.configuration.description,apiVersion:t.configuration.api_version,approvalScopes:r.grantedScopes,settings:t.configuration.settings}})}async function Bn(t,e,r,o){let n=t.configuration,s=n.extension_points??n.targeting;if(t.type==="checkout_post_purchase"&&(s=[{target:"purchase.post.render"}]),ce(s)){let a=await Kn(r);return Promise.all(s.map(async i=>{let{target:c,resource:d}=i,l="metafields"in i?Lo(i.metafields??[]):void 0,u={...i,...l?{metafields:l}:{},surface:ke(c),root:{url:`${e}/${c}`},resource:d||{url:""}},h=a?.[c];if(!h)return u;let m=await Jn(h,{target:c,extensionPoint:i,url:e,extension:t,buildDirectory:r,resolver:o});return{...u,...m}}))}return s}async function Kn(t){try{let e=S(t,"manifest.json"),r=await L(e);return JSON.parse(r)}catch(e){if(e instanceof SyntaxError)throw new Error(`Invalid manifest.json in ${t}: ${e.message}`);return null}}async function jn({target:t,extensionPoint:e,url:r,extension:o,resolver:n},s,a){let i=`${t}/${s}`,c=e[s];if(typeof c=="string"){let y=await Me(s,i,typeof a=="string"?a:c,r,o,n,typeof a=="string"?c:void 0);return{assets:{[y.name]:y}}}let l=e.build_manifest?.assets?.[s];if(l?.filepath){let u=await Me(s,i,l.filepath,r,o,n,l.module);return{assets:{[u.name]:u}}}return{}}async function Vn({target:t,url:e,buildDirectory:r,resolver:o},n,s){if(s.length===0)return{};for(let i of s)o?.set(`${t}/${i}`,i);let a=await Promise.all(s.map(async i=>await he(S(r,i))??0));return{assets:{[n]:{name:n,url:`${e}/assets/${t}/`,lastUpdated:Math.max(...a)}}}}async function zn({target:t,extensionPoint:e,url:r,extension:o,resolver:n},s){return e.intents?{intents:await Promise.all(e.intents.map(async(i,c)=>{let d=i.schema,l=s[c]?.schema,u=typeof l=="string"?l:d,h=typeof l=="string"?d:void 0;return{...i,schema:await Me("schema",`${t}/intents/${c}/schema`,u,r,o,n,h)}}))}:{}}async function Yn({target:t,url:e,extension:r,resolver:o},n,s){let a=await Me(n,`${t}/${n}`,s,e,r,o);return await Qn(t,s,r,o),{assets:{[a.name]:a}}}async function Qn(t,e,r,o){if(!o)return;let n=`${e}.map`;n.endsWith(at)&&await D(S(r.directory,n))&&o.set(`${t}/${gt(n)}`,n)}async function Jn(t,e){return(await Promise.all(Object.keys(t).map(async o=>{let n=t[o];return Xn(o,n)?zn(e,n):Zn(o,n)?Yn(e,o,n):es(o,n)?Vn(e,o,n):jn(e,o,n)}))).reduce((o,n)=>({...o,...n,assets:{...o.assets,...n.assets}}),{})}function Lo(t){return t.map(e=>({namespace:e.namespace,key:e.key,...e.owner_type===void 0?{}:{ownerType:e.owner_type.replaceAll("_","")}}))}function ce(t){return Array.isArray(t)&&t.every(e=>typeof e=="object")}async function Me(t,e,r,o,n,s,a){let i=`${e}${de(r)}`;return s?.set(i,r),{name:t,url:`${o}/assets/${i}`,lastUpdated:await he(S(n.directory,a??r))??0}}function Xn(t,e){return t==="intents"&&Array.isArray(e)}function Zn(t,e){return(t==="main"||t==="should_render")&&typeof e=="string"}function es(t,e){return t==="assets"&&Array.isArray(e)&&e.every(r=>typeof r=="string")}import{EventEmitter as ts}from"events";var le;(function(t){t.Update="PayloadUpdatedEvent:UPDATE"})(le||(le={}));async function $o(t,e,r){return{app:{title:t.appName,apiKey:t.apiKey,url:ao(t.storeFqdn,t.apiKey),mobileUrl:co(t.storeFqdn,t.apiKey)},appId:t.id,version:t.manifestVersion,root:{url:new URL("/extensions",t.url).toString()},socket:{url:t.websocketURL},devConsole:{url:new URL("/extensions/dev-console",t.url).toString()},store:t.storeFqdn,extensions:await Promise.all(t.extensions.filter(n=>n.isPreviewable).map(n=>te(n,e,t,r&&it(r,n.devUUID))))}}function it(t,e){let r=t.get(e);return r||(r=new Map,t.set(e,r)),r}var Fe=class extends ts{options;rawPayload;assetResolvers;constructor(e,r,o=new Map){super(),this.rawPayload=e,this.options=r,this.assetResolvers=o}getAssetResolver(e){return this.assetResolvers.get(e)}getConnectedPayload(){let e=this.getRawPayload();return{app:e.app,appId:e.appId,store:e.store,extensions:e.extensions}}getRawPayloadFilteredByExtensionIds(e){return{...this.rawPayload,extensions:this.rawPayload.extensions.filter(r=>e.includes(r.uuid))}}getRawPayload(){return this.rawPayload}updateApp(e){this.rawPayload=J(this.rawPayload,{app:e}),this.emitUpdate([])}updateExtensions(e){let r=this.rawPayload.extensions.map(o=>{let n=e.find(s=>s.uuid===o.uuid);if(n){if(ce(n.extensionPoints)&&ce(o.extensionPoints)){let s=n.extensionPoints.reduce((c,d)=>({...c,[d.target]:d}),{});o.extensionPoints=J(o.extensionPoints,n.extensionPoints,c=>c.map(d=>{let l=s[d.target];return l?J(d,l,(u,h)=>h):d}));let{extensionPoints:a,...i}=n;return J(o,i)}return J(o,n)}return o});this.rawPayload={...this.rawPayload,extensions:r},this.emitUpdate(e.map(o=>o.uuid))}async updateExtension(e,r,o,n){let s=this.rawPayload.extensions,a=s.findIndex(i=>i.uuid===e.devUUID);if(a===-1){g(b`Could not updateExtension() for extension with uuid: ${e.devUUID}`,r.stderr);return}s[a]=await te(e,o,{...this.options,currentDevelopmentPayload:n??{status:s[a]?.development.status},currentLocalizationPayload:s[a]?.localization},it(this.assetResolvers,e.devUUID)),this.rawPayload.extensions=s,this.emitUpdate([e.devUUID])}deleteExtension(e){let r=this.rawPayload.extensions.findIndex(o=>o.uuid===e.devUUID);r!==-1&&(this.rawPayload.extensions.splice(r,1),this.assetResolvers.delete(e.devUUID),this.emitUpdate([e.devUUID]))}async addExtension(e,r){this.rawPayload.extensions.push(await te(e,r,this.options,it(this.assetResolvers,e.devUUID))),this.emitUpdate([e.devUUID])}emitUpdate(e){this.emit(le.Update,e)}};p();p();var j;(function(t){t.Update="update",t.Dispatch="dispatch",t.Log="log"})(j||(j={}));function Mo(t,e){return(r,o,n)=>{r.url==="/extensions"&&(g("Upgrading HTTP request to a websocket connection",e.stdout),t.handleUpgrade(r,o,n,rs(t,e)))}}function rs(t,e){return r=>{g("Websocket connection successfully established",e.stdout);let o={event:"connected",data:e.payloadStore.getConnectedPayload(),version:e.manifestVersion};g(b`Sending connected payload: ${P.json(o)}`,e.stdout),r.send(JSON.stringify(o)),r.on("message",is(t,e))}}function os(t){try{let e=JSON.parse(t);if(!Array.isArray(e))return t;let r=e.map(o=>typeof o=="object"&&o!==null?P.json(o).output():String(o)).join(" ");return b`${r}`.value}catch(e){if(e instanceof SyntaxError)return t;throw e}}var ns={debug:t=>P.gray(t),warn:t=>P.yellow(t),error:t=>P.errorText(t)};function ss({type:t,message:e}){let r=os(e);switch(t){case"debug":case"warn":case"error":return b`${ns[t](t.toUpperCase())}: ${r}`.value;case"log":case"info":return r;default:return`${t.toUpperCase()}: ${r}`}}function as(t,e){F({outputPrefix:t.extensionName,stripAnsi:!1},()=>{e.stdout.write(ss(t))})}function is(t,e){return r=>{let o=JSON.parse(r.toString()),{event:n,data:s}=o;if(g(b`Received websocket message with event type ${n} and data:
1
+ import{a as Mt}from"./chunk-UOHNRH6E.js";import{a as Ur}from"./chunk-3Q5BAPQK.js";import{b as Tr}from"./chunk-5APLAJCB.js";import{a as _r}from"./chunk-XVFQ6CNO.js";import{a as Cr}from"./chunk-Z2NL6XQK.js";import{a as Ir}from"./chunk-HTODXNY6.js";import{a as gr}from"./chunk-C3PXIZY3.js";import{a as wr}from"./chunk-5GFVMGAZ.js";import{a as yr,b as vr,c as Pr,d as xr}from"./chunk-HNSRF4SQ.js";import{a as Rr}from"./chunk-7Q4EKY3E.js";import{a as Er}from"./chunk-KF7NL5YM.js";import{a as br}from"./chunk-EOIGDOUD.js";import{a as Ar}from"./chunk-Z6Z5DPKS.js";import{a as Sr}from"./chunk-WJJXJNNP.js";import{a as ar}from"./chunk-2EC5SUGK.js";import{a as lr}from"./chunk-YN4FSUFF.js";import{a as pr}from"./chunk-4MQXMIWQ.js";import{a as dr}from"./chunk-FYIC4JHB.js";import{g as ur}from"./chunk-KMJTO7CU.js";import{a as Xe}from"./chunk-S6A7TMR4.js";import{c as Je,m as Ze}from"./chunk-FVTP7EO4.js";import{a as mr}from"./chunk-4CTTWXUX.js";import{a as fr}from"./chunk-GXSF6NCR.js";import{a as cr}from"./chunk-Y5VFOLNQ.js";import{b as ir,g as _e,j as Qe}from"./chunk-TBNEN73P.js";import{a as lo,b as po,c as uo,d as mo}from"./chunk-BAHM64B4.js";import{d as hr}from"./chunk-BD2L6YE5.js";import{a as nr,b as sr,c as ao,d as io,e as rt,f as co,g as fo}from"./chunk-LCMDVUVO.js";import{a as M,b as Ye}from"./chunk-XPDHT3Z4.js";import{a as Xt,b as Zt,d as Ae,f as er,m as Te,n as H,s as q,u as tr,v as rr,w as or}from"./chunk-Q7BOSHWX.js";import{a as Jt}from"./chunk-RW3P3UMU.js";import{a as Zr,b as tt,c as ee,d as eo}from"./chunk-YRX4E67D.js";import{a as ho,f as go,g as wo,h as ot,i as yo,j as vo,k as Po,l as xo,m as Eo,n as bo,o as So,p as Uo,q as Ro,v as Ao,x as To,z as nt}from"./chunk-GF36WNMH.js";import{a as to,b as ro,c as oo,d as no,e as so}from"./chunk-ZOE6WXW6.js";import{a as Lr}from"./chunk-QUO4RD3W.js";import{a as Xr}from"./chunk-VNG2I7NM.js";import{a as Jr}from"./chunk-5SLKHURV.js";import{a as kr}from"./chunk-MTBABHUB.js";import{Ha as Qr,I as Br,K as Kr,M as Z,W as jr,X as zr,ha as Yr,i as $r,j as W,k as Mr,o as Dr,t as et,u as Or,v as Nr,w as qr,x as Wr,y as Hr,ya as Ie,z as Gr,za as ke}from"./chunk-EEAY7HFW.js";import{B as Fr,la as Vr,p as Ce,u as ie}from"./chunk-TVI7TQ4C.js";import{d as Yt}from"./chunk-65GNYRYR.js";import{a as K}from"./chunk-LG6DGIFX.js";import{b as Qt,e as Re}from"./chunk-SUTVPAJF.js";import{J as It,V as J,X as kt,c as Rt,h as At,j as Tt,m as _t,na as Lt,o as Ct,p as we,u as ye}from"./chunk-HB4YI2PF.js";import{A as se,H as be,L as Bt,N as Se,S as Ue,T as ae,U as ze,V as Kt,X as jt,a as Ut,d as ve,e as k,f as $,h as Pe,i as xe,j as Ft,k as Dt,l as Ot,m as Nt,n as qt,o as F,p as Wt,q as je,r as Ve,s as Ht,t as Gt,y as Ee}from"./chunk-7YXHILW4.js";import{b as Ke,d as Et,f as bt,i as St}from"./chunk-HILYTMVA.js";import{a as In}from"./chunk-7UNQOKZW.js";import{d as $t}from"./chunk-MWWULCLD.js";import{i as A,l as X}from"./chunk-4HBKQUKY.js";import{a as _o}from"./chunk-YLCYRG2T.js";import{Aa as fe,Cb as P,Eb as b,Ia as vt,Kb as B,Nb as g,Ob as C,Ra as he,T as Be,Xa as D,_a as ge,db as Pt,gb as xt,qa as L,ya as me}from"./chunk-62GA7XR3.js";import{e as Vt,g as zt}from"./chunk-PT3OZEBI.js";import{b as Cn}from"./chunk-I3J63RFV.js";import{a as ft}from"./chunk-JD5P5RAJ.js";import{c as S,e as Ge,f as ht,h as ue,i as gt,j as de,n as wt,o as yt}from"./chunk-6IDEDOXW.js";import{e as Q,g as p}from"./chunk-VKWPEFWQ.js";p();p();p();p();p();p();var kn=300*1e3,Ln='The host theme could not be created to host your theme app extension. Please try again or use the "--theme" flag to use an existing theme as the host theme.';async function Co(t,e,r=Date.now()){for(;await $n(t,e,r););}async function $n(t,e,r){let o=await _e(t,e);if(!o||Mn(o,r))throw new A(Ln);return await ae(3),o.processing}function Mn(t,e){return t.processing&&Date.now()-e>=kn}var Fn="https://codeload.github.com/Shopify/dawn/zip/refs/tags/v15.0.0",Dn="https://cdn.shopify.com/theme-store/uhrdefhlndzaoyrgylhto59sx2i7.jpg",st=3,Le=class extends cr{context="App Ext. Host";devPreview;constructor(e,r={devPreview:!1}){super(e),this.themeId=yr(e.storeFqdn),this.devPreview=r.devPreview}async findOrCreate(){let e=await this.fetch();return e??=this.devPreview?await this.createHostTheme():await this.create(),e}setTheme(e){vr(this.adminSession.storeFqdn,e)}removeTheme(){Pr(this.adminSession.storeFqdn)}async createHostTheme(){let e={role:ir,name:this.generateThemeName(this.context),src:Fn};for(let o=0;o<st;o++){g(`Attempt ${o}/${st}: Creating theme with name "${e.name}" and role "${e.role}"`);try{let n=await Qe(e,this.adminSession);if(n)return this.setTheme(n.id.toString()),g(`Waiting for theme with id "${n.id}" to be processed`),await Co(n.id,this.adminSession),n;throw new Error}catch{g(`Failed to create theme with name "${e.name}" and role "${e.role}". Retrying...`)}}g(`Theme creation failed after ${st} retries. Creating theme using fallback theme zip`);let r=await Qe({...e,src:Dn},this.adminSession);if(!r)throw g("Theme creation failed. Exiting process."),new X(`Could not create theme with name "${e.name}" and role "${e.role}"`);return r}};p();var On={"theme:init":gr,"theme:check":ar,"theme:console":lr,"theme:delete":pr,"theme:dev":dr,"theme:duplicate":mr,"theme:info":fr,"theme:language-server":wr,"theme:list":xr,"theme:metafields:pull":Rr,"theme:open":Er,"theme:package":br,"theme:profile":Sr,"theme:publish":Ur,"theme:preview":Ar,"theme:pull":Tr,"theme:push":_r,"theme:rename":Cr,"theme:share":Ir},ka=On;async function Io(t){let{remoteApp:e,localApp:r}=t,n=r.allExtensions.filter(U=>U.isThemeExtension);if(n.length===0)return;let a=n[0].directory,i=t.themeExtensionPort??9293,[c,d]=await Promise.all([It(t.storeFqdn),Wn(e)]),l=c.storeFqdn,[u,h]=await Promise.all([Ze(c),Je(c)]),y=h?await Xe(t.storePassword,l,u):void 0,m=await qn(c,t.theme),f=m.id.toString();return Ee({headline:"The theme app extension development server is ready.",orderedNextSteps:!0,nextSteps:[[{link:{label:"Install your app in your development store",url:d}}],[{link:{label:"Setup your theme app extension in the host theme",url:`https://${l}/admin/themes/${f}/editor`}}],["Preview your theme app extension at",{link:{label:`http://127.0.0.1:${i}`,url:`http://127.0.0.1:${i}`}}]]}),{type:"theme-app-extensions",prefix:"theme-extensions",function:Nn,options:{theme:m,adminSession:c,storefrontPassword:y,crawlerSignatureHeaders:u,themeExtensionDirectory:a,themeExtensionPort:i}}}var Nn=async(t,{theme:e,adminSession:r,storefrontPassword:o,crawlerSignatureHeaders:n,themeExtensionDirectory:s,themeExtensionPort:a})=>{await(await ur(e,{adminSession:r,storefrontPassword:o,crawlerSignatureHeaders:n,themeExtensionDirectory:s,themeExtensionPort:a})).start()};async function qn(t,e){let r;if(e)g(`Fetching theme with provided id ${e}`),r=await _e(parseInt(e,10),t);else{let o=new Le(t,{devPreview:!0});await be([{title:"Configuring host theme for theme app extension",task:async()=>{g("Finding or creating host theme for theme app extensions"),r=await o.findOrCreate()}}])}if(!r)throw new A("Could not find or create a host theme for theme app extensions");return r}async function Wn(t){return t.developerPlatformClient?.clientName===Vr.AppManagement?`https://${await we()}/?organization_id=${t.organizationId}&no_redirect=true&redirect=/oauth/redirect_from_developer_dashboard?client_id%3D${t.apiKey}`:`https://${await Ct()}/${t.organizationId}/apps/${t.id}/test`}p();p();p();p();p();p();async function Hn(t){let e=S(t.directory,"locales");return ge([S(e,"*.json")])}async function ko(t,e){let r=await Hn(t);if(!r.length)return{localization:void 0,status:""};let o=e.currentLocalizationPayload??{defaultLocale:"en",translations:{},lastUpdated:0},n="success";try{await Promise.all(r.map(async s=>{let[a,...i]=s.split("/").pop().split(".");if(a)return i[0]==="default"&&(o.defaultLocale=a),Gn(a,s,o,t,e)})),o.lastUpdated=Date.now(),g(`Parsed locales for extension ${t.handle} at ${t.directory}`,e.stdout)}catch{n="error"}return{localization:o,status:n}}async function Gn(t,e,r,o,n){let s;try{s=await L(e),r.translations[t]=JSON.parse(s)}catch(a){let i=`Error parsing ${t} locale for ${o.handle} at ${e}: ${a.message}`;throw C(i,n.stderr),new Error(i)}}p();function $e(t,e){switch(t){case"checkout_ui_extension":return{url:e.checkoutCartUrl};case"checkout_post_purchase":return{url:e.checkoutCartUrl};case"product_subscription":return{url:e.subscriptionProductUrl??""};default:return{url:""}}}var at=".js.map";async function te(t,e,r,o){return F({outputPrefix:t.outputPrefix},async()=>{o?.clear();let n=t.getOutputPathForDirectory(e),s=`${r.url}/extensions/${t.devUUID}`,{localization:a,status:i}=await ko(t,r),c=await Mr(t),d=t.outputRelativePath?ue(n):n,l=await Bn(t,s,d,o),u=null;return"metafields"in t.configuration&&Array.isArray(t.configuration.metafields)&&t.configuration.metafields.length>0&&(u=Lo(t.configuration.metafields)),{assets:{main:ce(l)&&l[0]?.assets?.main?l[0].assets.main:{name:"main",url:`${s}/assets/${t.outputFileName}`,lastUpdated:await he(n)??0}},supportedFeatures:{runsOffline:t.configuration.supported_features?.runs_offline??!1},capabilities:{blockProgress:t.configuration.capabilities?.block_progress??!1,networkAccess:t.configuration.capabilities?.network_access??!1,apiAccess:t.configuration.capabilities?.api_access??!1,collectBuyerConsent:{smsMarketing:t.configuration.capabilities?.collect_buyer_consent?.sms_marketing??!1,customerPrivacy:t.configuration.capabilities?.collect_buyer_consent?.customer_privacy??!1},iframe:{sources:t.configuration.capabilities?.iframe?.sources??[]}},development:{...r.currentDevelopmentPayload,resource:$e(t.type,r),root:{url:s},hidden:r.currentDevelopmentPayload?.hidden??!1,localizationStatus:i,status:r.currentDevelopmentPayload?.status??"success",...r.currentDevelopmentPayload??{status:"success"}},extensionPoints:l,localization:a??null,metafields:u,type:t.type,externalType:t.externalType,uuid:t.devUUID,surface:t.surface,version:c?.version,title:t.name,handle:t.handle,name:t.name,description:t.configuration.description,apiVersion:t.configuration.api_version,approvalScopes:r.grantedScopes,settings:t.configuration.settings}})}async function Bn(t,e,r,o){let n=t.configuration,s=n.extension_points??n.targeting;if(t.type==="checkout_post_purchase"&&(s=[{target:"purchase.post.render"}]),ce(s)){let a=await Kn(r);return Promise.all(s.map(async i=>{let{target:c,resource:d}=i,l="metafields"in i?Lo(i.metafields??[]):void 0,u={...i,...l?{metafields:l}:{},surface:ke(c),root:{url:`${e}/${c}`},resource:d||{url:""}},h=a?.[c];if(!h)return u;let m=await Jn(h,{target:c,extensionPoint:i,url:e,extension:t,buildDirectory:r,resolver:o});return{...u,...m}}))}return s}async function Kn(t){try{let e=S(t,"manifest.json"),r=await L(e);return JSON.parse(r)}catch(e){if(e instanceof SyntaxError)throw new Error(`Invalid manifest.json in ${t}: ${e.message}`);return null}}async function jn({target:t,extensionPoint:e,url:r,extension:o,resolver:n},s,a){let i=`${t}/${s}`,c=e[s];if(typeof c=="string"){let y=await Me(s,i,typeof a=="string"?a:c,r,o,n,typeof a=="string"?c:void 0);return{assets:{[y.name]:y}}}let l=e.build_manifest?.assets?.[s];if(l?.filepath){let u=await Me(s,i,l.filepath,r,o,n,l.module);return{assets:{[u.name]:u}}}return{}}async function Vn({target:t,url:e,buildDirectory:r,resolver:o},n,s){if(s.length===0)return{};for(let i of s)o?.set(`${t}/${i}`,i);let a=await Promise.all(s.map(async i=>await he(S(r,i))??0));return{assets:{[n]:{name:n,url:`${e}/assets/${t}/`,lastUpdated:Math.max(...a)}}}}async function zn({target:t,extensionPoint:e,url:r,extension:o,resolver:n},s){return e.intents?{intents:await Promise.all(e.intents.map(async(i,c)=>{let d=i.schema,l=s[c]?.schema,u=typeof l=="string"?l:d,h=typeof l=="string"?d:void 0;return{...i,schema:await Me("schema",`${t}/intents/${c}/schema`,u,r,o,n,h)}}))}:{}}async function Yn({target:t,url:e,extension:r,resolver:o},n,s){let a=await Me(n,`${t}/${n}`,s,e,r,o);return await Qn(t,s,r,o),{assets:{[a.name]:a}}}async function Qn(t,e,r,o){if(!o)return;let n=`${e}.map`;n.endsWith(at)&&await D(S(r.directory,n))&&o.set(`${t}/${gt(n)}`,n)}async function Jn(t,e){return(await Promise.all(Object.keys(t).map(async o=>{let n=t[o];return Xn(o,n)?zn(e,n):Zn(o,n)?Yn(e,o,n):es(o,n)?Vn(e,o,n):jn(e,o,n)}))).reduce((o,n)=>({...o,...n,assets:{...o.assets,...n.assets}}),{})}function Lo(t){return t.map(e=>({namespace:e.namespace,key:e.key,...e.owner_type===void 0?{}:{ownerType:e.owner_type.replaceAll("_","")}}))}function ce(t){return Array.isArray(t)&&t.every(e=>typeof e=="object")}async function Me(t,e,r,o,n,s,a){let i=`${e}${de(r)}`;return s?.set(i,r),{name:t,url:`${o}/assets/${i}`,lastUpdated:await he(S(n.directory,a??r))??0}}function Xn(t,e){return t==="intents"&&Array.isArray(e)}function Zn(t,e){return(t==="main"||t==="should_render")&&typeof e=="string"}function es(t,e){return t==="assets"&&Array.isArray(e)&&e.every(r=>typeof r=="string")}import{EventEmitter as ts}from"events";var le;(function(t){t.Update="PayloadUpdatedEvent:UPDATE"})(le||(le={}));async function $o(t,e,r){return{app:{title:t.appName,apiKey:t.apiKey,url:ao(t.storeFqdn,t.apiKey),mobileUrl:co(t.storeFqdn,t.apiKey)},appId:t.id,version:t.manifestVersion,root:{url:new URL("/extensions",t.url).toString()},socket:{url:t.websocketURL},devConsole:{url:new URL("/extensions/dev-console",t.url).toString()},store:t.storeFqdn,extensions:await Promise.all(t.extensions.filter(n=>n.isPreviewable).map(n=>te(n,e,t,r&&it(r,n.devUUID))))}}function it(t,e){let r=t.get(e);return r||(r=new Map,t.set(e,r)),r}var Fe=class extends ts{options;rawPayload;assetResolvers;constructor(e,r,o=new Map){super(),this.rawPayload=e,this.options=r,this.assetResolvers=o}getAssetResolver(e){return this.assetResolvers.get(e)}getConnectedPayload(){let e=this.getRawPayload();return{app:e.app,appId:e.appId,store:e.store,extensions:e.extensions}}getRawPayloadFilteredByExtensionIds(e){return{...this.rawPayload,extensions:this.rawPayload.extensions.filter(r=>e.includes(r.uuid))}}getRawPayload(){return this.rawPayload}updateApp(e){this.rawPayload=J(this.rawPayload,{app:e}),this.emitUpdate([])}updateExtensions(e){let r=this.rawPayload.extensions.map(o=>{let n=e.find(s=>s.uuid===o.uuid);if(n){if(ce(n.extensionPoints)&&ce(o.extensionPoints)){let s=n.extensionPoints.reduce((c,d)=>({...c,[d.target]:d}),{});o.extensionPoints=J(o.extensionPoints,n.extensionPoints,c=>c.map(d=>{let l=s[d.target];return l?J(d,l,(u,h)=>h):d}));let{extensionPoints:a,...i}=n;return J(o,i)}return J(o,n)}return o});this.rawPayload={...this.rawPayload,extensions:r},this.emitUpdate(e.map(o=>o.uuid))}async updateExtension(e,r,o,n){let s=this.rawPayload.extensions,a=s.findIndex(i=>i.uuid===e.devUUID);if(a===-1){g(b`Could not updateExtension() for extension with uuid: ${e.devUUID}`,r.stderr);return}s[a]=await te(e,o,{...this.options,currentDevelopmentPayload:n??{status:s[a]?.development.status},currentLocalizationPayload:s[a]?.localization},it(this.assetResolvers,e.devUUID)),this.rawPayload.extensions=s,this.emitUpdate([e.devUUID])}deleteExtension(e){let r=this.rawPayload.extensions.findIndex(o=>o.uuid===e.devUUID);r!==-1&&(this.rawPayload.extensions.splice(r,1),this.assetResolvers.delete(e.devUUID),this.emitUpdate([e.devUUID]))}async addExtension(e,r){this.rawPayload.extensions.push(await te(e,r,this.options,it(this.assetResolvers,e.devUUID))),this.emitUpdate([e.devUUID])}emitUpdate(e){this.emit(le.Update,e)}};p();p();var j;(function(t){t.Update="update",t.Dispatch="dispatch",t.Log="log"})(j||(j={}));function Mo(t,e){return(r,o,n)=>{r.url==="/extensions"&&(g("Upgrading HTTP request to a websocket connection",e.stdout),t.handleUpgrade(r,o,n,rs(t,e)))}}function rs(t,e){return r=>{g("Websocket connection successfully established",e.stdout);let o={event:"connected",data:e.payloadStore.getConnectedPayload(),version:e.manifestVersion};g(b`Sending connected payload: ${P.json(o)}`,e.stdout),r.send(JSON.stringify(o)),r.on("message",is(t,e))}}function os(t){try{let e=JSON.parse(t);if(!Array.isArray(e))return t;let r=e.map(o=>typeof o=="object"&&o!==null?P.json(o).output():String(o)).join(" ");return b`${r}`.value}catch(e){if(e instanceof SyntaxError)return t;throw e}}var ns={debug:t=>P.gray(t),warn:t=>P.yellow(t),error:t=>P.errorText(t)};function ss({type:t,message:e}){let r=os(e);switch(t){case"debug":case"warn":case"error":return b`${ns[t](t.toUpperCase())}: ${r}`.value;case"log":case"info":return r;default:return`${t.toUpperCase()}: ${r}`}}function as(t,e){F({outputPrefix:t.extensionName,stripAnsi:!1},()=>{e.stdout.write(ss(t))})}function is(t,e){return r=>{let o=JSON.parse(r.toString()),{event:n,data:s}=o;if(g(b`Received websocket message with event type ${n} and data:
2
2
  ${P.json(s)}
3
3
  `,e.stdout),n===j.Update){let a=e.payloadStore.getRawPayload().app.apiKey,i=s.app?.apiKey;if(s.app){if(a!==i)return;e.payloadStore.updateApp(s.app)}s.extensions&&e.payloadStore.updateExtensions(s.extensions)}else if(n===j.Dispatch){let a=cs(o,e);Do(t,a,e)}else n===j.Log&&as(s,e)}}function Fo(t,e){return r=>{let o={event:j.Update,version:e.manifestVersion,data:{...e.payloadStore.getRawPayloadFilteredByExtensionIds(r)}};g(b`Sending websocket update event to the websocket clients:
4
4
  ${P.json(o)}
@@ -1,4 +1,4 @@
1
- import{A as n,B as i,C as t,G as s,y as e,z as o}from"./chunk-47IQIIFX.js";import{i as d,l}from"./chunk-Q37WAD6F.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();async function u(){e({headline:"CLI update available.",body:["Run",{command:"npm run shopify upgrade"},{char:"."}]}),e({headline:["To connect this project to your shopify store cd into:",{filePath:"/my-store/hydrogen.config.js"},{char:"."}],body:["You can also try the following steps:",{list:{items:[["Run",{command:"shopify project connect"}],["Run",{command:"hydrogen start"}]]}}]}),e({headline:"About your app.",customSections:[{body:{tabularData:[["Configuration file",{filePath:"shopify.app.scalable-transaction-app.toml"}],["App name",{userInput:"scalable-transaction-app"}],["Access scopes","read_products,write_products"]],firstColumnSubdued:!0}}]}),e({headline:[{userInput:"my-app"},"initialized and ready to build."],nextSteps:[["Run",{command:"cd verification-app"}],["To preview your project, run",{command:"npm app dev"}],["To add extensions, run",{command:"npm generate extension"}]],reference:[["Run",{command:"npm shopify help"}],{link:{label:"Dev docs",url:"https://shopify.dev"}}],customSections:[{title:"Custom section",body:{list:{items:[{link:{label:"Item 1",url:"https://shopify.com"}},"Item 2",{link:{url:"https://community.shopify.com/"}}]}}},{title:"Custom section 2",body:{list:{items:["Item 1","Item 2","Item 3"]}}}]}),o({headline:"CLI updated.",body:"You are now running version 3.47."}),o({headline:"Deployment successful.",body:"Your extensions have been uploaded to your Shopify Partners Dashboard.",nextSteps:[{link:{label:"See your deployment and set it live",url:"https://partners.shopify.com/1797046/apps/4523695/deployments"}}]}),n({headline:"You have reached your limit of checkout extensions for this app.",body:"You can free up space for a new one by deleting an existing one."}),n({headline:"Required access scope update.",body:"The deadline for re-selecting your app scopes is May 1, 2022.",reference:[{link:{label:"Dev docs",url:"https://shopify.dev/app/scopes"}}]});let a=new l("Something went wrong.");a.stack=`
1
+ import{A as n,B as i,C as t,G as s,y as e,z as o}from"./chunk-7YXHILW4.js";import{i as d,l}from"./chunk-4HBKQUKY.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();async function u(){e({headline:"CLI update available.",body:["Run",{command:"npm run shopify upgrade"},{char:"."}]}),e({headline:["To connect this project to your shopify store cd into:",{filePath:"/my-store/hydrogen.config.js"},{char:"."}],body:["You can also try the following steps:",{list:{items:[["Run",{command:"shopify project connect"}],["Run",{command:"hydrogen start"}]]}}]}),e({headline:"About your app.",customSections:[{body:{tabularData:[["Configuration file",{filePath:"shopify.app.scalable-transaction-app.toml"}],["App name",{userInput:"scalable-transaction-app"}],["Access scopes","read_products,write_products"]],firstColumnSubdued:!0}}]}),e({headline:[{userInput:"my-app"},"initialized and ready to build."],nextSteps:[["Run",{command:"cd verification-app"}],["To preview your project, run",{command:"npm app dev"}],["To add extensions, run",{command:"npm generate extension"}]],reference:[["Run",{command:"npm shopify help"}],{link:{label:"Dev docs",url:"https://shopify.dev"}}],customSections:[{title:"Custom section",body:{list:{items:[{link:{label:"Item 1",url:"https://shopify.com"}},"Item 2",{link:{url:"https://community.shopify.com/"}}]}}},{title:"Custom section 2",body:{list:{items:["Item 1","Item 2","Item 3"]}}}]}),o({headline:"CLI updated.",body:"You are now running version 3.47."}),o({headline:"Deployment successful.",body:"Your extensions have been uploaded to your Shopify Partners Dashboard.",nextSteps:[{link:{label:"See your deployment and set it live",url:"https://partners.shopify.com/1797046/apps/4523695/deployments"}}]}),n({headline:"You have reached your limit of checkout extensions for this app.",body:"You can free up space for a new one by deleting an existing one."}),n({headline:"Required access scope update.",body:"The deadline for re-selecting your app scopes is May 1, 2022.",reference:[{link:{label:"Dev docs",url:"https://shopify.dev/app/scopes"}}]});let a=new l("Something went wrong.");a.stack=`
2
2
  Error: Unexpected error
3
3
  at Module._compile (internal/modules/cjs/loader.js:1137:30)
4
4
  at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
@@ -1 +1 @@
1
- import{a as E}from"./chunk-BOE2ST6J.js";import{a as I,b as w}from"./chunk-YY6TFARF.js";import{a as _}from"./chunk-QUXQM3S3.js";import{f as a,g as l,p as S,v as b}from"./chunk-Y3PY5LP7.js";import{b as T,c as g}from"./chunk-NU5WLZ6Y.js";import{oa as s,ra as p}from"./chunk-3V4VL3SD.js";import{y as f}from"./chunk-47IQIIFX.js";import{d as m}from"./chunk-DYPZX7MW.js";import{i as v}from"./chunk-Q37WAD6F.js";import{Ib as c}from"./chunk-UWI76E2L.js";import{b as x}from"./chunk-I3J63RFV.js";import{e as L,g as i}from"./chunk-VKWPEFWQ.js";i();i();function A(t,e){return{theme:{id:t.id,name:t.name,role:t.role,shop:e.storeFqdn,preview_url:I(t,e),editor_url:w(t,e)}}}function D(t){let{platform:e,arch:n}=m(),o=a(),r=null;return o&&(r=Number(l())||null),{store:o??"Not configured",development_theme_id:r,cli_version:t.cliVersion,os:`${e}-${n}`,shell:process.env.SHELL??"unknown",node_version:process.version}}async function O(t,e){let n;if(e.development)n=await new E(t).findOrCreate();else{let o={filter:{theme:e.theme}};n=await _(t,o)}return n?A(n,t):void 0}async function y(t){return[M(),await j(t)]}function M(){let t=a()??"Not configured",e=l();return p(`theme-command:info:dev-theme-loaded:${e}`),N("Theme Configuration",[["Store",t],["Development Theme ID",e?`#${e}`:{subdued:"Not set"}]])}async function j(t){let{platform:e,arch:n}=m();return N("Tooling and System",[["Shopify CLI",t.cliVersion],["OS",`${e}-${n}`],["Shell",process.env.SHELL??"unknown"],["Node version",process.version]])}function N(t,e){return{title:t,body:{tabularData:e,firstColumnSubdued:!0}}}async function F(t,e){let n=Object.entries(t.theme).map(([o,r])=>{if(o==="editor_url"||o==="preview_url"){let C=String(r),$=o==="editor_url"?"Open in Theme Editor":"Preview Theme";return[u(o),{link:{url:C,label:$}}]}else return o==="id"?[u(o),`#${r}`]:[u(o),`${r}`]});return{customSections:[...e.environment?[{title:"Theme information",body:[{subdued:`Environment name: ${e.environment}`}]}]:[],{title:"Theme Details",body:{tabularData:n,firstColumnSubdued:!0}}]}}function u(t){return t.split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}var d=L(x(),1);var h=class extends b{static description="Displays information about your theme environment, including your current store. Can also retrieve information about a specific theme.";static flags={...T,...g,...S,development:d.Flags.boolean({char:"d",description:"Retrieve info from your development theme.",env:"SHOPIFY_FLAG_DEVELOPMENT"}),theme:d.Flags.string({char:"t",description:"Theme ID or name of the remote theme.",env:"SHOPIFY_FLAG_THEME_ID"})};static multiEnvironmentsFlags=["store","password"];async command(e,n){if(s("theme-command:info"),e.theme||e.development){let o=await O(n,e);if(!o)throw new v("Theme not found!");if(e.json)return c(JSON.stringify(o,null,2));let r=await F(o,e);f(r)}else{if(e.json)return c(JSON.stringify(D({cliVersion:this.config.version}),null,2));let o=await y({cliVersion:this.config.version});f({customSections:o})}s("theme-command:info")}};export{h as a};
1
+ import{a as E}from"./chunk-7LB6DPB6.js";import{a as I,b as w}from"./chunk-YY6TFARF.js";import{a as _}from"./chunk-NRG2WPSM.js";import{f as a,g as l,p as S,v as b}from"./chunk-LQSD25YS.js";import{b as T,c as g}from"./chunk-SUTVPAJF.js";import{oa as s,ra as p}from"./chunk-HB4YI2PF.js";import{y as f}from"./chunk-7YXHILW4.js";import{d as m}from"./chunk-2VGPNRHH.js";import{i as v}from"./chunk-4HBKQUKY.js";import{Ib as c}from"./chunk-62GA7XR3.js";import{b as x}from"./chunk-I3J63RFV.js";import{e as L,g as i}from"./chunk-VKWPEFWQ.js";i();i();function A(t,e){return{theme:{id:t.id,name:t.name,role:t.role,shop:e.storeFqdn,preview_url:I(t,e),editor_url:w(t,e)}}}function D(t){let{platform:e,arch:n}=m(),o=a(),r=null;return o&&(r=Number(l())||null),{store:o??"Not configured",development_theme_id:r,cli_version:t.cliVersion,os:`${e}-${n}`,shell:process.env.SHELL??"unknown",node_version:process.version}}async function O(t,e){let n;if(e.development)n=await new E(t).findOrCreate();else{let o={filter:{theme:e.theme}};n=await _(t,o)}return n?A(n,t):void 0}async function y(t){return[M(),await j(t)]}function M(){let t=a()??"Not configured",e=l();return p(`theme-command:info:dev-theme-loaded:${e}`),N("Theme Configuration",[["Store",t],["Development Theme ID",e?`#${e}`:{subdued:"Not set"}]])}async function j(t){let{platform:e,arch:n}=m();return N("Tooling and System",[["Shopify CLI",t.cliVersion],["OS",`${e}-${n}`],["Shell",process.env.SHELL??"unknown"],["Node version",process.version]])}function N(t,e){return{title:t,body:{tabularData:e,firstColumnSubdued:!0}}}async function F(t,e){let n=Object.entries(t.theme).map(([o,r])=>{if(o==="editor_url"||o==="preview_url"){let C=String(r),$=o==="editor_url"?"Open in Theme Editor":"Preview Theme";return[u(o),{link:{url:C,label:$}}]}else return o==="id"?[u(o),`#${r}`]:[u(o),`${r}`]});return{customSections:[...e.environment?[{title:"Theme information",body:[{subdued:`Environment name: ${e.environment}`}]}]:[],{title:"Theme Details",body:{tabularData:n,firstColumnSubdued:!0}}]}}function u(t){return t.split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}var d=L(x(),1);var h=class extends b{static description="Displays information about your theme environment, including your current store. Can also retrieve information about a specific theme.";static flags={...T,...g,...S,development:d.Flags.boolean({char:"d",description:"Retrieve info from your development theme.",env:"SHOPIFY_FLAG_DEVELOPMENT"}),theme:d.Flags.string({char:"t",description:"Theme ID or name of the remote theme.",env:"SHOPIFY_FLAG_THEME_ID"})};static multiEnvironmentsFlags=["store","password"];async command(e,n){if(s("theme-command:info"),e.theme||e.development){let o=await O(n,e);if(!o)throw new v("Theme not found!");if(e.json)return c(JSON.stringify(o,null,2));let r=await F(o,e);f(r)}else{if(e.json)return c(JSON.stringify(D({cliVersion:this.config.version}),null,2));let o=await y({cliVersion:this.config.version});f({customSections:o})}s("theme-command:info")}};export{h as a};
@@ -0,0 +1 @@
1
+ import{g as I}from"./chunk-VKWPEFWQ.js";I();var o="4.9.5";export{o as a};
@@ -1 +1 @@
1
- import{a as C}from"./chunk-PWS4VFSD.js";import{a as y}from"./chunk-PO5T44H3.js";import{Ca as k,Fa as w,Ga as A,Ha as P}from"./chunk-UNHT4ZFP.js";import{b as h}from"./chunk-NU5WLZ6Y.js";import{z as g}from"./chunk-47IQIIFX.js";import{i as u}from"./chunk-Q37WAD6F.js";import{i as r}from"./chunk-6IDEDOXW.js";import{g as n}from"./chunk-VKWPEFWQ.js";n();n();async function s(p){let{directory:t,configName:o,configPath:e,configuration:a,remoteApp:i}=p;if(!a.client_id)throw new u("The selected configuration is not linked to a remote app.","Run `shopify app config link` first to link this configuration to a Shopify app.");let c=i.developerPlatformClient,l=await k({developerPlatformClient:c,app:i}),m=i.flags,b={directory:t,configName:o,developerPlatformClient:c,apiKey:a.client_id},d=await w(b,l,m,i.apiKey),v=r(e),x=await A({remoteApp:i,developerPlatformClient:c,specifications:l,flags:m,configFileName:v,appDirectory:d.appDirectory??t,localAppOptions:d});return{configPath:e,configuration:x,remoteApp:i}}var f=class p extends C{static summary="Refresh an already-linked app configuration without prompts.";static descriptionWithMarkdown="Pulls the latest configuration from the already-linked Shopify app and updates the selected configuration file.\n\nThis command reuses the existing linked app and organization and skips all interactive prompts. Use `--config` to target a specific configuration file, or omit it to use the default one.";static description=this.descriptionForHelp();static flags={...h,...y};async run(){let{flags:t}=await this.parse(p),{app:o,remoteApp:e}=await P({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),{configuration:a,configPath:i}=await s({directory:t.path,configName:t.config,configPath:o.configPath,configuration:o.configuration,remoteApp:e});return g({headline:`Pulled latest configuration for "${a.name}"`,body:`Updated ${r(i)} with the remote data.`}),{app:o}}};export{f as a};
1
+ import{a as C}from"./chunk-5SLKHURV.js";import{a as y}from"./chunk-MTBABHUB.js";import{Ca as k,Fa as w,Ga as A,Ha as P}from"./chunk-EEAY7HFW.js";import{b as h}from"./chunk-SUTVPAJF.js";import{z as g}from"./chunk-7YXHILW4.js";import{i as u}from"./chunk-4HBKQUKY.js";import{i as r}from"./chunk-6IDEDOXW.js";import{g as n}from"./chunk-VKWPEFWQ.js";n();n();async function s(p){let{directory:t,configName:o,configPath:e,configuration:a,remoteApp:i}=p;if(!a.client_id)throw new u("The selected configuration is not linked to a remote app.","Run `shopify app config link` first to link this configuration to a Shopify app.");let c=i.developerPlatformClient,l=await k({developerPlatformClient:c,app:i}),m=i.flags,b={directory:t,configName:o,developerPlatformClient:c,apiKey:a.client_id},d=await w(b,l,m,i.apiKey),v=r(e),x=await A({remoteApp:i,developerPlatformClient:c,specifications:l,flags:m,configFileName:v,appDirectory:d.appDirectory??t,localAppOptions:d});return{configPath:e,configuration:x,remoteApp:i}}var f=class p extends C{static summary="Refresh an already-linked app configuration without prompts.";static descriptionWithMarkdown="Pulls the latest configuration from the already-linked Shopify app and updates the selected configuration file.\n\nThis command reuses the existing linked app and organization and skips all interactive prompts. Use `--config` to target a specific configuration file, or omit it to use the default one.";static description=this.descriptionForHelp();static flags={...h,...y};async run(){let{flags:t}=await this.parse(p),{app:o,remoteApp:e}=await P({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),{configuration:a,configPath:i}=await s({directory:t.path,configName:t.config,configPath:o.configPath,configuration:o.configuration,remoteApp:e});return g({headline:`Pulled latest configuration for "${a.name}"`,body:`Updated ${r(i)} with the remote data.`}),{app:o}}};export{f as a};
@@ -1 +1 @@
1
- import{b as t}from"./chunk-AMLCWRHU.js";import{b as a}from"./chunk-4ZNBEMRT.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();var i=class extends a{static summary="Upgrades Shopify CLI.";static descriptionWithMarkdown="Upgrades Shopify CLI using your package manager.";static description=this.descriptionForHelp();async run(){await t()}};export{i as a};
1
+ import{b as t}from"./chunk-KN3MUEWA.js";import{b as a}from"./chunk-DCKRQZLE.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();var i=class extends a{static summary="Upgrades Shopify CLI.";static descriptionWithMarkdown="Upgrades Shopify CLI using your package manager.";static description=this.descriptionForHelp();async run(){await t()}};export{i as a};