@shopify/cli 4.7.1 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/dist/analytics-3IIUBZ3B.js +1 -0
  2. package/dist/analytics-OOT5AB52.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-U3F6GPCE.js → chunk-2AK44UYM.js} +1 -1
  9. package/dist/{chunk-N7425436.js → chunk-2CIZE537.js} +1 -1
  10. package/dist/{chunk-7JIYJMRN.js → chunk-2EAFYCCS.js} +1 -1
  11. package/dist/{chunk-LBREJXT6.js → chunk-2KGPH7YG.js} +1 -1
  12. package/dist/{chunk-VPY47DBW.js → chunk-2O224ZPO.js} +1 -1
  13. package/dist/{chunk-3WV7DQMM.js → chunk-2XDUJQQN.js} +3 -3
  14. package/dist/{chunk-K3VLFPPI.js → chunk-36ROOKQB.js} +1 -1
  15. package/dist/{chunk-SGIMJQEM.js → chunk-3DCN3N23.js} +1 -1
  16. package/dist/{chunk-PK73ZSND.js → chunk-3JXPOOFV.js} +39 -39
  17. package/dist/{chunk-IENBHP2S.js → chunk-4QBJ5JBX.js} +15 -16
  18. package/dist/chunk-4ZNV5YSL.js +1 -0
  19. package/dist/chunk-5L63PRJL.js +2 -0
  20. package/dist/{chunk-HRHNJFAA.js → chunk-5N6HNQQ5.js} +1 -1
  21. package/dist/{chunk-K63FW7Q7.js → chunk-5SEEDOQ5.js} +1 -1
  22. package/dist/chunk-67Z34HN5.js +5 -0
  23. package/dist/chunk-6BDAJ6UD.js +5 -0
  24. package/dist/chunk-6CXG3XLP.js +1 -0
  25. package/dist/{chunk-OJSJWGP2.js → chunk-6MWWJZFN.js} +1 -1
  26. package/dist/{chunk-N4KDWHT2.js → chunk-6RQOEPEC.js} +1 -1
  27. package/dist/{chunk-CRP4PQU2.js → chunk-72ZY3KTF.js} +1 -1
  28. package/dist/{chunk-VXYABRFY.js → chunk-742XXXGL.js} +1 -1
  29. package/dist/{chunk-VXX4EZ7G.js → chunk-7HFHL5SO.js} +1 -1
  30. package/dist/{chunk-PV6T52KB.js → chunk-7ISJRIPT.js} +1 -1
  31. package/dist/{chunk-KBBITJSF.js → chunk-7LWUHQIF.js} +1 -1
  32. package/dist/{chunk-7EUIO4ZO.js → chunk-7T6M7FAC.js} +1 -1
  33. package/dist/{chunk-3HCWJRL6.js → chunk-A6BMJISP.js} +1 -1
  34. package/dist/{chunk-HOVIGRE4.js → chunk-AWUX36VG.js} +1 -1
  35. package/dist/chunk-BWJIZYAG.js +1 -0
  36. package/dist/{chunk-6R62DGJG.js → chunk-BZ73NV3L.js} +1 -1
  37. package/dist/chunk-C3RUVXG2.js +6 -0
  38. package/dist/{chunk-IA3XNJ56.js → chunk-C4YLE3NS.js} +1 -1
  39. package/dist/chunk-CEYIZC3M.js +2 -0
  40. package/dist/{chunk-J2VRPZFC.js → chunk-CIWKN4HF.js} +1 -1
  41. package/dist/{chunk-JJSV7HNM.js → chunk-CULTZLC4.js} +1 -1
  42. package/dist/{chunk-HCQABTQL.js → chunk-CX75OKZK.js} +1 -1
  43. package/dist/{chunk-22NROZ5X.js → chunk-DASVZTAX.js} +46 -46
  44. package/dist/{chunk-EULSSTWY.js → chunk-DX3JLOUA.js} +1 -1
  45. package/dist/{chunk-IQT6LOA2.js → chunk-E55KS3GZ.js} +1 -1
  46. package/dist/{chunk-CNMJ6QXM.js → chunk-E5FXOLQO.js} +1 -1
  47. package/dist/{chunk-46BKAF3F.js → chunk-E6N4PZZR.js} +1 -1
  48. package/dist/{chunk-27UEK3FU.js → chunk-EB574SY6.js} +1 -1
  49. package/dist/chunk-EX5GVHGE.js +1 -0
  50. package/dist/chunk-F3NYCSXT.js +273 -0
  51. package/dist/{chunk-KNVHXIEB.js → chunk-F6X6OXXB.js} +1 -1
  52. package/dist/{chunk-Y6UZW73M.js → chunk-FDBHQLFK.js} +1 -1
  53. package/dist/{chunk-Z66ZSXKB.js → chunk-FDYW3UQC.js} +1 -1
  54. package/dist/{chunk-GJ4A4QKE.js → chunk-FEDVVYK2.js} +1 -1
  55. package/dist/{chunk-SCXL5UQ4.js → chunk-FJ6F4XRV.js} +1 -1
  56. package/dist/{chunk-JNIPCLAF.js → chunk-FOREMLFZ.js} +1 -1
  57. package/dist/{chunk-R5EGWWZH.js → chunk-FUYDGK33.js} +1 -1
  58. package/dist/{chunk-UAJBQEGE.js → chunk-FX3L344E.js} +1 -1
  59. package/dist/{chunk-YCU7ZCIG.js → chunk-G5XIGN5D.js} +1 -1
  60. package/dist/{chunk-LKZQSER3.js → chunk-GAYKYEIM.js} +1 -1
  61. package/dist/{chunk-KT5MDCII.js → chunk-GCY7LPEF.js} +1 -1
  62. package/dist/{chunk-3KM2GKXH.js → chunk-GNBRCK7L.js} +1 -1
  63. package/dist/{chunk-WEWLPJK2.js → chunk-GRPKF5ZB.js} +1 -1
  64. package/dist/{chunk-UK4WXL4G.js → chunk-GRSF7456.js} +1 -1
  65. package/dist/chunk-H2TQ4ODI.js +1 -0
  66. package/dist/{chunk-O53YIDJL.js → chunk-H6XEESUN.js} +1 -1
  67. package/dist/{chunk-I6XH7XDX.js → chunk-HB347DXT.js} +1 -1
  68. package/dist/chunk-HFSCXTJQ.js +97 -0
  69. package/dist/chunk-HHN6KZXX.js +1 -0
  70. package/dist/{chunk-6QJIGFQJ.js → chunk-HP64ZTEJ.js} +1 -1
  71. package/dist/{chunk-YXDIHVPY.js → chunk-IARCMH7G.js} +1 -1
  72. package/dist/{chunk-X5JQU6T7.js → chunk-IBI5UCJO.js} +1 -1
  73. package/dist/{chunk-RXUOQZ32.js → chunk-IKUSLRGD.js} +1 -1
  74. package/dist/{chunk-DLSUDLXD.js → chunk-IT4HYLTY.js} +1 -1
  75. package/dist/{chunk-RY4MPX5A.js → chunk-J4T73EAS.js} +1 -1
  76. package/dist/chunk-JG4HH54Q.js +1 -0
  77. package/dist/{chunk-S2WUVD7V.js → chunk-JIYSCWCG.js} +1 -1
  78. package/dist/chunk-JWRK5KLD.js +560 -0
  79. package/dist/{chunk-OF6CV5R4.js → chunk-JX7FYWPO.js} +1 -1
  80. package/dist/{chunk-6ELAWKMY.js → chunk-K42WBNJQ.js} +1 -1
  81. package/dist/{chunk-NSZHEXZK.js → chunk-KDU7VW3L.js} +1 -1
  82. package/dist/{chunk-6G5TDB45.js → chunk-KWVOJWO7.js} +1 -1
  83. package/dist/{chunk-O4G6TE26.js → chunk-LANUJ7LX.js} +1 -1
  84. package/dist/{chunk-DMFEYI4G.js → chunk-LUKQ5HLC.js} +1 -1
  85. package/dist/{chunk-PS2UVFHP.js → chunk-M2XHIN57.js} +1 -1
  86. package/dist/{chunk-YFKEESYB.js → chunk-MNOQAXJW.js} +1 -1
  87. package/dist/chunk-MYQUYU4U.js +2 -0
  88. package/dist/{chunk-PU3NATV4.js → chunk-N65F7ET2.js} +1 -1
  89. package/dist/{chunk-DEMZRLX5.js → chunk-N6RBRPGW.js} +1 -1
  90. package/dist/chunk-N75VOJHO.js +15 -0
  91. package/dist/{chunk-ELSDVDT7.js → chunk-NBFMP5XQ.js} +1 -1
  92. package/dist/{chunk-SYF6LGQB.js → chunk-NE3ZFSMS.js} +1 -1
  93. package/dist/{chunk-IF6EYTHG.js → chunk-NGLMZYS7.js} +2 -2
  94. package/dist/{chunk-6K3AJTNO.js → chunk-NHAUJWEG.js} +1 -1
  95. package/dist/chunk-NILETICC.js +11 -0
  96. package/dist/{chunk-5MD7GNEY.js → chunk-NNZXKFOS.js} +1 -1
  97. package/dist/{chunk-EWS2RNM6.js → chunk-NQK2VCDA.js} +1 -1
  98. package/dist/{chunk-HU4GFVEN.js → chunk-NROVZETL.js} +1 -1
  99. package/dist/{chunk-2S3GOPRL.js → chunk-NW6NUGN7.js} +1 -1
  100. package/dist/{chunk-I2LNQKIJ.js → chunk-O7DZXO3O.js} +2 -2
  101. package/dist/{chunk-77AC3OJQ.js → chunk-OBYQSIYU.js} +1 -1
  102. package/dist/{chunk-RY4YUBG3.js → chunk-OEG3N5PG.js} +1 -1
  103. package/dist/{chunk-7S73765P.js → chunk-OGBZTY2G.js} +1 -1
  104. package/dist/chunk-OMHR423H.js +1 -0
  105. package/dist/{chunk-22NWEE5U.js → chunk-OV6SRRXR.js} +1 -1
  106. package/dist/{chunk-FELV7GWY.js → chunk-OVV5YGKN.js} +1 -1
  107. package/dist/{chunk-U46RPVQA.js → chunk-OZL5FTT7.js} +1 -1
  108. package/dist/{chunk-MTTBBZSR.js → chunk-OZMQ2EJB.js} +1 -1
  109. package/dist/{chunk-USBP7H7J.js → chunk-P57P7UAN.js} +1 -1
  110. package/dist/{chunk-WOIAYH5U.js → chunk-PATTG7YZ.js} +1 -1
  111. package/dist/{chunk-XMJFT4WP.js → chunk-PG5YNPJB.js} +1 -1
  112. package/dist/chunk-PP4L2JJ6.js +3 -0
  113. package/dist/{chunk-PEHLR7XP.js → chunk-Q5JX23QU.js} +1 -1
  114. package/dist/{chunk-4FI2YBRF.js → chunk-Q5KVMLBK.js} +1 -1
  115. package/dist/{chunk-LKQ3EJ6Z.js → chunk-Q5LIJGT7.js} +1 -1
  116. package/dist/{chunk-QASOHYDS.js → chunk-Q6ADIMJM.js} +1 -1
  117. package/dist/{chunk-4FCS6PJY.js → chunk-QERQARMC.js} +1 -1
  118. package/dist/{chunk-RM3B7AFT.js → chunk-QOV43E26.js} +1 -1
  119. package/dist/{chunk-SJGPJDGH.js → chunk-QTFUYKMF.js} +1 -1
  120. package/dist/{chunk-4WGJUVXS.js → chunk-QTJCCOAG.js} +3 -3
  121. package/dist/{chunk-4VJ6YK7U.js → chunk-R6ICQT2D.js} +1 -1
  122. package/dist/{chunk-KDBKEVCF.js → chunk-R7T3LYJL.js} +1 -1
  123. package/dist/{chunk-AIA7JVSJ.js → chunk-RXQJCJDV.js} +1 -1
  124. package/dist/{chunk-WXSDPMIZ.js → chunk-S2TLBBSS.js} +1 -1
  125. package/dist/{chunk-PQG7XSQP.js → chunk-S5FOQY35.js} +1 -1
  126. package/dist/{chunk-WR6LRE4I.js → chunk-SYLHT42O.js} +1 -1
  127. package/dist/{chunk-ULR25PTO.js → chunk-T4AA6TSF.js} +1 -1
  128. package/dist/{chunk-5WGT45CO.js → chunk-T4QWK5GG.js} +1 -1
  129. package/dist/{chunk-XMQFQUUK.js → chunk-T7PJDT5O.js} +1 -1
  130. package/dist/{chunk-UZVON6GP.js → chunk-TEY4LRY7.js} +1 -1
  131. package/dist/{chunk-ZBSC2KZ7.js → chunk-TFBRVLDN.js} +1 -1
  132. package/dist/{chunk-QHLY2IID.js → chunk-TUVDJ3PG.js} +1 -1
  133. package/dist/{chunk-JNVCCE6M.js → chunk-U2DWBZK2.js} +1 -1
  134. package/dist/chunk-U53OLUOE.js +3 -0
  135. package/dist/{chunk-AWHS336T.js → chunk-UAETNFN4.js} +1 -1
  136. package/dist/{chunk-XTXYS7LB.js → chunk-UAFEFKAQ.js} +1 -1
  137. package/dist/{chunk-3MN3WLA2.js → chunk-ULRJDKWQ.js} +1 -1
  138. package/dist/chunk-UZARYOLN.js +1 -0
  139. package/dist/chunk-VASGXHYA.js +1 -0
  140. package/dist/chunk-VD4XJ6BX.js +1 -0
  141. package/dist/{chunk-HQUWYKSJ.js → chunk-VFM2KQRM.js} +4 -4
  142. package/dist/{chunk-KRLEEYLL.js → chunk-VSDRNYA5.js} +1 -1
  143. package/dist/{chunk-PE4TV5IJ.js → chunk-VVZSYHDG.js} +1 -1
  144. package/dist/chunk-VXEYO3ZP.js +1 -0
  145. package/dist/{chunk-2F2DXTRI.js → chunk-VYDSOAV4.js} +1 -1
  146. package/dist/{chunk-ZULQKYJ6.js → chunk-WBYAGS6B.js} +1 -1
  147. package/dist/chunk-WGAFCKGD.js +1 -0
  148. package/dist/{chunk-CUUCRIGC.js → chunk-WYBTC356.js} +1 -1
  149. package/dist/{chunk-WMZS3Y4Z.js → chunk-XF2KTEID.js} +1 -1
  150. package/dist/{chunk-O4RHWBBM.js → chunk-XH5YGJQR.js} +1 -1
  151. package/dist/chunk-XHKWITLA.js +1705 -0
  152. package/dist/chunk-XOCB4KNX.js +2 -0
  153. package/dist/{chunk-R2RULBBV.js → chunk-XUUAKGEX.js} +1 -1
  154. package/dist/{chunk-JQUEW7CB.js → chunk-XUYVJEZG.js} +1 -1
  155. package/dist/chunk-Y47C3LSX.js +3 -0
  156. package/dist/{chunk-GW4JHUIA.js → chunk-Y5PRPHLQ.js} +1 -1
  157. package/dist/{chunk-WTES5ZXR.js → chunk-YD2VQEN5.js} +1 -1
  158. package/dist/{chunk-RA3WWB2S.js → chunk-YESGYUEL.js} +1 -1
  159. package/dist/{chunk-IX4IGE5H.js → chunk-YEVGLC5X.js} +1 -1
  160. package/dist/{chunk-WSCSFFLH.js → chunk-YFINLODF.js} +2 -2
  161. package/dist/{chunk-5JW4JQWZ.js → chunk-YKL3BLWC.js} +1 -1
  162. package/dist/{chunk-ZDDLEFVO.js → chunk-YLXPYXQP.js} +1 -1
  163. package/dist/{chunk-EMETQFFJ.js → chunk-YNDIZCD2.js} +1 -1
  164. package/dist/{chunk-53IU36CL.js → chunk-YPWHD3NL.js} +1 -1
  165. package/dist/{chunk-UZV5H2JI.js → chunk-YSAFHVV6.js} +1 -1
  166. package/dist/{chunk-AFT6ABDE.js → chunk-YZMY2CTU.js} +1 -1
  167. package/dist/{chunk-VRH3HWYA.js → chunk-Z4AFEO36.js} +1 -1
  168. package/dist/{chunk-P5OQUFH6.js → chunk-Z5WPP6ME.js} +1 -1
  169. package/dist/chunk-Z65E4UAP.js +1 -0
  170. package/dist/{chunk-MK7MOLLI.js → chunk-ZDRIQC7O.js} +1 -1
  171. package/dist/{chunk-26DH5P7S.js → chunk-ZH44BDUR.js} +1 -1
  172. package/dist/{chunk-QT367CYF.js → chunk-ZL5LU4U2.js} +1 -1
  173. package/dist/{chunk-P5WLH64A.js → chunk-ZYX7UHCQ.js} +1 -1
  174. package/dist/{chunk-GFWXVO72.js → chunk-ZZRFG6ME.js} +114 -114
  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-ASDCTDQ4.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-VBQV7Q4O.js} +1 -1
  265. package/dist/dist-FZLOAKU7.js +1 -0
  266. package/dist/dist-HTY6UHG5.js +1 -0
  267. package/dist/environments-HSTNEQRG.js +1 -0
  268. package/dist/{error-26WTDNKZ.js → error-2LZYKRMA.js} +1 -1
  269. package/dist/error-handler-PIGEJ7BT.js +1 -0
  270. package/dist/{fs-Y7I3Y5IR.js → fs-BJHNJDDK.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-6SCOAJVG.js} +1 -1
  281. package/dist/{local-HF4T3FFE.js → local-PZWPRFU7.js} +1 -1
  282. package/dist/{metadata-CSQPNQP2.js → metadata-VVBHB3HL.js} +1 -1
  283. package/dist/{node-package-manager-CVEU22N7.js → node-package-manager-ETYQN7OM.js} +1 -1
  284. package/dist/notifications-system-652OG5KL.js +1 -0
  285. package/dist/os-7D6NT4O3.js +1 -0
  286. package/dist/{output-E6OGPGXL.js → output-74VDGYJD.js} +1 -1
  287. package/dist/{prettier-RVUAAWC7.js → prettier-EGVCP5CY.js} +1 -1
  288. package/dist/{system-ZETSJRKS.js → system-P5QIJALL.js} +1 -1
  289. package/dist/tsconfig.tsbuildinfo +1 -1
  290. package/dist/{ui-7TVGGEWJ.js → ui-H5I5YVKV.js} +1 -1
  291. package/dist/upgrade-34HSYBXI.js +1 -0
  292. package/dist/version-EKXEAF6Q.js +1 -0
  293. package/dist/{version-DL4Y6DRX.js → version-J2PYO6M5.js} +1 -1
  294. package/dist/{workerd-EHI5ZCEV.js → workerd-X4TGHEG3.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-ESPT6CGE.js +0 -1
  307. package/dist/chunk-FAXNGDWI.js +0 -11
  308. package/dist/chunk-FQQXU5IN.js +0 -2
  309. package/dist/chunk-GXOFJIKQ.js +0 -559
  310. package/dist/chunk-M5Q74UZM.js +0 -3
  311. package/dist/chunk-OQWMCJLY.js +0 -3
  312. package/dist/chunk-SPE2D366.js +0 -16
  313. package/dist/chunk-TP4Z5OZT.js +0 -1382
  314. package/dist/chunk-VI5FF6SW.js +0 -1
  315. package/dist/dist-E7EGYE4D.js +0 -1
  316. package/dist/dist-WRUROUNV.js +0 -1
  317. package/dist/environments-RG64VB5R.js +0 -1
  318. package/dist/error-handler-XFH47Y75.js +0 -1
  319. package/dist/notifications-system-L3FMN6EX.js +0 -1
  320. package/dist/os-VLZLRAHR.js +0 -1
  321. package/dist/upgrade-F77O4ZDT.js +0 -1
  322. package/dist/version-3L3ANUTL.js +0 -1
  323. /package/dist/{chunk-NJPL5BTN.js → chunk-YLQ3LNNY.js} +0 -0
  324. /package/dist/{morph-77RHJICZ.js → morph-BMYYMQNX.js} +0 -0
@@ -1,3 +1,3 @@
1
- import{a as M}from"./chunk-ESPT6CGE.js";import{a as b}from"./chunk-RA3WWB2S.js";import{A as x,sa as V,w as S,x as A,z as C}from"./chunk-GFWXVO72.js";import{a as f}from"./chunk-HU4GFVEN.js";import{b as j,c as E}from"./chunk-IX4IGE5H.js";import{B as u,z as v}from"./chunk-WSCSFFLH.js";import{h as g,j as n}from"./chunk-BI7LE6CZ.js";import{Db as w,Gb as h,wb as l}from"./chunk-HQUWYKSJ.js";import{j as p}from"./chunk-773TIA5M.js";import{g as m}from"./chunk-VKWPEFWQ.js";m();m();async function N(s,t){let e=new Set(t.map(r=>r.file)).size;await f.addPublicMetadata(()=>({cmd_app_validate_valid:s,cmd_app_validate_issue_count:t.length,cmd_app_validate_file_count:e}))}async function P(s,t={json:!1}){let e=s.errors;if(!e||e.isEmpty()){if(await N(!0,[]),t.json){l(JSON.stringify({valid:!0,issues:[]},null,2));return}v({headline:`App configuration '${p(s.configPath)}' is valid.`});return}let r=e.getErrors();if(await N(!1,r),t.json){let d=r.map(({file:c,message:a,path:i,code:o})=>({file:c,message:a,path:i,code:o}));throw l(JSON.stringify({valid:!1,issues:d},null,2)),new n}throw u({headline:"Validation errors found.",body:r.map(d=>`\u2022 ${x(d)}`).join(`
1
+ import{a as M}from"./chunk-UZARYOLN.js";import{a as b}from"./chunk-YESGYUEL.js";import{A as x,w as S,wa as V,x as A,z as C}from"./chunk-ZZRFG6ME.js";import{a as f}from"./chunk-NROVZETL.js";import{b as j,c as E}from"./chunk-YEVGLC5X.js";import{B as u,z as v}from"./chunk-YFINLODF.js";import{h as g,j as n}from"./chunk-BWJIZYAG.js";import{Db as w,Gb as h,wb as l}from"./chunk-VFM2KQRM.js";import{j as p}from"./chunk-773TIA5M.js";import{g as m}from"./chunk-VKWPEFWQ.js";m();m();async function N(s,t){let e=new Set(t.map(r=>r.file)).size;await f.addPublicMetadata(()=>({cmd_app_validate_valid:s,cmd_app_validate_issue_count:t.length,cmd_app_validate_file_count:e}))}async function P(s,t={json:!1}){let e=s.errors;if(!e||e.isEmpty()){if(await N(!0,[]),t.json){l(JSON.stringify({valid:!0,issues:[]},null,2));return}v({headline:`App configuration '${p(s.configPath)}' is valid.`});return}let r=e.getErrors();if(await N(!1,r),t.json){let d=r.map(({file:c,message:a,path:i,code:o})=>({file:c,message:a,path:i,code:o}));throw l(JSON.stringify({valid:!1,issues:d},null,2)),new n}throw u({headline:"Validation errors found.",body:r.map(d=>`\u2022 ${x(d)}`).join(`
2
2
  `)}),new n}async function _(s,t){await f.addPublicMetadata(()=>({cmd_app_validate_valid:!1,cmd_app_validate_issue_count:s,cmd_app_validate_file_count:t}))}var y=class s extends M{static summary="Validate your app configuration and extensions.";static descriptionWithMarkdown="Validates the selected app configuration file and all extension configurations against their schemas and reports any errors found.";static description=this.descriptionWithoutMarkdown();static flags={...j,...b,...E};async run(){let{flags:t}=await this.parse(s);await f.addPublicMetadata(()=>({cmd_app_validate_json:t.json}));let e;try{e=await S.load(t.path)}catch(a){if(a instanceof g&&t.json){await _(1,1);let i=h(w(a.message)).trim();throw l(JSON.stringify({valid:!1,issues:[{message:i}]},null,2)),new n}throw a}let r;try{r=await C(e,t.config,{clientId:t["client-id"],skipPrompts:!!t["client-id"]})}catch(a){if(a instanceof g&&t.json){await _(1,1);let i=h(w(a.message)).trim();throw l(JSON.stringify({valid:!1,issues:[{message:i}]},null,2)),new n}throw a}let d=A(e,r.file);if(d.length>0){let a=d.map(o=>({file:o.path,message:o.message})),i=new Set(d.map(o=>o.path)).size;throw await _(a.length,i),t.json?(l(JSON.stringify({valid:!1,issues:a},null,2)),new n):(u({headline:"Validation errors found.",body:a.map(o=>`\u2022 ${o.message}`).join(`
3
3
  `)}),new n)}let c;try{c=(await V({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config??(t["client-id"]?p(r.file.path):void 0),unsafeTolerateErrors:!0})).app}catch(a){let i=a instanceof g?h(w(a.message)).trim():"";throw i.startsWith("Validation errors in ")&&t.json?(await _(1,1),l(JSON.stringify({valid:!1,issues:[{message:i}]},null,2)),new n):a}return await P(c,{json:t.json}),{app:c}}};export{y as a};
@@ -1 +1 @@
1
- import{b as n}from"./chunk-IX4IGE5H.js";import{i as r}from"./chunk-B4OMIONW.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();function v(o){o.verbose&&(process.env[n.verbose.env]="true"),o.noColor&&(r.level=0,process.env.FORCE_COLOR="0")}export{v as a};
1
+ import{b as n}from"./chunk-YEVGLC5X.js";import{i as r}from"./chunk-B4OMIONW.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();function v(o){o.verbose&&(process.env[n.verbose.env]="true"),o.noColor&&(r.level=0,process.env.FORCE_COLOR="0")}export{v as a};
@@ -1 +1 @@
1
- import{a as i}from"./chunk-UZVON6GP.js";import{b as e}from"./chunk-3WV7DQMM.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var t=class extends e{static description="View the UI kit components prompts";static hidden=!0;async run(){await i()}};export{t as a};
1
+ import{a as i}from"./chunk-TEY4LRY7.js";import{b as e}from"./chunk-2XDUJQQN.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var t=class extends e{static description="View the UI kit components prompts";static hidden=!0;async run(){await i()}};export{t as a};
@@ -1 +1 @@
1
- import{a as c,b as p,c as d}from"./chunk-OF6CV5R4.js";import{a as r}from"./chunk-ESPT6CGE.js";import{a as n}from"./chunk-RA3WWB2S.js";import{sa as s}from"./chunk-GFWXVO72.js";import{b as a}from"./chunk-IX4IGE5H.js";import{a as y}from"./chunk-CTNBSUVU.js";import{e as g,g as i}from"./chunk-VKWPEFWQ.js";i();var f=g(y(),1);var o=class m extends r{static summary="Fetch the latest GraphQL schema for a function.";static descriptionWithMarkdown="Generates the latest [GraphQL schema](https://shopify.dev/docs/apps/functions/input-output#graphql-schema) for a function in your app. Run this command from the function directory.\n\n This command uses the API type and version of your function, as defined in your extension TOML file, to generate the latest GraphQL schema. The schema is written to the `schema.graphql` file.";static description=this.descriptionWithoutMarkdown();static flags={...a,...n,...p,stdout:f.Flags.boolean({description:"Output the schema to stdout instead of writing to a file.",required:!1,default:!1,env:"SHOPIFY_FLAG_STDOUT"})};async run(){let{flags:t}=await this.parse(m),{app:e,developerPlatformClient:h,organization:u}=await s({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),l=await d(e,t.path);return await c({app:e,extension:l,stdout:t.stdout,developerPlatformClient:h,orgId:u.id}),{app:e}}};export{o as a};
1
+ import{a as c,b as p,c as d}from"./chunk-JX7FYWPO.js";import{a as r}from"./chunk-UZARYOLN.js";import{a as n}from"./chunk-YESGYUEL.js";import{wa as s}from"./chunk-ZZRFG6ME.js";import{b as a}from"./chunk-YEVGLC5X.js";import{a as y}from"./chunk-CTNBSUVU.js";import{e as g,g as i}from"./chunk-VKWPEFWQ.js";i();var f=g(y(),1);var o=class m extends r{static summary="Fetch the latest GraphQL schema for a function.";static descriptionWithMarkdown="Generates the latest [GraphQL schema](https://shopify.dev/docs/apps/functions/input-output#graphql-schema) for a function in your app. Run this command from the function directory.\n\n This command uses the API type and version of your function, as defined in your extension TOML file, to generate the latest GraphQL schema. The schema is written to the `schema.graphql` file.";static description=this.descriptionWithoutMarkdown();static flags={...a,...n,...p,stdout:f.Flags.boolean({description:"Output the schema to stdout instead of writing to a file.",required:!1,default:!1,env:"SHOPIFY_FLAG_STDOUT"})};async run(){let{flags:t}=await this.parse(m),{app:e,developerPlatformClient:h,organization:u}=await s({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),l=await d(e,t.path);return await c({app:e,extension:l,stdout:t.stdout,developerPlatformClient:h,orgId:u.id}),{app:e}}};export{o as a};
@@ -1,4 +1,4 @@
1
- import{a}from"./chunk-26DH5P7S.js";import{p as n,q as m,v as l}from"./chunk-3KM2GKXH.js";import{b as s,c as h}from"./chunk-IX4IGE5H.js";import{wa as o}from"./chunk-PK73ZSND.js";import{a as v}from"./chunk-CTNBSUVU.js";import{e as c,g as r}from"./chunk-VKWPEFWQ.js";r();var e=c(v(),1);var i=class extends l{static summary="Uploads your local theme files to the connected store, overwriting the remote version if specified.";static usage=["theme push","theme push --unpublished --json"];static descriptionWithMarkdown=`Uploads your local theme files to Shopify, overwriting the remote version if specified.
1
+ import{a}from"./chunk-ZH44BDUR.js";import{p as n,q as m,v as l}from"./chunk-GNBRCK7L.js";import{b as s,c as h}from"./chunk-YEVGLC5X.js";import{xa as o}from"./chunk-3JXPOOFV.js";import{a as v}from"./chunk-CTNBSUVU.js";import{e as c,g as r}from"./chunk-VKWPEFWQ.js";r();var e=c(v(),1);var i=class extends l{static summary="Uploads your local theme files to the connected store, overwriting the remote version if specified.";static usage=["theme push","theme push --unpublished --json"];static descriptionWithMarkdown=`Uploads your local theme files to Shopify, overwriting the remote version if specified.
2
2
 
3
3
  If no theme is specified, then you're prompted to select the theme to overwrite from the list of the themes in your store.
4
4
 
@@ -1 +1 @@
1
- import{a as u}from"./chunk-LBREJXT6.js";import{g as d}from"./chunk-VKWPEFWQ.js";d();var m=!1;function v(){return m}function y(){let t=0,e=!1,i=setInterval(()=>{if(!e){if(v()||t>=12e4){e=!0,clearInterval(i),u(process.pid,"SIGINT",!1,()=>{process.exit(0)});return}t+=100}},100)}var k=async({config:a,Command:o})=>{await I(o);let t=await import("./metadata-CSQPNQP2.js"),{commandStartOptions:e}=t.getAllSensitiveMetadata();e&&await t.addSensitiveMetadata(()=>({commandStartOptions:{...e,endTime:new Date().getTime()}}));let{postrun:i}=await import("./deprecations-43ZQ5RCE.js");i(o);let{outputDebug:n}=await import("./output-E6OGPGXL.js"),r=o.id.replace(/:/g," ");n(`Completed command ${r}`),!r.includes("notifications")&&!r.includes("upgrade")&&!r.includes("send-analytics")&&await M();let{reportAnalyticsEvent:c}=await import("./analytics-F56E2NGH.js");await c({config:a,exitMode:"ok"}),m=!0};async function M(){let{versionToAutoUpgrade:a,warnIfUpgradeAvailable:o}=await import("./upgrade-F77O4ZDT.js"),t=a();if(!t){await o();return}if(process.env.SHOPIFY_CLI_FORCE_AUTO_UPGRADE==="1")await l(t);else{let{runAtMinimumInterval:i}=await import("./conf-store-QQ4DOFI3.js");await i("auto-upgrade",{days:1},async()=>{await l(t)})}}async function l(a){let[{CLI_KIT_VERSION:o},{isMajorVersionChange:t},{outputWarn:e,outputDebug:i},{getOutputUpdateCLIReminder:n,runCLIUpgrade:r,hasBlockingAutoUpgradeNotification:c},s]=await Promise.all([import("./version-3L3ANUTL.js"),import("./version-DL4Y6DRX.js"),import("./output-E6OGPGXL.js"),import("./upgrade-F77O4ZDT.js"),import("./metadata-CSQPNQP2.js")]);if(t(o,a)){e(n(a,!0)),await s.addPublicMetadata(()=>({env_auto_upgrade_skipped_reason:"major_version"}));return}if(await c()){await s.addPublicMetadata(()=>({env_auto_upgrade_skipped_reason:"blocked_by_notification"}));return}try{await r({autoupgrade:!0}),await s.addPublicMetadata(()=>({env_auto_upgrade_success:!0}))}catch(f){let p=`Auto-upgrade failed: ${f}`;i(p),e(n(a)),await s.addPublicMetadata(()=>({env_auto_upgrade_success:!1}));let[{sendErrorToBugsnag:g},{inferPackageManagerForGlobalCLI:w}]=await Promise.all([import("./error-handler-XFH47Y75.js"),import("./is-global-WBIBPIVZ.js")]),_=Object.assign(new Error(p),{packageManager:w(),platform:process.platform,cliVersion:o});await g(_,"expected_error")}}async function I(a){let o=new Date().getTime();if(a&&"analyticsStopCommand"in a&&typeof a.analyticsStopCommand=="function"){let t=a.analyticsStopCommand();if(t){let e=await import("./metadata-CSQPNQP2.js"),{commandStartOptions:i}=e.getAllSensitiveMetadata();if(!i)return;await e.addSensitiveMetadata(()=>({commandStartOptions:{...i,startTime:o,startCommand:t}}))}}}export{y as a,k as b};
1
+ import{a as u}from"./chunk-2KGPH7YG.js";import{g as d}from"./chunk-VKWPEFWQ.js";d();var m=!1;function v(){return m}function y(){let t=0,e=!1,i=setInterval(()=>{if(!e){if(v()||t>=12e4){e=!0,clearInterval(i),u(process.pid,"SIGINT",!1,()=>{process.exit(0)});return}t+=100}},100)}var k=async({config:a,Command:o})=>{await I(o);let t=await import("./metadata-VVBHB3HL.js"),{commandStartOptions:e}=t.getAllSensitiveMetadata();e&&await t.addSensitiveMetadata(()=>({commandStartOptions:{...e,endTime:new Date().getTime()}}));let{postrun:i}=await import("./deprecations-VBQV7Q4O.js");i(o);let{outputDebug:n}=await import("./output-74VDGYJD.js"),r=o.id.replace(/:/g," ");n(`Completed command ${r}`),!r.includes("notifications")&&!r.includes("upgrade")&&!r.includes("send-analytics")&&await M();let{reportAnalyticsEvent:c}=await import("./analytics-OOT5AB52.js");await c({config:a,exitMode:"ok"}),m=!0};async function M(){let{versionToAutoUpgrade:a,warnIfUpgradeAvailable:o}=await import("./upgrade-34HSYBXI.js"),t=a();if(!t){await o();return}if(process.env.SHOPIFY_CLI_FORCE_AUTO_UPGRADE==="1")await l(t);else{let{runAtMinimumInterval:i}=await import("./conf-store-ASDCTDQ4.js");await i("auto-upgrade",{days:1},async()=>{await l(t)})}}async function l(a){let[{CLI_KIT_VERSION:o},{isMajorVersionChange:t},{outputWarn:e,outputDebug:i},{getOutputUpdateCLIReminder:n,runCLIUpgrade:r,hasBlockingAutoUpgradeNotification:c},s]=await Promise.all([import("./version-EKXEAF6Q.js"),import("./version-J2PYO6M5.js"),import("./output-74VDGYJD.js"),import("./upgrade-34HSYBXI.js"),import("./metadata-VVBHB3HL.js")]);if(t(o,a)){e(n(a,!0)),await s.addPublicMetadata(()=>({env_auto_upgrade_skipped_reason:"major_version"}));return}if(await c()){await s.addPublicMetadata(()=>({env_auto_upgrade_skipped_reason:"blocked_by_notification"}));return}try{await r({autoupgrade:!0}),await s.addPublicMetadata(()=>({env_auto_upgrade_success:!0}))}catch(f){let p=`Auto-upgrade failed: ${f}`;i(p),e(n(a)),await s.addPublicMetadata(()=>({env_auto_upgrade_success:!1}));let[{sendErrorToBugsnag:g},{inferPackageManagerForGlobalCLI:w}]=await Promise.all([import("./error-handler-PIGEJ7BT.js"),import("./is-global-6SCOAJVG.js")]),_=Object.assign(new Error(p),{packageManager:w(),platform:process.platform,cliVersion:o});await g(_,"expected_error")}}async function I(a){let o=new Date().getTime();if(a&&"analyticsStopCommand"in a&&typeof a.analyticsStopCommand=="function"){let t=a.analyticsStopCommand();if(t){let e=await import("./metadata-VVBHB3HL.js"),{commandStartOptions:i}=e.getAllSensitiveMetadata();if(!i)return;await e.addSensitiveMetadata(()=>({commandStartOptions:{...i,startTime:o,startCommand:t}}))}}}export{y as a,k as b};
@@ -1,2 +1,2 @@
1
- import{w as d}from"./chunk-YXDIHVPY.js";import{a as l}from"./chunk-ESPT6CGE.js";import{a as m}from"./chunk-RA3WWB2S.js";import{sa as f}from"./chunk-GFWXVO72.js";import{b as u}from"./chunk-IX4IGE5H.js";import{Ib as p,wb as c}from"./chunk-HQUWYKSJ.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();i();function h(a){let o=d(a),t=new Map;o.forEach(s=>{let e=s.split(".");if(e.length>=2){let r=e[0];t.has(r)||t.set(r,[]),t.set(r,[...t.get(r),s])}});for(let[s,e]of t)c(p(s,e.join(`
1
+ import{w as d}from"./chunk-IARCMH7G.js";import{a as l}from"./chunk-UZARYOLN.js";import{a as m}from"./chunk-YESGYUEL.js";import{wa as f}from"./chunk-ZZRFG6ME.js";import{b as u}from"./chunk-YEVGLC5X.js";import{Ib as p,wb as c}from"./chunk-VFM2KQRM.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();i();function h(a){let o=d(a),t=new Map;o.forEach(s=>{let e=s.split(".");if(e.length>=2){let r=e[0];t.has(r)||t.set(r,[]),t.set(r,[...t.get(r),s])}});for(let[s,e]of t)c(p(s,e.join(`
2
2
  `)))}var n=class a extends l{static summary="Print out a list of sources that may be used with the logs command.";static descriptionWithMarkdown="The output source names can be used with the `--source` argument of `shopify app logs` to filter log output. Currently only function extensions are supported as sources.";static description=this.descriptionWithoutMarkdown();static flags={...u,...m};async run(){let{flags:o}=await this.parse(a),{app:t}=await f({directory:o.path,clientId:o["client-id"],forceRelink:o.reset,userProvidedConfigName:o.config});return t.errors.isEmpty()?h(t):process.exit(2),{app:t}}};export{n as a};
@@ -1 +1 @@
1
- import{ta as r}from"./chunk-GFWXVO72.js";import{a}from"./chunk-HU4GFVEN.js";import{q as i}from"./chunk-773TIA5M.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var c=3e3;async function n(o){let t;try{if(a.getAllPublicMetadata().api_key!==void 0)return;await Promise.race([r({directory:o,skipPrompts:!0}),new Promise(l=>{t=setTimeout(l,c)})])}catch{}finally{t&&clearTimeout(t)}}var m=async()=>(await n(i()),a.getAllPublicMetadata()),f=m;export{f as a};
1
+ import{xa as r}from"./chunk-ZZRFG6ME.js";import{a}from"./chunk-NROVZETL.js";import{q as i}from"./chunk-773TIA5M.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var c=3e3;async function n(o){let t;try{if(a.getAllPublicMetadata().api_key!==void 0)return;await Promise.race([r({directory:o,skipPrompts:!0}),new Promise(l=>{t=setTimeout(l,c)})])}catch{}finally{t&&clearTimeout(t)}}var m=async()=>(await n(i()),a.getAllPublicMetadata()),f=m;export{f as a};
@@ -1,4 +1,4 @@
1
- import{c as gI,e as nA,f as mI,h as oA,l as y7,n as Bu,s as $5,u as iA,v as lA,w as cA}from"./chunk-Q7BOSHWX.js";import{a as fI}from"./chunk-I2LNQKIJ.js";import{a as aA}from"./chunk-GFWXVO72.js";import{c as tA,e as rA}from"./chunk-6G5TDB45.js";import{C as tf,D as vI,W as pCe,j as mCe,q as R4}from"./chunk-PK73ZSND.js";import{d as b}from"./chunk-WSCSFFLH.js";import{d as $F}from"./chunk-XTXYS7LB.js";import{a as jF}from"./chunk-76NEIDP5.js";import{h as eA}from"./chunk-BI7LE6CZ.js";import{Ab as b7}from"./chunk-HQUWYKSJ.js";import{a as j5,c as m,e as ps,g as o}from"./chunk-VKWPEFWQ.js";var uA=m(Vi=>{"use strict";o();var bCe=b();function sA(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function e1(){}var Gi={d:{f:e1,r:function(){throw Error(sA(522))},D:e1,C:e1,L:e1,m:e1,X:e1,S:e1,M:e1},p:0,findDOMNode:null},yCe=Symbol.for("react.portal");function ICe(e,t,r){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:yCe,key:a==null?null:""+a,children:e,containerInfo:t,implementation:r}}var rf=bCe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function k4(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}Vi.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Gi;Vi.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(sA(299));return ICe(e,t,null,r)};Vi.flushSync=function(e){var t=rf.T,r=Gi.p;try{if(rf.T=null,Gi.p=2,e)return e()}finally{rf.T=t,Gi.p=r,Gi.d.f()}};Vi.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,Gi.d.C(e,t))};Vi.prefetchDNS=function(e){typeof e=="string"&&Gi.d.D(e)};Vi.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var r=t.as,a=k4(r,t.crossOrigin),n=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;r==="style"?Gi.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:n,fetchPriority:i}):r==="script"&&Gi.d.X(e,{crossOrigin:a,integrity:n,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};Vi.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var r=k4(t.as,t.crossOrigin);Gi.d.M(e,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&Gi.d.M(e)};Vi.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var r=t.as,a=k4(r,t.crossOrigin);Gi.d.L(e,r,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};Vi.preloadModule=function(e,t){if(typeof e=="string")if(t){var r=k4(t.as,t.crossOrigin);Gi.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else Gi.d.m(e)};Vi.requestFormReset=function(e){Gi.d.r(e)};Vi.unstable_batchedUpdates=function(e,t){return e(t)};Vi.useFormState=function(e,t,r){return rf.H.useFormState(e,t,r)};Vi.useFormStatus=function(){return rf.H.useHostTransitionStatus()};Vi.version="19.2.4"});var dA=m(Yi=>{"use strict";o();process.env.NODE_ENV!=="production"&&(function(){function e(){}function t(y){return""+y}function r(y,S,E){var w=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;try{t(w);var M=!1}catch{M=!0}return M&&(console.error("The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",typeof Symbol=="function"&&Symbol.toStringTag&&w[Symbol.toStringTag]||w.constructor.name||"Object"),t(w)),{$$typeof:f,key:w==null?null:""+w,children:y,containerInfo:S,implementation:E}}function a(y,S){if(y==="font")return"";if(typeof S=="string")return S==="use-credentials"?S:""}function n(y){return y===null?"`null`":y===void 0?"`undefined`":y===""?"an empty string":'something with type "'+typeof y+'"'}function i(y){return y===null?"`null`":y===void 0?"`undefined`":y===""?"an empty string":typeof y=="string"?JSON.stringify(y):typeof y=="number"?"`"+y+"`":'something with type "'+typeof y+'"'}function u(){var y=I.H;return y===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1
+ import{c as gI,e as nA,f as mI,h as oA,l as y7,n as Bu,s as $5,u as iA,v as lA,w as cA}from"./chunk-Q7BOSHWX.js";import{a as fI}from"./chunk-O7DZXO3O.js";import{a as aA}from"./chunk-ZZRFG6ME.js";import{c as tA,e as rA}from"./chunk-KWVOJWO7.js";import{D as tf,E as vI,X as pCe,k as mCe,r as R4}from"./chunk-3JXPOOFV.js";import{d as b}from"./chunk-YFINLODF.js";import{d as $F}from"./chunk-UAFEFKAQ.js";import{a as jF}from"./chunk-VASGXHYA.js";import{h as eA}from"./chunk-BWJIZYAG.js";import{Ab as b7}from"./chunk-VFM2KQRM.js";import{a as j5,c as m,e as ps,g as o}from"./chunk-VKWPEFWQ.js";var uA=m(Vi=>{"use strict";o();var bCe=b();function sA(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function e1(){}var Gi={d:{f:e1,r:function(){throw Error(sA(522))},D:e1,C:e1,L:e1,m:e1,X:e1,S:e1,M:e1},p:0,findDOMNode:null},yCe=Symbol.for("react.portal");function ICe(e,t,r){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:yCe,key:a==null?null:""+a,children:e,containerInfo:t,implementation:r}}var rf=bCe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function k4(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}Vi.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Gi;Vi.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(sA(299));return ICe(e,t,null,r)};Vi.flushSync=function(e){var t=rf.T,r=Gi.p;try{if(rf.T=null,Gi.p=2,e)return e()}finally{rf.T=t,Gi.p=r,Gi.d.f()}};Vi.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,Gi.d.C(e,t))};Vi.prefetchDNS=function(e){typeof e=="string"&&Gi.d.D(e)};Vi.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var r=t.as,a=k4(r,t.crossOrigin),n=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;r==="style"?Gi.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:n,fetchPriority:i}):r==="script"&&Gi.d.X(e,{crossOrigin:a,integrity:n,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};Vi.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var r=k4(t.as,t.crossOrigin);Gi.d.M(e,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&Gi.d.M(e)};Vi.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var r=t.as,a=k4(r,t.crossOrigin);Gi.d.L(e,r,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};Vi.preloadModule=function(e,t){if(typeof e=="string")if(t){var r=k4(t.as,t.crossOrigin);Gi.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else Gi.d.m(e)};Vi.requestFormReset=function(e){Gi.d.r(e)};Vi.unstable_batchedUpdates=function(e,t){return e(t)};Vi.useFormState=function(e,t,r){return rf.H.useFormState(e,t,r)};Vi.useFormStatus=function(){return rf.H.useHostTransitionStatus()};Vi.version="19.2.4"});var dA=m(Yi=>{"use strict";o();process.env.NODE_ENV!=="production"&&(function(){function e(){}function t(y){return""+y}function r(y,S,E){var w=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;try{t(w);var M=!1}catch{M=!0}return M&&(console.error("The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",typeof Symbol=="function"&&Symbol.toStringTag&&w[Symbol.toStringTag]||w.constructor.name||"Object"),t(w)),{$$typeof:f,key:w==null?null:""+w,children:y,containerInfo:S,implementation:E}}function a(y,S){if(y==="font")return"";if(typeof S=="string")return S==="use-credentials"?S:""}function n(y){return y===null?"`null`":y===void 0?"`undefined`":y===""?"an empty string":'something with type "'+typeof y+'"'}function i(y){return y===null?"`null`":y===void 0?"`undefined`":y===""?"an empty string":typeof y=="string"?JSON.stringify(y):typeof y=="number"?"`"+y+"`":'something with type "'+typeof y+'"'}function u(){var y=I.H;return y===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
2
2
  1. You might have mismatching versions of React and the renderer (such as React DOM)
3
3
  2. You might be breaking the Rules of Hooks
4
4
  3. You might have more than one copy of React in the same app
@@ -1 +1 @@
1
- import{b as e}from"./chunk-3WV7DQMM.js";import{a as i}from"./chunk-76NEIDP5.js";import{wb as t}from"./chunk-HQUWYKSJ.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();o();async function s(){t(i)}var r=class extends e{static description="Shopify CLI version currently installed.";async run(){await s()}};export{r as a};
1
+ import{b as e}from"./chunk-2XDUJQQN.js";import{a as i}from"./chunk-VASGXHYA.js";import{wb as t}from"./chunk-VFM2KQRM.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();o();async function s(){t(i)}var r=class extends e{static description="Shopify CLI version currently installed.";async run(){await s()}};export{r as a};
@@ -1,4 +1,4 @@
1
- import{b as l}from"./chunk-IX4IGE5H.js";import{b as u}from"./chunk-3WV7DQMM.js";import{r as f}from"./chunk-PK73ZSND.js";import{h as n}from"./chunk-BI7LE6CZ.js";import{a as g}from"./chunk-CTNBSUVU.js";import{wb as m}from"./chunk-HQUWYKSJ.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-YEVGLC5X.js";import{b as u}from"./chunk-2XDUJQQN.js";import{s as f}from"./chunk-3JXPOOFV.js";import{h as n}from"./chunk-BWJIZYAG.js";import{a as g}from"./chunk-CTNBSUVU.js";import{wb as m}from"./chunk-VFM2KQRM.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,3 +1,3 @@
1
- import{a as oe}from"./chunk-PV6T52KB.js";import{d as ie}from"./chunk-IX4IGE5H.js";import{a as ne,b as se}from"./chunk-3WV7DQMM.js";import{Aa as V,C as w,J as C,S as L,a as K,xa as Q,za as U}from"./chunk-PK73ZSND.js";import{e as x}from"./chunk-AFT6ABDE.js";import{A as N,B as I,E as te,a as W,x as ee}from"./chunk-WSCSFFLH.js";import{d as X,e as Z}from"./chunk-6K3AJTNO.js";import{h as F,k as re}from"./chunk-BI7LE6CZ.js";import{a as Ie}from"./chunk-CTNBSUVU.js";import{Ab as h,Fa as J,Ua as _,qb as R,sb as l}from"./chunk-HQUWYKSJ.js";import{d as z,f as k,i as Y,q as $}from"./chunk-773TIA5M.js";import{e as Te,g as f}from"./chunk-VKWPEFWQ.js";f();var T=Te(Ie(),1);var q={path:T.Flags.string({description:"The path where you want to run the command. Defaults to the current working directory.",env:"SHOPIFY_FLAG_PATH",parse:async t=>{let e=k(t);return _(e)?J(e)?e:(I({headline:"The path must be a directory, not a file.",body:[`The provided path is not a directory: ${e}`,`Did you mean: ${Y(e)}`]}),process.exit(1)):(I({headline:"A path was explicitly provided but doesn't exist.",body:[`Please check the path and try again: ${e}`]}),process.exit(1))},default:async()=>$(),noCacheDefault:!0}),password:T.Flags.string({description:"Password generated from the Theme Access app or an Admin API token.",env:"SHOPIFY_CLI_THEME_TOKEN"}),store:T.Flags.string({char:"s",description:"Store URL. It can be the store prefix (example) or the full myshopify.com URL (example.myshopify.com, https://example.myshopify.com).",env:"SHOPIFY_FLAG_STORE",parse:async t=>w(t)}),environment:T.Flags.string({char:"e",description:"The environment to apply to the current command.",env:"SHOPIFY_FLAG_ENVIRONMENT",multiple:!0})},ae="Wrap the value in double quotes if you're using wildcards.",qe=t=>({only:T.Flags.string({char:"o",multiple:!0,description:`${t.charAt(0).toUpperCase()+t.slice(1)} only the specified files (Multiple flags allowed). ${ae}`,env:"SHOPIFY_FLAG_ONLY"}),ignore:T.Flags.string({char:"x",multiple:!0,description:`Skip ${t}ing the specified files (Multiple flags allowed). ${ae}`,env:"SHOPIFY_FLAG_IGNORE"})});f();f();import{AsyncLocalStorage as _e}from"node:async_hooks";var pe=new _e,ce,ue,me,de;function S(){return ce??=new x({projectName:"shopify-cli-theme-conf"}),ce}function O(){return ue??=new x({projectName:"shopify-cli-development-theme-config"}),ue}function j(){return me??=new x({projectName:"shopify-cli-repl-theme-config"}),me}function D(){return de??=new x({projectName:"shopify-cli-theme-store-password"}),de}function M(t=S()){return pe.getStore()?.store??t.get("themeStore")}function fe(t,e=S()){e.set("themeStore",t)}function He(t=S()){return h(l`Getting development theme...`),O().get(v(t))}function ze(t,e=S()){h(l`Setting development theme...`),O().set(v(e),t)}function Ye(t=S()){h(l`Removing development theme...`),O().delete(v(t))}function Je(t=S()){return h(l`Getting REPL theme...`),j().get(v(t))}function We(t,e=S()){h(l`Setting REPL theme to ${t}...`),j().set(v(e),t)}function Ke(t=S()){h(l`Removing REPL theme...`),j().delete(v(t))}function Qe(t=S()){let e=v(t);return h(l`Getting storefront password for shop ${e}...`),D().get(e)}function Ve(t,e=S()){let o=v(e);h(l`Setting storefront password for shop ${o}...`),D().set(o,t)}function Xe(t=S()){let e=v(t);h(l`Removing storefront password for ${e}...`),D().delete(e)}function v(t=S()){let e=M(t);if(!e)throw new re("Theme store is not set. This indicates an unexpected issue with the CLI. Please report this to the Shopify CLI team.",["It may be possible to recover by running",{command:"shopify theme list --store <store>"},"(setting the store flag to the store you wish to use) and then running the command again."]);return e}async function he(t,e){return pe.run({store:t},e)}function le(t){let e=t.store??M();if(!e)throw Q(new F("A store is required",`Specify the store passing ${l`${R.genericShellCommand(`--${q.store.name}=example.myshopify.com`)}`.value} or set the ${l`${R.genericShellCommand(q.store.env)}`.value} environment variable.`));return fe(e),e}f();f();var Se="shopify.theme.toml",ct=new Intl.DateTimeFormat(void 0,{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),ut=["**/.git","**/.vscode","**/.hg","**/.bzr","**/.svn","**/_darcs","**/CVS","**/*.sublime-(project|workspace)","**/.DS_Store","**/.sass-cache","**/Thumbs.db","**/desktop.ini","**/config.yml","**/node_modules/",".prettierrc.json","**/{blocks,layout,snippets}/**/*.liquid.tmp.*","**/{config,locales}/**/*.json.tmp.*","**/{sections,templates}/**/*.{liquid,json}.tmp.*"],mt=50;f();f();var B="7e9cb568cfd431c538f36d1ad3f2b4f6";var Fe="shopify-cli-store",be=240*1e3,ge;function P(){return ge??=new x({projectName:Fe}),ge}function b(t){return`${B}::${Ee(t)}`}function Ee(t){return t.replace(/\\/g,"\\\\").replace(/\./g,"\\.")}function d(t){return typeof t=="string"}function ke(t){if(!t||typeof t!="object")return;let e=t;if(typeof e.id=="number")return{id:e.id,...d(e.email)?{email:e.email}:{},...d(e.firstName)?{firstName:e.firstName}:{},...d(e.lastName)?{lastName:e.lastName}:{},...typeof e.accountOwner=="boolean"?{accountOwner:e.accountOwner}:{}}}function $e(t){if(!t||typeof t!="object")return;let e=t;if(!(!d(e.shopId)||!d(e.name)||!d(e.createdAt)))return{shopId:e.shopId,name:e.name,createdAt:e.createdAt,...d(e.placeholderAccountUuid)?{placeholderAccountUuid:e.placeholderAccountUuid}:{},...d(e.country)?{country:e.country}:{},...d(e.accessUrl)?{accessUrl:e.accessUrl}:{}}}function Pe(t){if(!t||typeof t!="object")return;let e=t;if(!d(e.store)||!d(e.clientId)||!d(e.userId)||!d(e.accessToken)||!Array.isArray(e.scopes)||!e.scopes.every(d)||!d(e.acquiredAt))return;let o=ke(e.associatedUser),r=e.kind==="preview"?"preview":"standard",n=r==="preview"?$e(e.preview):void 0;if(!(r==="preview"&&!n))return{store:e.store,clientId:e.clientId,userId:e.userId,accessToken:e.accessToken,scopes:e.scopes,acquiredAt:e.acquiredAt,...d(e.refreshToken)?{refreshToken:e.refreshToken}:{},...d(e.expiresAt)?{expiresAt:e.expiresAt}:{},...d(e.refreshTokenExpiresAt)?{refreshTokenExpiresAt:e.refreshTokenExpiresAt}:{},...o?{associatedUser:o}:{},...r==="preview"?{kind:r}:{},...n?{preview:n}:{}}}function ye(t,e,o){if(!e||typeof e!="object")return;let{sessionsByUserId:r,currentUserId:n}=e;if(!(r!==void 0||n!==void 0))return;let s=b(t);if(!r||typeof r!="object"||Array.isArray(r)||typeof n!="string"){o.delete(s);return}let a=Object.fromEntries(Object.entries(r).flatMap(([u,c])=>{let p=Pe(c);return p?[[u,p]]:[]}));if(Object.keys(a).length!==Object.keys(r).length)if(a[n])o.set(s,{currentUserId:n,sessionsByUserId:a});else{o.delete(s);return}return{currentUserId:n,sessionsByUserId:a}}function G(t,e){return ye(t,e.get(b(t)),e)}function Ce(t){return t.config?.store??{}}function we(t=P()){let e=[],o=`${B}::`;for(let[r,n]of Object.entries(Ce(t))){if(!r.startsWith(o))continue;let i=ye(r.slice(o.length),n,t),s=i?.sessionsByUserId[i.currentUserId];s&&e.push(s)}return e}function Ae(t,e=P()){let o=w(t),r=G(o,e);if(!r)return;let n=r.sessionsByUserId[r.currentUserId];if(!n){e.delete(b(o));return}return n}function wt(t,e=P()){let o=b(t.store),r=G(t.store,e),n={currentUserId:t.userId,sessionsByUserId:{...r?.sessionsByUserId??{},[t.userId]:t}};e.set(o,n)}function At(t,e,o){let r=w(t),n=typeof e=="string"?e:void 0,i=(typeof e=="string"?o:e)??P(),s=b(r);if(!n){i.delete(s);return}let a=G(r,i);if(!a)return;let{[n]:u,...c}=a.sessionsByUserId,p=Object.keys(c);if(p.length===0){i.delete(s);return}i.set(s,{currentUserId:a.currentUserId===n?p[0]:a.currentUserId,sessionsByUserId:c})}function ve(t){if(!t.expiresAt)return!1;let e=new Date(t.expiresAt).getTime();return Number.isNaN(e)?!0:e-be<Date.now()}var H=class extends se{static baseFlags=ie;environmentsFilename(){return Se}async command(e,o,r=!1,n,i){}async run(e){let o=this.constructor,r=o.multiEnvironmentsFlags,{args:n,flags:i}=await this.parse(o),s="password"in o.flags,a=(Array.isArray(i.environment)?i.environment:[i.environment]).filter(Boolean),u=r!==null&&r.some(m=>Array.isArray(m)?m.includes("store"):m==="store");if(a.length<=1){if(a[0]&&!i.store&&u)throw new F("Please provide a valid environment.");let m=s?await this.createSession(i):void 0,A=this.constructor.name.toLowerCase();if(U(`theme-command:${A}:single-env:authenticated`),i.path&&!_(i.path))throw new F(`Path does not exist: ${i.path}`);try{await this.command(i,m,!1,n)}finally{await this.logAnalyticsData(m)}return}if(r===null){N({body:"This command does not support multiple environments."});return}let{flags:c}=await this.parse(ne(o),this.argv);if("path"in c){this.errorOnGlobalPath();return}let p=await this.loadEnvironments(a,i,c),g=await this.validateEnvironments(p,r,s);"force"in o.flags&&!i.force&&!await this.showConfirmation(this.constructor.name,r,g)||await this.runConcurrent(g.valid)}storeAuthScopes(){}async loadEnvironments(e,o,r){let n=new Map;for(let i of e){let s=await oe(i,"shopify.theme.toml",{from:o.path,silent:!0});s?.store&&typeof s.store=="string"&&(s.store=w(s.store)),s?.path&&typeof s.path=="string"&&(s.path=k(s.path)),n.set(i,{flags:{...o,...s,...r,environment:[i]},validationFlags:{...s,...r}})}return n}async validateEnvironments(e,o,r){let n=[],i=[],s=r?this.storeAuthSessionsForTheme(Array.from(e.values()).map(({validationFlags:u})=>u)):new Map,a=Array.from(e.entries()).map(([u,{flags:c,validationFlags:p}])=>({environmentName:u,flags:c,validationFlags:p,storeAuthSession:this.storeAuthSessionFromCache(p,s)}));for(let{environmentName:u,flags:c,validationFlags:p,storeAuthSession:g}of a){let y=this.validConfig(p,o,u,g);if(y!==!0){let m=y.join(", ");i.push({environment:u,reason:`Missing flags: ${m}`});continue}n.push({environment:u,flags:c,requiresAuth:r,storeAuthSession:g})}return{valid:n,invalid:i}}async showConfirmation(e,o,r){let s={message:[`Run ${e.toLowerCase()} in the following environments?`],confirmationMessage:"Yes, proceed",cancellationMessage:"Cancel"},a=[...r.valid.map(({environment:u,flags:c})=>{let p=o.map(g=>{let y=Array.isArray(g)?g.find(m=>c[m]):g;if(y==="password")return"password";if(y==="path"&&typeof c.path=="string"){let m=c.path.split(/[/\\]/);if(m.length===1)return`path: ${c.path}`;let A=m[0]===""?`/${m[1]}`:m[0],E=m.at(-1);return`path: ${A}/.../${E}`}return y&&`${y}: ${c[y]}`}).join(", ");return[u,{subdued:p||"No flags required"}]}),...r.invalid.map(({environment:u,reason:c})=>[u,{error:`Skipping | ${c}`}])];return s.infoTable={Environment:a},r.invalid.length>0&&(s.confirmationMessage="Proceed anyway (will skip invalid environments)"),te(s)}async runConcurrent(e){let o=new W,r=e.map(s=>s.flags.store),n=new Set(r),i=r.length===n.size?[e]:this.createSequentialGroups(e);for(let s of i)await ee({processes:s.map(({environment:a,flags:u,requiresAuth:c,storeAuthSession:p})=>({prefix:a,action:async(g,y,m)=>{try{let A=u.store;await he(A,async()=>{let E=c?await this.createSession(u,p):void 0,xe=this.constructor.name.toLowerCase();U(`theme-command:${xe}:multi-env:authenticated`);try{await this.command(u,E,!0,{},{stdout:g,stderr:y})}finally{await this.logAnalyticsData(E)}})}catch(A){A instanceof Error&&(A.message=`Environment ${a} failed:
1
+ import{a as oe}from"./chunk-7ISJRIPT.js";import{d as ie}from"./chunk-YEVGLC5X.js";import{a as ne,b as se}from"./chunk-2XDUJQQN.js";import{Aa as U,Ba as V,D as w,K as C,T as L,b as K,ya as Q}from"./chunk-3JXPOOFV.js";import{A as N,B as I,E as te,a as W,x as ee}from"./chunk-YFINLODF.js";import{e as x}from"./chunk-YZMY2CTU.js";import{d as X,e as Z}from"./chunk-NHAUJWEG.js";import{h as F,k as re}from"./chunk-BWJIZYAG.js";import{a as Ie}from"./chunk-CTNBSUVU.js";import{Ab as h,Fa as J,Ua as _,qb as R,sb as l}from"./chunk-VFM2KQRM.js";import{d as z,f as k,i as Y,q as $}from"./chunk-773TIA5M.js";import{e as Te,g as f}from"./chunk-VKWPEFWQ.js";f();var T=Te(Ie(),1);var q={path:T.Flags.string({description:"The path where you want to run the command. Defaults to the current working directory.",env:"SHOPIFY_FLAG_PATH",parse:async t=>{let e=k(t);return _(e)?J(e)?e:(I({headline:"The path must be a directory, not a file.",body:[`The provided path is not a directory: ${e}`,`Did you mean: ${Y(e)}`]}),process.exit(1)):(I({headline:"A path was explicitly provided but doesn't exist.",body:[`Please check the path and try again: ${e}`]}),process.exit(1))},default:async()=>$(),noCacheDefault:!0}),password:T.Flags.string({description:"Password generated from the Theme Access app or an Admin API token.",env:"SHOPIFY_CLI_THEME_TOKEN"}),store:T.Flags.string({char:"s",description:"Store URL. It can be the store prefix (example) or the full myshopify.com URL (example.myshopify.com, https://example.myshopify.com).",env:"SHOPIFY_FLAG_STORE",parse:async t=>w(t)}),environment:T.Flags.string({char:"e",description:"The environment to apply to the current command.",env:"SHOPIFY_FLAG_ENVIRONMENT",multiple:!0})},ae="Wrap the value in double quotes if you're using wildcards.",qe=t=>({only:T.Flags.string({char:"o",multiple:!0,description:`${t.charAt(0).toUpperCase()+t.slice(1)} only the specified files (Multiple flags allowed). ${ae}`,env:"SHOPIFY_FLAG_ONLY"}),ignore:T.Flags.string({char:"x",multiple:!0,description:`Skip ${t}ing the specified files (Multiple flags allowed). ${ae}`,env:"SHOPIFY_FLAG_IGNORE"})});f();f();import{AsyncLocalStorage as _e}from"node:async_hooks";var pe=new _e,ce,ue,me,de;function S(){return ce??=new x({projectName:"shopify-cli-theme-conf"}),ce}function O(){return ue??=new x({projectName:"shopify-cli-development-theme-config"}),ue}function j(){return me??=new x({projectName:"shopify-cli-repl-theme-config"}),me}function D(){return de??=new x({projectName:"shopify-cli-theme-store-password"}),de}function M(t=S()){return pe.getStore()?.store??t.get("themeStore")}function fe(t,e=S()){e.set("themeStore",t)}function He(t=S()){return h(l`Getting development theme...`),O().get(v(t))}function ze(t,e=S()){h(l`Setting development theme...`),O().set(v(e),t)}function Ye(t=S()){h(l`Removing development theme...`),O().delete(v(t))}function Je(t=S()){return h(l`Getting REPL theme...`),j().get(v(t))}function We(t,e=S()){h(l`Setting REPL theme to ${t}...`),j().set(v(e),t)}function Ke(t=S()){h(l`Removing REPL theme...`),j().delete(v(t))}function Qe(t=S()){let e=v(t);return h(l`Getting storefront password for shop ${e}...`),D().get(e)}function Ve(t,e=S()){let o=v(e);h(l`Setting storefront password for shop ${o}...`),D().set(o,t)}function Xe(t=S()){let e=v(t);h(l`Removing storefront password for ${e}...`),D().delete(e)}function v(t=S()){let e=M(t);if(!e)throw new re("Theme store is not set. This indicates an unexpected issue with the CLI. Please report this to the Shopify CLI team.",["It may be possible to recover by running",{command:"shopify theme list --store <store>"},"(setting the store flag to the store you wish to use) and then running the command again."]);return e}async function he(t,e){return pe.run({store:t},e)}function le(t){let e=t.store??M();if(!e)throw Q(new F("A store is required",`Specify the store passing ${l`${R.genericShellCommand(`--${q.store.name}=example.myshopify.com`)}`.value} or set the ${l`${R.genericShellCommand(q.store.env)}`.value} environment variable.`));return fe(e),e}f();f();var Se="shopify.theme.toml",ct=new Intl.DateTimeFormat(void 0,{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),ut=["**/.git","**/.vscode","**/.hg","**/.bzr","**/.svn","**/_darcs","**/CVS","**/*.sublime-(project|workspace)","**/.DS_Store","**/.sass-cache","**/Thumbs.db","**/desktop.ini","**/config.yml","**/node_modules/",".prettierrc.json","**/{blocks,layout,snippets}/**/*.liquid.tmp.*","**/{config,locales}/**/*.json.tmp.*","**/{sections,templates}/**/*.{liquid,json}.tmp.*"],mt=50;f();f();var B="7e9cb568cfd431c538f36d1ad3f2b4f6";var Fe="shopify-cli-store",be=240*1e3,ge;function P(){return ge??=new x({projectName:Fe}),ge}function b(t){return`${B}::${Ee(t)}`}function Ee(t){return t.replace(/\\/g,"\\\\").replace(/\./g,"\\.")}function d(t){return typeof t=="string"}function ke(t){if(!t||typeof t!="object")return;let e=t;if(typeof e.id=="number")return{id:e.id,...d(e.email)?{email:e.email}:{},...d(e.firstName)?{firstName:e.firstName}:{},...d(e.lastName)?{lastName:e.lastName}:{},...typeof e.accountOwner=="boolean"?{accountOwner:e.accountOwner}:{}}}function $e(t){if(!t||typeof t!="object")return;let e=t;if(!(!d(e.shopId)||!d(e.name)||!d(e.createdAt)))return{shopId:e.shopId,name:e.name,createdAt:e.createdAt,...d(e.placeholderAccountUuid)?{placeholderAccountUuid:e.placeholderAccountUuid}:{},...d(e.country)?{country:e.country}:{},...d(e.accessUrl)?{accessUrl:e.accessUrl}:{}}}function Pe(t){if(!t||typeof t!="object")return;let e=t;if(!d(e.store)||!d(e.clientId)||!d(e.userId)||!d(e.accessToken)||!Array.isArray(e.scopes)||!e.scopes.every(d)||!d(e.acquiredAt))return;let o=ke(e.associatedUser),r=e.kind==="preview"?"preview":"standard",n=r==="preview"?$e(e.preview):void 0;if(!(r==="preview"&&!n))return{store:e.store,clientId:e.clientId,userId:e.userId,accessToken:e.accessToken,scopes:e.scopes,acquiredAt:e.acquiredAt,...d(e.refreshToken)?{refreshToken:e.refreshToken}:{},...d(e.expiresAt)?{expiresAt:e.expiresAt}:{},...d(e.refreshTokenExpiresAt)?{refreshTokenExpiresAt:e.refreshTokenExpiresAt}:{},...o?{associatedUser:o}:{},...r==="preview"?{kind:r}:{},...n?{preview:n}:{}}}function ye(t,e,o){if(!e||typeof e!="object")return;let{sessionsByUserId:r,currentUserId:n}=e;if(!(r!==void 0||n!==void 0))return;let s=b(t);if(!r||typeof r!="object"||Array.isArray(r)||typeof n!="string"){o.delete(s);return}let a=Object.fromEntries(Object.entries(r).flatMap(([u,c])=>{let p=Pe(c);return p?[[u,p]]:[]}));if(Object.keys(a).length!==Object.keys(r).length)if(a[n])o.set(s,{currentUserId:n,sessionsByUserId:a});else{o.delete(s);return}return{currentUserId:n,sessionsByUserId:a}}function G(t,e){return ye(t,e.get(b(t)),e)}function Ce(t){return t.config?.store??{}}function we(t=P()){let e=[],o=`${B}::`;for(let[r,n]of Object.entries(Ce(t))){if(!r.startsWith(o))continue;let i=ye(r.slice(o.length),n,t),s=i?.sessionsByUserId[i.currentUserId];s&&e.push(s)}return e}function Ae(t,e=P()){let o=w(t),r=G(o,e);if(!r)return;let n=r.sessionsByUserId[r.currentUserId];if(!n){e.delete(b(o));return}return n}function wt(t,e=P()){let o=b(t.store),r=G(t.store,e),n={currentUserId:t.userId,sessionsByUserId:{...r?.sessionsByUserId??{},[t.userId]:t}};e.set(o,n)}function At(t,e,o){let r=w(t),n=typeof e=="string"?e:void 0,i=(typeof e=="string"?o:e)??P(),s=b(r);if(!n){i.delete(s);return}let a=G(r,i);if(!a)return;let{[n]:u,...c}=a.sessionsByUserId,p=Object.keys(c);if(p.length===0){i.delete(s);return}i.set(s,{currentUserId:a.currentUserId===n?p[0]:a.currentUserId,sessionsByUserId:c})}function ve(t){if(!t.expiresAt)return!1;let e=new Date(t.expiresAt).getTime();return Number.isNaN(e)?!0:e-be<Date.now()}var H=class extends se{static baseFlags=ie;environmentsFilename(){return Se}async command(e,o,r=!1,n,i){}async run(e){let o=this.constructor,r=o.multiEnvironmentsFlags,{args:n,flags:i}=await this.parse(o),s="password"in o.flags,a=(Array.isArray(i.environment)?i.environment:[i.environment]).filter(Boolean),u=r!==null&&r.some(m=>Array.isArray(m)?m.includes("store"):m==="store");if(a.length<=1){if(a[0]&&!i.store&&u)throw new F("Please provide a valid environment.");let m=s?await this.createSession(i):void 0,A=this.constructor.name.toLowerCase();if(U(`theme-command:${A}:single-env:authenticated`),i.path&&!_(i.path))throw new F(`Path does not exist: ${i.path}`);try{await this.command(i,m,!1,n)}finally{await this.logAnalyticsData(m)}return}if(r===null){N({body:"This command does not support multiple environments."});return}let{flags:c}=await this.parse(ne(o),this.argv);if("path"in c){this.errorOnGlobalPath();return}let p=await this.loadEnvironments(a,i,c),g=await this.validateEnvironments(p,r,s);"force"in o.flags&&!i.force&&!await this.showConfirmation(this.constructor.name,r,g)||await this.runConcurrent(g.valid)}storeAuthScopes(){}async loadEnvironments(e,o,r){let n=new Map;for(let i of e){let s=await oe(i,"shopify.theme.toml",{from:o.path,silent:!0});s?.store&&typeof s.store=="string"&&(s.store=w(s.store)),s?.path&&typeof s.path=="string"&&(s.path=k(s.path)),n.set(i,{flags:{...o,...s,...r,environment:[i]},validationFlags:{...s,...r}})}return n}async validateEnvironments(e,o,r){let n=[],i=[],s=r?this.storeAuthSessionsForTheme(Array.from(e.values()).map(({validationFlags:u})=>u)):new Map,a=Array.from(e.entries()).map(([u,{flags:c,validationFlags:p}])=>({environmentName:u,flags:c,validationFlags:p,storeAuthSession:this.storeAuthSessionFromCache(p,s)}));for(let{environmentName:u,flags:c,validationFlags:p,storeAuthSession:g}of a){let y=this.validConfig(p,o,u,g);if(y!==!0){let m=y.join(", ");i.push({environment:u,reason:`Missing flags: ${m}`});continue}n.push({environment:u,flags:c,requiresAuth:r,storeAuthSession:g})}return{valid:n,invalid:i}}async showConfirmation(e,o,r){let s={message:[`Run ${e.toLowerCase()} in the following environments?`],confirmationMessage:"Yes, proceed",cancellationMessage:"Cancel"},a=[...r.valid.map(({environment:u,flags:c})=>{let p=o.map(g=>{let y=Array.isArray(g)?g.find(m=>c[m]):g;if(y==="password")return"password";if(y==="path"&&typeof c.path=="string"){let m=c.path.split(/[/\\]/);if(m.length===1)return`path: ${c.path}`;let A=m[0]===""?`/${m[1]}`:m[0],E=m.at(-1);return`path: ${A}/.../${E}`}return y&&`${y}: ${c[y]}`}).join(", ");return[u,{subdued:p||"No flags required"}]}),...r.invalid.map(({environment:u,reason:c})=>[u,{error:`Skipping | ${c}`}])];return s.infoTable={Environment:a},r.invalid.length>0&&(s.confirmationMessage="Proceed anyway (will skip invalid environments)"),te(s)}async runConcurrent(e){let o=new W,r=e.map(s=>s.flags.store),n=new Set(r),i=r.length===n.size?[e]:this.createSequentialGroups(e);for(let s of i)await ee({processes:s.map(({environment:a,flags:u,requiresAuth:c,storeAuthSession:p})=>({prefix:a,action:async(g,y,m)=>{try{let A=u.store;await he(A,async()=>{let E=c?await this.createSession(u,p):void 0,xe=this.constructor.name.toLowerCase();U(`theme-command:${xe}:multi-env:authenticated`);try{await this.command(u,E,!0,{},{stdout:g,stderr:y})}finally{await this.logAnalyticsData(E)}})}catch(A){A instanceof Error&&(A.message=`Environment ${a} failed:
2
2
 
3
3
  ${A.message}`,I({body:[A.message]}))}}})),abortSignal:o.signal,showTimestamps:!0,renderOptions:{stdout:process.stderr}})}createSequentialGroups(e){let o=[];return e.forEach(r=>{let n=o.find(i=>!i.some(s=>s.flags.store===r.flags.store));n?n.push(r):o.push([r])}),o}async createSession(e,o){let r=le({store:e.store}),n=e.password;return n?await L(r,n):o??await this.storeAuthSessionForTheme({store:r})??await L(r,n)}async storeAuthSessionForTheme(e){let o=this.storeAuthScopes();if(!o)return;let r=typeof e.store=="string"?e.store:void 0,n=e.password;if(!r||n)return;let i=w(r),s=Ae(i);if(s)return this.adminSessionFromStoreAuthSession(s,i,o)}storeAuthSessionsForTheme(e){let o=this.storeAuthScopes();if(!o)return new Map;let r=new Set(e.filter(({store:n,password:i})=>typeof n=="string"&&!i).map(({store:n})=>w(n)));return r.size===0?new Map:new Map(we().map(n=>{let i=w(n.store);if(!r.has(i))return;let s=this.adminSessionFromStoreAuthSession(n,i,o);return s?[i,s]:void 0}).filter(n=>n!==void 0))}storeAuthSessionFromCache(e,o){let r=typeof e.store=="string"?e.store:void 0,n=e.password;if(!(!r||n))return o.get(w(r))}adminSessionFromStoreAuthSession(e,o,r){if(ve(e)){h(`Ignoring stored store auth session for ${o}: it expired at ${e.expiresAt??"unknown"}.`);return}if(!this.hasRequiredStoreAuthScopes(e.scopes,r)){h(`Ignoring stored store auth session for ${o}: it is missing required scopes (has: ${e.scopes.join(", ")}; needs: ${r.join(", ")}).`);return}return h(`Using stored store auth session for ${o} (scopes: ${e.scopes.join(", ")}).`),C(e.userId),{token:e.accessToken,storeFqdn:o}}expandImpliedStoreAuthScopes(e){let o=new Set(e);for(let r of e){let n=r.match(/^(unauthenticated_)?write_(.*)$/);n&&o.add(`${n[1]??""}read_${n[2]}`)}return o}hasRequiredStoreAuthScopes(e,o){let r=this.expandImpliedStoreAuthScopes(e);return o.every(n=>r.has(n))}validConfig(e,o,r,n){let i=o.filter(s=>Array.isArray(s)?!s.some(a=>this.hasRequiredFlag(e,a,n)):!this.hasRequiredFlag(e,s,n)).map(s=>Array.isArray(s)?s.join(" or "):s);return i.length>0?(N({body:[`Missing required flags in environment configuration${r?` for ${r}`:""}:`,{list:{items:i}}]}),i):!0}hasRequiredFlag(e,o,r){return o==="password"&&r?!0:!!e[o]}errorOnGlobalPath(){let e=z($(),"shopify.theme.toml"),o=_(e);I({body:["Can't use `--path` flag with multiple environments.",...o?["Configure each environment's theme path in your shopify.theme.toml file instead."]:["Run this command from the directory containing shopify.theme.toml.","No shopify.theme.toml found in current directory."]]})}async logAnalyticsData(e){if(!e)return;let o=V();await X(()=>({store_fqdn_hash:K(e.storeFqdn),store_domain:e.storeFqdn,cmd_theme_timings:JSON.stringify(o.timings),cmd_theme_errors:JSON.stringify(o.errors),cmd_theme_retries:JSON.stringify(o.retries),cmd_theme_events:JSON.stringify(o.events)})),await Z(()=>({store_fqdn:e.storeFqdn}))}};export{B as a,we as b,Ae as c,wt as d,At as e,M as f,He as g,ze as h,Ye as i,Je as j,We as k,Ke as l,Qe as m,Ve as n,Xe as o,q as p,qe as q,le as r,ct as s,ut as t,mt as u,H as v};
@@ -1 +1 @@
1
- import{c as d}from"./chunk-K63FW7Q7.js";import{za as i}from"./chunk-PK73ZSND.js";import{A as m,B as u,E as s,H as a}from"./chunk-WSCSFFLH.js";import{g as c}from"./chunk-VKWPEFWQ.js";c();function f(e){return[`'${e.name}'`,{subdued:`(#${e.id})`}]}function y(e){return{list:{items:e.map(f)}}}async function T(e,r="It doesn't seem like you're running this command in a theme directory.",o,n){if(e)return!0;if(n)return u({headline:o?`Environment: ${o}`:"",body:r}),!1;if(m({body:r}),!process.stdout.isTTY)return!0;let t=await s({message:"Do you want to proceed?"});return i(`theme-service:confirm-directory:${t}`),t}async function v(e,r,o){if(e.role!==d||!process.stdout.isTTY||o)return!0;let n=`You're about to ${r} on your live theme "${e.name}". This will make changes visible to customers. Are you sure you want to proceed?`,t=await s({message:n,confirmationMessage:"Yes, proceed with live theme",cancellationMessage:"No, cancel"});return i(`theme-service:confirm-live-theme:${t}`),t}async function E(e,r,o=!1){e.length>0&&await a(e,{renderOptions:{stdout:r??process.stderr},noProgressBar:o})}export{f as a,y as b,T as c,v as d,E as e};
1
+ import{c as d}from"./chunk-5SEEDOQ5.js";import{Aa as i}from"./chunk-3JXPOOFV.js";import{A as m,B as u,E as s,H as a}from"./chunk-YFINLODF.js";import{g as c}from"./chunk-VKWPEFWQ.js";c();function f(e){return[`'${e.name}'`,{subdued:`(#${e.id})`}]}function y(e){return{list:{items:e.map(f)}}}async function T(e,r="It doesn't seem like you're running this command in a theme directory.",o,n){if(e)return!0;if(n)return u({headline:o?`Environment: ${o}`:"",body:r}),!1;if(m({body:r}),!process.stdout.isTTY)return!0;let t=await s({message:"Do you want to proceed?"});return i(`theme-service:confirm-directory:${t}`),t}async function v(e,r,o){if(e.role!==d||!process.stdout.isTTY||o)return!0;let n=`You're about to ${r} on your live theme "${e.name}". This will make changes visible to customers. Are you sure you want to proceed?`,t=await s({message:n,confirmationMessage:"Yes, proceed with live theme",cancellationMessage:"No, cancel"});return i(`theme-service:confirm-live-theme:${t}`),t}async function E(e,r,o=!1){e.length>0&&await a(e,{renderOptions:{stdout:r??process.stderr},noProgressBar:o})}export{f as a,y as b,T as c,v as d,E as e};
@@ -1 +1 @@
1
- import{n as A}from"./chunk-7EUIO4ZO.js";import{a as P}from"./chunk-Y6UZW73M.js";import{c as C}from"./chunk-WEWLPJK2.js";import{s as T}from"./chunk-K63FW7Q7.js";import{r as w}from"./chunk-3KM2GKXH.js";import{a as D}from"./chunk-QHLY2IID.js";import{S as u}from"./chunk-PK73ZSND.js";import{B as y,z as h}from"./chunk-WSCSFFLH.js";import{Ab as O,va as p}from"./chunk-HQUWYKSJ.js";import{d,q as m}from"./chunk-773TIA5M.js";import{g as l}from"./chunk-VKWPEFWQ.js";l();async function q(e){P({verbose:e.verbose,noColor:e.noColor});let t=w({store:e.store}),o=await u(t,e.password);await R(o,{path:e.path??m(),force:e.force??!1,silent:e.silent??!1})}var E={article:"ARTICLE",blog:"BLOG",collection:"COLLECTION",company:"COMPANY",company_location:"COMPANY_LOCATION",location:"LOCATION",market:"MARKET",order:"ORDER",page:"PAGE",product:"PRODUCT",variant:"PRODUCTVARIANT",shop:"SHOP"};async function R(e,t){let{force:o,path:i,silent:n}=t;if(!await A(i)&&(process.env.SHOPIFY_LANGUAGE_SERVER==="1"||!await C(o)))return;let f=[],r=[];for(let[a,s]of Object.entries(E))f.push(T(s,e).catch(c=>(r.push(s),[])).then(c=>({[a]:c})));let b=(await Promise.all(f)).reduce((a,s)=>({...a,...s}));if(r.length===Object.values(E).length){n||y({body:"Failed to fetch metafield definitions.",nextSteps:["Check your network connection and try again.","Ensure you have the permission to fetch metafield definitions."],reference:[{link:{label:"Metafield Definition API",url:"https://shopify.dev/docs/api/admin-graphql/latest/queries/metafieldDefinition"}}]});return}await S(i,b),r.length>0&&O(`Failed to fetch metafield definitions for the following owner types: ${r.join(", ")}`),n||h({body:"Metafield definitions have been successfully downloaded."})}async function S(e,t){let o=await D(e),i=d(o,"metafields.json"),n=JSON.stringify(t,null,2);p(i,n)}export{q as a};
1
+ import{n as A}from"./chunk-7T6M7FAC.js";import{a as P}from"./chunk-FDBHQLFK.js";import{c as C}from"./chunk-GRPKF5ZB.js";import{s as T}from"./chunk-5SEEDOQ5.js";import{r as w}from"./chunk-GNBRCK7L.js";import{a as D}from"./chunk-TUVDJ3PG.js";import{T as u}from"./chunk-3JXPOOFV.js";import{B as y,z as h}from"./chunk-YFINLODF.js";import{Ab as O,va as p}from"./chunk-VFM2KQRM.js";import{d,q as m}from"./chunk-773TIA5M.js";import{g as l}from"./chunk-VKWPEFWQ.js";l();async function q(e){P({verbose:e.verbose,noColor:e.noColor});let t=w({store:e.store}),o=await u(t,e.password);await R(o,{path:e.path??m(),force:e.force??!1,silent:e.silent??!1})}var E={article:"ARTICLE",blog:"BLOG",collection:"COLLECTION",company:"COMPANY",company_location:"COMPANY_LOCATION",location:"LOCATION",market:"MARKET",order:"ORDER",page:"PAGE",product:"PRODUCT",variant:"PRODUCTVARIANT",shop:"SHOP"};async function R(e,t){let{force:o,path:i,silent:n}=t;if(!await A(i)&&(process.env.SHOPIFY_LANGUAGE_SERVER==="1"||!await C(o)))return;let f=[],r=[];for(let[a,s]of Object.entries(E))f.push(T(s,e).catch(c=>(r.push(s),[])).then(c=>({[a]:c})));let b=(await Promise.all(f)).reduce((a,s)=>({...a,...s}));if(r.length===Object.values(E).length){n||y({body:"Failed to fetch metafield definitions.",nextSteps:["Check your network connection and try again.","Ensure you have the permission to fetch metafield definitions."],reference:[{link:{label:"Metafield Definition API",url:"https://shopify.dev/docs/api/admin-graphql/latest/queries/metafieldDefinition"}}]});return}await S(i,b),r.length>0&&O(`Failed to fetch metafield definitions for the following owner types: ${r.join(", ")}`),n||h({body:"Metafield definitions have been successfully downloaded."})}async function S(e,t){let o=await D(e),i=d(o,"metafields.json"),n=JSON.stringify(t,null,2);p(i,n)}export{q as a};
@@ -0,0 +1 @@
1
+ import{i as y}from"./chunk-HFSCXTJQ.js";import{I as O,y as w}from"./chunk-YFINLODF.js";import{h as d}from"./chunk-BWJIZYAG.js";import{sb as m,wb as S}from"./chunk-VFM2KQRM.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();function h(t){return t.map(M).join(" \xB7 ")}function $(t,r){if(r){S(JSON.stringify({schemaVersion:1,operations:t},null,2));return}w({headline:"Subscription migration operations.",body:t.map(M)})}function M(t){return`${t.id}: ${t.status} (${t.results.edges.length}/${t.total} settled)`}i();i();var T=1e3,A=new Set(["COMPLETED","FAILED","CANCELED"]);async function E({clientId:t,operationIds:r,getOperation:s=y,pollIntervalMs:p=T,sleep:u=C,onUpdate:c}){let f=new Map,l=new Map,g=!0,a=[...r];for(;a.length>0;){let e=await Promise.all(a.map(async o=>{let n=await s({clientId:t,operationId:o});if(!n)throw new d(`Migration operation not found: ${o}`);return{operationId:o,operation:n}})),L=e.some(({operationId:o,operation:n})=>l.get(o)!==JSON.stringify(n));for(let{operationId:o,operation:n}of e)f.set(o,n),l.set(o,JSON.stringify(n));if(c&&(g||L)){let o=r.map(n=>f.get(n));await c(o)}g=!1,a=e.filter(({operation:o})=>!A.has(o.status)).map(({operationId:o})=>o),a.length>0&&await u(p)}return r.map(e=>f.get(e))}async function C(t){await new Promise(r=>setTimeout(r,t))}async function U({clientId:t,operationIds:r,waitForOperations:s=E}){return O({title:m`Polling subscription migration operations`,task:p=>s({clientId:t,operationIds:r,onUpdate:u=>p(m`${h(u)}`)}),renderOptions:{stdout:process.stderr}})}export{$ as a,U as b};
@@ -1,4 +1,4 @@
1
- import{b as m}from"./chunk-3WV7DQMM.js";import{G as f}from"./chunk-WSCSFFLH.js";import{a as N}from"./chunk-CTNBSUVU.js";import{wb as c}from"./chunk-HQUWYKSJ.js";import{e as v,g}from"./chunk-VKWPEFWQ.js";g();var d=v(N(),1),i=class h extends m{static description="View all the available command flags";static hidden=!0;static flags={csv:d.Flags.boolean({description:"Output as CSV",env:"SHOPIFY_FLAG_OUTPUT_CSV",default:!1})};async run(){let{flags:p}=await this.parse(h),s=[];for(let[t,a]of this.config.plugins)for(let o of a.commands){let l=await o.load(),n;a.name.startsWith("@shopify")?n=a.name.substring(9):n=a.name.startsWith("@oclif")?a.name.substring(7):a.name;let e=l.flags;if(e)for(let[u,r]of Object.entries(e))s.push({pluginName:n,command:o.id,flagName:`--${u}`,flagChar:r.char?`-${r.char}`:"",flagEnv:r.env})}if(p.csv){let t=["pluginName","command","flagName","flagChar","flagEnv"],a=`${t.join(",")}
1
+ import{b as m}from"./chunk-2XDUJQQN.js";import{G as f}from"./chunk-YFINLODF.js";import{a as N}from"./chunk-CTNBSUVU.js";import{wb as c}from"./chunk-VFM2KQRM.js";import{e as v,g}from"./chunk-VKWPEFWQ.js";g();var d=v(N(),1),i=class h extends m{static description="View all the available command flags";static hidden=!0;static flags={csv:d.Flags.boolean({description:"Output as CSV",env:"SHOPIFY_FLAG_OUTPUT_CSV",default:!1})};async run(){let{flags:p}=await this.parse(h),s=[];for(let[t,a]of this.config.plugins)for(let o of a.commands){let l=await o.load(),n;a.name.startsWith("@shopify")?n=a.name.substring(9):n=a.name.startsWith("@oclif")?a.name.substring(7):a.name;let e=l.flags;if(e)for(let[u,r]of Object.entries(e))s.push({pluginName:n,command:o.id,flagName:`--${u}`,flagChar:r.char?`-${r.char}`:"",flagEnv:r.env})}if(p.csv){let t=["pluginName","command","flagName","flagChar","flagEnv"],a=`${t.join(",")}
2
2
  `,o=s.map(n=>t.map(e=>n[e]).join(",")).join(`
3
3
  `),l=`${a}${o}
4
4
  `;c(l)}else f({rows:s,columns:{pluginName:{header:"plugin",color:"red"},command:{},flagName:{header:"long flag",color:"green"},flagChar:{header:"short flag",color:"green"},flagEnv:{header:"env variable",color:"blueBright"}}})}};export{i as a};
@@ -1,2 +1,2 @@
1
- import{a as B,b as E}from"./chunk-U3F6GPCE.js";import{b as y,c as A,l as C,n as F,o as S,t as x}from"./chunk-SGIMJQEM.js";import{a as D}from"./chunk-ESPT6CGE.js";import{a as w}from"./chunk-RA3WWB2S.js";import{b as O}from"./chunk-IX4IGE5H.js";import{C as f}from"./chunk-PK73ZSND.js";import{A as b,B as g,y as c,z as k}from"./chunk-WSCSFFLH.js";import{a as v}from"./chunk-CTNBSUVU.js";import{qb as h,sb as I}from"./chunk-HQUWYKSJ.js";import{e as z,g as a}from"./chunk-VKWPEFWQ.js";a();a();async function T(i){let{organization:e,storeFqdn:o,operationId:t,remoteApp:u}=i;c({headline:"Canceling bulk operation.",body:[{list:{items:[`ID: ${t}`,...E({organization:e,remoteApp:u,storeFqdn:o})]}}]});let q=await B(u,o),s=await C({adminSession:q,operationId:t});if(s?.userErrors?.length){F(s.userErrors,"Failed to cancel bulk operation.");return}let n=s?.bulkOperation;if(n){let r=S(n),d=n.status==="CANCELING"?[`This may take a few moments. Check the status with:
1
+ import{a as B,b as E}from"./chunk-2AK44UYM.js";import{b as y,c as A,l as C,n as F,o as S,t as x}from"./chunk-3DCN3N23.js";import{a as D}from"./chunk-UZARYOLN.js";import{a as w}from"./chunk-YESGYUEL.js";import{b as O}from"./chunk-YEVGLC5X.js";import{D as f}from"./chunk-3JXPOOFV.js";import{A as b,B as g,y as c,z as k}from"./chunk-YFINLODF.js";import{a as v}from"./chunk-CTNBSUVU.js";import{qb as h,sb as I}from"./chunk-VFM2KQRM.js";import{e as z,g as a}from"./chunk-VKWPEFWQ.js";a();a();async function T(i){let{organization:e,storeFqdn:o,operationId:t,remoteApp:u}=i;c({headline:"Canceling bulk operation.",body:[{list:{items:[`ID: ${t}`,...E({organization:e,remoteApp:u,storeFqdn:o})]}}]});let q=await B(u,o),s=await C({adminSession:q,operationId:t});if(s?.userErrors?.length){F(s.userErrors,"Failed to cancel bulk operation.");return}let n=s?.bulkOperation;if(n){let r=S(n),d=n.status==="CANCELING"?[`This may take a few moments. Check the status with:
2
2
  `,{command:`shopify app bulk status --id=${A(n.id)}`}]:r.body,p={headline:r.headline,...d&&{body:d},...r.customSections&&{customSections:r.customSections}};switch(r.renderType){case"success":k(p);break;case"warning":b(p);break;case"info":c(p);break}}else g({headline:"Bulk operation not found or could not be canceled.",body:I`ID: ${h.yellow(t)}`.value})}var l=z(v(),1);var m=class i extends D{static summary="Cancel a bulk operation.";static description="Cancels a running bulk operation by ID.";static flags={...O,...w,id:l.Flags.string({description:"The bulk operation ID to cancel (numeric ID or full GID).",env:"SHOPIFY_FLAG_ID",required:!0}),store:l.Flags.string({char:"s",description:"The store domain. Must be an existing dev store.",env:"SHOPIFY_FLAG_STORE",parse:async e=>f(e)})};async run(){let{flags:e}=await this.parse(i),{appContextResult:o,store:t}=await x(e);return await T({organization:o.organization,storeFqdn:t.shopDomain,operationId:y(e.id),remoteApp:o.remoteApp}),{app:o.app}}};export{m as a};
@@ -0,0 +1,97 @@
1
+ import{a as d}from"./chunk-YESGYUEL.js";import{T as a}from"./chunk-ZZRFG6ME.js";import{b as l,c as g,f as S}from"./chunk-YEVGLC5X.js";import{n as o}from"./chunk-3JXPOOFV.js";import{a as C}from"./chunk-CTNBSUVU.js";import{e as h,g as e}from"./chunk-VKWPEFWQ.js";e();e();var P=["HONOR_BILLING_PRICE","PLAN_PRICE"],T=["OPT_OUT","WHEN_REQUIRED"],f=["UNSCHEDULED","SCHEDULED","MIGRATED"];var r=h(C(),1);var u={...l,...d,...g},F={watch:r.Flags.boolean({description:"Display the current operation state while polling, then output the final outcome when every operation reaches a terminal status.",env:"SHOPIFY_FLAG_WATCH",default:!1})},y={watch:r.Flags.boolean({description:"Display the current operation state while polling, then output the final state when every operation reaches a terminal status.",env:"SHOPIFY_FLAG_WATCH",default:!1})},R={...u,status:r.Flags.option({description:"Filter subscriptions by migration status.",env:"SHOPIFY_FLAG_STATUS",options:[...f]})()},L={...u,input:r.Flags.string({char:"i",description:"Path to the migration CSV. If omitted, standard input is used.",env:"SHOPIFY_FLAG_INPUT"}),force:S(r.Flags.boolean({char:"f",description:"Skip confirmation.",env:"SHOPIFY_FLAG_FORCE",default:!1})),...F},_={...u,id:r.Flags.string({description:"The app subscription migration operation ID. Can be specified multiple times.",env:"SHOPIFY_FLAG_ID",required:!0,multiple:!0})},v={..._,...y};e();e();var I=o`
2
+ query MigratableAppSubscriptions(
3
+ $apiKey: String!
4
+ $first: Int!
5
+ $after: String
6
+ $status: AppSubscriptionMigrationStatus
7
+ ) {
8
+ migratableAppSubscriptions(apiKey: $apiKey, first: $first, after: $after, status: $status) {
9
+ edges {
10
+ cursor
11
+ node {
12
+ shopId
13
+ status
14
+ manualSubscriptionName
15
+ manualSubscriptionPrice {
16
+ amount
17
+ currencyCode
18
+ }
19
+ manualSubscriptionInterval
20
+ targetPlanHandle
21
+ notification {
22
+ kind
23
+ optOutDeadline
24
+ sentAt
25
+ }
26
+ priceBehavior
27
+ effectiveDate
28
+ lastFailureReason
29
+ }
30
+ }
31
+ pageInfo {
32
+ hasNextPage
33
+ endCursor
34
+ }
35
+ }
36
+ }
37
+ `,b=o`
38
+ mutation AppSubscriptionMigrationOperationCreate($input: AppSubscriptionMigrationOperationCreateInput!) {
39
+ appSubscriptionMigrationOperationCreate(input: $input) {
40
+ operation {
41
+ id
42
+ status
43
+ total
44
+ results(first: 250) {
45
+ edges {
46
+ node {
47
+ shopId
48
+ code
49
+ }
50
+ }
51
+ }
52
+ }
53
+ userErrors {
54
+ message
55
+ field
56
+ }
57
+ }
58
+ }
59
+ `,m=o`
60
+ query AppSubscriptionMigrationOperation($apiKey: String!, $id: ID!) {
61
+ appSubscriptionMigrationOperation(apiKey: $apiKey, id: $id) {
62
+ id
63
+ status
64
+ total
65
+ results(first: 250) {
66
+ edges {
67
+ node {
68
+ shopId
69
+ code
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ `,O=o`
76
+ mutation AppSubscriptionMigrationOperationCancel($input: AppSubscriptionMigrationOperationCancelInput!) {
77
+ appSubscriptionMigrationOperationCancel(input: $input) {
78
+ operation {
79
+ id
80
+ status
81
+ total
82
+ results(first: 250) {
83
+ edges {
84
+ node {
85
+ shopId
86
+ code
87
+ }
88
+ }
89
+ }
90
+ }
91
+ userErrors {
92
+ message
93
+ field
94
+ }
95
+ }
96
+ }
97
+ `;function A(t){return t===null?null:{...t,results:{edges:t.results?.edges?.filter(i=>i!==null)??[]}}}function M(t){return{operation:A(t.operation),userErrors:t.userErrors??[]}}async function Q({clientId:t,first:i,after:n,status:s}){let p=(await a.getInstance().request(I,{apiKey:t,first:i,after:n,status:s})).migratableAppSubscriptions;return p===null?null:{subscriptions:p.edges?.flatMap(c=>c===null?[]:[c.node])??[],pageInfo:p.pageInfo}}async function W({clientId:t,idempotencyKey:i,migrations:n}){let s=await a.getInstance().request(b,{input:{apiKey:t,idempotencyKey:i,migrations:n}});return M(s.appSubscriptionMigrationOperationCreate)}async function k({clientId:t,operationId:i}){let n=await a.getInstance().request(m,{apiKey:t,id:i});return A(n.appSubscriptionMigrationOperation)}async function z({clientId:t,operationId:i}){let n=await a.getInstance().request(O,{input:{apiKey:t,id:i}});return M(n.appSubscriptionMigrationOperationCancel)}export{P as a,T as b,R as c,L as d,_ as e,v as f,Q as g,W as h,k as i,z as j};
@@ -0,0 +1 @@
1
+ import{a as N}from"./chunk-UZARYOLN.js";import{a as R}from"./chunk-YESGYUEL.js";import{aa as k,wa as x}from"./chunk-ZZRFG6ME.js";import{b as T,c as C}from"./chunk-YEVGLC5X.js";import{G as A}from"./chunk-YFINLODF.js";import{h as y}from"./chunk-BWJIZYAG.js";import{Gb as L,ba as u,qb as v,sb as w,wb as E,xb as l}from"./chunk-VFM2KQRM.js";import{i as h}from"./chunk-B4OMIONW.js";import{j as g}from"./chunk-773TIA5M.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();p();var I=12;async function M(n,t,a){let r=await n.appVersions(t);if(!r.app)throw new y(`Invalid API Key: ${t.apiKey}`);let o=r.app.appVersions.nodes.map(e=>{let i=e.message??"";return{...e,status:e.status==="active"&&!a?h.green(`\u2605 ${e.status}`):e.status,createdBy:e.createdBy?.displayName??"",createdAt:u(new Date(e.createdAt)),message:i}});if(!a){let e=(process.stdout.columns??75)-I,i=e;o.forEach(s=>{let d=s.message.length+(s.versionTag?.length??0)+L(s.status).length+s.createdAt.length+s.createdBy.length;if(d>e){let b=d-s.message.length,f=Math.max(e-b,10);f<i&&(i=f)}}),o.forEach(s=>{s.message.length>i&&(s.message=`${s.message.slice(0,i-3)}...`)})}return{appVersions:o,totalResults:r.app.appVersions.pageInfo.totalResults,app:r.app}}async function m(n){let{remoteApp:t,developerPlatformClient:a,organization:r}=n,{appVersions:o,totalResults:e}=await M(a,t,n.json);if(n.json)return E(JSON.stringify(o,null,2));if(k({org:r.businessName,appName:t.title,configFile:g(n.app.configPath)}),o.length===0){l("No app versions found for this app");return}A({rows:o,columns:{versionTag:{header:"VERSION"},status:{header:"STATUS"},message:{header:"MESSAGE"},createdAt:{header:"DATE CREATED"},createdBy:{header:"CREATED BY"}}});let i=v.link(a.webUiName,[await a.appDeepLink(t),"versions"].join("/"));l(w`\nView all ${String(e)} app versions in the ${i}`)}var c=class n extends N{static summary="List deployed versions of your app.";static descriptionWithMarkdown="Lists the deployed app versions. An app version is a snapshot of your app extensions.";static description=this.descriptionWithoutMarkdown();static flags={...T,...R,...C};async run(){let{flags:t}=await this.parse(n),{app:a,remoteApp:r,developerPlatformClient:o,organization:e}=await x({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config});return await m({app:a,remoteApp:r,organization:e,developerPlatformClient:o,json:t.json}),{app:a}}};export{c as a};
@@ -1,4 +1,4 @@
1
- import{a as f}from"./chunk-P5WLH64A.js";import{a as p}from"./chunk-WEWLPJK2.js";import{f as c,o as v}from"./chunk-K63FW7Q7.js";import{p as l,v as d}from"./chunk-3KM2GKXH.js";import{b as s,f as h}from"./chunk-IX4IGE5H.js";import{z as a}from"./chunk-WSCSFFLH.js";import{a as w}from"./chunk-CTNBSUVU.js";import{e as F,g as r}from"./chunk-VKWPEFWQ.js";r();r();async function u(e,n){let m=e.name??await c("New name for the theme"),i=await f(n,{header:"Select a theme to rename",filter:{theme:e.theme,development:e.development,live:e.live}});await v(i.id,{name:m},n),a({body:[...e.environment?[{subdued:`Environment: ${e.environment}
1
+ import{a as f}from"./chunk-ZYX7UHCQ.js";import{a as p}from"./chunk-GRPKF5ZB.js";import{f as c,o as v}from"./chunk-5SEEDOQ5.js";import{p as l,v as d}from"./chunk-GNBRCK7L.js";import{b as s,f as h}from"./chunk-YEVGLC5X.js";import{z as a}from"./chunk-YFINLODF.js";import{a as w}from"./chunk-CTNBSUVU.js";import{e as F,g as r}from"./chunk-VKWPEFWQ.js";r();r();async function u(e,n){let m=e.name??await c("New name for the theme"),i=await f(n,{header:"Select a theme to rename",filter:{theme:e.theme,development:e.development,live:e.live}});await v(i.id,{name:m},n),a({body:[...e.environment?[{subdued:`Environment: ${e.environment}
2
2
 
3
3
  `}]:[],"The theme",...p(i),"was renamed to",`'${m}'`]})}var t=F(w(),1);var o=class extends d{static summary="Renames an existing theme.";static descriptionWithMarkdown=`Renames a theme in your store.
4
4
 
@@ -1,4 +1,4 @@
1
- import{o as R}from"./chunk-WSCSFFLH.js";import{h as E}from"./chunk-BI7LE6CZ.js";import{Ab as i,Bb as m,Y as b,ca as N}from"./chunk-HQUWYKSJ.js";import{g as c}from"./chunk-VKWPEFWQ.js";c();c();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:h,fuelConsumed:u,target:A,errorMessage:S,errorType:g,inputQueryVariablesMetafieldValue:w,inputQueryVariablesMetafieldNamespace:M,inputQueryVariablesMetafieldKey:I}){this.export=e,this.input=r,this.inputBytes=o,this.output=n,this.outputBytes=s,this.logs=a,this.functionId=h,this.fuelConsumed=u,this.target=A,this.errorMessage=S,this.errorType=g,this.inputQueryVariablesMetafieldValue=w,this.inputQueryVariablesMetafieldNamespace=M,this.inputQueryVariablesMetafieldKey=I}},f=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}};c();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)?p(t,e):t}function p(t,e){if(Array.isArray(t))return t.map(r=>e?.deep?p(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 f({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(i(`Errors: ${e.map(s=>s.message).join(", ")}`),e.some(s=>s.status===401))try{o=await t.onResubscribe(),n="succeeded"}catch(s){i(`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=p({...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-YFINLODF.js";import{h as E}from"./chunk-BWJIZYAG.js";import{Ab as i,Bb as m,Y as b,ca as N}from"./chunk-VFM2KQRM.js";import{g as c}from"./chunk-VKWPEFWQ.js";c();c();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:h,fuelConsumed:u,target:A,errorMessage:S,errorType:g,inputQueryVariablesMetafieldValue:w,inputQueryVariablesMetafieldNamespace:M,inputQueryVariablesMetafieldKey:I}){this.export=e,this.input=r,this.inputBytes=o,this.output=n,this.outputBytes=s,this.logs=a,this.functionId=h,this.fuelConsumed=u,this.target=A,this.errorMessage=S,this.errorType=g,this.inputQueryVariablesMetafieldValue=w,this.inputQueryVariablesMetafieldNamespace=M,this.inputQueryVariablesMetafieldKey=I}},f=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}};c();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)?p(t,e):t}function p(t,e){if(Array.isArray(t))return t.map(r=>e?.deep?p(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 f({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(i(`Errors: ${e.map(s=>s.message).join(", ")}`),e.some(s=>s.status===401))try{o=await t.onResubscribe(),n="succeeded"}catch(s){i(`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=p({...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=p(JSON.parse(t));return e===V?new l(r):e===U?new f(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:h}=n.appLogsSubscribe;if(i(`Token: ${s}
3
3
  `),i(`API Key: ${e.apiKey}
4
4
  `),h&&h.length>0){let u=h.join(", ");throw await R({stripAnsi:!1},()=>{m(`Errors subscribing to app logs: ${u}`,o),m("App log streaming is not available in this session.",o)}),new E(u)}else{if(!s)throw new E("Failed to subscribe to app logs: No response received");let u=Array.isArray(e.shopIds)?e.shopIds:[e.shopIds];i(`Subscribed to App Events for shop ID(s) ${u.join(", ")}`),a!==void 0&&i(`Success: ${a}
@@ -1 +1 @@
1
- import{b as m,c as u}from"./chunk-OF6CV5R4.js";import{a as p}from"./chunk-4NXLDIW5.js";import{a as e}from"./chunk-RA3WWB2S.js";import{o as a,ta as c}from"./chunk-GFWXVO72.js";import{b as n}from"./chunk-IX4IGE5H.js";import{z as i}from"./chunk-WSCSFFLH.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();var s=class d extends p{static summary="Compile a function to wasm.";static descriptionWithMarkdown="Compiles the function in your current directory to WebAssembly (Wasm) for testing purposes.";static description=this.descriptionWithoutMarkdown();static flags={...n,...e,...m};async run(){let{flags:t}=await this.parse(d),{app:o}=await c({directory:t.path,userProvidedConfigName:t.config}),l=await u(o,t.path);return await a(l,{app:o,stdout:process.stdout,stderr:process.stderr,useTasks:!0,environment:"production"}),i({headline:"Function built successfully."}),{app:o}}};export{s as a};
1
+ import{b as m,c as u}from"./chunk-JX7FYWPO.js";import{a as p}from"./chunk-JG4HH54Q.js";import{a as e}from"./chunk-YESGYUEL.js";import{o as a,xa as c}from"./chunk-ZZRFG6ME.js";import{b as n}from"./chunk-YEVGLC5X.js";import{z as i}from"./chunk-YFINLODF.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();var s=class d extends p{static summary="Compile a function to wasm.";static descriptionWithMarkdown="Compiles the function in your current directory to WebAssembly (Wasm) for testing purposes.";static description=this.descriptionWithoutMarkdown();static flags={...n,...e,...m};async run(){let{flags:t}=await this.parse(d),{app:o}=await c({directory:t.path,userProvidedConfigName:t.config}),l=await u(o,t.path);return await a(l,{app:o,stdout:process.stdout,stderr:process.stderr,useTasks:!0,environment:"production"}),i({headline:"Function built successfully."}),{app:o}}};export{s as a};
@@ -1 +1 @@
1
- import{a as w}from"./chunk-4NXLDIW5.js";import{a as y}from"./chunk-ZBSC2KZ7.js";import{a as h}from"./chunk-RA3WWB2S.js";import{g,ta as b}from"./chunk-GFWXVO72.js";import{b as u}from"./chunk-IX4IGE5H.js";import{S as f,x as d,z as m}from"./chunk-WSCSFFLH.js";import{d as l}from"./chunk-6K3AJTNO.js";import{a as A}from"./chunk-CTNBSUVU.js";import{e as _,g as s}from"./chunk-VKWPEFWQ.js";s();s();s();async function p(e,{web:i,stdout:t,stderr:a,signal:n,env:o={}}){let c=i.configuration.commands[e];if(!c)return;let[I,...v]=c.split(" ");await f(I,v,{cwd:i.directory,stdout:t,stderr:a,signal:n,env:o}),t.write("Web successfully built.")}async function S(e){!e.skipDependenciesInstallation&&!e.project.usesWorkspaces&&await y(e.project);let i={};e.apiKey&&(i.SHOPIFY_API_KEY=e.apiKey),await g(e.app),await d({processes:[...e.app.webs.map(t=>({prefix:["web",...t.configuration.roles].join("-"),action:async(a,n,o)=>{await p("build",{web:t,stdout:a,stderr:n,signal:o,env:i})}})),...e.app.allExtensions.map(t=>({prefix:t.localIdentifier,action:async(a,n,o)=>{await t.build({stdout:a,stderr:n,signal:o,app:e.app,environment:"production"})}}))],showTimestamps:!1}),m({headline:[{userInput:e.app.name},"built!"]})}var k=S;var x=_(A(),1);var r=class e extends w{static summary="Build the app, including extensions.";static descriptionWithMarkdown="This command executes the build script specified in the element's TOML file. You can specify a custom script in the file. To learn about configuration files in Shopify apps, refer to [App configuration](https://shopify.dev/docs/apps/tools/cli/configuration).\n\n If you're building a [theme app extension](https://shopify.dev/docs/apps/online-store/theme-app-extensions), then running the `build` command runs [Theme Check](https://shopify.dev/docs/themes/tools/theme-check) against your extension to ensure that it's valid.";static description=this.descriptionWithoutMarkdown();static flags={...u,...h,"skip-dependencies-installation":x.Flags.boolean({hidden:!1,description:"Skips the installation of dependencies. Deprecated, use workspaces instead.",env:"SHOPIFY_FLAG_SKIP_DEPENDENCIES_INSTALLATION",default:!1})};async run(){let{flags:i}=await this.parse(e),t=i["client-id"];await l(()=>({cmd_app_dependency_installation_skipped:i["skip-dependencies-installation"]}));let{app:a,project:n}=await b({directory:i.path,userProvidedConfigName:i.config});return await k({app:a,project:n,skipDependenciesInstallation:i["skip-dependencies-installation"],apiKey:t}),{app:a}}};export{r as a};
1
+ import{a as w}from"./chunk-JG4HH54Q.js";import{a as y}from"./chunk-TFBRVLDN.js";import{a as h}from"./chunk-YESGYUEL.js";import{g,xa as b}from"./chunk-ZZRFG6ME.js";import{b as u}from"./chunk-YEVGLC5X.js";import{S as f,x as d,z as m}from"./chunk-YFINLODF.js";import{d as l}from"./chunk-NHAUJWEG.js";import{a as A}from"./chunk-CTNBSUVU.js";import{e as _,g as s}from"./chunk-VKWPEFWQ.js";s();s();s();async function p(e,{web:i,stdout:t,stderr:a,signal:n,env:o={}}){let c=i.configuration.commands[e];if(!c)return;let[I,...v]=c.split(" ");await f(I,v,{cwd:i.directory,stdout:t,stderr:a,signal:n,env:o}),t.write("Web successfully built.")}async function S(e){!e.skipDependenciesInstallation&&!e.project.usesWorkspaces&&await y(e.project);let i={};e.apiKey&&(i.SHOPIFY_API_KEY=e.apiKey),await g(e.app),await d({processes:[...e.app.webs.map(t=>({prefix:["web",...t.configuration.roles].join("-"),action:async(a,n,o)=>{await p("build",{web:t,stdout:a,stderr:n,signal:o,env:i})}})),...e.app.allExtensions.map(t=>({prefix:t.localIdentifier,action:async(a,n,o)=>{await t.build({stdout:a,stderr:n,signal:o,app:e.app,environment:"production"})}}))],showTimestamps:!1}),m({headline:[{userInput:e.app.name},"built!"]})}var k=S;var x=_(A(),1);var r=class e extends w{static summary="Build the app, including extensions.";static descriptionWithMarkdown="This command executes the build script specified in the element's TOML file. You can specify a custom script in the file. To learn about configuration files in Shopify apps, refer to [App configuration](https://shopify.dev/docs/apps/tools/cli/configuration).\n\n If you're building a [theme app extension](https://shopify.dev/docs/apps/online-store/theme-app-extensions), then running the `build` command runs [Theme Check](https://shopify.dev/docs/themes/tools/theme-check) against your extension to ensure that it's valid.";static description=this.descriptionWithoutMarkdown();static flags={...u,...h,"skip-dependencies-installation":x.Flags.boolean({hidden:!1,description:"Skips the installation of dependencies. Deprecated, use workspaces instead.",env:"SHOPIFY_FLAG_SKIP_DEPENDENCIES_INSTALLATION",default:!1})};async run(){let{flags:i}=await this.parse(e),t=i["client-id"];await l(()=>({cmd_app_dependency_installation_skipped:i["skip-dependencies-installation"]}));let{app:a,project:n}=await b({directory:i.path,userProvidedConfigName:i.config});return await k({app:a,project:n,skipDependenciesInstallation:i["skip-dependencies-installation"],apiKey:t}),{app:a}}};export{r as a};
@@ -1 +1 @@
1
- import{a}from"./chunk-HU4GFVEN.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-NROVZETL.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 as _,v as R}from"./chunk-3KM2GKXH.js";import{c as w,l as P}from"./chunk-M5Q74UZM.js";import{b as N}from"./chunk-IX4IGE5H.js";import{A as T,D as C,H as y,J as F,V as L}from"./chunk-WSCSFFLH.js";import{h as v}from"./chunk-BI7LE6CZ.js";import{a as D}from"./chunk-CTNBSUVU.js";import{Aa as I,Ca as k,Ta as A,Va as E,ka as b,ma as h,ua as f}from"./chunk-HQUWYKSJ.js";import{d as n}from"./chunk-773TIA5M.js";import{e as j,g as p}from"./chunk-VKWPEFWQ.js";p();p();var d="https://github.com/Shopify/skeleton-theme.git",H="https://github.com/Shopify/theme-liquid-docs.git",g={all:"All",github:"VS Code (GitHub Copilot)",cursor:"Cursor",claude:"Claude"};async function G(e,t){await U(e,t)}async function O(e,t){await U(e,t,!0)}async function U(e,t,o){await y([{title:`Cloning ${e} into ${t}`,task:async()=>{await w({repoUrl:e,destination:t,latestTag:o,shallow:!0}),await P(t),e===d&&(await Promise.all(Object.keys(g).map(async s=>x(n(t,`.${s}`)))),await x(n(t,".git")))}}])}async function x(e){await A(e)&&await k(e)}async function M(){return await C({message:"Which LLM instruction file would you like to include in your theme?",choices:[...Object.entries(g).map(([t,o])=>({label:o,value:t})),{label:"Skip",value:null}]})}async function $(e,t){let o=[];await y([{title:`Adding AI instructions into ${e}`,task:async()=>{await b(async s=>{await w({repoUrl:H,destination:s,shallow:!0});let c=t==="all"?Object.keys(g).filter(i=>i!=="all"):[t];try{let i=n(s,"ai","github","copilot-instructions.md"),r=await h(i),a=n(e,"AGENTS.md"),m=`# AGENTS.md
1
+ import{p as _,v as R}from"./chunk-GNBRCK7L.js";import{c as w,l as P}from"./chunk-Y47C3LSX.js";import{b as N}from"./chunk-YEVGLC5X.js";import{A as T,D as C,H as y,J as F,V as L}from"./chunk-YFINLODF.js";import{h as v}from"./chunk-BWJIZYAG.js";import{a as D}from"./chunk-CTNBSUVU.js";import{Aa as I,Ca as k,Ta as A,Va as E,ka as b,ma as h,ua as f}from"./chunk-VFM2KQRM.js";import{d as n}from"./chunk-773TIA5M.js";import{e as j,g as p}from"./chunk-VKWPEFWQ.js";p();p();var d="https://github.com/Shopify/skeleton-theme.git",H="https://github.com/Shopify/theme-liquid-docs.git",g={all:"All",github:"VS Code (GitHub Copilot)",cursor:"Cursor",claude:"Claude"};async function G(e,t){await U(e,t)}async function O(e,t){await U(e,t,!0)}async function U(e,t,o){await y([{title:`Cloning ${e} into ${t}`,task:async()=>{await w({repoUrl:e,destination:t,latestTag:o,shallow:!0}),await P(t),e===d&&(await Promise.all(Object.keys(g).map(async s=>x(n(t,`.${s}`)))),await x(n(t,".git")))}}])}async function x(e){await A(e)&&await k(e)}async function M(){return await C({message:"Which LLM instruction file would you like to include in your theme?",choices:[...Object.entries(g).map(([t,o])=>({label:o,value:t})),{label:"Skip",value:null}]})}async function $(e,t){let o=[];await y([{title:`Adding AI instructions into ${e}`,task:async()=>{await b(async s=>{await w({repoUrl:H,destination:s,shallow:!0});let c=t==="all"?Object.keys(g).filter(i=>i!=="all"):[t];try{let i=n(s,"ai","github","copilot-instructions.md"),r=await h(i),a=n(e,"AGENTS.md"),m=`# AGENTS.md
2
2
 
3
3
  ${r}`;await f(a,m),(await Promise.all(c.map(u=>q(e,a,u)))).forEach(u=>{u.copiedFile&&o.push(u.copiedFile)})}catch{throw new v("Failed to create AI instructions")}})}}]),o.length>0&&T({headline:"Files created instead of symlinks.",body:`Shopify CLI attempted to create symbolic links between AGENTS.md and ${o.join(", ")}, but your system doesn't have Developer Mode enabled or symlinks are disabled. Separate files were created instead.`})}async function q(e,t,o){if(o==="cursor")return{};let c={github:"copilot-instructions.md",claude:"CLAUDE.md"}[o],i=n(e,c);try{return await I(t,i),{}}catch(r){if(r instanceof Error){let a=await h(t);return await f(i,a),{copiedFile:c}}else throw r}}var l=j(D(),1);var S=class extends R{static summary="Clones a Git repository to use as a starting point for building a new theme.";static descriptionWithMarkdown=`Clones a Git repository to your local machine to use as the starting point for building a theme.
4
4
 
@@ -0,0 +1 @@
1
+ import{a as o}from"./chunk-NW6NUGN7.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var t=class extends o{};export{t as a};
@@ -1 +1 @@
1
- import{b as e}from"./chunk-3WV7DQMM.js";import{a as r}from"./chunk-CTNBSUVU.js";import{e as c,g as t}from"./chunk-VKWPEFWQ.js";t();var s=c(r(),1);var a=class o extends e{static args={command:s.Args.string({description:"Command to show help for.",required:!1})};static description="Display help for Shopify CLI";static usage="help [command] [flags]";static flags={"nested-commands":s.Flags.boolean({char:"n",description:"Include all nested commands in the output.",env:"SHOPIFY_FLAG_CLI_NESTED_COMMANDS",default:!1})};static strict=!1;async run(){let{argv:i,flags:n}=await this.parse(o),l=await(0,s.loadHelpClass)(this.config);await new l(this.config,{all:n["nested-commands"]}).showHelp(i)}};export{a};
1
+ import{b as e}from"./chunk-2XDUJQQN.js";import{a as r}from"./chunk-CTNBSUVU.js";import{e as c,g as t}from"./chunk-VKWPEFWQ.js";t();var s=c(r(),1);var a=class o extends e{static args={command:s.Args.string({description:"Command to show help for.",required:!1})};static description="Display help for Shopify CLI";static usage="help [command] [flags]";static flags={"nested-commands":s.Flags.boolean({char:"n",description:"Include all nested commands in the output.",env:"SHOPIFY_FLAG_CLI_NESTED_COMMANDS",default:!1})};static strict=!1;async run(){let{argv:i,flags:n}=await this.parse(o),l=await(0,s.loadHelpClass)(this.config);await new l(this.config,{all:n["nested-commands"]}).showHelp(i)}};export{a};