@shopify/cli 4.7.1 → 4.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/dist/analytics-32PK45SE.js +1 -0
  2. package/dist/analytics-TQHJN5PY.js +1 -0
  3. package/dist/assets/hydrogen/starter/AGENTS.md +5 -0
  4. package/dist/assets/hydrogen/starter/CHANGELOG.md +9 -0
  5. package/dist/assets/hydrogen/starter/CLAUDE.md +1 -0
  6. package/dist/assets/hydrogen/starter/package.json +3 -3
  7. package/dist/bootstrap.js +1 -1
  8. package/dist/{chunk-UK4WXL4G.js → chunk-22JJHQVU.js} +1 -1
  9. package/dist/{chunk-ULR25PTO.js → chunk-2BHYBR2F.js} +1 -1
  10. package/dist/{chunk-22NROZ5X.js → chunk-2R6KOKWG.js} +46 -46
  11. package/dist/{chunk-3HCWJRL6.js → chunk-32IIURQB.js} +1 -1
  12. package/dist/{chunk-YCU7ZCIG.js → chunk-33PLVLCE.js} +1 -1
  13. package/dist/{chunk-RA3WWB2S.js → chunk-36OXWMXZ.js} +1 -1
  14. package/dist/{chunk-UZVON6GP.js → chunk-3A2HLI4D.js} +1 -1
  15. package/dist/{chunk-26DH5P7S.js → chunk-3ACZB27E.js} +1 -1
  16. package/dist/{chunk-JQUEW7CB.js → chunk-3FTP36HH.js} +1 -1
  17. package/dist/{chunk-4FCS6PJY.js → chunk-3GAN6KS6.js} +1 -1
  18. package/dist/{chunk-22NWEE5U.js → chunk-3LBHSZSR.js} +1 -1
  19. package/dist/chunk-3NVQXPTU.js +1 -0
  20. package/dist/{chunk-XMQFQUUK.js → chunk-3NYK63U4.js} +1 -1
  21. package/dist/{chunk-R5EGWWZH.js → chunk-3R7OHZ4C.js} +1 -1
  22. package/dist/{chunk-5WGT45CO.js → chunk-4ARQFW35.js} +1 -1
  23. package/dist/{chunk-FELV7GWY.js → chunk-4ASQQTCD.js} +1 -1
  24. package/dist/chunk-4IG7WG6V.js +1 -0
  25. package/dist/{chunk-SCXL5UQ4.js → chunk-4QAM7ROJ.js} +1 -1
  26. package/dist/{chunk-IENBHP2S.js → chunk-4QBJ5JBX.js} +15 -16
  27. package/dist/{chunk-I2LNQKIJ.js → chunk-4QXDDAMD.js} +1 -1
  28. package/dist/{chunk-2S3GOPRL.js → chunk-562EV2EJ.js} +1 -1
  29. package/dist/{chunk-AWHS336T.js → chunk-565SON6A.js} +1 -1
  30. package/dist/{chunk-46BKAF3F.js → chunk-5AMPXLKT.js} +1 -1
  31. package/dist/chunk-5CC4QYN4.js +1 -0
  32. package/dist/{chunk-USBP7H7J.js → chunk-5G2W7QKA.js} +1 -1
  33. package/dist/{chunk-U46RPVQA.js → chunk-5PWJTOWK.js} +1 -1
  34. package/dist/{chunk-RXUOQZ32.js → chunk-5THZTE44.js} +1 -1
  35. package/dist/{chunk-N4KDWHT2.js → chunk-5U4UTFA4.js} +1 -1
  36. package/dist/{chunk-PV6T52KB.js → chunk-6633X2JU.js} +1 -1
  37. package/dist/chunk-6HMTAB2V.js +2 -0
  38. package/dist/{chunk-U3F6GPCE.js → chunk-6JC2PM43.js} +1 -1
  39. package/dist/{chunk-6R62DGJG.js → chunk-6T5AZZUI.js} +1 -1
  40. package/dist/{chunk-J2VRPZFC.js → chunk-6U4BOZ73.js} +1 -1
  41. package/dist/{chunk-UZV5H2JI.js → chunk-6USL7BKQ.js} +1 -1
  42. package/dist/{chunk-WTES5ZXR.js → chunk-7CPYFKFK.js} +1 -1
  43. package/dist/{chunk-CRP4PQU2.js → chunk-7DGVNVW3.js} +1 -1
  44. package/dist/{chunk-3KM2GKXH.js → chunk-7DJNASBC.js} +1 -1
  45. package/dist/{chunk-EMETQFFJ.js → chunk-7DLMETRR.js} +1 -1
  46. package/dist/{chunk-JJSV7HNM.js → chunk-7JG3CKDE.js} +1 -1
  47. package/dist/{chunk-WR6LRE4I.js → chunk-7USNGNVI.js} +1 -1
  48. package/dist/{chunk-6QJIGFQJ.js → chunk-AICVQH4V.js} +1 -1
  49. package/dist/{chunk-PK73ZSND.js → chunk-AINDVTMY.js} +39 -39
  50. package/dist/{chunk-5MD7GNEY.js → chunk-AVX7CIDJ.js} +1 -1
  51. package/dist/chunk-AXLLN6DZ.js +2 -0
  52. package/dist/{chunk-WOIAYH5U.js → chunk-AXMSJ46T.js} +1 -1
  53. package/dist/{chunk-4FI2YBRF.js → chunk-B3I7OMRN.js} +1 -1
  54. package/dist/{chunk-VXX4EZ7G.js → chunk-BHDFVO2R.js} +1 -1
  55. package/dist/{chunk-N7425436.js → chunk-BKYTBTQ5.js} +1 -1
  56. package/dist/{chunk-KBBITJSF.js → chunk-BMDCOBUR.js} +1 -1
  57. package/dist/{chunk-KRLEEYLL.js → chunk-CKZOLGWI.js} +1 -1
  58. package/dist/{chunk-WXSDPMIZ.js → chunk-CSAVYME2.js} +1 -1
  59. package/dist/{chunk-R2RULBBV.js → chunk-D2R7HPCT.js} +1 -1
  60. package/dist/{chunk-RM3B7AFT.js → chunk-DQVNW6EQ.js} +1 -1
  61. package/dist/chunk-DS7OKDQN.js +1 -0
  62. package/dist/chunk-E3FZRPNL.js +1 -0
  63. package/dist/{chunk-HOVIGRE4.js → chunk-E7I5YT53.js} +1 -1
  64. package/dist/chunk-EDHR546O.js +97 -0
  65. package/dist/{chunk-X5JQU6T7.js → chunk-EIBQRJTQ.js} +1 -1
  66. package/dist/{chunk-QASOHYDS.js → chunk-F2DO3R6R.js} +1 -1
  67. package/dist/{chunk-CUUCRIGC.js → chunk-F5BTQI5W.js} +1 -1
  68. package/dist/{chunk-7EUIO4ZO.js → chunk-FH36PGZH.js} +12 -12
  69. package/dist/{chunk-YFKEESYB.js → chunk-FM6VJLE7.js} +1 -1
  70. package/dist/{chunk-I6XH7XDX.js → chunk-FZUPL5YO.js} +1 -1
  71. package/dist/{chunk-5JW4JQWZ.js → chunk-GCTCRKET.js} +1 -1
  72. package/dist/{chunk-ZULQKYJ6.js → chunk-GTIBT4V6.js} +1 -1
  73. package/dist/{chunk-6ELAWKMY.js → chunk-GVEJO3WM.js} +1 -1
  74. package/dist/{chunk-HQUWYKSJ.js → chunk-GYFRTLML.js} +2 -2
  75. package/dist/{chunk-P5OQUFH6.js → chunk-GZEPWYMP.js} +1 -1
  76. package/dist/{chunk-OF6CV5R4.js → chunk-H6HILX7D.js} +1 -1
  77. package/dist/chunk-H7IQZNKR.js +1 -0
  78. package/dist/{chunk-ZBSC2KZ7.js → chunk-HEIZ3RSD.js} +1 -1
  79. package/dist/{chunk-3WV7DQMM.js → chunk-HEWKCSY7.js} +3 -3
  80. package/dist/{chunk-HRHNJFAA.js → chunk-HFRWZQOF.js} +1 -1
  81. package/dist/{chunk-PU3NATV4.js → chunk-HKSRCMQ7.js} +1 -1
  82. package/dist/{chunk-PEHLR7XP.js → chunk-HZDEDEAS.js} +1 -1
  83. package/dist/{chunk-RY4YUBG3.js → chunk-ILHEVBNU.js} +1 -1
  84. package/dist/chunk-IMSPA67L.js +5 -0
  85. package/dist/chunk-IPSY5EEL.js +1 -0
  86. package/dist/{chunk-IF6EYTHG.js → chunk-J3PS4JF2.js} +2 -2
  87. package/dist/{chunk-7S73765P.js → chunk-JDEOBIXA.js} +1 -1
  88. package/dist/{chunk-GW4JHUIA.js → chunk-JLR6X5NA.js} +1 -1
  89. package/dist/{chunk-6G5TDB45.js → chunk-JVXKDM2E.js} +1 -1
  90. package/dist/{chunk-NSZHEXZK.js → chunk-KAAC4VIW.js} +1 -1
  91. package/dist/{chunk-K3VLFPPI.js → chunk-KEUMU5TQ.js} +1 -1
  92. package/dist/{chunk-3MN3WLA2.js → chunk-KPJRLS53.js} +1 -1
  93. package/dist/{chunk-2F2DXTRI.js → chunk-L6OBJDYK.js} +1 -1
  94. package/dist/{chunk-XMJFT4WP.js → chunk-LC2BDU4B.js} +1 -1
  95. package/dist/{chunk-O4G6TE26.js → chunk-LEPENRGG.js} +1 -1
  96. package/dist/{chunk-QHLY2IID.js → chunk-LH7KQZDD.js} +1 -1
  97. package/dist/{chunk-WSCSFFLH.js → chunk-LIH7CQO7.js} +2 -2
  98. package/dist/chunk-LJO22Z6S.js +1 -0
  99. package/dist/{chunk-JNIPCLAF.js → chunk-LQGF3RKX.js} +1 -1
  100. package/dist/chunk-LTRJWOI6.js +11 -0
  101. package/dist/chunk-MA6QRENS.js +1 -0
  102. package/dist/chunk-MNTJZ6JO.js +15 -0
  103. package/dist/chunk-NQRSFMS7.js +273 -0
  104. package/dist/chunk-NV4SPMQS.js +1 -0
  105. package/dist/{chunk-7JIYJMRN.js → chunk-O2X6EVXQ.js} +1 -1
  106. package/dist/chunk-OBRMBYTG.js +1 -0
  107. package/dist/{chunk-OJSJWGP2.js → chunk-ODFOSJU3.js} +1 -1
  108. package/dist/{chunk-LKZQSER3.js → chunk-OJE7S6D4.js} +1 -1
  109. package/dist/{chunk-VXYABRFY.js → chunk-OTVZU5AQ.js} +1 -1
  110. package/dist/{chunk-27UEK3FU.js → chunk-OYFNB5RY.js} +1 -1
  111. package/dist/{chunk-SJGPJDGH.js → chunk-PCL4UWAE.js} +1 -1
  112. package/dist/{chunk-MTTBBZSR.js → chunk-PGBXHL2G.js} +1 -1
  113. package/dist/{chunk-KNVHXIEB.js → chunk-PJTRZSH4.js} +1 -1
  114. package/dist/{chunk-Y6UZW73M.js → chunk-PPC3RJDZ.js} +1 -1
  115. package/dist/{chunk-O4RHWBBM.js → chunk-PROWADZL.js} +1 -1
  116. package/dist/{chunk-PQG7XSQP.js → chunk-PSH4QKUX.js} +1 -1
  117. package/dist/chunk-PSUNX2YX.js +1 -0
  118. package/dist/{chunk-AIA7JVSJ.js → chunk-PSYQTFPK.js} +1 -1
  119. package/dist/{chunk-WMZS3Y4Z.js → chunk-PVZE65R7.js} +1 -1
  120. package/dist/{chunk-77AC3OJQ.js → chunk-QH7QOLZK.js} +1 -1
  121. package/dist/{chunk-XTXYS7LB.js → chunk-QMYCJ2TM.js} +1 -1
  122. package/dist/{chunk-O53YIDJL.js → chunk-QPT6DUMC.js} +1 -1
  123. package/dist/{chunk-IQT6LOA2.js → chunk-R4YJM7KY.js} +1 -1
  124. package/dist/{chunk-LBREJXT6.js → chunk-RAOMLN5A.js} +1 -1
  125. package/dist/{chunk-HU4GFVEN.js → chunk-RHJLAYNK.js} +1 -1
  126. package/dist/{chunk-SGIMJQEM.js → chunk-RNFZJQVV.js} +1 -1
  127. package/dist/{chunk-UAJBQEGE.js → chunk-RRQYOGEA.js} +1 -1
  128. package/dist/{chunk-DMFEYI4G.js → chunk-S5FGFQHD.js} +1 -1
  129. package/dist/chunk-SAKMJGXL.js +2 -0
  130. package/dist/{chunk-P5WLH64A.js → chunk-SEGZQCXZ.js} +1 -1
  131. package/dist/{chunk-EWS2RNM6.js → chunk-SIVRBIKH.js} +1 -1
  132. package/dist/chunk-T24RA3WI.js +1 -0
  133. package/dist/{chunk-JNVCCE6M.js → chunk-T74ECTO7.js} +1 -1
  134. package/dist/{chunk-SYF6LGQB.js → chunk-TBEG57SV.js} +1 -1
  135. package/dist/{chunk-DLSUDLXD.js → chunk-TCP4OG3D.js} +1 -1
  136. package/dist/{chunk-RY4MPX5A.js → chunk-TQNGFSCI.js} +1 -1
  137. package/dist/{chunk-HCQABTQL.js → chunk-TVQVZHNP.js} +1 -1
  138. package/dist/chunk-U42P3F7Y.js +1 -0
  139. package/dist/{chunk-ZDDLEFVO.js → chunk-U63A4OUA.js} +1 -1
  140. package/dist/{chunk-KT5MDCII.js → chunk-U7ELUEH2.js} +1 -1
  141. package/dist/{chunk-KDBKEVCF.js → chunk-UBJYXNCN.js} +1 -1
  142. package/dist/{chunk-53IU36CL.js → chunk-UBX3HUMH.js} +1 -1
  143. package/dist/{chunk-4WGJUVXS.js → chunk-UCJ3NHJH.js} +3 -3
  144. package/dist/{chunk-GJ4A4QKE.js → chunk-UMZG254H.js} +1 -1
  145. package/dist/{chunk-VPY47DBW.js → chunk-UPTF2HK6.js} +1 -1
  146. package/dist/{chunk-WEWLPJK2.js → chunk-UXL2A5UK.js} +1 -1
  147. package/dist/chunk-V6UCVTJT.js +7 -0
  148. package/dist/{chunk-4VJ6YK7U.js → chunk-VFQW2QL2.js} +1 -1
  149. package/dist/{chunk-EULSSTWY.js → chunk-VM6EBNGR.js} +1 -1
  150. package/dist/chunk-VPRDI4TT.js +5 -0
  151. package/dist/{chunk-6K3AJTNO.js → chunk-VRO6QBVN.js} +1 -1
  152. package/dist/{chunk-LKQ3EJ6Z.js → chunk-WIBPVYPN.js} +1 -1
  153. package/dist/{chunk-IX4IGE5H.js → chunk-WJEVB67Y.js} +1 -1
  154. package/dist/chunk-WLGEAJBU.js +1705 -0
  155. package/dist/chunk-WSJ5PUK6.js +3 -0
  156. package/dist/chunk-WT2KJHUO.js +2 -0
  157. package/dist/{chunk-MK7MOLLI.js → chunk-WVQZOLZJ.js} +1 -1
  158. package/dist/chunk-X3KYRBGE.js +560 -0
  159. package/dist/{chunk-Z66ZSXKB.js → chunk-X4JCATEE.js} +1 -1
  160. package/dist/{chunk-IA3XNJ56.js → chunk-XH66VYZA.js} +1 -1
  161. package/dist/{chunk-PS2UVFHP.js → chunk-XNKAPGJD.js} +1 -1
  162. package/dist/chunk-XNP7PMGC.js +6 -0
  163. package/dist/{chunk-CNMJ6QXM.js → chunk-XRVMKP53.js} +3 -3
  164. package/dist/{chunk-YXDIHVPY.js → chunk-XSUX2XAW.js} +1 -1
  165. package/dist/{chunk-PE4TV5IJ.js → chunk-XZUL2HVC.js} +1 -1
  166. package/dist/{chunk-AFT6ABDE.js → chunk-Y6DYQWQK.js} +1 -1
  167. package/dist/{chunk-GFWXVO72.js → chunk-YAA7OGRM.js} +114 -114
  168. package/dist/{chunk-ELSDVDT7.js → chunk-YMS6RVE5.js} +1 -1
  169. package/dist/{chunk-VRH3HWYA.js → chunk-YUNINHOR.js} +1 -1
  170. package/dist/{chunk-QT367CYF.js → chunk-YY2JHCIG.js} +1 -1
  171. package/dist/chunk-YZKBG7UZ.js +3 -0
  172. package/dist/chunk-ZJ6DWT36.js +3 -0
  173. package/dist/{chunk-S2WUVD7V.js → chunk-ZLMXR2XV.js} +1 -1
  174. package/dist/{chunk-K63FW7Q7.js → chunk-ZYEGQSF5.js} +1 -1
  175. package/dist/cli/commands/app/app-logs/sources.js +1 -1
  176. package/dist/cli/commands/app/build.js +1 -1
  177. package/dist/cli/commands/app/bulk/cancel.js +1 -1
  178. package/dist/cli/commands/app/bulk/execute.js +1 -1
  179. package/dist/cli/commands/app/bulk/status.js +1 -1
  180. package/dist/cli/commands/app/config/link.js +1 -1
  181. package/dist/cli/commands/app/config/pull.js +1 -1
  182. package/dist/cli/commands/app/config/use.js +1 -1
  183. package/dist/cli/commands/app/config/validate.js +1 -1
  184. package/dist/cli/commands/app/demo/watcher.js +1 -1
  185. package/dist/cli/commands/app/deploy.js +1 -1
  186. package/dist/cli/commands/app/dev/clean.js +1 -1
  187. package/dist/cli/commands/app/dev.js +1 -1
  188. package/dist/cli/commands/app/doctor/instructions.js +1 -0
  189. package/dist/cli/commands/app/doctor.js +1 -0
  190. package/dist/cli/commands/app/env/pull.js +1 -1
  191. package/dist/cli/commands/app/env/show.js +1 -1
  192. package/dist/cli/commands/app/execute.js +1 -1
  193. package/dist/cli/commands/app/function/build.js +1 -1
  194. package/dist/cli/commands/app/function/info.js +1 -1
  195. package/dist/cli/commands/app/function/replay.js +1 -1
  196. package/dist/cli/commands/app/function/run.js +1 -1
  197. package/dist/cli/commands/app/function/schema.js +1 -1
  198. package/dist/cli/commands/app/function/typegen.js +1 -1
  199. package/dist/cli/commands/app/generate/extension.js +1 -1
  200. package/dist/cli/commands/app/graphiql.js +1 -1
  201. package/dist/cli/commands/app/import-custom-data-definitions.js +1 -1
  202. package/dist/cli/commands/app/import-extensions.js +1 -1
  203. package/dist/cli/commands/app/info.js +1 -1
  204. package/dist/cli/commands/app/init.js +1 -1
  205. package/dist/cli/commands/app/logs.js +1 -1
  206. package/dist/cli/commands/app/release.js +1 -1
  207. package/dist/cli/commands/app/subscription-migrations/cancel.js +1 -0
  208. package/dist/cli/commands/app/subscription-migrations/list.js +1 -0
  209. package/dist/cli/commands/app/subscription-migrations/schedule.js +1 -0
  210. package/dist/cli/commands/app/subscription-migrations/status.js +1 -0
  211. package/dist/cli/commands/app/subscription-migrations/unschedule.js +1 -0
  212. package/dist/cli/commands/app/versions/list.js +1 -1
  213. package/dist/cli/commands/app/webhook/trigger.js +1 -1
  214. package/dist/cli/commands/auth/login.js +1 -1
  215. package/dist/cli/commands/auth/logout.js +1 -1
  216. package/dist/cli/commands/cache/clear.js +1 -1
  217. package/dist/cli/commands/config/autoupgrade/off.js +1 -1
  218. package/dist/cli/commands/config/autoupgrade/on.js +1 -1
  219. package/dist/cli/commands/config/autoupgrade/status.js +1 -1
  220. package/dist/cli/commands/debug/command-flags.js +1 -1
  221. package/dist/cli/commands/doc/fetch.js +1 -1
  222. package/dist/cli/commands/doc/search.js +1 -1
  223. package/dist/cli/commands/docs/generate.js +1 -1
  224. package/dist/cli/commands/doctor-release/doctor-release.js +1 -1
  225. package/dist/cli/commands/doctor-release/theme/index.js +1 -1
  226. package/dist/cli/commands/help.js +1 -1
  227. package/dist/cli/commands/kitchen-sink/async.js +1 -1
  228. package/dist/cli/commands/kitchen-sink/index.js +1 -1
  229. package/dist/cli/commands/kitchen-sink/prompts.js +1 -1
  230. package/dist/cli/commands/kitchen-sink/static.js +1 -1
  231. package/dist/cli/commands/notifications/generate.js +1 -1
  232. package/dist/cli/commands/notifications/list.js +1 -1
  233. package/dist/cli/commands/organization/list.js +1 -1
  234. package/dist/cli/commands/search.js +1 -1
  235. package/dist/cli/commands/send-analytics.js +1 -1
  236. package/dist/cli/commands/theme/check.js +1 -1
  237. package/dist/cli/commands/theme/console.js +1 -1
  238. package/dist/cli/commands/theme/delete.js +1 -1
  239. package/dist/cli/commands/theme/dev.js +1 -1
  240. package/dist/cli/commands/theme/duplicate.js +1 -1
  241. package/dist/cli/commands/theme/info.js +1 -1
  242. package/dist/cli/commands/theme/init.js +1 -1
  243. package/dist/cli/commands/theme/language-server.js +1 -1
  244. package/dist/cli/commands/theme/list.js +1 -1
  245. package/dist/cli/commands/theme/metafields/pull.js +1 -1
  246. package/dist/cli/commands/theme/open.js +1 -1
  247. package/dist/cli/commands/theme/package.js +1 -1
  248. package/dist/cli/commands/theme/preview.js +1 -1
  249. package/dist/cli/commands/theme/profile.js +1 -1
  250. package/dist/cli/commands/theme/publish.js +1 -1
  251. package/dist/cli/commands/theme/pull.js +1 -1
  252. package/dist/cli/commands/theme/push.js +1 -1
  253. package/dist/cli/commands/theme/rename.js +1 -1
  254. package/dist/cli/commands/theme/share.js +1 -1
  255. package/dist/cli/commands/upgrade.js +1 -1
  256. package/dist/cli/commands/version.js +1 -1
  257. package/dist/command-registry.js +1 -1
  258. package/dist/{conf-store-QQ4DOFI3.js → conf-store-K65PEQF6.js} +1 -1
  259. package/dist/configs/all.yml +60 -0
  260. package/dist/configs/recommended.yml +60 -0
  261. package/dist/data/filters.json +31 -2
  262. package/dist/data/setting.json +129 -4
  263. package/dist/data/shopify_system_translations.json +154 -13
  264. package/dist/{deprecations-43ZQ5RCE.js → deprecations-2SG4PB2W.js} +1 -1
  265. package/dist/dist-L4A3SGNF.js +1 -0
  266. package/dist/dist-XXCZFNRC.js +1 -0
  267. package/dist/environments-B4OWPMPR.js +1 -0
  268. package/dist/{error-26WTDNKZ.js → error-5YQYW3V2.js} +1 -1
  269. package/dist/error-handler-3PBXTHYY.js +1 -0
  270. package/dist/{fs-Y7I3Y5IR.js → fs-FM6YDE2U.js} +1 -1
  271. package/dist/hooks/did-you-mean.js +1 -1
  272. package/dist/hooks/hydrogen-init.js +1 -1
  273. package/dist/hooks/postrun.js +1 -1
  274. package/dist/hooks/prerun.js +1 -1
  275. package/dist/hooks/public-metadata.js +1 -1
  276. package/dist/hooks/sensitive-metadata.js +1 -1
  277. package/dist/hooks/tunnel-provider.js +1 -1
  278. package/dist/hooks/tunnel-start.js +1 -1
  279. package/dist/index.js +14 -16
  280. package/dist/{is-global-WBIBPIVZ.js → is-global-3FFDTC2G.js} +1 -1
  281. package/dist/{local-HF4T3FFE.js → local-W73VIWHZ.js} +1 -1
  282. package/dist/{metadata-CSQPNQP2.js → metadata-OGQEI47Y.js} +1 -1
  283. package/dist/{node-package-manager-CVEU22N7.js → node-package-manager-GSHLPD5X.js} +1 -1
  284. package/dist/notifications-system-HQNQUKLF.js +1 -0
  285. package/dist/os-6HP4QG7V.js +1 -0
  286. package/dist/{output-E6OGPGXL.js → output-MG7RJ37P.js} +1 -1
  287. package/dist/{prettier-RVUAAWC7.js → prettier-EGVCP5CY.js} +1 -1
  288. package/dist/{system-ZETSJRKS.js → system-3HTWCGQH.js} +1 -1
  289. package/dist/tsconfig.tsbuildinfo +1 -1
  290. package/dist/{ui-7TVGGEWJ.js → ui-T22J7MQF.js} +1 -1
  291. package/dist/upgrade-FZ35KTBW.js +1 -0
  292. package/dist/{version-DL4Y6DRX.js → version-KWF3XRSN.js} +1 -1
  293. package/dist/version-LJOGYA5H.js +1 -0
  294. package/dist/{workerd-EHI5ZCEV.js → workerd-RB5ZS43X.js} +1 -1
  295. package/oclif.manifest.json +903 -133
  296. package/package.json +9 -8
  297. package/dist/analytics-5SII3GTA.js +0 -1
  298. package/dist/analytics-F56E2NGH.js +0 -1
  299. package/dist/chunk-4I7TUB3K.js +0 -1
  300. package/dist/chunk-4NXLDIW5.js +0 -1
  301. package/dist/chunk-5QZHJCZM.js +0 -1
  302. package/dist/chunk-6AV6GX5W.js +0 -2
  303. package/dist/chunk-6SM4RY3I.js +0 -5
  304. package/dist/chunk-76NEIDP5.js +0 -1
  305. package/dist/chunk-BI7LE6CZ.js +0 -1
  306. package/dist/chunk-DEMZRLX5.js +0 -7
  307. package/dist/chunk-ESPT6CGE.js +0 -1
  308. package/dist/chunk-FAXNGDWI.js +0 -11
  309. package/dist/chunk-FQQXU5IN.js +0 -2
  310. package/dist/chunk-GXOFJIKQ.js +0 -559
  311. package/dist/chunk-M5Q74UZM.js +0 -3
  312. package/dist/chunk-OQWMCJLY.js +0 -3
  313. package/dist/chunk-SPE2D366.js +0 -16
  314. package/dist/chunk-TP4Z5OZT.js +0 -1382
  315. package/dist/chunk-VI5FF6SW.js +0 -1
  316. package/dist/dist-E7EGYE4D.js +0 -1
  317. package/dist/dist-WRUROUNV.js +0 -1
  318. package/dist/environments-RG64VB5R.js +0 -1
  319. package/dist/error-handler-XFH47Y75.js +0 -1
  320. package/dist/notifications-system-L3FMN6EX.js +0 -1
  321. package/dist/os-VLZLRAHR.js +0 -1
  322. package/dist/upgrade-F77O4ZDT.js +0 -1
  323. package/dist/version-3L3ANUTL.js +0 -1
  324. /package/dist/{chunk-NJPL5BTN.js → chunk-YLQ3LNNY.js} +0 -0
  325. /package/dist/{morph-77RHJICZ.js → morph-BMYYMQNX.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopify/cli",
3
- "version": "4.7.1",
3
+ "version": "4.8.1",
4
4
  "private": false,
5
5
  "description": "A CLI tool to build for the Shopify platform",
6
6
  "keywords": [
@@ -42,6 +42,7 @@
42
42
  ],
43
43
  "dependencies": {
44
44
  "@ast-grep/napi": "0.43.0",
45
+ "clipboardy": "4.0.0",
45
46
  "esbuild": "0.28.1",
46
47
  "global-agent": "3.0.0"
47
48
  },
@@ -49,13 +50,13 @@
49
50
  "@oclif/core": "4.8.3",
50
51
  "@oclif/plugin-commands": "4.1.60",
51
52
  "@oclif/plugin-plugins": "5.4.84",
52
- "@shopify/app": "4.7.1",
53
- "@shopify/store": "4.7.1",
54
- "@shopify/cli-kit": "4.7.1",
55
- "@shopify/plugin-cloudflare": "4.7.1",
56
- "@shopify/plugin-did-you-mean": "4.7.1",
57
- "@shopify/theme": "4.7.1",
58
- "@shopify/cli-hydrogen": "13.0.3",
53
+ "@shopify/app": "4.8.1",
54
+ "@shopify/store": "4.8.1",
55
+ "@shopify/cli-kit": "4.8.1",
56
+ "@shopify/plugin-cloudflare": "4.8.1",
57
+ "@shopify/plugin-did-you-mean": "4.8.1",
58
+ "@shopify/theme": "4.8.1",
59
+ "@shopify/cli-hydrogen": "13.0.4",
59
60
  "@types/global-agent": "3.0.0",
60
61
  "@vitest/coverage-istanbul": "^3.2.7",
61
62
  "esbuild-plugin-copy": "^2.1.1"
@@ -1 +0,0 @@
1
- import{ra as a,sa as b,ta as c}from"./chunk-PK73ZSND.js";import"./chunk-ZDF5N422.js";import"./chunk-GW4JHUIA.js";import"./chunk-AFT6ABDE.js";import"./chunk-WSCSFFLH.js";import"./chunk-7Y7AZRL3.js";import"./chunk-7UNQOKZW.js";import"./chunk-XTXYS7LB.js";import"./chunk-5HBIIYSK.js";import"./chunk-RJ5VF3QY.js";import"./chunk-GB3YC4TI.js";import"./chunk-76NEIDP5.js";import"./chunk-MPW2YJWU.js";import"./chunk-6K3AJTNO.js";import"./chunk-WMZS3Y4Z.js";import"./chunk-BI7LE6CZ.js";import"./chunk-T7KHS6RF.js";import"./chunk-CTNBSUVU.js";import"./chunk-636CTEW7.js";import"./chunk-TR4OWSEX.js";import"./chunk-2KD4LHRT.js";import"./chunk-I5A6BPCP.js";import"./chunk-CX5CC6P5.js";import"./chunk-ET2CGROE.js";import"./chunk-TOLPNBZK.js";import"./chunk-LBREJXT6.js";import"./chunk-HQUWYKSJ.js";import"./chunk-B4OMIONW.js";import"./chunk-BOAGJ6P5.js";import"./chunk-LD6ZCTZ3.js";import"./chunk-JJZNUFPD.js";import"./chunk-4VJ6YK7U.js";import"./chunk-DPNZWBT5.js";import"./chunk-JD5P5RAJ.js";import"./chunk-773TIA5M.js";import"./chunk-CRALWNNO.js";import"./chunk-VKWPEFWQ.js";export{b as getEnvironmentData,c as getSensitiveEnvironmentData,a as startAnalytics};
@@ -1 +0,0 @@
1
- import{Aa as g,ua as a,va as b,wa as c,xa as d,ya as e,za as f}from"./chunk-PK73ZSND.js";import"./chunk-ZDF5N422.js";import"./chunk-GW4JHUIA.js";import"./chunk-AFT6ABDE.js";import"./chunk-WSCSFFLH.js";import"./chunk-7Y7AZRL3.js";import"./chunk-7UNQOKZW.js";import"./chunk-XTXYS7LB.js";import"./chunk-5HBIIYSK.js";import"./chunk-RJ5VF3QY.js";import"./chunk-GB3YC4TI.js";import"./chunk-76NEIDP5.js";import"./chunk-MPW2YJWU.js";import"./chunk-6K3AJTNO.js";import"./chunk-WMZS3Y4Z.js";import"./chunk-BI7LE6CZ.js";import"./chunk-T7KHS6RF.js";import"./chunk-CTNBSUVU.js";import"./chunk-636CTEW7.js";import"./chunk-TR4OWSEX.js";import"./chunk-2KD4LHRT.js";import"./chunk-I5A6BPCP.js";import"./chunk-CX5CC6P5.js";import"./chunk-ET2CGROE.js";import"./chunk-TOLPNBZK.js";import"./chunk-LBREJXT6.js";import"./chunk-HQUWYKSJ.js";import"./chunk-B4OMIONW.js";import"./chunk-BOAGJ6P5.js";import"./chunk-LD6ZCTZ3.js";import"./chunk-JJZNUFPD.js";import"./chunk-4VJ6YK7U.js";import"./chunk-DPNZWBT5.js";import"./chunk-JD5P5RAJ.js";import"./chunk-773TIA5M.js";import"./chunk-CRALWNNO.js";import"./chunk-VKWPEFWQ.js";export{g as compileData,d as recordError,f as recordEvent,e as recordRetry,c as recordTiming,b as reportAnalyticsEvent,a as sendAnalyticsEventFromStdin};
@@ -1 +0,0 @@
1
- import{I as T,K as b}from"./chunk-GFWXVO72.js";import{X as F,ba as y}from"./chunk-SPE2D366.js";import{a as f}from"./chunk-HU4GFVEN.js";import{C as D,a as S}from"./chunk-PK73ZSND.js";import{H as _,T as m,y as g}from"./chunk-WSCSFFLH.js";import{f as v,h as c}from"./chunk-BI7LE6CZ.js";import{g as d}from"./chunk-VKWPEFWQ.js";d();d();async function l(e,o,n){let i=n.clientName===F.AppManagement,a=await T({onSearchForStoresByName:async r=>n.devStoresForOrg(o.id,r),...e,showDomainOnPrompt:i});if(!a){if(g({body:await n.getCreateDevStoreLink(o)}),await m(5),!await b(o))throw new v;let t=await O(o.id,n);a=await l({stores:t,hasMorePages:!1},o,n)}return p(a),a}async function O(e,o){let s=[];return await _([{title:"Fetching organization data",task:async()=>{for(let r=0;r<10;r++){let{stores:t}=await o.devStoresForOrg(e);if(t.length>0){s=t;return}await m(3)}}}]),s}function p(e){if(!e.transferDisabled)throw!e.transferDisabled&&!e.convertableToPartnerTest?new c(`The store you specified (${e.shopDomain}) is not a dev store`,"Run dev --reset and select an eligible dev store."):new c(`The store you specified (${e.shopDomain}) is not transfer-disabled`,"Run dev --reset and select a transfer-disabled dev store.")}async function W({appContextResult:e,storeFqdn:o,forceReselectStore:n,storeTypes:i=["APP_DEVELOPMENT"]}){let{app:s,organization:a,developerPlatformClient:r}=e,t,P=s.configuration.build?.dev_store_url,h=s.hiddenConfig.dev_store_url,u=P??h,w=o??(n?void 0:u),E=i.length===1&&i[0]==="APP_DEVELOPMENT";if(w)t=await y(a,w,r,i),E&&p(t);else{let M=await r.devStoresForOrg(a.id);t=await l(M,a,r)}return t.shopDomain=D(t.shopDomain),await A(t,n),(t.shopDomain!==u||!h)&&await s.updateHiddenConfig({dev_store_url:t.shopDomain}),await r.ensureUserAccessToStore(a.id,t),t}async function A(e,o){await f.addPublicMetadata(()=>({cmd_app_reset_used:o,store_fqdn_hash:S(e.shopDomain),store_domain:e.shopDomain})),await f.addSensitiveMetadata(()=>({store_fqdn:e.shopDomain}))}export{W as a};
@@ -1 +0,0 @@
1
- import{a as o}from"./chunk-2S3GOPRL.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var t=class extends o{};export{t as a};
@@ -1 +0,0 @@
1
- import{b as e}from"./chunk-3WV7DQMM.js";import{ua as r}from"./chunk-PK73ZSND.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var t=class extends e{static hidden=!0;async run(){await r()}};export{t as a};
@@ -1,2 +0,0 @@
1
- import{$ as j,S as X,_ as z,aa as v,ba as J,ca as A,da as W,ea as k,fa as q,ga as N,ha as B,ia as L,ja as K,ka as R,la as Q}from"./chunk-GFWXVO72.js";import{f as T,i as G,p as l}from"./chunk-SPE2D366.js";import{c as H}from"./chunk-IENBHP2S.js";import{D as x,z as U}from"./chunk-WSCSFFLH.js";import{h as C,j as P}from"./chunk-BI7LE6CZ.js";import{Ta as V,X as c,_ as b,qa as F,sb as $,wa as I,ya as D}from"./chunk-HQUWYKSJ.js";import{d as E,j as M}from"./chunk-773TIA5M.js";import{g as s}from"./chunk-VKWPEFWQ.js";s();s();function Y(e){switch(e){case d.Offsite:return v;case d.CreditCard:return L;case d.CustomCreditCard:return N;case d.CustomOnsite:return k;case d.Redeemable:return A;case d.CardPresent:return R}}var d;(function(e){e.Offsite="payments_app",e.CreditCard="payments_app_credit_card",e.CustomCreditCard="payments_app_custom_credit_card",e.CustomOnsite="payments_app_custom_onsite",e.Redeemable="payments_app_redeemable",e.CardPresent="payments_app_card_present"})(d||(d={}));function Z(e,t){let i=e.activeVersion?.context??e.draftVersion?.context??Y(e.type);switch(i){case v:return w(e,t,J);case L:return w(e,t,K);case N:return w(e,t,B);case k:return w(e,t,q);case A:return w(e,t,W);case R:return w(e,t,Q);default:throw new Error(`Unsupported extension: ${i}`)}}function w(e,t,i){let n=(e.activeVersion??e.draftVersion)?.config;if(!n)throw new Error("No config found for extension");let r=JSON.parse(n),p=i(r,t);p&&delete p.api_version;let a=e.activeVersion?.context??e.draftVersion?.context??Y(e.type);return{api_version:r.api_version,extensions:[{name:e.title,type:"payments_extension",handle:c(e.title.substring(0,l)),...p,targeting:[{target:`${a}`}]}]}}s();s();var pe=new Map(j.map(e=>[e[1],e[0]])),fe=(e,t)=>{let i=pe.get(e.uiType);if(!i)throw new C(`Field type ${e.uiType} is not supported`);let o={key:e.name,description:e.description??void 0,type:i};return t==="flow_action_definition"&&(o.name=e.label,o.required=e.required),o},ue=(e,t)=>{let n={type:t==="flow_action_definition"?`${e.name.replace("_id","")}_reference`:`${e.uiType}_reference`};return t==="flow_action_definition"&&(n.required=e.required),e.uiType==="marketing-activity-id"&&(n.marketingActivityCreateUrl=e.marketingActivityCreateUrl,n.marketingActivityDeleteUrl=e.marketingActivityDeleteUrl),n},ee=(e,t)=>t?t.map(o=>o.uiType==="commerce-object-id"||o.uiType==="marketing-activity-id"||z.includes(o.uiType)?ue(o,e):fe(o,e)):[];function te(e){let t=e.activeVersion?.config??e.draftVersion?.config;if(!t)throw new Error("No config found for extension");let i=e.type==="flow_action_definition"?"https://url.com/api/execute":void 0,o;if(e.type==="flow_trigger_discovery_webhook"){let n=JSON.parse(t);o={extensions:[{type:"flow_trigger_lifecycle_callback",name:e.title,handle:c(e.title.substring(0,l)),url:n.url}]}}else{let n=JSON.parse(t),r=ee(e.type,n.fields??[]);o={extensions:[{type:e.type.replace("_definition",""),name:n.title,handle:c(e.title.substring(0,l)),description:n.description,runtime_url:n.url??i,config_page_url:n.custom_configuration_page_url,config_page_preview_url:n.custom_configuration_page_preview_url,validation_url:n.validation_url}],settings:(r?.length??0)>0?{fields:r}:void 0}}return o}s();s();var ie=e=>{let t=e.split("#");if(t.length!==2||t.some(p=>p===""||p===void 0))throw new Error("Invalid context");let i="admin",o=de(t[0]??""),n=me(t[1]??""),r="link";return n==="selection"?[i,`${o}-index`,`${n}-action`,r].join("."):[i,`${o}-${n}`,"action",r].join(".")},me=e=>{switch(e.toLocaleLowerCase()){case"show":return"details";case"index":return"index";case"action":return"selection";case"fulfilled_card":return"fulfilled-card";default:throw new Error(`Invalid context location: ${e}`)}},de=e=>e.toLocaleLowerCase()==="variants"?"product-variant":b(e.toLocaleLowerCase().replace(new RegExp("(s)$"),""));function ne(e,t,i){let o=e.activeVersion?.config??e.draftVersion?.config;if(!o)throw new Error("No config found for extension");let n=e.activeVersion?.context??e.draftVersion?.context;if(!n)throw new Error("No context found for link extension");let r=JSON.parse(o);if(i.embedded)try{let a=new URL(r.url),_=a.pathname.startsWith("/")?a.pathname.substring(1):a.pathname,u=new URL(`app://${_}`);u.search=a.search,u.hash=a.hash,r.url=u.toString()}catch{}return{extensions:[{type:"admin_link",name:r.text,handle:c(e.title.substring(0,l)),targeting:[{url:r.url,target:ie(n)}]}]}}s();var ge={facebook:"social",instagram:"social",google:"search",pinterest:"social",bing:"search",email:"email",snapchat:"social",sms:"sms",verizon_media:"display",ebay:"marketplace",tiktok:"social",flow:"email"},_e={facebook:"facebook.com",instagram:"instagram.com",google:"google.com",pinterest:"pinterest.com",bing:"bing.com",snapchat:"snapchat.com",verizon_media:null,email:null,sms:null,ebay:"ebay.com",tiktok:"tiktok.com",flow:null};function ye(e){let t=new URL(e);return t.pathname+t.search+t.hash}function oe(e){let t=e.activeVersion?.config??e.draftVersion?.config;if(!t)throw new Error("No config found for extension");let i=JSON.parse(t);return{extensions:[{type:"marketing_activity",name:e.title,handle:c(e.title.substring(0,l)),title:i.title,description:i.description,api_path:ye(i.app_api_url),tactic:i.tactic,marketing_channel:ge[i.platform]??"",referring_domain:_e[i.platform]??"",is_automation:i.is_automation,use_external_editor:i.use_external_editor,preview_data:i.preview_data,fields:i.fields.map(({id:n,...r})=>r)}]}}s();function re(e){let t=e.activeVersion?.config??e.draftVersion?.config;if(!t)throw new Error("No config found for extension");let i=JSON.parse(t);return{extensions:[{type:"subscription_link_extension",name:e.title,handle:c(e.title.substring(0,l)),pattern:i.pattern}]}}var O=[{label:"Payments Extensions",value:"payments",extensionTypes:["payments_app","payments_app_credit_card","payments_app_custom_credit_card","payments_app_custom_onsite","payments_app_redeemable","payments_extension"],buildExtensionConfig:Z},{label:"Flow Extensions",value:"flow",extensionTypes:["flow_action_definition","flow_trigger_definition","flow_trigger_discovery_webhook"],buildExtensionConfig:te},{label:"Marketing Activity Extensions",value:"marketing activity",extensionTypes:["marketing_activity_extension"],buildExtensionConfig:oe},{label:"Subscription Link Extensions",value:"subscription link",extensionTypes:["subscription_link","subscription_link_extension"],buildExtensionConfig:re},{label:"Admin Link extensions",value:"link extension",extensionTypes:["app_link","bulk_action"],buildExtensionConfig:ne}];function se(e){return O.filter(t=>t.extensionTypes.some(i=>e.some(o=>o.type.toLowerCase()===i.toLowerCase())))}async function ft(e){if(e.length===1&&e[0])return e[0];let t=e.map(n=>({label:n.label,value:n.value})),i=await x({message:"Extension type to migrate",choices:t}),o=e.find(n=>n.value===i);if(o===void 0)throw new C("Invalid migration choice");return o}s();var vt=O.flatMap(e=>e.extensionTypes),g;(function(e){e.Write="write",e.Skip="skip",e.Cancel="cancel"})(g||(g={}));async function Ee({name:e,app:t}){let i=b(e),o=E(t.directory,G.extensions.directoryName,i);if(await V(o)){let n=[{label:"Overwrite local TOML with remote configuration",value:g.Write},{label:"Keep local TOML",value:g.Skip},{label:"Cancel",value:g.Cancel}],r=await x({message:`Directory "${i}" already exists. What would you like to do?`,choices:n});if(r===g.Cancel)throw new P;return{directory:o,action:r}}return await I(o),await F(E(o,T.lockFile)),{directory:o,action:g.Write}}async function Ce(e){let{app:t,remoteApp:i,extensionTypes:o,extensions:n,buildExtensionConfig:r,all:p}=e,a=n.filter(f=>o.includes(f.type.toLowerCase()));if(a=we(t,a),a.length===0)throw new C("No extensions to migrate");if(!p){let f=a.map(y=>({label:y.title,value:y.uuid}));a.length>1&&f.push({label:"All",value:"All"});let m=await x({message:"Extensions to migrate",choices:f});m!=="All"&&(a=[a.find(y=>y?.uuid===m)])}let _={},u=a.map(async f=>{let{directory:m,action:y}=await Ee({app:t,name:f.title}),ae=c(f.title.substring(0,l));if(_[ae]=f.uuid,y===g.Write){let S=r(f,n,t.configuration),ce=E(m,"shopify.extension.toml");await new H(ce,S).replace(S);let le=E(m,T.lockFile);await D(le)}return{extension:f,directory:E("extensions",M(m))}}),h=await Promise.all(u);xe(h),await X({app:t,appApiKey:i.apiKey,extensionUuids:_,command:"import-extensions"})}function we(e,t){let i=e.dotenv?.variables??{},o=e.allExtensions.map(n=>i[n.idEnvironmentVariableName]);return t.filter(n=>!o.includes(n.uuid))}async function At(e){let t=se(e.extensions);await Promise.all(t.map(async i=>Ce({...e,extensionTypes:i.extensionTypes,buildExtensionConfig:i.buildExtensionConfig,all:!0})))}function xe(e){U({headline:["Imported the following extensions from the dashboard:"],body:e.map(t=>$`• "${t.extension.title}" at: ${t.directory}`.value).join(`
2
- `)})}s();async function Lt({developerPlatformClient:e,apiKey:t,organizationId:i,extensionTypes:o,onlyDashboardManaged:n=!1}){let r=await e.appExtensionRegistrations({id:t,apiKey:t,organizationId:i}),{dashboardManagedExtensionRegistrations:p,extensionRegistrations:a}=r.app;return(n?p:a.concat(p)).filter(u=>{let h=o.includes(u.type.toLowerCase()),f=u.activeVersion&&u.activeVersion.config,m=u.draftVersion&&u.draftVersion.config;return h&&(f??m)})}export{se as a,ft as b,vt as c,Ce as d,we as e,At as f,Lt as g};
@@ -1,5 +0,0 @@
1
- import{Z as a,i}from"./chunk-GFWXVO72.js";import{qb as e,sb as r}from"./chunk-HQUWYKSJ.js";import{g as u}from"./chunk-VKWPEFWQ.js";u();async function f(n,t,o){return c(n,t,o,"text")}async function c(n,t,o,S){return await a(t,o.source),S==="json"?r`${e.json({SHOPIFY_API_KEY:t.apiKey,SHOPIFY_API_SECRET:t.apiSecretKeys[0]?.secret,SCOPES:i(n.configuration)})}`:r`
2
- ${e.green("SHOPIFY_API_KEY")}=${t.apiKey}
3
- ${e.green("SHOPIFY_API_SECRET")}=${t.apiSecretKeys[0]?.secret??""}
4
- ${e.green("SCOPES")}=${i(n.configuration)}
5
- `}export{f as a,c as b};
@@ -1 +0,0 @@
1
- import{g as I}from"./chunk-VKWPEFWQ.js";I();var o="4.7.1";export{o as a};
@@ -1 +0,0 @@
1
- import{a as P}from"./chunk-CTNBSUVU.js";import{Db as f,eb as g,pb as E}from"./chunk-HQUWYKSJ.js";import{e as m}from"./chunk-773TIA5M.js";import{e as A,g as p}from"./chunk-VKWPEFWQ.js";p();p();var w=new Set(["THROTTLED","429"]),I=new Set(["ACCESS_DENIED","access_denied"]);function b(e){return Array.isArray(e)?e.flatMap(t=>{let s=[],n=t,r=n?.extensions?.code;typeof r=="string"&&s.push(r);let c=n?.extensions?.app_errors?.errors;if(Array.isArray(c))for(let u of c){let d=u?.category;typeof d=="string"&&s.push(d)}return s}):[]}function C(e){return e!==void 0&&w.has(e)}function v(e){return e!==void 0&&I.has(e)}function h(e){return b(e).some(C)}var M=A(P()),o;(function(e){e[e.Abort=0]="Abort",e[e.AbortSilent=1]="AbortSilent",e[e.Bug=2]="Bug"})(o||(o={}));var x=class extends Error{},i=class extends Error{tryMessage;type;nextSteps;formattedMessage;customSections;skipOclifErrorHandling;constructor(t,s,n=null,r,c){let u=typeof t=="string"||"value"in t;super(u?f(t):g(t)),n?n instanceof E?this.tryMessage=f(n):this.tryMessage=n:this.tryMessage=null,this.type=s,this.nextSteps=r,this.customSections=c,this.skipOclifErrorHandling=!0,u||(this.formattedMessage=t)}},l=class extends i{constructor(t,s=null,n,r){super(t,o.Abort,s,n,r)}},y=class extends i{command;args;constructor(t,s,n,r=null){super(t,o.Abort,r),this.command=s,this.args=n}},S=class extends i{constructor(){super("",o.AbortSilent)}},a=class extends i{constructor(t,s=null){super(t,o.Bug,s)}};async function B(e){let t;if(k(e))t=e;else if(typeof e=="string")t=new a(e);else if(e instanceof Error)t=new a(e.message),t.stack=e.stack;else{let n=e;t=new a(n?.message??"Unknown error"),n?.stack&&(t.stack=n?.stack)}let{renderFatalError:s}=await import("./ui-7TVGGEWJ.js");return s(t),Promise.resolve(e)}function H(e){if(e instanceof M.Errors.CLIError){let t=new l(e.message);return t.stack=e.stack,Promise.resolve(t)}else return Promise.resolve(e)}function k(e){try{return Object.prototype.hasOwnProperty.call(e,"type")}catch{return!1}}function j(e){if(!k(e)){if(e instanceof Error){if(O(e))return!1;let t=e.message;return!R(t)}return!0}return e.type===o.Bug}function O(e){let t=e;if(typeof t.response!="object"||t.response===null||t.request===void 0)return!1;let s=t.response.status;return s===401||s===429?!0:h(t.response.errors)}function q(e){return m(e).replace("file:/","/").replace(/^\/?[A-Z]:/,"")}function R(e){return["EPERM: operation not permitted, scandir","EPERM: operation not permitted, rename","EACCES: permission denied","EPERM: operation not permitted, symlink","This version of npm supports the following node versions","EBUSY: resource busy or locked","ENOTEMPTY: directory not empty","getaddrinfo ENOTFOUND","Client network socket disconnected before secure TLS connection was established","spawn EPERM","socket hang up","The user aborted a request.","write EPIPE","Unsupported platform"].some(n=>e.includes(n))}export{b as a,C as b,v as c,h as d,o as e,x as f,i as g,l as h,y as i,S as j,a as k,B as l,H as m,j as n,q as o};
@@ -1,7 +0,0 @@
1
- import{p,v as d}from"./chunk-3KM2GKXH.js";import{a as u}from"./chunk-IA3XNJ56.js";import{aa as w}from"./chunk-TP4Z5OZT.js";import{b as l}from"./chunk-IX4IGE5H.js";import{z as f}from"./chunk-WSCSFFLH.js";import{h as i}from"./chunk-BI7LE6CZ.js";import{Ta as c,ma as h}from"./chunk-HQUWYKSJ.js";import{f as r,n as m}from"./chunk-773TIA5M.js";import{e as _,g as o}from"./chunk-VKWPEFWQ.js";o();o();var g=_(w(),1),P=["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
-
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
-
5
- The package includes the \`listings\` directory if present (required for multi-preset themes per [Theme Store requirements](https://shopify.dev/docs/storefronts/themes/store/requirements#adding-presets-to-your-theme-zip-submission)).
6
-
7
- The ZIP file uses the name \`theme_name-theme_version.zip\`, based on parameters in your [settings_schema.json](https://shopify.dev/docs/storefronts/themes/architecture/config/settings-schema-json) file.`;static description=this.descriptionWithoutMarkdown();static flags={...l,path:p.path};static multiEnvironmentsFlags=null;async command(t){await y(t.path)}};export{a};
@@ -1 +0,0 @@
1
- import{a as o}from"./chunk-2S3GOPRL.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var t=class extends o{};export{t as a};
@@ -1,11 +0,0 @@
1
- import{b as j}from"./chunk-6SM4RY3I.js";import{a as O}from"./chunk-ESPT6CGE.js";import{a as T}from"./chunk-RA3WWB2S.js";import{i as k,sa as N}from"./chunk-GFWXVO72.js";import{f as u}from"./chunk-SPE2D366.js";import{b as P,c as I}from"./chunk-IX4IGE5H.js";import{L as S,M as b}from"./chunk-PK73ZSND.js";import{y as E}from"./chunk-WSCSFFLH.js";import{d as v}from"./chunk-XTXYS7LB.js";import{a as m}from"./chunk-76NEIDP5.js";import{a as W}from"./chunk-CTNBSUVU.js";import{Hb as _,L as g,N as y,rb as C,sb as w,wb as A}from"./chunk-HQUWYKSJ.js";import{g as a,j as h}from"./chunk-773TIA5M.js";import{e as U,g as c}from"./chunk-VKWPEFWQ.js";c();c();async function x(n,e,t,o,i){return i.webEnv?F(n,e,t,i):R(n,e,o,i)}async function F(n,e,t,{format:o}){return j(n,e,t,o)}async function R(n,e,t,o){if(o.format==="json"){let i=$(n.allExtensions.filter(s=>s.isReturnedAsInfo())),r={...n,packageManager:t.packageManager,nodeDependencies:t.nodeDependencies,usesWorkspaces:t.usesWorkspaces,allExtensions:i};return"realExtensions"in r&&(r.realExtensions=$(r.realExtensions)),"specifications"in r&&(r={...r,specifications:r.specifications?.map(s=>D(s))}),w`${JSON.stringify(Object.fromEntries(Object.entries(r).filter(([s])=>s!=="configSchema")),null,2)}`}else return new l(n,e,t,o).output()}function D(n){if("schema"in n){let{schema:e,...t}=n;return t}return n}function $(n){return n.map(e=>{if("specification"in e&&e.specification){let t=e.specification,o=D(t);return{...e,specification:o}}else return e})}var M="unknown",f={subdued:"Not yet configured"},K="NOT LOADED",l=class{app;remoteApp;project;options;constructor(e,t,o,i){this.app=e,this.remoteApp=t,this.project=o,this.options=i}async output(){return[...await this.devConfigsSection(),this.projectSettingsSection(),...await this.appComponentsSection(),await this.systemInfoSection()]}async devConfigsSection(){let e=f;this.app.configuration.build?.automatically_update_urls_on_dev!==void 0&&(e=this.app.configuration.build.automatically_update_urls_on_dev?"Yes":"No");let t=["User","unknown"],o=await this.options.developerPlatformClient.accountInfo();return b(o)?t=["Service account",o.orgName]:S(o)&&(t[1]=o.email),[this.tableSection("Current app configuration",[["Configuration file",{filePath:h(this.app.configPath)||u.app}],["App name",this.remoteApp.title?{userInput:this.remoteApp.title}:f],["Client ID",this.remoteApp.apiKey||f],["Access scopes",k(this.app.configuration)],["Dev store",this.app.configuration.build?.dev_store_url??this.app.hiddenConfig.dev_store_url??f],["Update URLs",e],t],{isFirstItem:!0}),{body:["\u{1F4A1} To change these, run",{command:C(this.project.packageManager,"shopify app config link")}]}]}projectSettingsSection(){return this.tableSection("Your Project",[["Root location",{filePath:this.app.directory}]])}async appComponentsSection(){let e=this.webComponentsSection();return[{title:`
2
- Directory components`.toUpperCase(),body:""},...e?[e]:[],...this.extensionsSections()]}webComponentsSection(){let e=[],t=[];if(this.app.webs[0])return this.app.webs.forEach(o=>{if(o.configuration)if(o.configuration.name){let{name:i,roles:r}=o.configuration,s=a(this.app.directory,o.directory);t.push([` \u{1F4C2} ${i}`,{filePath:s||"/"}]),r.length>0&&t.push([" roles",r.join(", ")])}else o.configuration.roles.forEach(i=>{t.push([` \u{1F4C2} ${i}`,{filePath:a(this.app.directory,o.directory)}])});else t.push([{subdued:` \u{1F4C2} ${M}`},{filePath:a(this.app.directory,o.directory)}]);if(!this.app.errors.isEmpty()){let i=this.app.errors.getErrors(`${o.directory}/${u.web}`);e.push(...i.map(r=>r.message))}}),this.subtableSection("web",[["\u{1F4C2} web",""],...t,...e.map(o=>[{error:"error"},{error:this.formattedError(o)}])])}extensionsSections(){let e=this.app.allExtensions.filter(i=>i.isReturnedAsInfo()),o=y(e.map(i=>i.type)).map(i=>{let r=e.filter(s=>s.type===i);if(r[0])return this.subtableSection(r[0].externalType,r.flatMap(s=>this.extensionSubSection(s)))});return g(o)}extensionSubSection(e){let t=e.configuration,o=[[`\u{1F4C2} ${e.handle||K}`,{filePath:a(this.app.directory,e.directory)}],[" config file",{filePath:a(e.directory,e.configurationPath)}]];t&&"metafields"in t&&Array.isArray(t.metafields)&&t.metafields.length>0&&o.push([" metafields",`${t.metafields.length}`]);let i=this.app.errors.getErrors(e.configurationPath);for(let r of i)o.push([{error:" error"},{error:this.formattedError(r.message)}]);return o}formattedError(e){let t=e.trim();if(_())return t;let[o,...i]=t.split(`
3
- `);return[`! ${o}`,...i.map(r=>` ${r}`)].join(`
4
- `)}async systemInfoSection(){let{platform:e,arch:t}=v();return this.tableSection("Tooling and System",[["Shopify CLI",m],["Package manager",this.project.packageManager],["OS",`${e}-${t}`],["Shell",process.env.SHELL??"unknown"],["Node version",process.version]])}tableSection(e,t,{isFirstItem:o=!1}={}){return{title:`${o?"":`
5
- `}${e.toUpperCase()}
6
- `,body:{tabularData:t,firstColumnSubdued:!0}}}subtableSection(e,t){return{title:e,body:{tabularData:t,firstColumnSubdued:!0}}}};var L=U(W(),1);var d=class n extends O{static summary="Print basic information about your app and extensions.";static descriptionWithMarkdown=`The information returned includes the following:
7
-
8
- - The app and dev store that's used when you run the [dev](https://shopify.dev/docs/api/shopify-cli/app/app-dev) command. You can reset these configurations using [\`dev --reset\`](https://shopify.dev/docs/api/shopify-cli/app/app-dev#flags-propertydetail-reset).
9
- - The [structure](https://shopify.dev/docs/apps/tools/cli/structure) of your app project.
10
- - The [access scopes](https://shopify.dev/docs/api/usage) your app has requested.
11
- - System information, including the package manager and version of Shopify CLI used in the project.`;static description=this.descriptionWithoutMarkdown();static flags={...P,...T,...I,"web-env":L.Flags.boolean({hidden:!1,description:"Outputs environment variables necessary for running and deploying web/.",env:"SHOPIFY_FLAG_OUTPUT_WEB_ENV",default:!1})};async run(){let{flags:e}=await this.parse(n),{app:t,project:o,remoteApp:i,organization:r,developerPlatformClient:s}=await N({directory:e.path,clientId:e["client-id"],forceRelink:e.reset,userProvidedConfigName:e.config,unsafeTolerateErrors:!0}),p=await x(t,i,r,o,{format:e.json?"json":"text",webEnv:e["web-env"],configName:e.config,developerPlatformClient:s});return typeof p=="string"||"value"in p?A(p):E({customSections:p}),t.errors.isEmpty()||process.exit(2),{app:t}}};export{d as a};
@@ -1,2 +0,0 @@
1
- import{A as x,a as oe,b as ne,c as M,d as ie,e as ae,g as L,i as P,j as le,k as ce,m as ue,n as pe,o as me,r as fe,s as de,t as ge,u as Ee,v,w as he,x as ye,y as Te,z as S}from"./chunk-YXDIHVPY.js";import{a as se}from"./chunk-4I7TUB3K.js";import{a as re}from"./chunk-ESPT6CGE.js";import{a as K}from"./chunk-RA3WWB2S.js";import{B as W,R as Z,T as ee,l as z,sa as te}from"./chunk-GFWXVO72.js";import{ba as X}from"./chunk-SPE2D366.js";import{b as Q,c as Y}from"./chunk-IX4IGE5H.js";import{C as $}from"./chunk-PK73ZSND.js";import{d as _,e as f,f as o,l as G,y as H}from"./chunk-WSCSFFLH.js";import{h as N}from"./chunk-BI7LE6CZ.js";import{a as Ne}from"./chunk-CTNBSUVU.js";import{ca as V,wb as F,xb as I}from"./chunk-HQUWYKSJ.js";import{j}from"./chunk-773TIA5M.js";import{e as k,g as E}from"./chunk-VKWPEFWQ.js";E();E();E();E();E();E();var C=k(_(),1);function we(t){let s=(0,C.useRef)(t);(0,C.useEffect)(()=>{s.current=t},[t]),(0,C.useEffect)(()=>{let n;function i(){s.current().then(({retryIntervalMs:a})=>{a&&(n=setTimeout(i,a))}).catch(()=>{})}return n=setTimeout(i,0),()=>n&&clearTimeout(n)},[])}E();var U=async({pollOptions:{jwtToken:t,cursor:s,filters:n},developerPlatformClient:i,organizationId:l})=>{let a=await i.appLogs({jwtToken:t,cursor:s},l),{errors:p,status:u}=a;if(u!==200){if(u===401||u===429||u>=500)return{errors:p.map(T=>({status:u,message:T}))};throw new N(`${p.join(", ")} while fetching app logs`)}let{cursor:r,app_logs:c}=a,d=Ce(c,n);return{cursor:r,appLogs:d}};function Ce(t,s){let n=t;return(s.status!==void 0||s.sources!==void 0)&&(n=n.filter(i=>{let l=s.status===void 0?!0:i.status===s.status,a=s.sources===void 0?!0:s.sources.includes(`${i.source_namespace}.${i.source}`);return l&&a})),n}var b=k(_(),1);async function _e({jwtToken:t,cursor:s,filters:n,storeNameById:i,organizationId:l,setErrors:a,setAppLogOutputs:p,resubscribeCallback:u,developerPlatformClient:r}){let c=t,d=L,T=s,R=await U({pollOptions:{jwtToken:t,cursor:s,filters:n},developerPlatformClient:r,organizationId:l}),m="not_attempted",w=R;if(w.errors){let h=await v({response:w,onThrottle:g=>{a(["Request throttled while polling app logs.",`Retrying in ${g/1e3}s`])},onUnknownError:g=>{a(["Error while polling app logs",`Retrying in ${g/1e3}s`])},onResubscribe:()=>u()});m=h.resubscribeResult,h.nextJwtToken&&(c=h.nextJwtToken),d=h.retryIntervalMs}else{a(g=>g.length?[]:g);let{appLogs:h}=R;if(T=R.cursor,h)for(let g of h){let y,A,O,J=i.get(g.shop_id.toString());if(J===void 0)continue;switch(g.log_type){case ce:y=fe(g.payload),A=`export "${y.export}" executed in ${(y.fuelConsumed/le).toFixed(4)}M instructions`;break;case ue:y=de(g.payload),A="network access response retrieved from cache";break;case pe:y=ge(g.payload),A="network access request executing in background";break;case me:y=Ee(g.payload),O=y.connectTimeMs&&y.writeReadTimeMs?y.connectTimeMs+y.writeReadTimeMs:null,A=`network access request executed${O?` in ${O} ms`:""}`;break;default:continue}let Ae={status:g.status==="success"?"Success":"Failure",source:g.source,storeName:J,description:A,logTimestamp:V(g.log_timestamp)};y&&p(ke=>[...ke,{appLog:y,prefix:Ae}])}}return{nextJwtToken:c,retryIntervalMs:d,cursor:T??s,resubscribeResult:m}}function be({initialJwt:t,filters:s,resubscribeCallback:n,storeNameById:i,developerPlatformClient:l,organizationId:a}){let[p,u]=(0,b.useState)([]),[r,c]=(0,b.useState)([]),d=(0,b.useRef)(t),T=(0,b.useRef)(0),R=(0,b.useRef)(""),m=(0,b.useRef)(0),w=(0,b.useCallback)(async()=>{let h=await _e({jwtToken:d.current,cursor:R.current,filters:s,storeNameById:i,setErrors:u,setAppLogOutputs:c,resubscribeCallback:n,developerPlatformClient:l,organizationId:a});if(h.resubscribeResult==="failed"){if(m.current+=1,m.current>=P)return u(["App log streaming session has expired. Please restart your dev session."]),{retryIntervalMs:0}}else h.resubscribeResult==="succeeded"&&(m.current=0);return d.current=h.nextJwtToken,R.current=h.cursor,T.current=h.retryIntervalMs,{retryIntervalMs:T.current}},[]);return we(w),{appLogOutputs:r,errors:p}}var e=k(_(),1);var Fe=t=>{switch(t){case M.NoCachedResponse:return"No cached response available";case M.CacheAboutToExpire:return"Cache is about to expire";case M.Unknown:return"Unknown reason"}},Re=({pollOptions:{jwtToken:t,filters:s},resubscribeCallback:n,storeNameById:i,developerPlatformClient:l,organizationId:a})=>{let{appLogOutputs:p,errors:u}=be({filters:s,initialJwt:t,resubscribeCallback:n,storeNameById:i,developerPlatformClient:l,organizationId:a});return e.default.createElement(e.default.Fragment,null,p.map(({appLog:r,prefix:c},d)=>e.default.createElement(f,{flexDirection:"column",key:d},e.default.createElement(f,{flexDirection:"row",gap:1},e.default.createElement(o,null,e.default.createElement(o,{color:"green"},c.logTimestamp," "),e.default.createElement(o,{color:"blueBright"},`${c.storeName.split(".")[0]}`," "),e.default.createElement(o,{color:"blueBright"},c.source," "),e.default.createElement(o,{color:c.status==="Success"?"green":"red"},c.status," "),e.default.createElement(o,null,c.description))),e.default.createElement(f,{flexDirection:"column",marginLeft:4},r instanceof oe&&e.default.createElement(f,{flexDirection:"column"},e.default.createElement(o,null,r.logs),r.inputQueryVariablesMetafieldKey&&r.inputQueryVariablesMetafieldNamespace?e.default.createElement(f,{flexDirection:"column",marginTop:1},e.default.createElement(o,{bold:!0},"Input Query Variables:"),e.default.createElement(f,{flexDirection:"row",marginLeft:1,marginTop:1},e.default.createElement(o,{dimColor:!0},"Namespace:"),e.default.createElement(o,null," ",r.inputQueryVariablesMetafieldNamespace)),e.default.createElement(f,{flexDirection:"row",marginLeft:1},e.default.createElement(o,{dimColor:!0},"Key:"),e.default.createElement(o,null," ",r.inputQueryVariablesMetafieldKey)),e.default.createElement(f,{marginLeft:1,marginTop:1},e.default.createElement(o,null,x(r.inputQueryVariablesMetafieldValue)??e.default.createElement(o,{color:"red"},"Metafield is not set")))):null,r.input?e.default.createElement(f,{flexDirection:"column",marginTop:1},e.default.createElement(o,{bold:!0},"Input ",e.default.createElement(o,{dimColor:!0},"(",r.inputBytes," bytes):")),e.default.createElement(f,{marginLeft:1,marginTop:1},e.default.createElement(o,null,x(r.input)))):null,r.output?e.default.createElement(f,{flexDirection:"column",marginTop:1},e.default.createElement(o,{bold:!0},"Output ",e.default.createElement(o,{dimColor:!0},"(",r.outputBytes," bytes):")),e.default.createElement(f,{marginLeft:1,marginTop:1},e.default.createElement(o,null,x(r.output)))):null),r instanceof ne&&e.default.createElement(f,{flexDirection:"column"},e.default.createElement(o,null,"Cache write time: ",new Date(r.cacheEntryEpochMs).toISOString()),e.default.createElement(o,null,"Cache TTL: ",r.cacheTtlMs/1e3," s"),e.default.createElement(o,null,"HTTP request:"),e.default.createElement(o,null,x(r.httpRequest)),e.default.createElement(o,null,"HTTP response:"),e.default.createElement(o,null,x(r.httpResponse))),r instanceof ie&&e.default.createElement(f,{flexDirection:"column"},e.default.createElement(o,null,"Reason: ",Fe(r.reason)),e.default.createElement(o,null,"HTTP request:"),e.default.createElement(o,null,x(r.httpRequest))),r instanceof ae&&e.default.createElement(f,{flexDirection:"column"},e.default.createElement(o,null,"Attempt: ",r.attempt),r.connectTimeMs?e.default.createElement(o,null,"Connect time: ",r.connectTimeMs," ms"):null,r.writeReadTimeMs?e.default.createElement(o,null,"Write read time: ",r.writeReadTimeMs," ms"):null,e.default.createElement(o,null,"HTTP request:"),e.default.createElement(o,null,x(r.httpRequest)),r.httpResponse?e.default.createElement(f,{flexDirection:"column"},e.default.createElement(o,null,"HTTP response:"),e.default.createElement(o,null,x(r.httpResponse))):null,r.error?e.default.createElement(o,null,"Error: ",r.error):null)))),u.length>0&&e.default.createElement(f,{flexDirection:"column"},u.map((r,c)=>e.default.createElement(f,{key:c},e.default.createElement(o,{color:"red"},r)))))};var xe=k(_(),1);async function Ie({pollOptions:t,options:{variables:s,developerPlatformClient:n},storeNameById:i,organizationId:l}){let a=async()=>S(n,s,l);return G(xe.default.createElement(Re,{pollOptions:t,resubscribeCallback:a,storeNameById:i,developerPlatformClient:n,organizationId:l}))}E();async function q({pollOptions:t,options:{variables:s,developerPlatformClient:n},storeNameById:i,organizationId:l,consecutiveResubscribeFailures:a=0}){let p=await U({pollOptions:t,developerPlatformClient:n,organizationId:l}),u=L,r=t.jwtToken,c=a,d=p;if(d.errors){let m=await v({response:d,onThrottle:w=>{I(JSON.stringify({message:"Request throttled while polling app logs.",retry_in_ms:w}))},onUnknownError:w=>{I(JSON.stringify({message:"Error while polling app logs.",retry_in_ms:w}))},onResubscribe:()=>S(n,s,l)});if(m.resubscribeResult==="failed"){if(c+=1,c>=P){I(JSON.stringify({message:"App log streaming session has expired. Please restart your dev session."}));return}}else m.resubscribeResult==="succeeded"&&(c=0);m.nextJwtToken&&(r=m.nextJwtToken),u=m.retryIntervalMs}else c=0;let{cursor:T,appLogs:R}=p;R&&R.forEach(m=>{let w=i.get(m.shop_id?.toString());w!==void 0&&F(ye({appLog:m,appLogPayload:Te(m.payload,m.log_type),storeName:w,prettyPrint:!1}))}),setTimeout(()=>{q({options:{variables:s,developerPlatformClient:n},pollOptions:{jwtToken:r||t.jwtToken,cursor:T??t.cursor,filters:t.filters},storeNameById:i,organizationId:l,consecutiveResubscribeFailures:c}).catch(m=>{throw m})},u)}async function Se(t){let{app:s,remoteApp:n,developerPlatformClient:i}=t,l=await Me(t),a=he(s);if(a.length===0)throw new N("This app has no log sources. Learn more about app logs at https://shopify.dev/docs/api/shopify-cli/app/app-logs");if(t.sources){let d=t.sources.filter(T=>!a.includes(T));if(d.length)throw new N(`Invalid sources: ${d.join(", ")}. Valid sources are: ${a.join(", ")}`)}let p={shopIds:l.storeIds.map(Number),apiKey:n.apiKey},u=await S(i,p,t.organization.id),r={status:t.status,sources:t.sources},c={jwtToken:u,filters:r};t.format==="json"?(F(JSON.stringify({subscribedToStores:t.storeFqdns})),I(JSON.stringify({message:"Waiting for app logs..."})),await q({options:{variables:p,developerPlatformClient:i},pollOptions:c,storeNameById:l.storeNameById,organizationId:t.organization.id})):(I(`Waiting for app logs...
2
- `),await Ie({options:{variables:p,developerPlatformClient:i},pollOptions:c,storeNameById:l.storeNameById,organizationId:t.organization.id}))}async function Me(t){let{app:s,remoteApp:n,developerPlatformClient:i,primaryStore:l,organization:a}=t,p=j(s.configPath);t.format==="text"&&Le(n.title,l.shopDomain,t.storeFqdns,p,a.businessName);let u=new Map;return u.set(l.shopId,l.shopDomain),t.storeFqdns&&t.storeFqdns.length>1&&await Promise.all(t.storeFqdns?.slice(1).map(async c=>{let d=await X(a,c,i);u.set(d.shopId,c)})),{storeIds:Array.from(u.keys()),storeNameById:u}}function Le(t,s,n,i,l){let a=[];n&&n.length>0?n.forEach(u=>a.push(u)):a.push(s);let p=i?z(i):void 0;H({headline:i?`Using ${p} for default values:`:"Using these settings:",body:Z({appName:t,org:l,devStores:a,messages:[ee]})})}var B=k(Ne(),1);var D=class t extends re{static summary="Stream detailed logs for your Shopify app.";static descriptionWithMarkdown="\n Opens a real-time stream of detailed app logs from the selected app and store.\n Use the `--source` argument to limit output to a particular log source, such as a specific Shopify Function handle. Use the `shopify app logs sources` command to view a list of sources.\n Use the `--status` argument to filter on status, either `success` or `failure`.\n ```\n shopify app logs --status=success --source=extension.discount-function\n ```\n ";static description=this.descriptionWithoutMarkdown();static flags={...Q,...K,...Y,store:B.Flags.string({char:"s",description:"Store URL. Must be an existing development or Shopify Plus sandbox store.",env:"SHOPIFY_FLAG_STORE",multiple:!0,parse:async s=>$(s)}),source:B.Flags.string({description:"Filters output to the specified log source.",env:"SHOPIFY_FLAG_SOURCE",multiple:!0}),status:B.Flags.string({description:"Filters output to the specified status (success or failure).",options:["success","failure"],env:"SHOPIFY_FLAG_STATUS"})};async run(){let{flags:s}=await this.parse(t);await W(s.path);let n=await te({directory:s.path,clientId:s["client-id"],forceRelink:s.reset,userProvidedConfigName:s.config}),i=await se({appContextResult:n,storeFqdn:s.store?.[0],forceReselectStore:s.reset}),l={...n,primaryStore:i,storeFqdns:s.store,sources:s.source,status:s.status,format:s.json?"json":"text"};return await Se(l),{app:n.app}}};export{D as a};