@shopify/cli 4.8.4 → 4.9.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 (490) hide show
  1. package/dist/analytics-QK4RFCB6.js +1 -0
  2. package/dist/analytics-R6I5APDB.js +1 -0
  3. package/dist/assets/hydrogen/starter/package.json +1 -1
  4. package/dist/bootstrap.js +1 -3
  5. package/dist/chunk-22LJALHJ.js +7 -0
  6. package/dist/{chunk-APUYMORT.js → chunk-23K3B23N.js} +1 -1
  7. package/dist/chunk-2KLXRVGQ.js +317 -0
  8. package/dist/{chunk-QXR5DJC2.js → chunk-2LZQM5JG.js} +1 -1
  9. package/dist/chunk-2OHSGC4Q.js +1 -0
  10. package/dist/chunk-2Q3WIH7S.js +6 -0
  11. package/dist/{chunk-FRRA5MI2.js → chunk-2W6M7YDY.js} +1 -1
  12. package/dist/{chunk-NHOF2IN6.js → chunk-2YFB3PTV.js} +9 -9
  13. package/dist/chunk-2YRVHJEY.js +4 -0
  14. package/dist/{chunk-3CZ7DKE5.js → chunk-3AASYIOA.js} +3 -3
  15. package/dist/chunk-3DMDSAWK.js +20 -0
  16. package/dist/{chunk-KWQGJ3VC.js → chunk-3SG5EJFC.js} +1 -1
  17. package/dist/chunk-3T2WMZHC.js +1 -0
  18. package/dist/{chunk-773TIA5M.js → chunk-3VYOLEQE.js} +2 -2
  19. package/dist/chunk-3WVEL423.js +1 -0
  20. package/dist/{chunk-SVYHWGMI.js → chunk-3ZK5JZLY.js} +1 -1
  21. package/dist/chunk-44QTWXOJ.js +8 -0
  22. package/dist/{chunk-4QBJ5JBX.js → chunk-4A7FPJVT.js} +16 -15
  23. package/dist/chunk-4TQFTZVD.js +18 -0
  24. package/dist/chunk-4WACZNFF.js +1 -0
  25. package/dist/{chunk-RIM7FNP3.js → chunk-4XSYMLQG.js} +1 -1
  26. package/dist/{chunk-EJJPEWSB.js → chunk-4Y22EM45.js} +1 -1
  27. package/dist/chunk-53U6XS3J.js +1 -0
  28. package/dist/chunk-55NKAIIT.js +1 -0
  29. package/dist/chunk-55PABKRC.js +5 -0
  30. package/dist/chunk-5BLXN5WU.js +1 -0
  31. package/dist/{chunk-LAMTFOVF.js → chunk-5BYVVXGD.js} +1 -1
  32. package/dist/{chunk-Z5KYKXMH.js → chunk-5HEBS5DG.js} +3 -3
  33. package/dist/{chunk-LEW5IJK6.js → chunk-5HONV6NQ.js} +1 -1
  34. package/dist/chunk-5RL6DKWR.js +5 -0
  35. package/dist/chunk-5XO6PAMV.js +1 -0
  36. package/dist/chunk-6DHY67FO.js +6 -0
  37. package/dist/{chunk-6QADNGH4.js → chunk-6GA56I3E.js} +1 -1
  38. package/dist/chunk-6IL3B5Z5.js +4 -0
  39. package/dist/{chunk-RHBLXZGU.js → chunk-6ILP6QCH.js} +1 -1
  40. package/dist/{chunk-H7TDIRIU.js → chunk-6RBCFXJT.js} +1 -1
  41. package/dist/{chunk-WAJRWCZY.js → chunk-72HS7MHV.js} +1 -1
  42. package/dist/{chunk-SPNM3GES.js → chunk-74HXMIDM.js} +1 -1
  43. package/dist/{chunk-ZAH6QID2.js → chunk-77B77IGP.js} +1 -1
  44. package/dist/chunk-7DRKDQRT.js +1 -0
  45. package/dist/chunk-7HDJBEBP.js +3 -0
  46. package/dist/chunk-7IGMIDKK.js +15 -0
  47. package/dist/chunk-7QQPAT4L.js +1 -0
  48. package/dist/chunk-7Y4X5I6N.js +1 -0
  49. package/dist/{chunk-WGFGWDWP.js → chunk-7ZSN2QT5.js} +1 -1
  50. package/dist/chunk-A54V5UCD.js +5 -0
  51. package/dist/{chunk-VETLNJ56.js → chunk-AD4S2VEI.js} +1 -1
  52. package/dist/chunk-ADW7ECNU.js +7 -0
  53. package/dist/chunk-AS2O62JX.js +1 -0
  54. package/dist/chunk-ASUARYJD.js +1 -0
  55. package/dist/chunk-B4RPJYDH.js +1 -0
  56. package/dist/{chunk-ZCNNJCTQ.js → chunk-BJOJNAKH.js} +1 -1
  57. package/dist/chunk-BL5JWD3Y.js +16 -0
  58. package/dist/chunk-BOFCBTX7.js +1 -0
  59. package/dist/chunk-BPIQ4YTW.js +1 -0
  60. package/dist/chunk-C6FZII5S.js +1 -0
  61. package/dist/{chunk-NBXXTQWA.js → chunk-CACPRKUF.js} +1 -1
  62. package/dist/{chunk-QVO5CAJN.js → chunk-CHLSNYF7.js} +1 -1
  63. package/dist/chunk-CMICT4XI.js +1 -0
  64. package/dist/chunk-CPFAATMO.js +6 -0
  65. package/dist/{chunk-CSOCXWP6.js → chunk-CSRNHTHO.js} +2 -2
  66. package/dist/chunk-D3K42KBL.js +9 -0
  67. package/dist/chunk-DGMRL5DQ.js +1 -0
  68. package/dist/chunk-DKJPE42V.js +2 -0
  69. package/dist/{chunk-AIILEPSK.js → chunk-DYA5UUXL.js} +1 -1
  70. package/dist/chunk-E5ND6RBL.js +1 -0
  71. package/dist/{chunk-XKHKXUQY.js → chunk-E75DJTAF.js} +1 -1
  72. package/dist/chunk-ECEOBSGD.js +1 -0
  73. package/dist/{chunk-NDT3F2PR.js → chunk-EYSZRIUL.js} +1 -1
  74. package/dist/chunk-FCULF3JA.js +1 -0
  75. package/dist/chunk-FL34EOXG.js +1 -0
  76. package/dist/chunk-FW5HGFSZ.js +20 -0
  77. package/dist/{chunk-XRJCD3AO.js → chunk-G54BKNIX.js} +1 -1
  78. package/dist/{chunk-74CYT3VX.js → chunk-G7OIACY5.js} +1 -1
  79. package/dist/{chunk-IHH5XTPV.js → chunk-GALDYSEX.js} +1 -1
  80. package/dist/{chunk-A5U4KKNV.js → chunk-GDQLA5NB.js} +1 -1
  81. package/dist/{chunk-6A3TDSON.js → chunk-GJJBOCKD.js} +3 -3
  82. package/dist/{chunk-TAY7HU7X.js → chunk-GQZPGTG7.js} +20 -20
  83. package/dist/{chunk-XHXKPRF5.js → chunk-GVRFO4CV.js} +1 -1
  84. package/dist/chunk-HB3MJYBK.js +1 -0
  85. package/dist/{chunk-AEUCDGTB.js → chunk-HDQXFGYG.js} +1 -1
  86. package/dist/chunk-HSTNTHWM.js +1 -0
  87. package/dist/{chunk-A3U7JDUC.js → chunk-HSZC2LBB.js} +1 -1
  88. package/dist/chunk-I4FGM6UH.js +8 -0
  89. package/dist/chunk-I7GYNNCU.js +6 -0
  90. package/dist/{chunk-ZVA5F4QC.js → chunk-IBTQO3JD.js} +1 -1
  91. package/dist/{chunk-XWXAFJFC.js → chunk-IISE7SBT.js} +1 -1
  92. package/dist/chunk-IUZZWXJG.js +3 -0
  93. package/dist/chunk-IWML2HLC.js +5 -0
  94. package/dist/{chunk-CTNBSUVU.js → chunk-JA2QZ635.js} +2 -2
  95. package/dist/chunk-JOJRABPY.js +3 -0
  96. package/dist/chunk-JQKB3D37.js +1 -0
  97. package/dist/chunk-JROJL6RV.js +1 -0
  98. package/dist/{chunk-GINXNPAR.js → chunk-JTPVSO6Y.js} +1 -1
  99. package/dist/chunk-JWDUSMCA.js +1 -0
  100. package/dist/{chunk-CBMX6XI7.js → chunk-KLYJDAP6.js} +1 -1
  101. package/dist/{chunk-4HOJJCZ6.js → chunk-KVROYIUQ.js} +1 -1
  102. package/dist/chunk-L5XWYTHY.js +836 -0
  103. package/dist/chunk-LOTGSNS5.js +2 -0
  104. package/dist/{chunk-FGRW7GT4.js → chunk-LQLFMDVD.js} +1 -1
  105. package/dist/{chunk-7LZ34C4S.js → chunk-LSWFHTJT.js} +1 -1
  106. package/dist/{chunk-HYPY5WH6.js → chunk-LV2IWYGL.js} +1 -1
  107. package/dist/{chunk-W4SGAPPR.js → chunk-LYPNQFWX.js} +1 -1
  108. package/dist/{chunk-U6URYCC6.js → chunk-MRVQ6XRW.js} +1 -1
  109. package/dist/chunk-MVVHISCR.js +2 -0
  110. package/dist/{chunk-UJBMY5WR.js → chunk-N4DE5H65.js} +1 -1
  111. package/dist/{chunk-W6ST525S.js → chunk-N56BJ3F7.js} +1 -1
  112. package/dist/{chunk-W4SQE6NR.js → chunk-NF7MOA4K.js} +1 -1
  113. package/dist/{chunk-7KLPRSQR.js → chunk-NGN7U2UF.js} +1 -1
  114. package/dist/{chunk-TCFGEOE4.js → chunk-NTVEJYKI.js} +1 -1
  115. package/dist/chunk-NYABB6XW.js +1 -0
  116. package/dist/{chunk-DH3DMUE2.js → chunk-O6E7YL7N.js} +2 -2
  117. package/dist/chunk-OASB6XPV.js +16 -0
  118. package/dist/{chunk-WY7QF7VU.js → chunk-OBYY45BX.js} +1 -1
  119. package/dist/chunk-OETFY7FE.js +28 -0
  120. package/dist/{chunk-QZEDYQVT.js → chunk-OEZATTOS.js} +1 -1
  121. package/dist/{chunk-D6LQ56XT.js → chunk-OG7SF4FU.js} +1 -1
  122. package/dist/chunk-OM243CQ6.js +6 -0
  123. package/dist/chunk-P3Z5RLVV.js +3 -0
  124. package/dist/{chunk-HINK4QAR.js → chunk-PBBZNGS4.js} +1 -1
  125. package/dist/chunk-PGTKKP2B.js +11 -0
  126. package/dist/chunk-PK4ID32C.js +1 -0
  127. package/dist/{chunk-7FVCUY54.js → chunk-PVOWU77O.js} +1 -1
  128. package/dist/{chunk-66HW6J57.js → chunk-PXD2WJOI.js} +3 -3
  129. package/dist/chunk-PXXTSW6I.js +4 -0
  130. package/dist/{chunk-AU7GNCOK.js → chunk-PZHE37Z4.js} +1 -1
  131. package/dist/{chunk-TA2M37OB.js → chunk-Q34PKJRR.js} +1 -1
  132. package/dist/{chunk-S5H5U3PR.js → chunk-Q3O3AFZT.js} +1 -1
  133. package/dist/chunk-Q45XAEG2.js +16 -0
  134. package/dist/{chunk-QKTBYAUD.js → chunk-QAXFCAOV.js} +5 -5
  135. package/dist/{chunk-FY47X4NG.js → chunk-QBGSSUJP.js} +1 -1
  136. package/dist/chunk-QILWHHAQ.js +1 -0
  137. package/dist/chunk-QJST4LZX.js +1 -0
  138. package/dist/chunk-QQN4PJZD.js +1 -0
  139. package/dist/{chunk-6P5FGN6P.js → chunk-QSKOR3ED.js} +1 -1
  140. package/dist/{chunk-FRVRTOTF.js → chunk-QTEWTPAQ.js} +2 -2
  141. package/dist/chunk-QWDJRSJJ.js +1 -0
  142. package/dist/{chunk-GTAYTMCP.js → chunk-R757TSQ6.js} +1 -1
  143. package/dist/chunk-RCIU7NHA.js +1 -0
  144. package/dist/chunk-RGIUP4FW.js +1 -0
  145. package/dist/{chunk-RDS2WYQH.js → chunk-RHNFWHFY.js} +1 -1
  146. package/dist/{chunk-VG3YVCZW.js → chunk-S7536EWZ.js} +4 -4
  147. package/dist/{chunk-VBICZDA4.js → chunk-SDFO7P2M.js} +1 -1
  148. package/dist/{chunk-JQPPLSFT.js → chunk-SDJNAUU6.js} +1 -1
  149. package/dist/chunk-SGBLCVUX.js +1 -0
  150. package/dist/chunk-SJARQZVN.js +3 -0
  151. package/dist/chunk-SKRUMRB4.js +383 -0
  152. package/dist/{chunk-5Z6EW3FA.js → chunk-SW5EWGBJ.js} +1 -1
  153. package/dist/chunk-SXPWOYLT.js +7 -0
  154. package/dist/chunk-T234RERA.js +7 -0
  155. package/dist/chunk-TJJVX7CU.js +4 -0
  156. package/dist/{chunk-L4LDNEFK.js → chunk-TMV37ENR.js} +1 -1
  157. package/dist/{chunk-BYX7SQPM.js → chunk-TNXZWQZU.js} +1 -1
  158. package/dist/{chunk-67QK26HI.js → chunk-TO7TXDLU.js} +1 -1
  159. package/dist/chunk-TSLZNTFM.js +3 -0
  160. package/dist/{chunk-BG7QQU23.js → chunk-UFU2LGFK.js} +1 -1
  161. package/dist/chunk-VDDNDA5K.js +15 -0
  162. package/dist/{chunk-T4V7KOGJ.js → chunk-VFO5OYQ4.js} +1 -1
  163. package/dist/{chunk-HXVUDGLH.js → chunk-VFP3PUGZ.js} +24 -24
  164. package/dist/{chunk-6QDOCBD4.js → chunk-VZUHMW5E.js} +4 -3
  165. package/dist/chunk-W7CBJNXD.js +12 -0
  166. package/dist/chunk-WCAGYCT7.js +4 -0
  167. package/dist/{chunk-DPNZWBT5.js → chunk-WNO2V53C.js} +1 -1
  168. package/dist/{chunk-Y4BBTWM5.js → chunk-WPUQTUDX.js} +1 -1
  169. package/dist/chunk-WU7MSL3I.js +8 -0
  170. package/dist/chunk-WXV35TPE.js +1 -0
  171. package/dist/{chunk-2WATX3XV.js → chunk-XBSWZ6BT.js} +6 -6
  172. package/dist/chunk-XCNJL7ES.js +1 -0
  173. package/dist/{chunk-C4Y7PQDQ.js → chunk-XFZDFDZV.js} +1 -1
  174. package/dist/chunk-XTYSJIZY.js +1 -0
  175. package/dist/chunk-Y5ZN62VF.js +1 -0
  176. package/dist/{chunk-PNNW7YQG.js → chunk-YAH5WFYR.js} +3 -3
  177. package/dist/{chunk-DUNE3INK.js → chunk-YBQKJHZW.js} +1 -1
  178. package/dist/chunk-YD66PU3Y.js +1 -0
  179. package/dist/chunk-YGFEUXKQ.js +1 -0
  180. package/dist/chunk-YJWNM4XO.js +18 -0
  181. package/dist/{chunk-L3JBKCAS.js → chunk-YQQHBFMA.js} +1 -1
  182. package/dist/chunk-YRHFPXC3.js +1 -0
  183. package/dist/chunk-YTJ3EPD3.js +1 -0
  184. package/dist/chunk-YX5GRXRS.js +2368 -0
  185. package/dist/chunk-Z35PUKKP.js +7 -0
  186. package/dist/{chunk-7VQBIGJB.js → chunk-Z3XIZMEM.js} +1 -1
  187. package/dist/chunk-ZGASBRSQ.js +5 -0
  188. package/dist/{chunk-OY6L7J53.js → chunk-ZHJ6KA43.js} +1 -1
  189. package/dist/{chunk-YHTONNIZ.js → chunk-ZO4IBP4B.js} +1 -1
  190. package/dist/chunk-ZOYSMJ27.js +1 -0
  191. package/dist/chunk-ZPCCSPAE.js +3 -0
  192. package/dist/chunk-ZSJXZCAW.js +4 -0
  193. package/dist/{chunk-CP56F5UR.js → chunk-ZSVR5NEO.js} +1 -1
  194. package/dist/{chunk-JJJIRCQP.js → chunk-ZUVAHONX.js} +1 -1
  195. package/dist/chunk-ZVDFCUJT.js +2 -0
  196. package/dist/cli/commands/app/app-logs/sources.js +1 -1
  197. package/dist/cli/commands/app/build.js +1 -1
  198. package/dist/cli/commands/app/bulk/cancel.js +1 -1
  199. package/dist/cli/commands/app/bulk/execute.js +1 -1
  200. package/dist/cli/commands/app/bulk/status.js +1 -1
  201. package/dist/cli/commands/app/config/link.js +1 -1
  202. package/dist/cli/commands/app/config/pull.js +1 -1
  203. package/dist/cli/commands/app/config/use.js +1 -1
  204. package/dist/cli/commands/app/config/validate.js +1 -1
  205. package/dist/cli/commands/app/demo/watcher.js +1 -1
  206. package/dist/cli/commands/app/deploy.js +1 -1
  207. package/dist/cli/commands/app/dev/clean.js +1 -1
  208. package/dist/cli/commands/app/dev.js +1 -1
  209. package/dist/cli/commands/app/env/pull.js +1 -1
  210. package/dist/cli/commands/app/env/show.js +1 -1
  211. package/dist/cli/commands/app/execute.js +1 -1
  212. package/dist/cli/commands/app/function/build.js +1 -1
  213. package/dist/cli/commands/app/function/info.js +1 -1
  214. package/dist/cli/commands/app/function/replay.js +1 -1
  215. package/dist/cli/commands/app/function/run.js +1 -1
  216. package/dist/cli/commands/app/function/schema.js +1 -1
  217. package/dist/cli/commands/app/function/typegen.js +1 -1
  218. package/dist/cli/commands/app/generate/extension.js +1 -1
  219. package/dist/cli/commands/app/graphiql.js +1 -1
  220. package/dist/cli/commands/app/import/channel-config.js +1 -0
  221. package/dist/cli/commands/app/import/custom-data-definitions.js +1 -0
  222. package/dist/cli/commands/app/import/dashboard-extensions.js +1 -0
  223. package/dist/cli/commands/app/import-custom-data-definitions.js +1 -1
  224. package/dist/cli/commands/app/import-extensions.js +1 -1
  225. package/dist/cli/commands/app/info.js +1 -1
  226. package/dist/cli/commands/app/init.js +1 -1
  227. package/dist/cli/commands/app/logs.js +1 -1
  228. package/dist/cli/commands/app/release.js +1 -1
  229. package/dist/cli/commands/app/security/check.js +1 -0
  230. package/dist/cli/commands/app/security/clean.js +1 -0
  231. package/dist/cli/commands/app/security/instructions.js +1 -0
  232. package/dist/cli/commands/app/security/record.js +1 -0
  233. package/dist/cli/commands/app/security/review.js +1 -0
  234. package/dist/cli/commands/app/subscription-migrations/cancel.js +1 -1
  235. package/dist/cli/commands/app/subscription-migrations/list.js +1 -1
  236. package/dist/cli/commands/app/subscription-migrations/schedule.js +1 -1
  237. package/dist/cli/commands/app/subscription-migrations/status.js +1 -1
  238. package/dist/cli/commands/app/subscription-migrations/unschedule.js +1 -1
  239. package/dist/cli/commands/app/versions/list.js +1 -1
  240. package/dist/cli/commands/app/webhook/trigger.js +1 -1
  241. package/dist/cli/commands/auth/login.d.ts +16 -1
  242. package/dist/cli/commands/auth/login.js +1 -1
  243. package/dist/cli/commands/auth/logout.d.ts +16 -1
  244. package/dist/cli/commands/auth/logout.js +1 -1
  245. package/dist/cli/commands/cache/clear.js +1 -1
  246. package/dist/cli/commands/config/autoupgrade/off.d.ts +13 -0
  247. package/dist/cli/commands/config/autoupgrade/off.js +1 -1
  248. package/dist/cli/commands/config/autoupgrade/on.d.ts +13 -0
  249. package/dist/cli/commands/config/autoupgrade/on.js +1 -1
  250. package/dist/cli/commands/config/autoupgrade/status.d.ts +13 -0
  251. package/dist/cli/commands/config/autoupgrade/status.js +1 -1
  252. package/dist/cli/commands/debug/command-flags.js +1 -1
  253. package/dist/cli/commands/doc/fetch.d.ts +2 -0
  254. package/dist/cli/commands/doc/fetch.js +1 -1
  255. package/dist/cli/commands/doc/search.d.ts +1 -0
  256. package/dist/cli/commands/doc/search.js +1 -1
  257. package/dist/cli/commands/docs/generate.js +1 -1
  258. package/dist/cli/commands/doctor-release/doctor-release.js +1 -1
  259. package/dist/cli/commands/doctor-release/theme/index.d.ts +1 -0
  260. package/dist/cli/commands/doctor-release/theme/index.js +1 -1
  261. package/dist/cli/commands/help.d.ts +431 -1
  262. package/dist/cli/commands/help.js +1 -1
  263. package/dist/cli/commands/kitchen-sink/async.js +1 -1
  264. package/dist/cli/commands/kitchen-sink/index.js +1 -1
  265. package/dist/cli/commands/kitchen-sink/prompts.js +1 -1
  266. package/dist/cli/commands/kitchen-sink/static.js +1 -1
  267. package/dist/cli/commands/notifications/generate.js +1 -1
  268. package/dist/cli/commands/notifications/list.js +1 -1
  269. package/dist/cli/commands/organization/list.js +1 -1
  270. package/dist/cli/commands/search.d.ts +11 -1
  271. package/dist/cli/commands/search.js +1 -1
  272. package/dist/cli/commands/send-analytics.js +1 -1
  273. package/dist/cli/commands/theme/check.js +1 -1
  274. package/dist/cli/commands/theme/console.js +1 -1
  275. package/dist/cli/commands/theme/delete.js +1 -1
  276. package/dist/cli/commands/theme/dev.js +1 -1
  277. package/dist/cli/commands/theme/duplicate.js +1 -1
  278. package/dist/cli/commands/theme/info.js +1 -1
  279. package/dist/cli/commands/theme/init.js +1 -1
  280. package/dist/cli/commands/theme/language-server.js +1 -1
  281. package/dist/cli/commands/theme/list.js +1 -1
  282. package/dist/cli/commands/theme/metafields/pull.js +1 -1
  283. package/dist/cli/commands/theme/open.js +1 -1
  284. package/dist/cli/commands/theme/package.js +1 -1
  285. package/dist/cli/commands/theme/preview.js +1 -1
  286. package/dist/cli/commands/theme/profile.js +1 -1
  287. package/dist/cli/commands/theme/publish.js +1 -1
  288. package/dist/cli/commands/theme/pull.js +1 -1
  289. package/dist/cli/commands/theme/push.js +1 -1
  290. package/dist/cli/commands/theme/rename.js +1 -1
  291. package/dist/cli/commands/theme/share.js +1 -1
  292. package/dist/cli/commands/upgrade.js +1 -1
  293. package/dist/cli/commands/version.d.ts +15 -1
  294. package/dist/cli/commands/version.js +1 -1
  295. package/dist/cli/help.d.ts +5 -2
  296. package/dist/cli/help.js +6 -2
  297. package/dist/cli/services/commands/auth/login/types.d.ts +11 -0
  298. package/dist/cli/services/commands/auth/login/types.js +7 -0
  299. package/dist/cli/services/commands/config/autoupgrade/index.d.ts +3 -0
  300. package/dist/cli/services/commands/config/autoupgrade/index.js +9 -0
  301. package/dist/cli/services/commands/config/autoupgrade/result.d.ts +2 -0
  302. package/dist/cli/services/commands/config/autoupgrade/result.js +15 -0
  303. package/dist/cli/services/commands/config/autoupgrade/types.d.ts +10 -0
  304. package/dist/cli/services/commands/config/autoupgrade/types.js +7 -0
  305. package/dist/cli/services/commands/doc/fetch.d.ts +1 -1
  306. package/dist/cli/services/commands/doc/fetch.js +11 -2
  307. package/dist/cli/services/commands/help/index.d.ts +3 -0
  308. package/dist/cli/services/commands/help/index.js +51 -0
  309. package/dist/cli/services/commands/help/result.d.ts +2 -0
  310. package/dist/cli/services/commands/help/result.js +6 -0
  311. package/dist/cli/services/commands/help/types.d.ts +431 -0
  312. package/dist/cli/services/commands/help/types.js +71 -0
  313. package/dist/cli/services/commands/search/index.d.ts +2 -0
  314. package/dist/cli/services/commands/search/index.js +8 -0
  315. package/dist/cli/services/commands/search/result.d.ts +2 -0
  316. package/dist/cli/services/commands/search/result.js +12 -0
  317. package/dist/cli/services/commands/search/types.d.ts +10 -0
  318. package/dist/cli/services/commands/search/types.js +7 -0
  319. package/dist/cli/services/commands/version/index.d.ts +2 -0
  320. package/dist/cli/services/commands/version/index.js +5 -0
  321. package/dist/cli/services/commands/version/result.d.ts +2 -0
  322. package/dist/cli/services/commands/version/result.js +6 -0
  323. package/dist/cli/services/commands/version/types.d.ts +10 -0
  324. package/dist/cli/services/commands/version/types.js +7 -0
  325. package/dist/command-json-schema-Y3N2NUZN.js +1 -0
  326. package/dist/command-registry.js +1 -1
  327. package/dist/{conf-store-H3UAVGN5.js → conf-store-5ZA3ILWV.js} +1 -1
  328. package/dist/custom-oclif-loader-VQKMCXNH.js +1 -0
  329. package/dist/deprecations-PFQXWNF6.js +1 -0
  330. package/dist/dist-4X53WJBQ.js +1 -0
  331. package/dist/dist-5M2V3YCM.js +1 -0
  332. package/dist/environment-ZUTBXY7U.js +1 -0
  333. package/dist/environments-3RUZ7F4Q.js +1 -0
  334. package/dist/error-FBSXLW22.js +1 -0
  335. package/dist/error-handler-D5BURRJ7.js +1 -0
  336. package/dist/fs-ZLV5W4TV.js +1 -0
  337. package/dist/hooks/did-you-mean.js +1 -1
  338. package/dist/hooks/hydrogen-init.js +1 -1
  339. package/dist/hooks/plugin-plugins.js +1 -1
  340. package/dist/hooks/postrun.js +1 -1
  341. package/dist/hooks/prerun.js +1 -1
  342. package/dist/hooks/public-metadata.js +1 -1
  343. package/dist/hooks/sensitive-metadata.js +1 -1
  344. package/dist/hooks/tunnel-provider.js +1 -1
  345. package/dist/hooks/tunnel-start.js +1 -1
  346. package/dist/http-proxy-node16-D3JUYA5D.js +38 -0
  347. package/dist/index.js +13 -14
  348. package/dist/is-global-GZ5CIXQA.js +1 -0
  349. package/dist/json-error-2BL3UZ7H.js +1 -0
  350. package/dist/lib-AD2G3QH3.js +1 -0
  351. package/dist/lib-VEVNMHDE.js +1 -0
  352. package/dist/lib-ZQW4E7QU.js +1 -0
  353. package/dist/local-KAZJAYLX.js +1 -0
  354. package/dist/metadata-M3ZE24WB.js +1 -0
  355. package/dist/{morph-BMYYMQNX.js → morph-42EXMN3K.js} +3 -3
  356. package/dist/node-package-manager-RVPONQBY.js +1 -0
  357. package/dist/notifications-system-MYEMV7JF.js +1 -0
  358. package/dist/os-DRUILZZR.js +1 -0
  359. package/dist/output-SDE274Y5.js +1 -0
  360. package/dist/{path-MBXP7ZIC.js → path-6YMSTSWG.js} +1 -1
  361. package/dist/system-5FQ3L5PA.js +1 -0
  362. package/dist/tsconfig.tsbuildinfo +1 -1
  363. package/dist/ui-TEZZM7SE.js +1 -0
  364. package/dist/uncaught-error-handler.d.ts +6 -0
  365. package/dist/uncaught-error-handler.js +33 -0
  366. package/dist/upgrade-3PIVJYBL.js +1 -0
  367. package/dist/version-FMWTVLMF.js +1 -0
  368. package/dist/version-IAMVSP7U.js +1 -0
  369. package/dist/workerd-WRW4ZUYM.js +18 -0
  370. package/oclif.manifest.json +2646 -226
  371. package/package.json +17 -8
  372. package/dist/analytics-M4OC7RPG.js +0 -1
  373. package/dist/analytics-RGIJMP4U.js +0 -1
  374. package/dist/chunk-2HW6VRJT.js +0 -2
  375. package/dist/chunk-2HYR6EUD.js +0 -1
  376. package/dist/chunk-2IRRFPEY.js +0 -1
  377. package/dist/chunk-2KD4LHRT.js +0 -5
  378. package/dist/chunk-2SL443J6.js +0 -1
  379. package/dist/chunk-2VJ6NBPV.js +0 -15
  380. package/dist/chunk-2ZROBXJX.js +0 -11
  381. package/dist/chunk-3DIRCEXA.js +0 -1
  382. package/dist/chunk-3DT4NS4S.js +0 -4
  383. package/dist/chunk-3IQ6WXDD.js +0 -3
  384. package/dist/chunk-43FRAUV6.js +0 -19
  385. package/dist/chunk-44QD4QNO.js +0 -1
  386. package/dist/chunk-4DLRS7MT.js +0 -12
  387. package/dist/chunk-4F3XYIEY.js +0 -1
  388. package/dist/chunk-4OMKKYFC.js +0 -9
  389. package/dist/chunk-4ZTRKEA2.js +0 -1
  390. package/dist/chunk-5DMFEDKY.js +0 -28
  391. package/dist/chunk-66G2HJ2A.js +0 -3
  392. package/dist/chunk-6B727IUY.js +0 -5
  393. package/dist/chunk-6C5AVMKR.js +0 -375
  394. package/dist/chunk-6CR2EEZ3.js +0 -6
  395. package/dist/chunk-6V6UNUMM.js +0 -3
  396. package/dist/chunk-6XLFFOPK.js +0 -1
  397. package/dist/chunk-A3V2A2I4.js +0 -2
  398. package/dist/chunk-AQPOPSQ7.js +0 -1
  399. package/dist/chunk-BAWBC66R.js +0 -5
  400. package/dist/chunk-BHJ3TGS7.js +0 -1
  401. package/dist/chunk-BHTHUKHU.js +0 -1
  402. package/dist/chunk-BV62ZERJ.js +0 -6
  403. package/dist/chunk-CFQ5G2QS.js +0 -1
  404. package/dist/chunk-CNK3ZO2B.js +0 -836
  405. package/dist/chunk-CRALWNNO.js +0 -1
  406. package/dist/chunk-CVW2HMQO.js +0 -317
  407. package/dist/chunk-D6QTOQEJ.js +0 -6
  408. package/dist/chunk-DDZEYA2I.js +0 -8
  409. package/dist/chunk-DO4SRE4M.js +0 -3
  410. package/dist/chunk-DZZORIWL.js +0 -4
  411. package/dist/chunk-EQ2PD2ZA.js +0 -2
  412. package/dist/chunk-ERBXXVOZ.js +0 -2
  413. package/dist/chunk-FW3RORD7.js +0 -1
  414. package/dist/chunk-G2YTINLI.js +0 -6
  415. package/dist/chunk-GCN4O7HM.js +0 -1
  416. package/dist/chunk-GGPMDCCB.js +0 -8
  417. package/dist/chunk-GJHBAOGJ.js +0 -1
  418. package/dist/chunk-H2HR2AQE.js +0 -7
  419. package/dist/chunk-HYM3HBDG.js +0 -20
  420. package/dist/chunk-IHEBV2KO.js +0 -1
  421. package/dist/chunk-JWHQPDOK.js +0 -3
  422. package/dist/chunk-JXG2T76F.js +0 -6
  423. package/dist/chunk-K2DP5Z76.js +0 -1
  424. package/dist/chunk-KUZ5Z6HM.js +0 -1
  425. package/dist/chunk-KZU727AL.js +0 -1
  426. package/dist/chunk-L2DCUVZV.js +0 -1
  427. package/dist/chunk-L3M7PTHU.js +0 -15
  428. package/dist/chunk-LBA6FGKC.js +0 -3
  429. package/dist/chunk-LX5UXWZ7.js +0 -1
  430. package/dist/chunk-M7VQLMSW.js +0 -1
  431. package/dist/chunk-MBRFIXCU.js +0 -1705
  432. package/dist/chunk-MYLMGH7Y.js +0 -1
  433. package/dist/chunk-NKC3K3XP.js +0 -1
  434. package/dist/chunk-O72SHE3Q.js +0 -7
  435. package/dist/chunk-OAG72Q2O.js +0 -1
  436. package/dist/chunk-OPOPO7DG.js +0 -7
  437. package/dist/chunk-OUA6EOLX.js +0 -11
  438. package/dist/chunk-OYCAYEQE.js +0 -7
  439. package/dist/chunk-PGWQHSDV.js +0 -1
  440. package/dist/chunk-PM3HRKPR.js +0 -1
  441. package/dist/chunk-POMWFTBD.js +0 -16
  442. package/dist/chunk-R3GLEZSE.js +0 -4
  443. package/dist/chunk-RHNZA4IL.js +0 -5
  444. package/dist/chunk-SCLGMVNB.js +0 -1
  445. package/dist/chunk-TU47HMTL.js +0 -1
  446. package/dist/chunk-UPGRXCFS.js +0 -4
  447. package/dist/chunk-V2GLAK2W.js +0 -1
  448. package/dist/chunk-V4774HTF.js +0 -1
  449. package/dist/chunk-VDGTHMIQ.js +0 -3
  450. package/dist/chunk-VJ5YOXKL.js +0 -1
  451. package/dist/chunk-WGUCRVII.js +0 -3
  452. package/dist/chunk-X4V2CD2H.js +0 -8
  453. package/dist/chunk-XOYICV6P.js +0 -1
  454. package/dist/chunk-XYUTD6IU.js +0 -1
  455. package/dist/chunk-YNFXYVYN.js +0 -2
  456. package/dist/chunk-Z2HN5L6G.js +0 -6
  457. package/dist/chunk-ZVJD6CUY.js +0 -18
  458. package/dist/cli/commands/app/doctor/instructions.js +0 -1
  459. package/dist/cli/commands/app/doctor.js +0 -1
  460. package/dist/cli/commands/config/autoupgrade/constants.d.ts +0 -4
  461. package/dist/cli/commands/config/autoupgrade/constants.js +0 -1
  462. package/dist/cli/services/commands/search.d.ts +0 -1
  463. package/dist/cli/services/commands/search.js +0 -7
  464. package/dist/cli/services/commands/version.d.ts +0 -1
  465. package/dist/cli/services/commands/version.js +0 -6
  466. package/dist/custom-oclif-loader-BWAMUFQ4.js +0 -1
  467. package/dist/deprecations-TEUM7CML.js +0 -1
  468. package/dist/dist-62I5X3FS.js +0 -1
  469. package/dist/dist-YHZ5BTYD.js +0 -1
  470. package/dist/environments-LAFWOQWO.js +0 -1
  471. package/dist/error-6ZCGAC5E.js +0 -1
  472. package/dist/error-handler-JNCW56EC.js +0 -1
  473. package/dist/fs-QEWOWUPQ.js +0 -1
  474. package/dist/http-proxy-node16-A6AKKRQH.js +0 -38
  475. package/dist/is-global-UYMEAGDR.js +0 -1
  476. package/dist/lib-2BR2WN7L.js +0 -1
  477. package/dist/lib-M72BVWQ3.js +0 -1
  478. package/dist/lib-P3APEIHY.js +0 -1
  479. package/dist/local-Z4ZEMWE4.js +0 -1
  480. package/dist/metadata-ZCQMB5AB.js +0 -1
  481. package/dist/node-package-manager-HMOTOBDS.js +0 -1
  482. package/dist/notifications-system-RT3CY6LZ.js +0 -1
  483. package/dist/os-G6KDPJMC.js +0 -1
  484. package/dist/output-BJCZYDNG.js +0 -1
  485. package/dist/system-T4H2ISV6.js +0 -1
  486. package/dist/ui-4MQSY5IN.js +0 -1
  487. package/dist/upgrade-4234MIYJ.js +0 -1
  488. package/dist/version-FRSRSCRX.js +0 -1
  489. package/dist/version-RF7QQXRX.js +0 -1
  490. package/dist/workerd-7E4H2DM3.js +0 -18
