@shopify/cli 4.7.0 → 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-6ENBE43F.js → chunk-2AK44UYM.js} +1 -1
  9. package/dist/{chunk-XCBEYRQI.js → chunk-2CIZE537.js} +1 -1
  10. package/dist/{chunk-YHPBDS52.js → chunk-2EAFYCCS.js} +1 -1
  11. package/dist/{chunk-U2Z5NMXV.js → chunk-2KGPH7YG.js} +1 -1
  12. package/dist/{chunk-6VGJVXZI.js → chunk-2O224ZPO.js} +1 -1
  13. package/dist/{chunk-RY2SJVWM.js → chunk-2XDUJQQN.js} +3 -3
  14. package/dist/{chunk-GSCWZR22.js → chunk-36ROOKQB.js} +1 -1
  15. package/dist/{chunk-YIZZ5LZN.js → chunk-3DCN3N23.js} +1 -1
  16. package/dist/{chunk-YN6A26QL.js → chunk-3JXPOOFV.js} +39 -39
  17. package/dist/{chunk-KIYHEMHD.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-MRCWOOSF.js → chunk-5N6HNQQ5.js} +1 -1
  21. package/dist/{chunk-4JY2P2A5.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-QEB3HUQE.js → chunk-6MWWJZFN.js} +1 -1
  26. package/dist/{chunk-LRQYUWWB.js → chunk-6RQOEPEC.js} +1 -1
  27. package/dist/{chunk-LJM2DUXN.js → chunk-72ZY3KTF.js} +1 -1
  28. package/dist/{chunk-WKUGSFTB.js → chunk-742XXXGL.js} +1 -1
  29. package/dist/{chunk-37TEEITE.js → chunk-7HFHL5SO.js} +1 -1
  30. package/dist/{chunk-6VRXGEIW.js → chunk-7ISJRIPT.js} +1 -1
  31. package/dist/{chunk-CZJZCJRX.js → chunk-7LWUHQIF.js} +1 -1
  32. package/dist/{chunk-MLZLDL6B.js → chunk-7T6M7FAC.js} +1 -1
  33. package/dist/{chunk-LWJA2DQG.js → chunk-A6BMJISP.js} +1 -1
  34. package/dist/{chunk-TY4W7AYX.js → chunk-AWUX36VG.js} +1 -1
  35. package/dist/chunk-BWJIZYAG.js +1 -0
  36. package/dist/{chunk-EW55WWT7.js → chunk-BZ73NV3L.js} +1 -1
  37. package/dist/chunk-C3RUVXG2.js +6 -0
  38. package/dist/{chunk-QKGZWOOY.js → chunk-C4YLE3NS.js} +1 -1
  39. package/dist/chunk-CEYIZC3M.js +2 -0
  40. package/dist/{chunk-WCRZJY3P.js → chunk-CIWKN4HF.js} +1 -1
  41. package/dist/{chunk-P5MNNBSO.js → chunk-CULTZLC4.js} +1 -1
  42. package/dist/{chunk-X4XP2RQJ.js → chunk-CX75OKZK.js} +1 -1
  43. package/dist/{chunk-LDF4PQ3B.js → chunk-DASVZTAX.js} +46 -46
  44. package/dist/{chunk-UPJLZHHR.js → chunk-DX3JLOUA.js} +1 -1
  45. package/dist/{chunk-ZCNIR6YU.js → chunk-E55KS3GZ.js} +1 -1
  46. package/dist/{chunk-WHLGNDRE.js → chunk-E5FXOLQO.js} +1 -1
  47. package/dist/{chunk-JQ2B3VHR.js → chunk-E6N4PZZR.js} +1 -1
  48. package/dist/{chunk-CIH6LPTG.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-FWPJEL6Q.js → chunk-F6X6OXXB.js} +1 -1
  52. package/dist/{chunk-QPWMD2VR.js → chunk-FDBHQLFK.js} +1 -1
  53. package/dist/{chunk-TCTVI6PK.js → chunk-FDYW3UQC.js} +1 -1
  54. package/dist/{chunk-2SZOPJYI.js → chunk-FEDVVYK2.js} +1 -1
  55. package/dist/{chunk-SSJGWLCW.js → chunk-FJ6F4XRV.js} +1 -1
  56. package/dist/{chunk-E5T4YRGW.js → chunk-FOREMLFZ.js} +1 -1
  57. package/dist/{chunk-QXHENYJH.js → chunk-FUYDGK33.js} +1 -1
  58. package/dist/{chunk-CYOFLJ3Z.js → chunk-FX3L344E.js} +1 -1
  59. package/dist/{chunk-FCGKO2KY.js → chunk-G5XIGN5D.js} +1 -1
  60. package/dist/{chunk-HHVHVGRT.js → chunk-GAYKYEIM.js} +1 -1
  61. package/dist/{chunk-2U4P6UFZ.js → chunk-GCY7LPEF.js} +1 -1
  62. package/dist/{chunk-OORWOTAP.js → chunk-GNBRCK7L.js} +1 -1
  63. package/dist/{chunk-KOVAFUYN.js → chunk-GRPKF5ZB.js} +1 -1
  64. package/dist/{chunk-QZBSCOJV.js → chunk-GRSF7456.js} +1 -1
  65. package/dist/chunk-H2TQ4ODI.js +1 -0
  66. package/dist/{chunk-AMLWPYNA.js → chunk-H6XEESUN.js} +1 -1
  67. package/dist/{chunk-I3N6NPHF.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-QBIVQXUJ.js → chunk-HP64ZTEJ.js} +1 -1
  71. package/dist/{chunk-U7R6LYPJ.js → chunk-IARCMH7G.js} +1 -1
  72. package/dist/{chunk-YOO7DLOT.js → chunk-IBI5UCJO.js} +1 -1
  73. package/dist/{chunk-UVQL7RUY.js → chunk-IKUSLRGD.js} +1 -1
  74. package/dist/{chunk-HLNJL4B6.js → chunk-IT4HYLTY.js} +1 -1
  75. package/dist/{chunk-GZ64KWHX.js → chunk-J4T73EAS.js} +1 -1
  76. package/dist/chunk-JG4HH54Q.js +1 -0
  77. package/dist/{chunk-DKL6N3L2.js → chunk-JIYSCWCG.js} +1 -1
  78. package/dist/chunk-JWRK5KLD.js +560 -0
  79. package/dist/{chunk-DHU57LKD.js → chunk-JX7FYWPO.js} +1 -1
  80. package/dist/{chunk-N6YTJXIS.js → chunk-K42WBNJQ.js} +1 -1
  81. package/dist/{chunk-5CR5YJTU.js → chunk-KDU7VW3L.js} +1 -1
  82. package/dist/{chunk-CTRXLZAJ.js → chunk-KWVOJWO7.js} +1 -1
  83. package/dist/{chunk-RUFQCXBX.js → chunk-LANUJ7LX.js} +1 -1
  84. package/dist/{chunk-PAAKBWSF.js → chunk-LUKQ5HLC.js} +1 -1
  85. package/dist/{chunk-3K6VHXC2.js → chunk-M2XHIN57.js} +1 -1
  86. package/dist/{chunk-TYIGOVRQ.js → chunk-MNOQAXJW.js} +1 -1
  87. package/dist/chunk-MYQUYU4U.js +2 -0
  88. package/dist/{chunk-T5JXQ7KO.js → chunk-N65F7ET2.js} +1 -1
  89. package/dist/{chunk-PWSI275S.js → chunk-N6RBRPGW.js} +1 -1
  90. package/dist/chunk-N75VOJHO.js +15 -0
  91. package/dist/{chunk-4W3UE2ZI.js → chunk-NBFMP5XQ.js} +1 -1
  92. package/dist/{chunk-CFWHR74L.js → chunk-NE3ZFSMS.js} +1 -1
  93. package/dist/{chunk-D2K2ZBKH.js → chunk-NGLMZYS7.js} +2 -2
  94. package/dist/{chunk-JQISGC7D.js → chunk-NHAUJWEG.js} +1 -1
  95. package/dist/chunk-NILETICC.js +11 -0
  96. package/dist/{chunk-SYADOUBB.js → chunk-NNZXKFOS.js} +1 -1
  97. package/dist/{chunk-E2W5OYYM.js → chunk-NQK2VCDA.js} +1 -1
  98. package/dist/{chunk-U6HYEGAE.js → chunk-NROVZETL.js} +1 -1
  99. package/dist/{chunk-TSLQZTXR.js → chunk-NW6NUGN7.js} +1 -1
  100. package/dist/{chunk-JZMRBJH3.js → chunk-O7DZXO3O.js} +1 -1
  101. package/dist/{chunk-5CADTCJE.js → chunk-OBYQSIYU.js} +1 -1
  102. package/dist/{chunk-5NO5OXYP.js → chunk-OEG3N5PG.js} +1 -1
  103. package/dist/{chunk-VRVP2GQL.js → chunk-OGBZTY2G.js} +1 -1
  104. package/dist/chunk-OMHR423H.js +1 -0
  105. package/dist/{chunk-XHZ5BWXL.js → chunk-OV6SRRXR.js} +1 -1
  106. package/dist/{chunk-2JDCVEFK.js → chunk-OVV5YGKN.js} +1 -1
  107. package/dist/{chunk-SEVSMWNX.js → chunk-OZL5FTT7.js} +1 -1
  108. package/dist/{chunk-JUKAWTYY.js → chunk-OZMQ2EJB.js} +1 -1
  109. package/dist/{chunk-7WTNEG2F.js → chunk-P57P7UAN.js} +1 -1
  110. package/dist/{chunk-JZXA3H5K.js → chunk-PATTG7YZ.js} +1 -1
  111. package/dist/{chunk-2HK4MFWP.js → chunk-PG5YNPJB.js} +1 -1
  112. package/dist/chunk-PP4L2JJ6.js +3 -0
  113. package/dist/{chunk-CZPGC2E7.js → chunk-Q5JX23QU.js} +1 -1
  114. package/dist/{chunk-L67BU25M.js → chunk-Q5KVMLBK.js} +1 -1
  115. package/dist/{chunk-ZRLEAF7M.js → chunk-Q5LIJGT7.js} +1 -1
  116. package/dist/{chunk-JQVXH26X.js → chunk-Q6ADIMJM.js} +1 -1
  117. package/dist/{chunk-YUVE2I3C.js → chunk-QERQARMC.js} +1 -1
  118. package/dist/{chunk-GLWQMLUC.js → chunk-QOV43E26.js} +1 -1
  119. package/dist/{chunk-KCS75ZM4.js → chunk-QTFUYKMF.js} +1 -1
  120. package/dist/{chunk-7DOWT5JZ.js → chunk-QTJCCOAG.js} +3 -3
  121. package/dist/{chunk-XAOYKECS.js → chunk-R6ICQT2D.js} +1 -1
  122. package/dist/{chunk-4LRG5YBS.js → chunk-R7T3LYJL.js} +1 -1
  123. package/dist/{chunk-DMXQLI35.js → chunk-RXQJCJDV.js} +1 -1
  124. package/dist/{chunk-BR6DBMQA.js → chunk-S2TLBBSS.js} +1 -1
  125. package/dist/{chunk-FULWTZS6.js → chunk-S5FOQY35.js} +1 -1
  126. package/dist/{chunk-6OFGSZD6.js → chunk-SYLHT42O.js} +1 -1
  127. package/dist/{chunk-CHMEDVDZ.js → chunk-T4AA6TSF.js} +1 -1
  128. package/dist/{chunk-XRT2W5Y2.js → chunk-T4QWK5GG.js} +1 -1
  129. package/dist/{chunk-63CIFL36.js → chunk-T7PJDT5O.js} +1 -1
  130. package/dist/{chunk-6EBLULOC.js → chunk-TEY4LRY7.js} +1 -1
  131. package/dist/{chunk-PANGX7SA.js → chunk-TFBRVLDN.js} +1 -1
  132. package/dist/{chunk-MB7E5GEY.js → chunk-TUVDJ3PG.js} +1 -1
  133. package/dist/{chunk-HZIX3DIT.js → chunk-U2DWBZK2.js} +1 -1
  134. package/dist/chunk-U53OLUOE.js +3 -0
  135. package/dist/{chunk-GKOBFX4A.js → chunk-UAETNFN4.js} +1 -1
  136. package/dist/{chunk-EOMCXBCS.js → chunk-UAFEFKAQ.js} +1 -1
  137. package/dist/{chunk-Q5DQGV3M.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-Y34LWI3S.js → chunk-VFM2KQRM.js} +3 -3
  142. package/dist/{chunk-CMYQXGLO.js → chunk-VSDRNYA5.js} +1 -1
  143. package/dist/{chunk-OE3F7XXU.js → chunk-VVZSYHDG.js} +1 -1
  144. package/dist/chunk-VXEYO3ZP.js +1 -0
  145. package/dist/{chunk-7JIQXGDE.js → chunk-VYDSOAV4.js} +1 -1
  146. package/dist/{chunk-DQFSKPKL.js → chunk-WBYAGS6B.js} +1 -1
  147. package/dist/chunk-WGAFCKGD.js +1 -0
  148. package/dist/{chunk-AH2ZGMDM.js → chunk-WYBTC356.js} +1 -1
  149. package/dist/{chunk-TTAPXLI5.js → chunk-XF2KTEID.js} +1 -1
  150. package/dist/{chunk-XUEMMLXK.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-2WJAAJVX.js → chunk-XUUAKGEX.js} +1 -1
  154. package/dist/{chunk-LQCR4TGH.js → chunk-XUYVJEZG.js} +1 -1
  155. package/dist/chunk-Y47C3LSX.js +3 -0
  156. package/dist/{chunk-KK24VGVE.js → chunk-Y5PRPHLQ.js} +1 -1
  157. package/dist/{chunk-K4KTNINH.js → chunk-YD2VQEN5.js} +1 -1
  158. package/dist/{chunk-KUNDCAQN.js → chunk-YESGYUEL.js} +1 -1
  159. package/dist/{chunk-JJJTPEMD.js → chunk-YEVGLC5X.js} +1 -1
  160. package/dist/{chunk-GMTNOCMS.js → chunk-YFINLODF.js} +3 -3
  161. package/dist/{chunk-LZ3GZ7NS.js → chunk-YKL3BLWC.js} +1 -1
  162. package/dist/{chunk-5HPBQ6U5.js → chunk-YLXPYXQP.js} +1 -1
  163. package/dist/{chunk-7AALWJAO.js → chunk-YNDIZCD2.js} +1 -1
  164. package/dist/{chunk-6WZYX5RO.js → chunk-YPWHD3NL.js} +1 -1
  165. package/dist/{chunk-4HV6A6UH.js → chunk-YSAFHVV6.js} +1 -1
  166. package/dist/{chunk-AGOEROAI.js → chunk-YZMY2CTU.js} +1 -1
  167. package/dist/{chunk-S3P5WWJD.js → chunk-Z4AFEO36.js} +1 -1
  168. package/dist/{chunk-7MHANY34.js → chunk-Z5WPP6ME.js} +1 -1
  169. package/dist/chunk-Z65E4UAP.js +1 -0
  170. package/dist/{chunk-V2HCVJYF.js → chunk-ZDRIQC7O.js} +1 -1
  171. package/dist/{chunk-2CYVZUYT.js → chunk-ZH44BDUR.js} +1 -1
  172. package/dist/{chunk-SJMTETSU.js → chunk-ZL5LU4U2.js} +1 -1
  173. package/dist/{chunk-DQCIORGH.js → chunk-ZYX7UHCQ.js} +1 -1
  174. package/dist/{chunk-ACTDYTAV.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-OAGJBITE.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-K3NPRKBF.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-YX56C43A.js → error-2LZYKRMA.js} +1 -1
  269. package/dist/error-handler-PIGEJ7BT.js +1 -0
  270. package/dist/{fs-SKHQZZTQ.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-V5VORI3F.js → is-global-6SCOAJVG.js} +1 -1
  281. package/dist/{local-GX5AN6ZS.js → local-PZWPRFU7.js} +1 -1
  282. package/dist/{metadata-XUJUTBTB.js → metadata-VVBHB3HL.js} +1 -1
  283. package/dist/{node-package-manager-3WIYU7Y3.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-X47P6ICP.js → output-74VDGYJD.js} +1 -1
  287. package/dist/{prettier-RVUAAWC7.js → prettier-EGVCP5CY.js} +1 -1
  288. package/dist/{system-SR5G7WEW.js → system-P5QIJALL.js} +1 -1
  289. package/dist/tsconfig.tsbuildinfo +1 -1
  290. package/dist/{ui-VYWSLAQ6.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-FK4ETQ22.js → version-J2PYO6M5.js} +1 -1
  294. package/dist/{workerd-NAPS5TA7.js → workerd-X4TGHEG3.js} +1 -1
  295. package/oclif.manifest.json +903 -133
  296. package/package.json +9 -8
  297. package/dist/analytics-6LI5GLWS.js +0 -1
  298. package/dist/analytics-UNRIIG4Y.js +0 -1
  299. package/dist/chunk-5CYJG63I.js +0 -1
  300. package/dist/chunk-6PDR2IUL.js +0 -11
  301. package/dist/chunk-F5HCSUXC.js +0 -16
  302. package/dist/chunk-H5KWM27L.js +0 -1
  303. package/dist/chunk-NEMPLS7C.js +0 -1
  304. package/dist/chunk-OUZGGWFN.js +0 -1
  305. package/dist/chunk-PIFW2R3S.js +0 -1382
  306. package/dist/chunk-QRT4A2RV.js +0 -3
  307. package/dist/chunk-R2R6JDNH.js +0 -1
  308. package/dist/chunk-RZFBGBNA.js +0 -1
  309. package/dist/chunk-V5SC2RYQ.js +0 -2
  310. package/dist/chunk-VKSR6MJG.js +0 -2
  311. package/dist/chunk-XLURZ6GL.js +0 -559
  312. package/dist/chunk-Z5K4J7HQ.js +0 -1
  313. package/dist/chunk-ZO74GSWC.js +0 -5
  314. package/dist/chunk-ZSFAURIH.js +0 -3
  315. package/dist/dist-EXJEE23W.js +0 -1
  316. package/dist/dist-S62Z6IFV.js +0 -1
  317. package/dist/environments-ALH2N36U.js +0 -1
  318. package/dist/error-handler-FDCH72NH.js +0 -1
  319. package/dist/notifications-system-RHULO564.js +0 -1
  320. package/dist/os-M6X7KOR4.js +0 -1
  321. package/dist/upgrade-PFQ7JMXG.js +0 -1
  322. package/dist/version-U4GM2LNG.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
