@shopify/cli 4.8.4 → 4.8.5
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-4D5FCVMV.js +1 -0
- package/dist/{analytics-RGIJMP4U.js → analytics-XRYJEPWC.js} +1 -1
- package/dist/bootstrap.js +1 -1
- package/dist/{chunk-K2DP5Z76.js → chunk-2IZROVCY.js} +1 -1
- package/dist/{chunk-NHOF2IN6.js → chunk-2JM3XHTQ.js} +1 -1
- package/dist/{chunk-V2GLAK2W.js → chunk-2SOA4M4G.js} +1 -1
- package/dist/{chunk-ZVJD6CUY.js → chunk-2WNF5BX4.js} +1 -1
- package/dist/{chunk-XYUTD6IU.js → chunk-2Z52XJQG.js} +1 -1
- package/dist/chunk-34PQ6LJC.js +1 -0
- package/dist/{chunk-CBMX6XI7.js → chunk-3CKUOG4B.js} +1 -1
- package/dist/{chunk-SCLGMVNB.js → chunk-3NW372KT.js} +1 -1
- package/dist/{chunk-HXVUDGLH.js → chunk-4DIR65KL.js} +1 -1
- package/dist/{chunk-66G2HJ2A.js → chunk-4JLOCGTK.js} +1 -1
- package/dist/{chunk-GINXNPAR.js → chunk-4JU7N2OF.js} +1 -1
- package/dist/{chunk-4F3XYIEY.js → chunk-4NZ465W4.js} +1 -1
- package/dist/{chunk-RDS2WYQH.js → chunk-4SXHXMK6.js} +1 -1
- package/dist/{chunk-BYX7SQPM.js → chunk-4UAJ6ULU.js} +1 -1
- package/dist/{chunk-RIM7FNP3.js → chunk-4UD2LW4O.js} +1 -1
- package/dist/{chunk-Y4BBTWM5.js → chunk-4XE6E4DC.js} +1 -1
- package/dist/{chunk-O72SHE3Q.js → chunk-5EME57E6.js} +1 -1
- package/dist/{chunk-6QADNGH4.js → chunk-5GUXN2RU.js} +1 -1
- package/dist/{chunk-CFQ5G2QS.js → chunk-5N33O2RV.js} +1 -1
- package/dist/{chunk-AQPOPSQ7.js → chunk-5PAPCPUM.js} +1 -1
- package/dist/{chunk-BV62ZERJ.js → chunk-5U24BORP.js} +1 -1
- package/dist/{chunk-2SL443J6.js → chunk-6ARAJULJ.js} +1 -1
- package/dist/{chunk-APUYMORT.js → chunk-6ICRPFG4.js} +1 -1
- package/dist/{chunk-NDT3F2PR.js → chunk-6IOVTFAH.js} +1 -1
- package/dist/{chunk-NBXXTQWA.js → chunk-6LNTC6EK.js} +1 -1
- package/dist/{chunk-VG3YVCZW.js → chunk-6QU2BHVL.js} +1 -1
- package/dist/{chunk-S5H5U3PR.js → chunk-6QWLOSUQ.js} +1 -1
- package/dist/{chunk-2WATX3XV.js → chunk-77KSMVIO.js} +1 -1
- package/dist/{chunk-JQPPLSFT.js → chunk-7O2KMA4J.js} +1 -1
- package/dist/{chunk-L3M7PTHU.js → chunk-7VJPQ52S.js} +1 -1
- package/dist/{chunk-4ZTRKEA2.js → chunk-7ZEVVGCH.js} +1 -1
- package/dist/{chunk-CP56F5UR.js → chunk-A2BZY6TE.js} +1 -1
- package/dist/{chunk-POMWFTBD.js → chunk-A5FV7HOY.js} +1 -1
- package/dist/{chunk-2VJ6NBPV.js → chunk-ADS7BFDG.js} +1 -1
- package/dist/chunk-ADUMJRRY.js +1 -0
- package/dist/{chunk-RHBLXZGU.js → chunk-AEPBX4GI.js} +1 -1
- package/dist/{chunk-YNFXYVYN.js → chunk-AI4SPBPV.js} +1 -1
- package/dist/{chunk-KZU727AL.js → chunk-AKETXXYD.js} +1 -1
- package/dist/{chunk-X4V2CD2H.js → chunk-ANOCIVJ3.js} +1 -1
- package/dist/{chunk-LAMTFOVF.js → chunk-AOPEKBDL.js} +1 -1
- package/dist/{chunk-UPGRXCFS.js → chunk-BMPCDXJR.js} +1 -1
- package/dist/{chunk-HYPY5WH6.js → chunk-BPJRQOHO.js} +1 -1
- package/dist/{chunk-5Z6EW3FA.js → chunk-BU6LJZG7.js} +1 -1
- package/dist/{chunk-FRVRTOTF.js → chunk-C4UCOQUP.js} +1 -1
- package/dist/{chunk-OYCAYEQE.js → chunk-CAKGQWX4.js} +1 -1
- package/dist/{chunk-CVW2HMQO.js → chunk-CBGDD3ZG.js} +1 -1
- package/dist/chunk-CUGLV7UX.js +1 -0
- package/dist/{chunk-RHNZA4IL.js → chunk-CWSQIPY5.js} +1 -1
- package/dist/{chunk-D6LQ56XT.js → chunk-D34ZSTCK.js} +1 -1
- package/dist/{chunk-ERBXXVOZ.js → chunk-D6LV5CJL.js} +1 -1
- package/dist/{chunk-3DT4NS4S.js → chunk-DGMHUJV3.js} +1 -1
- package/dist/{chunk-3CZ7DKE5.js → chunk-DKAWQBTI.js} +1 -1
- package/dist/{chunk-QKTBYAUD.js → chunk-DPMOLROM.js} +1 -1
- package/dist/{chunk-XKHKXUQY.js → chunk-DV7FOLG4.js} +1 -1
- package/dist/{chunk-PNNW7YQG.js → chunk-EBBS7VG6.js} +1 -1
- package/dist/{chunk-DUNE3INK.js → chunk-EJJPVVQ2.js} +1 -1
- package/dist/{chunk-2HW6VRJT.js → chunk-ENUN2VSC.js} +1 -1
- package/dist/{chunk-BHTHUKHU.js → chunk-EX7Y3BEH.js} +1 -1
- package/dist/{chunk-T4V7KOGJ.js → chunk-F33TYJM5.js} +1 -1
- package/dist/{chunk-BAWBC66R.js → chunk-FDK3NDYQ.js} +1 -1
- package/dist/{chunk-LX5UXWZ7.js → chunk-FLV6UQRA.js} +1 -1
- package/dist/{chunk-LBA6FGKC.js → chunk-FTC3BXSD.js} +1 -1
- package/dist/{chunk-FY47X4NG.js → chunk-FXBQKJTS.js} +1 -1
- package/dist/{chunk-L2DCUVZV.js → chunk-FXWNYGIW.js} +1 -1
- package/dist/{chunk-H2HR2AQE.js → chunk-G5272L77.js} +1 -1
- package/dist/{chunk-43FRAUV6.js → chunk-G5QSVBYP.js} +4 -4
- package/dist/{chunk-DDZEYA2I.js → chunk-G6SURO6V.js} +1 -1
- package/dist/{chunk-7FVCUY54.js → chunk-G7C4LBG2.js} +1 -1
- package/dist/{chunk-DO4SRE4M.js → chunk-GBYDMHZ3.js} +1 -1
- package/dist/{chunk-6A3TDSON.js → chunk-GCJAY2XJ.js} +1 -1
- package/dist/{chunk-NKC3K3XP.js → chunk-GR6NR5QK.js} +1 -1
- package/dist/{chunk-67QK26HI.js → chunk-GUPUXFIP.js} +1 -1
- package/dist/{chunk-VBICZDA4.js → chunk-GW7IEG4G.js} +1 -1
- package/dist/{chunk-SVYHWGMI.js → chunk-H5MENHJ2.js} +1 -1
- package/dist/{chunk-YHTONNIZ.js → chunk-H6TWXT6Q.js} +1 -1
- package/dist/chunk-HGFCNPSN.js +1 -0
- package/dist/{chunk-BHJ3TGS7.js → chunk-HKHGJYRC.js} +1 -1
- package/dist/{chunk-OY6L7J53.js → chunk-HS3VTFW3.js} +1 -1
- package/dist/{chunk-FRRA5MI2.js → chunk-HSETBDXR.js} +1 -1
- package/dist/{chunk-WY7QF7VU.js → chunk-I6DVGPJ7.js} +1 -1
- package/dist/{chunk-GJHBAOGJ.js → chunk-IKNCFVVX.js} +1 -1
- package/dist/{chunk-Z2HN5L6G.js → chunk-IMIPD73V.js} +1 -1
- package/dist/{chunk-D6QTOQEJ.js → chunk-IPN5OHBY.js} +1 -1
- package/dist/{chunk-AU7GNCOK.js → chunk-IYFHBTJ2.js} +1 -1
- package/dist/{chunk-4OMKKYFC.js → chunk-J2HBEHCX.js} +1 -1
- package/dist/{chunk-JJJIRCQP.js → chunk-J774336K.js} +1 -1
- package/dist/{chunk-MYLMGH7Y.js → chunk-K3OI5VDE.js} +1 -1
- package/dist/{chunk-QZEDYQVT.js → chunk-K5OTE6CX.js} +1 -1
- package/dist/{chunk-JWHQPDOK.js → chunk-KB43BSFM.js} +1 -1
- package/dist/{chunk-TCFGEOE4.js → chunk-KDMJ2BLO.js} +1 -1
- package/dist/{chunk-EQ2PD2ZA.js → chunk-KGRDHI2A.js} +1 -1
- package/dist/{chunk-FGRW7GT4.js → chunk-KHRZFJHM.js} +1 -1
- package/dist/{chunk-OPOPO7DG.js → chunk-KNCYAIJ2.js} +1 -1
- package/dist/{chunk-CNK3ZO2B.js → chunk-KYNXMDFU.js} +3 -3
- package/dist/{chunk-6CR2EEZ3.js → chunk-L7CQQML6.js} +1 -1
- package/dist/{chunk-2IRRFPEY.js → chunk-LCVDLQEZ.js} +1 -1
- package/dist/{chunk-4HOJJCZ6.js → chunk-LZZAD3FW.js} +1 -1
- package/dist/{chunk-XRJCD3AO.js → chunk-M2M3I63K.js} +1 -1
- package/dist/{chunk-ZVA5F4QC.js → chunk-MFP63IUM.js} +1 -1
- package/dist/{chunk-XHXKPRF5.js → chunk-MMHTYLTG.js} +1 -1
- package/dist/{chunk-VETLNJ56.js → chunk-MNYKIPG7.js} +1 -1
- package/dist/{chunk-XWXAFJFC.js → chunk-MVJSQT7V.js} +1 -1
- package/dist/{chunk-BG7QQU23.js → chunk-NAQ7KT6L.js} +1 -1
- package/dist/{chunk-V4774HTF.js → chunk-NDAUL4H4.js} +1 -1
- package/dist/{chunk-MBRFIXCU.js → chunk-NDFKLPHJ.js} +1 -1
- package/dist/{chunk-WGFGWDWP.js → chunk-NPATN7YS.js} +1 -1
- package/dist/{chunk-FW3RORD7.js → chunk-NUKSSKYR.js} +1 -1
- package/dist/chunk-NVNDQQN6.js +8 -0
- package/dist/{chunk-KWQGJ3VC.js → chunk-NZ3HLDJG.js} +1 -1
- package/dist/{chunk-WAJRWCZY.js → chunk-NZE4C4OI.js} +1 -1
- package/dist/{chunk-PM3HRKPR.js → chunk-O452KNRL.js} +1 -1
- package/dist/{chunk-6P5FGN6P.js → chunk-OAEGTH4Q.js} +1 -1
- package/dist/{chunk-TAY7HU7X.js → chunk-OJSF3H2G.js} +20 -20
- package/dist/{chunk-JXG2T76F.js → chunk-P5R6JZMT.js} +1 -1
- package/dist/{chunk-3DIRCEXA.js → chunk-PDWJ2YH2.js} +1 -1
- package/dist/{chunk-ZCNNJCTQ.js → chunk-PIQI72DV.js} +1 -1
- package/dist/{chunk-ZAH6QID2.js → chunk-PJ7L6NSD.js} +1 -1
- package/dist/{chunk-H7TDIRIU.js → chunk-PL7AJVTV.js} +1 -1
- package/dist/{chunk-W4SQE6NR.js → chunk-POOKYUTJ.js} +1 -1
- package/dist/{chunk-7KLPRSQR.js → chunk-PQDB3FUL.js} +1 -1
- package/dist/{chunk-6C5AVMKR.js → chunk-PSSOCUUD.js} +2 -2
- package/dist/{chunk-74CYT3VX.js → chunk-PU6KWWVK.js} +1 -1
- package/dist/{chunk-IHEBV2KO.js → chunk-PWXGGZQB.js} +1 -1
- package/dist/{chunk-R3GLEZSE.js → chunk-QKUTVLRJ.js} +1 -1
- package/dist/{chunk-G2YTINLI.js → chunk-QOOVB6RW.js} +1 -1
- package/dist/{chunk-CSOCXWP6.js → chunk-R4TOHQH3.js} +1 -1
- package/dist/{chunk-WGUCRVII.js → chunk-RGJVJ22M.js} +1 -1
- package/dist/{chunk-DH3DMUE2.js → chunk-RSGIMVPN.js} +1 -1
- package/dist/{chunk-SPNM3GES.js → chunk-RU6J6QQF.js} +1 -1
- package/dist/{chunk-L3JBKCAS.js → chunk-RX63KGTK.js} +1 -1
- package/dist/{chunk-AIILEPSK.js → chunk-SOJHJ4QK.js} +1 -1
- package/dist/{chunk-66HW6J57.js → chunk-SYBKHTVU.js} +1 -1
- package/dist/{chunk-EJJPEWSB.js → chunk-T3B6KIPU.js} +1 -1
- package/dist/{chunk-6V6UNUMM.js → chunk-TIG7SSKB.js} +1 -1
- package/dist/{chunk-L4LDNEFK.js → chunk-TTV2GWNE.js} +1 -1
- package/dist/{chunk-GTAYTMCP.js → chunk-TUWRPDTE.js} +1 -1
- package/dist/{chunk-4DLRS7MT.js → chunk-UBTHWHPB.js} +3 -3
- package/dist/chunk-UDWSRNKO.js +1 -0
- package/dist/{chunk-U6URYCC6.js → chunk-UJSCQJLW.js} +1 -1
- package/dist/{chunk-6B727IUY.js → chunk-VE6BYYBP.js} +1 -1
- package/dist/{chunk-LEW5IJK6.js → chunk-VIMFXQ3Q.js} +1 -1
- package/dist/{chunk-UJBMY5WR.js → chunk-VPOAOUT4.js} +1 -1
- package/dist/{chunk-IHH5XTPV.js → chunk-VVPIXC3W.js} +1 -1
- package/dist/{chunk-OAG72Q2O.js → chunk-W3BNL2Q5.js} +1 -1
- package/dist/{chunk-A3U7JDUC.js → chunk-WAZL37JY.js} +1 -1
- package/dist/{chunk-OUA6EOLX.js → chunk-WDY5CK2T.js} +1 -1
- package/dist/{chunk-TA2M37OB.js → chunk-WHXY372K.js} +1 -1
- package/dist/{chunk-M7VQLMSW.js → chunk-WHZKFG2B.js} +1 -1
- package/dist/{chunk-7VQBIGJB.js → chunk-WKRX4FBZ.js} +1 -1
- package/dist/{chunk-QVO5CAJN.js → chunk-WKTIQUQP.js} +1 -1
- package/dist/{chunk-VDGTHMIQ.js → chunk-WLU7UG44.js} +1 -1
- package/dist/{chunk-C4Y7PQDQ.js → chunk-WM3GKSPE.js} +1 -1
- package/dist/{chunk-KUZ5Z6HM.js → chunk-WNBRPWSB.js} +1 -1
- package/dist/{chunk-A5U4KKNV.js → chunk-WQOV3LQA.js} +1 -1
- package/dist/{chunk-A3V2A2I4.js → chunk-WWRLFLGM.js} +1 -1
- package/dist/{chunk-3IQ6WXDD.js → chunk-XOEBZR5C.js} +1 -1
- package/dist/{chunk-W4SGAPPR.js → chunk-XRWQ7AXY.js} +1 -1
- package/dist/{chunk-5DMFEDKY.js → chunk-YGSXN3YD.js} +1 -1
- package/dist/{chunk-2ZROBXJX.js → chunk-YN5SVIOI.js} +1 -1
- package/dist/{chunk-HYM3HBDG.js → chunk-YVB7ZPHR.js} +2 -2
- package/dist/{chunk-7LZ34C4S.js → chunk-Z4E2EXZV.js} +1 -1
- package/dist/{chunk-HINK4QAR.js → chunk-ZFA5DIJ3.js} +1 -1
- package/dist/{chunk-PGWQHSDV.js → chunk-ZIAXZ5VG.js} +1 -1
- package/dist/{chunk-QXR5DJC2.js → chunk-ZMD5TNU5.js} +1 -1
- package/dist/{chunk-Z5KYKXMH.js → chunk-ZMTTZXC4.js} +1 -1
- package/dist/{chunk-DZZORIWL.js → chunk-ZZNGFCJ3.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/doctor/instructions.js +1 -1
- package/dist/cli/commands/app/doctor.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/subscription-migrations/cancel.js +1 -1
- package/dist/cli/commands/app/subscription-migrations/list.js +1 -1
- package/dist/cli/commands/app/subscription-migrations/schedule.js +1 -1
- package/dist/cli/commands/app/subscription-migrations/status.js +1 -1
- package/dist/cli/commands/app/subscription-migrations/unschedule.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/send-analytics.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/version.js +1 -1
- package/dist/command-registry.js +1 -1
- package/dist/{conf-store-H3UAVGN5.js → conf-store-5UUKEHZV.js} +1 -1
- package/dist/{deprecations-TEUM7CML.js → deprecations-DVGWC3RL.js} +1 -1
- package/dist/dist-CN7N5IOM.js +1 -0
- package/dist/dist-Q5U4WGYG.js +1 -0
- package/dist/{environments-LAFWOQWO.js → environments-M4CFP4XF.js} +1 -1
- package/dist/{error-6ZCGAC5E.js → error-ZES2RSN7.js} +1 -1
- package/dist/error-handler-CRTU67VJ.js +1 -0
- package/dist/{fs-QEWOWUPQ.js → fs-GELMKEWX.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-UYMEAGDR.js → is-global-X2QNCXXB.js} +1 -1
- package/dist/{local-Z4ZEMWE4.js → local-HMFFXIE3.js} +1 -1
- package/dist/{metadata-ZCQMB5AB.js → metadata-SXJZZMCI.js} +1 -1
- package/dist/{node-package-manager-HMOTOBDS.js → node-package-manager-2D2CIFTG.js} +1 -1
- package/dist/notifications-system-WH6MAXEN.js +1 -0
- package/dist/os-PY42WAOB.js +1 -0
- package/dist/{output-BJCZYDNG.js → output-MSTNB7GI.js} +1 -1
- package/dist/{system-T4H2ISV6.js → system-7XRI63YJ.js} +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/{ui-4MQSY5IN.js → ui-77QYNWJB.js} +1 -1
- package/dist/upgrade-UVPNOKKK.js +1 -0
- package/dist/version-DXGPL73I.js +1 -0
- package/dist/{version-RF7QQXRX.js → version-XMVQO6PD.js} +1 -1
- package/dist/{workerd-7E4H2DM3.js → workerd-SOWC66FA.js} +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +7 -7
- package/dist/analytics-M4OC7RPG.js +0 -1
- package/dist/chunk-2HYR6EUD.js +0 -1
- package/dist/chunk-44QD4QNO.js +0 -1
- package/dist/chunk-6XLFFOPK.js +0 -1
- package/dist/chunk-GGPMDCCB.js +0 -8
- package/dist/chunk-VJ5YOXKL.js +0 -1
- package/dist/chunk-XOYICV6P.js +0 -1
- package/dist/dist-62I5X3FS.js +0 -1
- package/dist/dist-YHZ5BTYD.js +0 -1
- package/dist/error-handler-JNCW56EC.js +0 -1
- package/dist/notifications-system-RT3CY6LZ.js +0 -1
- package/dist/os-G6KDPJMC.js +0 -1
- package/dist/upgrade-4234MIYJ.js +0 -1
- package/dist/version-FRSRSCRX.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as i}from"./chunk-GCN4O7HM.js";import{b as r}from"./chunk-
|
|
1
|
+
import{a as i}from"./chunk-GCN4O7HM.js";import{b as r}from"./chunk-UBTHWHPB.js";import{y as e}from"./chunk-PSSOCUUD.js";import{t}from"./chunk-DPMOLROM.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();var o=class extends r{static summary="Enable automatic upgrades for Shopify CLI.";static descriptionWithMarkdown=`Enable automatic upgrades for Shopify CLI.
|
|
2
2
|
|
|
3
3
|
When auto-upgrade is enabled, Shopify CLI automatically updates to the latest version once per day. Major version upgrades are skipped and must be done manually.
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as c}from"./chunk-
|
|
1
|
+
import{a as c}from"./chunk-CUGLV7UX.js";import{a as e}from"./chunk-4JU7N2OF.js";import{B as s,xa as p,y as n}from"./chunk-CBGDD3ZG.js";import{b as r}from"./chunk-2IZROVCY.js";import{a as d}from"./chunk-CTNBSUVU.js";import{e as l,g as i}from"./chunk-VKWPEFWQ.js";i();var f=l(d(),1);var{config:F,...u}=e,o=class m extends c{static summary="Activate an app configuration.";static descriptionWithMarkdown="Sets default configuration when you run app-related CLI commands. If you omit the `config-name` parameter, then you'll be prompted to choose from the configuration files in your project.";static description=this.descriptionWithoutMarkdown();static usage="app config use [config] [flags]";static flags={...r,...u};static args={config:f.Args.string({description:"The name of the app configuration. Can be 'shopify.app.staging.toml' or simply 'staging'."})};async run(){let{flags:t,args:a}=await this.parse(m),{app:g}=await p({directory:t.path,userProvidedConfigName:a.config});return await s(t.path),await n({directory:t.path,configName:a.config,reset:t.reset}),{app:g}}};export{o as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as U}from"./chunk-
|
|
1
|
+
import{a as U}from"./chunk-AOPEKBDL.js";import{D as H}from"./chunk-CBGDD3ZG.js";import{a as q}from"./chunk-VJEKDBGZ.js";import{b as I}from"./chunk-AI4SPBPV.js";import{a as O,o as D,w as k}from"./chunk-PSSOCUUD.js";import{h as N}from"./chunk-W3BNL2Q5.js";import{Ab as h,Ca as F,Ta as A,Ua as P,bb as y,na as R,wa as g}from"./chunk-G5QSVBYP.js";import{f as S}from"./chunk-2Z52XJQG.js";import{d as x,e as E,g as v,i as C}from"./chunk-773TIA5M.js";import{e as X,g as m}from"./chunk-VKWPEFWQ.js";m();function w(){return process.hrtime()}function M(r){let t=process.hrtime(r);return(t[0]*1e3+t[1]/1e6).toFixed(2)}m();m();var $=X(q(),1),G=200,K=6e4,L=200,Q=500,_=class{currentEvents=[];extensionPaths=[];app;options;onChangeCallback;watcher;debouncedEmit;ignored={};extensionWatchedFiles=new Map;constructor(t,e,s=G){this.app=t,this.options=e,this.debouncedEmit=k(this.emitEvents.bind(this),s,{leading:!0,trailing:!0}),this.updateApp(t)}onChange(t){this.onChangeCallback=t}async start(){let e=[...this.app.configuration.extension_directories??["extensions"]].map(n=>x(this.app.directory,n));await Promise.all(e.map(async n=>{try{await g(n.replace(/\/\*+$/,""))}catch{}}));let s=[this.app.configPath,...e],i=this.getAllWatchedFiles();s.push(...i),this.close();let{default:o}=await import("./chokidar-5RWEYTNQ.js");this.watcher=o.watch(s,{ignored:["**/node_modules/**","**/.git/**"],persistent:!0,ignoreInitial:!0}),this.watcher.on("all",this.handleFileEvent),this.addAbortListener(),h(`File watcher started with ${s.length} paths`,this.options.stdout)}updateApp(t){this.app=t,this.extensionPaths=this.app.nonConfigExtensions.map(e=>E(e.directory)).filter(e=>e!==this.app.directory),this.extensionPaths.forEach(e=>{this.ignored[e]??=this.createIgnoreInstance(e)})}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(s=>({extension:s,watchedFiles:s.watchedFiles()})),e=new Set;for(let{extension:s,watchedFiles:i}of t)for(let o of i){let n=E(o);e.add(n);let a=this.extensionWatchedFiles.get(n)??new Set;a.add(s.handle),this.extensionWatchedFiles.set(n,a)}return Array.from(e)}emitEvents=()=>{let t=this.currentEvents;this.currentEvents=[];let e=`\u{1F509} ${t.length} EVENTS EMITTED in files: ${t.map(s=>s.path).join(`
|
|
2
2
|
`)}`;h(e,this.options.stdout),this.onChangeCallback?.(t)};pushEvent(t){this.shouldIgnoreEvent(t)||(t.type==="extension_folder_created"&&(this.ignored[t.path]=this.createIgnoreInstance(t.path)),!this.currentEvents.some(e=>e.path===t.path&&e.type===t.type&&e.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 s=(t.extensionHandle?this.app.realExtensions.find(o=>o.handle===t.extensionHandle):void 0)?.watchedFiles(),i=this.ignored[t.extensionPath];if(s)return!s.some(n=>y(t.path,n));if(i){let o=v(t.extensionPath,t.path);return i.ignores(o)}return!1}handleFileEvent=(t,e)=>{let s=w(),i=E(e),o=e===this.app.configPath,n=e.endsWith(".extension.toml");if(h(`\u{1F300}: ${t} ${e.replace(this.app.directory,"")}
|
|
3
3
|
`),o)this.handleEventForExtension(t,e,this.app.directory,s,!1);else{let a=this.extensionWatchedFiles.get(i),d=a===void 0||a.size===0;if(d&&t==="add"&&!n){let c=this.discoverFileOwners(i);c.size>0&&(this.extensionWatchedFiles.set(i,c),a=c,d=!1)}if(d&&!n&&!o){h(`\u{1F300}: File ${e} is not watched by any extension`,this.options.stdout);return}for(let c of a??[]){let l=this.app.realExtensions.find(f=>f.handle===c),u=l?E(l.directory):this.app.directory;this.handleEventForExtension(t,e,u,s,!1,c)}d&&this.handleEventForExtension(t,e,this.app.directory,s,!0)}this.debouncedEmit()};discoverFileOwners(t){let e=new Set;for(let s of this.app.realExtensions){let i=E(s.directory);i!==this.app.directory&&t.startsWith(`${i}/`)&&this.pathMatchesWatchPatterns(t,s)&&e.add(s.handle)}return e}pathMatchesWatchPatterns(t,e){let{paths:s,ignore:i}=e.watchPatterns(),o=v(E(e.directory),t);return i.some(n=>y(o,n))?!1:s.some(n=>y(o,n))}handleEventForExtension(t,e,s,i,o,n){let a=e.endsWith(".extension.toml"),d=e===this.app.configPath;switch(t){case"change":if(o)break;a||d?this.pushEvent({type:"extensions_config_updated",path:e,extensionPath:s,extensionHandle:n,startTime:i}):this.pushEvent({type:"file_updated",path:e,extensionPath:s,extensionHandle:n,startTime:i});break;case"add":if(!a){this.pushEvent({type:"file_created",path:e,extensionPath:s,extensionHandle:n,startTime:i});break}let c=0,l=C(e),u=setInterval(()=>{P(x(l,I.lockFile))?(h(`Waiting for extension to complete creation: ${e}
|
|
4
4
|
`),c+=L):(clearInterval(u),this.extensionPaths.push(l),this.pushEvent({type:"extension_folder_created",path:l,extensionPath:s,startTime:i}),this.debouncedEmit()),c>=K&&(clearInterval(u),this.options.stderr.write(`Error loading new extension at path: ${e}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as b}from"./chunk-
|
|
1
|
+
import{f as b}from"./chunk-2Z52XJQG.js";import{g as m}from"./chunk-VKWPEFWQ.js";m();import{performance as u}from"node:perf_hooks";function w(){return b()?"bubble":"mute-and-report"}function h(g={}){let i={sensitive:{},public:{...g}},p=t=>{Object.assign(i.public,t)},M=t=>{Object.assign(i.sensitive,t)},l=async(t,e,n)=>{let r=n==="auto"?w():n,s=async()=>{let c=await e();t(c)};if(r==="bubble")await s();else try{await s()}catch(c){let{sendErrorToBugsnag:o}=await import("./error-handler-CRTU67VJ.js");await o(c,"unexpected_error")}},a=[];return{getAllPublicMetadata:()=>({...i.public}),getAllSensitiveMetadata:()=>({...i.sensitive}),addPublicMetadata:async(t,e="auto")=>l(p,t,e),addSensitiveMetadata:async(t,e="auto")=>l(M,t,e),runWithTimer:t=>async e=>{a.push(0);let n=u.now();try{return await e()}finally{let r=u.now();r=Math.max(n,r);let s=Math.max(r-n,0),c=a.pop(),o=Math.max(s-c,0);a.length>0&&(a[a.length-1]=(a[a.length-1]??0)+s),u.measure(`${t}#measurable`,{start:n,duration:o}),u.measure(`${t}#wall`,{start:n,end:r});let d=i.public[t]||0;d+=o,i.public[t]=d}}}}var y=h({cmd_all_timing_network_ms:0,cmd_all_timing_prompts_ms:0}),{getAllPublicMetadata:S,getAllSensitiveMetadata:f,addPublicMetadata:x,addSensitiveMetadata:A,runWithTimer:P}=y;export{h as a,S as b,f as c,x as d,A as e,P as f};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as Xw}from"./chunk-IWOTLFOY.js";import{a as d$}from"./chunk-FFSDGRAN.js";import{a as Qw,b as p$,c as h$}from"./chunk-F3TMLDLC.js";import{Ca as f$,Da as Yw,m as Kw}from"./chunk-
|
|
1
|
+
import{a as Xw}from"./chunk-IWOTLFOY.js";import{a as d$}from"./chunk-FFSDGRAN.js";import{a as Qw,b as p$,c as h$}from"./chunk-F3TMLDLC.js";import{Ca as f$,Da as Yw,m as Kw}from"./chunk-KYNXMDFU.js";import{q as Jw}from"./chunk-TR4OWSEX.js";import{a as ce,b as we,c as x,d as Oy,e as Ia,f as Py,g as p}from"./chunk-VKWPEFWQ.js";var qy=x(Ny=>{"use strict";p();Object.defineProperty(Ny,"__esModule",{value:!0});Ny.deepGet=m$;function m$(e,t){return t.reduce((r,n)=>r?.[n],e)}});var Zw=x(fs=>{"use strict";p();Object.defineProperty(fs,"__esModule",{value:!0});fs.first=g$;fs.last=y$;fs.findLast=_$;fs.findLastIndex=Ly;fs.findLastAndIndex=v$;function g$(e){return e[0]}function y$(e,t=0){return e[e.length-1+t]}function _$(e,t){return e[Ly(e,t)]}function Ly(e,t){for(let r=e.length-1;r>=0;r--)if(t(e[r]))return r;return-1}function v$(e,t){let r=Ly(e,t);return[e[r],r]}});var tx=x((kpe,ex)=>{"use strict";p();var b$=Qw();ex.exports=function(t){return t!=null&&typeof t=="object"&&b$(t)===!1}});var Cy=x((wpe,rx)=>{"use strict";p();var k$=Qw(),S$=tx(),Tpe=Array.prototype.slice;rx.exports=Ma;function Ma(e,t){if(!(this instanceof Ma))return typeof t=="number"?new Ma(e).fromIndex(t):new Ma(e,t);this.str=e||"",this.lineToIndex=T$(this.str),t=t||{},this.origin=typeof t.origin>"u"?1:t.origin}Ma.prototype.fromIndex=function(e){if(e<0||e>=this.str.length||isNaN(e))return null;var t=w$(e,this.lineToIndex);return{line:t+this.origin,col:e-this.lineToIndex[t]+this.origin}};Ma.prototype.toIndex=function(e,t){if(typeof t>"u")return k$(e)&&e.length>=2?this.toIndex(e[0],e[1]):S$(e)&&"line"in e&&("col"in e||"column"in e)?this.toIndex(e.line,"col"in e?e.col:e.column):-1;if(isNaN(e)||isNaN(t))return-1;if(e-=this.origin,t-=this.origin,e>=0&&t>=0&&e<this.lineToIndex.length){var r=this.lineToIndex[e],n=e===this.lineToIndex.length-1?this.str.length:this.lineToIndex[e+1];if(t<n-r)return r+t}return-1};function T$(e){for(var t=e.split(`
|
|
2
2
|
`),r=new Array(t.length),n=0,i=0,s=t.length;i<s;i++)r[i]=n,n+=t[i].length+1;return r}function w$(e,t){if(e>=t[t.length-1])return t.length-1;for(var r=0,n=t.length-2,i;r<n;)if(i=r+(n-r>>1),e<t[i])n=i-1;else if(e>=t[i+1])r=i+1;else{r=i;break}return r}});var ix=x(Ra=>{"use strict";p();var x$=Ra&&Ra.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ra,"__esModule",{value:!0});Ra.getPosition=E$;Ra.getOffset=A$;var nx=x$(Cy());function E$(e,t){let r=(0,nx.default)(e,{origin:0}).fromIndex(Math.min(t,e.length-1));return{index:t,line:r?r.line:-1,character:r?r.col:-1}}function A$(e,t,r){return(0,nx.default)(e,{origin:1}).toIndex(t,r)}});var df=x(pf=>{"use strict";p();Object.defineProperty(pf,"__esModule",{value:!0});pf.isError=P$;pf.asError=N$;var O$={1:"Invalid symbol found in the input.",2:"Invalid number format detected.",3:"Property name expected but not found.",4:"A value was expected but not found.",5:"Colon `:` expected after the property name.",6:"Comma `,` expected between elements and properties.",7:"Closing brace `}` expected.",8:"Closing bracket `]` expected.",9:"End of file expected.",10:"Invalid comment token found.",11:"Unexpected end of comment.",12:"Unexpected end of string.",13:"Unexpected end of number.",14:"Invalid Unicode escape sequence.",15:"Invalid escape character found.",16:"Invalid character found in the input."};function P$(e){return e instanceof Error}function N$(e){return e instanceof Error?e:typeof e=="string"?new Error(e):e&&typeof e=="object"&&"error"in e?new Error(q$(e)):e&&typeof e.toString=="function"?new Error(e.toString()):new Error("An unknown error occurred")}function q$(e){return O$[e.error]||"Unknown parse error."}});var My=x(Iy=>{"use strict";p();Object.defineProperty(Iy,"__esModule",{value:!0});Iy.assertNever=L$;function L$(e){throw new Error(`We should never reach this code, you are missing a case for ${e}`)}});var Dy=x(hf=>{"use strict";p();Object.defineProperty(hf,"__esModule",{value:!0});hf.memo=C$;hf.memoize=I$;var Ry=Symbol("Unset");function C$(e){let t=Ry,r=(...n)=>(t===Ry&&(t=e(...n)),t);return r.clearCache=()=>{t=Ry},r}function I$(e,t){let r={},n=(...i)=>{let s=t(...i);return r[s]||(r[s]=e(...i)),r[s]};return n.force=(...i)=>(n.invalidate(...i),n(...i)),n.invalidate=(...i)=>{let s=t(...i);delete r[s]},n.clearCache=()=>{r={}},n}});var Fy=x(jy=>{"use strict";p();Object.defineProperty(jy,"__esModule",{value:!0});jy.indexBy=M$;function M$(e,t){let r={};for(let n of t)r[e(n)]=n;return r}});function ps(e,t=!1){let r=e.length,n=0,i="",s=0,a=16,o=0,c=0,l=0,f=0,m=0;function d(T,y){let A=0,O=0;for(;A<T||!y;){let P=e.charCodeAt(n);if(P>=48&&P<=57)O=O*16+P-48;else if(P>=65&&P<=70)O=O*16+P-65+10;else if(P>=97&&P<=102)O=O*16+P-97+10;else break;n++,A++}return A<T&&(O=-1),O}function g(T){n=T,i="",s=0,a=16,m=0}function v(){let T=n;if(e.charCodeAt(n)===48)n++;else for(n++;n<e.length&&Da(e.charCodeAt(n));)n++;if(n<e.length&&e.charCodeAt(n)===46)if(n++,n<e.length&&Da(e.charCodeAt(n)))for(n++;n<e.length&&Da(e.charCodeAt(n));)n++;else return m=3,e.substring(T,n);let y=n;if(n<e.length&&(e.charCodeAt(n)===69||e.charCodeAt(n)===101))if(n++,(n<e.length&&e.charCodeAt(n)===43||e.charCodeAt(n)===45)&&n++,n<e.length&&Da(e.charCodeAt(n))){for(n++;n<e.length&&Da(e.charCodeAt(n));)n++;y=n}else m=3;return e.substring(T,y)}function b(){let T="",y=n;for(;;){if(n>=r){T+=e.substring(y,n),m=2;break}let A=e.charCodeAt(n);if(A===34){T+=e.substring(y,n),n++;break}if(A===92){if(T+=e.substring(y,n),n++,n>=r){m=2;break}switch(e.charCodeAt(n++)){case 34:T+='"';break;case 92:T+="\\";break;case 47:T+="/";break;case 98:T+="\b";break;case 102:T+="\f";break;case 110:T+=`
|
|
3
3
|
`;break;case 114:T+="\r";break;case 116:T+=" ";break;case 117:let P=d(4,!0);P>=0?T+=String.fromCharCode(P):m=4;break;default:m=5}y=n;continue}if(A>=0&&A<=31)if(xc(A)){T+=e.substring(y,n),m=2;break}else m=6;n++}return T}function _(){if(i="",m=0,s=n,c=o,f=l,n>=r)return s=r,a=17;let T=e.charCodeAt(n);if(By(T)){do n++,i+=String.fromCharCode(T),T=e.charCodeAt(n);while(By(T));return a=15}if(xc(T))return n++,i+=String.fromCharCode(T),T===13&&e.charCodeAt(n)===10&&(n++,i+=`
|
|
4
4
|
`),o++,l=n,a=14;switch(T){case 123:return n++,a=1;case 125:return n++,a=2;case 91:return n++,a=3;case 93:return n++,a=4;case 58:return n++,a=6;case 44:return n++,a=5;case 34:return n++,i=b(),a=10;case 47:let y=n-1;if(e.charCodeAt(n+1)===47){for(n+=2;n<r&&!xc(e.charCodeAt(n));)n++;return i=e.substring(y,n),a=12}if(e.charCodeAt(n+1)===42){n+=2;let A=r-1,O=!1;for(;n<A;){let P=e.charCodeAt(n);if(P===42&&e.charCodeAt(n+1)===47){n+=2,O=!0;break}n++,xc(P)&&(P===13&&e.charCodeAt(n)===10&&n++,o++,l=n)}return O||(n++,m=1),i=e.substring(y,n),a=13}return i+=String.fromCharCode(T),n++,a=16;case 45:if(i+=String.fromCharCode(T),n++,n===r||!Da(e.charCodeAt(n)))return a=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=v(),a=11;default:for(;n<r&&k(T);)n++,T=e.charCodeAt(n);if(s!==n){switch(i=e.substring(s,n),i){case"true":return a=8;case"false":return a=9;case"null":return a=7}return a=16}return i+=String.fromCharCode(T),n++,a=16}}function k(T){if(By(T)||xc(T))return!1;switch(T){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function w(){let T;do T=_();while(T>=12&&T<=15);return T}return{setPosition:g,getPosition:()=>n,scan:t?w:_,getToken:()=>a,getTokenValue:()=>i,getTokenOffset:()=>s,getTokenLength:()=>n-s,getTokenStartLine:()=>c,getTokenStartCharacter:()=>s-f,getTokenError:()=>m}}function By(e){return e===32||e===9}function xc(e){return e===10||e===13}function Da(e){return e>=48&&e<=57}var sx,mf=we(()=>{"use strict";p();(function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"})(sx||(sx={}))});var ur,ja,Vy,ax,ox=we(()=>{p();ur=new Array(20).fill(0).map((e,t)=>" ".repeat(t)),ja=200,Vy={" ":{"\n":new Array(ja).fill(0).map((e,t)=>`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
1
|
+
import{a as s}from"./chunk-NZE4C4OI.js";import{g as r,h as n,i as h}from"./chunk-GBYDMHZ3.js";import{h as m}from"./chunk-W3BNL2Q5.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var c=t=>`Development theme #${t} could not be found. Please create a new development theme.`,E="No development theme ID has been set. Please create a development theme first.",p=class extends s{context="Development";constructor(e){super(e),this.themeId=r()}async find(){let e=await this.fetch();if(!e)throw new m(this.themeId?c(this.themeId):E);return e}setTheme(e){n(e)}removeTheme(){h()}};export{p as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as A,wa as x}from"./chunk-
|
|
1
|
+
import{n as A,wa as x}from"./chunk-CBGDD3ZG.js";import{F}from"./chunk-PSSOCUUD.js";import{h as s}from"./chunk-W3BNL2Q5.js";import{a as D}from"./chunk-CTNBSUVU.js";import{Ta as p,sb as f,ua as v,wb as I,xb as P}from"./chunk-G5QSVBYP.js";import{a as S}from"./chunk-2Z52XJQG.js";import{d as m,f as y,q as w}from"./chunk-773TIA5M.js";import{e as E,g as l}from"./chunk-VKWPEFWQ.js";l();async function b(n){let{extension:e,stdout:o,developerPlatformClient:i,app:r,orgId:t}=n,c=r.configuration.client_id,{api_version:a,type:u,targeting:d}=e.configuration,T=await(!!d?.length?_({localIdentifier:e.localIdentifier,developerPlatformClient:i,apiKey:c,target:d[0].target,version:a,orgId:t}):$({localIdentifier:e.localIdentifier,developerPlatformClient:i,apiKey:c,type:u,version:a,orgId:t})),h=A(T,a);if(o)I(h);else{let g=m(e.directory,"schema.graphql");await v(g,h),P(`GraphQL Schema for ${e.localIdentifier} written to ${g}`)}}async function _({localIdentifier:n,developerPlatformClient:e,apiKey:o,target:i,version:r,orgId:t}){let c={handle:i,version:r},a=await e.targetSchemaDefinition(c,o,t);if(!a)throw new s(f`A schema could not be generated for ${n}`,f`Check that the Function targets and version are valid.`);return a}async function $({localIdentifier:n,developerPlatformClient:e,apiKey:o,version:i,type:r,orgId:t}){let c={version:i,type:r},a=await e.apiSchemaDefinition(c,o,t);if(!a)throw new s(f`A schema could not be generated for ${n}`,f`Check that the Function API type and version are valid.`);return a}l();var C=E(D(),1);var J={path:C.Flags.string({hidden:!1,description:"The path to your function directory.",parse:async n=>y(n),default:async()=>w(),noCacheDefault:!0,env:"SHOPIFY_FLAG_PATH"})};async function M(n,e){let o=n.allExtensions.filter(r=>r.isFunctionExtension),i=o.find(r=>r.directory===e);if(i)return i;if(o.length===1&&o[0])return o[0];if(S())return await F({message:"Which function?",choices:o.map(t=>({label:t.handle,value:t}))});throw new s("Run this command from a function directory or use `--path` to specify a function directory.")}async function N(n,e,o,i,r){let t=m(n.directory,"schema.graphql");if(await p(t))return t;let{app:c,developerPlatformClient:a,organization:u}=await x({directory:e,clientId:o,forceRelink:i,userProvidedConfigName:r});return await b({app:c,developerPlatformClient:a,extension:n,stdout:!1,orgId:u.id}),await p(t)?t:void 0}export{b as a,J as b,M as c,N as d};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as A}from"./chunk-VJEKDBGZ.js";import{b as f}from"./chunk-
|
|
1
|
+
import{a as A}from"./chunk-VJEKDBGZ.js";import{b as f}from"./chunk-K5OTE6CX.js";import{f as C}from"./chunk-M2M3I63K.js";import{h as n}from"./chunk-W3BNL2Q5.js";import{Ab as u,Ea as b,Ta as I,Wa as G,qb as a,sb as s}from"./chunk-G5QSVBYP.js";import{a as k,q as g}from"./chunk-2Z52XJQG.js";import{q as w}from"./chunk-773TIA5M.js";import{e as D,g as $}from"./chunk-VKWPEFWQ.js";$();var R=D(A());async function r(e,t){try{return(await f("git",e,{cwd:t})).stdout}catch(o){if(o instanceof Error){let i=new n(o.message);throw i.stack=o.stack,"exitCode"in o&&Object.assign(i,{exitCode:o.exitCode}),i}throw o}}async function K(e,t="main"){if(t.startsWith("-"))throw new n(`Invalid initial branch name: ${t}. Branch names can't start with a hyphen.`);u(s`Initializing git repository at ${a.path(e)}...`),await m(),await r(["init"],e),await r(["checkout","-b",t],e)}async function Q(e,t){try{return(await r(["check-ignore",...t],e)).split(`
|
|
2
2
|
`).filter(Boolean)}catch(o){if(o instanceof n&&"exitCode"in o&&o.exitCode===1)return[];throw o}}async function V(e){return C("cmd_all_timing_network_ms")(async()=>{let{repoUrl:t,destination:o,shallow:i,latestTag:l}=e;if(u(s`Git-cloning repository ${t} into ${a.path(o)}...`),await m(),await I(o)){if(!await b(o))throw new n(s`Can't clone to ${a.path(o)}`,"The path exists but isn't a directory.");if((await G(["*",".*"],{cwd:o,deep:1,onlyFiles:!1})).length>0)throw new n(s`Directory ${a.path(o)} already exists and is not empty`,s`Choose a different name or remove the existing directory first.`)}let[E,d]=t.split("#");if(d&&l)throw new n("Error cloning the repository. Git can't clone the latest release with a 'branch'.");if(i&&l)throw new n("Error cloning the repository. Git can't clone the latest release with the 'shallow' property.");let h=["clone","--recurse-submodules"];d&&h.push("--branch",d),i&&h.push("--depth","1"),k()||h.push("-c","core.askpass=true"),h.push(E,o);try{if(await f("git",h),l){let c=await S(o,t);await r(["checkout",c],o)}}catch(c){if(c instanceof n)throw c;if(c instanceof Error){let x=new n(c.message);throw x.stack=c.stack,x}throw c}})}async function S(e,t){let o=await F(e);if(!o)throw new n(`Couldn't obtain the most recent tag of the repository ${t}`);return o}async function X(e){let o=await r(["log","-1","--format=%H%x00%ai%x00%s%x00%D%x00%b%x00%an%x00%ae"],e);if(!o.trim())throw new n("Must have at least one commit to run command",s`Run ${a.genericShellCommand("git commit -m 'Initial commit'")} to create your first commit.`);let i=o.split("\0");return{hash:i[0],date:i[1],message:i[2],refs:i[3],body:i[4],author_name:i[5],author_email:i[6]}}async function Y(e){await r(["add","--all"],e)}async function Z(e,t){let o=["commit","-m",e];if(t?.author){if(t.author.startsWith("-"))throw new n(`Invalid commit author: ${t.author}. Author name/email can't start with a hyphen.`);o.push("--author",t.author)}return await r(o,t?.directory),(await r(["rev-parse","HEAD"],t?.directory)).trim()}async function m(){if(!await g())throw new n("Git is necessary in the environment to continue",s`Install ${a.link("git","https://git-scm.com/book/en/v2/Getting-Started-Installing-Git")}`)}var p=class extends n{};async function N(e){if(await m(),!await v(e))throw new p(`${a.path(e??w())} is not a Git directory`)}async function tt(e){return await g()?v(e):!1}async function v(e){try{return await f("git",["rev-parse","--git-dir"],{cwd:e}),!0}catch(t){if(t instanceof Error&&"exitCode"in t&&t.exitCode===128)return!1;throw t}}var y=class extends n{};async function et(e){if(!await T(e))throw new y(`${a.path(e??w())} is not a clean Git directory`)}async function T(e){return(await r(["status","--porcelain"],e)).trim()===""}async function F(e){try{return(await r(["describe","--tags","--abbrev=0"],e)).trim()||void 0}catch(t){if(t instanceof n&&"exitCode"in t&&t.exitCode===128)return;throw t}}async function ot(e,t="origin"){if(u(s`Removing git remote ${t} from ${a.path(e)}...`),await m(),!(await r(["remote"],e)).split(`
|
|
3
3
|
`).filter(Boolean).includes(t)){u(s`Remote ${t} does not exist, no action needed`);return}await r(["remote","remove",t],e)}export{K as a,Q as b,V as c,X as d,Y as e,Z as f,N as g,tt as h,y as i,et as j,T as k,ot as l};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as n}from"./chunk-
|
|
1
|
+
import{b as n}from"./chunk-2IZROVCY.js";import{i as r}from"./chunk-B4OMIONW.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();function v(o){o.verbose&&(process.env[n.verbose.env]="true"),o.noColor&&(r.level=0,process.env.FORCE_COLOR="0")}export{v as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as h,b as w}from"./chunk-
|
|
1
|
+
import{a as h,b as w}from"./chunk-TTV2GWNE.js";import{r as f}from"./chunk-KYNXMDFU.js";import{T as d}from"./chunk-PSSOCUUD.js";import{h as i}from"./chunk-W3BNL2Q5.js";import{Ga as m,na as p}from"./chunk-G5QSVBYP.js";import{d as u}from"./chunk-773TIA5M.js";import{g as l}from"./chunk-VKWPEFWQ.js";l();import{writeFile as g}from"fs/promises";var S=1024*1024,y=100,U=y*S,E=3,_=new Set([408,429,500,502,503,504]);async function j(o,e){let t=u(e,"manifest.json");await g(t,JSON.stringify(o,null,2))}var A=["!**/*.js.map","!**/*.metafile.json"];async function k(o,e,t){let n=t??["**/*",...A];e.endsWith(".br")?await w({inputDirectory:o,outputPath:e,matchFilePattern:n}):await h({inputDirectory:o,outputZipPath:e,matchFilePattern:n})}async function C(o,e){let t=await m(e);if(t>U){let s=`${(Math.ceil(t/S*100)/100).toFixed(2)} MB`;throw new i(`Your app bundle exceeds the ${y} MB upload limit (it is ${s}).`,"Check the asset paths in your extension configuration \u2014 a misconfigured source can pull in much more than intended. Exclude large files or directories from your bundle, then try again.")}let n=p(e),r;for(let s=1;s<=E;s++){if(r=await f(o,{method:"put",body:n},"slow-request"),r.ok)return;let T=s===E;if(_.has(r.status)&&!T){await r.text().catch(()=>{}),await d(2**s*.1);continue}break}let a=r?.status,c=(await r?.text().catch(()=>""))?.trim();throw new i(`Failed to upload your app bundle to storage${a?` (HTTP ${a})`:""}.`,"This is usually transient. Please try again, and check your network connection if it persists.",c?[`Storage responded with: ${c.slice(0,300)}`]:void 0)}async function D(o,e){let t=await o.generateSignedUploadUrl(e);if(!t.assetUrl||t.userErrors?.length>0){let n=t.userErrors.map(r=>r.message).join(", ");throw new i(n)}return t.assetUrl}export{j as a,A as b,k as c,C as d,D as e};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{F as It,G as Rt,H as Ct}from"./chunk-YNFXYVYN.js";import{aa as as}from"./chunk-ZVA5F4QC.js";import{a as fe}from"./chunk-4QBJ5JBX.js";import{a as B,v as A}from"./chunk-CNK3ZO2B.js";import{P as he,z as At}from"./chunk-6C5AVMKR.js";import{a as _t}from"./chunk-XOYICV6P.js";import{h as R}from"./chunk-OAG72Q2O.js";import{a as xt}from"./chunk-ZCNNJCTQ.js";import{Ga as kt,Ha as St,Ua as Et,Xa as P,ma as vt,na as bt,ua as wt,wb as Tt}from"./chunk-43FRAUV6.js";import{d as w,f as N,g as T,h as V,i as M,j as ne,k as se,q as Ne}from"./chunk-773TIA5M.js";import{e as os,g as m}from"./chunk-VKWPEFWQ.js";m();m();m();m();m();import{lstatSync as Nt}from"node:fs";var L=class extends Error{constructor(t){super(t),this.name="AppRootDiscoveryError"}};function ie(e){let t=N(e??Ne());if(e&&!Et(t))throw new L(`App path does not exist: ${e}`);let n=t;if(e&&Nt(t).isFile()){if(!t.endsWith(".toml"))throw new L(`App path is not a directory or TOML file: ${e}`);return M(t)}if(!Nt(n).isDirectory())throw new L(`App path is not a directory: ${e??n}`);for(;;){if(P("shopify.app*.toml",{cwd:n,deep:1,dot:!1,onlyFiles:!1,followSymbolicLinks:!1}).length>0)return n;let i=M(n);if(i===n)break;n=i}throw new L(`Could not find a shopify.app*.toml from: ${e??Ne()}`)}function Pt(e){return P("shopify.app*.toml",{cwd:e,deep:1,dot:!1,onlyFiles:!1,followSymbolicLinks:!1}).flatMap(n=>{let s=w(e,n),i=ge(e,s);if(i===void 0)return[];try{let r=fe(i);return[qt(r,s,i,e)]}catch{return K(e,s,{ok:!1,reason:"unreadable",detail:"TOML could not be parsed"}),[]}})}function Lt(e,t=M(e)){let n=ge(t,e);if(n===void 0)return null;try{let s=fe(n);return qt(s,e,n,t)}catch{return K(t,e,{ok:!1,reason:"unreadable",detail:"TOML could not be parsed"}),null}}var cs=A.object({api_version:A.string().optional(),privacy_compliance:A.object({customer_deletion_url:A.string().optional(),customer_data_request_url:A.string().optional(),shop_deletion_url:A.string().optional()}).optional(),subscriptions:A.array(A.unknown()).optional()}),ds=A.object({uri:A.string(),topics:A.array(A.string()).optional(),compliance_topics:A.array(A.string()).optional()});function qt(e,t,n,s){let i=ps(e.access_scopes,t,s),r=us(e.auth,t,s),o=ls(e.webhooks,t,s);return{raw:e,path:t,content:n,scopes:i,apiVersion:o.apiVersion,redirectUrls:r,webhooks:o.subscriptions}}function ps(e,t,n){if(e===void 0)return;let s=Rt.safeParse(e);if(!s.success){Le(n,t,"access_scopes section could not be parsed");return}let i=s.data.scopes?.split(/[\s,]+/).filter(Boolean)??[],r=[...new Set([...i,...s.data.required_scopes??[]])];return r.length>0?r.join(","):void 0}function us(e,t,n){if(e===void 0)return[];let s=Ct.safeParse(e);if(s.success)return s.data.redirect_urls;let i=A.object({redirect_urls:A.array(A.string())}).safeParse(e);return i.success?i.data.redirect_urls:(Le(n,t,"auth section could not be parsed"),[])}function ls(e,t,n){if(e===void 0)return{subscriptions:[]};let s=cs.safeParse(e);if(!s.success)return Le(n,t,"webhooks section could not be parsed"),{subscriptions:[]};let i=(s.data.subscriptions??[]).flatMap(hs),r=s.data.privacy_compliance,o=[{topic:"customers/redact",uri:r?.customer_deletion_url},{topic:"customers/data_request",uri:r?.customer_data_request_url},{topic:"shop/redact",uri:r?.shop_deletion_url}].flatMap(({topic:a,uri:c})=>c?[{topics:[a],uri:c}]:[]);return{apiVersion:s.data.api_version,subscriptions:[...i,...o]}}function hs(e){let t=It.safeParse(e);if(t.success)return[{topics:[...t.data.topics??[],...t.data.compliance_topics??[]],uri:t.data.uri}];let n=ds.safeParse(e);return n.success?[{topics:[...n.data.topics??[],...n.data.compliance_topics??[]],uri:n.data.uri}]:[]}function Le(e,t,n){e&&K(e,t,{ok:!1,reason:"unreadable",detail:n})}var Ot=["**/node_modules/**","**/vendor/**","**/.git/**","**/.next/**","**/coverage/**","**/dist/**","**/build/**","**/.shopify/app-doctor/**","**/test/**","**/tests/**","**/spec/**","**/specs/**","**/__tests__/**","**/fixtures/**","**/*-fixtures/**","**/__fixtures__/**","**/*.test.*","**/*.spec.*"];function Dt(e){return e.replace(/\\/g,"/").replace(/\/+$/,"")}function fs(e){return[...new Set(P("**/shopify.app*.toml",{followSymbolicLinks:!1,cwd:e,ignore:Ot,absolute:!1,dot:!1,onlyFiles:!1}).map(t=>Dt(M(t))).filter(t=>t!=="."&&t.length>0))].sort()}function re(e,t){let n=fs(t).flatMap(s=>{let i=Dt(T(e,w(t,s)));return i===".."||i.startsWith("../")?[]:[`${i}/**`]});return[...Ot,...n]}function Mt(e){return P("**/shopify.extension.toml",{followSymbolicLinks:!1,cwd:e,ignore:re(e,e),absolute:!1,dot:!1,onlyFiles:!1}).flatMap(n=>{let s=w(e,n),i=ge(e,s);if(i===void 0)return[];try{let o=fe(i).type,a=w(e,n,".."),c=Ht(a,e);return[{path:n,type:o,content:i,files:c}]}catch{return K(e,s,{ok:!1,reason:"unreadable",detail:"TOML could not be parsed"}),[]}})}var ms=5e5,qe=[],Pe=new Map;function Ft(){qe=[],Pe.clear()}function Oe(){return[...qe]}function K(e,t,n){let s=T(e,t).replace(/\\/g,"/");qe.push({path:s.length>0?s:t,reason:n.reason,...n.sizeBytes===void 0?{}:{size_bytes:n.sizeBytes},...n.detail?{detail:n.detail}:{}})}function gs(e){try{let t=St(e);return t>ms?{ok:!1,reason:"too_large",sizeBytes:t}:{ok:!0,content:bt(e)}}catch(t){let n=t.code;return{ok:!1,reason:"unreadable",detail:t instanceof Error?t.message:String(t),...n&&/^[A-Z0-9_]+$/.test(n)?{errorCode:n}:{}}}}function $t(e,t,n){let s=N(t),i=Pe.get(s);if(i)return i;let r=gs(s);return Pe.set(s,r),!r.ok&&(n||r.errorCode!=="ENOENT")&&K(e,t,r),r}function De(e,t){return $t(e,t,!0)}function ge(e,t){let n=De(e,t);return n.ok?n.content.toString():void 0}function ye(e,t){return $t(e,t,!1)}var me={".js":{name:"javascript",supported:!0},".jsx":{name:"javascript",supported:!0},".mjs":{name:"javascript",supported:!0},".cjs":{name:"javascript",supported:!0},".ts":{name:"typescript",supported:!0},".tsx":{name:"typescript",supported:!0},".mts":{name:"typescript",supported:!0},".cts":{name:"typescript",supported:!0},".prisma":{name:"prisma",supported:!0},".liquid":{name:"liquid",supported:!0},".html":{name:"html",supported:!0},".rb":{name:"ruby",supported:!1},".php":{name:"php",supported:!1},".py":{name:"python",supported:!1},".java":{name:"java",supported:!1},".kt":{name:"kotlin",supported:!1},".kts":{name:"kotlin",supported:!1},".go":{name:"go",supported:!1},".rs":{name:"rust",supported:!1},".cs":{name:"csharp",supported:!1},".swift":{name:"swift",supported:!1},".scala":{name:"scala",supported:!1},".ex":{name:"elixir",supported:!1},".exs":{name:"elixir",supported:!1},".vue":{name:"vue",supported:!1},".svelte":{name:"svelte",supported:!1}};function jt(e,t=e){return P(Object.keys(me).map(s=>`**/*${s}`),{cwd:e,ignore:re(e,t),absolute:!1,dot:!1,followSymbolicLinks:!1,onlyFiles:!1}).map(s=>{let i=se(s),r=me[i];return{path:T(t,w(e,s)).replace(/\\/g,"/"),extension:i,language:r.name,supported:r.supported}}).sort((s,i)=>s.path.localeCompare(i.path))}function Ht(e,t=e){let n=Object.entries(me).filter(([,i])=>i.supported).map(([i])=>`**/*${i}`);return P(n,{cwd:e,ignore:re(e,t),absolute:!1,dot:!1,followSymbolicLinks:!1,onlyFiles:!1}).map(i=>{let r=w(e,i),o=T(t,r).replace(/\\/g,"/"),a=se(i),c=De(t,r);return{path:o,absolutePath:r,ext:a,content:c.ok?c.content.toString():void 0}})}function Ut(e){return Ht(e)}var ys=new Set(["package-lock.json","pnpm-lock.yaml","yarn.lock"]),_s=[...Object.keys(me),".md",".mdx",".markdown",".yaml",".yml",".json",".jsonc",".toml",".sh",".bash",".zsh",".fish",".properties",".ini",".cfg",".conf",".xml",".graphql",".gql",".sql",".txt",".pem"];function vs(e){let t=e.subarray(0,Math.min(e.length,8e3));if(t.includes(0))return!0;let n=0;for(let s of t)(s<8||s>13&&s<32)&&n++;return t.length>0&&n/t.length>.1}function Wt(e){let t=[..._s.map(s=>`**/*${s}`),"**/.env","**/.env.*","**/Dockerfile","**/Dockerfile.*","**/Containerfile","**/Containerfile.*","**/Gemfile","**/Rakefile","**/Procfile","**/Makefile"];return[...new Set(P(t,{cwd:e,ignore:re(e,e),absolute:!1,dot:!1,followSymbolicLinks:!1,onlyFiles:!1}))].filter(s=>!ys.has(s)).sort().flatMap(s=>{let i=w(e,s),r=De(e,i);return r.ok?vs(r.content)?[]:[{path:s,absolutePath:i,ext:se(s),content:r.content.toString()}]:[{path:s,absolutePath:i,ext:se(s),content:void 0}]})}function Me(e){let t=P(["**/package.json"],{followSymbolicLinks:!1,cwd:e,ignore:re(e,e),absolute:!1,dot:!1,onlyFiles:!1});return[...new Set(t)].sort()}function Gt(e,t=Me(e)){let n=[],s=t.filter(i=>i.endsWith("package.json"));for(let i of s){let r=w(e,i),o=ge(e,r);if(o!==void 0)try{let a=JSON.parse(o);n.push({path:i,absolutePath:r,type:"npm",content:o,dependencies:a.dependencies??{},devDependencies:a.devDependencies??{},packageManager:typeof a.packageManager=="string"?a.packageManager:void 0})}catch{n.push({path:i,absolutePath:r,type:"npm",content:o,dependencies:{},devDependencies:{}}),K(e,r,{ok:!1,reason:"unreadable",detail:"manifest could not be parsed"})}}return n}m();function zt(e,t,n){let s=t.some(c=>c.type==="theme"),i=t.some(c=>c.type==="theme"&&bs(c)),r=n.some(c=>c.content?/script[_-]?tags?|ScriptTag/i.test(c.content):!1),o=n.some(c=>c.content?/metafields?Set|metafields?\/.*(?:POST|PUT|create|update)|write.*metafield|metafield.*write/i.test(c.content):!1),a=n.some(ws);return{theme_app_extension:s,app_embed:i,script_tags:r,webhooks:!!e?.webhooks.length,app_proxy:!!e?.raw?.app_proxy,storefront_metafield_writes:o,has_backend:a,declared_ip_allowlist:!1,checkout_extension:t.some(c=>c.type==="checkout_ui"||c.type==="checkout_ui_extension")}}function Vt(e,t,n){let s=new Set(e.flatMap(v=>[...Object.keys(v.dependencies),...Object.keys(v.devDependencies??{})])),i=new Set(n.map(v=>v.path)),r=s.has("@shopify/shopify-app-react-router"),o=[...i].some(v=>v.startsWith("app/routes/"))&&[...i].some(v=>/^app\/shopify\.server\.[cm]?[jt]sx?$/.test(v)),a=r&&o,c=t.filter(v=>v.type==="theme"),p=c.length>0,u=new Set(c.flatMap(v=>v.files.map(k=>k.path))),h=n.length>0,d;a&&p?d="mixed":a?d="react_router":p&&n.some(v=>!u.has(v.path))?d="mixed":p?d="theme_app_extension":h?d="unknown":d="config_only";let f;a?f="react_router":d==="config_only"||d==="theme_app_extension"?f="none":d==="mixed"?f="mixed":f="unknown";let _=new Map;for(let v of n){let k=_.get(v.language)??{supported:v.supported,files:[]};k.supported&&=v.supported,k.files.push(v.path),_.set(v.language,k)}let I=[..._.entries()].map(([v,k])=>({name:v,support:k.supported?"supported":"unsupported",files:k.files.sort()})).sort((v,k)=>v.name.localeCompare(k.name));return{framework:f,surface:d,languages:I}}function bs(e){return e.files.some(t=>t.ext===".liquid"&&t.content?.includes('"target"')&&t.content?.includes("body"))}function ws(e){let t=e.content;return t?!!(/\b(?:app|router)\.(get|post|put|delete|patch)\s*\(/.test(t)||/export\s+(?:async\s+)?(?:function|const)\s+(?:loader|action)\b/.test(t)):!1}m();m();m();var Fe=[2],_e="shopify-app-doctor";m();m();var Bt=[`---
|
|
1
|
+
import{F as It,G as Rt,H as Ct}from"./chunk-AI4SPBPV.js";import{aa as as}from"./chunk-MFP63IUM.js";import{a as fe}from"./chunk-4QBJ5JBX.js";import{a as B,v as A}from"./chunk-KYNXMDFU.js";import{P as he,z as At}from"./chunk-PSSOCUUD.js";import{a as _t}from"./chunk-UDWSRNKO.js";import{h as R}from"./chunk-W3BNL2Q5.js";import{a as xt}from"./chunk-PIQI72DV.js";import{Ga as kt,Ha as St,Ua as Et,Xa as P,ma as vt,na as bt,ua as wt,wb as Tt}from"./chunk-G5QSVBYP.js";import{d as w,f as N,g as T,h as V,i as M,j as ne,k as se,q as Ne}from"./chunk-773TIA5M.js";import{e as os,g as m}from"./chunk-VKWPEFWQ.js";m();m();m();m();m();import{lstatSync as Nt}from"node:fs";var L=class extends Error{constructor(t){super(t),this.name="AppRootDiscoveryError"}};function ie(e){let t=N(e??Ne());if(e&&!Et(t))throw new L(`App path does not exist: ${e}`);let n=t;if(e&&Nt(t).isFile()){if(!t.endsWith(".toml"))throw new L(`App path is not a directory or TOML file: ${e}`);return M(t)}if(!Nt(n).isDirectory())throw new L(`App path is not a directory: ${e??n}`);for(;;){if(P("shopify.app*.toml",{cwd:n,deep:1,dot:!1,onlyFiles:!1,followSymbolicLinks:!1}).length>0)return n;let i=M(n);if(i===n)break;n=i}throw new L(`Could not find a shopify.app*.toml from: ${e??Ne()}`)}function Pt(e){return P("shopify.app*.toml",{cwd:e,deep:1,dot:!1,onlyFiles:!1,followSymbolicLinks:!1}).flatMap(n=>{let s=w(e,n),i=ge(e,s);if(i===void 0)return[];try{let r=fe(i);return[qt(r,s,i,e)]}catch{return K(e,s,{ok:!1,reason:"unreadable",detail:"TOML could not be parsed"}),[]}})}function Lt(e,t=M(e)){let n=ge(t,e);if(n===void 0)return null;try{let s=fe(n);return qt(s,e,n,t)}catch{return K(t,e,{ok:!1,reason:"unreadable",detail:"TOML could not be parsed"}),null}}var cs=A.object({api_version:A.string().optional(),privacy_compliance:A.object({customer_deletion_url:A.string().optional(),customer_data_request_url:A.string().optional(),shop_deletion_url:A.string().optional()}).optional(),subscriptions:A.array(A.unknown()).optional()}),ds=A.object({uri:A.string(),topics:A.array(A.string()).optional(),compliance_topics:A.array(A.string()).optional()});function qt(e,t,n,s){let i=ps(e.access_scopes,t,s),r=us(e.auth,t,s),o=ls(e.webhooks,t,s);return{raw:e,path:t,content:n,scopes:i,apiVersion:o.apiVersion,redirectUrls:r,webhooks:o.subscriptions}}function ps(e,t,n){if(e===void 0)return;let s=Rt.safeParse(e);if(!s.success){Le(n,t,"access_scopes section could not be parsed");return}let i=s.data.scopes?.split(/[\s,]+/).filter(Boolean)??[],r=[...new Set([...i,...s.data.required_scopes??[]])];return r.length>0?r.join(","):void 0}function us(e,t,n){if(e===void 0)return[];let s=Ct.safeParse(e);if(s.success)return s.data.redirect_urls;let i=A.object({redirect_urls:A.array(A.string())}).safeParse(e);return i.success?i.data.redirect_urls:(Le(n,t,"auth section could not be parsed"),[])}function ls(e,t,n){if(e===void 0)return{subscriptions:[]};let s=cs.safeParse(e);if(!s.success)return Le(n,t,"webhooks section could not be parsed"),{subscriptions:[]};let i=(s.data.subscriptions??[]).flatMap(hs),r=s.data.privacy_compliance,o=[{topic:"customers/redact",uri:r?.customer_deletion_url},{topic:"customers/data_request",uri:r?.customer_data_request_url},{topic:"shop/redact",uri:r?.shop_deletion_url}].flatMap(({topic:a,uri:c})=>c?[{topics:[a],uri:c}]:[]);return{apiVersion:s.data.api_version,subscriptions:[...i,...o]}}function hs(e){let t=It.safeParse(e);if(t.success)return[{topics:[...t.data.topics??[],...t.data.compliance_topics??[]],uri:t.data.uri}];let n=ds.safeParse(e);return n.success?[{topics:[...n.data.topics??[],...n.data.compliance_topics??[]],uri:n.data.uri}]:[]}function Le(e,t,n){e&&K(e,t,{ok:!1,reason:"unreadable",detail:n})}var Ot=["**/node_modules/**","**/vendor/**","**/.git/**","**/.next/**","**/coverage/**","**/dist/**","**/build/**","**/.shopify/app-doctor/**","**/test/**","**/tests/**","**/spec/**","**/specs/**","**/__tests__/**","**/fixtures/**","**/*-fixtures/**","**/__fixtures__/**","**/*.test.*","**/*.spec.*"];function Dt(e){return e.replace(/\\/g,"/").replace(/\/+$/,"")}function fs(e){return[...new Set(P("**/shopify.app*.toml",{followSymbolicLinks:!1,cwd:e,ignore:Ot,absolute:!1,dot:!1,onlyFiles:!1}).map(t=>Dt(M(t))).filter(t=>t!=="."&&t.length>0))].sort()}function re(e,t){let n=fs(t).flatMap(s=>{let i=Dt(T(e,w(t,s)));return i===".."||i.startsWith("../")?[]:[`${i}/**`]});return[...Ot,...n]}function Mt(e){return P("**/shopify.extension.toml",{followSymbolicLinks:!1,cwd:e,ignore:re(e,e),absolute:!1,dot:!1,onlyFiles:!1}).flatMap(n=>{let s=w(e,n),i=ge(e,s);if(i===void 0)return[];try{let o=fe(i).type,a=w(e,n,".."),c=Ht(a,e);return[{path:n,type:o,content:i,files:c}]}catch{return K(e,s,{ok:!1,reason:"unreadable",detail:"TOML could not be parsed"}),[]}})}var ms=5e5,qe=[],Pe=new Map;function Ft(){qe=[],Pe.clear()}function Oe(){return[...qe]}function K(e,t,n){let s=T(e,t).replace(/\\/g,"/");qe.push({path:s.length>0?s:t,reason:n.reason,...n.sizeBytes===void 0?{}:{size_bytes:n.sizeBytes},...n.detail?{detail:n.detail}:{}})}function gs(e){try{let t=St(e);return t>ms?{ok:!1,reason:"too_large",sizeBytes:t}:{ok:!0,content:bt(e)}}catch(t){let n=t.code;return{ok:!1,reason:"unreadable",detail:t instanceof Error?t.message:String(t),...n&&/^[A-Z0-9_]+$/.test(n)?{errorCode:n}:{}}}}function $t(e,t,n){let s=N(t),i=Pe.get(s);if(i)return i;let r=gs(s);return Pe.set(s,r),!r.ok&&(n||r.errorCode!=="ENOENT")&&K(e,t,r),r}function De(e,t){return $t(e,t,!0)}function ge(e,t){let n=De(e,t);return n.ok?n.content.toString():void 0}function ye(e,t){return $t(e,t,!1)}var me={".js":{name:"javascript",supported:!0},".jsx":{name:"javascript",supported:!0},".mjs":{name:"javascript",supported:!0},".cjs":{name:"javascript",supported:!0},".ts":{name:"typescript",supported:!0},".tsx":{name:"typescript",supported:!0},".mts":{name:"typescript",supported:!0},".cts":{name:"typescript",supported:!0},".prisma":{name:"prisma",supported:!0},".liquid":{name:"liquid",supported:!0},".html":{name:"html",supported:!0},".rb":{name:"ruby",supported:!1},".php":{name:"php",supported:!1},".py":{name:"python",supported:!1},".java":{name:"java",supported:!1},".kt":{name:"kotlin",supported:!1},".kts":{name:"kotlin",supported:!1},".go":{name:"go",supported:!1},".rs":{name:"rust",supported:!1},".cs":{name:"csharp",supported:!1},".swift":{name:"swift",supported:!1},".scala":{name:"scala",supported:!1},".ex":{name:"elixir",supported:!1},".exs":{name:"elixir",supported:!1},".vue":{name:"vue",supported:!1},".svelte":{name:"svelte",supported:!1}};function jt(e,t=e){return P(Object.keys(me).map(s=>`**/*${s}`),{cwd:e,ignore:re(e,t),absolute:!1,dot:!1,followSymbolicLinks:!1,onlyFiles:!1}).map(s=>{let i=se(s),r=me[i];return{path:T(t,w(e,s)).replace(/\\/g,"/"),extension:i,language:r.name,supported:r.supported}}).sort((s,i)=>s.path.localeCompare(i.path))}function Ht(e,t=e){let n=Object.entries(me).filter(([,i])=>i.supported).map(([i])=>`**/*${i}`);return P(n,{cwd:e,ignore:re(e,t),absolute:!1,dot:!1,followSymbolicLinks:!1,onlyFiles:!1}).map(i=>{let r=w(e,i),o=T(t,r).replace(/\\/g,"/"),a=se(i),c=De(t,r);return{path:o,absolutePath:r,ext:a,content:c.ok?c.content.toString():void 0}})}function Ut(e){return Ht(e)}var ys=new Set(["package-lock.json","pnpm-lock.yaml","yarn.lock"]),_s=[...Object.keys(me),".md",".mdx",".markdown",".yaml",".yml",".json",".jsonc",".toml",".sh",".bash",".zsh",".fish",".properties",".ini",".cfg",".conf",".xml",".graphql",".gql",".sql",".txt",".pem"];function vs(e){let t=e.subarray(0,Math.min(e.length,8e3));if(t.includes(0))return!0;let n=0;for(let s of t)(s<8||s>13&&s<32)&&n++;return t.length>0&&n/t.length>.1}function Wt(e){let t=[..._s.map(s=>`**/*${s}`),"**/.env","**/.env.*","**/Dockerfile","**/Dockerfile.*","**/Containerfile","**/Containerfile.*","**/Gemfile","**/Rakefile","**/Procfile","**/Makefile"];return[...new Set(P(t,{cwd:e,ignore:re(e,e),absolute:!1,dot:!1,followSymbolicLinks:!1,onlyFiles:!1}))].filter(s=>!ys.has(s)).sort().flatMap(s=>{let i=w(e,s),r=De(e,i);return r.ok?vs(r.content)?[]:[{path:s,absolutePath:i,ext:se(s),content:r.content.toString()}]:[{path:s,absolutePath:i,ext:se(s),content:void 0}]})}function Me(e){let t=P(["**/package.json"],{followSymbolicLinks:!1,cwd:e,ignore:re(e,e),absolute:!1,dot:!1,onlyFiles:!1});return[...new Set(t)].sort()}function Gt(e,t=Me(e)){let n=[],s=t.filter(i=>i.endsWith("package.json"));for(let i of s){let r=w(e,i),o=ge(e,r);if(o!==void 0)try{let a=JSON.parse(o);n.push({path:i,absolutePath:r,type:"npm",content:o,dependencies:a.dependencies??{},devDependencies:a.devDependencies??{},packageManager:typeof a.packageManager=="string"?a.packageManager:void 0})}catch{n.push({path:i,absolutePath:r,type:"npm",content:o,dependencies:{},devDependencies:{}}),K(e,r,{ok:!1,reason:"unreadable",detail:"manifest could not be parsed"})}}return n}m();function zt(e,t,n){let s=t.some(c=>c.type==="theme"),i=t.some(c=>c.type==="theme"&&bs(c)),r=n.some(c=>c.content?/script[_-]?tags?|ScriptTag/i.test(c.content):!1),o=n.some(c=>c.content?/metafields?Set|metafields?\/.*(?:POST|PUT|create|update)|write.*metafield|metafield.*write/i.test(c.content):!1),a=n.some(ws);return{theme_app_extension:s,app_embed:i,script_tags:r,webhooks:!!e?.webhooks.length,app_proxy:!!e?.raw?.app_proxy,storefront_metafield_writes:o,has_backend:a,declared_ip_allowlist:!1,checkout_extension:t.some(c=>c.type==="checkout_ui"||c.type==="checkout_ui_extension")}}function Vt(e,t,n){let s=new Set(e.flatMap(v=>[...Object.keys(v.dependencies),...Object.keys(v.devDependencies??{})])),i=new Set(n.map(v=>v.path)),r=s.has("@shopify/shopify-app-react-router"),o=[...i].some(v=>v.startsWith("app/routes/"))&&[...i].some(v=>/^app\/shopify\.server\.[cm]?[jt]sx?$/.test(v)),a=r&&o,c=t.filter(v=>v.type==="theme"),p=c.length>0,u=new Set(c.flatMap(v=>v.files.map(k=>k.path))),h=n.length>0,d;a&&p?d="mixed":a?d="react_router":p&&n.some(v=>!u.has(v.path))?d="mixed":p?d="theme_app_extension":h?d="unknown":d="config_only";let f;a?f="react_router":d==="config_only"||d==="theme_app_extension"?f="none":d==="mixed"?f="mixed":f="unknown";let _=new Map;for(let v of n){let k=_.get(v.language)??{supported:v.supported,files:[]};k.supported&&=v.supported,k.files.push(v.path),_.set(v.language,k)}let I=[..._.entries()].map(([v,k])=>({name:v,support:k.supported?"supported":"unsupported",files:k.files.sort()})).sort((v,k)=>v.name.localeCompare(k.name));return{framework:f,surface:d,languages:I}}function bs(e){return e.files.some(t=>t.ext===".liquid"&&t.content?.includes('"target"')&&t.content?.includes("body"))}function ws(e){let t=e.content;return t?!!(/\b(?:app|router)\.(get|post|put|delete|patch)\s*\(/.test(t)||/export\s+(?:async\s+)?(?:function|const)\s+(?:loader|action)\b/.test(t)):!1}m();m();m();var Fe=[2],_e="shopify-app-doctor";m();m();var Bt=[`---
|
|
2
2
|
id: APP_PROXY_LIQUID_INJECTION
|
|
3
3
|
version: 1
|
|
4
4
|
severity: high
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as I}from"./chunk-LFOBYEWG.js";import{i as d,r as w,v as n}from"./chunk-
|
|
1
|
+
import{a as I}from"./chunk-LFOBYEWG.js";import{i as d,r as w,v as n}from"./chunk-KYNXMDFU.js";import{w as l}from"./chunk-5GUXN2RU.js";import{A as y,B as N,S,y as g}from"./chunk-PSSOCUUD.js";import{a as h}from"./chunk-UDWSRNKO.js";import{m as u,n as m}from"./chunk-DPMOLROM.js";import{j as _}from"./chunk-W3BNL2Q5.js";import{Ab as a}from"./chunk-G5QSVBYP.js";import{a as f}from"./chunk-JD5P5RAJ.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();var C="https://cdn.shopify.com/static/cli/notifications.json",T="Cache is empty",O=["notifications:list","notifications:generate","init","app:init","theme:init","hydrogen:init","cache:clear","send-analytics"],$=["127.0.0.1","localhost","::1","[::1]"];function c(){let e=process.env.SHOPIFY_CLI_NOTIFICATIONS_URL;if(e)try{let t=new globalThis.URL(e);if(v(t))return e;a(`The notifications URL provided via SHOPIFY_CLI_NOTIFICATIONS_URL (${e}) must use https, or http with a loopback host. Falling back to default.`)}catch{a(`The notifications URL provided via SHOPIFY_CLI_NOTIFICATIONS_URL (${e}) is not a valid URL. Falling back to default.`)}return C}function v(e){return e.protocol==="https:"?!0:e.protocol==="http:"&&$.includes(e.hostname)}var E=n.object({id:n.string(),message:n.string(),type:n.enum(["info","warning","error"]),frequency:n.enum(["always","once","once_a_day","once_a_week"]),ownerChannel:n.string(),cta:n.object({label:n.string(),url:n.string().url()}).optional(),title:n.string().optional(),minVersion:n.string().optional(),maxVersion:n.string().optional(),minDate:n.string().optional(),maxDate:n.string().optional(),commands:n.array(n.string()).optional(),surface:n.string().optional()}),x=n.object({notifications:n.array(E)});async function Z(e,t=process.env){try{let r=I();if(D(r,t)||d(t))return;let o=await k(),i=A(o.notifications,r,e);a(`Notifications to show: ${i.length}`),await L(i)}catch(r){if(r.message===T){a("Notifications to show: 0 (Cache is empty)");return}if(r.message==="abort")throw new _;let o=`Error showing notifications: ${r.message}`;a(o);let{sendErrorToBugsnag:i}=await import("./error-handler-CRTU67VJ.js");await i(o,"unexpected_error")}}function D(e,t=process.env){return f(t.CI)||f(t.SHOPIFY_UNIT_TEST)||O.includes(e)}async function L(e){e.slice(0,2).forEach(t=>{let r={headline:t.title,body:t.message.replace(/\\n/g,`
|
|
2
2
|
`),link:t.cta};switch(t.type){case"info":{g(r);break}case"warning":{y(r);break}case"error":throw N(r),new Error("abort")}u(`notification-${t.id}`,new Date().getTime().toString())})}async function k(){let e=`notifications-${c()}`,t=m(e)?.value;if(!t)throw new Error(T);let r=JSON.parse(t);return x.parse(r)}async function ee(){a("Fetching notifications...");let e=await w(c(),void 0,{useNetworkLevelRetry:!1,useAbortSignal:!0,timeoutMs:3*1e3});if(e.status!==200)throw new Error(`Failed to fetch notifications: ${e.statusText}`);let t=await e.text(),r=JSON.parse(t),o=x.parse(r);return await F(t),o}async function F(e){u(`notifications-${c()}`,e),a(`Notifications from ${c()} stored in the cache`)}function te(e,t=process.argv,r=process.env){if(D(e,r)||!t[1])return;let o=process.execPath,s=[t[1],"notifications","list","--ignore-errors"];S(o,s,{background:!0,env:{...process.env,SHOPIFY_CLI_NO_ANALYTICS:"1"},externalErrorHandler:async b=>{a(`Failed to fetch notifications in background: ${b.message}`)}})}function A(e,t,r,o=new Date(new Date().setUTCHours(0,0,0,0)),i=h){return e.filter(s=>V(s,i)).filter(s=>B(s,o)).filter(s=>R(s,t)).filter(s=>U(s,t,r)).filter(s=>H(s))}function V(e,t){let r=!e.minVersion||l(t,`>=${e.minVersion}`),o=!e.maxVersion||l(t,`<=${e.maxVersion}`);return r&&o}function B(e,t){let r=!e.minDate||new Date(e.minDate)<=t,o=!e.maxDate||new Date(e.maxDate)>=t;return r&&o}function R(e,t){return t===""?!0:!e.commands||e.commands.includes(t)}function U(e,t,r){let o=t.split(":")[0]??"all",i=e.surface??"all";return r?r.includes(i):i===o||i==="all"}function H(e){if(!e.frequency)return!0;let t=`notification-${e.id}`,r=m(t)?.value;if(!r)return!0;switch(e.frequency){case"always":return!0;case"once":return!1;case"once_a_day":return new Date().getTime()-Number(r)>24*3600*1e3;case"once_a_week":return new Date().getTime()-Number(r)>168*3600*1e3}}function re(e){let t=[];return e.minDate&&t.push(`from ${e.minDate}`),e.maxDate&&t.push(`to ${e.maxDate}`),e.minVersion&&t.push(`from v${e.minVersion}`),e.maxVersion&&t.push(`to v${e.maxVersion}`),e.frequency==="once"&&t.push("show only once"),e.frequency==="once_a_day"&&t.push("show once a day"),e.frequency==="once_a_week"&&t.push("show once a week"),e.surface&&t.push(`surface = ${e.surface}`),e.commands&&t.push(`commands = ${e.commands.join(", ")}`),t.join(`
|
|
3
3
|
`)}export{Z as a,k as b,ee as c,te as d,A as e,re as f};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as m}from"./chunk-
|
|
1
|
+
import{a as m}from"./chunk-VE6BYYBP.js";import{a as p}from"./chunk-34PQ6LJC.js";import{a as n}from"./chunk-4JU7N2OF.js";import{wa as r}from"./chunk-CBGDD3ZG.js";import{b as s}from"./chunk-2IZROVCY.js";import{wb as e}from"./chunk-G5QSVBYP.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var i=class d extends p{static summary="Display app and extensions environment variables.";static descriptionWithMarkdown="Displays environment variables that can be used to deploy apps and app extensions.";static description=this.descriptionWithoutMarkdown();static flags={...s,...n};async run(){let{flags:t}=await this.parse(d),{app:a,remoteApp:l,organization:c}=await r({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config});return e(await m(a,l,c)),{app:a}}};export{i as a};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{p as P,v as x}from"./chunk-GBYDMHZ3.js";import{a as O}from"./chunk-HGFCNPSN.js";import{c as k,l as G}from"./chunk-MVJSQT7V.js";import{b as _}from"./chunk-2IZROVCY.js";import{A as N,D as f,H as g,J as R,V as y}from"./chunk-PSSOCUUD.js";import{h as S}from"./chunk-W3BNL2Q5.js";import{a as q}from"./chunk-CTNBSUVU.js";import{Aa as E,Ca as v,Ta as L,Va as F,ka as C,ma as w,ua as b}from"./chunk-G5QSVBYP.js";import{d as s}from"./chunk-773TIA5M.js";import{e as W,g as d}from"./chunk-VKWPEFWQ.js";d();d();var l="https://github.com/Shopify/skeleton-theme.git",V="https://github.com/Shopify/theme-liquid-docs.git",T={all:"All",github:"VS Code (GitHub Copilot)",cursor:"Cursor",claude:"Claude"};async function $(t,e){await I(t,e)}async function M(t,e){await I(t,e,!0)}async function D(t){let e=await O("Shopify","skeleton-theme",{filter:o=>!o.draft&&!o.prerelease});if(!e)throw new S("Couldn't find a stable Skeleton theme release");await I(`${l}#${e.tag_name}`,t)}async function I(t,e,o){await g([{title:`Cloning ${t} into ${e}`,task:async()=>{await k({repoUrl:t,destination:e,latestTag:o,shallow:!o}),await G(e),t.split("#")[0]===l&&(await Promise.all(Object.keys(T).map(async i=>U(s(e,`.${i}`)))),await U(s(e,".git")))}}])}async function U(t){await L(t)&&await v(t)}async function H(){return await f({message:"Which LLM instruction file would you like to include in your theme?",choices:[...Object.entries(T).map(([e,o])=>({label:o,value:e})),{label:"Skip",value:null}]})}async function j(t,e){let o=[];await g([{title:`Adding AI instructions into ${t}`,task:async()=>{await C(async i=>{await k({repoUrl:V,destination:i,shallow:!0});let c=e==="all"?Object.keys(T).filter(a=>a!=="all"):[e];try{let a=s(i,"ai","github","copilot-instructions.md"),m=await w(a),n=s(t,"AGENTS.md"),u=`# AGENTS.md
|
|
2
|
+
|
|
3
|
+
${m}`;await b(n,u),(await Promise.all(c.map(r=>Y(t,n,r)))).forEach(r=>{r.copiedFile&&o.push(r.copiedFile)})}catch{throw new S("Failed to create AI instructions")}})}}]),o.length>0&&N({headline:"Files created instead of symlinks.",body:`Shopify CLI attempted to create symbolic links between AGENTS.md and ${o.join(", ")}, but your system doesn't have Developer Mode enabled or symlinks are disabled. Separate files were created instead.`})}async function Y(t,e,o){if(o==="cursor")return{};let c={github:"copilot-instructions.md",claude:"CLAUDE.md"}[o],a=s(t,c);try{return await E(e,a),{}}catch(m){if(m instanceof Error){let n=await w(e);return await b(a,n),{copiedFile:c}}else throw m}}var h=W(q(),1);var A=class extends x{static summary="Clones a Git repository to use as a starting point for building a new theme.";static descriptionWithMarkdown=`Clones a Git repository to your local machine to use as the starting point for building a theme.
|
|
4
|
+
|
|
5
|
+
If no Git repository is specified, then this command creates a copy of Shopify's [Skeleton theme](${l}), with the specified name in the current folder. If no name is provided, then you're prompted to enter one.
|
|
6
|
+
|
|
7
|
+
> Caution: If you're building a theme for the Shopify Theme Store, then you can use our example theme as a starting point. However, the theme that you submit needs to be [substantively different from existing themes](https://shopify.dev/docs/themes/store/requirements#uniqueness) so that it provides added value for users.
|
|
8
|
+
`;static description=this.descriptionWithoutMarkdown();static usage="theme init [name] [flags]";static args={name:h.Args.string({name:"name",description:"Name of the new theme",required:!1})};static flags={..._,path:P.path,"clone-url":h.Flags.string({char:"u",default:l,description:"The Git URL to clone from. Defaults to Shopify's Skeleton theme.",env:"SHOPIFY_FLAG_CLONE_URL"}),latest:h.Flags.boolean({char:"l",description:"Downloads the latest release of the `clone-url`",env:"SHOPIFY_FLAG_LATEST"})};static multiEnvironmentsFlags=null;async command(e,o,i,c){let a=!process.stdin.isTTY,m=c.name??await this.promptName(e.path,a),n=e["clone-url"],u=s(e.path,m),p=e.latest;if(!p&&n===l&&(p=a||!y()||await f({message:"Which version of Skeleton theme would you like to use?",choices:[{label:"Latest stable release",value:"stable"},{label:"Upstream (new features may not be available on your store)",value:"upstream"}],defaultValue:"stable"})==="stable"),p&&n===l?await D(u):p?await M(n,u):await $(n,u),a||!y())return;let r=await H();r&&await j(u,r)}async promptName(e,o=!1){let i=await F({suffix:"theme",directory:e,family:"creative"});return o||!y()?i:R({message:"Name of the new theme",defaultValue:i})}};export{A as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as o}from"./chunk-
|
|
1
|
+
import{a as o}from"./chunk-KNCYAIJ2.js";import{b as e}from"./chunk-UBTHWHPB.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();var t=class extends e{static description="View the UI kit components that display static output";static hidden=!0;async run(){await o()}};export{t as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as a,g as c,i as p,j as f}from"./chunk-
|
|
1
|
+
import{b as a,g as c,i as p,j as f}from"./chunk-TUWRPDTE.js";import{k as h}from"./chunk-W3BNL2Q5.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();i();i();function d(n){let e=/[^\p{Letter}\p{Number}\p{Mark}-]/gu;return n.replace(e,"-")}import{randomBytes as l}from"crypto";import{hostname as g}from"os";var T=50;function m(n){let e=g().split(".")[0],r=l(3).toString("hex"),t=`${n} ()`,s=T-t.length-r.length-1,o=d(`${r}-${e.substring(0,s)}`);return`${n} (${o})`}var u=class{adminSession;themeId;constructor(e){this.adminSession=e}async findOrCreate(e,r){let t=await this.fetch(e,r);return t?this.setTheme(t.id.toString()):t=await this.create(r,e),t}async fetch(e,r){if(!this.themeId&&!e)return;let t=e&&r===a?await p(e,this.adminSession):await c(parseInt(this.themeId,10),this.adminSession);return t||this.removeTheme(),t}generateThemeName(e){return m(e)}async create(e,r){let t=r??m(this.context),s=e??a,o=await f({name:t,role:s},this.adminSession);if(!o)throw new h(`Could not create theme with name "${t}" and role "${s}"`);return this.setTheme(o.id.toString()),o}};export{u as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as w}from"./chunk-
|
|
1
|
+
import{a as w}from"./chunk-CUGLV7UX.js";import{a as y}from"./chunk-6QWLOSUQ.js";import{a as h}from"./chunk-4JU7N2OF.js";import{g,xa as b}from"./chunk-CBGDD3ZG.js";import{b as u}from"./chunk-2IZROVCY.js";import{S as f,x as d,z as m}from"./chunk-PSSOCUUD.js";import{d as l}from"./chunk-M2M3I63K.js";import{a as A}from"./chunk-CTNBSUVU.js";import{e as _,g as s}from"./chunk-VKWPEFWQ.js";s();s();s();async function p(e,{web:i,stdout:t,stderr:a,signal:n,env:o={}}){let c=i.configuration.commands[e];if(!c)return;let[I,...v]=c.split(" ");await f(I,v,{cwd:i.directory,stdout:t,stderr:a,signal:n,env:o}),t.write("Web successfully built.")}async function S(e){!e.skipDependenciesInstallation&&!e.project.usesWorkspaces&&await y(e.project);let i={};e.apiKey&&(i.SHOPIFY_API_KEY=e.apiKey),await g(e.app),await d({processes:[...e.app.webs.map(t=>({prefix:["web",...t.configuration.roles].join("-"),action:async(a,n,o)=>{await p("build",{web:t,stdout:a,stderr:n,signal:o,env:i})}})),...e.app.allExtensions.map(t=>({prefix:t.localIdentifier,action:async(a,n,o)=>{await t.build({stdout:a,stderr:n,signal:o,app:e.app,environment:"production"})}}))],showTimestamps:!1}),m({headline:[{userInput:e.app.name},"built!"]})}var k=S;var x=_(A(),1);var r=class e extends w{static summary="Build the app, including extensions.";static descriptionWithMarkdown="This command executes the build script specified in the element's TOML file. You can specify a custom script in the file. To learn about configuration files in Shopify apps, refer to [App configuration](https://shopify.dev/docs/apps/tools/cli/configuration).\n\n If you're building a [theme app extension](https://shopify.dev/docs/apps/online-store/theme-app-extensions), then running the `build` command runs [Theme Check](https://shopify.dev/docs/themes/tools/theme-check) against your extension to ensure that it's valid.";static description=this.descriptionWithoutMarkdown();static flags={...u,...h,"skip-dependencies-installation":x.Flags.boolean({hidden:!1,description:"Skips the installation of dependencies. Deprecated, use workspaces instead.",env:"SHOPIFY_FLAG_SKIP_DEPENDENCIES_INSTALLATION",default:!1})};async run(){let{flags:i}=await this.parse(e),t=i["client-id"];await l(()=>({cmd_app_dependency_installation_skipped:i["skip-dependencies-installation"]}));let{app:a,project:n}=await b({directory:i.path,userProvidedConfigName:i.config});return await k({app:a,project:n,skipDependenciesInstallation:i["skip-dependencies-installation"],apiKey:t}),{app:a}}};export{r as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{H as m,I as d,x as c}from"./chunk-
|
|
1
|
+
import{H as m,I as d,x as c}from"./chunk-PSSOCUUD.js";import{pb as w,qb as n,sb as a}from"./chunk-G5QSVBYP.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();async function P(){let r,l=new Promise(function(e,i){r=e});await c({processes:[{prefix:"backend",action:async(e,i,s)=>{e.write("first backend message"),await new Promise(t=>setTimeout(t,1e3)),e.write("second backend message"),await new Promise(t=>setTimeout(t,1e3)),e.write("third backend message"),await new Promise(t=>setTimeout(t,1e3)),r()}},{prefix:"frontend",action:async(e,i,s)=>{await l,e.write("first frontend message"),await new Promise(t=>setTimeout(t,1e3)),e.write("second frontend message"),await new Promise(t=>setTimeout(t,1e3)),e.write("third frontend message")}}]}),await m([{title:"Installing dependencies",task:async()=>{await new Promise(e=>setTimeout(e,2e3))}},{title:"Downloading assets",task:async()=>{await new Promise(e=>setTimeout(e,2e3))}}]),await d({title:new w("Importing data"),task:async e=>{for(let i=1;i<=10;i++){await new Promise(t=>setTimeout(t,500));let s=a`Importing data ${n.italic(a`(${n.green(i.toString())} complete)`)}`;e(s)}return"completed"}})}export{P as a};
|