@@ -1 +1 @@
1
- import{a as l,c as b,d as D,e as _}from"./chunk-JQPPLSFT.js";import{g as T,p as y,v as O}from"./chunk-DO4SRE4M.js";import{b as L,c as S}from"./chunk-K2DP5Z76.js";import{y as v}from"./chunk-6C5AVMKR.js";import{e as d}from"./chunk-QKTBYAUD.js";import{a as G}from"./chunk-CTNBSUVU.js";import{Ab as a,sb as s,wb as F}from"./chunk-43FRAUV6.js";import{e as $,g as o}from"./chunk-VKWPEFWQ.js";o();o();o();var w;function f(){return w??=new d({projectName:"shopify-cli-host-theme-conf"}),w}function E(t){return a(s`Getting host theme...`),f().get(t)}function Y(t,e){a(s`Setting host theme...`),f().set(t,e)}function C(t){a(s`Removing host theme...`),f().delete(t)}function j(t,e){return{title:t,body:{tabularData:e}}}async function I(t,e){let r=e.storeFqdn,p=new _({...l.reduce((n,i)=>(n[i]=t.role===i,n),{}),theme:t.id?.toString()??t.name}),m=await b(e),x=T(),H=E(r);if(p.any()&&(m=D(r,m,p)),t.json)return F(JSON.stringify(m,null,2));let A=m.map(({id:n,name:i,role:g})=>{let c="";return g&&(c=`[${g}]`,[x,H].includes(`${n}`)&&(c+=" [current]")),[i,c,`#${n}`]}),R=[["name","role","id"],["\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500","\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500","\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"],...A];v({customSections:[...t.environment?[{title:`${r} theme library`,body:[{subdued:`Environment name: ${t.environment}`}]}]:[],j("",R)]})}var h=$(G(),1);var u=class extends O{static description="Lists the themes in your store, along with their IDs and statuses.";static flags={...L,...S,...y,role:h.Flags.custom({description:"Only list themes with the given role.",options:l,env:"SHOPIFY_FLAG_ROLE"})(),name:h.Flags.string({description:"Only list themes that contain the given name.",env:"SHOPIFY_FLAG_NAME"}),id:h.Flags.integer({description:"Only list theme with the given ID.",env:"SHOPIFY_FLAG_ID"})};static multiEnvironmentsFlags=["store","password"];async command(e,r){await I(e,r)}};export{E as a,Y as b,C as c,u as d};
1
+ import{a as l,c as b,d as D,e as _}from"./chunk-SDJNAUU6.js";import{g as T,p as y,v as O}from"./chunk-P3Z5RLVV.js";import{b as L,c as S}from"./chunk-DGMRL5DQ.js";import{e as d}from"./chunk-QAXFCAOV.js";import{y as v}from"./chunk-SKRUMRB4.js";import{Eb as s,Ib as F,Nb as a}from"./chunk-YJWNM4XO.js";import{b as G}from"./chunk-JA2QZ635.js";import{e as $,g as o}from"./chunk-VKWPEFWQ.js";o();o();o();var w;function f(){return w??=new d({projectName:"shopify-cli-host-theme-conf"}),w}function E(t){return a(s`Getting host theme...`),f().get(t)}function Y(t,e){a(s`Setting host theme...`),f().set(t,e)}function C(t){a(s`Removing host theme...`),f().delete(t)}function j(t,e){return{title:t,body:{tabularData:e}}}async function I(t,e){let r=e.storeFqdn,p=new _({...l.reduce((n,i)=>(n[i]=t.role===i,n),{}),theme:t.id?.toString()??t.name}),m=await b(e),x=T(),H=E(r);if(p.any()&&(m=D(r,m,p)),t.json)return F(JSON.stringify(m,null,2));let A=m.map(({id:n,name:i,role:g})=>{let c="";return g&&(c=`[${g}]`,[x,H].includes(`${n}`)&&(c+=" [current]")),[i,c,`#${n}`]}),R=[["name","role","id"],["\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500","\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500","\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"],...A];v({customSections:[...t.environment?[{title:`${r} theme library`,body:[{subdued:`Environment name: ${t.environment}`}]}]:[],j("",R)]})}var h=$(G(),1);var u=class extends O{static description="Lists the themes in your store, along with their IDs and statuses.";static flags={...L,...S,...y,role:h.Flags.custom({description:"Only list themes with the given role.",options:l,env:"SHOPIFY_FLAG_ROLE"})(),name:h.Flags.string({description:"Only list themes that contain the given name.",env:"SHOPIFY_FLAG_NAME"}),id:h.Flags.integer({description:"Only list theme with the given ID.",env:"SHOPIFY_FLAG_ID"})};static multiEnvironmentsFlags=["store","password"];async command(e,r){await I(e,r)}};export{E as a,Y as b,C as c,u as d};
@@ -1 +1 @@
1
- import{a as e}from"./chunk-XRJCD3AO.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();var t=e({cmd_app_warning_api_key_deprecation_displayed:!1}),i=t;export{i as a};
1
+ import{a as e}from"./chunk-G54BKNIX.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();var t=e({cmd_app_warning_api_key_deprecation_displayed:!1}),i=t;export{i as a};
@@ -1 +1 @@
1
- import{b as a,g as c,i as p,j as f}from"./chunk-GTAYTMCP.js";import{k as h}from"./chunk-OAG72Q2O.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();i();i();function d(n){let e=/[^\p{Letter}\p{Number}\p{Mark}-]/gu;return n.replace(e,"-")}import{randomBytes as l}from"crypto";import{hostname as g}from"os";var T=50;function m(n){let e=g().split(".")[0],r=l(3).toString("hex"),t=`${n} ()`,s=T-t.length-r.length-1,o=d(`${r}-${e.substring(0,s)}`);return`${n} (${o})`}var u=class{adminSession;themeId;constructor(e){this.adminSession=e}async findOrCreate(e,r){let t=await this.fetch(e,r);return t?this.setTheme(t.id.toString()):t=await this.create(r,e),t}async fetch(e,r){if(!this.themeId&&!e)return;let t=e&&r===a?await p(e,this.adminSession):await c(parseInt(this.themeId,10),this.adminSession);return t||this.removeTheme(),t}generateThemeName(e){return m(e)}async create(e,r){let t=r??m(this.context),s=e??a,o=await f({name:t,role:s},this.adminSession);if(!o)throw new h(`Could not create theme with name "${t}" and role "${s}"`);return this.setTheme(o.id.toString()),o}};export{u as a};
1
+ import{b as a,g as c,i as p,j as f}from"./chunk-R757TSQ6.js";import{l as h}from"./chunk-FCULF3JA.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();i();i();function d(n){let e=/[^\p{Letter}\p{Number}\p{Mark}-]/gu;return n.replace(e,"-")}import{randomBytes as l}from"crypto";import{hostname as g}from"os";var T=50;function m(n){let e=g().split(".")[0],r=l(3).toString("hex"),t=`${n} ()`,s=T-t.length-r.length-1,o=d(`${r}-${e.substring(0,s)}`);return`${n} (${o})`}var u=class{adminSession;themeId;constructor(e){this.adminSession=e}async findOrCreate(e,r){let t=await this.fetch(e,r);return t?this.setTheme(t.id.toString()):t=await this.create(r,e),t}async fetch(e,r){if(!this.themeId&&!e)return;let t=e&&r===a?await p(e,this.adminSession):await c(parseInt(this.themeId,10),this.adminSession);return t||this.removeTheme(),t}generateThemeName(e){return m(e)}async create(e,r){let t=r??m(this.context),s=e??a,o=await f({name:t,role:s},this.adminSession);if(!o)throw new h(`Could not create theme with name "${t}" and role "${s}"`);return this.setTheme(o.id.toString()),o}};export{u as a};
@@ -1 +1 @@
1
- import{g as i,h as t}from"./chunk-OAG72Q2O.js";import{g as n}from"./chunk-VKWPEFWQ.js";n();var o=e=>new a(e),s=e=>new u(e),a=class{value;constructor(r){this.value=r}isErr(){return!1}doOnOk(r){return r(this.value),o(this.value)}valueOrBug(){return this.value}valueOrAbort(){return this.value}map(r){return o(r(this.value))}mapError(r){return o(this.value)}},u=class{error;constructor(r){this.error=r}isErr(){return!0}doOnOk(r){return s(this.error)}valueOrBug(){throw this.error}valueOrAbort(){if(this.error instanceof i)throw this.error;if(this.error instanceof Error){let r=new t(this.error.message);throw r.stack=this.error.stack,r}else throw new t(`${this.error}`)}map(r){return s(this.error)}mapError(r){return s(r(this.error))}};export{o as a,s as b};
1
+ import{h as i,i as t}from"./chunk-FCULF3JA.js";import{g as n}from"./chunk-VKWPEFWQ.js";n();var o=e=>new a(e),s=e=>new u(e),a=class{value;constructor(r){this.value=r}isErr(){return!1}doOnOk(r){return r(this.value),o(this.value)}valueOrBug(){return this.value}valueOrAbort(){return this.value}map(r){return o(r(this.value))}mapError(r){return o(this.value)}},u=class{error;constructor(r){this.error=r}isErr(){return!0}doOnOk(r){return s(this.error)}valueOrBug(){throw this.error}valueOrAbort(){if(this.error instanceof i)throw this.error;if(this.error instanceof Error){let r=new t(this.error.message);throw r.stack=this.error.stack,r}else throw new t(`${this.error}`)}map(r){return s(this.error)}mapError(r){return s(r(this.error))}};export{o as a,s as b};
@@ -1 +1 @@
1
- import{b as n}from"./chunk-4DLRS7MT.js";import{y as t}from"./chunk-6C5AVMKR.js";import{j as r}from"./chunk-XYUTD6IU.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var e=class extends n{static description="Run CLI doctor-release tests";static hidden=!0;async run(){r()&&t({headline:"Shopify CLI Doctor Release.",body:["Available doctor-release commands:",""," shopify doctor-release theme -e <environment> Run all theme command tests","","The -e/--environment flag is required to specify the store configuration.","Use --help with any command for more options."]})}};export{e as a};
1
+ import{b as n}from"./chunk-FW5HGFSZ.js";import{y as t}from"./chunk-SKRUMRB4.js";import{k as r}from"./chunk-SGBLCVUX.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var e=class extends n{static description="Run CLI doctor-release tests";static hidden=!0;async run(){r()&&t({headline:"Shopify CLI Doctor Release.",body:["Available doctor-release commands:",""," shopify doctor-release theme -e <environment> Run all theme command tests","","The -e/--environment flag is required to specify the store configuration.","Use --help with any command for more options."]})}};export{e as a};
@@ -0,0 +1 @@
1
+ import{a as m}from"./chunk-HB3MJYBK.js";import{a as I}from"./chunk-RCIU7NHA.js";import{a as x}from"./chunk-QQN4PJZD.js";import{A as R,D as T,F,I as d,L as u,a as A,e as b,f as k,r as _,v}from"./chunk-YX5GRXRS.js";import{b as S}from"./chunk-DGMRL5DQ.js";import{b as w}from"./chunk-FW5HGFSZ.js";import{_ as y,z as g}from"./chunk-SKRUMRB4.js";import{i as a}from"./chunk-FCULF3JA.js";import{g as c}from"./chunk-VKWPEFWQ.js";c();c();var B=5e6,$={readStdin:y,engineVersion:k,writeAgentFindings:v,recordMetadata:I};function E(t){return u(t.record)}function s(t,e){throw new a("The findings document was rejected. Nothing was recorded.",null,[["Fix every error, then run",{command:E(e)},"again."]],[{title:"Errors",body:{list:{items:t}}}])}async function z(t,e){try{return await e.readStdin()}catch(i){throw i instanceof a&&s([i.message],t),i}}async function V(t,e){let i=await z(t,e);if(i===void 0)throw new a("No findings document was piped on stdin.",null,[["Pipe the findings document on stdin:",{command:E(t)}]]);let n=Buffer.byteLength(i,"utf8");n>B&&s([`The findings document is ${n} bytes; the limit is 5 MB.`],t);try{return JSON.parse(i)}catch(o){let r=o instanceof Error?o.message:String(o);s([`The findings document is not valid JSON: ${r}`],t)}}async function f(t,e=$){let{selection:i}=t,n=d(i,t.path),o=await V(n,e),r=b(o,{engineVersion:e.engineVersion()});r.ok||s(r.errors,n);let h=R(r.document);h>_&&s([`The recorded findings would be stored as ${h} bytes; the limit is 5 MB. Shorten or remove findings.`],n);let C=await e.writeAgentFindings(i.appDirectory,T(i),r.document),l=r.document.checks.reduce((D,N)=>D+N.findings.length,0);return await e.recordMetadata({num_security_findings:l}),{path:C,checks:r.document.checks.length,findings:l}}function M(t,e,i){let n=d(e,i);g({headline:"Agent findings recorded.",body:[`Recorded ${m(t.checks,"check")} and ${m(t.findings,"finding")} in`,{filePath:t.path}],nextSteps:[["Run",{command:u(n.review)},"to see the results."]]})}var p=class t extends w{static summary="Record agent findings from an app security check.";static descriptionWithMarkdown="Reads a coding agent's complete findings document from stdin, validates it, and replaces `agent-findings.json` in the results directory, `.shopify/app-security/<results key>/`. The results key is `--client-id` when you pass it, and otherwise the name of the app configuration file without `.toml`. `--client-id` is checked against your Shopify account before anything is read, so it needs you to be logged in.\n\nThe document must include a `scope` with the `include_dirs`, `excludes` and `no_git_ignore` values of the `check` run it describes, exactly as typed. It's recorded as reported and never compared with the scan's files.\n\nThe document is recorded all or nothing: if anything is invalid, the command fails with every error, writes nothing, and exits with a non-zero code. It needs the results directory that `shopify app security check` creates.";static description=this.descriptionForHelp();static flags={...S,...A};async run(){let{flags:e}=await this.parse(t),i=await F({path:e.path,config:e.config,clientId:e["client-id"],withoutAppConfig:e["without-app-config"],allowPrompts:!1,validateClientIdFlag:!0});await x(i,e.path);let n=await f({selection:i,path:e.path});M(n,i,e.path)}};export{p as a};
@@ -0,0 +1,3 @@
1
+ import{c as g,g as h}from"./chunk-4Y22EM45.js";import{a as m}from"./chunk-YGFEUXKQ.js";import{Ha as d}from"./chunk-2KLXRVGQ.js";import{i as f}from"./chunk-FCULF3JA.js";import{Ib as s}from"./chunk-YJWNM4XO.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();r();var v=250,c=class extends Error{constructor(){super("Migratable subscriptions were not found"),this.name="MigratableSubscriptionsNotFoundError"}},l=class extends Error{constructor(t){super(t),this.name="MigrationListProtocolError"}};async function*b({clientId:i,status:t,getPage:n=h}){let e=new Set,a;for(;;){let p=await n({clientId:i,first:v,after:a,status:t});if(p===null)throw new c;if(yield p.subscriptions,!p.pageInfo.hasNextPage)return;let{endCursor:o}=p.pageInfo;if(o===null||o.trim()==="")throw new l("Migratable subscription page has no cursor for its next page");if(e.has(o))throw new l(`Migratable subscription pagination repeated cursor: ${o}`);e.add(o),a=o}}r();var w="shop_id,status,manual_subscription_name,manual_subscription_price_amount,manual_subscription_price_currency_code,manual_subscription_interval,target_plan_handle,notification_kind,notification_opt_out_deadline,notification_sent_at,price_behavior,effective_date,last_failure_reason";function y(i){return JSON.stringify({schemaVersion:1,subscriptions:i},null,2)}async function _({pages:i,json:t}){t?s(y(await S(i))):await C(i)}async function S(i){let t=[];for await(let n of i)t.push(...n);return t}async function C(i){let t=!1;for await(let n of i){let e=x(n);t?e.length>0&&s(e.join(`
2
+ `)):(s([w,...e].join(`
3
+ `)),t=!0)}t||s(w)}function x(i){return i.map(t=>[t.shopId,t.status,t.manualSubscriptionName,t.manualSubscriptionPrice?.amount,t.manualSubscriptionPrice?.currencyCode,t.manualSubscriptionInterval,t.targetPlanHandle,t.notification?.kind,t.notification?.optOutDeadline,t.notification?.sentAt,t.priceBehavior,t.effectiveDate,t.lastFailureReason].map(E).join(","))}function E(i){let t=i??"";return/[",\r\n]/.test(t)?`"${t.replaceAll('"','""')}"`:t}var u=class i extends m{static summary="Lists app subscriptions eligible for migration.";static descriptionWithMarkdown="Lists every app subscription eligible for migration.\n\nBy default, the command writes CSV to stdout, streaming each page of results as it arrives. If a later page fails, the rows already written remain valid CSV. Use `--json` to fetch all pages first and then write a single versioned JSON envelope to stdout. Use shell redirection to save either format, for example `shopify app subscription-migrations list > subscriptions.csv` or `shopify app subscription-migrations list --json > subscriptions.json`.\n\nUse `--status` to filter subscriptions by migration status. Supported values are `UNSCHEDULED`, `SCHEDULED`, and `MIGRATED`.\n\nRun the command from an app project. By default, it uses the Client ID from the active app configuration. Use `--path` to select an app directory or `--config` to select a configuration. Pass `--client-id` to select a different app within the project. Use `--reset` to relink the app.";static description=this.descriptionWithoutMarkdown();static examples=["<%= config.bin %> <%= command.id %>","<%= config.bin %> <%= command.id %> --status SCHEDULED > scheduled-subscriptions.csv","<%= config.bin %> <%= command.id %> --json","<%= config.bin %> <%= command.id %> --json > subscriptions.json","<%= config.bin %> <%= command.id %> --client-id <client-id> > subscriptions.csv"];static flags={...g};async run(){let{flags:t}=await this.parse(i),{app:n,remoteApp:e}=await d({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config});try{let a=b({clientId:e.apiKey,status:t.status});await _({pages:a,json:t.json})}catch(a){throw a instanceof c?new f("App not found"):a}return{app:n}}};export{u as a};
@@ -0,0 +1,15 @@
1
+ import{a as _}from"./chunk-QBGSSUJP.js";import{c as O,i as A,n as k}from"./chunk-ZHJ6KA43.js";import{a as P}from"./chunk-72HS7MHV.js";import{b as S,m as I}from"./chunk-R757TSQ6.js";import{j as T,k as q,l as L,p as R,v as b}from"./chunk-P3Z5RLVV.js";import{b as g}from"./chunk-DGMRL5DQ.js";import{ra as E}from"./chunk-L5XWYTHY.js";import{a as v}from"./chunk-RGIUP4FW.js";import{i}from"./chunk-FCULF3JA.js";import{Cb as l,Eb as m,Kb as o,Nb as c}from"./chunk-YJWNM4XO.js";import{b as x}from"./chunk-5XO6PAMV.js";import{b as G}from"./chunk-JA2QZ635.js";import{e as W,g as r}from"./chunk-VKWPEFWQ.js";r();r();r();var d=class extends P{context="REPL";constructor(t){super(t),this.themeId=T()}async create(t,n){let s=await super.create(t,n);return await this.uploadThemeAssets(s),s}async findOrCreate(){let t=await this.fetch();if(!t){let n=`Liquid Console (${v})`;t=await this.create(S,n)}return t}setTheme(t){q(t)}removeTheme(){L()}async uploadThemeAssets(t){let n=[{key:"config/settings_data.json",value:"{}"},{key:"config/settings_schema.json",value:"[]"},{key:"snippets/eval.liquid",value:""},{key:"layout/password.liquid",value:"{{ content_for_header }}{{ content_for_layout }}"},{key:"layout/theme.liquid",value:"{{ content_for_header }}{{ content_for_layout }}"},{key:"sections/announcement-bar.liquid",value:""},{key:"templates/index.json",value:JSON.stringify({sections:{announcement:{type:"announcement-bar",settings:{}}},order:["announcement"]})}];await I(t.id,n,this.adminSession)}};r();r();async function $(e){return await H(e)??await j(e)??await Y(e)??await z(e)??void 0}async function H(e){c(`Evaluating snippet - ${e.snippet}`);let t=`{ "type": "display", "value": {{ ${e.snippet} | json }} }`,n=await f({...e,snippet:t}),s=await n.text();return F(n.status,s)?Q(s):void 0}async function j(e){c(`Evaluating context - ${e.snippet}`);let t=`{ "type": "context", "value": "{% ${e.snippet.replace(/"/g,'\\"')} %}" }`,n=await f({...e,snippet:t}),s=await n.text();F(n.status,s)&&e.replSession.push(JSON.parse(t))}async function Y(e){if(c(`Evaluating assignment context - ${e.snippet}`),oe(e.snippet))return e.snippet=`assign ${e.snippet}`,o(m`${l.gray(`> ${e.snippet}`)}`),j(e)}async function z(e){c(`Evaluating syntax error - ${e.snippet}`);let t="";if(X(e.snippet)||(t=await(await f({...e,snippet:`{{ ${e.snippet} }}`})).text()),h(t)||(t=await(await f({...e,snippet:`{% ${e.snippet} %}`})).text()),h(t)){let n=t.replace(/ \(snippets\/eval line \d+\)/,"");B(e.snippet,n)}}function B(e,t){if(t.includes("Unknown tag")){o(m`${l.errorText(`Unknown object, property, tag, or filter: '${e}'`)}`);return}let n=C(t);n&&o(m`${l.errorText(n)}`)}async function f(e){let t=K(e);e.url.startsWith("/")||(e.url=`/${e.url}`);let n=await A(e.themeSession,{method:"GET",path:e.url,query:[],themeId:e.themeId,sectionId:"announcement-bar",headers:{},replaceTemplates:{"sections/announcement-bar.liquid":"{% render 'eval' %}","snippets/eval.liquid":`
2
+ ${t}
3
+ `}});return Z(n)&&ne(),ee(n)&&se(),te(n)&&re(),n}function K(e){return`[${[...e.replSession.map(n=>JSON.stringify(n)),e.snippet].join(",").replace(/\\"/g,'"')}]`}function Q(e){let t=C(e);if(t)return JSON.parse(t)?.find(s=>s.type==="display")?.value}function C(e){let t=e.split(`
4
+ `).slice(1,-1);if(t.length!==0)return t.join("")}function h(e){return e.includes("Liquid syntax error")}function X(e){return/^\s*assign\s*((?:\(?[\w\-.[\]]\)?)+)\s*=\s*(.*)\s*/m.test(e)}function Z(e){return e.status===401||e.status===403}function ee(e){return e.status===430||e.status===429}function te(e){return e.headers.get("server-timing")?.includes('pageType;desc="404"')??!1}function ne(){throw new i("Session expired. Please initiate a new one.")}function se(){throw new i("Evaluations limit reached. Try again later.")}function re(){throw new i("Page not found. Please provide a valid --url value!")}function oe(e){return/^\s*((?:\(?[\w\-.[\]]\)?)+)\s*=\s*(.*)\s*/m.test(e)}function F(e,t){return e===200&&!h(t)}r();function N(e){if(D(e)){o("Object can't be printed, but you can access its fields. Read more at https://shopify.dev/docs/api/liquid.");return}if(e==null){M("null");return}let t=JSON.stringify(e,null,2);M(t)}function D(e){if(Array.isArray(e))return e.length>0?D(e[0]):!1;if(e&&typeof e=="object"){let n=e.error;return typeof n=="string"&&n.includes("json not allowed for this object")}return!1}function M(e){return o(m`${l.cyan(e)}`)}import{createInterface as ie}from"readline";var ae=`Liquid Console doesn't support Liquid delimiters such as '{{ ... }}' or '{% ... %}'.
5
+ Please use 'collections.first' instead of '{{ collections.first }}'.`;async function J(e,t,n){if(x())throw new i("The theme console requires user input and can't run with `--no-input`.");process.stdin.isTTY&&process.stdin.ref();let s=ie({input:process.stdin,output:process.stdout}),a=[];s.on("line",u=>{ue(u,e,t,n,s,a)}),s.prompt()}async function ue(e,t,n,s,a,u){try{if(pe(e))return o(ae),a.prompt();let p=await $({snippet:e,themeSession:t,themeId:n,url:s,replSession:u});N(p),a.prompt()}catch(p){throw a.close(),p instanceof Error?(c(p.stack??"Error backtrace not found"),new i(p.message)):new i("An unknown error occurred. Please try again.")}}function pe(e){return/^\s*(\{\{|{%)/.test(e)}async function U(e,t){let n=await ce(e),s=await O(e)?await _(t,e.storeFqdn):void 0;return{themeId:n,storePassword:s}}async function ce(e){return(await new d(e).findOrCreate()).id.toString()}async function V(e,t,n,s,a){if(o(`Welcome to Shopify Liquid console
6
+ (press Ctrl + C to exit)`),s?.startsWith("shpat_"))throw new i("Unable to use Admin API tokens with the console command",`To use this command with the --password flag you must:
7
+
8
+ 1. Install the Theme Access app on your shop
9
+ 2. Generate a new password
10
+
11
+ Alternatively, you can authenticate normally by not passing the --password flag.
12
+
13
+ Learn more: https://shopify.dev/docs/storefronts/themes/tools/theme-access`);let u=await k(t,e,s,a);return J(u,t,n)}var y=W(G(),1);var w=class extends b{static summary="Shopify Liquid REPL (read-eval-print loop) tool";static usage=["theme console","theme console --url /products/classic-leather-jacket"];static descriptionWithMarkdown=`Starts the Shopify Liquid REPL (read-eval-print loop) tool. This tool provides an interactive terminal interface for evaluating Liquid code and exploring Liquid objects, filters, and tags using real store data.
14
+
15
+ You can also provide context to the console using a URL, as some Liquid objects are context-specific`;static description=this.descriptionForHelp();static flags={...g,...R,url:y.Flags.string({description:"The url to be used as context",env:"SHOPIFY_FLAG_URL",default:"/"}),"store-password":y.Flags.string({description:"The password for storefronts with password protection.",env:"SHOPIFY_FLAG_STORE_PASSWORD"})};static multiEnvironmentsFlags=null;async command(t,n){let{url:s,password:a}=t,{themeId:u,storePassword:p}=await U(n,t["store-password"]);E("theme-command:console:single-env:authenticated"),await V(n,u,s,a,p)}};export{w as a};
@@ -0,0 +1 @@
1
+ import{g as l,ka as d,pa as z,qa as y}from"./chunk-Q45XAEG2.js";import{b as g,c as f,d as h}from"./chunk-DGMRL5DQ.js";import{b as n}from"./chunk-FW5HGFSZ.js";import{G as c}from"./chunk-SKRUMRB4.js";import{a as u}from"./chunk-5RL6DKWR.js";import{Ib as p,b as o}from"./chunk-YJWNM4XO.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();i();i();var L=o.object({id:o.string(),gid:o.string(),name:o.string(),status:o.enum(l),shopCount:o.number().nullable(),url:o.string()}).strict(),r=u({name:"OrganizationListResult",schema:o.object({organizations:o.array(L)}).strict(),definitions:{OrganizationListEntry:L}});function e(s,t){if(t==="json"){p(r.encode(s));return}c({rows:s.organizations.map(a=>({id:a.id,name:a.name})),columns:{id:{header:"ID"},name:{header:"NAME"}}})}i();async function O(){return{organizations:(await y()).map(t=>({id:t.id,gid:d(t.id),name:t.businessName,status:t.status,shopCount:t.shopCount,url:t.url}))}}var m=class s extends n{static baseFlags={...n.baseFlags,...h};static summary="List Shopify organizations you have access to.";static descriptionWithMarkdown="Lists the Shopify organizations that you have access to, along with their organization IDs.";static description=this.descriptionForHelp();static flags={...g,...f};static get jsonOutputSchema(){return r}async run(){let{flags:t}=await this.parse(s);try{let a=await O();e(a,t.json?"json":"text")}catch(a){if(t.json&&a instanceof z){e({organizations:[]},"json");return}throw a}}};export{m as a};
@@ -0,0 +1 @@
1
+ import{a as h,b as w}from"./chunk-TMV37ENR.js";import{j as f}from"./chunk-L5XWYTHY.js";import{T as d}from"./chunk-SKRUMRB4.js";import{i}from"./chunk-FCULF3JA.js";import{Ka as m,ra as p}from"./chunk-YJWNM4XO.js";import{d as u}from"./chunk-3VYOLEQE.js";import{g as l}from"./chunk-VKWPEFWQ.js";l();import{writeFile as g}from"fs/promises";var S=1024*1024,y=100,U=y*S,E=3,_=new Set([408,429,500,502,503,504]);async function j(o,e){let t=u(e,"manifest.json");await g(t,JSON.stringify(o,null,2))}var A=["!**/*.js.map","!**/*.metafile.json"];async function k(o,e,t){let n=t??["**/*",...A];e.endsWith(".br")?await w({inputDirectory:o,outputPath:e,matchFilePattern:n}):await h({inputDirectory:o,outputZipPath:e,matchFilePattern:n})}async function C(o,e){let t=await m(e);if(t>U){let s=`${(Math.ceil(t/S*100)/100).toFixed(2)} MB`;throw new i(`Your app bundle exceeds the ${y} MB upload limit (it is ${s}).`,"Check the asset paths in your extension configuration \u2014 a misconfigured source can pull in much more than intended. Exclude large files or directories from your bundle, then try again.")}let n=p(e),r;for(let s=1;s<=E;s++){if(r=await f(o,{method:"put",body:n},"slow-request"),r.ok)return;let T=s===E;if(_.has(r.status)&&!T){await r.text().catch(()=>{}),await d(2**s*.1);continue}break}let a=r?.status,c=(await r?.text().catch(()=>""))?.trim();throw new i(`Failed to upload your app bundle to storage${a?` (HTTP ${a})`:""}.`,"This is usually transient. Please try again, and check your network connection if it persists.",c?[`Storage responded with: ${c.slice(0,300)}`]:void 0)}async function D(o,e){let t=await o.generateSignedUploadUrl(e);if(!t.assetUrl||t.userErrors?.length>0){let n=t.userErrors.map(r=>r.message).join(", ");throw new i(n)}return t.assetUrl}export{j as a,A as b,k as c,C as d,D as e};
@@ -1,3 +1,3 @@
1
- import{a as I}from"./chunk-LFOBYEWG.js";import{i as d,r as w,v as n}from"./chunk-CNK3ZO2B.js";import{w as l}from"./chunk-6QADNGH4.js";import{A as y,B as N,S,y as g}from"./chunk-6C5AVMKR.js";import{a as h}from"./chunk-XOYICV6P.js";import{m as u,n as m}from"./chunk-QKTBYAUD.js";import{j as _}from"./chunk-OAG72Q2O.js";import{Ab as a}from"./chunk-43FRAUV6.js";import{a as f}from"./chunk-JD5P5RAJ.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();var C="https://cdn.shopify.com/static/cli/notifications.json",T="Cache is empty",O=["notifications:list","notifications:generate","init","app:init","theme:init","hydrogen:init","cache:clear","send-analytics"],$=["127.0.0.1","localhost","::1","[::1]"];function c(){let e=process.env.SHOPIFY_CLI_NOTIFICATIONS_URL;if(e)try{let t=new globalThis.URL(e);if(v(t))return e;a(`The notifications URL provided via SHOPIFY_CLI_NOTIFICATIONS_URL (${e}) must use https, or http with a loopback host. Falling back to default.`)}catch{a(`The notifications URL provided via SHOPIFY_CLI_NOTIFICATIONS_URL (${e}) is not a valid URL. Falling back to default.`)}return C}function v(e){return e.protocol==="https:"?!0:e.protocol==="http:"&&$.includes(e.hostname)}var E=n.object({id:n.string(),message:n.string(),type:n.enum(["info","warning","error"]),frequency:n.enum(["always","once","once_a_day","once_a_week"]),ownerChannel:n.string(),cta:n.object({label:n.string(),url:n.string().url()}).optional(),title:n.string().optional(),minVersion:n.string().optional(),maxVersion:n.string().optional(),minDate:n.string().optional(),maxDate:n.string().optional(),commands:n.array(n.string()).optional(),surface:n.string().optional()}),x=n.object({notifications:n.array(E)});async function Z(e,t=process.env){try{let r=I();if(D(r,t)||d(t))return;let o=await k(),i=A(o.notifications,r,e);a(`Notifications to show: ${i.length}`),await L(i)}catch(r){if(r.message===T){a("Notifications to show: 0 (Cache is empty)");return}if(r.message==="abort")throw new _;let o=`Error showing notifications: ${r.message}`;a(o);let{sendErrorToBugsnag:i}=await import("./error-handler-JNCW56EC.js");await i(o,"unexpected_error")}}function D(e,t=process.env){return f(t.CI)||f(t.SHOPIFY_UNIT_TEST)||O.includes(e)}async function L(e){e.slice(0,2).forEach(t=>{let r={headline:t.title,body:t.message.replace(/\\n/g,`
1
+ import{a as I}from"./chunk-LFOBYEWG.js";import{j as w}from"./chunk-L5XWYTHY.js";import{w as l}from"./chunk-6GA56I3E.js";import{m as u,n as m}from"./chunk-QAXFCAOV.js";import{a as h}from"./chunk-RGIUP4FW.js";import{A as y,B as N,S,y as g}from"./chunk-SKRUMRB4.js";import{k as d}from"./chunk-YTJ3EPD3.js";import{k as _}from"./chunk-FCULF3JA.js";import{Nb as a,b as n}from"./chunk-YJWNM4XO.js";import{a as f}from"./chunk-JD5P5RAJ.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();var C="https://cdn.shopify.com/static/cli/notifications.json",T="Cache is empty",O=["notifications:list","notifications:generate","init","app:init","theme:init","hydrogen:init","cache:clear","send-analytics"],$=["127.0.0.1","localhost","::1","[::1]"];function c(){let e=process.env.SHOPIFY_CLI_NOTIFICATIONS_URL;if(e)try{let t=new globalThis.URL(e);if(v(t))return e;a(`The notifications URL provided via SHOPIFY_CLI_NOTIFICATIONS_URL (${e}) must use https, or http with a loopback host. Falling back to default.`)}catch{a(`The notifications URL provided via SHOPIFY_CLI_NOTIFICATIONS_URL (${e}) is not a valid URL. Falling back to default.`)}return C}function v(e){return e.protocol==="https:"?!0:e.protocol==="http:"&&$.includes(e.hostname)}var E=n.object({id:n.string(),message:n.string(),type:n.enum(["info","warning","error"]),frequency:n.enum(["always","once","once_a_day","once_a_week"]),ownerChannel:n.string(),cta:n.object({label:n.string(),url:n.string().url()}).optional(),title:n.string().optional(),minVersion:n.string().optional(),maxVersion:n.string().optional(),minDate:n.string().optional(),maxDate:n.string().optional(),commands:n.array(n.string()).optional(),surface:n.string().optional()}),x=n.object({notifications:n.array(E)});async function Z(e,t=process.env){try{let r=I();if(D(r,t)||d(t))return;let o=await k(),i=A(o.notifications,r,e);a(`Notifications to show: ${i.length}`),await L(i)}catch(r){if(r.message===T){a("Notifications to show: 0 (Cache is empty)");return}if(r.message==="abort")throw new _;let o=`Error showing notifications: ${r.message}`;a(o);let{sendErrorToBugsnag:i}=await import("./error-handler-D5BURRJ7.js");await i(o,"unexpected_error")}}function D(e,t=process.env){return f(t.CI)||f(t.SHOPIFY_UNIT_TEST)||O.includes(e)}async function L(e){e.slice(0,2).forEach(t=>{let r={headline:t.title,body:t.message.replace(/\\n/g,`
2
2
  `),link:t.cta};switch(t.type){case"info":{g(r);break}case"warning":{y(r);break}case"error":throw N(r),new Error("abort")}u(`notification-${t.id}`,new Date().getTime().toString())})}async function k(){let e=`notifications-${c()}`,t=m(e)?.value;if(!t)throw new Error(T);let r=JSON.parse(t);return x.parse(r)}async function ee(){a("Fetching notifications...");let e=await w(c(),void 0,{useNetworkLevelRetry:!1,useAbortSignal:!0,timeoutMs:3*1e3});if(e.status!==200)throw new Error(`Failed to fetch notifications: ${e.statusText}`);let t=await e.text(),r=JSON.parse(t),o=x.parse(r);return await F(t),o}async function F(e){u(`notifications-${c()}`,e),a(`Notifications from ${c()} stored in the cache`)}function te(e,t=process.argv,r=process.env){if(D(e,r)||!t[1])return;let o=process.execPath,s=[t[1],"notifications","list","--ignore-errors"];S(o,s,{background:!0,env:{...process.env,SHOPIFY_CLI_NO_ANALYTICS:"1"},externalErrorHandler:async b=>{a(`Failed to fetch notifications in background: ${b.message}`)}})}function A(e,t,r,o=new Date(new Date().setUTCHours(0,0,0,0)),i=h){return e.filter(s=>V(s,i)).filter(s=>B(s,o)).filter(s=>R(s,t)).filter(s=>U(s,t,r)).filter(s=>H(s))}function V(e,t){let r=!e.minVersion||l(t,`>=${e.minVersion}`),o=!e.maxVersion||l(t,`<=${e.maxVersion}`);return r&&o}function B(e,t){let r=!e.minDate||new Date(e.minDate)<=t,o=!e.maxDate||new Date(e.maxDate)>=t;return r&&o}function R(e,t){return t===""?!0:!e.commands||e.commands.includes(t)}function U(e,t,r){let o=t.split(":")[0]??"all",i=e.surface??"all";return r?r.includes(i):i===o||i==="all"}function H(e){if(!e.frequency)return!0;let t=`notification-${e.id}`,r=m(t)?.value;if(!r)return!0;switch(e.frequency){case"always":return!0;case"once":return!1;case"once_a_day":return new Date().getTime()-Number(r)>24*3600*1e3;case"once_a_week":return new Date().getTime()-Number(r)>168*3600*1e3}}function re(e){let t=[];return e.minDate&&t.push(`from ${e.minDate}`),e.maxDate&&t.push(`to ${e.maxDate}`),e.minVersion&&t.push(`from v${e.minVersion}`),e.maxVersion&&t.push(`to v${e.maxVersion}`),e.frequency==="once"&&t.push("show only once"),e.frequency==="once_a_day"&&t.push("show once a day"),e.frequency==="once_a_week"&&t.push("show once a week"),e.surface&&t.push(`surface = ${e.surface}`),e.commands&&t.push(`commands = ${e.commands.join(", ")}`),t.join(`
3
3
  `)}export{Z as a,k as b,ee as c,te as d,A as e,re as f};
@@ -0,0 +1,5 @@
1
+ import{a as f}from"./chunk-JROJL6RV.js";import{a as h}from"./chunk-YGFEUXKQ.js";import{a as c}from"./chunk-JTPVSO6Y.js";import{Ha as m}from"./chunk-2KLXRVGQ.js";import{b as l}from"./chunk-DGMRL5DQ.js";import{u as a}from"./chunk-L5XWYTHY.js";import{z as p}from"./chunk-SKRUMRB4.js";import{i as d}from"./chunk-FCULF3JA.js";import{b as C}from"./chunk-JA2QZ635.js";import{e as g,g as s}from"./chunk-VKWPEFWQ.js";s();s();async function v(t){let e=t.appContextResult.developerPlatformClient,o=t.appContextResult.remoteApp,r=await e.devSessionDelete({shopFqdn:t.store.shopDomain,appId:o.id});if(r.devSessionDelete?.userErrors.length){let u=r.devSessionDelete.userErrors.map(w=>w.message).join(`
2
+ `);throw new d(`Failed to stop the dev preview: ${u}`)}p({headline:"Dev preview stopped.",body:[`The dev preview has been stopped on ${t.store.shopDomain} and the app's active version has been restored.`,"You can start it again with",{command:"shopify app dev"}]})}var i=g(C(),1);var n=class t extends h{static summary="Cleans up the dev preview from the selected store.";static descriptionWithMarkdown=`Stop the dev preview that was started with \`shopify app dev\`.
3
+
4
+ It restores the app's active version to the selected development store.
5
+ `;static description=this.descriptionForHelp();static flags={...l,...c,"client-id":i.Flags.string({hidden:!1,description:"The Client ID of your app. Use with --config to clean up the dev preview for a different app than the one it is linked to.",env:"SHOPIFY_FLAG_CLIENT_ID"}),store:i.Flags.string({hidden:!1,char:"s",description:"Store URL. Must be an existing development store.",env:"SHOPIFY_FLAG_STORE",parse:async e=>a(e)})};async run(){let{flags:e}=await this.parse(t),o=await m({directory:e.path,clientId:e["client-id"],forceRelink:e.reset,userProvidedConfigName:e.config}),r=await f({appContextResult:o,storeFqdn:e.store,forceReselectStore:e.reset});return await v({appContextResult:o,store:r}),{app:o.app}}};export{n as a};
@@ -1 +1 @@
1
- import{n as A,wa as x}from"./chunk-CVW2HMQO.js";import{F}from"./chunk-6C5AVMKR.js";import{h as s}from"./chunk-OAG72Q2O.js";import{a as D}from"./chunk-CTNBSUVU.js";import{Ta as p,sb as f,ua as v,wb as I,xb as P}from"./chunk-43FRAUV6.js";import{a as S}from"./chunk-XYUTD6IU.js";import{d as m,f as y,q as w}from"./chunk-773TIA5M.js";import{e as E,g as l}from"./chunk-VKWPEFWQ.js";l();async function b(n){let{extension:e,stdout:o,developerPlatformClient:i,app:r,orgId:t}=n,c=r.configuration.client_id,{api_version:a,type:u,targeting:d}=e.configuration,T=await(!!d?.length?_({localIdentifier:e.localIdentifier,developerPlatformClient:i,apiKey:c,target:d[0].target,version:a,orgId:t}):$({localIdentifier:e.localIdentifier,developerPlatformClient:i,apiKey:c,type:u,version:a,orgId:t})),h=A(T,a);if(o)I(h);else{let g=m(e.directory,"schema.graphql");await v(g,h),P(`GraphQL Schema for ${e.localIdentifier} written to ${g}`)}}async function _({localIdentifier:n,developerPlatformClient:e,apiKey:o,target:i,version:r,orgId:t}){let c={handle:i,version:r},a=await e.targetSchemaDefinition(c,o,t);if(!a)throw new s(f`A schema could not be generated for ${n}`,f`Check that the Function targets and version are valid.`);return a}async function $({localIdentifier:n,developerPlatformClient:e,apiKey:o,version:i,type:r,orgId:t}){let c={version:i,type:r},a=await e.apiSchemaDefinition(c,o,t);if(!a)throw new s(f`A schema could not be generated for ${n}`,f`Check that the Function API type and version are valid.`);return a}l();var C=E(D(),1);var J={path:C.Flags.string({hidden:!1,description:"The path to your function directory.",parse:async n=>y(n),default:async()=>w(),noCacheDefault:!0,env:"SHOPIFY_FLAG_PATH"})};async function M(n,e){let o=n.allExtensions.filter(r=>r.isFunctionExtension),i=o.find(r=>r.directory===e);if(i)return i;if(o.length===1&&o[0])return o[0];if(S())return await F({message:"Which function?",choices:o.map(t=>({label:t.handle,value:t}))});throw new s("Run this command from a function directory or use `--path` to specify a function directory.")}async function N(n,e,o,i,r){let t=m(n.directory,"schema.graphql");if(await p(t))return t;let{app:c,developerPlatformClient:a,organization:u}=await x({directory:e,clientId:o,forceRelink:i,userProvidedConfigName:r});return await b({app:c,developerPlatformClient:a,extension:n,stdout:!1,orgId:u.id}),await p(t)?t:void 0}export{b as a,J as b,M as c,N as d};
1
+ import{Ha as x,p as A}from"./chunk-2KLXRVGQ.js";import{F}from"./chunk-SKRUMRB4.js";import{i as s}from"./chunk-FCULF3JA.js";import{Eb as f,Ib as I,Kb as P,Xa as p,ya as v}from"./chunk-YJWNM4XO.js";import{a as S}from"./chunk-SGBLCVUX.js";import{b as D}from"./chunk-JA2QZ635.js";import{d as m,f as y,q as w}from"./chunk-3VYOLEQE.js";import{e as E,g as l}from"./chunk-VKWPEFWQ.js";l();async function b(n){let{extension:e,stdout:o,developerPlatformClient:i,app:r,orgId:t}=n,c=r.configuration.client_id,{api_version:a,type:u,targeting:d}=e.configuration,T=await(!!d?.length?_({localIdentifier:e.localIdentifier,developerPlatformClient:i,apiKey:c,target:d[0].target,version:a,orgId:t}):$({localIdentifier:e.localIdentifier,developerPlatformClient:i,apiKey:c,type:u,version:a,orgId:t})),h=A(T,a);if(o)I(h);else{let g=m(e.directory,"schema.graphql");await v(g,h),P(`GraphQL Schema for ${e.localIdentifier} written to ${g}`)}}async function _({localIdentifier:n,developerPlatformClient:e,apiKey:o,target:i,version:r,orgId:t}){let c={handle:i,version:r},a=await e.targetSchemaDefinition(c,o,t);if(!a)throw new s(f`A schema could not be generated for ${n}`,f`Check that the Function targets and version are valid.`);return a}async function $({localIdentifier:n,developerPlatformClient:e,apiKey:o,version:i,type:r,orgId:t}){let c={version:i,type:r},a=await e.apiSchemaDefinition(c,o,t);if(!a)throw new s(f`A schema could not be generated for ${n}`,f`Check that the Function API type and version are valid.`);return a}l();var C=E(D(),1);var J={path:C.Flags.string({hidden:!1,description:"The path to your function directory.",parse:async n=>y(n),default:async()=>w(),noCacheDefault:!0,env:"SHOPIFY_FLAG_PATH"})};async function M(n,e){let o=n.allExtensions.filter(r=>r.isFunctionExtension),i=o.find(r=>r.directory===e);if(i)return i;if(o.length===1&&o[0])return o[0];if(S())return await F({message:"Which function?",choices:o.map(t=>({label:t.handle,value:t}))});throw new s("Run this command from a function directory or use `--path` to specify a function directory.")}async function N(n,e,o,i,r){let t=m(n.directory,"schema.graphql");if(await p(t))return t;let{app:c,developerPlatformClient:a,organization:u}=await x({directory:e,clientId:o,forceRelink:i,userProvidedConfigName:r});return await b({app:c,developerPlatformClient:a,extension:n,stdout:!1,orgId:u.id}),await p(t)?t:void 0}export{b as a,J as b,M as c,N as d};
@@ -0,0 +1,7 @@
1
+ import{p,v as d}from"./chunk-P3Z5RLVV.js";import{a as u}from"./chunk-TMV37ENR.js";import{aa as w}from"./chunk-IBTQO3JD.js";import{b as l}from"./chunk-DGMRL5DQ.js";import{z as f}from"./chunk-SKRUMRB4.js";import{i}from"./chunk-FCULF3JA.js";import{Xa as c,qa as h}from"./chunk-YJWNM4XO.js";import{f as r,n as m}from"./chunk-3VYOLEQE.js";import{e as _,g as o}from"./chunk-VKWPEFWQ.js";o();o();var g=_(w(),1),P=["AGENTS.md","DESIGN.md","assets/**","blocks/**","config/**","layout/**","listings/**/*","locales/**","sections/**","snippets/**","templates/**","templates/customers/**","release-notes.md","update_extension.json"].join("|");async function y(e){let t=await k(e),s=`${e}/${t}`,n=`${e}/(${P})`;await u({inputDirectory:e,outputZipPath:s,matchFilePattern:n}),f({body:["Your local theme was packaged in",{filePath:m(s)}]})}async function k(e){let t=r(e,"config/settings_schema.json");if(!await c(t))throw new i("Provide a config/settings_schema.json to package your theme.");let s=await v(t);if(s===void 0||s.theme_name===void 0)throw new i("Provide a theme_info.theme_name configuration in config/settings_schema.json.");return`${[s.theme_name,s.theme_version].filter(Boolean).join("-")}.zip`}async function v(e){let t=(0,g.parseJSON)(await h(e),null,!0);if(!t)throw new i("The file config/settings_schema.json contains an error. Please check if the file is valid JSON and includes the theme_info.theme_name configuration.");return t.find(s=>s.name==="theme_info")}var a=class extends d{static summary="Package your theme into a .zip file, ready to upload to the Online Store.";static descriptionWithMarkdown=`Packages your local theme files into a ZIP file that can be uploaded to Shopify.
2
+
3
+ Only folders that match the [default Shopify theme folder structure](https://shopify.dev/docs/storefronts/themes/tools/cli#directory-structure) are included in the package.
4
+
5
+ The package includes the \`listings\` directory if present (required for multi-preset themes per [Theme Store requirements](https://shopify.dev/docs/storefronts/themes/store/requirements#adding-presets-to-your-theme-zip-submission)).
6
+
7
+ The ZIP file uses the name \`theme_name-theme_version.zip\`, based on parameters in your [settings_schema.json](https://shopify.dev/docs/storefronts/themes/architecture/config/settings-schema-json) file.`;static description=this.descriptionForHelp();static flags={...l,path:p.path};static multiEnvironmentsFlags=null;async command(t){await y(t.path)}};export{a};
@@ -0,0 +1 @@
1
+ import{A as n}from"./chunk-SKRUMRB4.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();function d({from:o,to:r}){n({headline:[{command:`shopify ${o}`},"has moved."],body:["This command will be removed in a future release. Use",{command:`shopify ${r}`},"instead."]})}export{d as a};
@@ -0,0 +1 @@
1
+ import{a as w}from"./chunk-WXV35TPE.js";import{a as y}from"./chunk-Q3O3AFZT.js";import{a as h}from"./chunk-JTPVSO6Y.js";import{Ia as b,g}from"./chunk-2KLXRVGQ.js";import{b as u}from"./chunk-DGMRL5DQ.js";import{S as f,x as d,z as m}from"./chunk-SKRUMRB4.js";import{d as l}from"./chunk-G54BKNIX.js";import{b as A}from"./chunk-JA2QZ635.js";import{e as _,g as s}from"./chunk-VKWPEFWQ.js";s();s();s();async function o(e,{web:i,stdout:t,stderr:a,signal:n,env:p={}}){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:p}),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,p)=>{await o("build",{web:t,stdout:a,stderr:n,signal:p,env:i})}})),...e.app.allExtensions.map(t=>({prefix:t.localIdentifier,action:async(a,n,p)=>{await t.build({stdout:a,stderr:n,signal:p,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.descriptionForHelp();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};
@@ -0,0 +1 @@
1
+ import{b as a,c}from"./chunk-DGMRL5DQ.js";import{b as u}from"./chunk-FW5HGFSZ.js";import{a as i}from"./chunk-RGIUP4FW.js";import{a as p}from"./chunk-5RL6DKWR.js";import{Ib as m,b as r}from"./chunk-YJWNM4XO.js";import{g as t}from"./chunk-VKWPEFWQ.js";t();t();async function f(){return{version:i}}t();t();var o=p({name:"VersionResult",schema:r.object({version:r.string()})});function l(e,s){m(s==="json"?o.encode(e):e.version)}var n=class e extends u{static descriptionWithMarkdown="Shopify CLI version currently installed.";static description=this.descriptionForHelp();static flags={...a,...c};static get jsonOutputSchema(){return o}async run(){let{flags:s}=await this.parse(e),v=await f();l(v,s.json?"json":"text")}};export{n as a};
@@ -1,2 +1,2 @@
1
- import{Ab as d}from"./chunk-43FRAUV6.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();import{spawn as m}from"child_process";function b(n=process.pid,s="SIGTERM",e=!0,i){$(n,s,e,i??(t=>{t&&d(`Failed to kill process ${n}: ${t}`)}))}function $(n,s,e,i){let o=typeof n=="number"?n.toString():n;if(!/^\d+$/.test(o)){i(new Error("pid must be a number"));return}let t={};t[o]=[];let r=new Set;switch(r.add(o),process.platform){case"win32":{m("taskkill",["/pid",o,"/T","/F"]).on("close",f=>{f===0?i():i(new Error(`taskkill exited with code ${f}`))});break}case"darwin":h(o,t,r,function(c){return m("pgrep",["-lfP",c])},function(){k(t,s,o,e,i)});break;default:h(o,t,r,function(c){return m("ps",["-o","pid command","--no-headers","--ppid",c])},function(){k(t,s,o,e,i)});break}}function k(n,s,e,i,o){let t=new Set;try{Object.keys(n).forEach(function(r){n[r].forEach(function(c){t.has(c)||(w(c,s),t.add(c))}),r===e&&i&&!t.has(r)&&(w(r,s),t.add(r))})}catch(r){o(r);return}o()}function w(n,s){try{process.kill(parseInt(n,10),s)}catch(e){if(e.code!=="ESRCH")throw e}}function h(n,s,e,i,o){let t=i(n),r="";t.stdout?.on("data",function(f){let a=f.toString("ascii");r+=a});let c=f=>{if(e.delete(n),f!==0){if(e.size===0){o();return}return}r.trim().split(`
1
+ import{Nb as d}from"./chunk-YJWNM4XO.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();import{spawn as m}from"child_process";function b(n=process.pid,s="SIGTERM",e=!0,i){$(n,s,e,i??(t=>{t&&d(`Failed to kill process ${n}: ${t}`)}))}function $(n,s,e,i){let o=typeof n=="number"?n.toString():n;if(!/^\d+$/.test(o)){i(new Error("pid must be a number"));return}let t={};t[o]=[];let r=new Set;switch(r.add(o),process.platform){case"win32":{m("taskkill",["/pid",o,"/T","/F"]).on("close",f=>{f===0?i():i(new Error(`taskkill exited with code ${f}`))});break}case"darwin":h(o,t,r,function(c){return m("pgrep",["-lfP",c])},function(){k(t,s,o,e,i)});break;default:h(o,t,r,function(c){return m("ps",["-o","pid command","--no-headers","--ppid",c])},function(){k(t,s,o,e,i)});break}}function k(n,s,e,i,o){let t=new Set;try{Object.keys(n).forEach(function(r){n[r].forEach(function(c){t.has(c)||(w(c,s),t.add(c))}),r===e&&i&&!t.has(r)&&(w(r,s),t.add(r))})}catch(r){o(r);return}o()}function w(n,s){try{process.kill(parseInt(n,10),s)}catch(e){if(e.code!=="ESRCH")throw e}}function h(n,s,e,i,o){let t=i(n),r="";t.stdout?.on("data",function(f){let a=f.toString("ascii");r+=a});let c=f=>{if(e.delete(n),f!==0){if(e.size===0){o();return}return}r.trim().split(`
2
2
  `).forEach(function(a){let l=a.match(/^(\d+)\s(.*)$/);if(l){let u=l[1],E=l[2];s[n].push(u),s[u]=[],d(`Killing process ${u}: ${E}`),e.add(u),h(u,s,e,i,o)}})};t.on("close",c)}export{b as a};
@@ -0,0 +1,16 @@
1
+ import{b as s}from"./chunk-FW5HGFSZ.js";import{e as w}from"./chunk-QAXFCAOV.js";import{C,E as x,y as a}from"./chunk-SKRUMRB4.js";import{i as S}from"./chunk-FCULF3JA.js";import{Nb as I}from"./chunk-YJWNM4XO.js";import{g as n}from"./chunk-VKWPEFWQ.js";n();n();n();var m={on:"Autocorrect on. The system will automatically run commands even when you mistype them.",off:"Autocorrect off. You'll need to confirm corrections for mistyped commands."};n();function p(o=v()){return!!o.get("autocorrectEnabled")}function y(o,e=v()){e.set("autocorrectEnabled",o)}function v(){return A??=new w({projectName:"did-you-mean"}),A}var A;var u=class extends s{static summary="Enable autocorrect. Off by default.";static descriptionWithMarkdown=`Enable autocorrect. Off by default.
2
+
3
+ When autocorrection is enabled, Shopify CLI automatically runs a corrected version of your command if a correction is available.
4
+
5
+ When autocorrection is disabled, you need to confirm that you want to run corrections for mistyped commands.
6
+ `;static description=this.descriptionForHelp();async run(){y(!0),a({body:m.on})}};n();var d=class extends s{static summary="Disable autocorrect. Off by default.";static descriptionWithMarkdown=`Disable autocorrect. Off by default.
7
+
8
+ When autocorrection is enabled, Shopify CLI automatically runs a corrected version of your command if a correction is available.
9
+
10
+ When autocorrection is disabled, you need to confirm that you want to run corrections for mistyped commands.
11
+ `;static description=this.descriptionForHelp();async run(){y(!1),a({body:m.off})}};n();var f=class extends s{static summary="Check whether autocorrect is enabled or disabled. On by default.";static descriptionWithMarkdown=`Check whether autocorrect is enabled or disabled. On by default.
12
+
13
+ When autocorrection is enabled, Shopify CLI automatically runs a corrected version of your command if a correction is available.
14
+
15
+ When autocorrection is disabled, you need to confirm that you want to run corrections for mistyped commands.
16
+ `;static description=this.descriptionForHelp();async run(){p()?a({body:m.on}):a({body:m.off})}};n();var b=E(2),Z=E(3);function E(o){if(typeof o!="number"||Number.isNaN(o)||o<1||o===Number.POSITIVE_INFINITY)throw new Error("`"+o+"` is not a valid argument for `n-gram`");return e;function e(t){let i=[];if(t==null)return i;let c=typeof t.slice=="function"?t:String(t),r=c.length-o+1;if(r<1)return i;for(;r--;)i[r]=c.slice(r,r+o);return i}}function h(o){return o.replace(/:/g," ")}function W(o,e){let t=new Map;for(let c of o)t.set(c,(t.get(c)??0)+1);let i=0;for(let c of e){let r=t.get(c)??0;r>0&&(i+=1,t.set(c,r-1))}return i}function D(o){if(o.id.length<2)return;let e=new Set(o.config.commands.filter(r=>r.hidden).map(r=>r.id)),t=Array.from(new Set([...o.config.commandIDs,...o.config.commands.flatMap(r=>r.aliases)].filter(r=>!e.has(r)))),i=b(o.id),c=t.map(r=>{let l=b(r);return{score:W(l,i),cmd:r}}).filter(({score:r})=>r>=2).sort((r,l)=>{let g=l.score-r.score;return g!==0?g:r.cmd.length-l.cmd.length});if(I(`'Did you mean' options: ${JSON.stringify(c)}`),c.length>0){let{cmd:r}=c[0];return r}}async function F(o,e){return p()?(a({body:["Autocorrecting",{command:h(e)},"to",{command:h(o)},{char:"."}]}),!0):x({message:["Command",{command:e},"not found. Did you mean",{command:h(o)},{char:"?"}]})}var uo={"config:autocorrect:off":d,"config:autocorrect:status":f,"config:autocorrect:on":u},fo=async function(o){let e=D(o),t=h(o.id);if(o.argv&&(o.argv.includes("-f")||o.argv.includes("--force"))||!e){C(new S(`Command '${t}' not found.`));return}await F(e,t)&&await this.config.runCommand(e,o.argv)};export{D as a,F as b,uo as c,fo as d};
@@ -0,0 +1 @@
1
+ import{b as t}from"./chunk-WCAGYCT7.js";import{b as a}from"./chunk-FW5HGFSZ.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();var i=class extends a{static summary="Upgrades Shopify CLI.";static descriptionWithMarkdown="Upgrades Shopify CLI using your package manager.";static description=this.descriptionForHelp();async run(){await t()}};export{i as a};
@@ -0,0 +1 @@
1
+ import{c as n}from"./chunk-DGMRL5DQ.js";import{a as r,b as c,c as l}from"./chunk-LOTGSNS5.js";import{b as i}from"./chunk-FW5HGFSZ.js";import{b as h}from"./chunk-JA2QZ635.js";import{e as f,g as o}from"./chunk-VKWPEFWQ.js";o();var t=f(h(),1);var e=class p extends i{static args={command:t.Args.string({description:"Command to show help for.",required:!1})};static descriptionWithMarkdown="Display help for Shopify CLI";static description=this.descriptionForHelp();static usage="help [command] [flags]";static flags={...n,"nested-commands":t.Flags.boolean({char:"n",description:"Include all nested commands in the output.",env:"SHOPIFY_FLAG_CLI_NESTED_COMMANDS",default:!1})};static strict=!1;static get jsonOutputSchema(){return r}async run(){let{argv:a,flags:s}=await this.parse(p);if(s.json){let d=await c(this.config,a,s["nested-commands"]);l(d);return}let m=await(0,t.loadHelpClass)(this.config);await new m(this.config,{all:s["nested-commands"]}).showHelp(a)}};export{e as a};
@@ -0,0 +1 @@
1
+ import{b as u,c as d}from"./chunk-AD4S2VEI.js";import{a as c}from"./chunk-WXV35TPE.js";import{a as e}from"./chunk-JTPVSO6Y.js";import{Ia as n,e as p}from"./chunk-2KLXRVGQ.js";import{b as i}from"./chunk-DGMRL5DQ.js";import{z as s}from"./chunk-SKRUMRB4.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();var r=class f extends c{static summary="Generate GraphQL types for a function.";static descriptionWithMarkdown="Creates GraphQL types based on your [input query](https://shopify.dev/docs/apps/functions/input-output#input) for a function. Supports JavaScript functions out of the box, or any language via the `build.typegen_command` configuration.";static description=this.descriptionForHelp();static flags={...i,...e,...u};async run(){let{flags:t}=await this.parse(f),{app:o}=await n({directory:t.path,userProvidedConfigName:t.config}),m=await d(o,t.path);return await p(m,{stdout:process.stdout,stderr:process.stderr,app:o}),s({headline:"GraphQL types generated successfully."}),{app:o}}};export{r as a};
@@ -1 +1 @@
1
- import{xa as r}from"./chunk-CVW2HMQO.js";import{a}from"./chunk-H7TDIRIU.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{Ia as r}from"./chunk-2KLXRVGQ.js";import{a}from"./chunk-6RBCFXJT.js";import{q as i}from"./chunk-3VYOLEQE.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{Ab as ms,Ea as cs,Pa as hs,Qa as us,Ta as fs,Wa as ds,bb as ps,ma as wt,pa as be,qb as kt,sb as gs,ua as ls,wa as bt}from"./chunk-43FRAUV6.js";import{d as we,g as yt,i as as}from"./chunk-773TIA5M.js";import{a as X,c as gi,e as mi,g as ye}from"./chunk-VKWPEFWQ.js";var ui=gi(l=>{"use strict";ye();Object.defineProperty(l,"__esModule",{value:!0});var yi=X("stream"),W=X("path"),G=X("fs"),Es=X("crypto"),O=class{constructor(e,s,i,r,n){this.kind=e,this.input=s,this.begin=i,this.end=r,this.file=n}getText(){return this.input.slice(this.begin,this.end)}getPosition(){let[e,s]=[1,1];for(let i=0;i<this.begin;i++)this.input[i]===`
1
+ import{Aa as bt,Cb as kt,Eb as gs,Ia as cs,Nb as ms,Ta as hs,Ua as us,Xa as fs,_a as ds,fb as ps,qa as wt,ta as be,ya as ls}from"./chunk-YJWNM4XO.js";import{d as we,g as yt,i as as}from"./chunk-3VYOLEQE.js";import{a as X,c as gi,e as mi,g as ye}from"./chunk-VKWPEFWQ.js";var ui=gi(l=>{"use strict";ye();Object.defineProperty(l,"__esModule",{value:!0});var yi=X("stream"),W=X("path"),G=X("fs"),Es=X("crypto"),O=class{constructor(e,s,i,r,n){this.kind=e,this.input=s,this.begin=i,this.end=r,this.file=n}getText(){return this.input.slice(this.begin,this.end)}getPosition(){let[e,s]=[1,1];for(let i=0;i<this.begin;i++)this.input[i]===`
2
2
  `?(e++,s=1):s++;return[e,s]}size(){return this.end-this.begin}},D=class{liquidMethodMissing(e,s){}},wi=Object.prototype.toString,ys=String.prototype.toLowerCase,Qt=Object.hasOwnProperty;function d(t){return typeof t=="string"}function x(t){return typeof t=="function"}function bi(t){return t&&x(t.then)}function _e(t){return t&&x(t.next)&&x(t.throw)&&x(t.return)}function Kt(t){return function(...e){return new Promise((s,i)=>{t(...e,(r,n)=>{r?i(r):s(n)})})}}function h(t){return t=m(t),d(t)?t:k(t)?"":S(t)?t.map(e=>h(e)).join(""):String(t)}function ge(t){return t=m(t),S(t)?t:d(t)&&t.length>0?[t]:Ti(t)?Array.from(t):dt(t)?Object.keys(t).map(e=>[e,t[e]]):[]}function L(t){return t=m(t),k(t)?[]:S(t)?t:[t]}function m(t){return t instanceof D&&x(t.valueOf)?t.valueOf():t}function xt(t){return+m(t)||0}function ft(t){return typeof t=="number"}function Vs(t){return t&&x(t.toLiquid)?Vs(t.toLiquid()):t}function k(t){return t==null}function ki(t){return t===void 0}function S(t){return wi.call(t)==="[object Array]"}function Ps(t){return t&&ft(t.length)}function Ti(t){return dt(t)&&Symbol.iterator in t}function ws(t,e){t=t||{};for(let s in t)if(Qt.call(t,s)&&e(t[s],s,t)===!1)break;return t}function xi(t){return t[t.length-1]}function dt(t){let e=typeof t;return t!==null&&(e==="object"||e==="function")}function Cs(t,e,s=1){let i=[];for(let r=t;r<e;r+=s)i.push(r);return i}function oe(t,e,s=" "){return $s(t,e,s,(i,r)=>r+i)}function Si(t,e,s=" "){return $s(t,e,s,(i,r)=>i+r)}function $s(t,e,s,i){t=String(t);let r=e-t.length;return r<=0?t:i(t,s.repeat(r))}function js(t){return t}function _i(t){return[...t].some(s=>s>="a"&&s<="z")?t.toUpperCase():t.toLowerCase()}function Li(t,e){return t.length>e?t.slice(0,e-3)+"...":t}function Fi(t,e){return k(t)&&k(e)?0:k(t)?1:k(e)||t<e?-1:t>e?1:0}function Oi(t,e){return k(t)&&k(e)?0:k(t)?1:k(e)||(t=ys.call(t),e=ys.call(e),t<e)?-1:t>e?1:0}function pt(t){return function(...e){return t.call(this,...e.map(m))}}function V(t){return function(...e){return t.call(this,...e.map(xt))}}function*ke(t){let e=new Set;for(let s of t){let i=JSON.stringify(s);e.has(i)||(e.add(i),yield s)}}var bs="__liquidClass__",E=class extends Error{constructor(e,s){super(typeof e=="string"?e:e.message),this.context="",typeof e!="string"&&Object.defineProperty(this,"originalError",{value:e,enumerable:!1}),Object.defineProperty(this,"token",{value:s,enumerable:!1}),Object.defineProperty(this,bs,{value:"LiquidError",enumerable:!1})}update(){Object.defineProperty(this,"context",{value:vi(this.token),enumerable:!1}),this.message=zi(this.message,this.token),this.stack=this.message+`
3
3
  `+this.context+`
4
4
  `+this.stack,this.originalError&&(this.stack+=`
@@ -0,0 +1 @@
1
+ import{b as i,c as n}from"./chunk-DGMRL5DQ.js";import{b as u}from"./chunk-FW5HGFSZ.js";import{M as a}from"./chunk-L5XWYTHY.js";import{a as e}from"./chunk-5RL6DKWR.js";import{Ib as c,Lb as r,b as t}from"./chunk-YJWNM4XO.js";import{g as s}from"./chunk-VKWPEFWQ.js";s();var m=e({name:"AuthLogoutResult",schema:t.object({status:t.literal("success")}).strict()}),o=class p extends u{static descriptionWithMarkdown="Logs you out of the Shopify account or Partner account and store.";static description=this.descriptionForHelp();static flags={...i,...n};static get jsonOutputSchema(){return m}async run(){let{flags:l}=await this.parse(p);await a(),l.json?c(m.encode({status:"success"})):r("Logged out from all the accounts")}};export{o as a};
@@ -0,0 +1,6 @@
1
+ import{b as i,c as r,d as p}from"./chunk-QILWHHAQ.js";import{b as s,c as e}from"./chunk-DGMRL5DQ.js";import{b as o}from"./chunk-FW5HGFSZ.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();var t=class u extends o{static summary="Disable automatic upgrades for Shopify CLI.";static descriptionWithMarkdown=`Disable automatic upgrades for Shopify CLI.
2
+
3
+ When auto-upgrade is disabled, Shopify CLI won't automatically update. Run \`shopify upgrade\` to update manually.
4
+
5
+ To enable auto-upgrade, run \`shopify config autoupgrade on\`.
6
+ `;static description=this.descriptionForHelp();static flags={...s,...e};static get jsonOutputSchema(){return r}async run(){let{flags:n}=await this.parse(u),m=i(!1);p(m,n.json?"json":"text")}};export{t as a};