@shopify/cli 4.8.1 → 4.8.3

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 (300) hide show
  1. package/dist/analytics-AL5WLCEC.js +1 -0
  2. package/dist/{analytics-TQHJN5PY.js → analytics-VCJLTHBI.js} +1 -1
  3. package/dist/bootstrap.js +1 -1
  4. package/dist/{chunk-BMDCOBUR.js → chunk-2AFQC53K.js} +1 -1
  5. package/dist/{chunk-EIBQRJTQ.js → chunk-2C27YWUC.js} +1 -1
  6. package/dist/{chunk-IPSY5EEL.js → chunk-2E3JUVRC.js} +1 -1
  7. package/dist/{chunk-YUNINHOR.js → chunk-2NHLSPBM.js} +1 -1
  8. package/dist/{chunk-5PWJTOWK.js → chunk-34EOYW4N.js} +1 -1
  9. package/dist/{chunk-U42P3F7Y.js → chunk-34YS3IUO.js} +1 -1
  10. package/dist/chunk-3CFHLIBD.js +7 -0
  11. package/dist/{chunk-GTIBT4V6.js → chunk-3D3IYIZ7.js} +1 -1
  12. package/dist/{chunk-VPRDI4TT.js → chunk-3DXA7B3Y.js} +1 -1
  13. package/dist/{chunk-H6HILX7D.js → chunk-3U7O3PMX.js} +1 -1
  14. package/dist/{chunk-HKSRCMQ7.js → chunk-3X7XO4LN.js} +1 -1
  15. package/dist/{chunk-WVQZOLZJ.js → chunk-46ISGKTW.js} +1 -1
  16. package/dist/{chunk-J3PS4JF2.js → chunk-4CLJ6W23.js} +2 -2
  17. package/dist/chunk-4EHFK2OI.js +1 -0
  18. package/dist/{chunk-3R7OHZ4C.js → chunk-4XZJKSDD.js} +1 -1
  19. package/dist/{chunk-X3KYRBGE.js → chunk-4ZMWIIJV.js} +1 -1
  20. package/dist/{chunk-UCJ3NHJH.js → chunk-56362WJR.js} +1 -1
  21. package/dist/{chunk-MNTJZ6JO.js → chunk-5QCSJYJ4.js} +1 -1
  22. package/dist/{chunk-BKYTBTQ5.js → chunk-5QNB6464.js} +1 -1
  23. package/dist/{chunk-SEGZQCXZ.js → chunk-5VBEPL4S.js} +1 -1
  24. package/dist/{chunk-7CPYFKFK.js → chunk-5YSO5HRH.js} +1 -1
  25. package/dist/{chunk-CKZOLGWI.js → chunk-65DQFHSH.js} +1 -1
  26. package/dist/{chunk-LQGF3RKX.js → chunk-6ECS5KDX.js} +1 -1
  27. package/dist/{chunk-LJO22Z6S.js → chunk-6NO44HAQ.js} +1 -1
  28. package/dist/{chunk-XSUX2XAW.js → chunk-6QDI53VP.js} +1 -1
  29. package/dist/{chunk-4ASQQTCD.js → chunk-6TPUTSNR.js} +1 -1
  30. package/dist/{chunk-WT2KJHUO.js → chunk-6ZGCTTAD.js} +1 -1
  31. package/dist/{chunk-5THZTE44.js → chunk-777JJJYW.js} +1 -1
  32. package/dist/{chunk-PJTRZSH4.js → chunk-77QBDEU4.js} +1 -1
  33. package/dist/{chunk-SAKMJGXL.js → chunk-7W7RGEII.js} +1 -1
  34. package/dist/{chunk-GZEPWYMP.js → chunk-7YBBERPS.js} +1 -1
  35. package/dist/{chunk-TQNGFSCI.js → chunk-7YDT5AOW.js} +1 -1
  36. package/dist/{chunk-HZDEDEAS.js → chunk-AHJT2Z7G.js} +1 -1
  37. package/dist/{chunk-QH7QOLZK.js → chunk-ALDLKZJW.js} +1 -1
  38. package/dist/{chunk-PCL4UWAE.js → chunk-AQJEA33T.js} +1 -1
  39. package/dist/{chunk-QPT6DUMC.js → chunk-ASBTWQJO.js} +1 -1
  40. package/dist/{chunk-DS7OKDQN.js → chunk-AU2OGZBS.js} +1 -1
  41. package/dist/{chunk-F2DO3R6R.js → chunk-AURREHRU.js} +1 -1
  42. package/dist/{chunk-XRVMKP53.js → chunk-AWTBC3MC.js} +3 -3
  43. package/dist/{chunk-SIVRBIKH.js → chunk-B3GLHLAQ.js} +1 -1
  44. package/dist/{chunk-5CC4QYN4.js → chunk-B52JFWYO.js} +1 -1
  45. package/dist/{chunk-XNP7PMGC.js → chunk-BAUHOB76.js} +1 -1
  46. package/dist/{chunk-EDHR546O.js → chunk-BIV3GWMB.js} +1 -1
  47. package/dist/chunk-BJ3JF35I.js +6 -0
  48. package/dist/{chunk-O2X6EVXQ.js → chunk-BO45JVQ3.js} +1 -1
  49. package/dist/{chunk-XNKAPGJD.js → chunk-BQTD7UV2.js} +1 -1
  50. package/dist/{chunk-ZYEGQSF5.js → chunk-BR3GYG2H.js} +1 -1
  51. package/dist/{chunk-WJEVB67Y.js → chunk-BR5CFKIN.js} +1 -1
  52. package/dist/{chunk-VM6EBNGR.js → chunk-BU4EGAMH.js} +1 -1
  53. package/dist/{chunk-RNFZJQVV.js → chunk-BV4K7JX5.js} +1 -1
  54. package/dist/{chunk-JVXKDM2E.js → chunk-C2AA5NVP.js} +1 -1
  55. package/dist/{chunk-UBX3HUMH.js → chunk-CF3PBTFV.js} +1 -1
  56. package/dist/{chunk-PSH4QKUX.js → chunk-CM4QZI6V.js} +1 -1
  57. package/dist/{chunk-7DJNASBC.js → chunk-CNDB4VEM.js} +1 -1
  58. package/dist/{chunk-WIBPVYPN.js → chunk-CRSAEF22.js} +1 -1
  59. package/dist/{chunk-GCTCRKET.js → chunk-CSNXCRPY.js} +1 -1
  60. package/dist/{chunk-3A2HLI4D.js → chunk-CYSB5AJJ.js} +1 -1
  61. package/dist/{chunk-OBRMBYTG.js → chunk-DDWJRJWW.js} +1 -1
  62. package/dist/{chunk-U7ELUEH2.js → chunk-DE3HBSUU.js} +1 -1
  63. package/dist/{chunk-5AMPXLKT.js → chunk-DGZCOTKZ.js} +1 -1
  64. package/dist/{chunk-3ACZB27E.js → chunk-E2IUEX5H.js} +1 -1
  65. package/dist/{chunk-7JG3CKDE.js → chunk-E6DIK7Z7.js} +1 -1
  66. package/dist/{chunk-PPC3RJDZ.js → chunk-E767ITG2.js} +1 -1
  67. package/dist/{chunk-PVZE65R7.js → chunk-EIASA32Z.js} +1 -1
  68. package/dist/{chunk-6633X2JU.js → chunk-EIEPBDNX.js} +1 -1
  69. package/dist/chunk-ENEPD4BS.js +1 -0
  70. package/dist/{chunk-LTRJWOI6.js → chunk-EQ7HQXEK.js} +1 -1
  71. package/dist/{chunk-GVEJO3WM.js → chunk-ERMLZF2C.js} +1 -1
  72. package/dist/{chunk-LEPENRGG.js → chunk-ETHKJFFN.js} +1 -1
  73. package/dist/{chunk-NQRSFMS7.js → chunk-EWKIFVW3.js} +1 -1
  74. package/dist/{chunk-5G2W7QKA.js → chunk-F3FHSS7N.js} +1 -1
  75. package/dist/{chunk-3NYK63U4.js → chunk-F4S4ITHP.js} +1 -1
  76. package/dist/{chunk-7DLMETRR.js → chunk-FKW62ZUV.js} +1 -1
  77. package/dist/{chunk-7USNGNVI.js → chunk-FYVFGKCJ.js} +1 -1
  78. package/dist/{chunk-2R6KOKWG.js → chunk-G52SCW6W.js} +1 -1
  79. package/dist/{chunk-PGBXHL2G.js → chunk-GK23CIPB.js} +1 -1
  80. package/dist/{chunk-HFRWZQOF.js → chunk-GKRGXRD4.js} +1 -1
  81. package/dist/{chunk-RHJLAYNK.js → chunk-GO4KOSHA.js} +1 -1
  82. package/dist/{chunk-2BHYBR2F.js → chunk-GSYVQPMP.js} +1 -1
  83. package/dist/{chunk-D2R7HPCT.js → chunk-HEABWGTV.js} +1 -1
  84. package/dist/{chunk-ILHEVBNU.js → chunk-HG63NM4M.js} +1 -1
  85. package/dist/{chunk-TCP4OG3D.js → chunk-HHWZV7CG.js} +1 -1
  86. package/dist/{chunk-VRO6QBVN.js → chunk-HLLMMIIM.js} +1 -1
  87. package/dist/{chunk-HEIZ3RSD.js → chunk-HPGQGIPA.js} +1 -1
  88. package/dist/{chunk-6USL7BKQ.js → chunk-HZASAGTU.js} +1 -1
  89. package/dist/{chunk-RRQYOGEA.js → chunk-I44E5KLI.js} +1 -1
  90. package/dist/{chunk-OYFNB5RY.js → chunk-I7XKF22Z.js} +1 -1
  91. package/dist/{chunk-AINDVTMY.js → chunk-IAURXPUJ.js} +3 -3
  92. package/dist/{chunk-AXLLN6DZ.js → chunk-J6BXYZRY.js} +1 -1
  93. package/dist/{chunk-33PLVLCE.js → chunk-JGSHB34D.js} +1 -1
  94. package/dist/{chunk-TBEG57SV.js → chunk-JKWKFDP7.js} +1 -1
  95. package/dist/{chunk-NV4SPMQS.js → chunk-KIPKRAUB.js} +1 -1
  96. package/dist/{chunk-UMZG254H.js → chunk-KLI5Z5RC.js} +1 -1
  97. package/dist/{chunk-FH36PGZH.js → chunk-KSSPT7G5.js} +12 -12
  98. package/dist/{chunk-UPTF2HK6.js → chunk-LOSBZZHU.js} +1 -1
  99. package/dist/{chunk-5U4UTFA4.js → chunk-LUSG2EHB.js} +1 -1
  100. package/dist/{chunk-6T5AZZUI.js → chunk-LZSDOB4O.js} +1 -1
  101. package/dist/{chunk-565SON6A.js → chunk-M7YZJWY3.js} +1 -1
  102. package/dist/{chunk-XH66VYZA.js → chunk-MF2PINFC.js} +1 -1
  103. package/dist/{chunk-KAAC4VIW.js → chunk-MI5HPOXV.js} +1 -1
  104. package/dist/{chunk-T24RA3WI.js → chunk-MPO2T5YQ.js} +1 -1
  105. package/dist/{chunk-KEUMU5TQ.js → chunk-MQM3PRVN.js} +1 -1
  106. package/dist/{chunk-R4YJM7KY.js → chunk-N34YKDEK.js} +1 -1
  107. package/dist/{chunk-PROWADZL.js → chunk-NG5FY45G.js} +1 -1
  108. package/dist/{chunk-YAA7OGRM.js → chunk-NKSLEPE2.js} +2 -2
  109. package/dist/chunk-NNCLTG6A.js +1 -0
  110. package/dist/{chunk-TVQVZHNP.js → chunk-NS7QRCJF.js} +1 -1
  111. package/dist/{chunk-CSAVYME2.js → chunk-NTV746FL.js} +1 -1
  112. package/dist/{chunk-E7I5YT53.js → chunk-O2YFSYDR.js} +1 -1
  113. package/dist/{chunk-QMYCJ2TM.js → chunk-O4ZMMPEP.js} +1 -1
  114. package/dist/{chunk-YMS6RVE5.js → chunk-OI3MNE72.js} +1 -1
  115. package/dist/{chunk-F5BTQI5W.js → chunk-OSMT4BVT.js} +1 -1
  116. package/dist/{chunk-AICVQH4V.js → chunk-OZJBUWZK.js} +1 -1
  117. package/dist/{chunk-4QXDDAMD.js → chunk-PERAXNOY.js} +2 -2
  118. package/dist/chunk-PJH3JJEQ.js +1 -0
  119. package/dist/{chunk-HEWKCSY7.js → chunk-PUGAY4JP.js} +3 -3
  120. package/dist/{chunk-RAOMLN5A.js → chunk-PXAYMXQN.js} +1 -1
  121. package/dist/{chunk-AXMSJ46T.js → chunk-PXM3ENVN.js} +1 -1
  122. package/dist/{chunk-3LBHSZSR.js → chunk-PYCGZSME.js} +1 -1
  123. package/dist/{chunk-X4JCATEE.js → chunk-PZH4WAOO.js} +1 -1
  124. package/dist/{chunk-VFQW2QL2.js → chunk-QCMGYBFD.js} +1 -1
  125. package/dist/{chunk-3FTP36HH.js → chunk-QGYETVYA.js} +1 -1
  126. package/dist/{chunk-ODFOSJU3.js → chunk-QIGFVVLB.js} +1 -1
  127. package/dist/{chunk-WLGEAJBU.js → chunk-RAJX2CQP.js} +1 -1
  128. package/dist/{chunk-KPJRLS53.js → chunk-RFORHGOR.js} +1 -1
  129. package/dist/{chunk-LC2BDU4B.js → chunk-RIWEYVNK.js} +1 -1
  130. package/dist/{chunk-Y6DYQWQK.js → chunk-RM3XC2IX.js} +1 -1
  131. package/dist/{chunk-7DGVNVW3.js → chunk-RPM2BFMN.js} +1 -1
  132. package/dist/chunk-RV4UQZ2W.js +1 -0
  133. package/dist/{chunk-36OXWMXZ.js → chunk-RVEAQUUF.js} +1 -1
  134. package/dist/{chunk-4ARQFW35.js → chunk-SASKWPDJ.js} +1 -1
  135. package/dist/{chunk-S5FGFQHD.js → chunk-SLZ6UMVV.js} +1 -1
  136. package/dist/{chunk-6U4BOZ73.js → chunk-SUQF2LM7.js} +1 -1
  137. package/dist/{chunk-OTVZU5AQ.js → chunk-SVO2M3F5.js} +1 -1
  138. package/dist/{chunk-BHDFVO2R.js → chunk-SYJXM2RN.js} +1 -1
  139. package/dist/{chunk-XZUL2HVC.js → chunk-SZ2V5WT6.js} +1 -1
  140. package/dist/{chunk-LIH7CQO7.js → chunk-T3IMDY72.js} +3 -3
  141. package/dist/{chunk-PSYQTFPK.js → chunk-T5I2LEDJ.js} +1 -1
  142. package/dist/{chunk-UBJYXNCN.js → chunk-T7BQYKKT.js} +1 -1
  143. package/dist/{chunk-6HMTAB2V.js → chunk-TBC5FH2W.js} +1 -1
  144. package/dist/{chunk-FM6VJLE7.js → chunk-TEHDOYO2.js} +1 -1
  145. package/dist/{chunk-GYFRTLML.js → chunk-TNYPQ2UL.js} +3 -3
  146. package/dist/{chunk-562EV2EJ.js → chunk-TWTZLWO7.js} +1 -1
  147. package/dist/{chunk-3GAN6KS6.js → chunk-U5APMZGT.js} +1 -1
  148. package/dist/{chunk-OJE7S6D4.js → chunk-UCP6UA7M.js} +1 -1
  149. package/dist/{chunk-WSJ5PUK6.js → chunk-UI75K6AX.js} +1 -1
  150. package/dist/{chunk-JDEOBIXA.js → chunk-ULIXS6H7.js} +1 -1
  151. package/dist/{chunk-AVX7CIDJ.js → chunk-UU3VUYVX.js} +1 -1
  152. package/dist/{chunk-FZUPL5YO.js → chunk-VCJ252CK.js} +1 -1
  153. package/dist/{chunk-UXL2A5UK.js → chunk-VEXW766J.js} +1 -1
  154. package/dist/{chunk-32IIURQB.js → chunk-VTKZJ6MD.js} +1 -1
  155. package/dist/{chunk-22JJHQVU.js → chunk-WE72MX7V.js} +1 -1
  156. package/dist/{chunk-ZJ6DWT36.js → chunk-WKC5HDMY.js} +1 -1
  157. package/dist/{chunk-4QAM7ROJ.js → chunk-WXDINLQ6.js} +1 -1
  158. package/dist/{chunk-U63A4OUA.js → chunk-XBL6HWDC.js} +1 -1
  159. package/dist/{chunk-H7IQZNKR.js → chunk-XCTRPBWM.js} +1 -1
  160. package/dist/{chunk-IMSPA67L.js → chunk-XNMDPOYU.js} +1 -1
  161. package/dist/{chunk-YZKBG7UZ.js → chunk-XSFF6KEB.js} +1 -1
  162. package/dist/{chunk-6JC2PM43.js → chunk-YJCNZGPY.js} +1 -1
  163. package/dist/{chunk-B3I7OMRN.js → chunk-YKHDUKFK.js} +1 -1
  164. package/dist/{chunk-DQVNW6EQ.js → chunk-YSOLGBU3.js} +1 -1
  165. package/dist/{chunk-T74ECTO7.js → chunk-Z3JINOCM.js} +1 -1
  166. package/dist/{chunk-L6OBJDYK.js → chunk-Z6MS5OET.js} +1 -1
  167. package/dist/{chunk-YY2JHCIG.js → chunk-ZBMPFLOH.js} +1 -1
  168. package/dist/{chunk-LH7KQZDD.js → chunk-ZC7FWXYM.js} +1 -1
  169. package/dist/{chunk-ZLMXR2XV.js → chunk-ZRFOMQ2L.js} +1 -1
  170. package/dist/cli/commands/app/app-logs/sources.js +1 -1
  171. package/dist/cli/commands/app/build.js +1 -1
  172. package/dist/cli/commands/app/bulk/cancel.js +1 -1
  173. package/dist/cli/commands/app/bulk/execute.js +1 -1
  174. package/dist/cli/commands/app/bulk/status.js +1 -1
  175. package/dist/cli/commands/app/config/link.js +1 -1
  176. package/dist/cli/commands/app/config/pull.js +1 -1
  177. package/dist/cli/commands/app/config/use.js +1 -1
  178. package/dist/cli/commands/app/config/validate.js +1 -1
  179. package/dist/cli/commands/app/demo/watcher.js +1 -1
  180. package/dist/cli/commands/app/deploy.js +1 -1
  181. package/dist/cli/commands/app/dev/clean.js +1 -1
  182. package/dist/cli/commands/app/dev.js +1 -1
  183. package/dist/cli/commands/app/doctor/instructions.js +1 -1
  184. package/dist/cli/commands/app/doctor.js +1 -1
  185. package/dist/cli/commands/app/env/pull.js +1 -1
  186. package/dist/cli/commands/app/env/show.js +1 -1
  187. package/dist/cli/commands/app/execute.js +1 -1
  188. package/dist/cli/commands/app/function/build.js +1 -1
  189. package/dist/cli/commands/app/function/info.js +1 -1
  190. package/dist/cli/commands/app/function/replay.js +1 -1
  191. package/dist/cli/commands/app/function/run.js +1 -1
  192. package/dist/cli/commands/app/function/schema.js +1 -1
  193. package/dist/cli/commands/app/function/typegen.js +1 -1
  194. package/dist/cli/commands/app/generate/extension.js +1 -1
  195. package/dist/cli/commands/app/graphiql.js +1 -1
  196. package/dist/cli/commands/app/import-custom-data-definitions.js +1 -1
  197. package/dist/cli/commands/app/import-extensions.js +1 -1
  198. package/dist/cli/commands/app/info.js +1 -1
  199. package/dist/cli/commands/app/init.js +1 -1
  200. package/dist/cli/commands/app/logs.js +1 -1
  201. package/dist/cli/commands/app/release.js +1 -1
  202. package/dist/cli/commands/app/subscription-migrations/cancel.js +1 -1
  203. package/dist/cli/commands/app/subscription-migrations/list.js +1 -1
  204. package/dist/cli/commands/app/subscription-migrations/schedule.js +1 -1
  205. package/dist/cli/commands/app/subscription-migrations/status.js +1 -1
  206. package/dist/cli/commands/app/subscription-migrations/unschedule.js +1 -1
  207. package/dist/cli/commands/app/versions/list.js +1 -1
  208. package/dist/cli/commands/app/webhook/trigger.js +1 -1
  209. package/dist/cli/commands/auth/login.js +1 -1
  210. package/dist/cli/commands/auth/logout.js +1 -1
  211. package/dist/cli/commands/cache/clear.js +1 -1
  212. package/dist/cli/commands/config/autoupgrade/off.js +1 -1
  213. package/dist/cli/commands/config/autoupgrade/on.js +1 -1
  214. package/dist/cli/commands/config/autoupgrade/status.js +1 -1
  215. package/dist/cli/commands/debug/command-flags.js +1 -1
  216. package/dist/cli/commands/doc/fetch.js +1 -1
  217. package/dist/cli/commands/doc/search.js +1 -1
  218. package/dist/cli/commands/docs/generate.js +1 -1
  219. package/dist/cli/commands/doctor-release/doctor-release.js +1 -1
  220. package/dist/cli/commands/doctor-release/theme/index.js +1 -1
  221. package/dist/cli/commands/help.js +1 -1
  222. package/dist/cli/commands/kitchen-sink/async.js +1 -1
  223. package/dist/cli/commands/kitchen-sink/index.js +1 -1
  224. package/dist/cli/commands/kitchen-sink/prompts.js +1 -1
  225. package/dist/cli/commands/kitchen-sink/static.js +1 -1
  226. package/dist/cli/commands/notifications/generate.js +1 -1
  227. package/dist/cli/commands/notifications/list.js +1 -1
  228. package/dist/cli/commands/organization/list.js +1 -1
  229. package/dist/cli/commands/search.js +1 -1
  230. package/dist/cli/commands/send-analytics.js +1 -1
  231. package/dist/cli/commands/theme/check.js +1 -1
  232. package/dist/cli/commands/theme/console.js +1 -1
  233. package/dist/cli/commands/theme/delete.js +1 -1
  234. package/dist/cli/commands/theme/dev.js +1 -1
  235. package/dist/cli/commands/theme/duplicate.js +1 -1
  236. package/dist/cli/commands/theme/info.js +1 -1
  237. package/dist/cli/commands/theme/init.js +1 -1
  238. package/dist/cli/commands/theme/language-server.js +1 -1
  239. package/dist/cli/commands/theme/list.js +1 -1
  240. package/dist/cli/commands/theme/metafields/pull.js +1 -1
  241. package/dist/cli/commands/theme/open.js +1 -1
  242. package/dist/cli/commands/theme/package.js +1 -1
  243. package/dist/cli/commands/theme/preview.js +1 -1
  244. package/dist/cli/commands/theme/profile.js +1 -1
  245. package/dist/cli/commands/theme/publish.js +1 -1
  246. package/dist/cli/commands/theme/pull.js +1 -1
  247. package/dist/cli/commands/theme/push.js +1 -1
  248. package/dist/cli/commands/theme/rename.js +1 -1
  249. package/dist/cli/commands/theme/share.js +1 -1
  250. package/dist/cli/commands/upgrade.js +1 -1
  251. package/dist/cli/commands/version.js +1 -1
  252. package/dist/command-registry.js +1 -1
  253. package/dist/{conf-store-K65PEQF6.js → conf-store-F4NCJPWK.js} +1 -1
  254. package/dist/{deprecations-2SG4PB2W.js → deprecations-PX5KIFDO.js} +1 -1
  255. package/dist/dist-WO24PYXH.js +1 -0
  256. package/dist/dist-X7YIFLSP.js +1 -0
  257. package/dist/{environments-B4OWPMPR.js → environments-TLO674UK.js} +1 -1
  258. package/dist/{error-5YQYW3V2.js → error-YLDXWEC5.js} +1 -1
  259. package/dist/error-handler-SY45FR6A.js +1 -0
  260. package/dist/{fs-FM6YDE2U.js → fs-CDN2NZJC.js} +1 -1
  261. package/dist/hooks/did-you-mean.js +1 -1
  262. package/dist/hooks/hydrogen-init.js +1 -1
  263. package/dist/hooks/postrun.js +1 -1
  264. package/dist/hooks/prerun.js +1 -1
  265. package/dist/hooks/public-metadata.js +1 -1
  266. package/dist/hooks/sensitive-metadata.js +1 -1
  267. package/dist/hooks/tunnel-provider.js +1 -1
  268. package/dist/hooks/tunnel-start.js +1 -1
  269. package/dist/index.js +1 -1
  270. package/dist/{is-global-3FFDTC2G.js → is-global-KBYTYD3Y.js} +1 -1
  271. package/dist/{local-W73VIWHZ.js → local-IBYCFEVA.js} +1 -1
  272. package/dist/{metadata-OGQEI47Y.js → metadata-LOCKHSUF.js} +1 -1
  273. package/dist/{node-package-manager-GSHLPD5X.js → node-package-manager-ESOHDRPJ.js} +1 -1
  274. package/dist/notifications-system-EMCOAF3T.js +1 -0
  275. package/dist/os-XLJNYIZF.js +1 -0
  276. package/dist/{output-MG7RJ37P.js → output-OAORC6TH.js} +1 -1
  277. package/dist/{system-3HTWCGQH.js → system-VNXEM5E7.js} +1 -1
  278. package/dist/tsconfig.tsbuildinfo +1 -1
  279. package/dist/{ui-T22J7MQF.js → ui-CIZHMGKK.js} +1 -1
  280. package/dist/upgrade-AIZVY3E5.js +1 -0
  281. package/dist/version-CNIDTUMV.js +1 -0
  282. package/dist/{version-KWF3XRSN.js → version-JJYR4NOL.js} +1 -1
  283. package/dist/{workerd-RB5ZS43X.js → workerd-JWZNKSHU.js} +1 -1
  284. package/oclif.manifest.json +1 -1
  285. package/package.json +7 -7
  286. package/dist/analytics-32PK45SE.js +0 -1
  287. package/dist/chunk-3NVQXPTU.js +0 -1
  288. package/dist/chunk-4IG7WG6V.js +0 -1
  289. package/dist/chunk-E3FZRPNL.js +0 -1
  290. package/dist/chunk-JLR6X5NA.js +0 -6
  291. package/dist/chunk-MA6QRENS.js +0 -1
  292. package/dist/chunk-PSUNX2YX.js +0 -1
  293. package/dist/chunk-V6UCVTJT.js +0 -7
  294. package/dist/dist-L4A3SGNF.js +0 -1
  295. package/dist/dist-XXCZFNRC.js +0 -1
  296. package/dist/error-handler-3PBXTHYY.js +0 -1
  297. package/dist/notifications-system-HQNQUKLF.js +0 -1
  298. package/dist/os-6HP4QG7V.js +0 -1
  299. package/dist/upgrade-FZ35KTBW.js +0 -1
  300. package/dist/version-LJOGYA5H.js +0 -1