@@ -741,6 +741,167 @@
741
741
  "descriptionWithMarkdown": "Stop the dev preview that was started with `shopify app dev`.\n\n It restores the app's active version to the selected development store.\n ",
742
742
  "customPluginName": "@shopify/app"
743
743
  },
744
+ "app:doctor:instructions": {
745
+ "aliases": [],
746
+ "args": {},
747
+ "description": "Prints the complete workflow that a coding agent should follow to review App Doctor results.\n\nBy default, the instructions are printed to stdout. Use `--copy` to copy them to the clipboard or `--write` to write them to a file. Standalone instructions always start by running `shopify app doctor`; only that invocation's generated review pack is trusted as workflow input.",
748
+ "flags": {
749
+ "no-color": {
750
+ "description": "Disable color output.",
751
+ "env": "SHOPIFY_FLAG_NO_COLOR",
752
+ "hidden": false,
753
+ "name": "no-color",
754
+ "allowNo": false,
755
+ "type": "boolean"
756
+ },
757
+ "verbose": {
758
+ "description": "Increase the verbosity of the output. May include sensitive data.",
759
+ "env": "SHOPIFY_FLAG_VERBOSE",
760
+ "hidden": false,
761
+ "name": "verbose",
762
+ "allowNo": false,
763
+ "type": "boolean"
764
+ },
765
+ "path": {
766
+ "description": "The path to your app directory.",
767
+ "env": "SHOPIFY_FLAG_PATH",
768
+ "name": "path",
769
+ "noCacheDefault": true,
770
+ "hasDynamicHelp": false,
771
+ "multiple": false,
772
+ "type": "option"
773
+ },
774
+ "copy": {
775
+ "description": "Copy the instructions to the clipboard instead of printing them.",
776
+ "env": "SHOPIFY_FLAG_APP_DOCTOR_INSTRUCTIONS_COPY",
777
+ "exclusive": [
778
+ "write"
779
+ ],
780
+ "name": "copy",
781
+ "allowNo": false,
782
+ "type": "boolean"
783
+ },
784
+ "write": {
785
+ "description": "Write the instructions to a file instead of printing them.",
786
+ "env": "SHOPIFY_FLAG_APP_DOCTOR_INSTRUCTIONS_WRITE",
787
+ "exclusive": [
788
+ "copy"
789
+ ],
790
+ "name": "write",
791
+ "hasDynamicHelp": false,
792
+ "multiple": false,
793
+ "type": "option"
794
+ }
795
+ },
796
+ "hasDynamicHelp": false,
797
+ "hidden": true,
798
+ "hiddenAliases": [],
799
+ "id": "app:doctor:instructions",
800
+ "pluginAlias": "@shopify/cli",
801
+ "pluginName": "@shopify/cli",
802
+ "pluginType": "core",
803
+ "strict": true,
804
+ "summary": "Provide App Doctor instructions to a coding agent.",
805
+ "enableJsonFlag": false,
806
+ "descriptionWithMarkdown": "Prints the complete workflow that a coding agent should follow to review App Doctor results.\n\nBy default, the instructions are printed to stdout. Use `--copy` to copy them to the clipboard or `--write` to write them to a file. Standalone instructions always start by running `shopify app doctor`; only that invocation's generated review pack is trusted as workflow input.",
807
+ "customPluginName": "@shopify/app"
808
+ },
809
+ "app:doctor": {
810
+ "aliases": [],
811
+ "args": {},
812
+ "description": "Runs Shopify App Doctor locally and creates its review pack and trace.\n\nPass `--findings` after completing the review pack to validate agent findings and compile them into the trace. In interactive terminals, the command offers to copy the coding-agent instructions, print them, or choose nothing; copying is the default. In CI and other non-interactive environments, instructions aren't offered unless you pass `--yes`, which prints them. JSON output never prompts or prints those instructions. You can also run `shopify app doctor instructions` to print, copy, or write them later.\n\nCVE detection runs `npm audit` (or the pnpm/yarn equivalent) in an isolated sandbox and sends package names and versions to the public npm registry at https://registry.npmjs.org/.",
813
+ "flags": {
814
+ "no-color": {
815
+ "description": "Disable color output.",
816
+ "env": "SHOPIFY_FLAG_NO_COLOR",
817
+ "hidden": false,
818
+ "name": "no-color",
819
+ "allowNo": false,
820
+ "type": "boolean"
821
+ },
822
+ "verbose": {
823
+ "description": "Increase the verbosity of the output. May include sensitive data.",
824
+ "env": "SHOPIFY_FLAG_VERBOSE",
825
+ "hidden": false,
826
+ "name": "verbose",
827
+ "allowNo": false,
828
+ "type": "boolean"
829
+ },
830
+ "path": {
831
+ "description": "The path to your app directory.",
832
+ "env": "SHOPIFY_FLAG_PATH",
833
+ "name": "path",
834
+ "noCacheDefault": true,
835
+ "hasDynamicHelp": false,
836
+ "multiple": false,
837
+ "type": "option"
838
+ },
839
+ "json": {
840
+ "char": "j",
841
+ "description": "Output the result as JSON. Automatically disables color output.",
842
+ "env": "SHOPIFY_FLAG_JSON",
843
+ "hidden": false,
844
+ "name": "json",
845
+ "allowNo": false,
846
+ "type": "boolean"
847
+ },
848
+ "findings": {
849
+ "description": "Validate agent findings from a JSON file and compile them into the trace.",
850
+ "env": "SHOPIFY_FLAG_APP_DOCTOR_FINDINGS",
851
+ "name": "findings",
852
+ "hasDynamicHelp": false,
853
+ "multiple": false,
854
+ "type": "option"
855
+ },
856
+ "blocking": {
857
+ "description": "The minimum finding severity that causes a non-zero exit code.",
858
+ "env": "SHOPIFY_FLAG_APP_DOCTOR_BLOCKING",
859
+ "name": "blocking",
860
+ "default": "none",
861
+ "hasDynamicHelp": false,
862
+ "multiple": false,
863
+ "options": [
864
+ "high",
865
+ "medium",
866
+ "low",
867
+ "none"
868
+ ],
869
+ "type": "option"
870
+ },
871
+ "yes": {
872
+ "description": "Print coding-agent instructions without prompting.",
873
+ "env": "SHOPIFY_FLAG_YES",
874
+ "exclusive": [
875
+ "skip-instructions"
876
+ ],
877
+ "name": "yes",
878
+ "allowNo": false,
879
+ "type": "boolean"
880
+ },
881
+ "skip-instructions": {
882
+ "description": "Don't offer to show coding-agent instructions.",
883
+ "env": "SHOPIFY_FLAG_APP_DOCTOR_SKIP_INSTRUCTIONS",
884
+ "exclusive": [
885
+ "yes"
886
+ ],
887
+ "name": "skip-instructions",
888
+ "allowNo": false,
889
+ "type": "boolean"
890
+ }
891
+ },
892
+ "hasDynamicHelp": false,
893
+ "hidden": true,
894
+ "hiddenAliases": [],
895
+ "id": "app:doctor",
896
+ "pluginAlias": "@shopify/cli",
897
+ "pluginName": "@shopify/cli",
898
+ "pluginType": "core",
899
+ "strict": true,
900
+ "summary": "Check an app for Shopify-specific security issues.",
901
+ "enableJsonFlag": false,
902
+ "descriptionWithMarkdown": "Runs Shopify App Doctor locally and creates its review pack and trace.\n\nPass `--findings` after completing the review pack to validate agent findings and compile them into the trace. In interactive terminals, the command offers to copy the coding-agent instructions, print them, or choose nothing; copying is the default. In CI and other non-interactive environments, instructions aren't offered unless you pass `--yes`, which prints them. JSON output never prompts or prints those instructions. You can also run `shopify app doctor instructions` to print, copy, or write them later.\n\nCVE detection runs `npm audit` (or the pnpm/yarn equivalent) in an isolated sandbox and sends package names and versions to the public npm registry at https://registry.npmjs.org/.",
903
+ "customPluginName": "@shopify/app"
904
+ },
744
905
  "app:logs": {
745
906
  "aliases": [],
746
907
  "args": {},
@@ -1024,30 +1185,544 @@
1024
1185
  "hasDynamicHelp": false,
1025
1186
  "multiple": false,
1026
1187
  "type": "option"
1027
- },
1028
- "include-existing": {
1029
- "description": "Include existing declared definitions in the output.",
1030
- "env": "SHOPIFY_FLAG_INCLUDE_EXISTING",
1031
- "name": "include-existing",
1032
- "allowNo": false,
1033
- "type": "boolean"
1188
+ },
1189
+ "include-existing": {
1190
+ "description": "Include existing declared definitions in the output.",
1191
+ "env": "SHOPIFY_FLAG_INCLUDE_EXISTING",
1192
+ "name": "include-existing",
1193
+ "allowNo": false,
1194
+ "type": "boolean"
1195
+ }
1196
+ },
1197
+ "hasDynamicHelp": false,
1198
+ "hiddenAliases": [],
1199
+ "id": "app:import-custom-data-definitions",
1200
+ "pluginAlias": "@shopify/cli",
1201
+ "pluginName": "@shopify/cli",
1202
+ "pluginType": "core",
1203
+ "strict": true,
1204
+ "summary": "Import metafield and metaobject definitions.",
1205
+ "descriptionWithMarkdown": "Import metafield and metaobject definitions from your development store. [Read more about declarative custom data definitions](https://shopify.dev/docs/apps/build/custom-data/declarative-custom-data-definitions).",
1206
+ "customPluginName": "@shopify/app"
1207
+ },
1208
+ "app:import-extensions": {
1209
+ "aliases": [],
1210
+ "args": {},
1211
+ "description": "Import dashboard-managed extensions into your app.",
1212
+ "flags": {
1213
+ "auth-alias": {
1214
+ "description": "Alias of the Shopify account to use for authentication.",
1215
+ "env": "SHOPIFY_FLAG_AUTH_ALIAS",
1216
+ "name": "auth-alias",
1217
+ "hasDynamicHelp": false,
1218
+ "multiple": false,
1219
+ "type": "option"
1220
+ },
1221
+ "no-color": {
1222
+ "description": "Disable color output.",
1223
+ "env": "SHOPIFY_FLAG_NO_COLOR",
1224
+ "hidden": false,
1225
+ "name": "no-color",
1226
+ "allowNo": false,
1227
+ "type": "boolean"
1228
+ },
1229
+ "verbose": {
1230
+ "description": "Increase the verbosity of the output. May include sensitive data.",
1231
+ "env": "SHOPIFY_FLAG_VERBOSE",
1232
+ "hidden": false,
1233
+ "name": "verbose",
1234
+ "allowNo": false,
1235
+ "type": "boolean"
1236
+ },
1237
+ "path": {
1238
+ "description": "The path to your app directory.",
1239
+ "env": "SHOPIFY_FLAG_PATH",
1240
+ "name": "path",
1241
+ "noCacheDefault": true,
1242
+ "hasDynamicHelp": false,
1243
+ "multiple": false,
1244
+ "type": "option"
1245
+ },
1246
+ "config": {
1247
+ "char": "c",
1248
+ "description": "The name of the app configuration.",
1249
+ "env": "SHOPIFY_FLAG_APP_CONFIG",
1250
+ "hidden": false,
1251
+ "name": "config",
1252
+ "hasDynamicHelp": false,
1253
+ "multiple": false,
1254
+ "type": "option"
1255
+ },
1256
+ "client-id": {
1257
+ "description": "The Client ID of your app.",
1258
+ "env": "SHOPIFY_FLAG_CLIENT_ID",
1259
+ "exclusive": [
1260
+ "config"
1261
+ ],
1262
+ "hidden": false,
1263
+ "name": "client-id",
1264
+ "hasDynamicHelp": false,
1265
+ "multiple": false,
1266
+ "type": "option"
1267
+ },
1268
+ "reset": {
1269
+ "description": "Reset all your settings.",
1270
+ "env": "SHOPIFY_FLAG_RESET",
1271
+ "exclusive": [
1272
+ "config"
1273
+ ],
1274
+ "hidden": false,
1275
+ "name": "reset",
1276
+ "allowNo": false,
1277
+ "type": "boolean"
1278
+ }
1279
+ },
1280
+ "hasDynamicHelp": false,
1281
+ "hiddenAliases": [],
1282
+ "id": "app:import-extensions",
1283
+ "pluginAlias": "@shopify/cli",
1284
+ "pluginName": "@shopify/cli",
1285
+ "pluginType": "core",
1286
+ "strict": true,
1287
+ "customPluginName": "@shopify/app"
1288
+ },
1289
+ "app:info": {
1290
+ "aliases": [],
1291
+ "args": {},
1292
+ "description": "The information returned includes the following:\n\n - The app and dev store that's used when you run the \"dev\" (https://shopify.dev/docs/api/shopify-cli/app/app-dev) command. You can reset these configurations using \"`dev --reset`\" (https://shopify.dev/docs/api/shopify-cli/app/app-dev#flags-propertydetail-reset).\n - The \"structure\" (https://shopify.dev/docs/apps/tools/cli/structure) of your app project.\n - The \"access scopes\" (https://shopify.dev/docs/api/usage) your app has requested.\n - System information, including the package manager and version of Shopify CLI used in the project.",
1293
+ "flags": {
1294
+ "auth-alias": {
1295
+ "description": "Alias of the Shopify account to use for authentication.",
1296
+ "env": "SHOPIFY_FLAG_AUTH_ALIAS",
1297
+ "name": "auth-alias",
1298
+ "hasDynamicHelp": false,
1299
+ "multiple": false,
1300
+ "type": "option"
1301
+ },
1302
+ "no-color": {
1303
+ "description": "Disable color output.",
1304
+ "env": "SHOPIFY_FLAG_NO_COLOR",
1305
+ "hidden": false,
1306
+ "name": "no-color",
1307
+ "allowNo": false,
1308
+ "type": "boolean"
1309
+ },
1310
+ "verbose": {
1311
+ "description": "Increase the verbosity of the output. May include sensitive data.",
1312
+ "env": "SHOPIFY_FLAG_VERBOSE",
1313
+ "hidden": false,
1314
+ "name": "verbose",
1315
+ "allowNo": false,
1316
+ "type": "boolean"
1317
+ },
1318
+ "path": {
1319
+ "description": "The path to your app directory.",
1320
+ "env": "SHOPIFY_FLAG_PATH",
1321
+ "name": "path",
1322
+ "noCacheDefault": true,
1323
+ "hasDynamicHelp": false,
1324
+ "multiple": false,
1325
+ "type": "option"
1326
+ },
1327
+ "config": {
1328
+ "char": "c",
1329
+ "description": "The name of the app configuration.",
1330
+ "env": "SHOPIFY_FLAG_APP_CONFIG",
1331
+ "hidden": false,
1332
+ "name": "config",
1333
+ "hasDynamicHelp": false,
1334
+ "multiple": false,
1335
+ "type": "option"
1336
+ },
1337
+ "client-id": {
1338
+ "description": "The Client ID of your app.",
1339
+ "env": "SHOPIFY_FLAG_CLIENT_ID",
1340
+ "exclusive": [
1341
+ "config"
1342
+ ],
1343
+ "hidden": false,
1344
+ "name": "client-id",
1345
+ "hasDynamicHelp": false,
1346
+ "multiple": false,
1347
+ "type": "option"
1348
+ },
1349
+ "reset": {
1350
+ "description": "Reset all your settings.",
1351
+ "env": "SHOPIFY_FLAG_RESET",
1352
+ "exclusive": [
1353
+ "config"
1354
+ ],
1355
+ "hidden": false,
1356
+ "name": "reset",
1357
+ "allowNo": false,
1358
+ "type": "boolean"
1359
+ },
1360
+ "json": {
1361
+ "char": "j",
1362
+ "description": "Output the result as JSON. Automatically disables color output.",
1363
+ "env": "SHOPIFY_FLAG_JSON",
1364
+ "hidden": false,
1365
+ "name": "json",
1366
+ "allowNo": false,
1367
+ "type": "boolean"
1368
+ },
1369
+ "web-env": {
1370
+ "description": "Outputs environment variables necessary for running and deploying web/.",
1371
+ "env": "SHOPIFY_FLAG_OUTPUT_WEB_ENV",
1372
+ "hidden": false,
1373
+ "name": "web-env",
1374
+ "allowNo": false,
1375
+ "type": "boolean"
1376
+ }
1377
+ },
1378
+ "hasDynamicHelp": false,
1379
+ "hiddenAliases": [],
1380
+ "id": "app:info",
1381
+ "pluginAlias": "@shopify/cli",
1382
+ "pluginName": "@shopify/cli",
1383
+ "pluginType": "core",
1384
+ "strict": true,
1385
+ "summary": "Print basic information about your app and extensions.",
1386
+ "descriptionWithMarkdown": "The information returned includes the following:\n\n - The app and dev store that's used when you run the [dev](https://shopify.dev/docs/api/shopify-cli/app/app-dev) command. You can reset these configurations using [`dev --reset`](https://shopify.dev/docs/api/shopify-cli/app/app-dev#flags-propertydetail-reset).\n - The [structure](https://shopify.dev/docs/apps/tools/cli/structure) of your app project.\n - The [access scopes](https://shopify.dev/docs/api/usage) your app has requested.\n - System information, including the package manager and version of Shopify CLI used in the project.",
1387
+ "customPluginName": "@shopify/app"
1388
+ },
1389
+ "app:init": {
1390
+ "aliases": [],
1391
+ "args": {},
1392
+ "examples": [
1393
+ "<%= config.bin %> <%= command.id %> --name my-app --organization-id 123 --template reactRouter --flavor typescript",
1394
+ "<%= config.bin %> <%= command.id %> --client-id 123 --template none"
1395
+ ],
1396
+ "flags": {
1397
+ "auth-alias": {
1398
+ "description": "Alias of the Shopify account to use for authentication.",
1399
+ "env": "SHOPIFY_FLAG_AUTH_ALIAS",
1400
+ "name": "auth-alias",
1401
+ "hasDynamicHelp": false,
1402
+ "multiple": false,
1403
+ "type": "option"
1404
+ },
1405
+ "no-color": {
1406
+ "description": "Disable color output.",
1407
+ "env": "SHOPIFY_FLAG_NO_COLOR",
1408
+ "hidden": false,
1409
+ "name": "no-color",
1410
+ "allowNo": false,
1411
+ "type": "boolean"
1412
+ },
1413
+ "verbose": {
1414
+ "description": "Increase the verbosity of the output. May include sensitive data.",
1415
+ "env": "SHOPIFY_FLAG_VERBOSE",
1416
+ "hidden": false,
1417
+ "name": "verbose",
1418
+ "allowNo": false,
1419
+ "type": "boolean"
1420
+ },
1421
+ "name": {
1422
+ "char": "n",
1423
+ "description": "The name for the new app. When provided, skips the app selection prompt and creates a new app with this name. Required in non-interactive environments unless --client-id is provided.",
1424
+ "env": "SHOPIFY_FLAG_NAME",
1425
+ "hidden": false,
1426
+ "name": "name",
1427
+ "hasDynamicHelp": false,
1428
+ "multiple": false,
1429
+ "type": "option"
1430
+ },
1431
+ "path": {
1432
+ "char": "p",
1433
+ "env": "SHOPIFY_FLAG_PATH",
1434
+ "hidden": false,
1435
+ "name": "path",
1436
+ "default": "/home/runner/work/cli/cli/packages/cli",
1437
+ "hasDynamicHelp": false,
1438
+ "multiple": false,
1439
+ "type": "option"
1440
+ },
1441
+ "template": {
1442
+ "description": "The app template. Accepts one of the following:\n - <reactRouter|none>\n - Any GitHub repo with optional branch and subpath, e.g., https://github.com/Shopify/<repository>/[subpath]#[branch]. Required if non interactive.",
1443
+ "env": "SHOPIFY_FLAG_TEMPLATE",
1444
+ "name": "template",
1445
+ "hasDynamicHelp": false,
1446
+ "multiple": false,
1447
+ "type": "option"
1448
+ },
1449
+ "flavor": {
1450
+ "description": "Which flavor of the given template to use. Required in non-interactive environments when the selected template offers multiple flavors.",
1451
+ "env": "SHOPIFY_FLAG_TEMPLATE_FLAVOR",
1452
+ "name": "flavor",
1453
+ "hasDynamicHelp": false,
1454
+ "multiple": false,
1455
+ "type": "option"
1456
+ },
1457
+ "package-manager": {
1458
+ "char": "d",
1459
+ "env": "SHOPIFY_FLAG_PACKAGE_MANAGER",
1460
+ "hidden": false,
1461
+ "name": "package-manager",
1462
+ "hasDynamicHelp": false,
1463
+ "multiple": false,
1464
+ "options": [
1465
+ "npm",
1466
+ "yarn",
1467
+ "pnpm",
1468
+ "bun"
1469
+ ],
1470
+ "type": "option"
1471
+ },
1472
+ "local": {
1473
+ "char": "l",
1474
+ "env": "SHOPIFY_FLAG_LOCAL",
1475
+ "hidden": true,
1476
+ "name": "local",
1477
+ "allowNo": false,
1478
+ "type": "boolean"
1479
+ },
1480
+ "client-id": {
1481
+ "description": "The Client ID of your app. Use this to automatically link your new project to an existing app. In non-interactive environments, provide this flag or both --name and --organization-id.",
1482
+ "env": "SHOPIFY_FLAG_CLIENT_ID",
1483
+ "exclusive": [
1484
+ "config"
1485
+ ],
1486
+ "hidden": false,
1487
+ "name": "client-id",
1488
+ "hasDynamicHelp": false,
1489
+ "multiple": false,
1490
+ "type": "option"
1491
+ },
1492
+ "organization-id": {
1493
+ "description": "The organization ID. Your organization ID can be found in your Dev Dashboard URL: https://dev.shopify.com/dashboard/<organization-id>. Required in non-interactive environments unless --client-id is provided.",
1494
+ "env": "SHOPIFY_FLAG_ORGANIZATION_ID",
1495
+ "exclusive": [
1496
+ "client-id"
1497
+ ],
1498
+ "hidden": false,
1499
+ "name": "organization-id",
1500
+ "hasDynamicHelp": false,
1501
+ "multiple": false,
1502
+ "type": "option"
1503
+ }
1504
+ },
1505
+ "hasDynamicHelp": false,
1506
+ "hiddenAliases": [],
1507
+ "id": "app:init",
1508
+ "pluginAlias": "@shopify/cli",
1509
+ "pluginName": "@shopify/cli",
1510
+ "pluginType": "core",
1511
+ "strict": true,
1512
+ "summary": "Create a new app project",
1513
+ "customPluginName": "@shopify/app"
1514
+ },
1515
+ "app:config:validate": {
1516
+ "aliases": [],
1517
+ "args": {},
1518
+ "description": "Validates the selected app configuration file and all extension configurations against their schemas and reports any errors found.",
1519
+ "flags": {
1520
+ "auth-alias": {
1521
+ "description": "Alias of the Shopify account to use for authentication.",
1522
+ "env": "SHOPIFY_FLAG_AUTH_ALIAS",
1523
+ "name": "auth-alias",
1524
+ "hasDynamicHelp": false,
1525
+ "multiple": false,
1526
+ "type": "option"
1527
+ },
1528
+ "no-color": {
1529
+ "description": "Disable color output.",
1530
+ "env": "SHOPIFY_FLAG_NO_COLOR",
1531
+ "hidden": false,
1532
+ "name": "no-color",
1533
+ "allowNo": false,
1534
+ "type": "boolean"
1535
+ },
1536
+ "verbose": {
1537
+ "description": "Increase the verbosity of the output. May include sensitive data.",
1538
+ "env": "SHOPIFY_FLAG_VERBOSE",
1539
+ "hidden": false,
1540
+ "name": "verbose",
1541
+ "allowNo": false,
1542
+ "type": "boolean"
1543
+ },
1544
+ "path": {
1545
+ "description": "The path to your app directory.",
1546
+ "env": "SHOPIFY_FLAG_PATH",
1547
+ "name": "path",
1548
+ "noCacheDefault": true,
1549
+ "hasDynamicHelp": false,
1550
+ "multiple": false,
1551
+ "type": "option"
1552
+ },
1553
+ "config": {
1554
+ "char": "c",
1555
+ "description": "The name of the app configuration.",
1556
+ "env": "SHOPIFY_FLAG_APP_CONFIG",
1557
+ "hidden": false,
1558
+ "name": "config",
1559
+ "hasDynamicHelp": false,
1560
+ "multiple": false,
1561
+ "type": "option"
1562
+ },
1563
+ "client-id": {
1564
+ "description": "The Client ID of your app.",
1565
+ "env": "SHOPIFY_FLAG_CLIENT_ID",
1566
+ "exclusive": [
1567
+ "config"
1568
+ ],
1569
+ "hidden": false,
1570
+ "name": "client-id",
1571
+ "hasDynamicHelp": false,
1572
+ "multiple": false,
1573
+ "type": "option"
1574
+ },
1575
+ "reset": {
1576
+ "description": "Reset all your settings.",
1577
+ "env": "SHOPIFY_FLAG_RESET",
1578
+ "exclusive": [
1579
+ "config"
1580
+ ],
1581
+ "hidden": false,
1582
+ "name": "reset",
1583
+ "allowNo": false,
1584
+ "type": "boolean"
1585
+ },
1586
+ "json": {
1587
+ "char": "j",
1588
+ "description": "Output the result as JSON. Automatically disables color output.",
1589
+ "env": "SHOPIFY_FLAG_JSON",
1590
+ "hidden": false,
1591
+ "name": "json",
1592
+ "allowNo": false,
1593
+ "type": "boolean"
1594
+ }
1595
+ },
1596
+ "hasDynamicHelp": false,
1597
+ "hiddenAliases": [],
1598
+ "id": "app:config:validate",
1599
+ "pluginAlias": "@shopify/cli",
1600
+ "pluginName": "@shopify/cli",
1601
+ "pluginType": "core",
1602
+ "strict": true,
1603
+ "summary": "Validate your app configuration and extensions.",
1604
+ "descriptionWithMarkdown": "Validates the selected app configuration file and all extension configurations against their schemas and reports any errors found.",
1605
+ "customPluginName": "@shopify/app"
1606
+ },
1607
+ "app:release": {
1608
+ "aliases": [],
1609
+ "args": {},
1610
+ "description": "Releases an existing app version. Pass the name of the version that you want to release using the `--version` flag.",
1611
+ "flags": {
1612
+ "auth-alias": {
1613
+ "description": "Alias of the Shopify account to use for authentication.",
1614
+ "env": "SHOPIFY_FLAG_AUTH_ALIAS",
1615
+ "name": "auth-alias",
1616
+ "hasDynamicHelp": false,
1617
+ "multiple": false,
1618
+ "type": "option"
1619
+ },
1620
+ "no-color": {
1621
+ "description": "Disable color output.",
1622
+ "env": "SHOPIFY_FLAG_NO_COLOR",
1623
+ "hidden": false,
1624
+ "name": "no-color",
1625
+ "allowNo": false,
1626
+ "type": "boolean"
1627
+ },
1628
+ "verbose": {
1629
+ "description": "Increase the verbosity of the output. May include sensitive data.",
1630
+ "env": "SHOPIFY_FLAG_VERBOSE",
1631
+ "hidden": false,
1632
+ "name": "verbose",
1633
+ "allowNo": false,
1634
+ "type": "boolean"
1635
+ },
1636
+ "path": {
1637
+ "description": "The path to your app directory.",
1638
+ "env": "SHOPIFY_FLAG_PATH",
1639
+ "name": "path",
1640
+ "noCacheDefault": true,
1641
+ "hasDynamicHelp": false,
1642
+ "multiple": false,
1643
+ "type": "option"
1644
+ },
1645
+ "config": {
1646
+ "char": "c",
1647
+ "description": "The name of the app configuration.",
1648
+ "env": "SHOPIFY_FLAG_APP_CONFIG",
1649
+ "hidden": false,
1650
+ "name": "config",
1651
+ "hasDynamicHelp": false,
1652
+ "multiple": false,
1653
+ "type": "option"
1654
+ },
1655
+ "client-id": {
1656
+ "description": "The Client ID of your app.",
1657
+ "env": "SHOPIFY_FLAG_CLIENT_ID",
1658
+ "exclusive": [
1659
+ "config"
1660
+ ],
1661
+ "hidden": false,
1662
+ "name": "client-id",
1663
+ "hasDynamicHelp": false,
1664
+ "multiple": false,
1665
+ "type": "option"
1666
+ },
1667
+ "reset": {
1668
+ "description": "Reset all your settings.",
1669
+ "env": "SHOPIFY_FLAG_RESET",
1670
+ "exclusive": [
1671
+ "config"
1672
+ ],
1673
+ "hidden": false,
1674
+ "name": "reset",
1675
+ "allowNo": false,
1676
+ "type": "boolean"
1677
+ },
1678
+ "allow-updates": {
1679
+ "description": "Allows adding and updating extensions and configuration without requiring user confirmation. Recommended option for CI/CD environments. Required in non-interactive environments unless --allow-deletes is provided.",
1680
+ "env": "SHOPIFY_FLAG_ALLOW_UPDATES",
1681
+ "hidden": false,
1682
+ "name": "allow-updates",
1683
+ "allowNo": false,
1684
+ "type": "boolean"
1685
+ },
1686
+ "allow-deletes": {
1687
+ "description": "Allows removing extensions and configuration without requiring user confirmation. For CI/CD environments, the recommended flag is --allow-updates. Required in non-interactive environments unless --allow-updates is provided.",
1688
+ "env": "SHOPIFY_FLAG_ALLOW_DELETES",
1689
+ "hidden": false,
1690
+ "name": "allow-deletes",
1691
+ "allowNo": false,
1692
+ "type": "boolean"
1693
+ },
1694
+ "version": {
1695
+ "description": "The name of the app version to release.",
1696
+ "env": "SHOPIFY_FLAG_VERSION",
1697
+ "hidden": false,
1698
+ "name": "version",
1699
+ "required": true,
1700
+ "hasDynamicHelp": false,
1701
+ "multiple": false,
1702
+ "type": "option"
1034
1703
  }
1035
1704
  },
1036
1705
  "hasDynamicHelp": false,
1037
1706
  "hiddenAliases": [],
1038
- "id": "app:import-custom-data-definitions",
1707
+ "id": "app:release",
1039
1708
  "pluginAlias": "@shopify/cli",
1040
1709
  "pluginName": "@shopify/cli",
1041
1710
  "pluginType": "core",
1042
1711
  "strict": true,
1043
- "summary": "Import metafield and metaobject definitions.",
1044
- "descriptionWithMarkdown": "Import metafield and metaobject definitions from your development store. [Read more about declarative custom data definitions](https://shopify.dev/docs/apps/build/custom-data/declarative-custom-data-definitions).",
1712
+ "summary": "Release an app version.",
1713
+ "usage": "app release --version <version>",
1714
+ "descriptionWithMarkdown": "Releases an existing app version. Pass the name of the version that you want to release using the `--version` flag.",
1045
1715
  "customPluginName": "@shopify/app"
1046
1716
  },
