@shopify/cli 0.0.0-snapshot-20260722190906 → 0.0.0-snapshot-20260722210655
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.
- package/dist/{analytics-CDAYWXD5.js → analytics-JBPJLL57.js} +1 -1
- package/dist/analytics-QVTQTZFT.js +1 -0
- package/dist/bootstrap.js +1 -1
- package/dist/{chunk-GUXXVO66.js → chunk-22YTDD56.js} +1 -1
- package/dist/{chunk-AXXDNFZC.js → chunk-2CMSXRZ5.js} +1 -1
- package/dist/{chunk-VNMMVZL4.js → chunk-2FNJZPYC.js} +2 -2
- package/dist/{chunk-BAG27DQB.js → chunk-2OBG4WT7.js} +1 -1
- package/dist/{chunk-X324F4FS.js → chunk-2RLFO4KD.js} +1 -1
- package/dist/{chunk-6S4LWAKY.js → chunk-2VVXGQ36.js} +1 -1
- package/dist/{chunk-UFBY4IJ2.js → chunk-32KQUYFF.js} +1 -1
- package/dist/{chunk-AOZJVY2C.js → chunk-33AVVFWW.js} +1 -1
- package/dist/{chunk-J3P2JYNE.js → chunk-34CCAMTT.js} +1 -1
- package/dist/{chunk-XLD2SPNN.js → chunk-35Z5TIZM.js} +1 -1
- package/dist/{chunk-RZPQK4OF.js → chunk-3GPUBV4D.js} +1 -1
- package/dist/{chunk-4IHADX7W.js → chunk-3GQ6AVHU.js} +1 -1
- package/dist/{chunk-DBZXDUAL.js → chunk-3I6ZVKZ2.js} +1 -1
- package/dist/{chunk-VP3PA6DV.js → chunk-3PFIBTES.js} +3 -3
- package/dist/{chunk-2DXH72MI.js → chunk-3R45SEUK.js} +1 -1
- package/dist/{chunk-NTLYH6PR.js → chunk-3RUWUOIR.js} +1 -1
- package/dist/{chunk-EIEMLLMV.js → chunk-3XBPV64S.js} +1 -1
- package/dist/{chunk-S56IA3NZ.js → chunk-4GWHZ4RW.js} +1 -1
- package/dist/{chunk-P5GRGEW4.js → chunk-4NSHAMD3.js} +1 -1
- package/dist/{chunk-67MWN74X.js → chunk-5EDRU7YU.js} +2 -2
- package/dist/{chunk-6YQTYIZ5.js → chunk-5HGRHX2Z.js} +1 -1
- package/dist/{chunk-LCE3TAI7.js → chunk-5N6YKJLU.js} +1 -1
- package/dist/{chunk-4COZ6ZCQ.js → chunk-5RMFBXP6.js} +1 -1
- package/dist/{chunk-MGMUHABT.js → chunk-5VKFEYZK.js} +1 -1
- package/dist/{chunk-6T3VKU4R.js → chunk-5Y33JTFD.js} +1 -1
- package/dist/{chunk-XJQHJ3OJ.js → chunk-65H3LZJA.js} +1 -1
- package/dist/{chunk-PYD6H55X.js → chunk-6CZ7WGE2.js} +1 -1
- package/dist/{chunk-OPPBTECX.js → chunk-6NRRHHK5.js} +1 -1
- package/dist/{chunk-2PEMBCOR.js → chunk-6SVMZEJO.js} +1 -1
- package/dist/{chunk-C7D2P7VE.js → chunk-74DZVIJF.js} +1 -1
- package/dist/{chunk-OQPDE63R.js → chunk-A35F74KC.js} +1 -1
- package/dist/{chunk-LAOIEVSU.js → chunk-AK4NPOQG.js} +1 -1
- package/dist/{chunk-IAZMS3IK.js → chunk-ALKT4HX7.js} +1 -1
- package/dist/{chunk-XHFQ6LOF.js → chunk-AMLHR2HO.js} +1 -1
- package/dist/{chunk-U4ROOL5O.js → chunk-AROEKWUX.js} +1 -1
- package/dist/{chunk-LSZF6IW6.js → chunk-B3XKHB4G.js} +1 -1
- package/dist/{chunk-ZG4255HY.js → chunk-BKMZCB6M.js} +1 -1
- package/dist/{chunk-BJLBQAYG.js → chunk-BPRY3O4N.js} +1 -1
- package/dist/{chunk-DOAKDW2X.js → chunk-BQ2752RO.js} +1 -1
- package/dist/{chunk-KKR23IH2.js → chunk-CFXL555E.js} +1 -1
- package/dist/{chunk-7ZLFWJYO.js → chunk-CFZVZFVH.js} +1 -1
- package/dist/{chunk-VAMY76ON.js → chunk-CNOGRHAB.js} +1 -1
- package/dist/{chunk-6SK3JXPL.js → chunk-CT5MMCRM.js} +1 -1
- package/dist/{chunk-YQ4OHBET.js → chunk-DC3JYNAG.js} +1 -1
- package/dist/{chunk-EDZ3YWOD.js → chunk-E7Z7KYBR.js} +1 -1
- package/dist/{chunk-7UMDQ3ZG.js → chunk-EI6ZQXTF.js} +1 -1
- package/dist/{chunk-EXRSWJ5H.js → chunk-EIEHPIWJ.js} +1 -1
- package/dist/{chunk-SZY56H6W.js → chunk-EL5U7452.js} +1 -1
- package/dist/{chunk-BEN4UG4L.js → chunk-FDQNY7RF.js} +1 -1
- package/dist/{chunk-MQDJJICB.js → chunk-FFC42T6R.js} +1 -1
- package/dist/{chunk-GWNAVCHY.js → chunk-FOQ2RDEI.js} +1 -1
- package/dist/{chunk-B6G644TV.js → chunk-FS37ZPWQ.js} +1 -1
- package/dist/{chunk-2RJFPJ7A.js → chunk-FS4HIL62.js} +1 -1
- package/dist/{chunk-NDBM7LRH.js → chunk-FVQG4KLI.js} +1 -1
- package/dist/{chunk-MX4LFIME.js → chunk-FW732EHN.js} +1 -1
- package/dist/chunk-G3CPHVML.js +1 -0
- package/dist/{chunk-CTEETGYW.js → chunk-GAUJKBLY.js} +1 -1
- package/dist/{chunk-FDWA7JDW.js → chunk-GJGKVHUR.js} +1 -1
- package/dist/{chunk-TBU3OWTQ.js → chunk-GVHVEYNG.js} +1 -1
- package/dist/{chunk-S6U77A5P.js → chunk-GWUDVP3Q.js} +1 -1
- package/dist/{chunk-NAJQU2AY.js → chunk-H2Z3SST2.js} +1 -1
- package/dist/{chunk-YLK2AI7U.js → chunk-H3QSHKNT.js} +1 -1
- package/dist/{chunk-BJCRXR56.js → chunk-HFGB7XAM.js} +1 -1
- package/dist/{chunk-XD7NZHSK.js → chunk-HG5QVQ2T.js} +1 -1
- package/dist/{chunk-JK63EUM5.js → chunk-HJH672U6.js} +1 -1
- package/dist/{chunk-C7RESSLY.js → chunk-HPH7WWMW.js} +1 -1
- package/dist/{chunk-FIXLZ6WB.js → chunk-HS7TCC4I.js} +1 -1
- package/dist/{chunk-Z6XAKBEX.js → chunk-HXJ7HJFS.js} +1 -1
- package/dist/{chunk-U5EOE3DT.js → chunk-I7QJGHS6.js} +1 -1
- package/dist/{chunk-AQ6NXOX6.js → chunk-IDMJWVJC.js} +1 -1
- package/dist/{chunk-ELC7ATKB.js → chunk-IDRP7BXW.js} +1 -1
- package/dist/{chunk-NTE2CLJ6.js → chunk-IKP2EM5F.js} +1 -1
- package/dist/{chunk-TDSOYZI3.js → chunk-IP2ZMDG4.js} +1 -1
- package/dist/{chunk-X3BIUZFH.js → chunk-IPKYIHDV.js} +1 -1
- package/dist/{chunk-FSAECCAG.js → chunk-ISVXQQ4E.js} +1 -1
- package/dist/{chunk-HUZJXCY4.js → chunk-IV3S4JU6.js} +1 -1
- package/dist/{chunk-HDC7GGTP.js → chunk-IZCDEDIM.js} +1 -1
- package/dist/{chunk-GBTY5THR.js → chunk-J2JMKTPR.js} +1 -1
- package/dist/{chunk-CBEKGTMO.js → chunk-J5D222UG.js} +1 -1
- package/dist/{chunk-RLXN7RR4.js → chunk-JBIXZWT6.js} +1 -1
- package/dist/{chunk-PQAZNEQ4.js → chunk-JNAAHGJ6.js} +1 -1
- package/dist/{chunk-X3EISCDF.js → chunk-KHOW6SXW.js} +1 -1
- package/dist/{chunk-UHI4NMIL.js → chunk-KNLPWHHJ.js} +3 -3
- package/dist/{chunk-QCK3CBEG.js → chunk-L6C3DLKN.js} +1 -1
- package/dist/{chunk-B2WYFLOD.js → chunk-L6VQZJM4.js} +1 -1
- package/dist/{chunk-54NHTRQI.js → chunk-LANGOUPS.js} +1 -1
- package/dist/{chunk-PKBGOPEK.js → chunk-LX3NHWCT.js} +1 -1
- package/dist/{chunk-XQGRKXWZ.js → chunk-LZO2JTZS.js} +1 -1
- package/dist/{chunk-BSIAJUNS.js → chunk-M3FOYFPN.js} +1 -1
- package/dist/{chunk-5ZBT5PFX.js → chunk-MH6UDGGS.js} +1 -1
- package/dist/{chunk-C4BN2RVQ.js → chunk-MSDNBGRH.js} +1 -1
- package/dist/{chunk-SH3WYVVB.js → chunk-MTGARKCQ.js} +1 -1
- package/dist/{chunk-AYIXAB2S.js → chunk-MXATGPGZ.js} +1 -1
- package/dist/{chunk-O3BC33IK.js → chunk-N2UVYELM.js} +1 -1
- package/dist/{chunk-PHWCCRTF.js → chunk-N54QOQ2V.js} +1 -1
- package/dist/{chunk-3SANRXLX.js → chunk-NDVET7BL.js} +1 -1
- package/dist/{chunk-OJ4M2CJM.js → chunk-NIQWXTKA.js} +1 -1
- package/dist/{chunk-4Z3NOOAC.js → chunk-NUCUZBO3.js} +1 -1
- package/dist/{chunk-C5IUWPRN.js → chunk-O5FUKS5D.js} +1 -1
- package/dist/{chunk-OUPJTPTH.js → chunk-O6BUPYXH.js} +2 -2
- package/dist/{chunk-SEME74TB.js → chunk-O7HL63YP.js} +1 -1
- package/dist/{chunk-ZLMC33FE.js → chunk-OLQN2OBC.js} +1 -1
- package/dist/{chunk-BDOXVQSL.js → chunk-OM3YN7ZK.js} +1 -1
- package/dist/{chunk-YU2JTVM2.js → chunk-ONCEFPYP.js} +1 -1
- package/dist/{chunk-ZX36Y46Q.js → chunk-OPHCAOPB.js} +1 -1
- package/dist/{chunk-REQPTZOU.js → chunk-OQ6WYWG4.js} +3 -3
- package/dist/{chunk-SW4MYG6X.js → chunk-OYOTLGGD.js} +1 -1
- package/dist/{chunk-N6CEKL2T.js → chunk-P4LA3M5S.js} +1 -1
- package/dist/{chunk-AXJRLUTS.js → chunk-P5KLFBCI.js} +1 -1
- package/dist/{chunk-PEC3D242.js → chunk-PNCF5LNZ.js} +1 -1
- package/dist/{chunk-O5V6OEPI.js → chunk-PNYIQOOE.js} +1 -1
- package/dist/{chunk-RM3X5Z4U.js → chunk-POYWH3PD.js} +1 -1
- package/dist/{chunk-2ECP5WXO.js → chunk-PPHJ4F2Z.js} +1 -1
- package/dist/{chunk-YEFFCLHX.js → chunk-Q37I33P7.js} +1 -1
- package/dist/{chunk-JQSXYJQH.js → chunk-Q3DRVTVJ.js} +1 -1
- package/dist/{chunk-TIO5BQ5N.js → chunk-QAMPDFZB.js} +1 -1
- package/dist/{chunk-RFG3WS2K.js → chunk-R56CBH7G.js} +1 -1
- package/dist/{chunk-GZJCF3TC.js → chunk-ROBYXQMW.js} +1 -1
- package/dist/{chunk-HVZNEOXS.js → chunk-RUV5AE3N.js} +1 -1
- package/dist/chunk-RXO77IC5.js +1 -0
- package/dist/{chunk-TFR5G7OX.js → chunk-SACH2YSZ.js} +1 -1
- package/dist/{chunk-TA6MIE6F.js → chunk-SH5VEQ7F.js} +1 -1
- package/dist/{chunk-CEDQRZEQ.js → chunk-SNK55FY2.js} +1 -1
- package/dist/{chunk-67HZVVWI.js → chunk-SP7NSQ6G.js} +1 -1
- package/dist/{chunk-WNPRFDZX.js → chunk-SQVJGTTD.js} +2 -2
- package/dist/{chunk-BFPZJCA7.js → chunk-SUOXR2CE.js} +1 -1
- package/dist/{chunk-EIIBCSJT.js → chunk-SW3DP3GU.js} +1 -1
- package/dist/{chunk-EWO2KZV5.js → chunk-SXWAECCX.js} +1 -1
- package/dist/{chunk-LKTP7WTV.js → chunk-SY3LXLT2.js} +1 -1
- package/dist/{chunk-M3QGQP74.js → chunk-UA2432YR.js} +1 -1
- package/dist/{chunk-B7I4QETW.js → chunk-UMMEUYHM.js} +1 -1
- package/dist/{chunk-AD74MYJN.js → chunk-UZR7JB5B.js} +1 -1
- package/dist/{chunk-IGIYN3V4.js → chunk-V4CPWXJP.js} +1 -1
- package/dist/{chunk-K6G2EZGV.js → chunk-VBL7DLY7.js} +1 -1
- package/dist/{chunk-DNUTKXN2.js → chunk-VFU5YYTM.js} +1 -1
- package/dist/{chunk-FQA2F2XJ.js → chunk-VQ44LFBY.js} +1 -1
- package/dist/{chunk-VJIB5EKO.js → chunk-VSPM4VES.js} +1 -1
- package/dist/{chunk-B57QEQBY.js → chunk-VURVVLVE.js} +1 -1
- package/dist/{chunk-P4QZ7WOH.js → chunk-W2RZY64W.js} +1 -1
- package/dist/{chunk-HEP7LOAV.js → chunk-W6BBFBOM.js} +1 -1
- package/dist/{chunk-I7BYVLDU.js → chunk-W6KRZTDH.js} +1 -1
- package/dist/{chunk-4ZQTYDNB.js → chunk-WFCP2AG5.js} +1 -1
- package/dist/{chunk-P427M44L.js → chunk-WKJNCJUV.js} +1 -1
- package/dist/chunk-WMKVFUMY.js +1 -0
- package/dist/{chunk-F4GFFJEQ.js → chunk-WYT437LJ.js} +1 -1
- package/dist/{chunk-HDE4C5VI.js → chunk-X2NVFYY6.js} +1 -1
- package/dist/chunk-X2ZCC772.js +1 -0
- package/dist/{chunk-UBZ7LRWO.js → chunk-X4JRQETX.js} +1 -1
- package/dist/{chunk-XC2X34PK.js → chunk-X5GZF33W.js} +1 -1
- package/dist/{chunk-7D6UVALL.js → chunk-XBFXB6S6.js} +1 -1
- package/dist/{chunk-ZCMXP6ZW.js → chunk-XEHMXJ5J.js} +1 -1
- package/dist/{chunk-CUWFMJYZ.js → chunk-XGJH3HBA.js} +1 -1
- package/dist/{chunk-LMLBN3DB.js → chunk-XKMLKEYX.js} +1 -1
- package/dist/{chunk-6NJ7C5DF.js → chunk-XYV4QXQT.js} +1 -1
- package/dist/{chunk-ITL4KB5G.js → chunk-YKAMTVJM.js} +1 -1
- package/dist/{chunk-ZZN4WRWZ.js → chunk-YZQYDTO7.js} +1 -1
- package/dist/{chunk-YLSBNV6G.js → chunk-ZDKGQCIZ.js} +1 -1
- package/dist/{chunk-GPF56HPM.js → chunk-ZKIIMXKC.js} +1 -1
- package/dist/{chunk-RELON3IF.js → chunk-ZKNONN2F.js} +1 -1
- package/dist/{chunk-ZHVFR23B.js → chunk-ZZ5M5IMF.js} +1 -1
- package/dist/cli/commands/app/app-logs/sources.js +1 -1
- package/dist/cli/commands/app/build.js +1 -1
- package/dist/cli/commands/app/bulk/cancel.js +1 -1
- package/dist/cli/commands/app/bulk/execute.js +1 -1
- package/dist/cli/commands/app/bulk/status.js +1 -1
- package/dist/cli/commands/app/config/link.js +1 -1
- package/dist/cli/commands/app/config/pull.js +1 -1
- package/dist/cli/commands/app/config/use.js +1 -1
- package/dist/cli/commands/app/config/validate.js +1 -1
- package/dist/cli/commands/app/demo/watcher.js +1 -1
- package/dist/cli/commands/app/deploy.js +1 -1
- package/dist/cli/commands/app/dev/clean.js +1 -1
- package/dist/cli/commands/app/dev.js +1 -1
- package/dist/cli/commands/app/env/pull.js +1 -1
- package/dist/cli/commands/app/env/show.js +1 -1
- package/dist/cli/commands/app/execute.js +1 -1
- package/dist/cli/commands/app/function/build.js +1 -1
- package/dist/cli/commands/app/function/info.js +1 -1
- package/dist/cli/commands/app/function/replay.js +1 -1
- package/dist/cli/commands/app/function/run.js +1 -1
- package/dist/cli/commands/app/function/schema.js +1 -1
- package/dist/cli/commands/app/function/typegen.js +1 -1
- package/dist/cli/commands/app/generate/extension.js +1 -1
- package/dist/cli/commands/app/graphiql.js +1 -1
- package/dist/cli/commands/app/import-custom-data-definitions.js +1 -1
- package/dist/cli/commands/app/import-extensions.js +1 -1
- package/dist/cli/commands/app/info.js +1 -1
- package/dist/cli/commands/app/init.js +1 -1
- package/dist/cli/commands/app/logs.js +1 -1
- package/dist/cli/commands/app/release.js +1 -1
- package/dist/cli/commands/app/versions/list.js +1 -1
- package/dist/cli/commands/app/webhook/trigger.js +1 -1
- package/dist/cli/commands/auth/login.js +1 -1
- package/dist/cli/commands/auth/logout.js +1 -1
- package/dist/cli/commands/cache/clear.js +1 -1
- package/dist/cli/commands/config/autoupgrade/off.js +1 -1
- package/dist/cli/commands/config/autoupgrade/on.js +1 -1
- package/dist/cli/commands/config/autoupgrade/status.js +1 -1
- package/dist/cli/commands/debug/command-flags.js +1 -1
- package/dist/cli/commands/doc/fetch.js +1 -1
- package/dist/cli/commands/doc/search.js +1 -1
- package/dist/cli/commands/docs/generate.js +1 -1
- package/dist/cli/commands/doctor-release/doctor-release.js +1 -1
- package/dist/cli/commands/doctor-release/theme/index.js +1 -1
- package/dist/cli/commands/help.js +1 -1
- package/dist/cli/commands/kitchen-sink/async.js +1 -1
- package/dist/cli/commands/kitchen-sink/index.js +1 -1
- package/dist/cli/commands/kitchen-sink/prompts.js +1 -1
- package/dist/cli/commands/kitchen-sink/static.js +1 -1
- package/dist/cli/commands/notifications/generate.js +1 -1
- package/dist/cli/commands/notifications/list.js +1 -1
- package/dist/cli/commands/organization/list.js +1 -1
- package/dist/cli/commands/search.js +1 -1
- package/dist/cli/commands/skill/install.js +1 -1
- package/dist/cli/commands/theme/check.js +1 -1
- package/dist/cli/commands/theme/console.js +1 -1
- package/dist/cli/commands/theme/delete.js +1 -1
- package/dist/cli/commands/theme/dev.js +1 -1
- package/dist/cli/commands/theme/duplicate.js +1 -1
- package/dist/cli/commands/theme/info.js +1 -1
- package/dist/cli/commands/theme/init.js +1 -1
- package/dist/cli/commands/theme/language-server.js +1 -1
- package/dist/cli/commands/theme/list.js +1 -1
- package/dist/cli/commands/theme/metafields/pull.js +1 -1
- package/dist/cli/commands/theme/open.js +1 -1
- package/dist/cli/commands/theme/package.js +1 -1
- package/dist/cli/commands/theme/preview.js +1 -1
- package/dist/cli/commands/theme/profile.js +1 -1
- package/dist/cli/commands/theme/publish.js +1 -1
- package/dist/cli/commands/theme/pull.js +1 -1
- package/dist/cli/commands/theme/push.js +1 -1
- package/dist/cli/commands/theme/rename.js +1 -1
- package/dist/cli/commands/theme/share.js +1 -1
- package/dist/cli/commands/upgrade.js +1 -1
- package/dist/cli/commands/validate/components.js +1 -1
- package/dist/cli/commands/validate/functions.js +1 -1
- package/dist/cli/commands/validate/graphql.js +1 -1
- package/dist/cli/commands/validate/theme.js +1 -1
- package/dist/cli/commands/version.js +1 -1
- package/dist/command-registry.js +1 -1
- package/dist/conf-store-OHJSRXSL.js +1 -0
- package/dist/{deprecations-K6GECE76.js → deprecations-SA4HEVBI.js} +1 -1
- package/dist/{dist-ZTEUCMI5.js → dist-MIUGJGUW.js} +1 -1
- package/dist/dist-XVWDWM2Y.js +1 -0
- package/dist/{environments-ZDUNX7L4.js → environments-LDSGQHXC.js} +1 -1
- package/dist/{error-GGW3G47B.js → error-YY774ESQ.js} +1 -1
- package/dist/{error-handler-JTALOJ5N.js → error-handler-QHCOZUC7.js} +1 -1
- package/dist/{fs-JBSOQ2AU.js → fs-EIM4AORY.js} +1 -1
- package/dist/hooks/app-init.js +1 -1
- package/dist/hooks/did-you-mean.js +1 -1
- package/dist/hooks/hydrogen-init.js +1 -1
- package/dist/hooks/postrun.js +1 -1
- package/dist/hooks/prerun.js +1 -1
- package/dist/hooks/public-metadata.js +1 -1
- package/dist/hooks/sensitive-metadata.js +1 -1
- package/dist/hooks/tunnel-provider.js +1 -1
- package/dist/hooks/tunnel-start.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{is-global-L7OWSCP5.js → is-global-USYUXR55.js} +1 -1
- package/dist/{local-OOLA5THA.js → local-INRMOHAI.js} +1 -1
- package/dist/{local-storage-VXGHOQKX.js → local-storage-7THURD3W.js} +1 -1
- package/dist/{metadata-V4D6FTBS.js → metadata-WJ637XA2.js} +1 -1
- package/dist/{node-package-manager-EDPK5PL6.js → node-package-manager-4X2YQGFC.js} +1 -1
- package/dist/{notifications-system-MBSJKSNZ.js → notifications-system-ZSZWUJIZ.js} +1 -1
- package/dist/{output-QVUM5IYS.js → output-CLCX5WU7.js} +1 -1
- package/dist/skills-OXV2TD42.js +1 -0
- package/dist/{system-B76AUER2.js → system-J4OPHQAQ.js} +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/{ui-ENHCMZJZ.js → ui-ZC5QZT4J.js} +1 -1
- package/dist/upgrade-VSILBOCY.js +1 -0
- package/dist/{version-VXADDZFR.js → version-EYLYG4JK.js} +1 -1
- package/dist/version-FEVNX3F6.js +1 -0
- package/dist/{workerd-4O3TCHAO.js → workerd-VC3MCYDV.js} +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +7 -9
- package/bin/postinstall.js +0 -14
- package/dist/analytics-Q4RKFOXN.js +0 -1
- package/dist/chunk-24YSAAPP.js +0 -1
- package/dist/chunk-2POI27PW.js +0 -1
- package/dist/chunk-AGWNS3XW.js +0 -1
- package/dist/chunk-EB2SLRLG.js +0 -1
- package/dist/conf-store-WHIZYNW7.js +0 -1
- package/dist/dist-CNXOMJ4W.js +0 -1
- package/dist/upgrade-NCYY4Q7D.js +0 -1
- package/dist/version-E6Y3YQZ3.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as d}from"./chunk-
|
|
1
|
+
import{c as d}from"./chunk-VQ44LFBY.js";import{xa as i}from"./chunk-OQ6WYWG4.js";import{A as s,D as a,w as m,x as u}from"./chunk-SQVJGTTD.js";import{g as c}from"./chunk-VKWPEFWQ.js";c();function f(e){return[`'${e.name}'`,{subdued:`(#${e.id})`}]}function y(e){return{list:{items:e.map(f)}}}async function T(e,r="It doesn't seem like you're running this command in a theme directory.",o,n){if(e)return!0;if(n)return u({headline:o?`Environment: ${o}`:"",body:r}),!1;if(m({body:r}),!process.stdout.isTTY)return!0;let t=await s({message:"Do you want to proceed?"});return i(`theme-service:confirm-directory:${t}`),t}async function v(e,r,o){if(e.role!==d||!process.stdout.isTTY||o)return!0;let n=`You're about to ${r} on your live theme "${e.name}". This will make changes visible to customers. Are you sure you want to proceed?`,t=await s({message:n,confirmationMessage:"Yes, proceed with live theme",cancellationMessage:"No, cancel"});return i(`theme-service:confirm-live-theme:${t}`),t}async function E(e,r,o=!1){e.length>0&&await a(e,{renderOptions:{stdout:r??process.stderr},noProgressBar:o})}export{f as a,y as b,T as c,v as d,E as e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as a}from"./chunk-
|
|
1
|
+
import{d as a}from"./chunk-4NSHAMD3.js";import{g as t}from"./chunk-VKWPEFWQ.js";t();var i={SUCCESS:"success",FAILED:"failed",INFORM:"inform"};t();async function s(e){await a(()=>({cmd_validate_subcommand:e.subcommand,cmd_validate_result:e.result,cmd_validate_api:e.api,cmd_validate_api_version:e.apiVersion,cmd_validate_json:e.json}))}export{i as a,s as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as Q,b as $}from"./chunk-
|
|
1
|
+
import{a as Q,b as $}from"./chunk-4GWHZ4RW.js";import{f as F,h as b,i as j,q as x,r as c,s as _}from"./chunk-O5FUKS5D.js";import{a,b as E}from"./chunk-P4LA3M5S.js";import{b as R,c as D}from"./chunk-BPRY3O4N.js";import{b as L}from"./chunk-3PFIBTES.js";import{U as I,V as y,v as G,w as q,x as A}from"./chunk-SQVJGTTD.js";import{m as O,o as P}from"./chunk-O6BUPYXH.js";import{Lb as w,ma as S}from"./chunk-KNLPWHHJ.js";import{f as V}from"./chunk-773TIA5M.js";import{a as Y}from"./chunk-M5GXA5W4.js";import{e as M,g as p}from"./chunk-VKWPEFWQ.js";p();p();var U="supported-versions-schema.json",W=async({code:e,file:r})=>{if(e!==void 0)return e;if(r!==void 0)return S(r);let i=I()?await y():void 0;if(!i)throw new O("No GraphQL operation provided.","Pass the operation with --code, --file, or pipe it via stdin.");return i};function u(e,r,i){return{success:!1,result:a.FAILED,responses:[{result:a.FAILED,resultDetail:e}],resolvedVersion:r,versionDefaulted:i}}async function J(e){let{api:r,version:i}=e,N=e.readOperation??W;if(!_(r))return u(`Unsupported API '${r}'. Supported APIs: ${c.join(", ")}.`,void 0,!1);let o;try{let t=await N({code:e.code,file:e.file}),d=e.dataDir??F("graphql",[U]),h=e.schemaSource??j(d),H=h.readVersionCatalog(),s=x(H,r,i);if(!s.ok){let k=s.reason==="unsupported_version"?`Version '${i}' is not available for API '${r}'. Available versions for '${r}': ${s.supportedVersions.join(", ")}.`:`No supported versions available for API '${r}'.`;return u(k,void 0,!1)}o=s.version;let m=s.source==="default",T={api:r,name:o,schemaPath:b(d,r,o),latestVersion:m},{validation:n,scopes:v}=await $(t,r,{apiVersion:T,failOnDeprecated:!1,schemaSource:h}),g=n.resultDetail;return n.result!==a.FAILED&&v.length>0&&(g+=Q(v)),{success:n.result!==a.FAILED,result:n.result,responses:[{result:n.result,resultDetail:g}],resolvedVersion:o,versionDefaulted:m}}catch(t){let d=t instanceof Error?t.message:String(t);return u(d,o,!1)}}function B(e){let r=e.responses[0]?.resultDetail??"",i=e.versionDefaulted&&e.resolvedVersion!==void 0?`
|
|
2
2
|
Version validated against is ${e.resolvedVersion}.`:"";return`${r}${i}`}function K(e,r){if(r.json)w(JSON.stringify({success:e.success,responses:e.responses,resolvedVersion:e.resolvedVersion},null,2));else{let i=B(e);e.result===a.SUCCESS?G({headline:"GraphQL operation is valid.",body:i}):e.result===a.INFORM?q({headline:"GraphQL operation is valid, with warnings.",body:i}):A({headline:"GraphQL validation failed.",body:i})}if(!e.success)throw new P}async function C(e){let r=await J(e);await E({subcommand:"graphql",result:r.result,api:e.api,apiVersion:r.resolvedVersion,json:e.json}),K(r,{json:e.json})}var l=M(Y(),1),f=class e extends L{static{this.summary="Validate a GraphQL operation against a bundled Shopify API schema."}static{this.descriptionWithMarkdown="Validates a GraphQL query or mutation against the bundled introspection schema for the selected Shopify API. Runs fully offline \u2014 no network access or login required \u2014 so results are deterministic.\n\nPass the operation with `--code`, `--file`, or pipe it via stdin. On success, the required offline access scopes for the operation are reported. Use `--json` for a machine-readable result.\n\nExits with code 0 when the operation is valid (including when it only uses deprecated fields) and 1 when it is invalid or an error occurs."}static{this.description=this.descriptionWithoutMarkdown()}static{this.examples=[`# validate an Admin API query passed inline
|
|
3
3
|
shopify validate graphql --api admin --code "{ shop { name } }"`,`# validate a query from a file against a specific version
|
|
4
4
|
shopify validate graphql --api admin --file query.graphql --version 2026-04`,`# pipe an operation via stdin and get JSON output
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as U}from"./chunk-
|
|
1
|
+
import{a as U}from"./chunk-IP2ZMDG4.js";import{E as H}from"./chunk-LANGOUPS.js";import{a as G}from"./chunk-VJEKDBGZ.js";import{f as T}from"./chunk-FDQNY7RF.js";import{b as D,l as O,s as k}from"./chunk-SQVJGTTD.js";import{m as N}from"./chunk-O6BUPYXH.js";import{Ca as P,Pb as u,Ta as A,Ua as I,bb as _,na as R,wa as w}from"./chunk-KNLPWHHJ.js";import{f as S}from"./chunk-E7Z7KYBR.js";import{d as x,e as E,g as F,i as C}from"./chunk-773TIA5M.js";import{e as q,g as m}from"./chunk-VKWPEFWQ.js";m();function b(){return process.hrtime()}function M(r){let t=process.hrtime(r);return(t[0]*1e3+t[1]/1e6).toFixed(2)}m();m();var $=q(G(),1),K=200,Q=6e4,L=200,Y=500,v=class{constructor(t,s,i=K){this.currentEvents=[],this.extensionPaths=[],this.ignored={},this.extensionWatchedFiles=new Map,this.emitEvents=()=>{let e=this.currentEvents;this.currentEvents=[];let n=`\u{1F509} ${e.length} EVENTS EMITTED in files: ${e.map(o=>o.path).join(`
|
|
2
2
|
`)}`;u(n,this.options.stdout),this.onChangeCallback?.(e)},this.handleFileEvent=(e,n)=>{let o=b(),d=E(n),h=n===this.app.configPath,l=n.endsWith(".extension.toml");if(u(`\u{1F300}: ${e} ${n.replace(this.app.directory,"")}
|
|
3
3
|
`),h)this.handleEventForExtension(e,n,this.app.directory,o,!1);else{let a=this.extensionWatchedFiles.get(d),p=a===void 0||a.size===0;if(p&&e==="add"&&!l){let c=this.discoverFileOwners(d);c.size>0&&(this.extensionWatchedFiles.set(d,c),a=c,p=!1)}if(p&&!l&&!h){u(`\u{1F300}: File ${n} is not watched by any extension`,this.options.stdout);return}for(let c of a??[]){let g=this.app.realExtensions.find(X=>X.handle===c),y=g?E(g.directory):this.app.directory;this.handleEventForExtension(e,n,y,o,!1,c)}p&&this.handleEventForExtension(e,n,this.app.directory,o,!0)}this.debouncedEmit()},this.close=()=>{this.watcher&&(u("Closing file watcher",this.options.stdout),this.watcher.close().then(()=>u("File watching closed",this.options.stdout)).catch(e=>u(`File watching failed to close: ${e.message}`,this.options.stderr)))},this.app=t,this.options=s,this.debouncedEmit=k(this.emitEvents.bind(this),i,{leading:!0,trailing:!0}),this.updateApp(t)}onChange(t){this.onChangeCallback=t}async start(){let s=[...this.app.configuration.extension_directories??["extensions"]].map(o=>x(this.app.directory,o));await Promise.all(s.map(async o=>{try{await w(o.replace(/\/\*+$/,""))}catch{}}));let i=[this.app.configPath,...s],e=this.getAllWatchedFiles();i.push(...e),this.close();let{default:n}=await import("./chokidar-5RWEYTNQ.js");this.watcher=n.watch(i,{ignored:["**/node_modules/**","**/.git/**"],persistent:!0,ignoreInitial:!0}),this.watcher.on("all",this.handleFileEvent),this.addAbortListener(),u(`File watcher started with ${i.length} paths`,this.options.stdout)}updateApp(t){this.app=t,this.extensionPaths=this.app.nonConfigExtensions.map(s=>E(s.directory)).filter(s=>s!==this.app.directory),this.extensionPaths.forEach(s=>{var i;(i=this.ignored)[s]??(i[s]=this.createIgnoreInstance(s))})}addAbortListener(){this.options.signal.removeEventListener("abort",this.close),this.options.signal.addEventListener("abort",this.close)}getAllWatchedFiles(){this.extensionWatchedFiles.clear();let t=this.app.realExtensions.map(i=>({extension:i,watchedFiles:i.watchedFiles()})),s=new Set;for(let{extension:i,watchedFiles:e}of t)for(let n of e){let o=E(n);s.add(o);let d=this.extensionWatchedFiles.get(o)??new Set;d.add(i.handle),this.extensionWatchedFiles.set(o,d)}return Array.from(s)}pushEvent(t){this.shouldIgnoreEvent(t)||(t.type==="extension_folder_created"&&(this.ignored[t.path]=this.createIgnoreInstance(t.path)),!this.currentEvents.some(s=>s.path===t.path&&s.type===t.type&&s.extensionHandle===t.extensionHandle)&&this.currentEvents.push(t))}shouldIgnoreEvent(t){if(t.type==="extension_folder_deleted"||t.type==="extension_folder_created"||t.extensionHandle&&this.extensionWatchedFiles.get(E(t.path))?.has(t.extensionHandle))return!1;let i=(t.extensionHandle?this.app.realExtensions.find(n=>n.handle===t.extensionHandle):void 0)?.watchedFiles(),e=this.ignored[t.extensionPath];if(i)return!i.some(o=>_(t.path,o));if(e){let n=F(t.extensionPath,t.path);return e.ignores(n)}return!1}discoverFileOwners(t){let s=new Set;for(let i of this.app.realExtensions){let e=E(i.directory);e!==this.app.directory&&t.startsWith(`${e}/`)&&this.pathMatchesWatchPatterns(t,i)&&s.add(i.handle)}return s}pathMatchesWatchPatterns(t,s){let{paths:i,ignore:e}=s.watchPatterns(),n=F(E(s.directory),t);return e.some(o=>_(n,o))?!1:i.some(o=>_(n,o))}handleEventForExtension(t,s,i,e,n,o){let d=s.endsWith(".extension.toml"),h=s===this.app.configPath;switch(t){case"change":if(n)break;d||h?this.pushEvent({type:"extensions_config_updated",path:s,extensionPath:i,extensionHandle:o,startTime:e}):this.pushEvent({type:"file_updated",path:s,extensionPath:i,extensionHandle:o,startTime:e});break;case"add":if(!d){this.pushEvent({type:"file_created",path:s,extensionPath:i,extensionHandle:o,startTime:e});break}let l=0,a=C(s),p=setInterval(()=>{I(x(a,T.lockFile))?(u(`Waiting for extension to complete creation: ${s}
|
|
4
4
|
`),l+=L):(clearInterval(p),this.extensionPaths.push(a),this.pushEvent({type:"extension_folder_created",path:a,extensionPath:i,startTime:e}),this.debouncedEmit()),l>=Q&&(clearInterval(p),this.options.stderr.write(`Error loading new extension at path: ${s}.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as O}from"./chunk-
|
|
1
|
+
import{a as O}from"./chunk-3XBPV64S.js";import{c as _,i as P,n as k}from"./chunk-HS7TCC4I.js";import{a as I}from"./chunk-GAUJKBLY.js";import{b as S,m as b}from"./chunk-VQ44LFBY.js";import{j as g,k as T,l as L,p as R,v as q}from"./chunk-5VKFEYZK.js";import{b as E}from"./chunk-BPRY3O4N.js";import{xa as x}from"./chunk-OQ6WYWG4.js";import{a as v}from"./chunk-UA2432YR.js";import{m as u}from"./chunk-O6BUPYXH.js";import{Fb as d,Hb as m,Mb as o,Pb as c}from"./chunk-KNLPWHHJ.js";import{a as G}from"./chunk-M5GXA5W4.js";import{e as V,g as r}from"./chunk-VKWPEFWQ.js";r();r();r();var f=class extends I{constructor(t){super(t),this.context="REPL",this.themeId=g()}async create(t,n){let s=await super.create(t,n);return await this.uploadThemeAssets(s),s}async findOrCreate(){let t=await this.fetch();if(!t){let n=`Liquid Console (${v})`;t=await this.create(S,n)}return t}setTheme(t){T(t)}removeTheme(){L()}async uploadThemeAssets(t){let n=[{key:"config/settings_data.json",value:"{}"},{key:"config/settings_schema.json",value:"[]"},{key:"snippets/eval.liquid",value:""},{key:"layout/password.liquid",value:"{{ content_for_header }}{{ content_for_layout }}"},{key:"layout/theme.liquid",value:"{{ content_for_header }}{{ content_for_layout }}"},{key:"sections/announcement-bar.liquid",value:""},{key:"templates/index.json",value:JSON.stringify({sections:{announcement:{type:"announcement-bar",settings:{}}},order:["announcement"]})}];await b(t.id,n,this.adminSession)}};r();r();async function A(e){return await H(e)??await $(e)??await Y(e)??await z(e)??void 0}async function H(e){c(`Evaluating snippet - ${e.snippet}`);let t=`{ "type": "display", "value": {{ ${e.snippet} | json }} }`,n=await h({...e,snippet:t}),s=await n.text();return C(n.status,s)?Q(s):void 0}async function $(e){c(`Evaluating context - ${e.snippet}`);let t=`{ "type": "context", "value": "{% ${e.snippet.replace(/"/g,'\\"')} %}" }`,n=await h({...e,snippet:t}),s=await n.text();C(n.status,s)&&e.replSession.push(JSON.parse(t))}async function Y(e){if(c(`Evaluating assignment context - ${e.snippet}`),oe(e.snippet))return e.snippet=`assign ${e.snippet}`,o(m`${d.gray(`> ${e.snippet}`)}`),$(e)}async function z(e){c(`Evaluating syntax error - ${e.snippet}`);let t="";if(X(e.snippet)||(t=await(await h({...e,snippet:`{{ ${e.snippet} }}`})).text()),y(t)||(t=await(await h({...e,snippet:`{% ${e.snippet} %}`})).text()),y(t)){let n=t.replace(/ \(snippets\/eval line \d+\)/,"");B(e.snippet,n)}}function B(e,t){if(t.includes("Unknown tag")){o(m`${d.errorText(`Unknown object, property, tag, or filter: '${e}'`)}`);return}let n=j(t);n&&o(m`${d.errorText(n)}`)}async function h(e){let t=K(e);e.url.startsWith("/")||(e.url=`/${e.url}`);let n=await P(e.themeSession,{method:"GET",path:e.url,query:[],themeId:e.themeId,sectionId:"announcement-bar",headers:{},replaceTemplates:{"sections/announcement-bar.liquid":"{% render 'eval' %}","snippets/eval.liquid":`
|
|
2
2
|
${t}
|
|
3
3
|
`}});return Z(n)&&ne(),ee(n)&&se(),te(n)&&re(),n}function K(e){return`[${[...e.replSession.map(n=>JSON.stringify(n)),e.snippet].join(",").replace(/\\"/g,'"')}]`}function Q(e){let t=j(e);if(t)return JSON.parse(t)?.find(s=>s.type==="display")?.value}function j(e){let t=e.split(`
|
|
4
4
|
`).slice(1,-1);if(t.length!==0)return t.join("")}function y(e){return e.includes("Liquid syntax error")}function X(e){return/^\s*assign\s*((?:\(?[\w\-.[\]]\)?)+)\s*=\s*(.*)\s*/m.test(e)}function Z(e){return e.status===401||e.status===403}function ee(e){return e.status===430||e.status===429}function te(e){return e.headers.get("server-timing")?.includes('pageType;desc="404"')??!1}function ne(){throw new u("Session expired. Please initiate a new one.")}function se(){throw new u("Evaluations limit reached. Try again later.")}function re(){throw new u("Page not found. Please provide a valid --url value!")}function oe(e){return/^\s*((?:\(?[\w\-.[\]]\)?)+)\s*=\s*(.*)\s*/m.test(e)}function C(e,t){return e===200&&!y(t)}r();function F(e){if(N(e)){o("Object can't be printed, but you can access its fields. Read more at https://shopify.dev/docs/api/liquid.");return}if(e==null){M("null");return}let t=JSON.stringify(e,null,2);M(t)}function N(e){if(Array.isArray(e))return e.length>0?N(e[0]):!1;if(e&&typeof e=="object"){let n=e.error;return typeof n=="string"&&n.includes("json not allowed for this object")}return!1}function M(e){return o(m`${d.cyan(e)}`)}import{createInterface as ie}from"readline";var ae=`Liquid Console doesn't support Liquid delimiters such as '{{ ... }}' or '{% ... %}'.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as E}from"./chunk-
|
|
1
|
+
import{b as E}from"./chunk-BPRY3O4N.js";import{b}from"./chunk-3PFIBTES.js";import{M as F,N}from"./chunk-SQVJGTTD.js";import{Mb as k,S as C,Ta as w,ma as O}from"./chunk-KNLPWHHJ.js";import{u as n}from"./chunk-A4SBXDZB.js";import{j as R}from"./chunk-E7Z7KYBR.js";import{d as u,f as P,g as x,h as g,n as T,q as y}from"./chunk-773TIA5M.js";import{a as U}from"./chunk-M5GXA5W4.js";import{e as H,g as d}from"./chunk-VKWPEFWQ.js";d();d();d();d();var m=class{constructor(){this.assertions=[],this.registeredTests=[]}async runSuite(t){this.context=t,this.registeredTests=[];let e=[];this.tests();for(let i of this.registeredTests){this.assertions=[];let s=Date.now();try{await i.fn(),e.push({name:i.name,status:this.hasFailures()?"failed":"passed",duration:Date.now()-s,assertions:[...this.assertions]})}catch(r){e.push({name:i.name,status:"failed",duration:Date.now()-s,assertions:[...this.assertions],error:r instanceof Error?r:new Error(String(r))})}}return e}test(t,e){this.registeredTests.push({name:t,fn:e})}tests(){}async run(t,e){let i=e?.cwd??this.context.workingDirectory,s=await F(t,{cwd:i,env:e?.env});return{command:t,exitCode:s.exitCode,stdout:s.stdout,stderr:s.stderr,output:String(s.stdout)+String(s.stderr),success:s.exitCode===0}}async runInteractive(t,e){let i=e?.cwd??this.context.workingDirectory,s=0;try{await N(t,{cwd:i,env:e?.env,stdin:"inherit"})}catch{s=1}return{command:t,exitCode:s,stdout:"",stderr:"",output:"",success:s===0}}assertSuccess(t,e){this.assertions.push({description:e??`Command succeeded: ${t.command}`,passed:t.success,expected:"exit code 0",actual:`exit code ${t.exitCode}`})}assertError(t,e,i){let s=!t.success;if(e){let h=(typeof e=="string"?new RegExp(e):e).test(t.output),c;s?h?c="matched":c=`output: ${t.output.slice(0,200)}`:c="command succeeded",this.assertions.push({description:i??`Command failed with expected error: ${e}`,passed:s&&h,expected:`failure with error matching ${e}`,actual:c})}else this.assertions.push({description:i??`Command failed: ${t.command}`,passed:s,expected:"non-zero exit code",actual:`exit code ${t.exitCode}`})}async assertFile(t,e,i){let s=g(t)?t:u(this.context.workingDirectory,t),r=x(this.context.workingDirectory,s);if(!await w(s)){this.assertions.push({description:i??`File exists: ${r}`,passed:!1,expected:"file exists",actual:"file not found"});return}if(e){let c=await O(s),D=(typeof e=="string"?new RegExp(e):e).test(c);this.assertions.push({description:i??`File ${r} matches ${e}`,passed:D,expected:`content matching ${e}`,actual:D?"matched":`content: ${c.slice(0,200)}...`})}else this.assertions.push({description:i??`File exists: ${r}`,passed:!0,expected:"file exists",actual:"file exists"})}async assertNoFile(t,e){let i=g(t)?t:u(this.context.workingDirectory,t),s=x(this.context.workingDirectory,i),r=await w(i);this.assertions.push({description:e??`File does not exist: ${s}`,passed:!r,expected:"file does not exist",actual:r?"file exists":"file does not exist"})}async assertDirectory(t,e){let i=g(t)?t:u(this.context.workingDirectory,t),s=x(this.context.workingDirectory,i),r=await w(i);this.assertions.push({description:e??`Directory exists: ${s}`,passed:r,expected:"directory exists",actual:r?"directory exists":"directory not found"})}assertOutput(t,e,i){let r=(typeof e=="string"?new RegExp(e):e).test(t.output);this.assertions.push({description:i??`Output matches ${e}`,passed:r,expected:`output matching ${e}`,actual:r?"matched":`output: ${t.output.slice(0,200)}`})}assertJson(t,e,i){try{let s=JSON.parse(t.stdout);if(e){let r=e(s);this.assertions.push({description:i??"Output is valid JSON matching validator",passed:r,expected:"valid JSON matching validator",actual:r?"matched":"validator returned false"})}else this.assertions.push({description:i??"Output is valid JSON",passed:!0,expected:"valid JSON",actual:"valid JSON"});return s}catch{this.assertions.push({description:i??"Output is valid JSON",passed:!1,expected:"valid JSON",actual:`invalid JSON: ${t.stdout.slice(0,100)}`});return}}assert(t,e){this.assertions.push({description:e,passed:t,expected:"true",actual:String(t)})}assertEqual(t,e,i){this.assertions.push({description:i,passed:t===e,expected:String(e),actual:String(t)})}hasFailures(){return this.assertions.some(t=>!t.passed)}};m.description="Doctor test suite";var p=class extends m{constructor(){super(...arguments);this.themeName="";this.themePath=""}static{this.description="Tests the theme init command creates a valid theme structure"}tests(){this.test("init creates theme directory",async()=>{this.themeName=`doctor-theme-${C("creative")}`,this.themePath=u(this.context.workingDirectory,this.themeName);let e=await this.runInteractive(`shopify theme init ${this.themeName} --path ${this.context.workingDirectory}`);this.assertSuccess(e),this.context.themeName=this.themeName,this.context.themePath=this.themePath}),this.test("essential theme files exist",async()=>{let e=["layout/theme.liquid","config/settings_schema.json","templates/index.json"];await Promise.all(e.map(i=>this.assertFile(u(this.themePath,i))))}),this.test("theme directories exist",async()=>{let e=["sections","snippets","assets","locales"];await Promise.all(e.map(i=>this.assertDirectory(u(this.themePath,i))))}),this.test("layout/theme.liquid has valid content",async()=>{await this.assertFile(u(this.themePath,"layout/theme.liquid"),/<!doctype html>|<html|{{ content_for_header }}/i,"layout/theme.liquid contains expected Liquid markup")})}};d();var l=class extends m{static{this.description="Tests pushing a theme to the store creates an unpublished theme"}static{this.requiresStore=!0}tests(){this.test("push creates unpublished theme",async()=>{if(!this.context.themePath){this.assert(!1,"Theme init did not complete successfully; themePath is missing in context");return}let t=this.context.themeName??"doctor-theme",e=`shopify theme push --unpublished --json --path ${this.context.themePath} -t ${t}`;this.context.environment&&(e+=` -e ${this.context.environment}`),this.context.store&&(e+=` -s ${this.context.store}`),this.context.password&&(e+=` --password ${this.context.password}`);let i=await this.run(e);this.assertSuccess(i);let s=this.assertJson(i,r=>typeof r.theme?.id=="number");s?.theme&&(this.assert(typeof s.theme.id=="number","Theme was created with a valid ID"),this.assertEqual(s.theme.role,"unpublished","Theme role is unpublished"),this.assert(s.theme.editor_url.includes("/admin/themes/"),"Editor URL is provided"),this.assert(s.theme.preview_url.includes("preview_theme_id="),"Preview URL is provided"),this.context.themeId=String(s.theme.id),this.context.data.editorUrl=s.theme.editor_url,this.context.data.previewUrl=s.theme.preview_url)})}};d();function _(o){return{workingDirectory:o.path??y(),environment:o.environment,store:o.store,password:o.password,data:{}}}d();var a=o=>k(o),v;function J(o){v=o}function G(o){if(!v)return o;let t=/\/[^\s,)]+/g;return o.replace(t,e=>T(e,v))}function A(o,t){a(""),a(n.bold(n.cyan(`Suite: ${o}`))),a(n.dim(t))}function j(o){a(n.bold(n.blue(`Running: ${o}`)))}function q(o){let t=`(${(o.duration/1e3).toFixed(2)}s)`;if(o.status==="passed"){a(n.bold(n.green(`PASSED: ${o.name} ${n.dim(t)}`)));for(let e of I(o.assertions))a(e)}else if(o.status==="failed"){a(n.red(`FAILED: ${o.name} ${n.dim(t)}`));for(let e of I(o.assertions))a(e);o.error&&a(n.red(` Error: ${G(o.error.message)}`))}else a(n.yellow(`SKIPPED: ${o.name}`))}function S(o){let t=o.filter(h=>h.status==="passed").length,e=o.filter(h=>h.status==="failed").length,i=o.filter(h=>h.status==="skipped").length,s=o.length,r=o.reduce((h,c)=>h+c.duration,0);a(""),a(n.bold("\u2500".repeat(40))),e>0?a(n.red(n.bold(`Doctor Complete: ${e}/${s} tests failed`))):a(n.green(n.bold(`Doctor Complete: ${t}/${s} tests passed`))),a(` Passed: ${n.green(String(t))}`),a(` Failed: ${n.red(String(e))}`),i>0&&a(` Skipped: ${n.yellow(String(i))}`),a(` Total time: ${n.dim(`${(r/1e3).toFixed(2)}s`)}`)}function I(o){return o.map(t=>{if(t.passed)return n.green(` [OK] ${t.description}`);{let e=` (expected: ${t.expected}, actual: ${t.actual})`;return n.red(` [FAIL] ${t.description}${e}`)}})}var Y=[p,l];async function L(o){let t=[],e=_(o);J(e.workingDirectory);for(let i of Y){let s=new i,r=i.description??"Test suite";A(i.name,r);let h=await s.runSuite(e);for(let c of h)if(j(c.name),q(c),t.push(c),c.status==="failed")return S(t),t}return S(t),t}var f=H(U(),1);var $=class o extends b{static{this.description="Run all theme command doctor-release tests"}static{this.hidden=!0}static{this.flags={...E,path:f.Flags.string({char:"p",description:"The path to run tests in. Defaults to current directory.",env:"SHOPIFY_FLAG_PATH",parse:async t=>P(t),default:async()=>y()}),environment:f.Flags.string({char:"e",description:"The environment to use from shopify.theme.toml (required for store-connected tests).",env:"SHOPIFY_FLAG_ENVIRONMENT",required:!0}),store:f.Flags.string({char:"s",description:"Store URL (overrides environment).",env:"SHOPIFY_FLAG_STORE"}),password:f.Flags.string({description:"Password from Theme Access app (overrides environment).",env:"SHOPIFY_FLAG_PASSWORD"})}}async run(){if(!R())return;let{flags:t}=await this.parse(o);(await L({path:t.path,environment:t.environment,store:t.store,password:t.password})).some(s=>s.status==="failed")&&(process.exitCode=1)}};export{$ as a};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as j}from"./chunk-
|
|
1
|
+
import{a as j}from"./chunk-3XBPV64S.js";import{c as O,i as k,o as x}from"./chunk-HS7TCC4I.js";import{a as _}from"./chunk-XEHMXJ5J.js";import{e as R}from"./chunk-OYOTLGGD.js";import{p as v,v as A}from"./chunk-5VKFEYZK.js";import{b as F,c as L}from"./chunk-BPRY3O4N.js";import{J as y}from"./chunk-SQVJGTTD.js";import{m as T}from"./chunk-O6BUPYXH.js";import{$a as $,Lb as S,Pb as p,la as P,ua as g}from"./chunk-KNLPWHHJ.js";import{d as m,i as w}from"./chunk-773TIA5M.js";import{a as U}from"./chunk-M5GXA5W4.js";import{e as D,g as l}from"./chunk-VKWPEFWQ.js";l();l();l();import{fileURLToPath as I}from"node:url";async function E(...i){let e=await $("package.json",{cwd:I(import.meta.url),type:"file"});if(!e)throw new Error("Failed to find CLI root path");return e.endsWith("/packages/theme/package.json")?m(w(e),"assets",...i):m(w(e),"dist","assets",...i)}async function b(i,e,s,t,n,f){let c=await O(i)?await j(f,i.storeFqdn):void 0;if(n)throw new T("Unable to use Admin API or Theme Access tokens with the profile command","You must authenticate manually by not passing the --password flag.");let d=await x(e,i,n,c),o=await k(d,{method:"GET",path:s,query:[],themeId:e,headers:{Accept:"application/vnd.speedscope+json"}});if(o.status!==200){let u=await o.text();throw new Error(`Bad response: ${o.status}: ${u}`)}let a=await o.text();t?S(a):await J(a)}async function J(i){let e=process.env.WSL_DISTRO_NAME,s=e?`//wsl$/${e}`:"",t=await E("speedscope","index.html");p(`[Theme Profile] Resolved URL to open: ${t}`);let n="liquid-profile",f=Buffer.from(i).toString("base64"),c=`speedscope.loadFileFromBase64(${JSON.stringify(n)}, ${JSON.stringify(f)})`,d=`speedscope-${Number(new Date)}-${process.pid}`,o=m(P(),`${d}.js`);p(`[Theme Profile] writing JS file to: ${o}`),await g(o,c),p(`[Theme Profile] JS file created successfully: ${o}`),t=`${s}${t}`,o=`${s}${o}`,t+=`#localProfilePath=${o}`;let a=m(P(),`${d}.html`);p(`[Theme Profile] writing HTML file to: ${a}`),await g(a,`<script>window.location=${JSON.stringify(t)}</script>`),p(`[Theme Profile] HTML file created successfully: ${a}`),a=`${s}${a}`,t=`file://${a}`,p(`[Theme Profile] Opening URL: ${t}`);let u=await y(t);p(`[Theme Profile] URL opened successfully: ${u}`)}var h=D(U(),1);var q,r=class extends A{async command(e,s){let{password:t}=e,n;e.theme?n={filter:{theme:e.theme}}:n={filter:{live:!0}};let f=await _(s,n),c=[{title:`Generating Liquid profile for ${s.storeFqdn} ${e.url}`,task:async()=>{await b(s,f.id.toString(),e.url,e.json,t,e["store-password"])}}];await R(c)}};q=r;r.summary="Profile the Liquid rendering of a theme page.";r.usage=["theme profile","theme profile --url /products/classic-leather-jacket"];r.descriptionWithMarkdown=`Profile the Shopify Liquid on a given page.
|
|
2
2
|
|
|
3
3
|
This command will open a web page with the Speedscope profiler detailing the time spent executing Liquid on the given page.`;r.description=q.descriptionWithoutMarkdown();r.flags={...F,...v,theme:h.Flags.string({char:"t",description:"Theme ID or name of the remote theme.",env:"SHOPIFY_FLAG_THEME_ID"}),url:h.Flags.string({description:"The url to be used as context",env:"SHOPIFY_FLAG_URL",default:"/"}),"store-password":h.Flags.string({description:"The password for storefronts with password protection.",env:"SHOPIFY_FLAG_STORE_PASSWORD"}),...L};r.multiEnvironmentsFlags=null;var le=r;export{le as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as m}from"./chunk-
|
|
1
|
+
import{b as m}from"./chunk-3PFIBTES.js";import{C as f}from"./chunk-SQVJGTTD.js";import{Lb as c}from"./chunk-KNLPWHHJ.js";import{a as N}from"./chunk-M5GXA5W4.js";import{e as v,g}from"./chunk-VKWPEFWQ.js";g();var d=v(N(),1),i=class h extends m{static{this.description="View all the available command flags"}static{this.hidden=!0}static{this.flags={csv:d.Flags.boolean({description:"Output as CSV",env:"SHOPIFY_FLAG_OUTPUT_CSV",default:!1})}}async run(){let{flags:p}=await this.parse(h),s=[];for(let[t,a]of this.config.plugins)for(let o of a.commands){let l=await o.load(),n;a.name.startsWith("@shopify")?n=a.name.substring(9):n=a.name.startsWith("@oclif")?a.name.substring(7):a.name;let e=l.flags;if(e)for(let[u,r]of Object.entries(e))s.push({pluginName:n,command:o.id,flagName:`--${u}`,flagChar:r.char?`-${r.char}`:"",flagEnv:r.env})}if(p.csv){let t=["pluginName","command","flagName","flagChar","flagEnv"],a=`${t.join(",")}
|
|
2
2
|
`,o=s.map(n=>t.map(e=>n[e]).join(",")).join(`
|
|
3
3
|
`),l=`${a}${o}
|
|
4
4
|
`;c(l)}else f({rows:s,columns:{pluginName:{header:"plugin",color:"red"},command:{},flagName:{header:"long flag",color:"green"},flagChar:{header:"short flag",color:"green"},flagEnv:{header:"env variable",color:"blueBright"}}})}};export{i as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as C}from"./chunk-
|
|
1
|
+
import{a as C}from"./chunk-X2ZCC772.js";import{a as E}from"./chunk-33AVVFWW.js";import{P as F,Q as _,U as x,wa as R}from"./chunk-LANGOUPS.js";import{b as I}from"./chunk-BPRY3O4N.js";import{D as A,v,x as h}from"./chunk-SQVJGTTD.js";import{d as w}from"./chunk-4NSHAMD3.js";import{o as k}from"./chunk-O6BUPYXH.js";import{a as y}from"./chunk-M5GXA5W4.js";import{e as b,g as l}from"./chunk-VKWPEFWQ.js";l();l();async function P(n){let{developerPlatformClient:e,app:p,remoteApp:s}=n,{extensionIdentifiersBreakdown:a,versionDetails:o}=await F(e,s,n.version),t=_({localApp:p,versionAppModules:o.appModuleVersions,activeAppVersion:await e.activeAppVersion(s)});if(!await x({configExtensionIdentifiersBreakdown:t,extensionIdentifiersBreakdown:a,appTitle:s.title,release:!0,allowUpdates:n.force||n.allowUpdates,allowDeletes:n.force||n.allowDeletes}))throw new k;let m=[{title:"Releasing version",task:async u=>{u.appRelease=await e.release({app:s,version:{versionId:o.uuid,appVersionId:o.id}})}}],{appRelease:{appRelease:i}}=await A(m),f=[{link:{label:o.versionTag??void 0,url:o.location}},o.message?`
|
|
2
2
|
${o.message}`:""];if(i.userErrors&&i.userErrors.length>0){let u=i.userErrors?.map(T=>T.message).join(", ");h({headline:"Version couldn't be released.",body:[...f,`${f.length>0?`
|
|
3
3
|
|
|
4
4
|
`:""}${u}`]})}else v({headline:"Version released to users.",body:f})}var d=b(y(),1);var g,r=class extends C{async run(){let{flags:e}=await this.parse(g),p=e["client-id"];await w(()=>({cmd_app_reset_used:e.reset}));let s=e["allow-updates"],a=e["allow-deletes"],o=!!(s&&a),t=[];!s&&!a&&t.push("allow-updates"),this.failMissingNonTTYFlags(e,t);let{app:c,remoteApp:m,developerPlatformClient:i}=await R({directory:e.path,clientId:p,forceRelink:e.reset,userProvidedConfigName:e.config});return await P({app:c,remoteApp:m,developerPlatformClient:i,force:o,allowUpdates:s,allowDeletes:a,version:e.version}),{app:c}}};g=r;r.summary="Release an app version.";r.usage="app release --version <version>";r.descriptionWithMarkdown="Releases an existing app version. Pass the name of the version that you want to release using the `--version` flag.";r.description=g.descriptionWithoutMarkdown();r.flags={...I,...E,"allow-updates":d.Flags.boolean({hidden:!1,description:"Allows adding and updating extensions and configuration without requiring user confirmation. Recommended option for CI/CD environments.",env:"SHOPIFY_FLAG_ALLOW_UPDATES"}),"allow-deletes":d.Flags.boolean({hidden:!1,description:"Allows removing extensions and configuration without requiring user confirmation. For CI/CD environments, the recommended flag is --allow-updates.",env:"SHOPIFY_FLAG_ALLOW_DELETES"}),version:d.Flags.string({hidden:!1,description:"The name of the app version to release.",env:"SHOPIFY_FLAG_VERSION",required:!0})};var G=r;export{G as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b}from"./chunk-
|
|
1
|
+
import{b}from"./chunk-5Y33JTFD.js";import{j as h,l as u,o as T}from"./chunk-HS7TCC4I.js";import{a as F}from"./chunk-XEHMXJ5J.js";import{p as y,v as O}from"./chunk-5VKFEYZK.js";import{b as I}from"./chunk-BPRY3O4N.js";import{n as f,ua as v}from"./chunk-OQ6WYWG4.js";import{v as _}from"./chunk-SQVJGTTD.js";import{m as s}from"./chunk-O6BUPYXH.js";import{Mb as S,Ua as l,ma as c}from"./chunk-KNLPWHHJ.js";import{a as U}from"./chunk-M5GXA5W4.js";import{e as A,g as p}from"./chunk-VKWPEFWQ.js";p();p();p();async function P({session:e,overridesContent:r,themeId:t}){v("theme-preview:create");let w=`${u(e)}/theme_preview.json?preview_theme_id=${t}`,o=await h(e,{headers:{"Content-Type":"application/json"}}),i=await f(w,{method:"POST",body:r,headers:o});if(!i.ok)throw new s(`Theme preview request failed with status ${i.status}: ${i.statusText}`);let a=await J(i);return v("theme-preview:create"),a}async function g({session:e,overridesContent:r,themeId:t,previewIdentifier:d}){v("theme-preview:update");let o=`${u(e)}/theme_preview.json?preview_theme_id=${t}&preview_identifier=${encodeURIComponent(d)}`,i=await h(e,{headers:{"Content-Type":"application/json"}}),a=await f(o,{method:"POST",body:r,headers:i});if(!a.ok)throw new s(`Theme preview request failed with status ${a.status}: ${a.statusText}`);let x=await J(a);return v("theme-preview:update"),x}async function J(e){let r=await e.json();if(r.error)throw new s(`Theme preview failed: ${r.error}`);if(!r.url||!r.preview_identifier)throw new s("Theme preview returned an unexpected response");return{url:r.url,preview_identifier:r.preview_identifier}}async function $(e){if(!l(e.overrideJson))throw new s(`Override file not found: ${e.overrideJson}`);let r=await c(e.overrideJson),t;try{t=JSON.parse(r)}catch(i){let a=i instanceof Error?i.message:String(i);throw new s(`Failed to parse override file: ${e.overrideJson}`,a)}let d=await T(e.themeId,e.adminSession,e.password),w=JSON.stringify(t),o=e.previewIdentifier?await g({session:d,overridesContent:w,themeId:e.themeId,previewIdentifier:e.previewIdentifier}):await P({session:d,overridesContent:w,themeId:e.themeId});e.json?S(JSON.stringify({url:o.url,preview_identifier:o.preview_identifier})):_({body:[{list:{title:e.previewIdentifier?"Preview updated":"Preview is ready",items:[{link:{url:o.url}},`Preview ID: ${o.preview_identifier}`]}}]}),e.open&&b(o.url,"theme preview")}var m=A(U(),1);var E,n=class extends O{async command(r,t){let d=await F(t,{filter:{theme:r.theme}});await $({adminSession:t,overrideJson:r.overrides,themeId:d.id.toString(),previewIdentifier:r["preview-id"],open:r.open,password:r.password,json:r.json})}};E=n;n.summary="Applies JSON overrides to a theme and returns a preview URL.";n.descriptionWithMarkdown="Applies a JSON overrides file to a theme and creates or updates a preview. This lets you quickly preview changes.\n\n The command returns a preview URL and a preview identifier. You can reuse the preview identifier with `--preview-id` to update an existing preview instead of creating a new one.";n.description=E.descriptionWithoutMarkdown();n.flags={...I,...y,theme:m.Flags.string({char:"t",description:"Theme ID or name of the remote theme.",env:"SHOPIFY_FLAG_THEME_ID",required:!0}),overrides:m.Flags.string({description:"Path to a JSON overrides file.",env:"SHOPIFY_FLAG_OVERRIDES",required:!0}),"preview-id":m.Flags.string({description:"An existing preview identifier to update instead of creating a new preview.",env:"SHOPIFY_FLAG_PREVIEW_ID"}),open:m.Flags.boolean({description:"Automatically launch the theme preview in your default web browser.",env:"SHOPIFY_FLAG_OPEN",default:!1}),json:m.Flags.boolean({description:"Output the preview URL and identifier as JSON.",env:"SHOPIFY_FLAG_JSON",default:!1})};n.multiEnvironmentsFlags=null;var ee=n;export{ee as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as u}from"./chunk-
|
|
1
|
+
import{c as u}from"./chunk-5EDRU7YU.js";import{w as c}from"./chunk-SQVJGTTD.js";import{e as s}from"./chunk-4NSHAMD3.js";import{$a as d}from"./chunk-KNLPWHHJ.js";import{q as m}from"./chunk-773TIA5M.js";import{g as f}from"./chunk-VKWPEFWQ.js";f();function o(e,n){n||c(e)}async function P(e,n,t){let r=await l(n,t);if(!r){o({body:"Environment file not found."},t?.silent);return}let a=(await u.read(r)).content.environments;if(!a){o({body:["No environments found in",{command:r},{char:"."}]},t?.silent);return}let i=a[e];if(!i){o({body:["Environment",{command:e},"not found."]},t?.silent);return}return await s(()=>({environmentFlags:JSON.stringify(i)})),i}async function l(e,n){let t=n?.from&&n.from!=="."?n.from:m();return d(e,{cwd:t,type:"file"})}export{P as a,l as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as R}from"./chunk-
|
|
1
|
+
import{m as R}from"./chunk-OQ6WYWG4.js";import{f as G}from"./chunk-4NSHAMD3.js";import{a as T,b as k}from"./chunk-IDMJWVJC.js";import{m as l}from"./chunk-O6BUPYXH.js";import{Fb as u,Hb as h,Oa as y,Pa as x,Pb as f,ka as $,ua as b,wa as g}from"./chunk-KNLPWHHJ.js";import{d,i as w}from"./chunk-773TIA5M.js";import{g as m}from"./chunk-VKWPEFWQ.js";m();function U(a){let t=/^(?:(?:https:\/\/)?([^:/]+\.[^:/]+)\/|git@([^:/]+)[:/]|([^/]+):)?([^/\s]+)\/([^/\s#]+)(?:((?:\/[^/\s#]+)+))?(?:\/)?(?:#(.+))?/.exec(a);if(!t){let v=["github:user/repo","user/repo/subdirectory","git@github.com:user/repo","user/repo#dev","https://github.com/user/repo"];return k(new Error(`Parsing the url ${a} failed. Supported formats are ${v.join(", ")}.`))}let e=t[1]??t[2]??t[3]??"github.com",r=e==="github"?"github.com":e,s=t[4],i=t[5].replace(/\.git$/,""),n=t[6]?.slice(1),o=t[7],p=o?`#${o}`:"",c=`git@${r}:${s}/${i}`,H=`https://${r}/${s}/${i}`,P=["https:/",r,s,i,n].join("/").concat(p);return T({full:P,site:r,user:s,name:i,ref:o,subDirectory:n,ssh:c,http:H})}function A(a){let t=new URL(a),e=t.hash?t.hash.slice(1):void 0,[r,s,i,...n]=t.pathname.split("/"),o=n.length>0?n.join("/"):void 0;return{baseURL:`${t.origin}/${s}/${i}`,branch:e,filePath:o}}async function B(a,t,e,r){let s=`https://github.com/${a}/releases/download/${t}/${e}`;return G("cmd_all_timing_network_ms")(async()=>{f(h`Downloading ${u.link(e,s)}`),await $(async i=>{let n=d(i,e),o;try{if(o=await R(s,void 0,"slow-request"),!o.ok)throw new l(`Failed to download ${e}: ${o.statusText}`)}catch(c){throw new l(`Failed to download ${e}: ${c instanceof Error?c.message:"unknown error"}`)}let p=await o.arrayBuffer();await b(n,Buffer.from(p)),await x(n,493),await g(w(r)),await y(n,r)}),f(h`${u.successIcon()} Successfully downloaded ${u.path(r)}`)})}export{U as a,A as b,B as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as f}from"./chunk-
|
|
1
|
+
import{a as f}from"./chunk-G3CPHVML.js";import{a as n}from"./chunk-33AVVFWW.js";import{C as s,xa as c,z as p}from"./chunk-LANGOUPS.js";import{b as e}from"./chunk-BPRY3O4N.js";import{a as d}from"./chunk-M5GXA5W4.js";import{e as l,g as r}from"./chunk-VKWPEFWQ.js";r();var m=l(d(),1);var t,{config:b,...u}=n,o=class extends f{async run(){let{flags:a,args:i}=await this.parse(t),{app:g}=await c({directory:a.path,userProvidedConfigName:i.config});return await s(a.path),await p({directory:a.path,configName:i.config,reset:a.reset}),{app:g}}};t=o;o.summary="Activate an app configuration.";o.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.";o.description=t.descriptionWithoutMarkdown();o.usage="app config use [config] [flags]";o.flags={...e,...u};o.args={config:m.Args.string({description:"The name of the app configuration. Can be 'shopify.app.staging.toml' or simply 'staging'."})};var v=o;export{v as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as o}from"./chunk-3PFIBTES.js";import{E as r}from"./chunk-SH5VEQ7F.js";import{O as t}from"./chunk-SQVJGTTD.js";import{a as g}from"./chunk-M5GXA5W4.js";import{e as l,g as n}from"./chunk-VKWPEFWQ.js";n();var i=l(g(),1),p=["add","Shopify/cli#feature/shopify-validate-command","--skill","shopify","--global","--yes"],s=class a extends o{static{this.summary="Install the Shopify skill for coding agents."}static{this.flags={"package-manager":i.Flags.string({description:"The package manager to use to download the latest version of the skills CLI.",env:"SHOPIFY_FLAG_PACKAGE_MANAGER",options:["npm","pnpm","yarn","bun"]})}}async run(){let{flags:m}=await this.parse(a),c=r(m["package-manager"]),e=d(c);await t(e.command,[...e.args,...p],{stdio:"inherit"})}};function d(a){switch(a){case"pnpm":return{command:"pnpx",args:["skills@latest"]};case"yarn":return{command:"yarn",args:["dlx","skills@latest"]};case"bun":return{command:"bunx",args:["skills@latest"]};case"npm":case"homebrew":case"unknown":return{command:"npx",args:["--yes","skills@latest"]}}}export{s as a,d as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as L}from"./chunk-
|
|
1
|
+
import{b as L}from"./chunk-H2Z3SST2.js";import{a as V}from"./chunk-V4CPWXJP.js";import{k as q,l as H,n as I}from"./chunk-GVHVEYNG.js";import{a as N}from"./chunk-ONCEFPYP.js";import{a as Y}from"./chunk-65H3LZJA.js";import{a as p,b as w}from"./chunk-STJ3LWFL.js";import{a as F}from"./chunk-XEHMXJ5J.js";import{a as y,c as U}from"./chunk-OYOTLGGD.js";import{b as g,c as x,d as M,f as _,j as R,n as j,p as D}from"./chunk-VQ44LFBY.js";import{r as k}from"./chunk-5VKFEYZK.js";import{aa as B}from"./chunk-HJH672U6.js";import{O as b,ua as a,va as O}from"./chunk-OQ6WYWG4.js";import{A as P,v as f,w as d,x as C}from"./chunk-SQVJGTTD.js";import{m as S}from"./chunk-O6BUPYXH.js";import{Lb as $}from"./chunk-KNLPWHHJ.js";import{f as T,q as l}from"./chunk-773TIA5M.js";import{e as z,g as v}from"./chunk-VKWPEFWQ.js";v();var A=z(B(),1);async function Te(e,t,r,o){let n=e.environment?.[0],s=t??await b(k({store:e.store}),e.password);if(e.strict){let m=e.json?"json":"text",{offenses:c}=await L(e.path??l(),m);if(c.length>0&&c.filter(J=>J.severity===A.Severity.ERROR).length>0)throw O(new S(n?`[${n}] Theme check failed. Please fix the errors before pushing.`:"Theme check failed. Please fix the errors before pushing."))}a("theme-service:push:setup"),Y({verbose:e.verbose,noColor:e.noColor});let i=e.force??!1,h=e.path?T(e.path):l();if(!await I(h)&&!await U(i,void 0,n,r))return;e.listing&&await q(h,e.listing);let u=await Z(s,e,r);u&&(a("theme-service:push:setup"),await W(u,s,{allowLive:e.allowLive??!1,environment:n,force:i,ignore:e.ignore??[],json:e.json??!1,multiEnvironment:r,nodelete:e.nodelete??!1,only:e.only??[],path:h,publish:e.publish??!1,listing:e.listing},o))}async function W(e,t,r,o){a("theme-service:push:file-system");let n=await j(e.id,t),s=H(r.path,{filters:r,listing:r.listing});a("theme-service:push:file-system");let{uploadResults:i,renderThemeSyncProgress:h}=V(e,t,n,s,r,o);await h(),r.publish&&await D(e.id,t),await G(i,e,t,r)}function E(e){for(let[t,r]of e.entries())if(!r.success)return!0;return!1}async function G(e,t,r,o){o.json?K(t,r,e,o.environment):o.publish?Q(r,e,o.environment):X(t,r,e,o.environment)}function K(e,t,r,o){let n={environment:o,theme:{id:e.id,name:e.name,role:e.role,shop:t.storeFqdn,editor_url:w(e,t),preview_url:p(e,t)}};if(E(r)){let i=`${o?`[${o}] `:""}The theme '${e.name}' was pushed with errors`;n.theme.warning=i;let h={};for(let[u,m]of r.entries())!m.success&&m.errors?.asset&&(h[u]=m.errors.asset);Object.keys(h).length>0&&(n.theme.errors=h)}$(JSON.stringify(n))}function Q(e,t,r){let o=r?[{subdued:`Environment: ${r}
|
|
2
2
|
|
|
3
3
|
`}]:[];E(t)?d({body:[...o,`Your theme was published with errors and is now live at https://${e.storeFqdn}`]}):f({body:[...o,`Your theme is now live at https://${e.storeFqdn}`]})}function X(e,t,r,o){let n=o?[{subdued:`Environment: ${o}
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{O as v,a as O}from"./chunk-
|
|
1
|
+
import{O as v,a as O}from"./chunk-SQVJGTTD.js";import{j as W,l as B}from"./chunk-WMKVFUMY.js";import{f as h}from"./chunk-4NSHAMD3.js";import{m as u,p as T}from"./chunk-O6BUPYXH.js";import{$a as S,Bb as L,Fb as c,Hb as s,Pb as d,Ta as w,Ua as i,Wa as D,ma as x,ua as b}from"./chunk-KNLPWHHJ.js";import{d as o,i as k}from"./chunk-773TIA5M.js";import{a as I}from"./chunk-CX5CC6P5.js";import{e as R,g as f}from"./chunk-VKWPEFWQ.js";f();f();function M(e,n){try{return JSON.parse(e)}catch(a){let r=a instanceof Error?a.message:String(a),t=n?` from ${n}`:"";throw new u(`Failed to parse JSON${t}.
|
|
2
2
|
${r}`)}}var l=R(I(),1),j="yarn.lock",J="package-lock.json",$="pnpm-lock.yaml",C="bun.lockb",_="bun.lock",V="pnpm-workspace.yaml",ke=[j,$,J,C,_],we={yarn:[j],npm:[J],pnpm:[$],bun:[C,_],homebrew:[],unknown:[]},E=["yarn","npm","pnpm","bun","homebrew","unknown"],P=class extends u{constructor(){super("Unknown package manager")}},y=class extends u{constructor(n){super(s`The directory ${c.path(n)} doesn't have a package.json.`)}},N=class extends T{constructor(n){super(s`Couldn't find a a package.json traversing directories from ${c.path(n)}`)}};function A(e=process.env){let n=e.npm_config_user_agent;return["yarn","pnpm","bun","npm"].find(a=>n?.includes(a))??"unknown"}function U(e){return i(o(e,C))||i(o(e,_))}function G(e){switch(e){case"yarn":case"npm":case"pnpm":case"bun":return e;case"homebrew":case"unknown":return"npm"}}function K(e,n,...a){switch(e){case"npm":return{command:"npm",args:["exec","--",n,...a]};case"pnpm":return{command:"pnpm",args:["exec",n,...a]};case"yarn":return{command:"yarn",args:["run",n,...a]};case"bun":return{command:"bun",args:["x",n,...a]}}}async function F(e){let n=e;for(d(s`Looking for a lockfile in ${c.path(n)}...`);;){if(i(o(n,j)))return"yarn";if(i(o(n,$))||i(o(n,V)))return"pnpm";if(U(n))return"bun";if(i(o(n,J)))return"npm";let r=k(n);if(r===n)break;n=r}let a=A();return a!=="unknown"?a:"npm"}async function he(e,n,...a){let r=G(await F(e));return K(r,n,...a)}async function ye(e){let n=await D(o(e.directory,"**/package.json"),{ignore:[o(e.directory,"node_modules/**/package.json")],cwd:e.directory,onlyFiles:!0,deep:e.deep}),a=new O;try{await Promise.all(n.map(async r=>{let t=k(r);await z({directory:t,packageManager:e.packageManager,stdout:void 0,stderr:void 0,signal:a.signal,args:[]})}))}catch(r){throw a.abort(),r}}async function z(e){let n={cwd:e.directory,stdin:void 0,stdout:e.stdout,stderr:e.stderr,signal:e.signal},a=["install"];e.args&&(a=a.concat(e.args)),await h("cmd_all_timing_network_ms")(async()=>{await v(e.packageManager,a,n)})}async function xe(e){return(await g(e)).name}async function be(e){return(await g(e)).version}async function H(e){let n=await g(e),a=n.dependencies??{},r=n.devDependencies??{};return{...a,...r}}async function ve(e){let n=o(e,"package.json"),a=await g(n),r=o(e,V);return!!a.workspaces||w(r)}async function Me(e,n,{cacheExpiryInHours:a=0}={}){let r=async()=>(d(s`Checking if there's a version of ${e} newer than ${n}`),ne(e)),t=`npm-package-${e}`,p;try{p=await W(t,r,a*3600*1e3)}catch{return}if(p&&new l.SemVer(n).compare(p)<0)return p}function Pe(e,n){let a=`npm-package-${e}`,r=B(a)?.value;if(r&&new l.SemVer(n).compare(r)<0)return r}function Ne(e,n){return(0,l.satisfies)(e,n)}async function g(e){if(!await w(e))throw new y(k(e));return M(await x(e),e)}async function Y(e,n){d(s`Adding the following dependencies if needed:
|
|
3
3
|
${c.json(e)}
|
|
4
4
|
With options:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as J}from"./chunk-
|
|
1
|
+
import{c as J}from"./chunk-AK4NPOQG.js";import{b as T}from"./chunk-I7QJGHS6.js";import{a as ae}from"./chunk-IP2ZMDG4.js";import{a as ne}from"./chunk-X2ZCC772.js";import{a as z}from"./chunk-33AVVFWW.js";import{C as Z,E as ee,d as K,e as Q,wa as te}from"./chunk-LANGOUPS.js";import{f as k,h as X,i as B}from"./chunk-FDQNY7RF.js";import{a as P}from"./chunk-XKMLKEYX.js";import{b as H}from"./chunk-BPRY3O4N.js";import{d as F}from"./chunk-OQ6WYWG4.js";import{C as G,p as _,x as R,y as b}from"./chunk-SH5VEQ7F.js";import{B as q,D as O,F as V,v as $,z as U}from"./chunk-SQVJGTTD.js";import{m}from"./chunk-O6BUPYXH.js";import{Gb as W,Oa as j,Ta as x,Ua as D,Wa as L,X as f,_ as M,ka as g,qa as N,wa as v,ya as E}from"./chunk-KNLPWHHJ.js";import{e as Y}from"./chunk-E7Z7KYBR.js";import{d as p,n as I}from"./chunk-773TIA5M.js";import{a as xe}from"./chunk-M5GXA5W4.js";import{e as he,g as d}from"./chunk-VKWPEFWQ.js";d();d();d();async function re(e,t,r,n={}){let{templates:a,groupOrder:i}=await e.templateSpecifications(t,n);return{templates:a.filter(o=>r.includes(o.identifier)||r.includes(o.type)),groupOrder:i}}d();d();async function ie(e,t){let r=e?.path??"",n=p(t,r);if(!await x(n))throw new m(`
|
|
2
2
|
The extension is not available for ${e?.value}`);return n}async function oe({name:e,app:t}){let r=M(e),n=p(t.directory,B.extensions.directoryName,r);if(await x(n))throw new m(`
|
|
3
3
|
A directory with this name (${r}) already exists.
|
|
4
4
|
Choose a new name for your extension.`);return await v(n),await N(p(n,k.lockFile)),n}function A(e){switch(e){case"vanilla-js":case"preact":case"react":case"typescript":case"typescript-react":return"javascript";case"rust":case"wasm":return e;case void 0:case"liquid":case"config-only":return}}async function se(e){let t=e.extensionChoices.name,r=e.extensionChoices.flavor,n=e.extensionTemplate.supportedFlavors.find(o=>o.value===r),a=await oe({app:e.app,name:t}),i=e.cloneUrl??e.extensionTemplate.url,s={directory:a,url:i,app:e.app,project:e.project,type:e.extensionTemplate.type,name:t,extensionFlavor:n,onGetTemplateRepository:e.onGetTemplateRepository??(async(o,c)=>{await J({repoUrl:o,destination:c,shallow:!0})})};return await we(s),{directory:I(a),extensionTemplate:e.extensionTemplate}}async function we(e){try{switch(e.type){case"theme":await ge(e);break;case"function":await ve(e);break;default:await Ee(e);break}let t=p(e.directory,k.lockFile);await E(t)}catch(t){throw await E(e.directory),t}}async function ge({directory:e,url:t,type:r,name:n,extensionFlavor:a,onGetTemplateRepository:i}){return g(async s=>{let o=await S(t,a,s,i);await T(o,e,{name:n,type:r,uid:F(f(n))})})}async function ve({directory:e,url:t,app:r,project:n,name:a,extensionFlavor:i,onGetTemplateRepository:s}){let o=A(i?.value),c=[];c.push({title:"Generating function extension",task:async()=>{if(await g(async l=>{let u=await S(t,i,l,s);await T(u,e,{name:a,handle:f(a),flavor:i?.value,uid:F(f(a))})}),o==="javascript"){let l=ce(i?.value??"rust");await le(e,l,"!(*.graphql)")}}}),o==="javascript"&&c.push({title:"Installing additional dependencies",task:async()=>{n.usesWorkspaces&&await _({packageManager:n.packageManager,directory:n.directory});let l=Fe(o);await b(l,{packageManager:n.packageManager,type:"prod",directory:n.usesWorkspaces?e:n.directory})}}),o==="javascript"&&c.push({title:"Building GraphQL types",task:async()=>{await Q({directory:e,isJavaScript:!0},{stdout:process.stdout,stderr:process.stderr,app:r})}}),await O(c)}async function Ee({directory:e,url:t,app:r,project:n,name:a,extensionFlavor:i,onGetTemplateRepository:s}){let o=A(i?.value),c=[{title:"Generating extension",task:async()=>{let l=ce(i?.value??"vanilla-js");await g(async u=>{let h=await S(t,i,u,s);await T(h,e,{srcFileExtension:l,name:a,handle:f(a),flavor:i?.value??"",uid:F(f(a))})}),o==="javascript"&&await le(e,l)}},{title:"Installing dependencies",task:async()=>{let l=n.packageManager;if(n.usesWorkspaces)A(i?.value)==="javascript"&&await _({packageManager:l,directory:n.directory});else{await Te(n.directory,i?.value);let u=p(e,"package.json"),h=await ke(u);await b(h,{packageManager:l,type:"prod",directory:n.directory}),await E(u)}}}];c.push({title:"Update shared type definition",task:async()=>{await ee(r)}}),await O(c)}function ce(e){return{"vanilla-js":"js",preact:"jsx",react:"jsx",typescript:"ts","typescript-react":"tsx",rust:"rs",wasm:"wasm",liquid:"liquid","config-only":""}[e]??"js"}function Fe(e){let t=[];return e==="javascript"&&t.push({name:"@shopify/shopify_function",version:`~${K}.0.0`}),t}async function le(e,t,r="*"){let n=await L(p(e,"src",r)),a=[];for(let i of n)a.push(j(i,`${i}.${t}`));await Promise.all(a)}async function Te(e,t){t==="typescript-react"&&await G(e,{"@types/react":X.reactTypes})}async function ke(e){if(!await x(e))return[];let t=await R(e);return Object.entries(t?.dependencies??{}).map(([r,n])=>({name:r,version:n}))}async function S(e,t,r,n){let a=p(r,"download");return await v(a),await n(e,a),ie(t,a)}d();function Pe(e,t=[]){let r=[...e.map(a=>({label:a.name,value:a.identifier,group:a.group||"Other",sortPriority:a.sortPriority??Number.MAX_SAFE_INTEGER})),...t.map(a=>({label:`${a.name} (limit reached)`,value:a.identifier,group:a.group||"Other",disabled:!0,sortPriority:a.sortPriority??Number.MAX_SAFE_INTEGER}))],n=(a,i)=>a.sortPriority===i.sortPriority?a.label.localeCompare(i.label):a.sortPriority-i.sortPriority;return r.sort(n)}var _e=async e=>{let t=e.extensionTemplates,r=e.templateType,n=e.extensionFlavor;if(!r){if(n&&(t=t.filter(c=>c.supportedFlavors.map(l=>l.value).includes(n))),t.length===0)throw new m("You have reached the limit for the number of extensions you can create.");r=await q({message:"Type of extension?",choices:Pe(t,e.unavailableExtensions),groupOrder:e.groupOrder})}let a=t.find(c=>c.identifier===r),i=e.name||await pe(e.directory,a.defaultName),s=e.extensionFlavor??await be(a);return{extensionTemplate:a,extensionContent:{name:i,flavor:s}}};async function pe(e,t,r=1){let n=t.includes(" ")?" ":"-",a=r<=1?t:`${t}${n}${r}`,i=p(e,f(a));return D(i)?pe(e,t,r+1):V({message:"Name your extension:",defaultValue:a})}async function be(e){if(e.supportedFlavors.length!==0)return e.supportedFlavors.length===1&&e.supportedFlavors[0]?e.supportedFlavors[0].value:U({message:"What would you like to work in?",choices:e.supportedFlavors.map(t=>({label:t.name,value:t.value})),defaultValue:"react"})}var de=_e;async function Oe(e){let{app:t,developerPlatformClient:r,remoteApp:n,specifications:a,template:i}=e,s=a.map(ye=>ye.identifier),{templates:o,groupOrder:c}=await re(r,n,s,{requestedTemplate:i}),l=await Ae(o,c,a,t,e),u=await de(l);await Ce(u,i);let h=Ie(u,t,e,r),fe=await se(h);Me(fe,e.project.packageManager)}async function Ae(e,t,r,n,a){let i=await De(a.template,n,e,r);Ne(i,a.flavor);let{validTemplates:s,templatesOverlimit:o}=Se(e,r,n);return{templateType:i?.identifier,name:a.name,extensionFlavor:a.flavor,directory:p(a.directory,"extensions"),app:n,extensionTemplates:s??[],unavailableExtensions:o??[],reset:a.reset,groupOrder:t}}function Se(e,t,r){return ae(e,a=>!ue(r,t,a)?"validTemplates":"templatesOverlimit")}function ue(e,t,r){let n=r.type,a=t.find(s=>s.identifier===n||s.externalIdentifier===n);return e.extensionsForType({identifier:n,externalIdentifier:n}).length>=(a?.registrationLimit??1)}async function Ce(e,t){let{extensionContent:r}=e;return P.addPublicMetadata(()=>({cmd_scaffold_template_flavor:r.flavor,cmd_scaffold_type:e.extensionTemplate.identifier,cmd_scaffold_used_prompts_for_type:!t}))}function Ie(e,t,r,n){return{app:t,project:r.project,cloneUrl:r.cloneUrl,extensionChoices:e.extensionContent,extensionTemplate:e.extensionTemplate,developerPlatformClient:n}}function Me(e,t){let r=je(e.extensionTemplate,e.directory,t);$(r)}function Ne(e,t){if(!t||!e)return;let r=e.supportedFlavors.map(n=>n.value);if(!r.includes(t))throw new m("Invalid template for extension type",`Expected template to be one of the following: ${r.join(", ")}.`)}function je(e,t,r){let n={headline:["Your extension was created in",{filePath:t},{char:"."}],nextSteps:[],reference:[]};return e.type!=="function"&&n.nextSteps.push(["To preview this extension along with the rest of the project, run",{command:W(r,"shopify app dev")}]),e.supportLinks[0]&&n.reference.push(["For more details, see the",{link:{label:"docs",url:e.supportLinks[0]}}]),n}async function De(e,t,r,n){if(!e)return;let a=r.find(i=>i.identifier===e);if(!a){let i=await Y(),s=r.map(c=>c.identifier),o=i?"You might need to enable some flags on your Organization or App":void 0;throw new m(`Unknown extension type: ${e}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{xa as r}from"./chunk-
|
|
1
|
+
import{xa as r}from"./chunk-LANGOUPS.js";import{a}from"./chunk-XKMLKEYX.js";import{q as i}from"./chunk-773TIA5M.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var c=3e3;async function n(o){let t;try{if(a.getAllPublicMetadata().api_key!==void 0)return;await Promise.race([r({directory:o,skipPrompts:!0}),new Promise(l=>{t=setTimeout(l,c)})])}catch{}finally{t&&clearTimeout(t)}}var m=async()=>(await n(i()),a.getAllPublicMetadata()),f=m;export{f as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as Ea,b as Sa}from"./chunk-EJDWYASP.js";import{a as wa}from"./chunk-MVPRNGNO.js";import{a as ya}from"./chunk-GB3YC4TI.js";import{a as bn}from"./chunk-RJ5VF3QY.js";import{a as xa}from"./chunk-7UNQOKZW.js";import{a as wt}from"./chunk-4ZQTYDNB.js";import{f as Ne}from"./chunk-P5GRGEW4.js";import{m as qe,n as Et,o as wn,p as En,t as Sn}from"./chunk-OUPJTPTH.js";import{C as ca,Db as yn,E as ua,F as fa,Fb as Tn,H as ma,Hb as St,J as da,Pb as Ie,T as un,Vb as Ge,Wb as ke,a as ea,eb as N,f as ra,fb as g,gb as y,hb as sr,ib as mn,jb as xt,kb as fe,l as na,lb as dn,m as oa,mb as De,nb as yt,ob as pn,pb as ar,rb as ha,sb as ga,t as ir,tb as hn,u as ia,ub as Be,vb as $e,wb as gn,xb as V,y as aa,z as la}from"./chunk-UHI4NMIL.js";import{e as ta,g as sa,j as pa,l as fn,u as Ue}from"./chunk-A4SBXDZB.js";import{f as nt,n as vn}from"./chunk-EDZ3YWOD.js";import{a as or}from"./chunk-UKQ7NE5V.js";import{b as an,i as ln,q as cn}from"./chunk-773TIA5M.js";import{a as xn}from"./chunk-636CTEW7.js";import{j as ba}from"./chunk-TR4OWSEX.js";import{a as ue,c as k,e as D,g as u}from"./chunk-VKWPEFWQ.js";var Dn=k((Hu,Ln)=>{u();Ln.exports=Rn;Rn.sync=Ta;var Cn=ue("fs");function va(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var n=0;n<r.length;n++){var o=r[n].toLowerCase();if(o&&e.substr(-o.length).toLowerCase()===o)return!0}return!1}function An(e,t,r){return!e.isSymbolicLink()&&!e.isFile()?!1:va(t,r)}function Rn(e,t,r){Cn.stat(e,function(n,o){r(n,n?!1:An(o,e,t))})}function Ta(e,t){return An(Cn.statSync(e),e,t)}});var In=k((Wu,Bn)=>{u();Bn.exports=Mn;Mn.sync=Ca;var kn=ue("fs");function Mn(e,t,r){kn.stat(e,function(n,o){r(n,n?!1:_n(o,t))})}function Ca(e,t){return _n(kn.statSync(e),t)}function _n(e,t){return e.isFile()&&Aa(e,t)}function Aa(e,t){var r=e.mode,n=e.uid,o=e.gid,i=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),s=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),f=parseInt("100",8),m=parseInt("010",8),d=parseInt("001",8),p=f|m,b=r&d||r&m&&o===s||r&f&&n===i||r&p&&i===0;return b}});var On=k((Xu,Pn)=>{u();var Vu=ue("fs"),vt;process.platform==="win32"||global.TESTING_WINDOWS?vt=Dn():vt=In();Pn.exports=lr;lr.sync=Ra;function lr(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(n,o){lr(e,t||{},function(i,s){i?o(i):n(s)})})}vt(e,t||{},function(n,o){n&&(n.code==="EACCES"||t&&t.ignoreErrors)&&(n=null,o=!1),r(n,o)})}function Ra(e,t){try{return vt.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var Hn=k((Yu,Gn)=>{u();var He=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Fn=ue("path"),La=He?";":":",Un=On(),$n=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Nn=(e,t)=>{let r=t.colon||La,n=e.match(/\//)||He&&e.match(/\\/)?[""]:[...He?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],o=He?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=He?o.split(r):[""];return He&&e.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:n,pathExt:i,pathExtExe:o}},qn=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:n,pathExt:o,pathExtExe:i}=Nn(e,t),s=[],f=d=>new Promise((p,b)=>{if(d===n.length)return t.all&&s.length?p(s):b($n(e));let S=n[d],v=/^".*"$/.test(S)?S.slice(1,-1):S,w=Fn.join(v,e),A=!v&&/^\.[\\\/]/.test(e)?e.slice(0,2)+w:w;p(m(A,d,0))}),m=(d,p,b)=>new Promise((S,v)=>{if(b===o.length)return S(f(p+1));let w=o[b];Un(d+w,{pathExt:i},(A,C)=>{if(!A&&C)if(t.all)s.push(d+w);else return S(d+w);return S(m(d,p,b+1))})});return r?f(0).then(d=>r(null,d),r):f(0)},Da=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:n,pathExtExe:o}=Nn(e,t),i=[];for(let s=0;s<r.length;s++){let f=r[s],m=/^".*"$/.test(f)?f.slice(1,-1):f,d=Fn.join(m,e),p=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d;for(let b=0;b<n.length;b++){let S=p+n[b];try{if(Un.sync(S,{pathExt:o}))if(t.all)i.push(S);else return S}catch{}}}if(t.all&&i.length)return i;if(t.nothrow)return null;throw $n(e)};Gn.exports=qn;qn.sync=Da});var Wn=k((Qu,cr)=>{"use strict";u();var jn=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};cr.exports=jn;cr.exports.default=jn});var Kn=k((ef,Xn)=>{"use strict";u();var zn=ue("path"),ka=Hn(),Ma=Wn();function Vn(e,t){let r=e.options.env||process.env,n=process.cwd(),o=e.options.cwd!=null,i=o&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(e.options.cwd)}catch{}let s;try{s=ka.sync(e.command,{path:r[Ma({env:r})],pathExt:t?zn.delimiter:void 0})}catch{}finally{i&&process.chdir(n)}return s&&(s=zn.resolve(o?e.options.cwd:"",s)),s}function _a(e){return Vn(e)||Vn(e,!0)}Xn.exports=_a});var Yn=k((rf,fr)=>{"use strict";u();var ur=/([()\][%!^"`<>&|;, *?])/g;function Ba(e){return e=e.replace(ur,"^$1"),e}function Ia(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(ur,"^$1"),t&&(e=e.replace(ur,"^$1")),e}fr.exports.command=Ba;fr.exports.argument=Ia});var Qn=k((of,Zn)=>{"use strict";u();Zn.exports=/^#!(.*)/});var eo=k((af,Jn)=>{"use strict";u();var Pa=Qn();Jn.exports=(e="")=>{let t=e.match(Pa);if(!t)return null;let[r,n]=t[0].replace(/#! ?/,"").split(" "),o=r.split("/").pop();return o==="env"?n:n?`${o} ${n}`:o}});var ro=k((cf,to)=>{"use strict";u();var mr=ue("fs"),Oa=eo();function Fa(e){let r=Buffer.alloc(150),n;try{n=mr.openSync(e,"r"),mr.readSync(n,r,0,150,0),mr.closeSync(n)}catch{}return Oa(r.toString())}to.exports=Fa});var so=k((ff,io)=>{"use strict";u();var Ua=ue("path"),no=Kn(),oo=Yn(),$a=ro(),Na=process.platform==="win32",qa=/\.(?:com|exe)$/i,Ga=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Ha(e){e.file=no(e);let t=e.file&&$a(e.file);return t?(e.args.unshift(e.file),e.command=t,no(e)):e.file}function ja(e){if(!Na)return e;let t=Ha(e),r=!qa.test(t);if(e.options.forceShell||r){let n=Ga.test(t);e.command=Ua.normalize(e.command),e.command=oo.command(e.command),e.args=e.args.map(i=>oo.argument(i,n));let o=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${o}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function Wa(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let n={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?n:ja(n)}io.exports=Wa});var co=k((df,lo)=>{"use strict";u();var dr=process.platform==="win32";function pr(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function za(e,t){if(!dr)return;let r=e.emit;e.emit=function(n,o){if(n==="exit"){let i=ao(o,t);if(i)return r.call(e,"error",i)}return r.apply(e,arguments)}}function ao(e,t){return dr&&e===1&&!t.file?pr(t.original,"spawn"):null}function Va(e,t){return dr&&e===1&&!t.file?pr(t.original,"spawnSync"):null}lo.exports={hookChildProcess:za,verifyENOENT:ao,verifyENOENTSync:Va,notFoundError:pr}});var mo=k((hf,je)=>{"use strict";u();var uo=ue("child_process"),hr=so(),gr=co();function fo(e,t,r){let n=hr(e,t,r),o=uo.spawn(n.command,n.args,n.options);return gr.hookChildProcess(o,n),o}function Xa(e,t,r){let n=hr(e,t,r),o=uo.spawnSync(n.command,n.args,n.options);return o.error=o.error||gr.verifyENOENTSync(o.status,n),o}je.exports=fo;je.exports.spawn=fo;je.exports.sync=Xa;je.exports._parse=hr;je.exports._enoent=gr});var ko=k((Qf,Do)=>{"use strict";u();var{PassThrough:bl}=ue("stream");Do.exports=function(){var e=[],t=new bl({objectMode:!0});return t.setMaxListeners(0),t.add=r,t.isEmpty=n,t.on("unpipe",o),Array.prototype.slice.call(arguments).forEach(r),t;function r(i){return Array.isArray(i)?(i.forEach(r),this):(e.push(i),i.once("end",o.bind(null,i)),i.once("error",t.emit.bind(t,"error")),i.pipe(t,{end:!1}),this)}function n(){return e.length==0}function o(i){e=e.filter(function(s){return s!==i}),!e.length&&t.readable&&t.end()}}});var Jo=k((cd,Qo)=>{u();var{EventEmitter:Ql}=ue("events"),Dt=class{constructor(){this.eventEmitter=new Ql,this.onabort=null,this.aborted=!1,this.reason=void 0}toString(){return"[object AbortSignal]"}get[Symbol.toStringTag](){return"AbortSignal"}removeEventListener(t,r){this.eventEmitter.removeListener(t,r)}addEventListener(t,r){this.eventEmitter.on(t,r)}dispatchEvent(t){let r={type:t,target:this},n=`on${t}`;typeof this[n]=="function"&&this[n](r),this.eventEmitter.emit(t,r)}throwIfAborted(){if(this.aborted)throw this.reason}static abort(t){let r=new st;return r.abort(),r.signal}static timeout(t){let r=new st;return setTimeout(()=>r.abort(new Error("TimeoutError")),t),r.signal}},st=class{constructor(){this.signal=new Dt}abort(t){this.signal.aborted||(this.signal.aborted=!0,t?this.signal.reason=t:this.signal.reason=new Error("AbortError"),this.signal.dispatchEvent("abort"))}toString(){return"[object AbortController]"}get[Symbol.toStringTag](){return"AbortController"}};Qo.exports={AbortController:st,AbortSignal:Dt}});var ui=k((fp,ci)=>{"use strict";u();ci.exports=class ye{constructor(t){try{t(r=>{this.setValue(r,!1)},r=>{this.setValue(r,!0)})}catch(r){this.setValue(r,!0)}}setValue(t,r){this.val=t instanceof ye?t.val:t,this.rejected=r||(t instanceof ye?t.rejected:!1)}static valueFrom(t){if(t instanceof ye){if(t.rejected)throw t.val;return t.val}else return t}then(t){try{if(!this.rejected)return ye.resolve(t(this.val))}catch(r){return ye.reject(r)}return this}catch(t){try{if(this.rejected)return ye.resolve(t(this.val))}catch(r){return ye.reject(r)}return this}static resolve(t){return new ye(r=>{r(t)})}static reject(t){return new ye((r,n)=>{n(t)})}}});var di=k((dp,mi)=>{"use strict";u();var fi=typeof window<"u"&&window.window===window&&window.navigator,hc=fi?window.location.href:process.cwd(),gc=new RegExp("^((https|http)://)?[a-z0-9A-Z]{3}.[a-z0-9A-Z][a-z0-9A-Z]{0,61}?[a-z0-9A-Z].com|net|cn|cc (:s[0-9]{1-4})?/$"),Ce=mi.exports={concat(e,t){let r=e[e.length-1]==="/",n=t[0]==="/";return e+(r||n?"":"/")+(r&&n?t.substring(1):t)},resolve(e){return Ce.isAbsolute(e)?Ce.normalize(e):Ce.normalize(Ce.concat(hc,e))},normalize(e){let t=[],r=0;e.split("/").reverse().filter(o=>o!==".").forEach(o=>{o===".."?r++:r===0?t.push(o):r--});let n=t.reverse().join("/");return(fi&&n[0]==="/"?n[1]==="/"?window.location.protocol:window.location.origin:"")+n},isData:e=>e.indexOf("data:")===0,isURL:e=>gc.test(e),isAbsolute:e=>e[0]==="/"||/^[^\/]*:/.test(e),relativeToFile(e,t){return Ce.isData(e)||Ce.isAbsolute(t)?Ce.normalize(t):Ce.normalize(Ce.concat(e.split("/").slice(0,-1).join("/"),t))}}});var hi=k((hp,pi)=>{"use strict";u();pi.exports=bc;function bc(e){if(!/^data\:/i.test(e))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');e=e.replace(/\r?\n/g,"");var t=e.indexOf(",");if(t===-1||t<=4)throw new TypeError("malformed data: URI");for(var r=e.substring(5,t).split(";"),n=r[0]||"text/plain",o=n,i=!1,s="",f=1;f<r.length;f++)r[f]=="base64"?i=!0:(o+=";"+r[f],r[f].indexOf("charset=")==0&&(s=r[f].substring(8)));!r[0]&&!s.length&&(o+=";charset=US-ASCII",s="US-ASCII");var m=unescape(e.substring(t+1)),d=i?"base64":"ascii",p=Buffer.from?Buffer.from(m,d):new Buffer(m,d);return p.type=n,p.typeFull=o,p.charset=s,p}});var yi=k((bp,$t)=>{"use strict";u();var{assign:We}=Object,Pr=typeof window<"u"&&window.window===window&&window.navigator,xc=wa().SourceMapConsumer,Ut=ui(),Ir=di(),yc=hi(),bi=Pr?null:$t.require,gi=e=>{let t=r=>r in t.cache?t.cache[r]:t.cache[r]=e(r);return t.forgetEverything=()=>{t.cache=Object.create(null)},t.cache=Object.create(null),t};function xi(e,t){let r=t?Ut:Promise,n=gi(f=>o(f,e(f)));function o(f,m){return m===void 0?n(Ir.resolve(f)):r.resolve(m).then(d=>{let p,b,S,v=w=>(S=S||i(p))(w);return p={path:f,text:d,get lines(){return b=b||d.split(`
|
|
1
|
+
import{a as Ea,b as Sa}from"./chunk-EJDWYASP.js";import{a as wa}from"./chunk-MVPRNGNO.js";import{a as ya}from"./chunk-GB3YC4TI.js";import{a as bn}from"./chunk-RJ5VF3QY.js";import{a as xa}from"./chunk-7UNQOKZW.js";import{a as wt}from"./chunk-WFCP2AG5.js";import{f as Ne}from"./chunk-4NSHAMD3.js";import{m as qe,n as Et,o as wn,p as En,t as Sn}from"./chunk-O6BUPYXH.js";import{C as ca,Db as yn,E as ua,F as fa,Fb as Tn,H as ma,Hb as St,J as da,Pb as Ie,T as un,Vb as Ge,Wb as ke,a as ea,eb as N,f as ra,fb as g,gb as y,hb as sr,ib as mn,jb as xt,kb as fe,l as na,lb as dn,m as oa,mb as De,nb as yt,ob as pn,pb as ar,rb as ha,sb as ga,t as ir,tb as hn,u as ia,ub as Be,vb as $e,wb as gn,xb as V,y as aa,z as la}from"./chunk-KNLPWHHJ.js";import{e as ta,g as sa,j as pa,l as fn,u as Ue}from"./chunk-A4SBXDZB.js";import{f as nt,n as vn}from"./chunk-E7Z7KYBR.js";import{a as or}from"./chunk-UKQ7NE5V.js";import{b as an,i as ln,q as cn}from"./chunk-773TIA5M.js";import{a as xn}from"./chunk-636CTEW7.js";import{j as ba}from"./chunk-TR4OWSEX.js";import{a as ue,c as k,e as D,g as u}from"./chunk-VKWPEFWQ.js";var Dn=k((Hu,Ln)=>{u();Ln.exports=Rn;Rn.sync=Ta;var Cn=ue("fs");function va(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var n=0;n<r.length;n++){var o=r[n].toLowerCase();if(o&&e.substr(-o.length).toLowerCase()===o)return!0}return!1}function An(e,t,r){return!e.isSymbolicLink()&&!e.isFile()?!1:va(t,r)}function Rn(e,t,r){Cn.stat(e,function(n,o){r(n,n?!1:An(o,e,t))})}function Ta(e,t){return An(Cn.statSync(e),e,t)}});var In=k((Wu,Bn)=>{u();Bn.exports=Mn;Mn.sync=Ca;var kn=ue("fs");function Mn(e,t,r){kn.stat(e,function(n,o){r(n,n?!1:_n(o,t))})}function Ca(e,t){return _n(kn.statSync(e),t)}function _n(e,t){return e.isFile()&&Aa(e,t)}function Aa(e,t){var r=e.mode,n=e.uid,o=e.gid,i=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),s=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),f=parseInt("100",8),m=parseInt("010",8),d=parseInt("001",8),p=f|m,b=r&d||r&m&&o===s||r&f&&n===i||r&p&&i===0;return b}});var On=k((Xu,Pn)=>{u();var Vu=ue("fs"),vt;process.platform==="win32"||global.TESTING_WINDOWS?vt=Dn():vt=In();Pn.exports=lr;lr.sync=Ra;function lr(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(n,o){lr(e,t||{},function(i,s){i?o(i):n(s)})})}vt(e,t||{},function(n,o){n&&(n.code==="EACCES"||t&&t.ignoreErrors)&&(n=null,o=!1),r(n,o)})}function Ra(e,t){try{return vt.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var Hn=k((Yu,Gn)=>{u();var He=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Fn=ue("path"),La=He?";":":",Un=On(),$n=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Nn=(e,t)=>{let r=t.colon||La,n=e.match(/\//)||He&&e.match(/\\/)?[""]:[...He?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],o=He?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=He?o.split(r):[""];return He&&e.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:n,pathExt:i,pathExtExe:o}},qn=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:n,pathExt:o,pathExtExe:i}=Nn(e,t),s=[],f=d=>new Promise((p,b)=>{if(d===n.length)return t.all&&s.length?p(s):b($n(e));let S=n[d],v=/^".*"$/.test(S)?S.slice(1,-1):S,w=Fn.join(v,e),A=!v&&/^\.[\\\/]/.test(e)?e.slice(0,2)+w:w;p(m(A,d,0))}),m=(d,p,b)=>new Promise((S,v)=>{if(b===o.length)return S(f(p+1));let w=o[b];Un(d+w,{pathExt:i},(A,C)=>{if(!A&&C)if(t.all)s.push(d+w);else return S(d+w);return S(m(d,p,b+1))})});return r?f(0).then(d=>r(null,d),r):f(0)},Da=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:n,pathExtExe:o}=Nn(e,t),i=[];for(let s=0;s<r.length;s++){let f=r[s],m=/^".*"$/.test(f)?f.slice(1,-1):f,d=Fn.join(m,e),p=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d;for(let b=0;b<n.length;b++){let S=p+n[b];try{if(Un.sync(S,{pathExt:o}))if(t.all)i.push(S);else return S}catch{}}}if(t.all&&i.length)return i;if(t.nothrow)return null;throw $n(e)};Gn.exports=qn;qn.sync=Da});var Wn=k((Qu,cr)=>{"use strict";u();var jn=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};cr.exports=jn;cr.exports.default=jn});var Kn=k((ef,Xn)=>{"use strict";u();var zn=ue("path"),ka=Hn(),Ma=Wn();function Vn(e,t){let r=e.options.env||process.env,n=process.cwd(),o=e.options.cwd!=null,i=o&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(e.options.cwd)}catch{}let s;try{s=ka.sync(e.command,{path:r[Ma({env:r})],pathExt:t?zn.delimiter:void 0})}catch{}finally{i&&process.chdir(n)}return s&&(s=zn.resolve(o?e.options.cwd:"",s)),s}function _a(e){return Vn(e)||Vn(e,!0)}Xn.exports=_a});var Yn=k((rf,fr)=>{"use strict";u();var ur=/([()\][%!^"`<>&|;, *?])/g;function Ba(e){return e=e.replace(ur,"^$1"),e}function Ia(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(ur,"^$1"),t&&(e=e.replace(ur,"^$1")),e}fr.exports.command=Ba;fr.exports.argument=Ia});var Qn=k((of,Zn)=>{"use strict";u();Zn.exports=/^#!(.*)/});var eo=k((af,Jn)=>{"use strict";u();var Pa=Qn();Jn.exports=(e="")=>{let t=e.match(Pa);if(!t)return null;let[r,n]=t[0].replace(/#! ?/,"").split(" "),o=r.split("/").pop();return o==="env"?n:n?`${o} ${n}`:o}});var ro=k((cf,to)=>{"use strict";u();var mr=ue("fs"),Oa=eo();function Fa(e){let r=Buffer.alloc(150),n;try{n=mr.openSync(e,"r"),mr.readSync(n,r,0,150,0),mr.closeSync(n)}catch{}return Oa(r.toString())}to.exports=Fa});var so=k((ff,io)=>{"use strict";u();var Ua=ue("path"),no=Kn(),oo=Yn(),$a=ro(),Na=process.platform==="win32",qa=/\.(?:com|exe)$/i,Ga=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Ha(e){e.file=no(e);let t=e.file&&$a(e.file);return t?(e.args.unshift(e.file),e.command=t,no(e)):e.file}function ja(e){if(!Na)return e;let t=Ha(e),r=!qa.test(t);if(e.options.forceShell||r){let n=Ga.test(t);e.command=Ua.normalize(e.command),e.command=oo.command(e.command),e.args=e.args.map(i=>oo.argument(i,n));let o=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${o}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function Wa(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let n={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?n:ja(n)}io.exports=Wa});var co=k((df,lo)=>{"use strict";u();var dr=process.platform==="win32";function pr(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function za(e,t){if(!dr)return;let r=e.emit;e.emit=function(n,o){if(n==="exit"){let i=ao(o,t);if(i)return r.call(e,"error",i)}return r.apply(e,arguments)}}function ao(e,t){return dr&&e===1&&!t.file?pr(t.original,"spawn"):null}function Va(e,t){return dr&&e===1&&!t.file?pr(t.original,"spawnSync"):null}lo.exports={hookChildProcess:za,verifyENOENT:ao,verifyENOENTSync:Va,notFoundError:pr}});var mo=k((hf,je)=>{"use strict";u();var uo=ue("child_process"),hr=so(),gr=co();function fo(e,t,r){let n=hr(e,t,r),o=uo.spawn(n.command,n.args,n.options);return gr.hookChildProcess(o,n),o}function Xa(e,t,r){let n=hr(e,t,r),o=uo.spawnSync(n.command,n.args,n.options);return o.error=o.error||gr.verifyENOENTSync(o.status,n),o}je.exports=fo;je.exports.spawn=fo;je.exports.sync=Xa;je.exports._parse=hr;je.exports._enoent=gr});var ko=k((Qf,Do)=>{"use strict";u();var{PassThrough:bl}=ue("stream");Do.exports=function(){var e=[],t=new bl({objectMode:!0});return t.setMaxListeners(0),t.add=r,t.isEmpty=n,t.on("unpipe",o),Array.prototype.slice.call(arguments).forEach(r),t;function r(i){return Array.isArray(i)?(i.forEach(r),this):(e.push(i),i.once("end",o.bind(null,i)),i.once("error",t.emit.bind(t,"error")),i.pipe(t,{end:!1}),this)}function n(){return e.length==0}function o(i){e=e.filter(function(s){return s!==i}),!e.length&&t.readable&&t.end()}}});var Jo=k((cd,Qo)=>{u();var{EventEmitter:Ql}=ue("events"),Dt=class{constructor(){this.eventEmitter=new Ql,this.onabort=null,this.aborted=!1,this.reason=void 0}toString(){return"[object AbortSignal]"}get[Symbol.toStringTag](){return"AbortSignal"}removeEventListener(t,r){this.eventEmitter.removeListener(t,r)}addEventListener(t,r){this.eventEmitter.on(t,r)}dispatchEvent(t){let r={type:t,target:this},n=`on${t}`;typeof this[n]=="function"&&this[n](r),this.eventEmitter.emit(t,r)}throwIfAborted(){if(this.aborted)throw this.reason}static abort(t){let r=new st;return r.abort(),r.signal}static timeout(t){let r=new st;return setTimeout(()=>r.abort(new Error("TimeoutError")),t),r.signal}},st=class{constructor(){this.signal=new Dt}abort(t){this.signal.aborted||(this.signal.aborted=!0,t?this.signal.reason=t:this.signal.reason=new Error("AbortError"),this.signal.dispatchEvent("abort"))}toString(){return"[object AbortController]"}get[Symbol.toStringTag](){return"AbortController"}};Qo.exports={AbortController:st,AbortSignal:Dt}});var ui=k((fp,ci)=>{"use strict";u();ci.exports=class ye{constructor(t){try{t(r=>{this.setValue(r,!1)},r=>{this.setValue(r,!0)})}catch(r){this.setValue(r,!0)}}setValue(t,r){this.val=t instanceof ye?t.val:t,this.rejected=r||(t instanceof ye?t.rejected:!1)}static valueFrom(t){if(t instanceof ye){if(t.rejected)throw t.val;return t.val}else return t}then(t){try{if(!this.rejected)return ye.resolve(t(this.val))}catch(r){return ye.reject(r)}return this}catch(t){try{if(this.rejected)return ye.resolve(t(this.val))}catch(r){return ye.reject(r)}return this}static resolve(t){return new ye(r=>{r(t)})}static reject(t){return new ye((r,n)=>{n(t)})}}});var di=k((dp,mi)=>{"use strict";u();var fi=typeof window<"u"&&window.window===window&&window.navigator,hc=fi?window.location.href:process.cwd(),gc=new RegExp("^((https|http)://)?[a-z0-9A-Z]{3}.[a-z0-9A-Z][a-z0-9A-Z]{0,61}?[a-z0-9A-Z].com|net|cn|cc (:s[0-9]{1-4})?/$"),Ce=mi.exports={concat(e,t){let r=e[e.length-1]==="/",n=t[0]==="/";return e+(r||n?"":"/")+(r&&n?t.substring(1):t)},resolve(e){return Ce.isAbsolute(e)?Ce.normalize(e):Ce.normalize(Ce.concat(hc,e))},normalize(e){let t=[],r=0;e.split("/").reverse().filter(o=>o!==".").forEach(o=>{o===".."?r++:r===0?t.push(o):r--});let n=t.reverse().join("/");return(fi&&n[0]==="/"?n[1]==="/"?window.location.protocol:window.location.origin:"")+n},isData:e=>e.indexOf("data:")===0,isURL:e=>gc.test(e),isAbsolute:e=>e[0]==="/"||/^[^\/]*:/.test(e),relativeToFile(e,t){return Ce.isData(e)||Ce.isAbsolute(t)?Ce.normalize(t):Ce.normalize(Ce.concat(e.split("/").slice(0,-1).join("/"),t))}}});var hi=k((hp,pi)=>{"use strict";u();pi.exports=bc;function bc(e){if(!/^data\:/i.test(e))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');e=e.replace(/\r?\n/g,"");var t=e.indexOf(",");if(t===-1||t<=4)throw new TypeError("malformed data: URI");for(var r=e.substring(5,t).split(";"),n=r[0]||"text/plain",o=n,i=!1,s="",f=1;f<r.length;f++)r[f]=="base64"?i=!0:(o+=";"+r[f],r[f].indexOf("charset=")==0&&(s=r[f].substring(8)));!r[0]&&!s.length&&(o+=";charset=US-ASCII",s="US-ASCII");var m=unescape(e.substring(t+1)),d=i?"base64":"ascii",p=Buffer.from?Buffer.from(m,d):new Buffer(m,d);return p.type=n,p.typeFull=o,p.charset=s,p}});var yi=k((bp,$t)=>{"use strict";u();var{assign:We}=Object,Pr=typeof window<"u"&&window.window===window&&window.navigator,xc=wa().SourceMapConsumer,Ut=ui(),Ir=di(),yc=hi(),bi=Pr?null:$t.require,gi=e=>{let t=r=>r in t.cache?t.cache[r]:t.cache[r]=e(r);return t.forgetEverything=()=>{t.cache=Object.create(null)},t.cache=Object.create(null),t};function xi(e,t){let r=t?Ut:Promise,n=gi(f=>o(f,e(f)));function o(f,m){return m===void 0?n(Ir.resolve(f)):r.resolve(m).then(d=>{let p,b,S,v=w=>(S=S||i(p))(w);return p={path:f,text:d,get lines(){return b=b||d.split(`
|
|
2
2
|
`)},resolve(w){let A=v(w);if(t)try{return Ut.valueFrom(A)}catch(C){return We({},w,{error:C})}else return Promise.resolve(A)},_resolve:v}})}function i(f){let m=/\u0023 sourceMappingURL=(.+)\n?/g,d;for(;;){let S=m.exec(f.text);if(S)d=S;else break}let p=d&&d[1],b=S=>We({},S,{sourceFile:f,sourceLine:f.lines[S.line-1]||""});return p?s(f.path,p,b):b}function s(f,m,d){let p=m.startsWith("data:")?o(f,yc(m).toString()):o(Ir.relativeToFile(f,m)),b=p.then(v=>xc(JSON.parse(v.text))),S=gi(function(w){return p.then(A=>{let C=Ir.relativeToFile(A.path,w);return b.then(I=>o(C,I.sourceContentFor(w,!0)||void 0))})});return v=>b.then(w=>{let A=w.originalPositionFor(v);return A.source?S(A.source).then(C=>C._resolve(We({},v,{line:A.line,column:A.column+1,name:A.name}))):d(v)}).catch(w=>We(d(v),{sourceMapError:w}))}return We(function(m){let d=o(m);if(t)try{return Ut.valueFrom(d)}catch(p){let b={path:m,text:"",lines:[],error:p,resolve(S){return We({},S,{error:p,sourceLine:"",sourceFile:b})}};return b}return d},{resetCache:()=>n.forgetEverything(),getCache:()=>n.cache})}$t.exports=xi(function(t){return new Ut(r=>{if(Pr){let n=new XMLHttpRequest;n.open("GET",t,!1),n.send(null),r(n.responseText)}else r(bi("fs").readFileSync(t,{encoding:"utf8"}))})},!0);$t.exports.async=xi(function(t){return new Promise((r,n)=>{if(Pr){let o=new XMLHttpRequest;o.open("GET",t),o.onreadystatechange=i=>{o.readyState===4&&(o.status===200?r(o.responseText):n(new Error(o.statusText)))},o.send(null)}else bi("fs").readFile(t,{encoding:"utf8"},(o,i)=>{o?n(o):r(i)})})})});var Ei=k((yp,wi)=>{"use strict";u();wi.exports=(e,t)=>{let r=e||[],n=[],o={label:void 0,items:[r.first]};return r.forEach(i=>{let s=t(i);o.label!==s&&o.items.length?n.push(o={label:s,items:[i]}):o.items.push(i)}),n}});var vi=k((Ep,$r)=>{"use strict";u();var wc=(function(){function e(t,r){var n=[],o=!0,i=!1,s=void 0;try{for(var f=t[Symbol.iterator](),m;!(o=(m=f.next()).done)&&(n.push(m.value),!(r&&n.length===r));o=!0);}catch(d){i=!0,s=d}finally{try{!o&&f.return&&f.return()}finally{if(i)throw s}}return n}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),Nt="[\x1B\x9B][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]",Si="\0-\b\v-\x1B\x9B\xAD\u200B\u2028\u2029\uFEFF\uFE00-\uFE0F",Ur=`
|
|
3
3
|
`+Si,Ec=new RegExp("(?:"+Nt+")|["+Si+"]","g"),Or=new RegExp("(?:"+Nt+")|["+Ur+"]","g"),Fr=new RegExp("((?:"+Nt+")|[ "+Ur+"])?([^ "+Ur+"]*)","g");$r.exports={zeroWidthCharacters:Or,ansiEscapeCodes:new RegExp(Nt,"g"),strlen:e=>Array.from(e.replace(Or,"")).length,isBlank:e=>e.replace(Or,"").replace(/\s/g,"").length===0,blank:e=>Array.from(e.replace(Ec,"")).map(t=>t===" "||t===`
|
|
4
4
|
`?t:" ").join(""),partition(e){for(var t,r=[];Fr.lastIndex!==e.length&&(t=Fr.exec(e));)r.push([t[1]||"",t[2]]);return Fr.lastIndex=0,r},first(e,t){let r="",n=0;for(let i of $r.exports.partition(e)){var o=wc(i,2);let s=o[0],f=o[1],m=Array.from(f).slice(0,t-n);r+=s+m.join(""),n+=m.length}return r}}});var Li=k((vp,Ri)=>{"use strict";u();function ze(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}else return Array.from(e)}var qt=Object,Ci=vi(),Sc=Ci.first,Gt=Ci.strlen,vc=(e,t)=>Sc(e,t-1)+"\u2026",Ti=(e,t)=>{let r=(w,A)=>w.reduce((C,I)=>I.map((R,T)=>[].concat(ze(C[T]||[]),[R])),[]).map(C=>A.apply(void 0,ze(C))),n=e.map(w=>w.map(A=>A.replace(/\n/g,"\\n"))),o=n.map(w=>w.map(Gt)),i=r(o,Math.max),s=qt.assign({delimiter:" ",minColumnWidths:i.map(w=>0),maxTotalWidth:0},t),f=Gt(s.delimiter),m=i.reduce((w,A)=>w+A,0),d=i.map(w=>w/m),p=s.maxTotalWidth-f*(i.length-1),b=Math.max(0,m-p),S=r([s.minColumnWidths,i,d],(w,A,C)=>Math.max(w,Math.floor(A-b*C))),v=o.map(w=>r([S,w],(A,C)=>A-C));return r([n,v],(w,A)=>r([w,A],(C,I)=>I>=0?s.right?" ".repeat(I)+C:C+" ".repeat(I):vc(C,Gt(C)+I)).join(s.delimiter))},Ai=e=>qt.assign(t=>{var r;if(t[0]&&Array.isArray(t[0]))return Ti(t.map(s=>s.map((f,m)=>f===void 0?"":e.print(f,m))),e).join(`
|
|
@@ -16,7 +16,7 @@ import{a as Ea,b as Sa}from"./chunk-EJDWYASP.js";import{a as wa}from"./chunk-MVP
|
|
|
16
16
|
`:10,r=typeof e=="string"?"\r":13;return e[e.length-1]===t&&(e=e.slice(0,-1)),e[e.length-1]===r&&(e=e.slice(0,-1)),e}u();var Tt=new WeakMap,po=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let r,n=0,o=e.displayName||e.name||"<anonymous>",i=function(...s){if(Tt.set(i,++n),n===1)r=e.apply(this,s),e=null;else if(t.throw===!0)throw new Error(`Function \`${o}\` can only be called once`);return r};return bn(i,e),Tt.set(i,n),i};po.callCount=e=>{if(!Tt.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return Tt.get(e)};var ho=po;u();import ol from"node:process";u();import{constants as Qa}from"node:os";u();var go=()=>{let e=xo-bo+1;return Array.from({length:e},Ka)},Ka=(e,t)=>({name:`SIGRT${t+1}`,number:bo+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),bo=34,xo=64;u();import{constants as Ya}from"node:os";u();var yo=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];var xr=()=>{let e=go();return[...yo,...e].map(Za)},Za=({name:e,number:t,description:r,action:n,forced:o=!1,standard:i})=>{let{signals:{[e]:s}}=Ya,f=s!==void 0;return{name:e,number:f?s:t,description:r,supported:f,action:n,forced:o,standard:i}};var Ja=()=>{let e=xr();return Object.fromEntries(e.map(el))},el=({name:e,number:t,description:r,supported:n,action:o,forced:i,standard:s})=>[e,{name:e,number:t,description:r,supported:n,action:o,forced:i,standard:s}],wo=Ja(),tl=()=>{let e=xr(),t=65,r=Array.from({length:t},(n,o)=>rl(o,e));return Object.assign({},...r)},rl=(e,t)=>{let r=nl(e,t);if(r===void 0)return{};let{name:n,description:o,supported:i,action:s,forced:f,standard:m}=r;return{[e]:{name:n,number:e,description:o,supported:i,action:s,forced:f,standard:m}}},nl=(e,t)=>{let r=t.find(({name:n})=>Qa.signals[n]===e);return r!==void 0?r:t.find(n=>n.number===e)},Bf=tl();var il=({timedOut:e,timeout:t,errorCode:r,signal:n,signalDescription:o,exitCode:i,isCanceled:s})=>e?`timed out after ${t} milliseconds`:s?"was canceled":r!==void 0?`failed with ${r}`:n!==void 0?`was killed with ${n} (${o})`:i!==void 0?`failed with exit code ${i}`:"failed",ot=({stdout:e,stderr:t,all:r,error:n,signal:o,exitCode:i,command:s,escapedCommand:f,timedOut:m,isCanceled:d,killed:p,parsed:{options:{timeout:b,cwd:S=ol.cwd()}}})=>{i=i===null?void 0:i,o=o===null?void 0:o;let v=o===void 0?void 0:wo[o].description,w=n&&n.code,C=`Command ${il({timedOut:m,timeout:b,errorCode:w,signal:o,signalDescription:v,exitCode:i,isCanceled:d})}: ${s}`,I=Object.prototype.toString.call(n)==="[object Error]",R=I?`${C}
|
|
17
17
|
${n.message}`:C,T=[R,t,e].filter(Boolean).join(`
|
|
18
18
|
`);return I?(n.originalMessage=n.message,n.message=T):n=new Error(T),n.shortMessage=R,n.command=s,n.escapedCommand=f,n.exitCode=i,n.signal=o,n.signalDescription=v,n.stdout=e,n.stderr=t,n.cwd=S,r!==void 0&&(n.all=r),"bufferedData"in n&&delete n.bufferedData,n.failed=!0,n.timedOut=!!m,n.isCanceled=d,n.killed=p&&!m,n};u();var Ct=["stdin","stdout","stderr"],sl=e=>Ct.some(t=>e[t]!==void 0),Eo=e=>{if(!e)return;let{stdio:t}=e;if(t===void 0)return Ct.map(n=>e[n]);if(sl(e))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${Ct.map(n=>`\`${n}\``).join(", ")}`);if(typeof t=="string")return t;if(!Array.isArray(t))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof t}\``);let r=Math.max(t.length,Ct.length);return Array.from({length:r},(n,o)=>t[o])};u();var So=D(pa(),1);import al from"node:os";var ll=1e3*5,vo=(e,t="SIGTERM",r={})=>{let n=e(t);return cl(e,t,r,n),n},cl=(e,t,r,n)=>{if(!ul(t,r,n))return;let o=ml(r),i=setTimeout(()=>{e("SIGKILL")},o);i.unref&&i.unref()},ul=(e,{forceKillAfterTimeout:t},r)=>fl(e)&&t!==!1&&r,fl=e=>e===al.constants.signals.SIGTERM||typeof e=="string"&&e.toUpperCase()==="SIGTERM",ml=({forceKillAfterTimeout:e=!0})=>{if(e===!0)return ll;if(!Number.isFinite(e)||e<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e},To=(e,t)=>{e.kill()&&(t.isCanceled=!0)},dl=(e,t,r)=>{e.kill(t),r(Object.assign(new Error("Timed out"),{timedOut:!0,signal:t}))},Co=(e,{timeout:t,killSignal:r="SIGTERM"},n)=>{if(t===0||t===void 0)return n;let o,i=new Promise((f,m)=>{o=setTimeout(()=>{dl(e,r,m)},t)}),s=n.finally(()=>{clearTimeout(o)});return Promise.race([i,s])},Ao=({timeout:e})=>{if(e!==void 0&&(!Number.isFinite(e)||e<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`)},Ro=async(e,{cleanup:t,detached:r},n)=>{if(!t||r)return n;let o=(0,So.default)(()=>{e.kill()});return n.finally(()=>{o()})};u();import{createWriteStream as pl}from"node:fs";import{ChildProcess as hl}from"node:child_process";u();function At(e){return e!==null&&typeof e=="object"&&typeof e.pipe=="function"}function yr(e){return At(e)&&e.writable!==!1&&typeof e._write=="function"&&typeof e._writableState=="object"}var gl=e=>e instanceof hl&&typeof e.then=="function",wr=(e,t,r)=>{if(typeof r=="string")return e[t].pipe(pl(r)),e;if(yr(r))return e[t].pipe(r),e;if(!gl(r))throw new TypeError("The second argument must be a string, a stream or an Execa child process.");if(!yr(r.stdin))throw new TypeError("The target child process's stdin must be available.");return e[t].pipe(r.stdin),r},Lo=e=>{e.stdout!==null&&(e.pipeStdout=wr.bind(void 0,e,"stdout")),e.stderr!==null&&(e.pipeStderr=wr.bind(void 0,e,"stderr")),e.all!==void 0&&(e.pipeAll=wr.bind(void 0,e,"all"))};u();import{createReadStream as xl,readFileSync as yl}from"node:fs";var vr=D(ya(),1),Mo=D(ko(),1),_o=e=>{if(e!==void 0)throw new TypeError("The `input` and `inputFile` options cannot be both set.")},wl=({input:e,inputFile:t})=>typeof t!="string"?e:(_o(e),yl(t)),Bo=e=>{let t=wl(e);if(At(t))throw new TypeError("The `input` option cannot be a stream in sync mode");return t},El=({input:e,inputFile:t})=>typeof t!="string"?e:(_o(e),xl(t)),Io=(e,t)=>{let r=El(t);r!==void 0&&(At(r)?r.pipe(e.stdin):e.stdin.end(r))},Po=(e,{all:t})=>{if(!t||!e.stdout&&!e.stderr)return;let r=(0,Mo.default)();return e.stdout&&r.add(e.stdout),e.stderr&&r.add(e.stderr),r},Er=async(e,t)=>{if(!(!e||t===void 0)){e.destroy();try{return await t}catch(r){return r.bufferedData}}},Sr=(e,{encoding:t,buffer:r,maxBuffer:n})=>{if(!(!e||!r))return t?(0,vr.default)(e,{encoding:t,maxBuffer:n}):vr.default.buffer(e,{maxBuffer:n})},Oo=async({stdout:e,stderr:t,all:r},{encoding:n,buffer:o,maxBuffer:i},s)=>{let f=Sr(e,{encoding:n,buffer:o,maxBuffer:i}),m=Sr(t,{encoding:n,buffer:o,maxBuffer:i}),d=Sr(r,{encoding:n,buffer:o,maxBuffer:i*2});try{return await Promise.all([s,f,m,d])}catch(p){return Promise.all([{error:p,signal:p.signal,timedOut:p.timedOut},Er(e,f),Er(t,m),Er(r,d)])}};u();var Sl=(async()=>{})().constructor.prototype,vl=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(Sl,e)]),Tr=(e,t)=>{for(let[r,n]of vl){let o=typeof t=="function"?(...i)=>Reflect.apply(n.value,t(),i):n.value.bind(t);Reflect.defineProperty(e,r,{...n,value:o})}},Fo=e=>new Promise((t,r)=>{e.on("exit",(n,o)=>{t({exitCode:n,signal:o})}),e.on("error",n=>{r(n)}),e.stdin&&e.stdin.on("error",n=>{r(n)})});u();import{Buffer as Tl}from"node:buffer";import{ChildProcess as Cl}from"node:child_process";var No=(e,t=[])=>Array.isArray(t)?[e,...t]:[e],Al=/^[\w.-]+$/,Rl=/"/g,Ll=e=>typeof e!="string"||Al.test(e)?e:`"${e.replace(Rl,'\\"')}"`,Cr=(e,t)=>No(e,t).join(" "),Ar=(e,t)=>No(e,t).map(r=>Ll(r)).join(" "),Dl=/ +/g;var Uo=e=>{let t=typeof e;if(t==="string")return e;if(t==="number")return String(e);if(t==="object"&&e!==null&&!(e instanceof Cl)&&"stdout"in e){let r=typeof e.stdout;if(r==="string")return e.stdout;if(Tl.isBuffer(e.stdout))return e.stdout.toString();throw new TypeError(`Unexpected "${r}" stdout in template expression`)}throw new TypeError(`Unexpected "${t}" in template expression`)},$o=(e,t,r)=>r||e.length===0||t.length===0?[...e,...t]:[...e.slice(0,-1),`${e[e.length-1]}${t[0]}`,...t.slice(1)],kl=({templates:e,expressions:t,tokens:r,index:n,template:o})=>{let i=o??e.raw[n],s=i.split(Dl).filter(Boolean),f=$o(r,s,i.startsWith(" "));if(n===t.length)return f;let m=t[n],d=Array.isArray(m)?m.map(p=>Uo(p)):[Uo(m)];return $o(f,d,i.endsWith(" "))},Rr=(e,t)=>{let r=[];for(let[n,o]of e.entries())r=kl({templates:e,expressions:t,tokens:r,index:n,template:o});return r};u();import{debuglog as Ml}from"node:util";import _l from"node:process";var qo=Ml("execa").enabled,Rt=(e,t)=>String(e).padStart(t,"0"),Bl=()=>{let e=new Date;return`${Rt(e.getHours(),2)}:${Rt(e.getMinutes(),2)}:${Rt(e.getSeconds(),2)}.${Rt(e.getMilliseconds(),3)}`},Lr=(e,{verbose:t})=>{t&&_l.stderr.write(`[${Bl()}] ${e}
|
|
19
|
-
`)};var Ol=1e3*1e3*100,Fl=({env:e,extendEnv:t,preferLocal:r,localDir:n,execPath:o})=>{let i=t?{...Lt.env,...e}:e;return r?xn({env:i,cwd:n,execPath:o}):i},jo=(e,t,r={})=>{let n=Ho.default._parse(e,t,r);return e=n.command,t=n.args,r=n.options,r={maxBuffer:Ol,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:r.cwd||Lt.cwd(),execPath:Lt.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,verbose:qo,...r},r.env=Fl(r),r.stdio=Eo(r),Lt.platform==="win32"&&Pl.basename(e,".exe")==="cmd"&&t.unshift("/q"),{file:e,args:t,options:r,parsed:n}},it=(e,t,r)=>typeof t!="string"&&!Il.isBuffer(t)?r===void 0?void 0:"":e.stripFinalNewline?br(t):t;function Pe(e,t,r){let n=jo(e,t,r),o=Cr(e,t),i=Ar(e,t);Lr(i,n.options),Ao(n.options);let s;try{s=Dr.spawn(n.file,n.args,n.options)}catch(v){let w=new Dr.ChildProcess,A=Promise.reject(ot({error:v,stdout:"",stderr:"",all:"",command:o,escapedCommand:i,parsed:n,timedOut:!1,isCanceled:!1,killed:!1}));return Tr(w,A),w}let f=Fo(s),m=Co(s,n.options,f),d=Ro(s,n.options,m),p={isCanceled:!1};s.kill=vo.bind(null,s.kill.bind(s)),s.cancel=To.bind(null,s,p);let S=ho(async()=>{let[{error:v,exitCode:w,signal:A,timedOut:C},I,R,T]=await Oo(s,n.options,d),L=it(n.options,I),P=it(n.options,R),X=it(n.options,T);if(v||w!==0||A!==null){let ee=ot({error:v,exitCode:w,signal:A,stdout:L,stderr:P,all:X,command:o,escapedCommand:i,parsed:n,timedOut:C,isCanceled:p.isCanceled||(n.options.signal?n.options.signal.aborted:!1),killed:s.killed});if(!n.options.reject)return ee;throw ee}return{command:o,escapedCommand:i,exitCode:0,stdout:L,stderr:P,all:X,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}});return Io(s,n.options),s.all=Po(s,n.options),Lo(s),Tr(s,S),s}function Ul(e,t,r){let n=jo(e,t,r),o=Cr(e,t),i=Ar(e,t);Lr(i,n.options);let s=Bo(n.options),f;try{f=Dr.spawnSync(n.file,n.args,{...n.options,input:s})}catch(p){throw ot({error:p,stdout:"",stderr:"",all:"",command:o,escapedCommand:i,parsed:n,timedOut:!1,isCanceled:!1,killed:!1})}let m=it(n.options,f.stdout,f.error),d=it(n.options,f.stderr,f.error);if(f.error||f.status!==0||f.signal!==null){let p=ot({stdout:m,stderr:d,error:f.error,signal:f.signal,exitCode:f.status,command:o,escapedCommand:i,parsed:n,timedOut:f.error&&f.error.code==="ETIMEDOUT",isCanceled:!1,killed:f.signal!==null});if(!n.options.reject)return p;throw p}return{command:o,escapedCommand:i,exitCode:0,stdout:m,stderr:d,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}}var $l=({input:e,inputFile:t,stdio:r})=>e===void 0&&t===void 0&&r===void 0?{stdin:"inherit"}:{},Go=(e={})=>({preferLocal:!0,...$l(e),...e});function Wo(e){function t(r,...n){if(!Array.isArray(r))return Wo({...e,...r});let[o,...i]=Rr(r,n);return Pe(o,i,Go(e))}return t.sync=(r,...n)=>{if(!Array.isArray(r))throw new TypeError("Please use $(options).sync`command` instead of $.sync(options)`command`.");let[o,...i]=Rr(r,n);return Ul(o,i,Go(e))},t}var Mm=Wo();import{userInfo as Nl}from"os";async function Fm(e=process.platform){Ie(St`Obtaining user name...`);let t=ql();if(t)return t;let r=Gl();if(r)return r;try{if(e==="win32"){let{stdout:o}=await Pe("whoami");return Hl(o)}let{stdout:n}=await Pe("id",["-u"]);try{let{stdout:o}=await Pe("id",["-un",n]);return o}catch{}return jl(n)}catch{return null}}function zo(e=process.platform,t=process.arch){let r;return t==="x64"?r="amd64":t==="ia32"?r="386":r=t,{platform:e.match(/^win.+/)?"windows":e,arch:r}}function ql(){let{env:e}=process;return e.SUDO_USER||e.C9_USER||e.LOGNAME||e.USER||e.LNAME||e.USERNAME}function Gl(){try{return Nl().username}catch{return null}}function Hl(e){return e.replace(/^.*\\/,"")}function jl(e){return`no-username-${e}`}var Xo=D(ga()),Ko=D(xa());import{fstatSync as Wl}from"fs";import{setTimeout as zl}from"timers/promises";var Vl=10*1024*1024;async function Qm(e){if(vn())return!1;let t=await import("./open-KLSGXBIW.js");try{return await t.default(e),!0}catch{return!1}}async function Jm(e,t,r){return(await kr(e,t,r)).stdout}async function Xl(e,t,r){let n=await kr(e,t,r,{reject:!1});return{stdout:n.stdout,stderr:n.stderr,exitCode:n.exitCode??0}}function Yo(e){let t=[],r="",n=null;for(let o of e)n?o===n?n=null:r+=o:o==='"'||o==="'"?n=o:o===" "||o===" "?r&&(t.push(r),r=""):r+=o;return r&&t.push(r),t}async function ed(e,t){let[r,...n]=Yo(e);return r?Xl(r,n,t):{stdout:"",stderr:"Empty command",exitCode:1}}async function td(e,t){let[r,...n]=Yo(e);if(!r)throw new qe("Empty command");await Kl(r,n,t)}async function Kl(e,t,r){if(r){let i=zo().platform==="windows";r.background=i?!1:r.background}let n=kr(e,t,r);r?.background&&n.unref(),r?.stderr&&r.stderr!=="inherit"&&n.stderr?.pipe(r.stderr,{end:!1}),r?.stdout&&r.stdout!=="inherit"&&n.stdout?.pipe(r.stdout,{end:!1});let o=!1;r?.signal?.addEventListener("abort",()=>{let i=n.pid;i&&(Ie(`Killing process ${i}: ${e} ${t.join(" ")}`),o=!0,wt(i,"SIGTERM"))});try{await n}catch(i){if(o)return;if(r?.externalErrorHandler)await r.externalErrorHandler(i);else{let s=new Et(i.message,e,t);throw s.stack=i.stack,s}}}function kr(e,t,r,n){let o=r?.env??process.env;ke()&&(o.FORCE_COLOR="1");let i=r?.cwd??cn();Yl(e,{cwd:i});let s=Pe(e,t,{env:o,cwd:i,input:r?.input,stdio:r?.background?"ignore":r?.stdio,stdin:r?.stdin,stdout:r?.stdout==="inherit"?"inherit":void 0,stderr:r?.stderr==="inherit"?"inherit":void 0,windowsHide:!1,detached:r?.background,cleanup:!r?.background,...n});return Ie(`Running system process${r?.background?" in background":""}:
|
|
19
|
+
`)};var Ol=1e3*1e3*100,Fl=({env:e,extendEnv:t,preferLocal:r,localDir:n,execPath:o})=>{let i=t?{...Lt.env,...e}:e;return r?xn({env:i,cwd:n,execPath:o}):i},jo=(e,t,r={})=>{let n=Ho.default._parse(e,t,r);return e=n.command,t=n.args,r=n.options,r={maxBuffer:Ol,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:r.cwd||Lt.cwd(),execPath:Lt.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,verbose:qo,...r},r.env=Fl(r),r.stdio=Eo(r),Lt.platform==="win32"&&Pl.basename(e,".exe")==="cmd"&&t.unshift("/q"),{file:e,args:t,options:r,parsed:n}},it=(e,t,r)=>typeof t!="string"&&!Il.isBuffer(t)?r===void 0?void 0:"":e.stripFinalNewline?br(t):t;function Pe(e,t,r){let n=jo(e,t,r),o=Cr(e,t),i=Ar(e,t);Lr(i,n.options),Ao(n.options);let s;try{s=Dr.spawn(n.file,n.args,n.options)}catch(v){let w=new Dr.ChildProcess,A=Promise.reject(ot({error:v,stdout:"",stderr:"",all:"",command:o,escapedCommand:i,parsed:n,timedOut:!1,isCanceled:!1,killed:!1}));return Tr(w,A),w}let f=Fo(s),m=Co(s,n.options,f),d=Ro(s,n.options,m),p={isCanceled:!1};s.kill=vo.bind(null,s.kill.bind(s)),s.cancel=To.bind(null,s,p);let S=ho(async()=>{let[{error:v,exitCode:w,signal:A,timedOut:C},I,R,T]=await Oo(s,n.options,d),L=it(n.options,I),P=it(n.options,R),X=it(n.options,T);if(v||w!==0||A!==null){let ee=ot({error:v,exitCode:w,signal:A,stdout:L,stderr:P,all:X,command:o,escapedCommand:i,parsed:n,timedOut:C,isCanceled:p.isCanceled||(n.options.signal?n.options.signal.aborted:!1),killed:s.killed});if(!n.options.reject)return ee;throw ee}return{command:o,escapedCommand:i,exitCode:0,stdout:L,stderr:P,all:X,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}});return Io(s,n.options),s.all=Po(s,n.options),Lo(s),Tr(s,S),s}function Ul(e,t,r){let n=jo(e,t,r),o=Cr(e,t),i=Ar(e,t);Lr(i,n.options);let s=Bo(n.options),f;try{f=Dr.spawnSync(n.file,n.args,{...n.options,input:s})}catch(p){throw ot({error:p,stdout:"",stderr:"",all:"",command:o,escapedCommand:i,parsed:n,timedOut:!1,isCanceled:!1,killed:!1})}let m=it(n.options,f.stdout,f.error),d=it(n.options,f.stderr,f.error);if(f.error||f.status!==0||f.signal!==null){let p=ot({stdout:m,stderr:d,error:f.error,signal:f.signal,exitCode:f.status,command:o,escapedCommand:i,parsed:n,timedOut:f.error&&f.error.code==="ETIMEDOUT",isCanceled:!1,killed:f.signal!==null});if(!n.options.reject)return p;throw p}return{command:o,escapedCommand:i,exitCode:0,stdout:m,stderr:d,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}}var $l=({input:e,inputFile:t,stdio:r})=>e===void 0&&t===void 0&&r===void 0?{stdin:"inherit"}:{},Go=(e={})=>({preferLocal:!0,...$l(e),...e});function Wo(e){function t(r,...n){if(!Array.isArray(r))return Wo({...e,...r});let[o,...i]=Rr(r,n);return Pe(o,i,Go(e))}return t.sync=(r,...n)=>{if(!Array.isArray(r))throw new TypeError("Please use $(options).sync`command` instead of $.sync(options)`command`.");let[o,...i]=Rr(r,n);return Ul(o,i,Go(e))},t}var Mm=Wo();import{userInfo as Nl}from"os";async function Fm(e=process.platform){Ie(St`Obtaining user name...`);let t=ql();if(t)return t;let r=Gl();if(r)return r;try{if(e==="win32"){let{stdout:o}=await Pe("whoami");return Hl(o)}let{stdout:n}=await Pe("id",["-u"]);try{let{stdout:o}=await Pe("id",["-un",n]);return o}catch{}return jl(n)}catch{return null}}function zo(e=process.platform,t=process.arch){let r;return t==="x64"?r="amd64":t==="ia32"?r="386":r=t,{platform:e.match(/^win.+/)?"windows":e,arch:r}}function ql(){let{env:e}=process;return e.SUDO_USER||e.C9_USER||e.LOGNAME||e.USER||e.LNAME||e.USERNAME}function Gl(){try{return Nl().username}catch{return null}}function Hl(e){return e.replace(/^.*\\/,"")}function jl(e){return`no-username-${e}`}var Xo=D(ga(),1),Ko=D(xa(),1);import{fstatSync as Wl}from"fs";import{setTimeout as zl}from"timers/promises";var Vl=10*1024*1024;async function Qm(e){if(vn())return!1;let t=await import("./open-KLSGXBIW.js");try{return await t.default(e),!0}catch{return!1}}async function Jm(e,t,r){return(await kr(e,t,r)).stdout}async function Xl(e,t,r){let n=await kr(e,t,r,{reject:!1});return{stdout:n.stdout,stderr:n.stderr,exitCode:n.exitCode??0}}function Yo(e){let t=[],r="",n=null;for(let o of e)n?o===n?n=null:r+=o:o==='"'||o==="'"?n=o:o===" "||o===" "?r&&(t.push(r),r=""):r+=o;return r&&t.push(r),t}async function ed(e,t){let[r,...n]=Yo(e);return r?Xl(r,n,t):{stdout:"",stderr:"Empty command",exitCode:1}}async function td(e,t){let[r,...n]=Yo(e);if(!r)throw new qe("Empty command");await Kl(r,n,t)}async function Kl(e,t,r){if(r){let i=zo().platform==="windows";r.background=i?!1:r.background}let n=kr(e,t,r);r?.background&&n.unref(),r?.stderr&&r.stderr!=="inherit"&&n.stderr?.pipe(r.stderr,{end:!1}),r?.stdout&&r.stdout!=="inherit"&&n.stdout?.pipe(r.stdout,{end:!1});let o=!1;r?.signal?.addEventListener("abort",()=>{let i=n.pid;i&&(Ie(`Killing process ${i}: ${e} ${t.join(" ")}`),o=!0,wt(i,"SIGTERM"))});try{await n}catch(i){if(o)return;if(r?.externalErrorHandler)await r.externalErrorHandler(i);else{let s=new Et(i.message,e,t);throw s.stack=i.stack,s}}}function kr(e,t,r,n){let o=r?.env??process.env;ke()&&(o.FORCE_COLOR="1");let i=r?.cwd??cn();Yl(e,{cwd:i});let s=Pe(e,t,{env:o,cwd:i,input:r?.input,stdio:r?.background?"ignore":r?.stdio,stdin:r?.stdin,stdout:r?.stdout==="inherit"?"inherit":void 0,stderr:r?.stderr==="inherit"?"inherit":void 0,windowsHide:!1,detached:r?.background,cleanup:!r?.background,...n});return Ie(`Running system process${r?.background?" in background":""}:
|
|
20
20
|
\xB7 Command: ${e} ${t.join(" ")}
|
|
21
21
|
\xB7 Working directory: ${i}
|
|
22
22
|
`),s}function Yl(e,t){let r=`${t.cwd}${an}${process.env.PATH}`,n=Ko.default.sync(e,{nothrow:!0,path:r});if(n&&ln(n)===t.cwd){let o=["Skipped run of unsecure binary",{command:e},"found in the current directory."],i="Please remove that file or review your current PATH.";throw Vo({headline:o,body:i}),new qe(o,i)}}async function rd(e){await zl(1e3*e)}function nd(){return Xo.default.stdout}function Zo(){return or(process.env.CI)?!1:!!(process.stdin.isTTY&&process.stdout.isTTY)}function od(){return or(process.env.CI)}async function id(){return(await import("./is-wsl-UEMXYJPN.js")).default}function Zl(){try{let e=Wl(0);return e.isFIFO()||e.isFile()}catch{return!1}}async function sd(){if(!Zl())return;let e="",t=0;process.stdin.setEncoding("utf8");for await(let r of process.stdin){let n=String(r);if(t+=Buffer.byteLength(n,"utf8"),t>Vl)throw new qe("Stdin input exceeded the maximum allowed size.");e+=n}return e.trim()}u();var Mt=D(Jo()),kt=class extends Mt.AbortController{},ei=class extends Mt.AbortSignal{};u();u();var ae=D(N(),1);import{EventEmitter as Jl}from"events";var ti=(0,ae.createContext)(null);function te(){let e=(0,ae.useContext)(ti);if(!e)throw new Error("useComplete() called outside InkLifecycleRoot");return e}function ec({children:e}){let{exit:t}=dn(),[r,n]=(0,ae.useState)(null),o=(0,ae.useCallback)(i=>{n({error:i})},[]);return(0,ae.useEffect)(()=>{r!==null&&t(r.error)},[r,t]),ae.default.createElement(ti.Provider,{value:o},e)}function at(e,{logLevel:t="info",renderOptions:r}){let{output:n,unmount:o}=tc(e,r);return n&&yn(n,t),o(),n}async function Me(e,t){let{waitUntilExit:r}=sr(ae.default.createElement(ec,null,e),{patchConsole:!nt(),...t});await r()}var Mr=class extends Jl{constructor(t){super(),this.frames=[],this.write=r=>{this.frames.push(r),r!==`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as o}from"./chunk-
|
|
1
|
+
import{a as o}from"./chunk-6CZ7WGE2.js";import{b as e}from"./chunk-3PFIBTES.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();var t=class extends e{static{this.description="View the UI kit components that display static output"}static{this.hidden=!0}async run(){await o()}};export{t as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e}from"./chunk-
|
|
1
|
+
import{b as e}from"./chunk-3PFIBTES.js";import{a as i}from"./chunk-UA2432YR.js";import{Lb as t}from"./chunk-KNLPWHHJ.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();o();async function s(){t(i)}var r=class extends e{static{this.description="Shopify CLI version currently installed."}async run(){await s()}};export{r as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as N,b as $,c as w}from"./chunk-
|
|
1
|
+
import{a as N,b as $,c as w}from"./chunk-YZQYDTO7.js";import{m as T}from"./chunk-OQ6WYWG4.js";import{O as P,P as k,a as F}from"./chunk-SQVJGTTD.js";import{a as D,b}from"./chunk-IDMJWVJC.js";import{p as A}from"./chunk-O6BUPYXH.js";import{Ia as U,La as I,N as x,Pa as O,Pb as u,Ua as p,xa as y,za as _}from"./chunk-KNLPWHHJ.js";import{f as h}from"./chunk-E7Z7KYBR.js";import{d as m,i as l,j as S}from"./chunk-773TIA5M.js";import{g as f}from"./chunk-VKWPEFWQ.js";f();f();import{fileURLToPath as q}from"url";import Y from"util";import{pipeline as j}from"stream";import{execSync as z,execFileSync as B}from"child_process";var H="2024.8.2",W=`https://github.com/cloudflare/cloudflared/releases/download/${H}/`,G={arm64:"cloudflared-linux-arm64",arm:"cloudflared-linux-arm",x64:"cloudflared-linux-amd64",ia32:"cloudflared-linux-386"},V={arm64:"cloudflared-darwin-arm64.tgz",x64:"cloudflared-darwin-amd64.tgz"},X={x64:"cloudflared-windows-amd64.exe",ia32:"cloudflared-windows-386.exe",arm64:"cloudflared-windows-amd64.exe"},v={linux:G,darwin:V,win32:X};function Z(r=process.platform,t=process.arch){if(!Object.keys(v).includes(r))throw new Error(`Unsupported system platform: ${r}`);let n=v[r][t];if(n===void 0)throw new Error(`Unsupported system arch: ${t}`);return W+n}function J(r=process.env,t=process.platform){return r.SHOPIFY_CLI_CLOUDFLARED_PATH?r.SHOPIFY_CLI_CLOUDFLARED_PATH:m(l(q(import.meta.url)),"..","bin",t==="win32"?"cloudflared.exe":"cloudflared")}async function g(r=process.env,t=process.platform,e=process.arch){if(r.SHOPIFY_CLI_IGNORE_CLOUDFLARED){u("Skipping cloudflared installation because SHOPIFY_CLI_IGNORE_CLOUDFLARED is set");return}let n=Z(t,e),o=J(r,t);if(p(o))try{let a=B(o,["--version"],{encoding:"utf8"}).split(" "),i=a.length>2?a[2]:"0.0.0";if(!K(H,i)){u("cloudflared already installed, skipping");return}}catch{u("version check failed, reinstalling")}if(t==="linux")await Q(n,o);else if(t==="darwin")await rt(n,o);else if(t==="win32")await tt(n,o);else throw new Error(`Unsupported platform: ${t}`)}function K(r,t){let[e,n,o]=r.split(".").map(Number),[a,i,c]=t.split(".").map(Number);return e!==a?(e??0)>(a??0):n!==i?(n??0)>(i??0):(o??0)>(c??0)}async function Q(r,t){await C(r,t),await O(t,"755")}async function tt(r,t){await C(r,t)}async function rt(r,t){await C(r,`${t}.tgz`);let e=S(`${t}.tgz`);z(`tar -xzf ${e}`,{cwd:l(t)}),U(`${t}.tgz`),await _(`${l(t)}/cloudflared`,t)}async function C(r,t){p(l(t))||y(l(t));let e=Y.promisify(j),n=await T(r,{redirect:"follow"},"slow-request");if(!n.ok||!n.body)throw new Error(`Couldn't download file ${r} (${n.status} ${n.statusText})`);let o=I(t);return await e(n.body,o),t}import{Writable as et}from"stream";import{fileURLToPath as nt}from"url";var $t=$({provider:w,action:it}),ot=h()?.2:40,st=5;async function it(r){try{let t=new R(r);return await t.startTunnel(),D(t)}catch(t){let e=new N("unknown",t.message);return b(e)}}var R=class{constructor(t){this.provider=w,this.currentStatus={status:"not-started"},this.abortController=void 0,this.port=t}async startTunnel(){try{await g(),this.tunnel()}catch(t){this.currentStatus={status:"error",message:t.message,tryMessage:d()}}}getTunnelStatus(){return this.currentStatus}stopTunnel(){this.abortController?.abort()}tunnel(t=0){this.abortController=new F;let e=!1;if(t>=st){e=!0,this.currentStatus={status:"error",message:"Could not start Cloudflare tunnel: max retries reached.",tryMessage:d()};return}let n=["tunnel","--url",`http://localhost:${this.port}`,"--no-autoupdate"],o=[],a=!1,i;this.currentStatus={status:"starting"},setTimeout(()=>{if(!e){e=!0;let s=x(o).slice(-5).join(`
|
|
2
2
|
`);s===""?this.currentStatus={status:"error",message:"Could not start Cloudflare tunnel: unknown error.",tryMessage:d()}:this.currentStatus={status:"error",message:s,tryMessage:d()},this.abortController?.abort()}},ot*1e3);let c=this,E=new et({write(s,mt,M){if(u(s.toString()),e)return;i??(i=at(s)),ct(s)&&(a=!0),a&&(i?(e=!0,c.currentStatus={status:"connected",url:i}):c.currentStatus={status:"error",message:"Could not start Cloudflare tunnel: URL not found."});let L=lt(s);L&&o.push(L),M()}});P(dt(),n,{stdout:E,stderr:E,signal:this.abortController.signal,externalErrorHandler:async s=>{if(e)throw new A(`Could not start Cloudflare tunnel: process crashed after stablishing a connection: ${s.message}`,d());u(`Cloudflare tunnel crashed: ${s.message}, restarting...`),h()||await k(1),this.tunnel(t+1)}})}};function d(){return["You can run the command again, or try networking with Shopify via",{command:"--use-localhost"},"or",{command:"--tunnel-url <custom tunnel>"},".",{link:{label:"See documentation for details.",url:"https://shopify.dev/docs/apps/build/cli-for-apps/networking-options"}}]}function at(r){let t=new RegExp(`(https:\\/\\/[^\\s]+\\.${ft()})`),e=r.toString().match(t)??void 0;return e&&e[1]}function lt(r){if([/failed to request quick Tunnel/,/failed to unmarshal quick Tunnel/,/failed to parse quick Tunnel ID/,/failed to provision routing/,/ERR Couldn't start tunnel/,/ERR Failed to serve quic connection/,/ERR Failed to create new quic connection error/].some(n=>n.test(r.toString())))return`Could not start Cloudflare tunnel: ${ut(r.toString())}`}function ut(r){let t=/^[0-9TZ:-]+ (ERR )?/g,e=/connIndex.*/g;return r.replace(t,"").replace(e,"")}function ct(r){let t=r.toString().match(/(INF Registered tunnel connection|INF Connection)/)??void 0;return t&&t[0]}function dt(){return process.env.SHOPIFY_CLI_CLOUDFLARED_PATH?process.env.SHOPIFY_CLI_CLOUDFLARED_PATH:m(l(nt(import.meta.url)),"..","bin",process.platform==="win32"?"cloudflared.exe":"cloudflared")}function ft(){return process.env.SHOPIFY_CLI_CLOUDFLARED_DOMAIN??"trycloudflare.com"}export{$t as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{K as i}from"./chunk-
|
|
1
|
+
import{K as i}from"./chunk-SQVJGTTD.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 +1 @@
|
|
|
1
|
-
import{g as o}from"./chunk-VKWPEFWQ.js";o();var s="0.0.0-snapshot-
|
|
1
|
+
import{g as o}from"./chunk-VKWPEFWQ.js";o();var s="0.0.0-snapshot-20260722210655";export{s as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e}from"./chunk-
|
|
1
|
+
import{b as e}from"./chunk-3PFIBTES.js";import{a as r}from"./chunk-M5GXA5W4.js";import{e as c,g as t}from"./chunk-VKWPEFWQ.js";t();var s=c(r(),1);var a=class o extends e{static{this.args={command:s.Args.string({description:"Command to show help for.",required:!1})}}static{this.description="Display help for Shopify CLI"}static{this.usage="help [command] [flags]"}static{this.flags={"nested-commands":s.Flags.boolean({char:"n",description:"Include all nested commands in the output.",env:"SHOPIFY_FLAG_CLI_NESTED_COMMANDS",default:!1})}}static{this.strict=!1}async run(){let{argv:i,flags:n}=await this.parse(o),l=await(0,s.loadHelpClass)(this.config);await new l(this.config,{all:n["nested-commands"]}).showHelp(i)}};export{a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as C}from"./chunk-
|
|
1
|
+
import{a as C}from"./chunk-65H3LZJA.js";import{a as N}from"./chunk-STJ3LWFL.js";import{a as v,b as J}from"./chunk-XEHMXJ5J.js";import{a as p}from"./chunk-OYOTLGGD.js";import{r as E}from"./chunk-VQ44LFBY.js";import{p as c,r as F,v as S}from"./chunk-5VKFEYZK.js";import{b as q,c as D}from"./chunk-BPRY3O4N.js";import{O as w}from"./chunk-OQ6WYWG4.js";import{A as T,S as O,v as I,x as u}from"./chunk-SQVJGTTD.js";import{Lb as a}from"./chunk-KNLPWHHJ.js";import{a as M}from"./chunk-M5GXA5W4.js";import{e as A,g as h}from"./chunk-VKWPEFWQ.js";h();h();async function _(t,o,e){let{name:r,verbose:d,noColor:l,json:m,force:x}=e,g=O()||x;if(C({verbose:d,noColor:l}),g&&!o){let s="A theme ID is required to duplicate a theme, specify one with the --theme flag";m?a(JSON.stringify({message:s,errors:[]})):u({body:[s]});return}let i=o?await J(t,o):await v(t,{header:"Select a theme to duplicate",filter:{theme:o}});if(!i){let s=`No theme with ID ${o} could be found. Use shopify theme list to find a theme ID.`;m?a(JSON.stringify({message:s,errors:[]})):u({body:[s]});return}if(i?.role==="development"){let s="Development themes can't be duplicated. Use shopify theme push to upload it to the store first.";m?a(JSON.stringify({message:s,errors:[]})):u({body:[s]});return}if(!g&&!await T({message:`Do you want to duplicate '${i.name}' on ${t.storeFqdn}?`,confirmationMessage:`Yes, duplicate '${i.name}'`,cancellationMessage:"No, cancel duplicate"}))return;let b=await E(i.id,r,t);m?j(i,t,b):P(i,t,b)}function P(t,o,e){if(e.userErrors&&e.userErrors.length>0){let r=e.userErrors.map(d=>d.message).join(", ");u({body:["The theme",...p(t),"could not be duplicated due to errors: ",{subdued:r},{char:"."},...e.requestId?[`
|
|
2
2
|
Request ID: `,{subdued:e.requestId}]:[]]})}else e.theme?I({body:["The theme",...p(t),"has been duplicated",{char:"."}],nextSteps:[[{link:{label:"View the duplicated theme",url:N(e.theme,o)}}]]}):u({body:["The theme",...p(t),"unexpectedly could not be duplicated",{char:"."},...e.requestId?[`
|
|
3
3
|
Request ID: `,{subdued:e.requestId}]:[]]})}function j(t,o,e){if(e.userErrors&&e.userErrors.length>0)a(JSON.stringify({message:`The theme '${t.name}' could not be duplicated due to errors`,errors:e.userErrors.map(r=>r.message),requestId:e.requestId}));else if(e.theme){let{id:r,name:d,role:l}=e.theme,m={theme:{id:r,name:d,role:l,shop:o.storeFqdn}};a(JSON.stringify(m))}else a(JSON.stringify({message:`The theme '${t.name}' unexpectedly could not be duplicated `,errors:[],requestId:e.requestId}))}var f=A(M(),1);var y,n=class extends S{async run(){let{flags:o}=await this.parse(y),e=F(o),r=await w(e,o.password);await _(r,o.theme,o)}};y=n;n.summary="Duplicates a theme from your theme library.";n.usage=["theme duplicate","theme duplicate --theme 10 --name 'New Theme'"];n.descriptionWithMarkdown=`If you want to duplicate your local theme, you need to run \`shopify theme push\` first.
|
|
4
4
|
|