@@ -1,2 +1,2 @@
1
- import{a as V,b as F}from"./chunk-4QBJ5JBX.js";import{h as v}from"./chunk-PSUNX2YX.js";import{Ta as I,ma as _,ua as l}from"./chunk-GYFRTLML.js";import{a as T,c as k,e as $,g as h}from"./chunk-VKWPEFWQ.js";var L=k((z,a)=>{h();var S={};S.__wbindgen_placeholder__=a.exports;var s,{TextEncoder:q,TextDecoder:U}=T("util");function A(e){return e==null}var f=null;function g(){return(f===null||f.buffer.detached===!0||f.buffer.detached===void 0&&f.buffer!==s.memory.buffer)&&(f=new DataView(s.memory.buffer)),f}var w=0,b=null;function p(){return(b===null||b.byteLength===0)&&(b=new Uint8Array(s.memory.buffer)),b}var m=new q("utf-8"),C=typeof m.encodeInto=="function"?function(e,t){return m.encodeInto(e,t)}:function(e,t){let r=m.encode(e);return t.set(r),{read:e.length,written:r.length}};function M(e,t,r){if(r===void 0){let i=m.encode(e),u=t(i.length,1)>>>0;return p().subarray(u,u+i.length).set(i),w=i.length,u}let n=e.length,o=t(n,1)>>>0,d=p(),c=0;for(;c<n;c++){let i=e.charCodeAt(c);if(i>127)break;d[o+c]=i}if(c!==n){c!==0&&(e=e.slice(c)),o=r(o,n,n=c+e.length*3,1)>>>0;let i=p().subarray(o+c,o+n),u=C(e,i);c+=u.written,o=r(o,n,c,1)>>>0}return w=c,o}var j=new U("utf-8",{ignoreBOM:!0,fatal:!0});j.decode();function y(e,t){return e=e>>>0,j.decode(p().subarray(e,e+t))}function D(e){let t=s.__wbindgen_export_0.get(e);return s.__externref_table_dealloc(e),t}a.exports.echoToml=function(e){let t,r;try{let d=M(e,s.__wbindgen_malloc,s.__wbindgen_realloc),c=w,i=s.echoToml(d,c);var n=i[0],o=i[1];if(i[3])throw n=0,o=0,D(i[2]);return t=n,r=o,y(n,o)}finally{s.__wbindgen_free(t,r,1)}};a.exports.updateTomlValues=function(e,t){let r,n;try{let c=M(e,s.__wbindgen_malloc,s.__wbindgen_realloc),i=w,u=s.updateTomlValues(c,i,t);var o=u[0],d=u[1];if(u[3])throw o=0,d=0,D(u[2]);return r=o,n=d,y(o,d)}finally{s.__wbindgen_free(r,n,1)}};a.exports.__wbg_from_2a5d3e218e67aa85=function(e){return Array.from(e)};a.exports.__wbg_get_b9b93047fe3cf45b=function(e,t){return e[t>>>0]};a.exports.__wbg_length_e2d2a49132c1b256=function(e){return e.length};a.exports.__wbindgen_boolean_get=function(e){let t=e;return typeof t=="boolean"?t?1:0:2};a.exports.__wbindgen_init_externref_table=function(){let e=s.__wbindgen_export_0,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)};a.exports.__wbindgen_is_array=function(e){return Array.isArray(e)};a.exports.__wbindgen_is_undefined=function(e){return e===void 0};a.exports.__wbindgen_number_get=function(e,t){let r=t,n=typeof r=="number"?r:void 0;g().setFloat64(e+8,A(n)?0:n,!0),g().setInt32(e+0,!A(n),!0)};a.exports.__wbindgen_string_get=function(e,t){let r=t,n=typeof r=="string"?r:void 0;var o=A(n)?0:M(n,s.__wbindgen_malloc,s.__wbindgen_realloc),d=w;g().setInt32(e+4,d,!0),g().setInt32(e+0,o,!0)};a.exports.__wbindgen_string_new=function(e,t){return y(e,t)};a.exports.__wbindgen_throw=function(e,t){throw new Error(y(e,t))};var N=T("path").join(__dirname,"toml_patch_bg.wasm"),R=T("fs").readFileSync(N),B=new WebAssembly.Module(R),P=new WebAssembly.Instance(B,S);s=P.exports;a.exports.__wasm=s;s.__wbindgen_start()});h();var E=$(L(),1),x=class extends v{path;constructor(t,r){super(r),this.name="TomlFileError",this.path=t}},O=class e{static async read(t){if(!await I(t))throw new x(t,`TOML file not found: ${t}`);let r=await _(t),n=new e(t,{});return n.content=n.decode(r),n}path;content;errors=[];constructor(t,r){this.path=t,this.content=r}async patch(t){let r=W(t),n=await _(this.path),o=(0,E.updateTomlValues)(n,r),d=this.decode(o);await l(this.path,o),this.content=d}async remove(t){let r=t.split("."),n=await _(this.path),o=(0,E.updateTomlValues)(n,[[r,void 0]]),d=this.decode(o);await l(this.path,o),this.content=d}async replace(t){let r=F(t);this.decode(r),await l(this.path,r),this.content=t}async transformRaw(t){let r=await _(this.path),n=t(r),o=this.decode(n);await l(this.path,n),this.content=o}decode(t){try{return V(t)}catch(r){let n=r;if(n.line!==void 0&&n.col!==void 0){let o=String(n.message).split(`
1
+ import{a as V,b as F}from"./chunk-4QBJ5JBX.js";import{h as v}from"./chunk-4EHFK2OI.js";import{Ta as I,ma as _,ua as l}from"./chunk-TNYPQ2UL.js";import{a as T,c as k,e as $,g as h}from"./chunk-VKWPEFWQ.js";var L=k((z,a)=>{h();var S={};S.__wbindgen_placeholder__=a.exports;var s,{TextEncoder:q,TextDecoder:U}=T("util");function A(e){return e==null}var f=null;function g(){return(f===null||f.buffer.detached===!0||f.buffer.detached===void 0&&f.buffer!==s.memory.buffer)&&(f=new DataView(s.memory.buffer)),f}var w=0,b=null;function p(){return(b===null||b.byteLength===0)&&(b=new Uint8Array(s.memory.buffer)),b}var m=new q("utf-8"),C=typeof m.encodeInto=="function"?function(e,t){return m.encodeInto(e,t)}:function(e,t){let r=m.encode(e);return t.set(r),{read:e.length,written:r.length}};function M(e,t,r){if(r===void 0){let i=m.encode(e),u=t(i.length,1)>>>0;return p().subarray(u,u+i.length).set(i),w=i.length,u}let n=e.length,o=t(n,1)>>>0,d=p(),c=0;for(;c<n;c++){let i=e.charCodeAt(c);if(i>127)break;d[o+c]=i}if(c!==n){c!==0&&(e=e.slice(c)),o=r(o,n,n=c+e.length*3,1)>>>0;let i=p().subarray(o+c,o+n),u=C(e,i);c+=u.written,o=r(o,n,c,1)>>>0}return w=c,o}var j=new U("utf-8",{ignoreBOM:!0,fatal:!0});j.decode();function y(e,t){return e=e>>>0,j.decode(p().subarray(e,e+t))}function D(e){let t=s.__wbindgen_export_0.get(e);return s.__externref_table_dealloc(e),t}a.exports.echoToml=function(e){let t,r;try{let d=M(e,s.__wbindgen_malloc,s.__wbindgen_realloc),c=w,i=s.echoToml(d,c);var n=i[0],o=i[1];if(i[3])throw n=0,o=0,D(i[2]);return t=n,r=o,y(n,o)}finally{s.__wbindgen_free(t,r,1)}};a.exports.updateTomlValues=function(e,t){let r,n;try{let c=M(e,s.__wbindgen_malloc,s.__wbindgen_realloc),i=w,u=s.updateTomlValues(c,i,t);var o=u[0],d=u[1];if(u[3])throw o=0,d=0,D(u[2]);return r=o,n=d,y(o,d)}finally{s.__wbindgen_free(r,n,1)}};a.exports.__wbg_from_2a5d3e218e67aa85=function(e){return Array.from(e)};a.exports.__wbg_get_b9b93047fe3cf45b=function(e,t){return e[t>>>0]};a.exports.__wbg_length_e2d2a49132c1b256=function(e){return e.length};a.exports.__wbindgen_boolean_get=function(e){let t=e;return typeof t=="boolean"?t?1:0:2};a.exports.__wbindgen_init_externref_table=function(){let e=s.__wbindgen_export_0,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)};a.exports.__wbindgen_is_array=function(e){return Array.isArray(e)};a.exports.__wbindgen_is_undefined=function(e){return e===void 0};a.exports.__wbindgen_number_get=function(e,t){let r=t,n=typeof r=="number"?r:void 0;g().setFloat64(e+8,A(n)?0:n,!0),g().setInt32(e+0,!A(n),!0)};a.exports.__wbindgen_string_get=function(e,t){let r=t,n=typeof r=="string"?r:void 0;var o=A(n)?0:M(n,s.__wbindgen_malloc,s.__wbindgen_realloc),d=w;g().setInt32(e+4,d,!0),g().setInt32(e+0,o,!0)};a.exports.__wbindgen_string_new=function(e,t){return y(e,t)};a.exports.__wbindgen_throw=function(e,t){throw new Error(y(e,t))};var N=T("path").join(__dirname,"toml_patch_bg.wasm"),R=T("fs").readFileSync(N),B=new WebAssembly.Module(R),P=new WebAssembly.Instance(B,S);s=P.exports;a.exports.__wasm=s;s.__wbindgen_start()});h();var E=$(L()),x=class extends v{path;constructor(t,r){super(r),this.name="TomlFileError",this.path=t}},O=class e{static async read(t){if(!await I(t))throw new x(t,`TOML file not found: ${t}`);let r=await _(t),n=new e(t,{});return n.content=n.decode(r),n}path;content;errors=[];constructor(t,r){this.path=t,this.content=r}async patch(t){let r=W(t),n=await _(this.path),o=(0,E.updateTomlValues)(n,r),d=this.decode(o);await l(this.path,o),this.content=d}async remove(t){let r=t.split("."),n=await _(this.path),o=(0,E.updateTomlValues)(n,[[r,void 0]]),d=this.decode(o);await l(this.path,o),this.content=d}async replace(t){let r=F(t);this.decode(r),await l(this.path,r),this.content=t}async transformRaw(t){let r=await _(this.path),n=t(r),o=this.decode(n);await l(this.path,n),this.content=o}decode(t){try{return V(t)}catch(r){let n=r;if(n.line!==void 0&&n.col!==void 0){let o=String(n.message).split(`
2
2
  `)[0]??"Invalid TOML";throw new x(this.path,`${o} at row ${n.line}, col ${n.col}`)}throw r}}};function W(e,t=[]){return Object.entries(e).flatMap(([r,n])=>{let o=[...t,r];return n!==null&&typeof n=="object"&&!Array.isArray(n)?W(n,o):[[o,n]]})}export{L as a,x as b,O as c};
@@ -1,4 +1,4 @@
1
- import{c as gI,e as nA,f as mI,h as oA,l as y7,n as Bu,s as $5,u as iA,v as lA,w as cA}from"./chunk-Q7BOSHWX.js";import{a as fI}from"./chunk-4QXDDAMD.js";import{a as aA}from"./chunk-YAA7OGRM.js";import{c as tA,e as rA}from"./chunk-JVXKDM2E.js";import{D as tf,E as vI,X as pCe,k as mCe,r as R4}from"./chunk-AINDVTMY.js";import{d as b}from"./chunk-LIH7CQO7.js";import{d as $F}from"./chunk-QMYCJ2TM.js";import{a as jF}from"./chunk-4IG7WG6V.js";import{h as eA}from"./chunk-PSUNX2YX.js";import{Ab as b7}from"./chunk-GYFRTLML.js";import{a as j5,c as m,e as ps,g as o}from"./chunk-VKWPEFWQ.js";var uA=m(Vi=>{"use strict";o();var bCe=b();function sA(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function e1(){}var Gi={d:{f:e1,r:function(){throw Error(sA(522))},D:e1,C:e1,L:e1,m:e1,X:e1,S:e1,M:e1},p:0,findDOMNode:null},yCe=Symbol.for("react.portal");function ICe(e,t,r){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:yCe,key:a==null?null:""+a,children:e,containerInfo:t,implementation:r}}var rf=bCe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function k4(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}Vi.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Gi;Vi.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(sA(299));return ICe(e,t,null,r)};Vi.flushSync=function(e){var t=rf.T,r=Gi.p;try{if(rf.T=null,Gi.p=2,e)return e()}finally{rf.T=t,Gi.p=r,Gi.d.f()}};Vi.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,Gi.d.C(e,t))};Vi.prefetchDNS=function(e){typeof e=="string"&&Gi.d.D(e)};Vi.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var r=t.as,a=k4(r,t.crossOrigin),n=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;r==="style"?Gi.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:n,fetchPriority:i}):r==="script"&&Gi.d.X(e,{crossOrigin:a,integrity:n,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};Vi.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var r=k4(t.as,t.crossOrigin);Gi.d.M(e,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&Gi.d.M(e)};Vi.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var r=t.as,a=k4(r,t.crossOrigin);Gi.d.L(e,r,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};Vi.preloadModule=function(e,t){if(typeof e=="string")if(t){var r=k4(t.as,t.crossOrigin);Gi.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else Gi.d.m(e)};Vi.requestFormReset=function(e){Gi.d.r(e)};Vi.unstable_batchedUpdates=function(e,t){return e(t)};Vi.useFormState=function(e,t,r){return rf.H.useFormState(e,t,r)};Vi.useFormStatus=function(){return rf.H.useHostTransitionStatus()};Vi.version="19.2.4"});var dA=m(Yi=>{"use strict";o();process.env.NODE_ENV!=="production"&&(function(){function e(){}function t(y){return""+y}function r(y,S,E){var w=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;try{t(w);var M=!1}catch{M=!0}return M&&(console.error("The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",typeof Symbol=="function"&&Symbol.toStringTag&&w[Symbol.toStringTag]||w.constructor.name||"Object"),t(w)),{$$typeof:f,key:w==null?null:""+w,children:y,containerInfo:S,implementation:E}}function a(y,S){if(y==="font")return"";if(typeof S=="string")return S==="use-credentials"?S:""}function n(y){return y===null?"`null`":y===void 0?"`undefined`":y===""?"an empty string":'something with type "'+typeof y+'"'}function i(y){return y===null?"`null`":y===void 0?"`undefined`":y===""?"an empty string":typeof y=="string"?JSON.stringify(y):typeof y=="number"?"`"+y+"`":'something with type "'+typeof y+'"'}function u(){var y=I.H;return y===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1
+ import{c as gI,e as nA,f as mI,h as oA,l as y7,n as Bu,s as $5,u as iA,v as lA,w as cA}from"./chunk-Q7BOSHWX.js";import{a as fI}from"./chunk-PERAXNOY.js";import{a as aA}from"./chunk-NKSLEPE2.js";import{c as tA,e as rA}from"./chunk-C2AA5NVP.js";import{D as tf,E as vI,X as pCe,k as mCe,r as R4}from"./chunk-IAURXPUJ.js";import{d as b}from"./chunk-T3IMDY72.js";import{d as $F}from"./chunk-O4ZMMPEP.js";import{a as jF}from"./chunk-RV4UQZ2W.js";import{h as eA}from"./chunk-4EHFK2OI.js";import{Ab as b7}from"./chunk-TNYPQ2UL.js";import{a as j5,c as m,e as ps,g as o}from"./chunk-VKWPEFWQ.js";var uA=m(Vi=>{"use strict";o();var bCe=b();function sA(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function e1(){}var Gi={d:{f:e1,r:function(){throw Error(sA(522))},D:e1,C:e1,L:e1,m:e1,X:e1,S:e1,M:e1},p:0,findDOMNode:null},yCe=Symbol.for("react.portal");function ICe(e,t,r){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:yCe,key:a==null?null:""+a,children:e,containerInfo:t,implementation:r}}var rf=bCe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function k4(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}Vi.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Gi;Vi.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(sA(299));return ICe(e,t,null,r)};Vi.flushSync=function(e){var t=rf.T,r=Gi.p;try{if(rf.T=null,Gi.p=2,e)return e()}finally{rf.T=t,Gi.p=r,Gi.d.f()}};Vi.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,Gi.d.C(e,t))};Vi.prefetchDNS=function(e){typeof e=="string"&&Gi.d.D(e)};Vi.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var r=t.as,a=k4(r,t.crossOrigin),n=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;r==="style"?Gi.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:n,fetchPriority:i}):r==="script"&&Gi.d.X(e,{crossOrigin:a,integrity:n,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};Vi.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var r=k4(t.as,t.crossOrigin);Gi.d.M(e,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&Gi.d.M(e)};Vi.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var r=t.as,a=k4(r,t.crossOrigin);Gi.d.L(e,r,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};Vi.preloadModule=function(e,t){if(typeof e=="string")if(t){var r=k4(t.as,t.crossOrigin);Gi.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else Gi.d.m(e)};Vi.requestFormReset=function(e){Gi.d.r(e)};Vi.unstable_batchedUpdates=function(e,t){return e(t)};Vi.useFormState=function(e,t,r){return rf.H.useFormState(e,t,r)};Vi.useFormStatus=function(){return rf.H.useHostTransitionStatus()};Vi.version="19.2.4"});var dA=m(Yi=>{"use strict";o();process.env.NODE_ENV!=="production"&&(function(){function e(){}function t(y){return""+y}function r(y,S,E){var w=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;try{t(w);var M=!1}catch{M=!0}return M&&(console.error("The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",typeof Symbol=="function"&&Symbol.toStringTag&&w[Symbol.toStringTag]||w.constructor.name||"Object"),t(w)),{$$typeof:f,key:w==null?null:""+w,children:y,containerInfo:S,implementation:E}}function a(y,S){if(y==="font")return"";if(typeof S=="string")return S==="use-credentials"?S:""}function n(y){return y===null?"`null`":y===void 0?"`undefined`":y===""?"an empty string":'something with type "'+typeof y+'"'}function i(y){return y===null?"`null`":y===void 0?"`undefined`":y===""?"an empty string":typeof y=="string"?JSON.stringify(y):typeof y=="number"?"`"+y+"`":'something with type "'+typeof y+'"'}function u(){var y=I.H;return y===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
2
2
  1. You might have mismatching versions of React and the renderer (such as React DOM)
3
3
  2. You might be breaking the Rules of Hooks
4
4
  3. You might have more than one copy of React in the same app
@@ -1 +1 @@
1
- import{a as c}from"./chunk-MA6QRENS.js";import{a as e}from"./chunk-36OXWMXZ.js";import{B as s,xa as p,y as n}from"./chunk-YAA7OGRM.js";import{b as r}from"./chunk-WJEVB67Y.js";import{a as d}from"./chunk-CTNBSUVU.js";import{e as l,g as i}from"./chunk-VKWPEFWQ.js";i();var f=l(d(),1);var{config:F,...u}=e,o=class m extends c{static summary="Activate an app configuration.";static descriptionWithMarkdown="Sets default configuration when you run app-related CLI commands. If you omit the `config-name` parameter, then you'll be prompted to choose from the configuration files in your project.";static description=this.descriptionWithoutMarkdown();static usage="app config use [config] [flags]";static flags={...r,...u};static args={config:f.Args.string({description:"The name of the app configuration. Can be 'shopify.app.staging.toml' or simply 'staging'."})};async run(){let{flags:t,args:a}=await this.parse(m),{app:g}=await p({directory:t.path,userProvidedConfigName:a.config});return await s(t.path),await n({directory:t.path,configName:a.config,reset:t.reset}),{app:g}}};export{o as a};
1
+ import{a as c}from"./chunk-ENEPD4BS.js";import{a as e}from"./chunk-RVEAQUUF.js";import{B as s,xa as p,y as n}from"./chunk-NKSLEPE2.js";import{b as r}from"./chunk-BR5CFKIN.js";import{a as d}from"./chunk-CTNBSUVU.js";import{e as l,g as i}from"./chunk-VKWPEFWQ.js";i();var f=l(d(),1);var{config:F,...u}=e,o=class m extends c{static summary="Activate an app configuration.";static descriptionWithMarkdown="Sets default configuration when you run app-related CLI commands. If you omit the `config-name` parameter, then you'll be prompted to choose from the configuration files in your project.";static description=this.descriptionWithoutMarkdown();static usage="app config use [config] [flags]";static flags={...r,...u};static args={config:f.Args.string({description:"The name of the app configuration. Can be 'shopify.app.staging.toml' or simply 'staging'."})};async run(){let{flags:t,args:a}=await this.parse(m),{app:g}=await p({directory:t.path,userProvidedConfigName:a.config});return await s(t.path),await n({directory:t.path,configName:a.config,reset:t.reset}),{app:g}}};export{o as a};
@@ -1 +1 @@
1
- import{a as p}from"./chunk-VPRDI4TT.js";import{a as r,b as c}from"./chunk-H7IQZNKR.js";import{d as s}from"./chunk-EDHR546O.js";import{a}from"./chunk-3NVQXPTU.js";import{wa as n}from"./chunk-YAA7OGRM.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var e=class d extends a{static hidden=!0;static summary="Reverses app subscription migrations that are still scheduled.";static 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.";static description=this.descriptionWithoutMarkdown();static examples=["<%= config.bin %> <%= command.id %> --input migrations.csv --force","cat migrations.csv | <%= config.bin %> <%= command.id %> --force","<%= config.bin %> <%= command.id %> --input migrations.csv --path ../my-app --config staging --force --json","<%= config.bin %> <%= command.id %> --input migrations.csv --client-id <client-id> --force","<%= config.bin %> <%= command.id %> --input - --force --watch"];static flags={...s};async run(){let{flags:t}=await this.parse(d),{app:m,remoteApp:u}=await n({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),h=await p({action:"unschedule",input:t.input??"-",clientId:u.apiKey,skipConfirmation:t.force,watch:t.watch,...t.watch&&!t.json?{onSubmissionAccepted:r}:{}}),i=c(h,{json:t.json,watch:t.watch});return i!==0&&(process.exitCode=i),{app:m}}};export{e as a};
1
+ import{a as p}from"./chunk-3DXA7B3Y.js";import{a as r,b as c}from"./chunk-XCTRPBWM.js";import{d as s}from"./chunk-BIV3GWMB.js";import{a}from"./chunk-NNCLTG6A.js";import{wa as n}from"./chunk-NKSLEPE2.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var e=class d extends a{static hidden=!0;static summary="Reverses app subscription migrations that are still scheduled.";static 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.";static description=this.descriptionWithoutMarkdown();static examples=["<%= config.bin %> <%= command.id %> --input migrations.csv --force","cat migrations.csv | <%= config.bin %> <%= command.id %> --force","<%= config.bin %> <%= command.id %> --input migrations.csv --path ../my-app --config staging --force --json","<%= config.bin %> <%= command.id %> --input migrations.csv --client-id <client-id> --force","<%= config.bin %> <%= command.id %> --input - --force --watch"];static flags={...s};async run(){let{flags:t}=await this.parse(d),{app:m,remoteApp:u}=await n({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),h=await p({action:"unschedule",input:t.input??"-",clientId:u.apiKey,skipConfirmation:t.force,watch:t.watch,...t.watch&&!t.json?{onSubmissionAccepted:r}:{}}),i=c(h,{json:t.json,watch:t.watch});return i!==0&&(process.exitCode=i),{app:m}}};export{e as a};
@@ -1 +1 @@
1
- import{a as c,b as p,c as d}from"./chunk-H6HILX7D.js";import{a as r}from"./chunk-3NVQXPTU.js";import{a as n}from"./chunk-36OXWMXZ.js";import{wa as s}from"./chunk-YAA7OGRM.js";import{b as a}from"./chunk-WJEVB67Y.js";import{a as y}from"./chunk-CTNBSUVU.js";import{e as g,g as i}from"./chunk-VKWPEFWQ.js";i();var f=g(y(),1);var o=class m extends r{static summary="Fetch the latest GraphQL schema for a function.";static descriptionWithMarkdown="Generates the latest [GraphQL schema](https://shopify.dev/docs/apps/functions/input-output#graphql-schema) for a function in your app. Run this command from the function directory.\n\n This command uses the API type and version of your function, as defined in your extension TOML file, to generate the latest GraphQL schema. The schema is written to the `schema.graphql` file.";static description=this.descriptionWithoutMarkdown();static flags={...a,...n,...p,stdout:f.Flags.boolean({description:"Output the schema to stdout instead of writing to a file.",required:!1,default:!1,env:"SHOPIFY_FLAG_STDOUT"})};async run(){let{flags:t}=await this.parse(m),{app:e,developerPlatformClient:h,organization:u}=await s({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),l=await d(e,t.path);return await c({app:e,extension:l,stdout:t.stdout,developerPlatformClient:h,orgId:u.id}),{app:e}}};export{o as a};
1
+ import{a as c,b as p,c as d}from"./chunk-3U7O3PMX.js";import{a as r}from"./chunk-NNCLTG6A.js";import{a as n}from"./chunk-RVEAQUUF.js";import{wa as s}from"./chunk-NKSLEPE2.js";import{b as a}from"./chunk-BR5CFKIN.js";import{a as y}from"./chunk-CTNBSUVU.js";import{e as g,g as i}from"./chunk-VKWPEFWQ.js";i();var f=g(y(),1);var o=class m extends r{static summary="Fetch the latest GraphQL schema for a function.";static descriptionWithMarkdown="Generates the latest [GraphQL schema](https://shopify.dev/docs/apps/functions/input-output#graphql-schema) for a function in your app. Run this command from the function directory.\n\n This command uses the API type and version of your function, as defined in your extension TOML file, to generate the latest GraphQL schema. The schema is written to the `schema.graphql` file.";static description=this.descriptionWithoutMarkdown();static flags={...a,...n,...p,stdout:f.Flags.boolean({description:"Output the schema to stdout instead of writing to a file.",required:!1,default:!1,env:"SHOPIFY_FLAG_STDOUT"})};async run(){let{flags:t}=await this.parse(m),{app:e,developerPlatformClient:h,organization:u}=await s({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),l=await d(e,t.path);return await c({app:e,extension:l,stdout:t.stdout,developerPlatformClient:h,orgId:u.id}),{app:e}}};export{o as a};
@@ -1,4 +1,4 @@
1
- import{a as U,b as xt}from"./chunk-JLGA3B7P.js";import{a as ht,b as ft,f as Ie,g as ae,h as A,i as ce,k as Et,n as Tt}from"./chunk-GCTCRKET.js";import{a as M,l as gt,m as yt}from"./chunk-ZYEGQSF5.js";import{s as ie,t as W}from"./chunk-7DJNASBC.js";import{a as D,b as O,e as nt,g as rt,i as ot,j as it,k as at,n as ct,p as lt,q as dt,r as oe,s as b,u as ut,w as pt}from"./chunk-Q7BOSHWX.js";import{aa as mt}from"./chunk-NQRSFMS7.js";import{Aa as H,c as Ke,ya as L}from"./chunk-AINDVTMY.js";import{A as I,B as te,C as tt,T as st,y as et}from"./chunk-LIH7CQO7.js";import{h as se}from"./chunk-PSUNX2YX.js";import{Ab as P,Bb as N,O as Xe,Ta as $,Wa as C,Z as $e,bb as ke,ma as k,qb as j,sb as ne,ua as be,wa as Ze,xb as re,ya as Qe}from"./chunk-GYFRTLML.js";import{d as T,g as V,j as Ve,k as q}from"./chunk-773TIA5M.js";import{e as Ye,g as h}from"./chunk-VKWPEFWQ.js";h();h();h();var rs=".shopifyignore",Rt=/templates\/\*(\.(json|liquid))?$/,St=new Set;function Le(e,t={}){let s=t.ignoreFromFile??[],n=t.ignore??[],r=t.only??[],[o=[],i=[]]=_e(s),[a=[],u=[]]=_e(n),[p=[],c=[]]=_e(r),l=e.filter(B(o,".shopifyignore"));return l=l.filter(B(a,"--ignore")),l=l.filter(B(p,"--only",!0)),i.length>0&&(l=l.concat(e.filter(B(i,".shopifyignore",!0)))),u.length>0&&(l=l.concat(e.filter(B(u,"--ignore",!0)))),c.length>0&&(l=l.filter(B(c,"--only"))),Xe(l,x=>x.key)}function B(e,t,s=!1){return({key:n})=>{if(e.length===0)return!0;let r=e.some(i=>os(n,i)||cs(i)&&as(n,ls(i)));return(s?!r:r)?(P(`Ignoring theme file ${n} via ${t}...`),!1):!0}}async function wt(e){let t=T(e,rs);return await $(t)?(await k(t,{encoding:"utf8"})).split(/(\r\n|\r|\n)/).map(r=>r.trim()).filter(r=>r&&!r.startsWith("#")):[]}function _e(e){let t=e.filter(n=>n.startsWith("!")).map(n=>n.slice(1));return[e.filter(n=>!n.startsWith("!")),t]}function os(e,t){let s={matchBase:!0,noglobstar:!0};return ke(e,t,s)?!0:(!t.includes("*")&&t.endsWith("/")&&!St.has(t)&&(St.add(t),I({headline:"Directory pattern may be misleading.",body:`For more reliable matching, consider using "${t}*" or "${t}*.<file_extension>" instead.`})),is(t)?ke(e,t.replace(Rt,"templates/**/*$1"),s):!1)}function is(e){return Rt.test(e)}function as(e,t){return t.test(e)}function cs(e){return e.startsWith("/")&&e.endsWith("/")}function ls(e){return new RegExp(e.slice(1,-1))}h();import Ft from"fs/promises";var le=class{notifyPath;isValidUrl;constructor(t){this.notifyPath=t,this.isValidUrl=this.validateUrl(t),this.notifyPath===""&&N("Notification skipped: notifyPath is an empty string")}async notify(t){if(this.notifyPath!=="")try{P(`Notifying filechange listener at ${this.notifyPath}...`),this.isValidUrl?await this.notifyUrl(t):await this.notifyFile(t)}catch(s){L(s);let n=`Failed to notify filechange listener at ${this.notifyPath}`;s instanceof Error&&(n=n.concat(`: ${s.message}`)),N(n)}}async notifyUrl(t){let s=await fetch(this.notifyPath,{method:"POST",body:JSON.stringify({files:[t]}),headers:{"Content-Type":"application/json"}});if(!s.ok)throw new Error(s.statusText)}async notifyFile(t){await Ft.writeFile(this.notifyPath,t),await Ft.utimes(this.notifyPath,new Date,new Date)}validateUrl(t){try{let s=new URL(t);return s.protocol==="http:"||s.protocol==="https:"}catch{return!1}}};h();h();h();import ds from"node:events";var Pt=["assets/**/*.*","locales/**/*.json","blocks/**/*.liquid","snippets/**/*.liquid"];function vt(e){let t=new Map,s=new Set,n=new ds,r=(c,l)=>{n.emit(c,l)},o=async c=>{let l=await ue(e,c),m=de(c,l),x=typeof l=="string"?l:"",f=Buffer.isBuffer(l)?l.toString("base64"):"";return t.set(c,M({key:c,checksum:m,value:x,attachment:f})),l},i=C(Pt,{cwd:e,deep:3,ignore:W}).then(c=>Promise.all(c.map(o))),a=(c,l)=>{let m=V(e,l),x=o(m).then(()=>{let f=t.get(m);return s.add(f.key),f.value??f.attachment??""});st(5).then(()=>{s.delete(m)}).catch(()=>{}),r(c,{fileKey:m,onContent:f=>{x.then(g=>{g&&f(g)}).catch(()=>{})},onSync:f=>{}})},u=c=>{let l=V(e,c);s.delete(l),t.delete(l),r("unlink",{fileKey:l,onSync:m=>m()})},p=new Set(Pt.map(c=>T(e,c.split("/").shift()??"")));return{root:e,files:t,unsyncedFileKeys:s,ready:async()=>i.then(()=>{}),delete:async c=>{t.delete(c)},write:async c=>{t.set(c.key,c)},read:o,addEventListener:(c,l)=>{n.on(c,l)},startWatcher:async()=>{let{default:c}=await import("./chokidar-5RWEYTNQ.js");c.watch([...p],{ignored:W,persistent:!process.env.SHOPIFY_UNIT_TEST,ignoreInitial:!0}).on("add",a.bind(null,"add")).on("change",a.bind(null,"change")).on("unlink",u.bind(null))}}}h();h();var us="https://unpkg.com/@shopify/polaris@13.9.2/build/esm/styles.css";function $t(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function bt(e){return(0,String.raw)`<!DOCTYPE html>
1
+ import{a as U,b as xt}from"./chunk-JLGA3B7P.js";import{a as ht,b as ft,f as Ie,g as ae,h as A,i as ce,k as Et,n as Tt}from"./chunk-CSNXCRPY.js";import{a as M,l as gt,m as yt}from"./chunk-BR3GYG2H.js";import{s as ie,t as W}from"./chunk-CNDB4VEM.js";import{a as O,b as N,e as nt,g as rt,i as ot,j as it,k as at,n as ct,p as lt,q as dt,r as oe,s as $,u as ut,w as pt}from"./chunk-Q7BOSHWX.js";import{aa as mt}from"./chunk-EWKIFVW3.js";import{Aa as H,c as Ke,ya as L}from"./chunk-IAURXPUJ.js";import{A as I,B as te,C as tt,T as st,y as et}from"./chunk-T3IMDY72.js";import{h as se}from"./chunk-4EHFK2OI.js";import{Ab as F,Bb as D,O as Xe,Ta as P,Wa as C,Z as $e,bb as ke,ma as k,qb as j,sb as ne,ua as be,wa as Ze,xb as re,ya as Qe}from"./chunk-TNYPQ2UL.js";import{d as E,g as V,j as Ve,k as q}from"./chunk-773TIA5M.js";import{e as Ge,g as h}from"./chunk-VKWPEFWQ.js";h();h();h();var rs=".shopifyignore",Rt=/templates\/\*(\.(json|liquid))?$/,St=new Set;function Le(e,t={}){let s=t.ignoreFromFile??[],n=t.ignore??[],r=t.only??[],[o=[],i=[]]=_e(s),[a=[],p=[]]=_e(n),[m=[],c=[]]=_e(r),l=e.filter(B(o,".shopifyignore"));return l=l.filter(B(a,"--ignore")),l=l.filter(B(m,"--only",!0)),i.length>0&&(l=l.concat(e.filter(B(i,".shopifyignore",!0)))),p.length>0&&(l=l.concat(e.filter(B(p,"--ignore",!0)))),c.length>0&&(l=l.filter(B(c,"--only"))),Xe(l,f=>f.key)}function B(e,t,s=!1){return({key:n})=>{if(e.length===0)return!0;let r=e.some(i=>os(n,i)||cs(i)&&as(n,ls(i)));return(s?!r:r)?(F(`Ignoring theme file ${n} via ${t}...`),!1):!0}}async function wt(e){let t=E(e,rs);return await P(t)?(await k(t,{encoding:"utf8"})).split(/(\r\n|\r|\n)/).map(r=>r.trim()).filter(r=>r&&!r.startsWith("#")):[]}function _e(e){let t=e.filter(n=>n.startsWith("!")).map(n=>n.slice(1));return[e.filter(n=>!n.startsWith("!")),t]}function os(e,t){let s={matchBase:!0,noglobstar:!0};return ke(e,t,s)?!0:(!t.includes("*")&&t.endsWith("/")&&!St.has(t)&&(St.add(t),I({headline:"Directory pattern may be misleading.",body:`For more reliable matching, consider using "${t}*" or "${t}*.<file_extension>" instead.`})),is(t)?ke(e,t.replace(Rt,"templates/**/*$1"),s):!1)}function is(e){return Rt.test(e)}function as(e,t){return t.test(e)}function cs(e){return e.startsWith("/")&&e.endsWith("/")}function ls(e){return new RegExp(e.slice(1,-1))}h();import Ft from"fs/promises";var le=class{notifyPath;isValidUrl;constructor(t){this.notifyPath=t,this.isValidUrl=this.validateUrl(t),this.notifyPath===""&&D("Notification skipped: notifyPath is an empty string")}async notify(t){if(this.notifyPath!=="")try{F(`Notifying filechange listener at ${this.notifyPath}...`),this.isValidUrl?await this.notifyUrl(t):await this.notifyFile(t)}catch(s){L(s);let n=`Failed to notify filechange listener at ${this.notifyPath}`;s instanceof Error&&(n=n.concat(`: ${s.message}`)),D(n)}}async notifyUrl(t){let s=await fetch(this.notifyPath,{method:"POST",body:JSON.stringify({files:[t]}),headers:{"Content-Type":"application/json"}});if(!s.ok)throw new Error(s.statusText)}async notifyFile(t){await Ft.writeFile(this.notifyPath,t),await Ft.utimes(this.notifyPath,new Date,new Date)}validateUrl(t){try{let s=new URL(t);return s.protocol==="http:"||s.protocol==="https:"}catch{return!1}}};h();h();h();import ds from"node:events";var Pt=["assets/**/*.*","locales/**/*.json","blocks/**/*.liquid","snippets/**/*.liquid"];function vt(e){let t=new Map,s=new Set,n=new ds,r=(c,l)=>{n.emit(c,l)},o=async c=>{let l=await ue(e,c),u=de(c,l),f=typeof l=="string"?l:"",T=Buffer.isBuffer(l)?l.toString("base64"):"";return t.set(c,M({key:c,checksum:u,value:f,attachment:T})),l},i=C(Pt,{cwd:e,deep:3,ignore:W}).then(c=>Promise.all(c.map(o))),a=(c,l)=>{let u=V(e,l),f=o(u).then(()=>{let T=t.get(u);return s.add(T.key),T.value??T.attachment??""});st(5).then(()=>{s.delete(u)}).catch(()=>{}),r(c,{fileKey:u,onContent:T=>{f.then(v=>{v&&T(v)}).catch(()=>{})},onSync:T=>{}})},p=c=>{let l=V(e,c);s.delete(l),t.delete(l),r("unlink",{fileKey:l,onSync:u=>u()})},m=new Set(Pt.map(c=>E(e,c.split("/").shift()??"")));return{root:e,files:t,unsyncedFileKeys:s,ready:async()=>i.then(()=>{}),delete:async c=>{t.delete(c)},write:async c=>{t.set(c.key,c)},read:o,addEventListener:(c,l)=>{n.on(c,l)},startWatcher:async()=>{let{default:c}=await import("./chokidar-5RWEYTNQ.js");c.watch([...m],{ignored:W,persistent:!process.env.SHOPIFY_UNIT_TEST,ignoreInitial:!0}).on("add",a.bind(null,"add")).on("change",a.bind(null,"change")).on("unlink",p.bind(null))}}}h();h();var us="https://unpkg.com/@shopify/polaris@13.9.2/build/esm/styles.css";function $t(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function bt(e){return(0,String.raw)`<!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
4
  <title>${e.title}</title>
@@ -66,12 +66,12 @@ import{a as U,b as xt}from"./chunk-JLGA3B7P.js";import{a as ht,b as ft,f as Ie,g
66
66
  </div>
67
67
  </div>
68
68
  </body>
69
- </html>`}h();h();var ps=/<head(\s[^>]*)?>/i,qe="https://cdn.shopify.com/storefront",ms=`${qe}/standard-events.js`,hs=`${qe}/standard-events.dev.js`,kt=`${qe}/standard-events-inspector.js`,It="shopify-cli-standard-events-inspector",fs=new RegExp(`<script\\b[^>]*(?:\\bid=["']${je(It)}["']|\\bsrc=["']${je(kt)}["'])[^>]*>`,"i"),gs=new RegExp(je(ms),"g");function pe(e){return fs.test(e)?e:e.replace(ps,t=>`${t}<script id="${It}" src="${kt}" defer></script>`)}function _t(e){return e.replace(gs,hs)}function je(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}h();var Lt=80;function X(e,t,s){if(!ys(e)||s.type==="theme-extension")return;let n=e.path.length>Lt?`${e.path.substring(0,Lt)}...`:e.path,o=t.headers.get("server-timing")?.match(/cfRequestDuration;dur=([\d.]+)/)?.[1],i=o?`${Math.round(Number(o))}ms`:"",a=Es(t.status),u=e.method.padStart(6);re(ne`• ${ie.format(new Date)} Request ${j.raw("\xBB")} ${u} ${a(String(t.status))} ${n} ${j.gray(i)}`)}function ys(e){let t=[z,J,"/checkouts","/payments"],s=[".js",".css",".json",".map"];if(t.some(o=>e.path.startsWith(o)))return!1;let[n]=e.path.split("?"),r=q(n);return!s.includes(r)}function Es(e){return e<300?j.green:e<400?j.yellow:j.errorText}var J="/cdn/",z="/ext/cdn/",Ce="/api/collect",Ts=/^\/cart\//,xs=/^\/cart(\/|\.js|\.json|$)/,Ae=/^\/checkouts\/(?!internal\/)/,jt=/^\/account(\/login\/multipass(\/[^/]+)?|\/logout)?\/?$/,Ss=new RegExp(`^${J}`),Rs=new RegExp(`^${z}`),ws=/^\/api\/(unstable|\d{4}-\d{2})\/graphql\.json/,Fs=["/.well-known","/shopify/monorail","/mini-profiler-resources","/web-pixels-manager","/web-pixels@","/wpm","/services/",Ce,"/cdn-cgi/challenge-platform"],qt="_shopify_essential",Ps=new RegExp(`${qt}=([^;]*)(;|$)`);function Ct(e,t){return b(async s=>{if(Fs.some(n=>s.path.startsWith(n)))return null;if(vs(s)){let n=s.path.split("?")[0]??"";return Ne(s,t).then(async r=>{if(X(s,r,t),r.ok){let o=n.split("/").at(-1)??"";if(t.localThemeFileSystem.files.has(`assets/${o}.liquid`)){let i=Z(await r.text(),t);return new Response(i,r)}}return r}).catch(async r=>{let{status:o,statusText:i,...a}=A(r,`Failed to proxy request to ${n}`);return o>=500&&!n.endsWith(".js.map")&&I(a),new Response(r.message,{status:o,statusText:i})})}})}function vs(e){if(e.method!=="GET"||e.path.match(Ts)||e.path.match(Ae)||e.path.match(jt)||e.path.match(Ss)||e.path.match(Rs))return!0;let[t]=e.path.split("?"),s=q(t),n=e.headers.get("accept")??"*/*";return s===".html"||n.includes("text/html")?!1:!!s||n!=="*/*"}function $s(e){let[t]=e.split("?");return!(xs.test(t)||Ae.test(t)||jt.test(t))}function me(e){return e.session.storeFqdn.replace(/\\/g,"\\\\").replace(/\./g,"\\.")}function bs(e){return ws.test(e.path)}function Z(e,t){let s=e,n=`(data-shs-beacon-endpoint=["'])https://${me(t)}${Ce}`,r=new RegExp(n,"g");s=s.replace(r,`$1${Ce}`);let o=new RegExp(`(https?:)?//${me(t)}${J}`,"g");s=s.replace(o,J);let i=/(?:https?:)?\/\/cdn\.shopify\.com\/(.*?\/(assets\/[^?#"'`>\s]+))/g,a=c=>c.startsWith("assets/"),u=new Set([...t.localThemeFileSystem.files.keys()].filter(a)),p=new Set([...t.localThemeExtensionFileSystem.files.keys()].filter(a));return s=s.replace(i,(c,l,m)=>{let x=m&&u.has(m),f=m&&p.has(m)&&l.startsWith("extensions/");return U(m).startsWith("image/")?c:f?`${z}${l}`:x?`${J}${l}`:c}),t.options.standardEventsDevBundle&&(s=_t(s)),s}function ks(e,t){let s=`http://${t.options.host}:${t.options.port}`,n=new RegExp(`data-base-url=["']((?:https?:)?//${me(t)})[^"']*?["']`,"g");return e.replace(n,(r,o)=>r.replace(o,s))}function Is(e,t){let s=new RegExp(`Domain=${me(t)};\\s*`,"gi");return e.map(n=>n.replace(s,""))}async function Q(e,t,s){let n=Ht(e,t);if(n.status>=300&&n.status<400)return n;t.headers.get("content-type")?.includes("application/json")||n.headers.set("content-type","text/html; charset=utf-8");let i=await n.text();return i=Z(i,e),i=ks(i,e),e.options.standardEventsInspector&&(i=pe(i)),s&&(i=s(i)??i),new Response(i,n)}var At=["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade","expect","content-security-policy","host"];function Ht(e,t){let s=new Response(t.body,t);s.headers.delete("content-length"),s.headers.delete("content-encoding");for(let i of At)s.headers.delete(i);s.headers.delete("access-control-allow-origin"),s.headers.delete("access-control-allow-credentials"),s.headers.delete("access-control-allow-methods"),s.headers.delete("access-control-allow-headers"),s.headers.delete("access-control-expose-headers"),s.headers.delete("access-control-max-age");let n=s.headers.get("Link");n&&s.headers.set("Link",Z(n,e));let r=s.headers.get("Location");if(r){let i=new URL(r,"https://shopify.dev");Ae.test(i.pathname)||(i.searchParams.delete("_fd"),i.searchParams.delete("pb"),s.headers.set("Location",i.href.replace(i.origin,"")))}let o=s.headers.getSetCookie();if(o?.length){s.headers.set("Set-Cookie",Is(o,e).join(","));let i=o.join(",").match(Ps)?.[1];i&&(e.session.sessionCookies[qt]=i)}return s}function He(e){let t=nt(e);for(let n of At)delete t[n];delete t["upgrade-insecure-requests"];let s=rt(e);return s&&(t["X-Forwarded-For"]=s),t}function Ne(e,t){let s=e.path.replace(new RegExp(z,"g"),"/"),n=e.path.startsWith(z)?"cdn.shopify.com":t.session.storeFqdn,r=new URL(s,`https://${n}`);if(r.hostname!==n)return Promise.reject(new Error(`Request failed: Hostname mismatch. Expected host: ${n}. Resulting URL hostname: ${r.hostname}`));let o=ot(e),i=He(e);return bs(e)||(/\/assets\/[^/]+\.(css|js)$/.test(r.pathname)&&/\?\d+$/.test(r.search)&&(r.search=`?v=${Date.now()}`),r.searchParams.set("_fd","0"),r.searchParams.set("pb","0"),i=ft({...i,...ht(),...n===t.session.storeFqdn?t.session.crawlerSignatureHeaders:{},referer:r.origin,Cookie:Et(t.session,{headers:i}),...t.type==="theme"&&$s(e.path)?{Authorization:`Bearer ${t.session.storefrontToken}`}:{}})),fetch(r,{method:e.method,body:o,duplex:o?"half":void 0,redirect:"manual",headers:i}).then(a=>Ht(t,a)).catch(a=>{throw ae(L(a),r)})}var De=0,_s=5;function Dt(e,t){return b(s=>{let[n="/",r=""]=s.path.split("?");return js(s)&&(t.lastRequestedPath=s.path),t.options.errorOverlay!=="silent"&&t.localThemeFileSystem.uploadErrors.size>0?Nt(t,{status:500,statusText:"Internal Server Error"},{title:"Failed to Upload Theme Files",header:"Upload Errors",errors:Array.from(t.localThemeFileSystem.uploadErrors.entries()).map(([i,a])=>({message:i,code:a.join(`
70
- `)}))}):ce(t.session,{method:s.method,path:n,query:[...new URLSearchParams(r)],themeId:String(e.id),sectionId:"",headers:He(s),replaceExtensionTemplates:fe(t),replaceTemplates:Oe(t,n,it(s,"localization")?.toLowerCase())}).then(async i=>{if(i.status>=400&&i.status<500&&!Ls(s)){let a=await qs(s,t,i);if(a)return X(s,a,t),a}return X(s,i,t),Q(t,i,a=>(Cs(i,a,String(e.id)),De=0,We(a,t)))}).catch(async i=>{if(i instanceof he&&(P(`Theme ID mismatch: expected ${i.getExpectedThemeId()} but got ${i.getActualThemeId()}; refreshing session...`),H("theme-service:error-page:theme-id-mismatch"),t.session.refresh)){De++,De>_s&&(tt(new se(i.getMessage())),process.exit(1)),await t.session.refresh();let x=new URLSearchParams(r),f=new URLSearchParams([...x].filter(([Pe])=>!Pe.startsWith("__sfr"))),g=n+(f.toString()?`?${f}`:"");return new Response(null,{status:302,headers:{Location:g}})}let{status:a,statusText:u,cause:p,...c}=A(i,"Failed to render storefront"),[l,...m]=c.headline.split(`
71
- `);return te(c),Nt(t,{status:a,statusText:u},{title:l,header:l,errors:[{message:[...m,p.message].join("<br>"),code:p.stack?.replace(`${p.message}
72
- `,"")??""}]})})})}function Nt(e,t,s){let n=We(bt(s),e);return e.options.standardEventsInspector&&(n=pe(n)),H("theme-service:error-page:rendered"),new Response(n,{...t,headers:t.headers??{"Content-Type":"text/html; charset=utf-8"}})}function Ls(e){let t=new URLSearchParams(e.path.split("?")[1]);return["section_id","sections","app_block_id"].some(s=>t.has(s))}function js(e){return e.headers.get("sec-fetch-mode")==="navigate"}async function qs(e,t,s){P(`Render failed for ${e.path} with ${s.status} (x-request-id: ${s.headers.get("x-request-id")}), trying proxy...`);let n=await Ne(e,t).catch(r=>new Response(null,A(r)));if(n.status<400)return P(`Proxy status: ${n.status}. Returning proxy response.`),t.options.standardEventsInspector&&(n.headers.get("content-type")??"").includes("text/html")?Q(t,n):n;P(`Proxy status: ${n.status}. Returning render error.`)}function Cs(e,t,s){let n=t.match(/Shopify\.theme\s*=\s*{[^}]+?"id":\s*"?(\d+)"?(}|,)/)?.[1];if(n&&n!==s)throw new he(s,n,e)}var he=class extends Error{response;expectedThemeId;actualThemeId;constructor(t,s,n){super([`Theme ID mismatch: expected ${t} but got ${s}.`,`Request ID: ${n.headers.get("x-request-id")}`,`URL: ${n.url}`,"This is likely related to an issue in upstream Shopify APIs.","Please try again in a few minutes and report this issue:","https://community.shopify.dev/c/shopify-cli-libraries/14"].join(`
73
- `)),this.response=n,this.expectedThemeId=t,this.actualThemeId=s}getMessage(){return this.message}getResponse(){return this.response}getExpectedThemeId(){return this.expectedThemeId}getActualThemeId(){return this.actualThemeId}};h();h();function ge(e,t){let s=new RegExp(`{%-?\\s*${t}\\s*-?%}`),n=new RegExp(`{%-?\\s*end${t}\\s*-?%}`),r=s.exec(e);if(!r)return;let o=r.index+r[0].length;n.lastIndex=o;let i=n.exec(e);if(!i)return;let a=i.index;return e.slice(o,a)}h();function ye(e){let{pathname:t,search:s,searchParams:n}=new URL(e.path,"http://e.c");return{pathname:t,search:s,searchParams:n}}var As={stylesheet:new Map,javascript:new Map};function Ot(e,t){return b(async s=>{if(s.method!=="GET")return;if(Os(s,t))return Ws(s,t);let{file:n,fileKey:r,isUnsynced:o}=Ds(s,t);if(!r)return;let i=U(r);if(i.startsWith("image/")&&s.path.includes("&")&&!o)return;if(ct(s,"X-Local-Asset","true"),!n){o&&O(s,D({statusCode:404,statusMessage:"Not found"}));return}let a=n.value?Buffer.from(Z(n.value,t)):Buffer.from(n.attachment??"","base64");return oe(s,{getContents:()=>a,getMeta:()=>({type:i,size:a.length,mtime:n.stats?.mtime})})})}var Hs=/^(?:\/cdn\/(?!extensions\/).*?)?\/assets\/([^?]+)/,Ns=/^(?:\/(?:ext\/)?cdn\/extensions\/.*?)?\/assets\/([^?]+)/;function Ds(e,t){let s=(n,r)=>{let o=e.path.match(n)?.[1];if(o){let i=T("assets",o),a=r.files.get(i),u=r.unsyncedFileKeys.has(i);if(a||u)return{file:a,isUnsynced:u,fileKey:i}}};return s(Hs,t.localThemeFileSystem)??s(Ns,t.localThemeExtensionFileSystem)??{isUnsynced:!1,fileKey:void 0,file:void 0}}function Os(e,t){return t.type==="theme"&&e.path.includes("/compiled_assets")}function Ws(e,t){switch(ye(e).pathname.split("/").at(-1)){case"styles.css":return Ms(t,e);case"block-scripts.js":return Me(t,e,"block");case"snippet-scripts.js":return Me(t,e,"snippet");case"scripts.js":return Me(t,e,"section");case void 0:break;default:break}}function Ms(e,t){let s=Ee(e,"section"),n=Ee(e,"block"),r=Ee(e,"snippet"),o=[`/*** GENERATED LOCALLY ***/
74
- `];for(let[,a]of[...s,...n,...r]){let u=Wt(a,"stylesheet");u&&o.push(u)}let i=o.join(`
69
+ </html>`}h();h();var ps=/<head(\s[^>]*)?>/i,qe="https://cdn.shopify.com/storefront",ms=`${qe}/standard-events.js`,hs=`${qe}/standard-events.dev.js`,kt=`${qe}/standard-events-inspector.js`,It="shopify-cli-standard-events-inspector",fs=new RegExp(`<script\\b[^>]*(?:\\bid=["']${je(It)}["']|\\bsrc=["']${je(kt)}["'])[^>]*>`,"i"),gs=new RegExp(je(ms),"g");function pe(e){return fs.test(e)?e:e.replace(ps,t=>`${t}<script id="${It}" src="${kt}" defer></script>`)}function _t(e){return e.replace(gs,hs)}function je(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}h();var Lt=80;function X(e,t,s){if(!ys(e)||s.type==="theme-extension")return;let n=e.path.length>Lt?`${e.path.substring(0,Lt)}...`:e.path,o=t.headers.get("server-timing")?.match(/cfRequestDuration;dur=([\d.]+)/)?.[1],i=o?`${Math.round(Number(o))}ms`:"",a=Es(t.status),p=e.method.padStart(6);re(ne`• ${ie.format(new Date)} Request ${j.raw("\xBB")} ${p} ${a(String(t.status))} ${n} ${j.gray(i)}`)}function ys(e){let t=[z,J,"/checkouts","/payments"],s=[".js",".css",".json",".map"];if(t.some(o=>e.path.startsWith(o)))return!1;let[n]=e.path.split("?"),r=q(n);return!s.includes(r)}function Es(e){return e<300?j.green:e<400?j.yellow:j.errorText}var J="/cdn/",z="/ext/cdn/",Ce="/api/collect",Ts=/^\/cart\//,xs=/^\/cart(\/|\.js|\.json|$)/,Ae=/^\/checkouts\/(?!internal\/)/,jt=/^\/account(\/login\/multipass(\/[^/]+)?|\/logout)?\/?$/,Ss=new RegExp(`^${J}`),Rs=new RegExp(`^${z}`),ws=/^\/api\/(unstable|\d{4}-\d{2})\/graphql\.json/,Fs=["/.well-known","/shopify/monorail","/mini-profiler-resources","/web-pixels-manager","/web-pixels@","/wpm","/services/",Ce,"/cdn-cgi/challenge-platform"],qt="_shopify_essential",Ps=new RegExp(`${qt}=([^;]*)(;|$)`);function Ct(e,t){return $(async s=>{if(Fs.some(n=>s.path.startsWith(n)))return null;if(vs(s)){let n=s.path.split("?")[0]??"";return De(s,t).then(async r=>{if(X(s,r,t),r.ok){let o=n.split("/").at(-1)??"";if(t.localThemeFileSystem.files.has(`assets/${o}.liquid`)){let i=Z(await r.text(),t);return new Response(i,r)}}return r}).catch(async r=>{let{status:o,statusText:i,...a}=A(r,`Failed to proxy request to ${n}`);return o>=500&&!n.endsWith(".js.map")&&I(a),new Response(r.message,{status:o,statusText:i})})}})}function vs(e){if(e.method!=="GET"||e.path.match(Ts)||e.path.match(Ae)||e.path.match(jt)||e.path.match(Ss)||e.path.match(Rs))return!0;let[t]=e.path.split("?"),s=q(t),n=e.headers.get("accept")??"*/*";return s===".html"||n.includes("text/html")?!1:!!s||n!=="*/*"}function $s(e){let[t]=e.split("?");return!(xs.test(t)||Ae.test(t)||jt.test(t))}function me(e){return e.session.storeFqdn.replace(/\\/g,"\\\\").replace(/\./g,"\\.")}function bs(e){return ws.test(e.path)}function Z(e,t){let s=e,n=`(data-shs-beacon-endpoint=["'])https://${me(t)}${Ce}`,r=new RegExp(n,"g");s=s.replace(r,`$1${Ce}`);let o=new RegExp(`(https?:)?//${me(t)}${J}`,"g");s=s.replace(o,J);let i=/(?:https?:)?\/\/cdn\.shopify\.com\/(.*?\/(assets\/[^?#"'`>\s]+))/g,a=c=>c.startsWith("assets/"),p=new Set([...t.localThemeFileSystem.files.keys()].filter(a)),m=new Set([...t.localThemeExtensionFileSystem.files.keys()].filter(a));return s=s.replace(i,(c,l,u)=>{let f=u&&p.has(u),T=u&&m.has(u)&&l.startsWith("extensions/");return U(u).startsWith("image/")?c:T?`${z}${l}`:f?`${J}${l}`:c}),t.options.standardEventsDevBundle&&(s=_t(s)),s}function ks(e,t){let s=`http://${t.options.host}:${t.options.port}`,n=new RegExp(`data-base-url=["']((?:https?:)?//${me(t)})[^"']*?["']`,"g");return e.replace(n,(r,o)=>r.replace(o,s))}function Is(e,t){let s=new RegExp(`Domain=${me(t)};\\s*`,"gi");return e.map(n=>n.replace(s,""))}async function Q(e,t,s){let n=Ht(e,t);if(n.status>=300&&n.status<400)return n;t.headers.get("content-type")?.includes("application/json")||n.headers.set("content-type","text/html; charset=utf-8");let i=await n.text();return i=Z(i,e),i=ks(i,e),e.options.standardEventsInspector&&(i=pe(i)),s&&(i=s(i)??i),new Response(i,n)}var At=["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade","expect","content-security-policy","host"];function Ht(e,t){let s=new Response(t.body,t);s.headers.delete("content-length"),s.headers.delete("content-encoding");for(let i of At)s.headers.delete(i);s.headers.delete("access-control-allow-origin"),s.headers.delete("access-control-allow-credentials"),s.headers.delete("access-control-allow-methods"),s.headers.delete("access-control-allow-headers"),s.headers.delete("access-control-expose-headers"),s.headers.delete("access-control-max-age");let n=s.headers.get("Link");n&&s.headers.set("Link",Z(n,e));let r=s.headers.get("Location");if(r){let i=new URL(r,"https://shopify.dev");Ae.test(i.pathname)||(i.searchParams.delete("_fd"),i.searchParams.delete("pb"),s.headers.set("Location",i.href.replace(i.origin,"")))}let o=s.headers.getSetCookie();if(o?.length){s.headers.set("Set-Cookie",Is(o,e).join(","));let i=o.join(",").match(Ps)?.[1];i&&(e.session.sessionCookies[qt]=i)}return s}function He(e){let t=nt(e);for(let n of At)delete t[n];delete t["upgrade-insecure-requests"];let s=rt(e);return s&&(t["X-Forwarded-For"]=s),t}function De(e,t){let s=e.path.replace(new RegExp(z,"g"),"/"),n=e.path.startsWith(z)?"cdn.shopify.com":t.session.storeFqdn,r=new URL(s,`https://${n}`);if(r.hostname!==n)return Promise.reject(new Error(`Request failed: Hostname mismatch. Expected host: ${n}. Resulting URL hostname: ${r.hostname}`));let o=ot(e),i=He(e);return bs(e)||(/\/assets\/[^/]+\.(css|js)$/.test(r.pathname)&&/\?\d+$/.test(r.search)&&(r.search=`?v=${Date.now()}`),r.searchParams.set("_fd","0"),r.searchParams.set("pb","0"),i=ft({...i,...ht(),...n===t.session.storeFqdn?t.session.crawlerSignatureHeaders:{},referer:r.origin,Cookie:Et(t.session,{headers:i}),...t.type==="theme"&&$s(e.path)?{Authorization:`Bearer ${t.session.storefrontToken}`}:{}})),fetch(r,{method:e.method,body:o,duplex:o?"half":void 0,redirect:"manual",headers:i}).then(a=>Ht(t,a)).catch(a=>{throw ae(L(a),r)})}var Oe=0,_s=5;function Ot(e,t){return $(s=>{let[n="/",r=""]=s.path.split("?");return js(s)&&(t.lastRequestedPath=s.path),t.options.errorOverlay!=="silent"&&t.localThemeFileSystem.uploadErrors.size>0?Dt(t,{status:500,statusText:"Internal Server Error"},{title:"Failed to Upload Theme Files",header:"Upload Errors",errors:Array.from(t.localThemeFileSystem.uploadErrors.entries()).map(([i,a])=>({message:i,code:a.join(`
70
+ `)}))}):ce(t.session,{method:s.method,path:n,query:[...new URLSearchParams(r)],themeId:String(e.id),sectionId:"",headers:He(s),replaceExtensionTemplates:fe(t),replaceTemplates:Ne(t,n,it(s,"localization")?.toLowerCase())}).then(async i=>{if(i.status>=400&&i.status<500&&!Ls(s)){let a=await qs(s,t,i);if(a)return X(s,a,t),a}return X(s,i,t),Q(t,i,a=>(Cs(i,a,String(e.id)),Oe=0,We(a,t)))}).catch(async i=>{if(i instanceof he&&(F(`Theme ID mismatch: expected ${i.getExpectedThemeId()} but got ${i.getActualThemeId()}; refreshing session...`),H("theme-service:error-page:theme-id-mismatch"),t.session.refresh)){Oe++,Oe>_s&&(tt(new se(i.getMessage())),process.exit(1)),await t.session.refresh();let f=new URLSearchParams(r),T=new URLSearchParams([...f].filter(([Pe])=>!Pe.startsWith("__sfr"))),v=n+(T.toString()?`?${T}`:"");return new Response(null,{status:302,headers:{Location:v}})}let{status:a,statusText:p,cause:m,...c}=A(i,"Failed to render storefront"),[l,...u]=c.headline.split(`
71
+ `);return te(c),Dt(t,{status:a,statusText:p},{title:l,header:l,errors:[{message:[...u,m.message].join("<br>"),code:m.stack?.replace(`${m.message}
72
+ `,"")??""}]})})})}function Dt(e,t,s){let n=We(bt(s),e);return e.options.standardEventsInspector&&(n=pe(n)),H("theme-service:error-page:rendered"),new Response(n,{...t,headers:t.headers??{"Content-Type":"text/html; charset=utf-8"}})}function Ls(e){let t=new URLSearchParams(e.path.split("?")[1]);return["section_id","sections","app_block_id"].some(s=>t.has(s))}function js(e){return e.headers.get("sec-fetch-mode")==="navigate"}async function qs(e,t,s){F(`Render failed for ${e.path} with ${s.status} (x-request-id: ${s.headers.get("x-request-id")}), trying proxy...`);let n=await De(e,t).catch(r=>new Response(null,A(r)));if(n.status<400)return F(`Proxy status: ${n.status}. Returning proxy response.`),t.options.standardEventsInspector&&(n.headers.get("content-type")??"").includes("text/html")?Q(t,n):n;F(`Proxy status: ${n.status}. Returning render error.`)}function Cs(e,t,s){let n=t.match(/Shopify\.theme\s*=\s*{[^}]+?"id":\s*"?(\d+)"?(}|,)/)?.[1];if(n&&n!==s)throw new he(s,n,e)}var he=class extends Error{response;expectedThemeId;actualThemeId;constructor(t,s,n){super([`Theme ID mismatch: expected ${t} but got ${s}.`,`Request ID: ${n.headers.get("x-request-id")}`,`URL: ${n.url}`,"This is likely related to an issue in upstream Shopify APIs.","Please try again in a few minutes and report this issue:","https://community.shopify.dev/c/shopify-cli-libraries/14"].join(`
73
+ `)),this.response=n,this.expectedThemeId=t,this.actualThemeId=s}getMessage(){return this.message}getResponse(){return this.response}getExpectedThemeId(){return this.expectedThemeId}getActualThemeId(){return this.actualThemeId}};h();h();function ge(e,t){let s=new RegExp(`{%-?\\s*${t}\\s*-?%}`),n=new RegExp(`{%-?\\s*end${t}\\s*-?%}`),r=s.exec(e);if(!r)return;let o=r.index+r[0].length;n.lastIndex=o;let i=n.exec(e);if(!i)return;let a=i.index;return e.slice(o,a)}h();function ye(e){let{pathname:t,search:s,searchParams:n}=new URL(e.path,"http://e.c");return{pathname:t,search:s,searchParams:n}}var As={stylesheet:new Map,javascript:new Map};function Nt(e,t){return $(async s=>{if(s.method!=="GET")return;if(Ns(s,t))return Ws(s,t);let{file:n,fileKey:r,isUnsynced:o}=Os(s,t);if(!r)return;let i=U(r);if(i.startsWith("image/")&&s.path.includes("&")&&!o)return;if(ct(s,"X-Local-Asset","true"),!n){o&&N(s,O({statusCode:404,statusMessage:"Not found"}));return}let a=n.value?Buffer.from(Z(n.value,t)):Buffer.from(n.attachment??"","base64");return oe(s,{getContents:()=>a,getMeta:()=>({type:i,size:a.length,mtime:n.stats?.mtime})})})}var Hs=/^(?:\/cdn\/(?!extensions\/).*?)?\/assets\/([^?]+)/,Ds=/^(?:\/(?:ext\/)?cdn\/extensions\/.*?)?\/assets\/([^?]+)/;function Os(e,t){let s=(n,r)=>{let o=e.path.match(n)?.[1];if(o){let i=E("assets",o),a=r.files.get(i),p=r.unsyncedFileKeys.has(i);if(a||p)return{file:a,isUnsynced:p,fileKey:i}}};return s(Hs,t.localThemeFileSystem)??s(Ds,t.localThemeExtensionFileSystem)??{isUnsynced:!1,fileKey:void 0,file:void 0}}function Ns(e,t){return t.type==="theme"&&e.path.includes("/compiled_assets")}function Ws(e,t){switch(ye(e).pathname.split("/").at(-1)){case"styles.css":return Ms(t,e);case"block-scripts.js":return Me(t,e,"block");case"snippet-scripts.js":return Me(t,e,"snippet");case"scripts.js":return Me(t,e,"section");case void 0:break;default:break}}function Ms(e,t){let s=Ee(e,"section"),n=Ee(e,"block"),r=Ee(e,"snippet"),o=[`/*** GENERATED LOCALLY ***/
74
+ `];for(let[,a]of[...s,...n,...r]){let p=Wt(a,"stylesheet");p&&o.push(p)}let i=o.join(`
75
75
  `);return oe(t,{getContents:()=>i,getMeta:()=>({type:"text/css",size:Buffer.byteLength(i),mtime:new Date})})}function Me(e,t,s){let n=Ee(e,s),r=`${s}s`,o=[`
76
76
  /*** GENERATED LOCALLY ***/
77
77
 
@@ -86,9 +86,9 @@ import{a as U,b as xt}from"./chunk-JLGA3B7P.js";import{a as ht,b as ft,f as Ie,g
86
86
  for (var i = 0; i < ${r}.length; i++) {
87
87
  __${r}__[${r}[i]] = true;
88
88
  }
89
- })();`];for(let[a,u]of n){let p=a.split("/").pop()?.replace(".liquid",""),c=Wt(u,"javascript")??"";p&&c&&o.push(`
89
+ })();`];for(let[a,p]of n){let m=a.split("/").pop()?.replace(".liquid",""),c=Wt(p,"javascript")??"";m&&c&&o.push(`
90
90
  (function () {
91
- if (!__${r}__["${p}"] && !Shopify.designMode) return;
91
+ if (!__${r}__["${m}"] && !Shopify.designMode) return;
92
92
  try {
93
93
  ${c}
94
94
  } catch (e) {
@@ -96,8 +96,8 @@ import{a as U,b as xt}from"./chunk-JLGA3B7P.js";import{a as ht,b as ft,f as Ie,g
96
96
  }
97
97
  })();`)}o.push("})();");let i=o.join(`
98
98
  `);return oe(t,{getContents:()=>i,getMeta:()=>({type:"text/javascript",size:Buffer.byteLength(i),mtime:new Date})})}function Ee(e,t){return[...e.localThemeFileSystem.files.entries()].filter(([s])=>s.endsWith(".liquid")&&s.startsWith(`${t}s/`)).sort(([s],[n])=>s.localeCompare(n))}function Wt(e,t){let s=As[t],n=s.get(e.key);if(n?.checksum===e.checksum)return n.content;if(s.delete(e.key),!e.value)return;let r=[`/* ${e.key} */`],o=ge(e.value??"",t)?.trimEnd();if(o&&r.push(o),r.length>1){let i=r.join(`
99
- `);return s.set(e.key,{checksum:e.checksum,content:i}),i}}h();import*as Mt from"node:os";function Us(e,t){let s=new Set,n=`:${t}`,r=e.toLowerCase().trim();if(s.add(`${r}${n}`),["localhost","127.0.0.1","::1","0.0.0.0"].includes(r)&&(s.add(`localhost${n}`),s.add(`127.0.0.1${n}`),s.add(`[::1]${n}`)),r==="0.0.0.0"||r==="::")for(let i of Object.values(Mt.networkInterfaces()))for(let a of i??[]){let u=a.address.toLowerCase().split("%")[0],c=a.family==="IPv6"?`[${u}]`:u;s.add(`${c}${n}`)}return s}function Bs(e){if(e)return e.toLowerCase().replace(/\.(?=:\d|$)/,"")}function Ut(e,t){let s=Us(e,t);return b(n=>{let r=n.node.req.headers.host,o=Bs(r);if(!o||!s.has(o))return O(n,D({statusCode:400,statusMessage:"Bad Request",message:"Invalid Host header"}))})}h();function Bt(){return Jt()}function Cr(){return Jt()}function Jt(){return{root:"",files:new Map,unsyncedFileKeys:new Set,uploadErrors:new Map,ready:()=>Promise.resolve(),delete:async e=>{},read:async e=>"",write:async e=>{},stat:async e=>({mtime:new Date,size:1}),addEventListener:()=>{},startWatcher:async()=>{}}}import{createServer as Js}from"node:http";async function Yr(e,t){let s=await Gs(e,t);return await Ys(e,s),zs(e,s)}function zs(e,t){let s=ut();s.use(Ut(t.options.host,t.options.port)),s.use(zt(e,t)),s.use(Ot(e,t)),s.use(Ct(e,t)),s.use(Dt(e,t));let n=Js(pt(s));return{dispatch:s.handler.bind(s),start:async()=>new Promise(r=>n.listen({port:t.options.port,host:t.options.host},()=>r({close:async()=>{await Promise.all([new Promise(o=>{n.closeAllConnections(),n.close(o)})])}})))}}async function Gs(e,t){let{adminSession:s,storefrontPassword:n,themeExtensionPort:r,themeExtensionDirectory:o,crawlerSignatureHeaders:i}=t,a="127.0.0.1",u=r??9293,p=Bt(),c=vt(o);return await c.ready(),{session:await Tt(e.id.toString(),s,void 0,n,i),localThemeFileSystem:p,localThemeExtensionFileSystem:c,directory:o,type:"theme-extension",lastRequestedPath:"",options:{themeEditorSync:!1,noDelete:!1,ignore:[],only:[],host:a,port:u,liveReload:"hot-reload",standardEventsDevBundle:!1,standardEventsInspector:!1,open:!1,errorOverlay:"default"}}}async function Ys(e,t){let s=t.localThemeExtensionFileSystem,n=({fileKey:r,onContent:o,onSync:i})=>{o(()=>{Te(e,t,i,{type:"update",key:r,payload:{isThemeExtension:!0}})})};return s.addEventListener("add",n),s.addEventListener("change",n),s.ready().then(async()=>s.startWatcher())}function fe(e){let t={},s=e.localThemeExtensionFileSystem;for(let n of s.unsyncedFileKeys){let r=s.files.get(n),o=r?.value??r?.attachment;o&&(t[n]=o)}return t}var Re=Ye(mt(),1);import Vs from"node:events";var Ue=new Map,K=new Map;function Gt(e,t){let s=(0,Re.parseJSON)(t,null,!0);if(!s)return;let n=s?.sections;n&&!e.startsWith("locales/")?K.set(e,Object.entries(n||{}).map(([r,{type:o}])=>[o,r])):K.delete(e)}function Be(e){return!e.startsWith("assets/")&&[".liquid",".json"].includes(q(e))}function Oe(e,t,s){let n={},r=/^templates\/.+\.json$/,o=t?`${T("templates",t.replace(/^\//,"").replace(/\.html$/,"")||"index")}.json`:"",i=!!t&&e.localThemeFileSystem.files.has(o),a=/^locales\/.+\.json$/,u=!!s&&(e.localThemeFileSystem.files.has(`locales/${s}.json`)||e.localThemeFileSystem.files.has(`locales/${s}.default.json`));for(let p of e.localThemeFileSystem.unsyncedFileKeys)if(Be(p)){if(i&&r.test(p)){if(p!==o)continue}else if(a.test(p)){if(u){if(!p.startsWith(`locales/${s}.`))continue}else if(!p.includes(".default."))continue}n[p]=e.localThemeFileSystem.files.get(p)?.value??""}return n}function uo(e,t){let s=({fileKey:r,onContent:o,onSync:i})=>{let a=q(r);o(u=>{!en(r)&&Be(r)&&a===".json"&&Gt(r,u),Te(e,t,i,{type:"update",key:r,payload:Qs(r,t)})})},n=({fileKey:r,onSync:o})=>{K.delete(r),Te(e,t,o,{type:"delete",key:r})};return t.localThemeFileSystem.addEventListener("add",s),t.localThemeFileSystem.addEventListener("change",s),t.localThemeFileSystem.addEventListener("unlink",n),t.localThemeFileSystem.ready().then(async()=>{let r=[...t.localThemeFileSystem.files];return Promise.allSettled(r.map(async([o,i])=>{if(o.endsWith(".json")){let a=i.value??await t.localThemeFileSystem.read(o);a&&typeof a=="string"&&Gt(o,a)}else o.endsWith(".liquid")&&Zt(i)}))})}var Xs="1",Vt=new Vs;function Se(e){Vt.emit("hot-reload",{...e,version:Xs})}function zt(e,t){return b(s=>{let n=s.headers.get("accept")==="text/event-stream",r=ye(s).searchParams;if(n){let o=dt(s);return Vt.on("hot-reload",i=>{o.push(JSON.stringify(i)).catch(a=>{I({headline:"Failed to send HotReload event.",body:a.stack})})}),Se({type:"open",pid:String(process.pid),themeId:String(e.id)}),o.send().then(()=>o.flush())}if(r.has("hr-log")){let o=(0,Re.parseJSON)(r.get("hr-log")??"",null);return o&&(o.headline=`[HotReload] ${o.headline}`,o.type==="error"?te(o):o.type==="warn"?I(o):o.type==="info"?et(o):I({headline:`Unknown HotReload log type: ${o.type}`})),null}if(s.path===Xt)return k(we()).then(o=>at(s,o,"application/javascript")).catch(o=>O(s,D({cause:o})));if(r.has("section_id")||r.has("app_block_id")){let o=r.get("section_key")??"",i=r.get("section_id")??"",a=r.get("app_block_id")??"",u=s.path.split("?")[0]??"",p=new URLSearchParams(r);if(p.delete("section_key"),p.delete("section_id"),p.delete("app_block_id"),p.delete("_fd"),p.delete("pb"),i===""&&a==="")return;let c={};if(i){let l=t.localThemeFileSystem.unsyncedFileKeys;if(l.has(o)){let m=t.localThemeFileSystem.files.get(o)?.value;if(!m)return"";c[o]=m}for(let m of l)if(m.endsWith(".json")){for(let[x,f]of K.get(m)??[])if(i.endsWith(`__${f}`)){let g=t.localThemeFileSystem.files.get(m)?.value;g&&(c[m]=g);continue}}}return ce(t.session,{method:s.method,path:u??"/",query:[...p.entries()],themeId:String(e.id),sectionId:i,appBlockId:a,replaceTemplates:c,headers:lt(s),replaceExtensionTemplates:fe(t)}).then(async l=>{if(!l.ok)throw H("theme-service:hot-reload:section:render-failed"),ae(l);return Q(t,l)}).catch(async l=>{let{status:m,statusText:x,...f}=A(L(l),"Failed to render section on Hot Reload");return H("theme-service:hot-reload:section:render-error"),a||I(f),new Response(null,{status:m,statusText:x})})}})}var ee=(e,t)=>Se({themeId:String(e),type:"full",key:t});function Te(e,t,s,n){let r=()=>ee(e.id,n.key);if(t.options.liveReload==="off")return;if(t.options.liveReload==="full-page"){s(r);return}let o=String(e.id);Se({sync:"local",themeId:o,...n}),s(()=>Se({sync:"remote",themeId:o,...n}),r)}function Zs(e,t){let s=new Set;if(e.endsWith(".json")){let n=t.localThemeFileSystem.files.get(e)?.value;if(n){let r=(0,Re.parseJSON)(n,null,!0)?.sections;for(let o of Object.keys(r??{}))s.add(o)}}else{let n=e.match(/^sections\/(.+)\.liquid$/)?.[1];if(n)for(let[r,o]of K)for(let[i,a]of o)i===n&&s.add(a)}return[...s]}function Qs(e,t){let[s]=e.split("/"),n=t.localThemeFileSystem.files.get(e);return{sectionNames:s==="sections"?Zs(e,t):[],replaceTemplates:Be(e)?Oe(t):{},updatedFileParts:n&&Zt(n)}}var xe="hot-reload-client",Ks="/cdn/shopifycloud/theme-hot-reload/theme-hot-reload.js",Yt=new RegExp(`<script id="${xe}"[^>]*>[^<]*</script>`),Xt="/@shopify/theme-hot-reload";function We(e,t){return t.options.liveReload==="off"?e.replace(Yt,""):process.env.SHOPIFY_CLI_LOCAL_HOT_RELOAD?e.replace(Yt,"").replace(/<\/head>/,`<script id="${xe}" src="${Xt}" defer></script></head>`):e.includes(`<script id="${xe}"`)?e:e.replace(/<\/head>/,`<script id="${xe}" src="${Ks}" defer></script></head>`)}function en(e){return e.startsWith("assets/")}function Zt(e){if(!(["sections/","snippets/","blocks/"].some(c=>e.key.startsWith(c))&&e.key.endsWith(".liquid")))return;let n={stylesheetTag:!1,javascriptTag:!1,schemaTag:!1,liquid:!1},r={checksum:e.checksum,liquid:"",stylesheetTag:"",javascriptTag:"",schemaTag:""},o=Ue.get(e.key);if(o?.checksum===e.checksum||(Ue.delete(e.key),!e.value))return n;let i=["stylesheet","javascript","schema"],a=c=>c?.replace(/\s+/g," ").trim(),u=e.value,p=(c,l)=>{u=u.replace(l,"");let m=a(l),x=`${c}Tag`;n[x]=!o||m!==o[x],r[x]=m};for(let c of i){let l=ge(e.value??"",c);l&&p(c,l)}return u=a(u.replace(/<!--[\s\S]*?-->/g,"").replace(/{%\s*comment\s*%}[\s\S]*?{%\s*endcomment\s*%}/g,"").replace(/{%\s*doc\s*%}[\s\S]*?{%\s*enddoc\s*%}/g,"")),r.liquid=u,n.liquid=!o||u!==o.liquid,Ue.set(e.key,r),n}h();var Qt=Ye(mt(),1);function tn(e){return(e.startsWith("templates/")||e.startsWith("sections/"))&&e.endsWith(".json")}async function Kt(e,t,s){if(tn(s)){let n=T(e,"listings",t,s);if(await $(n))return n}}async function es(e,t){let s=T(e,"config","settings_data.json"),n=await k(s,{encoding:"utf8"}),r=(0,Qt.parseJSON)(n,null,!0);return r?(r.current=$e(t),JSON.stringify(r,null,2)):n}async function Eo(e,t){let s=T(e,"listings"),n=T(s,t);if(await $(n))return;let o=[];await $(s)&&(o=await C("*",{cwd:s,onlyDirectories:!0,deep:1}));let i=o.length>0?`Available presets: ${o.map(a=>`"${$e(a)}"`).join(", ")}`:'No presets found under "listings/"';throw new se(`Listing preset "${t}" was not found. ${i}.`,`Add the preset to config/settings_data.json and its corresponding "listings/${t}" folder, or remove the --listing flag to use the default theme settings.`)}import sn from"node:events";import{fileURLToPath as nn}from"node:url";var rn=250,ts=["AGENTS.md","DESIGN.md","assets/**/*.*","config/**/*.json","config/styles.css","layout/**/*.liquid","locales/**/*.json","sections/**/*.{liquid,json}","blocks/**/*.liquid","snippets/**/*.liquid","templates/**/*.{liquid,json}","templates/customers/**/*.{liquid,json}"],v={documentationFilesRegex:/^(AGENTS|DESIGN)\.md$/,layoutLiquidRegex:/^layout\/.+\.liquid$/,sectionLiquidRegex:/^sections\/.+\.liquid$/,blockLiquidRegex:/^blocks\/.+\.liquid$/,configSchemaRegex:/^config\/settings_schema\.json$/,configDataRegex:/^config\/settings_data\.json$/,configStylesheetRegex:/^config\/styles\.css$/,sectionJsonRegex:/^sections\/.+\.json$/,templateJsonRegex:/^templates\/.+\.json$/,jsonRegex:/^(?!config\/).*\.json$/,contextualizedJsonRegex:/\.context\.[^.]+\.json$/i,staticAssetRegex:/^assets\/(?!.*\.liquid$)/};function Ho(e,t){let s=new Map,n=new Map,r=new Set,o={ignoreFromFile:[],ignore:t?.filters?.ignore??[],only:t?.filters?.only??[]},i=new sn,a=(d,y)=>{i.emit(d,y)},u=t?.notify?new le(t.notify):void 0,p=async d=>{let y=t?.listing?await an(e,d,t.listing):await ue(e,d),E=de(d,y);return s.set(d,M({key:d,checksum:E,value:typeof y=="string"?y:"",attachment:Buffer.isBuffer(y)?y.toString("base64"):""})),y},c=C(ts,{cwd:e,deep:3,ignore:W}).then(d=>Promise.all([wt(e),...d.map(p)])).then(([d])=>{Array.isArray(d)&&o.ignoreFromFile.push(...d)}),l=d=>V(e,d),m=d=>Le([{key:d}],o).length===0;function x(d,y,E,S){if(process.env.SHOPIFY_CLI_LOCAL_HOT_RELOAD&&S===we()){ee(y,S);return}let w=l(S);if(t?.listing&&w.startsWith(`listings/${t.listing}/`)){let R=w.replace(`listings/${t.listing}/`,"");if(R.startsWith("templates/")||R.startsWith("sections/"))w=R;else return}f(w).then(()=>{switch(d){case"add":case"change":return g(d,y,E,w);case"unlink":return Pe(y,E,w,n)}}).catch(R=>{N(`Error handling file event for ${w}: ${R}`)})}function f(d){return u?.notify(d)??Promise.resolve()}let g=(d,y,E,S)=>{if(m(S))return;let w=s.get(S)?.checksum,R=p(S).then(async()=>{let F=s.get(S);if(F)return F.checksum!==w&&r.add(S),{value:F.value||void 0,attachment:F.attachment}}),_=R.then(F=>{if(F)return on(r,n,S,y,E)(F)}).catch(Ie(S,"upload"));a(d,{fileKey:S,onContent:F=>{R.then(G=>{r.has(S)&&F(G?.value??G?.attachment??"")}).catch(()=>{})},onSync:(F,G)=>{_.then(Y=>{Y?F():G?.()}).catch(()=>{})}})},Pe=(d,y,E,S)=>{if(m(E))return;S.delete(E),s.delete(E),r.add(E);let w=t?.noDelete?Promise.resolve():gt(Number(d),[E],y).then(async R=>{if(!R[0]?.success)throw new Error(`Failed to delete file "${E}" from remote theme.`);return r.delete(E),ss("delete",E),!0}).catch(R=>(Ie(E,"delete")(R),!1));a("unlink",{fileKey:E,onSync:R=>{w.then(_=>{_&&R()}).catch(()=>{})}})},ve=new Set(ts.map(d=>T(e,d.split("/").shift()??"")));return t?.listing&&ve.add(T(e,"listings",t.listing)),process.env.SHOPIFY_CLI_LOCAL_HOT_RELOAD&&ve.add(we()),{root:e,files:s,unsyncedFileKeys:r,uploadErrors:n,ready:()=>c,delete:async d=>{s.delete(d),await cn(e,d)},write:async d=>{let y=(d.key.startsWith("templates/")||d.key.startsWith("sections/"))&&d.key.endsWith(".json");if(t?.listing&&y){let E=T("listings",t.listing,d.key),S=T(e,E),w=await $(S);s.set(d.key,M({key:d.key,checksum:d.checksum,value:d.value??"",attachment:d.attachment??""})),w?await Je(e,{...d,key:E}):await Je(e,d);return}s.set(d.key,M({key:d.key,checksum:d.checksum,value:d.value??"",attachment:d.attachment??""})),await Je(e,d)},read:p,applyIgnoreFilters:d=>Le(d,o),addEventListener:(d,y)=>{i.on(d,y)},startWatcher:async(d,y)=>{let{default:E}=await import("./chokidar-5RWEYTNQ.js"),S=E.watch([...ve],{ignored:W,persistent:!process.env.SHOPIFY_UNIT_TEST,ignoreInitial:!0}),w=new Map,R=(_,F)=>{let Y=`${l(F)}:${_}`,Ge=w.get(Y);Ge&&clearTimeout(Ge);let ns=setTimeout(()=>{w.delete(Y),x(_,d,y,F)},rn);w.set(Y,ns)};S.on("add",R.bind(null,"add")).on("change",R.bind(null,"change")).on("unlink",R.bind(null,"unlink")).on("error",_=>{N(`File watcher error: ${_}`),L("theme-service:file-watcher:error")})}}}function on(e,t,s,n,r){return async o=>{if(!e.has(s))return!1;let[i]=await yt(Number(n),[{key:s,...o}],r);if(!i?.success){let a=i?.errors?.asset??["Response was not successful."];throw t.set(s,a),ee(n,s),new Error(a.join(`
100
- `))}return t.delete(s)&&ee(n,s),e.delete(s),ss("update",s),!0}}async function Je(e,{key:t,attachment:s,value:n}){let r=T(e,t);if(await ln(r),s){let o=Buffer.from(s,"base64");await be(r,o,{encoding:"base64"})}else await be(r,n??"")}async function ue(e,t){let s=Fe(t)?{encoding:"utf8"}:{},n=T(e,t);if(!await $(n)){P(`File ${n} can't be read because it doesn't exist...`);return}return k(n,s)}async function an(e,t,s){if(t==="config/settings_data.json")return es(e,s);let n=await Kt(e,s,t);if(n){let r=Fe(t)?{encoding:"utf8"}:{};return k(n,r)}return ue(e,t)}async function cn(e,t){let s=T(e,t);if(!await $(s)){P(`File ${s} can't be removed because it doesn't exist...`);return}await Qe(s)}function No(e){let t=[],s=[],n=[],r=[],o=[],i=[],a=[],u=[],p=[],c=[],l=[],m=[],x=[];return e.forEach(f=>{let g=f.key;v.documentationFilesRegex.test(g)?x.push(f):g.endsWith(".liquid")?v.sectionLiquidRegex.test(g)?t.push(f):v.blockLiquidRegex.test(g)?l.push(f):v.layoutLiquidRegex.test(g)?m.push(f):s.push(f):v.configSchemaRegex.test(g)?a.push(f):v.configDataRegex.test(g)?u.push(f):v.configStylesheetRegex.test(g)?p.push(f):v.jsonRegex.test(g)?v.contextualizedJsonRegex.test(g)?i.push(f):v.sectionJsonRegex.test(g)?n.push(f):v.templateJsonRegex.test(g)?r.push(f):o.push(f):v.staticAssetRegex.test(g)&&c.push(f)}),{sectionLiquidFiles:t,otherLiquidFiles:s,sectionJsonFiles:n,templateJsonFiles:r,contextualizedJsonFiles:i,otherJsonFiles:o,configSchemaFile:a,configDataFile:u,configStylesheetFiles:p,staticAssetFiles:c,blockLiquidFiles:l,layoutFiles:m,documentationFiles:x}}function Fe(e){return xt({liquid:"application/liquid",sass:"text/x-sass",scss:"text/x-scss"}),["application/javascript","application/json","application/liquid","text/css","text/x-sass","text/x-scss","image/svg+xml","text/markdown"].includes(U(e))}async function Do(e){let t=new Set(await C("*",{cwd:e,deep:1,onlyDirectories:!0}));return["config","layout","templates"].every(n=>t.has(n))}async function ln(e){let t=dn(e);await $(t)||await Ze(t)}function dn(e){let t=Ve(e),s=e.lastIndexOf(t);return e.substring(0,s)}function ss(e,t){re(ne`• ${ie.format(new Date)} Synced ${j.raw("\xBB")} ${e} ${t}`)}function we(){let e=process.env.SHOPIFY_CLI_LOCAL_HOT_RELOAD;return!e||e==="true"?T(nn(import.meta.url.split("/cli/")[0]??""),"theme-hot-reload/dist/theme-hot-reload.js"):e}function de(e,t){return t?Buffer.isBuffer(t)?ze(t):hn(e)?un(t):pn(e,t):""}function un(e){let t=e;return t=t.replace(/\r\n/g,`
99
+ `);return s.set(e.key,{checksum:e.checksum,content:i}),i}}h();import*as Mt from"node:os";function Us(e,t){let s=new Set,n=`:${t}`,r=e.toLowerCase().trim();if(s.add(`${r}${n}`),["localhost","127.0.0.1","::1","0.0.0.0"].includes(r)&&(s.add(`localhost${n}`),s.add(`127.0.0.1${n}`),s.add(`[::1]${n}`)),r==="0.0.0.0"||r==="::")for(let i of Object.values(Mt.networkInterfaces()))for(let a of i??[]){let p=a.address.toLowerCase().split("%")[0],c=a.family==="IPv6"?`[${p}]`:p;s.add(`${c}${n}`)}return s}function Bs(e){if(e)return e.toLowerCase().replace(/\.(?=:\d|$)/,"")}function Ut(e,t){let s=Us(e,t);return $(n=>{let r=n.node.req.headers.host,o=Bs(r);if(!o||!s.has(o))return N(n,O({statusCode:400,statusMessage:"Bad Request",message:"Invalid Host header"}))})}h();function Bt(){return Jt()}function Cr(){return Jt()}function Jt(){return{root:"",files:new Map,unsyncedFileKeys:new Set,uploadErrors:new Map,ready:()=>Promise.resolve(),delete:async e=>{},read:async e=>"",write:async e=>{},stat:async e=>({mtime:new Date,size:1}),addEventListener:()=>{},startWatcher:async()=>{}}}import{createServer as Js}from"node:http";async function Gr(e,t){let s=await Ys(e,t);return await Gs(e,s),zs(e,s)}function zs(e,t){let s=ut();s.use(Ut(t.options.host,t.options.port)),s.use(zt(e,t)),s.use(Nt(e,t)),s.use(Ct(e,t)),s.use(Ot(e,t));let n=Js(pt(s));return{dispatch:s.handler.bind(s),start:async()=>new Promise(r=>n.listen({port:t.options.port,host:t.options.host},()=>r({close:async()=>{await Promise.all([new Promise(o=>{n.closeAllConnections(),n.close(o)})])}})))}}async function Ys(e,t){let{adminSession:s,storefrontPassword:n,themeExtensionPort:r,themeExtensionDirectory:o,crawlerSignatureHeaders:i}=t,a="127.0.0.1",p=r??9293,m=Bt(),c=vt(o);return await c.ready(),{session:await Tt(e.id.toString(),s,void 0,n,i),localThemeFileSystem:m,localThemeExtensionFileSystem:c,directory:o,type:"theme-extension",lastRequestedPath:"",options:{themeEditorSync:!1,noDelete:!1,ignore:[],only:[],host:a,port:p,liveReload:"hot-reload",standardEventsDevBundle:!1,standardEventsInspector:!1,open:!1,errorOverlay:"default"}}}async function Gs(e,t){let s=t.localThemeExtensionFileSystem,n=({fileKey:r,onContent:o,onSync:i})=>{o(()=>{Te(e,t,i,{type:"update",key:r,payload:{isThemeExtension:!0}})})};return s.addEventListener("add",n),s.addEventListener("change",n),s.ready().then(async()=>s.startWatcher())}function fe(e){let t={},s=e.localThemeExtensionFileSystem;for(let n of s.unsyncedFileKeys){let r=s.files.get(n),o=r?.value??r?.attachment;o&&(t[n]=o)}return t}var Re=Ge(mt(),1);import Vs from"node:events";var Ue=new Map,K=new Map;function Yt(e,t){let s=(0,Re.parseJSON)(t,null,!0);if(!s)return;let n=s?.sections;n&&!e.startsWith("locales/")?K.set(e,Object.entries(n||{}).map(([r,{type:o}])=>[o,r])):K.delete(e)}function Be(e){return!e.startsWith("assets/")&&[".liquid",".json"].includes(q(e))}function Ne(e,t,s){let n={},r=/^templates\/.+\.json$/,o=t?`${E("templates",t.replace(/^\//,"").replace(/\.html$/,"")||"index")}.json`:"",i=!!t&&e.localThemeFileSystem.files.has(o),a=/^locales\/.+\.json$/,p=!!s&&(e.localThemeFileSystem.files.has(`locales/${s}.json`)||e.localThemeFileSystem.files.has(`locales/${s}.default.json`));for(let m of e.localThemeFileSystem.unsyncedFileKeys)if(Be(m)){if(i&&r.test(m)){if(m!==o)continue}else if(a.test(m)){if(p){if(!m.startsWith(`locales/${s}.`))continue}else if(!m.includes(".default."))continue}n[m]=e.localThemeFileSystem.files.get(m)?.value??""}return n}function uo(e,t){let s=({fileKey:r,onContent:o,onSync:i})=>{let a=q(r);o(p=>{!en(r)&&Be(r)&&a===".json"&&Yt(r,p),Te(e,t,i,{type:"update",key:r,payload:Qs(r,t)})})},n=({fileKey:r,onSync:o})=>{K.delete(r),Te(e,t,o,{type:"delete",key:r})};return t.localThemeFileSystem.addEventListener("add",s),t.localThemeFileSystem.addEventListener("change",s),t.localThemeFileSystem.addEventListener("unlink",n),t.localThemeFileSystem.ready().then(async()=>{let r=[...t.localThemeFileSystem.files];return Promise.allSettled(r.map(async([o,i])=>{if(o.endsWith(".json")){let a=i.value??await t.localThemeFileSystem.read(o);a&&typeof a=="string"&&Yt(o,a)}else o.endsWith(".liquid")&&Zt(i)}))})}var Xs="1",Vt=new Vs;function Se(e){Vt.emit("hot-reload",{...e,version:Xs})}function zt(e,t){return $(s=>{let n=s.headers.get("accept")==="text/event-stream",r=ye(s).searchParams;if(n){let o=dt(s);return Vt.on("hot-reload",i=>{o.push(JSON.stringify(i)).catch(a=>{I({headline:"Failed to send HotReload event.",body:a.stack})})}),Se({type:"open",pid:String(process.pid),themeId:String(e.id)}),o.send().then(()=>o.flush())}if(r.has("hr-log")){let o=(0,Re.parseJSON)(r.get("hr-log")??"",null);return o&&(o.headline=`[HotReload] ${o.headline}`,o.type==="error"?te(o):o.type==="warn"?I(o):o.type==="info"?et(o):I({headline:`Unknown HotReload log type: ${o.type}`})),null}if(s.path===Xt)return k(we()).then(o=>at(s,o,"application/javascript")).catch(o=>N(s,O({cause:o})));if(r.has("section_id")||r.has("app_block_id")){let o=r.get("section_key")??"",i=r.get("section_id")??"",a=r.get("app_block_id")??"",p=s.path.split("?")[0]??"",m=new URLSearchParams(r);if(m.delete("section_key"),m.delete("section_id"),m.delete("app_block_id"),m.delete("_fd"),m.delete("pb"),i===""&&a==="")return;let c={};if(i){let l=t.localThemeFileSystem.unsyncedFileKeys;if(l.has(o)){let u=t.localThemeFileSystem.files.get(o)?.value;if(!u)return"";c[o]=u}for(let u of l)if(u.endsWith(".json")){for(let[f,T]of K.get(u)??[])if(i.endsWith(`__${T}`)){let v=t.localThemeFileSystem.files.get(u)?.value;v&&(c[u]=v);continue}}}return ce(t.session,{method:s.method,path:p??"/",query:[...m.entries()],themeId:String(e.id),sectionId:i,appBlockId:a,replaceTemplates:c,headers:lt(s),replaceExtensionTemplates:fe(t)}).then(async l=>{if(!l.ok)throw H("theme-service:hot-reload:section:render-failed"),ae(l);return Q(t,l)}).catch(async l=>{let{status:u,statusText:f,...T}=A(L(l),"Failed to render section on Hot Reload");return H("theme-service:hot-reload:section:render-error"),a||I(T),new Response(null,{status:u,statusText:f})})}})}var ee=(e,t)=>Se({themeId:String(e),type:"full",key:t});function Te(e,t,s,n){let r=()=>ee(e.id,n.key);if(t.options.liveReload==="off")return;if(t.options.liveReload==="full-page"){s(r);return}let o=String(e.id);Se({sync:"local",themeId:o,...n}),s(()=>Se({sync:"remote",themeId:o,...n}),r)}function Zs(e,t){let s=new Set;if(e.endsWith(".json")){let n=t.localThemeFileSystem.files.get(e)?.value;if(n){let r=(0,Re.parseJSON)(n,null,!0)?.sections;for(let o of Object.keys(r??{}))s.add(o)}}else{let n=e.match(/^sections\/(.+)\.liquid$/)?.[1];if(n)for(let[r,o]of K)for(let[i,a]of o)i===n&&s.add(a)}return[...s]}function Qs(e,t){let[s]=e.split("/"),n=t.localThemeFileSystem.files.get(e);return{sectionNames:s==="sections"?Zs(e,t):[],replaceTemplates:Be(e)?Ne(t):{},updatedFileParts:n&&Zt(n)}}var xe="hot-reload-client",Ks="/cdn/shopifycloud/theme-hot-reload/theme-hot-reload.js",Gt=new RegExp(`<script id="${xe}"[^>]*>[^<]*</script>`),Xt="/@shopify/theme-hot-reload";function We(e,t){return t.options.liveReload==="off"?e.replace(Gt,""):process.env.SHOPIFY_CLI_LOCAL_HOT_RELOAD?e.replace(Gt,"").replace(/<\/head>/,`<script id="${xe}" src="${Xt}" defer></script></head>`):e.includes(`<script id="${xe}"`)?e:e.replace(/<\/head>/,`<script id="${xe}" src="${Ks}" defer></script></head>`)}function en(e){return e.startsWith("assets/")}function Zt(e){if(!(["sections/","snippets/","blocks/"].some(c=>e.key.startsWith(c))&&e.key.endsWith(".liquid")))return;let n={stylesheetTag:!1,javascriptTag:!1,schemaTag:!1,liquid:!1},r={checksum:e.checksum,liquid:"",stylesheetTag:"",javascriptTag:"",schemaTag:""},o=Ue.get(e.key);if(o?.checksum===e.checksum||(Ue.delete(e.key),!e.value))return n;let i=["stylesheet","javascript","schema"],a=c=>c?.replace(/\s+/g," ").trim(),p=e.value,m=(c,l)=>{p=p.replace(l,"");let u=a(l),f=`${c}Tag`;n[f]=!o||u!==o[f],r[f]=u};for(let c of i){let l=ge(e.value??"",c);l&&m(c,l)}return p=a(p.replace(/<!--[\s\S]*?-->/g,"").replace(/{%\s*comment\s*%}[\s\S]*?{%\s*endcomment\s*%}/g,"").replace(/{%\s*doc\s*%}[\s\S]*?{%\s*enddoc\s*%}/g,"")),r.liquid=p,n.liquid=!o||p!==o.liquid,Ue.set(e.key,r),n}h();var Qt=Ge(mt(),1);function tn(e){return(e.startsWith("templates/")||e.startsWith("sections/"))&&e.endsWith(".json")}async function Kt(e,t,s){if(tn(s)){let n=E(e,"listings",t,s);if(await P(n))return n}}async function es(e,t){let s=E(e,"config","settings_data.json"),n=await k(s,{encoding:"utf8"}),r=(0,Qt.parseJSON)(n,null,!0);return r?(r.current=$e(t),JSON.stringify(r,null,2)):n}async function Eo(e,t){let s=E(e,"listings"),n=E(s,t);if(await P(n))return;let o=[];await P(s)&&(o=await C("*",{cwd:s,onlyDirectories:!0,deep:1}));let i=o.length>0?`Available presets: ${o.map(a=>`"${$e(a)}"`).join(", ")}`:'No presets found under "listings/"';throw new se(`Listing preset "${t}" was not found. ${i}.`,`Add the preset to config/settings_data.json and its corresponding "listings/${t}" folder, or remove the --listing flag to use the default theme settings.`)}import sn from"node:events";import{fileURLToPath as nn}from"node:url";var rn=250,ts=["assets/**/*.*","config/**/*.json","layout/**/*.liquid","locales/**/*.json","sections/**/*.{liquid,json}","blocks/**/*.liquid","snippets/**/*.liquid","templates/**/*.{liquid,json}","templates/customers/**/*.{liquid,json}"],b={layoutLiquidRegex:/^layout\/.+\.liquid$/,sectionLiquidRegex:/^sections\/.+\.liquid$/,blockLiquidRegex:/^blocks\/.+\.liquid$/,configSchemaRegex:/^config\/settings_schema\.json$/,configDataRegex:/^config\/settings_data\.json$/,sectionJsonRegex:/^sections\/.+\.json$/,templateJsonRegex:/^templates\/.+\.json$/,jsonRegex:/^(?!config\/).*\.json$/,contextualizedJsonRegex:/\.context\.[^.]+\.json$/i,staticAssetRegex:/^assets\/(?!.*\.liquid$)/};function Ho(e,t){let s=new Map,n=new Map,r=new Set,o={ignoreFromFile:[],ignore:t?.filters?.ignore??[],only:t?.filters?.only??[]},i=new sn,a=(d,g)=>{i.emit(d,g)},p=t?.notify?new le(t.notify):void 0,m=async d=>{let g=t?.listing?await an(e,d,t.listing):await ue(e,d),y=de(d,g);return s.set(d,M({key:d,checksum:y,value:typeof g=="string"?g:"",attachment:Buffer.isBuffer(g)?g.toString("base64"):""})),g},c=C(ts,{cwd:e,deep:3,ignore:W}).then(d=>Promise.all([wt(e),...d.map(m)])).then(([d])=>{Array.isArray(d)&&o.ignoreFromFile.push(...d)}),l=d=>V(e,d),u=d=>Le([{key:d}],o).length===0;function f(d,g,y,x){if(process.env.SHOPIFY_CLI_LOCAL_HOT_RELOAD&&x===we()){ee(g,x);return}let R=l(x);if(t?.listing&&R.startsWith(`listings/${t.listing}/`)){let S=R.replace(`listings/${t.listing}/`,"");if(S.startsWith("templates/")||S.startsWith("sections/"))R=S;else return}T(R).then(()=>{switch(d){case"add":case"change":return v(d,g,y,R);case"unlink":return Pe(g,y,R,n)}}).catch(S=>{D(`Error handling file event for ${R}: ${S}`)})}function T(d){return p?.notify(d)??Promise.resolve()}let v=(d,g,y,x)=>{if(u(x))return;let R=s.get(x)?.checksum,S=m(x).then(async()=>{let w=s.get(x);if(w)return w.checksum!==R&&r.add(x),{value:w.value||void 0,attachment:w.attachment}}),_=S.then(w=>{if(w)return on(r,n,x,g,y)(w)}).catch(Ie(x,"upload"));a(d,{fileKey:x,onContent:w=>{S.then(Y=>{r.has(x)&&w(Y?.value??Y?.attachment??"")}).catch(()=>{})},onSync:(w,Y)=>{_.then(G=>{G?w():Y?.()}).catch(()=>{})}})},Pe=(d,g,y,x)=>{if(u(y))return;x.delete(y),s.delete(y),r.add(y);let R=t?.noDelete?Promise.resolve():gt(Number(d),[y],g).then(async S=>{if(!S[0]?.success)throw new Error(`Failed to delete file "${y}" from remote theme.`);return r.delete(y),ss("delete",y),!0}).catch(S=>(Ie(y,"delete")(S),!1));a("unlink",{fileKey:y,onSync:S=>{R.then(_=>{_&&S()}).catch(()=>{})}})},ve=new Set(ts.map(d=>E(e,d.split("/").shift()??"")));return t?.listing&&ve.add(E(e,"listings",t.listing)),process.env.SHOPIFY_CLI_LOCAL_HOT_RELOAD&&ve.add(we()),{root:e,files:s,unsyncedFileKeys:r,uploadErrors:n,ready:()=>c,delete:async d=>{s.delete(d),await cn(e,d)},write:async d=>{let g=(d.key.startsWith("templates/")||d.key.startsWith("sections/"))&&d.key.endsWith(".json");if(t?.listing&&g){let y=E("listings",t.listing,d.key),x=E(e,y),R=await P(x);s.set(d.key,M({key:d.key,checksum:d.checksum,value:d.value??"",attachment:d.attachment??""})),R?await Je(e,{...d,key:y}):await Je(e,d);return}s.set(d.key,M({key:d.key,checksum:d.checksum,value:d.value??"",attachment:d.attachment??""})),await Je(e,d)},read:m,applyIgnoreFilters:d=>Le(d,o),addEventListener:(d,g)=>{i.on(d,g)},startWatcher:async(d,g)=>{let{default:y}=await import("./chokidar-5RWEYTNQ.js"),x=y.watch([...ve],{ignored:W,persistent:!process.env.SHOPIFY_UNIT_TEST,ignoreInitial:!0}),R=new Map,S=(_,w)=>{let G=`${l(w)}:${_}`,Ye=R.get(G);Ye&&clearTimeout(Ye);let ns=setTimeout(()=>{R.delete(G),f(_,d,g,w)},rn);R.set(G,ns)};x.on("add",S.bind(null,"add")).on("change",S.bind(null,"change")).on("unlink",S.bind(null,"unlink")).on("error",_=>{D(`File watcher error: ${_}`),L("theme-service:file-watcher:error")})}}}function on(e,t,s,n,r){return async o=>{if(!e.has(s))return!1;let[i]=await yt(Number(n),[{key:s,...o}],r);if(!i?.success){let a=i?.errors?.asset??["Response was not successful."];throw t.set(s,a),ee(n,s),new Error(a.join(`
100
+ `))}return t.delete(s)&&ee(n,s),e.delete(s),ss("update",s),!0}}async function Je(e,{key:t,attachment:s,value:n}){let r=E(e,t);if(await ln(r),s){let o=Buffer.from(s,"base64");await be(r,o,{encoding:"base64"})}else await be(r,n??"")}async function ue(e,t){let s=Fe(t)?{encoding:"utf8"}:{},n=E(e,t);if(!await P(n)){F(`File ${n} can't be read because it doesn't exist...`);return}return k(n,s)}async function an(e,t,s){if(t==="config/settings_data.json")return es(e,s);let n=await Kt(e,s,t);if(n){let r=Fe(t)?{encoding:"utf8"}:{};return k(n,r)}return ue(e,t)}async function cn(e,t){let s=E(e,t);if(!await P(s)){F(`File ${s} can't be removed because it doesn't exist...`);return}await Qe(s)}function Do(e){let t=[],s=[],n=[],r=[],o=[],i=[],a=[],p=[],m=[],c=[],l=[];return e.forEach(u=>{let f=u.key;f.endsWith(".liquid")?b.sectionLiquidRegex.test(f)?t.push(u):b.blockLiquidRegex.test(f)?c.push(u):b.layoutLiquidRegex.test(f)?l.push(u):s.push(u):b.configSchemaRegex.test(f)?a.push(u):b.configDataRegex.test(f)?p.push(u):b.jsonRegex.test(f)?b.contextualizedJsonRegex.test(f)?i.push(u):b.sectionJsonRegex.test(f)?n.push(u):b.templateJsonRegex.test(f)?r.push(u):o.push(u):b.staticAssetRegex.test(f)&&m.push(u)}),{sectionLiquidFiles:t,otherLiquidFiles:s,sectionJsonFiles:n,templateJsonFiles:r,contextualizedJsonFiles:i,otherJsonFiles:o,configSchemaFile:a,configDataFile:p,staticAssetFiles:m,blockLiquidFiles:c,layoutFiles:l}}function Fe(e){return xt({liquid:"application/liquid",sass:"text/x-sass",scss:"text/x-scss"}),["application/javascript","application/json","application/liquid","text/css","text/x-sass","text/x-scss","image/svg+xml"].includes(U(e))}async function Oo(e){let t=new Set(await C("*",{cwd:e,deep:1,onlyDirectories:!0}));return["config","layout","templates"].every(n=>t.has(n))}async function ln(e){let t=dn(e);await P(t)||await Ze(t)}function dn(e){let t=Ve(e),s=e.lastIndexOf(t);return e.substring(0,s)}function ss(e,t){re(ne`• ${ie.format(new Date)} Synced ${j.raw("\xBB")} ${e} ${t}`)}function we(){let e=process.env.SHOPIFY_CLI_LOCAL_HOT_RELOAD;return!e||e==="true"?E(nn(import.meta.url.split("/cli/")[0]??""),"theme-hot-reload/dist/theme-hot-reload.js"):e}function de(e,t){return t?Buffer.isBuffer(t)?ze(t):hn(e)?un(t):pn(e,t):""}function un(e){let t=e;return t=t.replace(/\r\n/g,`
101
101
  `),t=t.replace(/\/\*[\s\S]*?\*\//,""),t=mn(t),ze(t)}function pn(e,t){let s=t;return Fe(e)&&(s=s.replace(/\r\n/g,`
102
102
  `)),ze(s)}function mn(e){let t=!1,s=!1,n="";for(let r of e)r==='"'&&!s&&(t=!t),!(!t&&(r===" "||r===`
103
- `))&&(n+=r,s=r==="\\"&&!s);return n}function ze(e){let t=Buffer.isBuffer(e)?e:Buffer.from(e);return Ke(t)}function Bo(e){let t=new Set(e.filter(({key:s})=>s.startsWith("assets/")&&s.endsWith(".liquid")).map(({key:s})=>s));return e.filter(({key:s})=>s.startsWith("assets/")?!t.has(`${s}.liquid`):!0)}function hn(e){return e.endsWith("/settings_data.json")}export{Bo as a,Ct as b,Dt as c,Ot as d,Ut as e,Cr as f,Yr as g,uo as h,zt as i,ee as j,Eo as k,Ho as l,No as m,Do as n};
103
+ `))&&(n+=r,s=r==="\\"&&!s);return n}function ze(e){let t=Buffer.isBuffer(e)?e:Buffer.from(e);return Ke(t)}function Bo(e){let t=new Set(e.filter(({key:s})=>s.startsWith("assets/")&&s.endsWith(".liquid")).map(({key:s})=>s));return e.filter(({key:s})=>s.startsWith("assets/")?!t.has(`${s}.liquid`):!0)}function hn(e){return e.endsWith("/settings_data.json")}export{Bo as a,Ct as b,Ot as c,Nt as d,Ut as e,Cr as f,Gr as g,uo as h,zt as i,ee as j,Eo as k,Ho as l,Do as m,Oo as n};
@@ -1,3 +1,3 @@
1
- import{a as L,b as g,d as P,g as w}from"./chunk-33PLVLCE.js";import{a as A}from"./chunk-PGBXHL2G.js";import{t as F}from"./chunk-RNFZJQVV.js";import{a as G}from"./chunk-3NVQXPTU.js";import{a as S}from"./chunk-36OXWMXZ.js";import{b as v,e as b}from"./chunk-WJEVB67Y.js";import{D as d,y as l}from"./chunk-AINDVTMY.js";import{N as u,a as c}from"./chunk-LIH7CQO7.js";import{a as q}from"./chunk-CTNBSUVU.js";import{Bb as y,qb as f,sb as h,xb as i}from"./chunk-GYFRTLML.js";import{e as Q,g as o}from"./chunk-VKWPEFWQ.js";o();o();o();import{randomBytes as x}from"crypto";function K(){return x(32).toString("hex")}function C(r){let e=new URL(`http://localhost:${r.port}/graphiql`);return e.searchParams.set("key",r.key),r.query&&e.searchParams.set("query",r.query),r.variables&&e.searchParams.set("variables",r.variables),r.apiVersion&&e.searchParams.set("api_version",r.apiVersion),e.toString()}async function k(r){let e=await A(r.port),t=g({stdout:r.stdout??process.stdout,port:e,storeFqdn:r.storeFqdn,tokenProvider:r.tokenProvider,key:r.key,appContext:r.appContext,protectMutations:r.protectMutations}),a=C({port:e,key:r.key,query:r.query,variables:r.variables,apiVersion:r.apiVersion});try{i(h`GraphiQL is running at ${f.link(a)}`),r.additionalReadyMessages?.forEach(s=>i(s)),i("Press Ctrl+C to stop."),await u(a)||y("Browser did not open automatically. Open the URL above manually."),await T(r.abortSignal)}finally{t.close()}}async function T(r){let e=new c,t=()=>e.abort();process.once("SIGINT",t);try{await new Promise(a=>{if(e.signal.aborted||r?.aborted){a();return}e.signal.addEventListener("abort",()=>a(),{once:!0}),r?.addEventListener("abort",()=>e.abort(),{once:!0})})}finally{process.removeListener("SIGINT",t)}}async function I(r){let e=r.remoteApp.apiSecretKeys[0]?.secret??"",t=L(void 0,e,r.store),a=w({apiKey:r.remoteApp.apiKey,apiSecret:e,storeFqdn:r.store}),m=await l(),s=P(r.store,r.remoteApp.apiKey,m);await k({port:r.port,storeFqdn:r.store,tokenProvider:a,key:t,appContext:{appName:r.remoteApp.title,appUrl:s,apiSecret:e},variables:r.variables,apiVersion:r.apiVersion,abortSignal:r.abortSignal})}var n=Q(q(),1),p=class r extends G{static summary="Open a local GraphiQL UI for your app and store.";static descriptionWithMarkdown=`Opens an authenticated Admin API GraphiQL UI for your app and selected store.
1
+ import{a as L,b as g,d as P,g as w}from"./chunk-JGSHB34D.js";import{a as A}from"./chunk-GK23CIPB.js";import{t as F}from"./chunk-BV4K7JX5.js";import{a as G}from"./chunk-NNCLTG6A.js";import{a as S}from"./chunk-RVEAQUUF.js";import{b as v,e as b}from"./chunk-BR5CFKIN.js";import{D as d,y as l}from"./chunk-IAURXPUJ.js";import{N as u,a as c}from"./chunk-T3IMDY72.js";import{a as q}from"./chunk-CTNBSUVU.js";import{Bb as y,qb as f,sb as h,xb as i}from"./chunk-TNYPQ2UL.js";import{e as Q,g as o}from"./chunk-VKWPEFWQ.js";o();o();o();import{randomBytes as x}from"crypto";function K(){return x(32).toString("hex")}function C(r){let e=new URL(`http://localhost:${r.port}/graphiql`);return e.searchParams.set("key",r.key),r.query&&e.searchParams.set("query",r.query),r.variables&&e.searchParams.set("variables",r.variables),r.apiVersion&&e.searchParams.set("api_version",r.apiVersion),e.toString()}async function k(r){let e=await A(r.port),t=g({stdout:r.stdout??process.stdout,port:e,storeFqdn:r.storeFqdn,tokenProvider:r.tokenProvider,key:r.key,appContext:r.appContext,protectMutations:r.protectMutations}),a=C({port:e,key:r.key,query:r.query,variables:r.variables,apiVersion:r.apiVersion});try{i(h`GraphiQL is running at ${f.link(a)}`),r.additionalReadyMessages?.forEach(s=>i(s)),i("Press Ctrl+C to stop."),await u(a)||y("Browser did not open automatically. Open the URL above manually."),await T(r.abortSignal)}finally{t.close()}}async function T(r){let e=new c,t=()=>e.abort();process.once("SIGINT",t);try{await new Promise(a=>{if(e.signal.aborted||r?.aborted){a();return}e.signal.addEventListener("abort",()=>a(),{once:!0}),r?.addEventListener("abort",()=>e.abort(),{once:!0})})}finally{process.removeListener("SIGINT",t)}}async function I(r){let e=r.remoteApp.apiSecretKeys[0]?.secret??"",t=L(void 0,e,r.store),a=w({apiKey:r.remoteApp.apiKey,apiSecret:e,storeFqdn:r.store}),m=await l(),s=P(r.store,r.remoteApp.apiKey,m);await k({port:r.port,storeFqdn:r.store,tokenProvider:a,key:t,appContext:{appName:r.remoteApp.title,appUrl:s,apiSecret:e},variables:r.variables,apiVersion:r.apiVersion,abortSignal:r.abortSignal})}var n=Q(q(),1),p=class r extends G{static summary="Open a local GraphiQL UI for your app and store.";static descriptionWithMarkdown=`Opens an authenticated Admin API GraphiQL UI for your app and selected store.
2
2
 
3
3
  The app must be installed on the store.`;static description=this.descriptionWithoutMarkdown();static examples=["<%= config.bin %> <%= command.id %> --store shop.myshopify.com","<%= config.bin %> <%= command.id %> --store shop.myshopify.com --port 9123"];static flags={...v,...S,store:n.Flags.string({char:"s",description:"The myshopify.com domain of the store to open GraphiQL against. The app must be installed on the store. If not specified, you will be prompted to select a store.",env:"SHOPIFY_FLAG_STORE",parse:async e=>d(e)}),port:b({description:"Local port for the GraphiQL server.",env:"SHOPIFY_FLAG_PORT"}),variables:n.Flags.string({char:"v",description:"The values for any GraphQL variables in your query or mutation, in JSON format.",env:"SHOPIFY_FLAG_VARIABLES"}),version:n.Flags.string({description:"The API version to use in GraphiQL. Defaults to the latest stable version.",env:"SHOPIFY_FLAG_VERSION"})};async run(){let{flags:e}=await this.parse(r),{appContextResult:t,store:a}=await F(e);return await I({remoteApp:t.remoteApp,store:a.shopDomain,port:e.port,variables:e.variables,apiVersion:e.version}),{app:t.app}}};export{K as a,k as b,p as c};
@@ -1 +1 @@
1
- import{O as i}from"./chunk-LIH7CQO7.js";import{a as l}from"./chunk-7UNQOKZW.js";import{a as p}from"./chunk-CX5CC6P5.js";import{e as u,g as a}from"./chunk-VKWPEFWQ.js";a();var f=u(l(),1),o=u(p(),1);async function h(t){try{return(await i("npm",["list","@shopify/cli"],{cwd:t})).match(/@shopify\/cli@([\w.-]*)/)?.[1]}catch{return}}async function d(){try{let t={...process.env,SHOPIFY_CLI_NO_ANALYTICS:"1"},e=f.default.sync("shopify",{all:!0}).filter(r=>!r.includes("node_modules"));if(!e[0])return;let n=(await i(e[0],[],{env:t})).match(/@shopify\/cli\/([^\s]+)/);if(n&&n[1]){let r=n[1];if((0,o.satisfies)(r,">=3.59.0")||s(r))return r}return}catch{return}}function s(t){return t.startsWith("0.0.0")}function y(t,e){if(s(t)||s(e))return!1;let c=new o.SemVer(t),n=new o.SemVer(e);return c.major!==n.major}export{h as a,d as b,s as c,y as d};
1
+ import{O as i}from"./chunk-T3IMDY72.js";import{a as l}from"./chunk-7UNQOKZW.js";import{a as p}from"./chunk-CX5CC6P5.js";import{e as u,g as a}from"./chunk-VKWPEFWQ.js";a();var f=u(l(),1),o=u(p(),1);async function h(t){try{return(await i("npm",["list","@shopify/cli"],{cwd:t})).match(/@shopify\/cli@([\w.-]*)/)?.[1]}catch{return}}async function d(){try{let t={...process.env,SHOPIFY_CLI_NO_ANALYTICS:"1"},e=f.default.sync("shopify",{all:!0}).filter(r=>!r.includes("node_modules"));if(!e[0])return;let n=(await i(e[0],[],{env:t})).match(/@shopify\/cli\/([^\s]+)/);if(n&&n[1]){let r=n[1];if((0,o.satisfies)(r,">=3.59.0")||s(r))return r}return}catch{return}}function s(t){return t.startsWith("0.0.0")}function y(t,e){if(s(t)||s(e))return!1;let c=new o.SemVer(t),n=new o.SemVer(e);return c.major!==n.major}export{h as a,d as b,s as c,y as d};
@@ -1,2 +1,2 @@
1
- import{b as x,c as D,f as M}from"./chunk-ZJ6DWT36.js";import{d as w}from"./chunk-AINDVTMY.js";import{D as s,G as h,J as e,z as y}from"./chunk-LIH7CQO7.js";import{a as o}from"./chunk-4IG7WG6V.js";import{ua as u,xb as _}from"./chunk-GYFRTLML.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();async function $(){let a=new Date,n=`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${a.getDate().toString().padStart(2,"0")}`,i=w(),t=await s({message:"Type of message?",choices:[{label:"Info",value:"info"},{label:"Warning",value:"warning"},{label:"Error",value:"error"}]}),b=await e({message:"Title"}),E=await e({message:"Message"}),S=await s({message:"Frequency",choices:[{label:"Only once",value:"once"},{label:"Once a week",value:"once_a_week"},{label:"Once a day",value:"once_a_day"},{label:"Always",value:"always"}]}),r=await e({message:"Minimum CLI version (optional)",initialAnswer:o,allowEmpty:!0}),l=await e({message:"Maximum CLI version (optional)",initialAnswer:o,allowEmpty:!0}),m=await e({message:"Minimum date in YYYY-MM-DD format (optional)",initialAnswer:n,allowEmpty:!0}),c=await e({message:"Maximum date in YYYY-MM-DD format (optional)",initialAnswer:n,allowEmpty:!0}),f=await e({message:"Surface. E.g.: app, theme, hydrogen, theme_app_extension... (optional)",allowEmpty:!0}),g=await e({message:"Comma separated list of commands. E.g.: app:generate:extension (optional)",allowEmpty:!0}),T=await e({message:"Slack channel of the team who will own this notification"}),d=await x(),v={id:i,type:t,title:b,frequency:S,message:E,minVersion:r.length===0?void 0:r,maxVersion:l.length===0?void 0:l,minDate:m.length===0?void 0:m,maxDate:c.length===0?void 0:c,surface:f.length===0?void 0:f,commands:g.length===0?void 0:g.split(",").map(N=>N.trim()),ownerChannel:T};d.notifications.push(v),await u("./notifications.json",JSON.stringify(d)),y({headline:"notifications.json file updated successfully."})}async function j(){let a=await D(),n={type:{header:"Type",color:"dim"},title:{header:"Title",color:"dim"},message:{header:"Message",color:"dim"},filters:{header:"Filters",color:"dim"}},i=a.notifications.map(t=>({type:t.type,title:t.title??"",message:t.message,filters:M(t)}));h({rows:i,columns:n}),_(`
1
+ import{b as x,c as D,f as M}from"./chunk-WKC5HDMY.js";import{d as w}from"./chunk-IAURXPUJ.js";import{D as s,G as h,J as e,z as y}from"./chunk-T3IMDY72.js";import{a as o}from"./chunk-RV4UQZ2W.js";import{ua as u,xb as _}from"./chunk-TNYPQ2UL.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();async function $(){let a=new Date,n=`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${a.getDate().toString().padStart(2,"0")}`,i=w(),t=await s({message:"Type of message?",choices:[{label:"Info",value:"info"},{label:"Warning",value:"warning"},{label:"Error",value:"error"}]}),b=await e({message:"Title"}),E=await e({message:"Message"}),S=await s({message:"Frequency",choices:[{label:"Only once",value:"once"},{label:"Once a week",value:"once_a_week"},{label:"Once a day",value:"once_a_day"},{label:"Always",value:"always"}]}),r=await e({message:"Minimum CLI version (optional)",initialAnswer:o,allowEmpty:!0}),l=await e({message:"Maximum CLI version (optional)",initialAnswer:o,allowEmpty:!0}),m=await e({message:"Minimum date in YYYY-MM-DD format (optional)",initialAnswer:n,allowEmpty:!0}),c=await e({message:"Maximum date in YYYY-MM-DD format (optional)",initialAnswer:n,allowEmpty:!0}),f=await e({message:"Surface. E.g.: app, theme, hydrogen, theme_app_extension... (optional)",allowEmpty:!0}),g=await e({message:"Comma separated list of commands. E.g.: app:generate:extension (optional)",allowEmpty:!0}),T=await e({message:"Slack channel of the team who will own this notification"}),d=await x(),v={id:i,type:t,title:b,frequency:S,message:E,minVersion:r.length===0?void 0:r,maxVersion:l.length===0?void 0:l,minDate:m.length===0?void 0:m,maxDate:c.length===0?void 0:c,surface:f.length===0?void 0:f,commands:g.length===0?void 0:g.split(",").map(N=>N.trim()),ownerChannel:T};d.notifications.push(v),await u("./notifications.json",JSON.stringify(d)),y({headline:"notifications.json file updated successfully."})}async function j(){let a=await D(),n={type:{header:"Type",color:"dim"},title:{header:"Title",color:"dim"},message:{header:"Message",color:"dim"},filters:{header:"Filters",color:"dim"}},i=a.notifications.map(t=>({type:t.type,title:t.title??"",message:t.message,filters:M(t)}));h({rows:i,columns:n}),_(`
2
2
  `)}export{$ as a,j as b};
@@ -1 +1 @@
1
- import{b as a}from"./chunk-6T5AZZUI.js";import{b as s}from"./chunk-HEWKCSY7.js";import{Ia as i}from"./chunk-AINDVTMY.js";import{a as m}from"./chunk-CTNBSUVU.js";import{e as d,g as e}from"./chunk-VKWPEFWQ.js";e();var n=d(m(),1);var t=class c extends s{static description="List current notifications configured for the CLI.";static hidden=!0;static flags={"ignore-errors":n.Flags.boolean({hidden:!1,description:"Don't fail if an error occurs.",env:"SHOPIFY_FLAG_IGNORE_ERRORS"})};async run(){let{flags:f}=await this.parse(c);try{await a()}catch(r){let o="Error fetching notifications";if(r instanceof Error&&(o=o.concat(`: ${r.message}`)),await i(o,"expected_error"),!f["ignore-errors"])throw r}}};export{t as a};
1
+ import{b as a}from"./chunk-LZSDOB4O.js";import{b as s}from"./chunk-PUGAY4JP.js";import{Ia as i}from"./chunk-IAURXPUJ.js";import{a as m}from"./chunk-CTNBSUVU.js";import{e as d,g as e}from"./chunk-VKWPEFWQ.js";e();var n=d(m(),1);var t=class c extends s{static description="List current notifications configured for the CLI.";static hidden=!0;static flags={"ignore-errors":n.Flags.boolean({hidden:!1,description:"Don't fail if an error occurs.",env:"SHOPIFY_FLAG_IGNORE_ERRORS"})};async run(){let{flags:f}=await this.parse(c);try{await a()}catch(r){let o="Error fetching notifications";if(r instanceof Error&&(o=o.concat(`: ${r.message}`)),await i(o,"expected_error"),!f["ignore-errors"])throw r}}};export{t as a};