1047
- "app:import-extensions": {
1717
+ "app:subscription-migrations:cancel": {
1048
1718
  "aliases": [],
1049
1719
  "args": {},
1050
- "description": "Import dashboard-managed extensions into your app.",
1720
+ "description": "Cancels app subscription migration operations.\n\nCanceling stops additional unprocessed shops, but does not undo shops that have already been scheduled or migrated. Use `unschedule` for reversible schedules.\n\nRepeat `--id` to cancel every operation GID returned by a multi-batch submission. Use `--json` to output the resulting operation states and per-shop results as structured JSON.\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.",
1721
+ "examples": [
1722
+ "<%= config.bin %> <%= command.id %> --id <operation-id>",
1723
+ "<%= config.bin %> <%= command.id %> --path ../my-app --config staging --id <operation-id-1> --id <operation-id-2>",
1724
+ "<%= config.bin %> <%= command.id %> --client-id <client-id> --id <operation-id> --json"
1725
+ ],
1051
1726
  "flags": {
1052
1727
  "auth-alias": {
1053
1728
  "description": "Alias of the Shopify account to use for authentication.",
@@ -1114,21 +1789,49 @@
1114
1789
  "name": "reset",
1115
1790
  "allowNo": false,
1116
1791
  "type": "boolean"
1792
+ },
1793
+ "json": {
1794
+ "char": "j",
1795
+ "description": "Output the result as JSON. Automatically disables color output.",
1796
+ "env": "SHOPIFY_FLAG_JSON",
1797
+ "hidden": false,
1798
+ "name": "json",
1799
+ "allowNo": false,
1800
+ "type": "boolean"
1801
+ },
1802
+ "id": {
1803
+ "description": "The app subscription migration operation ID. Can be specified multiple times.",
1804
+ "env": "SHOPIFY_FLAG_ID",
1805
+ "name": "id",
1806
+ "required": true,
1807
+ "hasDynamicHelp": false,
1808
+ "multiple": true,
1809
+ "type": "option"
1117
1810
  }
1118
1811
  },
1119
1812
  "hasDynamicHelp": false,
1813
+ "hidden": true,
1120
1814
  "hiddenAliases": [],
1121
- "id": "app:import-extensions",
1815
+ "id": "app:subscription-migrations:cancel",
1122
1816
  "pluginAlias": "@shopify/cli",
1123
1817
  "pluginName": "@shopify/cli",
1124
1818
  "pluginType": "core",
1125
1819
  "strict": true,
1820
+ "summary": "Cancels app subscription migration operations.",
1821
+ "descriptionWithMarkdown": "Cancels app subscription migration operations.\n\nCanceling stops additional unprocessed shops, but does not undo shops that have already been scheduled or migrated. Use `unschedule` for reversible schedules.\n\nRepeat `--id` to cancel every operation GID returned by a multi-batch submission. Use `--json` to output the resulting operation states and per-shop results as structured JSON.\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.",
1126
1822
  "customPluginName": "@shopify/app"
1127
1823
  },
1128
- "app:info": {
1824
+ "app:subscription-migrations:list": {
1129
1825
  "aliases": [],
1130
1826
  "args": {},
1131
- "description": "The information returned includes the following:\n\n - The app and dev store that's used when you run the \"dev\" (https://shopify.dev/docs/api/shopify-cli/app/app-dev) command. You can reset these configurations using \"`dev --reset`\" (https://shopify.dev/docs/api/shopify-cli/app/app-dev#flags-propertydetail-reset).\n - The \"structure\" (https://shopify.dev/docs/apps/tools/cli/structure) of your app project.\n - The \"access scopes\" (https://shopify.dev/docs/api/usage) your app has requested.\n - System information, including the package manager and version of Shopify CLI used in the project.",
1827
+ "description": "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.",
1828
+ "examples": [
1829
+ "<%= config.bin %> <%= command.id %>",
1830
+ "<%= config.bin %> <%= command.id %> --status SCHEDULED > scheduled-subscriptions.csv",
1831
+ "<%= config.bin %> <%= command.id %> --json",
1832
+ "<%= config.bin %> <%= command.id %> --json > subscriptions.json",
1833
+ "<%= config.bin %> <%= command.id %> --client-id <client-id> > subscriptions.csv"
1834
+ ],
1132
1835
  "flags": {
1133
1836
  "auth-alias": {
1134
1837
  "description": "Alias of the Shopify account to use for authentication.",
@@ -1205,32 +1908,42 @@
1205
1908
  "allowNo": false,
1206
1909
  "type": "boolean"
1207
1910
  },
1208
- "web-env": {
1209
- "description": "Outputs environment variables necessary for running and deploying web/.",
1210
- "env": "SHOPIFY_FLAG_OUTPUT_WEB_ENV",
1211
- "hidden": false,
1212
- "name": "web-env",
1213
- "allowNo": false,
1214
- "type": "boolean"
1911
+ "status": {
1912
+ "description": "Filter subscriptions by migration status.",
1913
+ "env": "SHOPIFY_FLAG_STATUS",
1914
+ "name": "status",
1915
+ "hasDynamicHelp": false,
1916
+ "multiple": false,
1917
+ "options": [
1918
+ "UNSCHEDULED",
1919
+ "SCHEDULED",
1920
+ "MIGRATED"
1921
+ ],
1922
+ "type": "option"
1215
1923
  }
1216
1924
  },
1217
1925
  "hasDynamicHelp": false,
1926
+ "hidden": true,
1218
1927
  "hiddenAliases": [],
1219
- "id": "app:info",
1928
+ "id": "app:subscription-migrations:list",
1220
1929
  "pluginAlias": "@shopify/cli",
1221
1930
  "pluginName": "@shopify/cli",
1222
1931
  "pluginType": "core",
1223
1932
  "strict": true,
1224
- "summary": "Print basic information about your app and extensions.",
1225
- "descriptionWithMarkdown": "The information returned includes the following:\n\n - The app and dev store that's used when you run the [dev](https://shopify.dev/docs/api/shopify-cli/app/app-dev) command. You can reset these configurations using [`dev --reset`](https://shopify.dev/docs/api/shopify-cli/app/app-dev#flags-propertydetail-reset).\n - The [structure](https://shopify.dev/docs/apps/tools/cli/structure) of your app project.\n - The [access scopes](https://shopify.dev/docs/api/usage) your app has requested.\n - System information, including the package manager and version of Shopify CLI used in the project.",
1933
+ "summary": "Lists app subscriptions eligible for migration.",
1934
+ "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.",
1226
1935
  "customPluginName": "@shopify/app"
1227
1936
  },
1228
- "app:init": {
1937
+ "app:subscription-migrations:schedule": {
1229
1938
  "aliases": [],
1230
1939
  "args": {},
1940
+ "description": "Schedules manual-billing subscriptions to migrate to Shopify-managed app pricing.\n\nWhen `--input` is omitted, the command reads CSV data from stdin. Use `--input <path>` to read from a file. `--input -` is also supported as an explicit stdin path.\n\n- Required CSV columns: `shop_id`, `target_plan_handle`, and `price_behavior`.\n- Optional CSV column: `notification`.\n- Example header: `shop_id,target_plan_handle,price_behavior,notification`.\n- Example row: `123456789,pro,HONOR_BILLING_PRICE,WHEN_REQUIRED`.\n\n`price_behavior` must be `HONOR_BILLING_PRICE` or `PLAN_PRICE`. `notification` can be `OPT_OUT` or `WHEN_REQUIRED` and defaults to `WHEN_REQUIRED` when omitted or blank.\n\nValidation is atomic: the command submits no operations unless the entire CSV is valid. Valid rows are submitted in batches of 250 shops. Preserve every operation GID printed by the command so you can check or cancel the submitted operations.\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.\n\nUse `--force` to skip confirmation and immediately submit every valid row. With `--watch`, human-readable output shows accepted identifiers before polling begins, then displays operation progress and the final outcome. With `--json --watch`, the command outputs one structured JSON document after every operation reaches a terminal status.",
1231
1941
  "examples": [
1232
- "<%= config.bin %> <%= command.id %> --name my-app --organization-id 123 --template reactRouter --flavor typescript",
1233
- "<%= config.bin %> <%= command.id %> --client-id 123 --template none"
1942
+ "<%= config.bin %> <%= command.id %> --input migrations.csv --force",
1943
+ "cat migrations.csv | <%= config.bin %> <%= command.id %> --force",
1944
+ "<%= config.bin %> <%= command.id %> --input migrations.csv --path ../my-app --config staging --force --json",
1945
+ "<%= config.bin %> <%= command.id %> --input migrations.csv --client-id <client-id> --force",
1946
+ "<%= config.bin %> <%= command.id %> --input - --force --watch"
1234
1947
  ],
1235
1948
  "flags": {
1236
1949
  "auth-alias": {
@@ -1257,67 +1970,27 @@
1257
1970
  "allowNo": false,
1258
1971
  "type": "boolean"
1259
1972
  },
1260
- "name": {
1261
- "char": "n",
1262
- "description": "The name for the new app. When provided, skips the app selection prompt and creates a new app with this name. Required in non-interactive environments unless --client-id is provided.",
1263
- "env": "SHOPIFY_FLAG_NAME",
1264
- "hidden": false,
1265
- "name": "name",
1266
- "hasDynamicHelp": false,
1267
- "multiple": false,
1268
- "type": "option"
1269
- },
1270
1973
  "path": {
1271
- "char": "p",
1974
+ "description": "The path to your app directory.",
1272
1975
  "env": "SHOPIFY_FLAG_PATH",
1273
- "hidden": false,
1274
1976
  "name": "path",
1275
- "default": "/home/runner/work/cli/cli/packages/cli",
1276
- "hasDynamicHelp": false,
1277
- "multiple": false,
1278
- "type": "option"
1279
- },
1280
- "template": {
1281
- "description": "The app template. Accepts one of the following:\n - <reactRouter|none>\n - Any GitHub repo with optional branch and subpath, e.g., https://github.com/Shopify/<repository>/[subpath]#[branch]. Required if non interactive.",
1282
- "env": "SHOPIFY_FLAG_TEMPLATE",
1283
- "name": "template",
1284
- "hasDynamicHelp": false,
1285
- "multiple": false,
1286
- "type": "option"
1287
- },
1288
- "flavor": {
1289
- "description": "Which flavor of the given template to use. Required in non-interactive environments when the selected template offers multiple flavors.",
1290
- "env": "SHOPIFY_FLAG_TEMPLATE_FLAVOR",
1291
- "name": "flavor",
1977
+ "noCacheDefault": true,
1292
1978
  "hasDynamicHelp": false,
1293
1979
  "multiple": false,
1294
1980
  "type": "option"
1295
1981
  },
1296
- "package-manager": {
1297
- "char": "d",
1298
- "env": "SHOPIFY_FLAG_PACKAGE_MANAGER",
1982
+ "config": {
1983
+ "char": "c",
1984
+ "description": "The name of the app configuration.",
1985
+ "env": "SHOPIFY_FLAG_APP_CONFIG",
1299
1986
  "hidden": false,
1300
- "name": "package-manager",
1987
+ "name": "config",
1301
1988
  "hasDynamicHelp": false,
1302
1989
  "multiple": false,
1303
- "options": [
1304
- "npm",
1305
- "yarn",
1306
- "pnpm",
1307
- "bun"
1308
- ],
1309
1990
  "type": "option"
1310
1991
  },
1311
- "local": {
1312
- "char": "l",
1313
- "env": "SHOPIFY_FLAG_LOCAL",
1314
- "hidden": true,
1315
- "name": "local",
1316
- "allowNo": false,
1317
- "type": "boolean"
1318
- },
1319
1992
  "client-id": {
1320
- "description": "The Client ID of your app. Use this to automatically link your new project to an existing app. In non-interactive environments, provide this flag or both --name and --organization-id.",
1993
+ "description": "The Client ID of your app.",
1321
1994
  "env": "SHOPIFY_FLAG_CLIENT_ID",
1322
1995
  "exclusive": [
1323
1996
  "config"
@@ -1328,33 +2001,72 @@
1328
2001
  "multiple": false,
1329
2002
  "type": "option"
1330
2003
  },
1331
- "organization-id": {
1332
- "description": "The organization ID. Your organization ID can be found in your Dev Dashboard URL: https://dev.shopify.com/dashboard/<organization-id>. Required in non-interactive environments unless --client-id is provided.",
1333
- "env": "SHOPIFY_FLAG_ORGANIZATION_ID",
2004
+ "reset": {
2005
+ "description": "Reset all your settings.",
2006
+ "env": "SHOPIFY_FLAG_RESET",
1334
2007
  "exclusive": [
1335
- "client-id"
2008
+ "config"
1336
2009
  ],
1337
2010
  "hidden": false,
1338
- "name": "organization-id",
2011
+ "name": "reset",
2012
+ "allowNo": false,
2013
+ "type": "boolean"
2014
+ },
2015
+ "json": {
2016
+ "char": "j",
2017
+ "description": "Output the result as JSON. Automatically disables color output.",
2018
+ "env": "SHOPIFY_FLAG_JSON",
2019
+ "hidden": false,
2020
+ "name": "json",
2021
+ "allowNo": false,
2022
+ "type": "boolean"
2023
+ },
2024
+ "input": {
2025
+ "char": "i",
2026
+ "description": "Path to the migration CSV. If omitted, standard input is used.",
2027
+ "env": "SHOPIFY_FLAG_INPUT",
2028
+ "name": "input",
1339
2029
  "hasDynamicHelp": false,
1340
2030
  "multiple": false,
1341
2031
  "type": "option"
2032
+ },
2033
+ "force": {
2034
+ "char": "f",
2035
+ "description": "Skip confirmation. Required if non interactive.",
2036
+ "env": "SHOPIFY_FLAG_FORCE",
2037
+ "name": "force",
2038
+ "allowNo": false,
2039
+ "type": "boolean"
2040
+ },
2041
+ "watch": {
2042
+ "description": "Display the current operation state while polling, then output the final outcome when every operation reaches a terminal status.",
2043
+ "env": "SHOPIFY_FLAG_WATCH",
2044
+ "name": "watch",
2045
+ "allowNo": false,
2046
+ "type": "boolean"
1342
2047
  }
1343
2048
  },
1344
2049
  "hasDynamicHelp": false,
2050
+ "hidden": true,
1345
2051
  "hiddenAliases": [],
1346
- "id": "app:init",
2052
+ "id": "app:subscription-migrations:schedule",
1347
2053
  "pluginAlias": "@shopify/cli",
1348
2054
  "pluginName": "@shopify/cli",
1349
2055
  "pluginType": "core",
1350
2056
  "strict": true,
1351
- "summary": "Create a new app project",
2057
+ "summary": "Schedules manual-billing subscriptions to migrate to Shopify-managed app pricing.",
2058
+ "descriptionWithMarkdown": "Schedules manual-billing subscriptions to migrate to Shopify-managed app pricing.\n\nWhen `--input` is omitted, the command reads CSV data from stdin. Use `--input <path>` to read from a file. `--input -` is also supported as an explicit stdin path.\n\n- Required CSV columns: `shop_id`, `target_plan_handle`, and `price_behavior`.\n- Optional CSV column: `notification`.\n- Example header: `shop_id,target_plan_handle,price_behavior,notification`.\n- Example row: `123456789,pro,HONOR_BILLING_PRICE,WHEN_REQUIRED`.\n\n`price_behavior` must be `HONOR_BILLING_PRICE` or `PLAN_PRICE`. `notification` can be `OPT_OUT` or `WHEN_REQUIRED` and defaults to `WHEN_REQUIRED` when omitted or blank.\n\nValidation is atomic: the command submits no operations unless the entire CSV is valid. Valid rows are submitted in batches of 250 shops. Preserve every operation GID printed by the command so you can check or cancel the submitted operations.\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.\n\nUse `--force` to skip confirmation and immediately submit every valid row. With `--watch`, human-readable output shows accepted identifiers before polling begins, then displays operation progress and the final outcome. With `--json --watch`, the command outputs one structured JSON document after every operation reaches a terminal status.",
1352
2059
  "customPluginName": "@shopify/app"
1353
2060
  },
1354
- "app:config:validate": {
2061
+ "app:subscription-migrations:status": {
1355
2062
  "aliases": [],
1356
2063
  "args": {},
1357
- "description": "Validates the selected app configuration file and all extension configurations against their schemas and reports any errors found.",
2064
+ "description": "Checks app subscription migration operation status.\n\nRepeat `--id` for every operation GID returned by a multi-batch submission. With `--watch`, the command displays the current state while polling and outputs the final state after all requested operations reach a terminal status.\n\n`RUNNING` means an operation is still processing. `COMPLETED` means processing finished, but you must inspect the per-shop results to confirm each outcome. `FAILED` means the operation failed, and `CANCELED` means cancellation stopped further processing.\n\nUse `--json` to output every operation and its per-shop results as structured JSON.\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.",
2065
+ "examples": [
2066
+ "<%= config.bin %> <%= command.id %> --id <operation-id>",
2067
+ "<%= config.bin %> <%= command.id %> --path ../my-app --config staging --id <operation-id-1> --id <operation-id-2> --watch",
2068
+ "<%= config.bin %> <%= command.id %> --client-id <client-id> --id <operation-id> --json"
2069
+ ],
1358
2070
  "flags": {
1359
2071
  "auth-alias": {
1360
2072
  "description": "Alias of the Shopify account to use for authentication.",
@@ -1430,23 +2142,47 @@
1430
2142
  "name": "json",
1431
2143
  "allowNo": false,
1432
2144
  "type": "boolean"
2145
+ },
2146
+ "id": {
2147
+ "description": "The app subscription migration operation ID. Can be specified multiple times.",
2148
+ "env": "SHOPIFY_FLAG_ID",
2149
+ "name": "id",
2150
+ "required": true,
2151
+ "hasDynamicHelp": false,
2152
+ "multiple": true,
2153
+ "type": "option"
2154
+ },
2155
+ "watch": {
2156
+ "description": "Display the current operation state while polling, then output the final state when every operation reaches a terminal status.",
2157
+ "env": "SHOPIFY_FLAG_WATCH",
2158
+ "name": "watch",
2159
+ "allowNo": false,
2160
+ "type": "boolean"
1433
2161
  }
1434
2162
  },
1435
2163
  "hasDynamicHelp": false,
2164
+ "hidden": true,
1436
2165
  "hiddenAliases": [],
1437
- "id": "app:config:validate",
2166
+ "id": "app:subscription-migrations:status",
1438
2167
  "pluginAlias": "@shopify/cli",
1439
2168
  "pluginName": "@shopify/cli",
1440
2169
  "pluginType": "core",
1441
2170
  "strict": true,
1442
- "summary": "Validate your app configuration and extensions.",
1443
- "descriptionWithMarkdown": "Validates the selected app configuration file and all extension configurations against their schemas and reports any errors found.",
2171
+ "summary": "Checks the status of app subscription migration operations.",
2172
+ "descriptionWithMarkdown": "Checks app subscription migration operation status.\n\nRepeat `--id` for every operation GID returned by a multi-batch submission. With `--watch`, the command displays the current state while polling and outputs the final state after all requested operations reach a terminal status.\n\n`RUNNING` means an operation is still processing. `COMPLETED` means processing finished, but you must inspect the per-shop results to confirm each outcome. `FAILED` means the operation failed, and `CANCELED` means cancellation stopped further processing.\n\nUse `--json` to output every operation and its per-shop results as structured JSON.\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.",
1444
2173
  "customPluginName": "@shopify/app"
1445
2174
  },
1446
- "app:release": {
2175
+ "app:subscription-migrations:unschedule": {
1447
2176
  "aliases": [],
1448
2177
  "args": {},
1449
- "description": "Releases an existing app version. Pass the name of the version that you want to release using the `--version` flag.",
2178
+ "description": "Reverses scheduled app subscription migrations that have not migrated yet.\n\nWhen `--input` is omitted, the command reads CSV data from stdin. Use `--input <path>` to read from a file. `--input -` is also supported as an explicit stdin path.\n\n- Required CSV header: `shop_id`.\n- Example row: `123456789`.\n\nThe CSV can contain only the `shop_id` header, or it can reuse the complete CSV supplied to `schedule`; schedule-only columns are ignored.\n\nUnscheduling is not a rollback after a subscription has migrated. The command validates the entire CSV before sending any mutation. Use `--force` to skip confirmation and immediately submit every valid row.\n\nOperations are submitted in batches of 250 shops. Preserve every operation GID printed by the command so you can check or cancel the submitted operations. With `--watch`, human-readable output shows accepted identifiers before polling begins, then displays operation progress and the final outcome. With `--json --watch`, the command outputs one structured JSON document after every operation reaches a terminal status.\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.",
2179
+ "examples": [
2180
+ "<%= config.bin %> <%= command.id %> --input migrations.csv --force",
2181
+ "cat migrations.csv | <%= config.bin %> <%= command.id %> --force",
2182
+ "<%= config.bin %> <%= command.id %> --input migrations.csv --path ../my-app --config staging --force --json",
2183
+ "<%= config.bin %> <%= command.id %> --input migrations.csv --client-id <client-id> --force",
2184
+ "<%= config.bin %> <%= command.id %> --input - --force --watch"
2185
+ ],
1450
2186
  "flags": {
1451
2187
  "auth-alias": {
1452
2188
  "description": "Alias of the Shopify account to use for authentication.",
@@ -1514,43 +2250,50 @@
1514
2250
  "allowNo": false,
1515
2251
  "type": "boolean"
1516
2252
  },
1517
- "allow-updates": {
1518
- "description": "Allows adding and updating extensions and configuration without requiring user confirmation. Recommended option for CI/CD environments. Required in non-interactive environments unless --allow-deletes is provided.",
1519
- "env": "SHOPIFY_FLAG_ALLOW_UPDATES",
1520
- "hidden": false,
1521
- "name": "allow-updates",
1522
- "allowNo": false,
1523
- "type": "boolean"
1524
- },
1525
- "allow-deletes": {
1526
- "description": "Allows removing extensions and configuration without requiring user confirmation. For CI/CD environments, the recommended flag is --allow-updates. Required in non-interactive environments unless --allow-updates is provided.",
1527
- "env": "SHOPIFY_FLAG_ALLOW_DELETES",
2253
+ "json": {
2254
+ "char": "j",
2255
+ "description": "Output the result as JSON. Automatically disables color output.",
2256
+ "env": "SHOPIFY_FLAG_JSON",
1528
2257
  "hidden": false,
1529
- "name": "allow-deletes",
2258
+ "name": "json",
1530
2259
  "allowNo": false,
1531
2260
  "type": "boolean"
1532
2261
  },
1533
- "version": {
1534
- "description": "The name of the app version to release.",
1535
- "env": "SHOPIFY_FLAG_VERSION",
1536
- "hidden": false,
1537
- "name": "version",
1538
- "required": true,
2262
+ "input": {
2263
+ "char": "i",
2264
+ "description": "Path to the migration CSV. If omitted, standard input is used.",
2265
+ "env": "SHOPIFY_FLAG_INPUT",
2266
+ "name": "input",
1539
2267
  "hasDynamicHelp": false,
1540
2268
  "multiple": false,
1541
2269
  "type": "option"
2270
+ },
2271
+ "force": {
2272
+ "char": "f",
2273
+ "description": "Skip confirmation. Required if non interactive.",
2274
+ "env": "SHOPIFY_FLAG_FORCE",
2275
+ "name": "force",
2276
+ "allowNo": false,
2277
+ "type": "boolean"
2278
+ },
2279
+ "watch": {
2280
+ "description": "Display the current operation state while polling, then output the final outcome when every operation reaches a terminal status.",
2281
+ "env": "SHOPIFY_FLAG_WATCH",
2282
+ "name": "watch",
2283
+ "allowNo": false,
2284
+ "type": "boolean"
1542
2285
  }
1543
2286
  },
1544
2287
  "hasDynamicHelp": false,
2288
+ "hidden": true,
1545
2289
  "hiddenAliases": [],
1546
- "id": "app:release",
2290
+ "id": "app:subscription-migrations:unschedule",
1547
2291
  "pluginAlias": "@shopify/cli",
1548
2292
  "pluginName": "@shopify/cli",
1549
2293
  "pluginType": "core",
1550
2294
  "strict": true,
1551
- "summary": "Release an app version.",
1552
- "usage": "app release --version <version>",
1553
- "descriptionWithMarkdown": "Releases an existing app version. Pass the name of the version that you want to release using the `--version` flag.",
2295
+ "summary": "Reverses app subscription migrations that are still scheduled.",
2296
+ "descriptionWithMarkdown": "Reverses scheduled app subscription migrations that have not migrated yet.\n\nWhen `--input` is omitted, the command reads CSV data from stdin. Use `--input <path>` to read from a file. `--input -` is also supported as an explicit stdin path.\n\n- Required CSV header: `shop_id`.\n- Example row: `123456789`.\n\nThe CSV can contain only the `shop_id` header, or it can reuse the complete CSV supplied to `schedule`; schedule-only columns are ignored.\n\nUnscheduling is not a rollback after a subscription has migrated. The command validates the entire CSV before sending any mutation. Use `--force` to skip confirmation and immediately submit every valid row.\n\nOperations are submitted in batches of 250 shops. Preserve every operation GID printed by the command so you can check or cancel the submitted operations. With `--watch`, human-readable output shows accepted identifiers before polling begins, then displays operation progress and the final outcome. With `--json --watch`, the command outputs one structured JSON document after every operation reaches a terminal status.\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.",
1554
2297
  "customPluginName": "@shopify/app"
1555
2298
  },
1556
2299
  "app:config:link": {
@@ -7304,6 +8047,13 @@
7304
8047
  "multiple": false,
7305
8048
  "type": "option"
7306
8049
  },
8050
+ "javascript-origin": {
8051
+ "description": "The origin to register as the allowed JavaScript origin for the Customer Account API OAuth flow. Defaults to --dev-origin. Must not include a port (Shopify rejects origins with ports); use this to register a portless origin while keeping a portful --dev-origin.",
8052
+ "name": "javascript-origin",
8053
+ "hasDynamicHelp": false,
8054
+ "multiple": false,
8055
+ "type": "option"
8056
+ },
7307
8057
  "relative-redirect-uri": {
7308
8058
  "description": "The relative url of allowed callback url for Customer Account API OAuth flow. Default is '/account/authorize'",
7309
8059
  "name": "relative-redirect-uri",
@@ -8109,9 +8859,10 @@
8109
8859
  "store:stripe-auth": {
8110
8860
  "aliases": [],
8111
8861
  "args": {},
8112
- "description": "Authenticates to a store then stores an online access token for later reuse. Pass the provided JWT to --signup.",
8862
+ "description": "Authenticates to a store then stores an online access token for later reuse. Pass the provided JWT to --signup or stdin.",
8113
8863
  "examples": [
8114
8864
  "<%= config.bin %> <%= command.id %> --store shop.myshopify.com --scopes read_products,write_products --signup <signup-jwt>",
8865
+ "printf %s <signup-jwt> | <%= config.bin %> <%= command.id %> --store shop.myshopify.com --scopes read_products,write_products",
8115
8866
  "<%= config.bin %> <%= command.id %> --store shop.myshopify.com --scopes read_products,write_products --signup <signup-jwt> --json"
8116
8867
  ],
8117
8868
  "flags": {
@@ -8160,10 +8911,10 @@
8160
8911
  "type": "option"
8161
8912
  },
8162
8913
  "signup": {
8163
- "description": "Provide JWT for the store.",
8914
+ "description": "Provide JWT for the store. When omitted, the JWT is read from stdin.",
8164
8915
  "env": "SHOPIFY_FLAG_SIGNUP",
8165
8916
  "name": "signup",
8166
- "required": true,
8917
+ "required": false,
8167
8918
  "hasDynamicHelp": false,
8168
8919
  "multiple": false,
8169
8920
  "type": "option"
@@ -8178,13 +8929,19 @@
8178
8929
  "pluginType": "core",
8179
8930
  "strict": true,
8180
8931
  "summary": "Authenticate for store commands.",
8181
- "descriptionWithMarkdown": "Authenticates to a store then stores an online access token for later reuse. Pass the provided JWT to --signup.",
8932
+ "descriptionWithMarkdown": "Authenticates to a store then stores an online access token for later reuse. Pass the provided JWT to --signup or stdin.",
8182
8933
  "customPluginName": "@shopify/store"
8183
8934
  },
8184
8935
  "store:create:dev": {
8185
8936
  "aliases": [],
8186
8937
  "args": {},
8187
- "description": "Creates a new app development store in your organization.",
8938
+ "description": "Creates a new dev store in your organization.",
8939
+ "examples": [
8940
+ "<%= config.bin %> <%= command.id %>",
8941
+ "<%= config.bin %> <%= command.id %> --name \"Lavender Candles\" --organization-id 1234567 --plan basic",
8942
+ "<%= config.bin %> <%= command.id %> --name \"Lavender Candles\" --organization-id 1234567 --plan basic --demo-data",
8943
+ "<%= config.bin %> <%= command.id %> --name \"Lavender Candles\" --organization-id 1234567 --plan basic --json"
8944
+ ],
8188
8945
  "flags": {
8189
8946
  "no-color": {
8190
8947
  "description": "Disable color output.",
@@ -8212,7 +8969,7 @@
8212
8969
  "type": "boolean"
8213
8970
  },
8214
8971
  "name": {
8215
- "description": "Name for the new development store. Required if non interactive.",
8972
+ "description": "Name for the new dev store. Required if non interactive.",
8216
8973
  "env": "SHOPIFY_FLAG_STORE_NAME",
8217
8974
  "name": "name",
8218
8975
  "hasDynamicHelp": false,
@@ -8228,7 +8985,7 @@
8228
8985
  "type": "option"
8229
8986
  },
8230
8987
  "plan": {
8231
- "description": "The Shopify plan to use for the new development store. Required if non interactive.",
8988
+ "description": "The Shopify plan to use for the new dev store. Required if non interactive.",
8232
8989
  "env": "SHOPIFY_FLAG_STORE_PLAN",
8233
8990
  "name": "plan",
8234
8991
  "hasDynamicHelp": false,
@@ -8242,18 +8999,18 @@
8242
8999
  "type": "option"
8243
9000
  },
8244
9001
  "feature-preview": {
8245
- "description": "The handle of a feature preview to enable on the new development store.",
9002
+ "description": "The handle of a feature preview to enable on the new dev store.",
8246
9003
  "env": "SHOPIFY_FLAG_STORE_FEATURE_PREVIEW",
8247
9004
  "name": "feature-preview",
8248
9005
  "hasDynamicHelp": false,
8249
9006
  "multiple": false,
8250
9007
  "type": "option"
8251
9008
  },
8252
- "with-demo-data": {
8253
- "description": "Populate the new development store with demo data.",
8254
- "env": "SHOPIFY_FLAG_STORE_WITH_DEMO_DATA",
8255
- "name": "with-demo-data",
8256
- "allowNo": false,
9009
+ "demo-data": {
9010
+ "description": "Populate the new dev store with demo data.",
9011
+ "env": "SHOPIFY_FLAG_STORE_DEMO_DATA",
9012
+ "name": "demo-data",
9013
+ "allowNo": true,
8257
9014
  "type": "boolean"
8258
9015
  },
8259
9016
  "country": {
@@ -8267,16 +9024,15 @@
8267
9024
  }
8268
9025
  },
8269
9026
  "hasDynamicHelp": false,
8270
- "hidden": true,
8271
9027
  "hiddenAliases": [],
8272
9028
  "id": "store:create:dev",
8273
9029
  "pluginAlias": "@shopify/cli",
8274
9030
  "pluginName": "@shopify/cli",
8275
9031
  "pluginType": "core",
8276
9032
  "strict": true,
8277
- "summary": "Create a new development store.",
9033
+ "summary": "Create a new dev store.",
8278
9034
  "enableJsonFlag": false,
8279
- "descriptionWithMarkdown": "Creates a new app development store in your organization.",
9035
+ "descriptionWithMarkdown": "Creates a new dev store in your organization.",
8280
9036
  "customPluginName": "@shopify/store"
8281
9037
  },
8282
9038
  "store:create:preview": {
@@ -8347,7 +9103,7 @@
8347
9103
  "store:delete": {
8348
9104
  "aliases": [],
8349
9105
  "args": {},
8350
- "description": "Deletes a development store from your organization.",
9106
+ "description": "Deletes a dev store from your organization.",
8351
9107
  "examples": [
8352
9108
  "<%= config.bin %> <%= command.id %> --store shop.myshopify.com --organization-id 1234567",
8353
9109
  "<%= config.bin %> <%= command.id %> --store shop.myshopify.com --organization-id 1234567 --json",
@@ -8407,16 +9163,15 @@
8407
9163
  }
8408
9164
  },
8409
9165
  "hasDynamicHelp": false,
8410
- "hidden": true,
8411
9166
  "hiddenAliases": [],
8412
9167
  "id": "store:delete",
8413
9168
  "pluginAlias": "@shopify/cli",
8414
9169
  "pluginName": "@shopify/cli",
8415
9170
  "pluginType": "core",
8416
9171
  "strict": true,
8417
- "summary": "Delete a development store.",
9172
+ "summary": "Delete a dev store.",
8418
9173
  "enableJsonFlag": false,
8419
- "descriptionWithMarkdown": "Deletes a development store from your organization.",
9174
+ "descriptionWithMarkdown": "Deletes a dev store from your organization.",
8420
9175
  "customPluginName": "@shopify/store"
8421
9176
  },
8422
9177
  "store:execute": {
@@ -8684,6 +9439,7 @@
8684
9439
  "examples": [
8685
9440
  "<%= config.bin %> <%= command.id %>",
8686
9441
  "<%= config.bin %> <%= command.id %> --organization-id 1234567",
9442
+ "<%= config.bin %> <%= command.id %> --type dev",
8687
9443
  "<%= config.bin %> <%= command.id %> --json"
8688
9444
  ],
8689
9445
  "flags": {
@@ -8719,6 +9475,20 @@
8719
9475
  "hasDynamicHelp": false,
8720
9476
  "multiple": false,
8721
9477
  "type": "option"
9478
+ },
9479
+ "type": {
9480
+ "description": "List only stores of this type.",
9481
+ "env": "SHOPIFY_FLAG_STORE_TYPE",
9482
+ "name": "type",
9483
+ "hasDynamicHelp": false,
9484
+ "multiple": false,
9485
+ "options": [
9486
+ "dev",
9487
+ "production",
9488
+ "client-transfer",
9489
+ "collaborator"
9490
+ ],
9491
+ "type": "option"
8722
9492
  }
8723
9493
  },
8724
9494
  "hasDynamicHelp": false,
@@ -9326,5 +10096,5 @@
9326
10096
  "descriptionWithMarkdown": "Check whether auto-upgrade is enabled, disabled, or not yet configured.\n\n When auto-upgrade is enabled, Shopify CLI automatically updates to the latest version after each command.\n\n Run `shopify config autoupgrade on` or `shopify config autoupgrade off` to configure it.\n"
9327
10097
  }
9328
10098
  },
9329
- "version": "4.7.0"
10099
+ "version": "4.8.0"
9330
10100
  }