shopify 4.9.0 → 4.9.1
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-EPKJADE2.js +1 -0
- package/dist/analytics-TVCGKQGZ.js +1 -0
- package/dist/bootstrap.js +1 -1
- package/dist/{chunk-ZPCCSPAE.js → chunk-23ITMFUO.js} +1 -1
- package/dist/{chunk-CHLSNYF7.js → chunk-254XYKPN.js} +1 -1
- package/dist/{chunk-4Y22EM45.js → chunk-2AAHKMPP.js} +1 -1
- package/dist/{chunk-P3Z5RLVV.js → chunk-2AZXDU2R.js} +1 -1
- package/dist/{chunk-7Y4X5I6N.js → chunk-2FHVYY3B.js} +1 -1
- package/dist/{chunk-DGMRL5DQ.js → chunk-2KBTFKSM.js} +1 -1
- package/dist/{chunk-2OHSGC4Q.js → chunk-2NBNVDDA.js} +1 -1
- package/dist/{chunk-CACPRKUF.js → chunk-2QV5FHXJ.js} +1 -1
- package/dist/{chunk-7DRKDQRT.js → chunk-2RVMF4QP.js} +1 -1
- package/dist/{chunk-PGTKKP2B.js → chunk-2TOIR7YQ.js} +1 -1
- package/dist/chunk-32B4LIKH.js +1 -0
- package/dist/{chunk-Q3O3AFZT.js → chunk-33D7HGAI.js} +1 -1
- package/dist/{chunk-QJST4LZX.js → chunk-3GVSG4S6.js} +1 -1
- package/dist/{chunk-Y5ZN62VF.js → chunk-3MEL3WLG.js} +1 -1
- package/dist/{chunk-ZHJ6KA43.js → chunk-3UZYLXCB.js} +1 -1
- package/dist/{chunk-6DHY67FO.js → chunk-3VOMVINB.js} +1 -1
- package/dist/{chunk-3ZK5JZLY.js → chunk-3VXXYY6S.js} +1 -1
- package/dist/{chunk-D3K42KBL.js → chunk-3WMFKHIM.js} +1 -1
- package/dist/{chunk-Q34PKJRR.js → chunk-46IUD46F.js} +1 -1
- package/dist/{chunk-5HONV6NQ.js → chunk-4AXLWDKW.js} +1 -1
- package/dist/{chunk-55PABKRC.js → chunk-55JDA75S.js} +1 -1
- package/dist/{chunk-NGN7U2UF.js → chunk-5CANB25O.js} +1 -1
- package/dist/{chunk-IISE7SBT.js → chunk-5I5HKOQU.js} +1 -1
- package/dist/{chunk-DKJPE42V.js → chunk-5KILOX2V.js} +1 -1
- package/dist/{chunk-XBSWZ6BT.js → chunk-5MJX7RKQ.js} +1 -1
- package/dist/{chunk-QBGSSUJP.js → chunk-5UDBNXNH.js} +1 -1
- package/dist/{chunk-JOJRABPY.js → chunk-5ZSN73EA.js} +1 -1
- package/dist/{chunk-BPIQ4YTW.js → chunk-63GEZEYP.js} +1 -1
- package/dist/{chunk-LSWFHTJT.js → chunk-6WGHVCYY.js} +1 -1
- package/dist/{chunk-2Q3WIH7S.js → chunk-77QKJLBG.js} +1 -1
- package/dist/{chunk-CPFAATMO.js → chunk-77QYKF34.js} +1 -1
- package/dist/{chunk-6RBCFXJT.js → chunk-7AD5YCLL.js} +1 -1
- package/dist/{chunk-HSZC2LBB.js → chunk-7H4IM6PX.js} +1 -1
- package/dist/{chunk-7ZSN2QT5.js → chunk-7IS6Q756.js} +1 -1
- package/dist/{chunk-7QQPAT4L.js → chunk-7UV53AU2.js} +1 -1
- package/dist/{chunk-GQZPGTG7.js → chunk-7UZO72KN.js} +2 -2
- package/dist/{chunk-3AASYIOA.js → chunk-7WWPAHVE.js} +1 -1
- package/dist/{chunk-SDFO7P2M.js → chunk-7ZONBOEZ.js} +1 -1
- package/dist/chunk-A6OSIGQI.js +1 -0
- package/dist/{chunk-SXPWOYLT.js → chunk-ADIHYUQC.js} +1 -1
- package/dist/{chunk-IUZZWXJG.js → chunk-AJOTU26E.js} +1 -1
- package/dist/{chunk-2KLXRVGQ.js → chunk-AKSOCKVF.js} +38 -38
- package/dist/{chunk-2YFB3PTV.js → chunk-AZCPTV4A.js} +1 -1
- package/dist/{chunk-TJJVX7CU.js → chunk-B4YDR22W.js} +1 -1
- package/dist/{chunk-SDJNAUU6.js → chunk-B7Y2LMPU.js} +1 -1
- package/dist/{chunk-YQQHBFMA.js → chunk-BATQEAGE.js} +1 -1
- package/dist/{chunk-SGBLCVUX.js → chunk-C4QR7Z4N.js} +1 -1
- package/dist/{chunk-3DMDSAWK.js → chunk-C7YSU4R5.js} +1 -1
- package/dist/{chunk-E75DJTAF.js → chunk-CKLS5LTU.js} +1 -1
- package/dist/{chunk-YJWNM4XO.js → chunk-COFGQT76.js} +2 -2
- package/dist/{chunk-2LZQM5JG.js → chunk-CPKLTBLZ.js} +1 -1
- package/dist/{chunk-FW5HGFSZ.js → chunk-CUZQRXTV.js} +3 -3
- package/dist/{chunk-W7CBJNXD.js → chunk-DCSSFNW7.js} +1 -1
- package/dist/{chunk-2YRVHJEY.js → chunk-DEY5P63E.js} +1 -1
- package/dist/{chunk-OBYY45BX.js → chunk-DP7SBNLN.js} +1 -1
- package/dist/{chunk-77B77IGP.js → chunk-DREP3FRJ.js} +1 -1
- package/dist/{chunk-OG7SF4FU.js → chunk-DUWS6Q7C.js} +1 -1
- package/dist/{chunk-SJARQZVN.js → chunk-DUWU7CL7.js} +1 -1
- package/dist/{chunk-6IL3B5Z5.js → chunk-DYHRCMH6.js} +1 -1
- package/dist/{chunk-C6FZII5S.js → chunk-DZS4GBQX.js} +1 -1
- package/dist/{chunk-VFP3PUGZ.js → chunk-EDLID4PK.js} +1 -1
- package/dist/{chunk-2W6M7YDY.js → chunk-EVQPVO4P.js} +1 -1
- package/dist/{chunk-GDQLA5NB.js → chunk-EYB45DUG.js} +1 -1
- package/dist/{chunk-44QTWXOJ.js → chunk-F34MAI7X.js} +1 -1
- package/dist/{chunk-72HS7MHV.js → chunk-FJCNEHTH.js} +1 -1
- package/dist/{chunk-FL34EOXG.js → chunk-FNITLQDL.js} +1 -1
- package/dist/{chunk-A54V5UCD.js → chunk-FROK2K3X.js} +1 -1
- package/dist/{chunk-LQLFMDVD.js → chunk-GF75CMTJ.js} +1 -1
- package/dist/{chunk-74HXMIDM.js → chunk-GHO2S3W3.js} +1 -1
- package/dist/{chunk-ADW7ECNU.js → chunk-GILHUPUG.js} +1 -1
- package/dist/{chunk-YD66PU3Y.js → chunk-GPRUQBQX.js} +1 -1
- package/dist/{chunk-XTYSJIZY.js → chunk-GRKZRK4G.js} +1 -1
- package/dist/{chunk-G7OIACY5.js → chunk-H3QLPW7Q.js} +1 -1
- package/dist/{chunk-3SG5EJFC.js → chunk-HJ3DOUAL.js} +1 -1
- package/dist/{chunk-IBTQO3JD.js → chunk-HKNFZUAM.js} +1 -1
- package/dist/{chunk-53U6XS3J.js → chunk-HQK6QRXN.js} +1 -1
- package/dist/{chunk-OASB6XPV.js → chunk-HT2JVMLK.js} +1 -1
- package/dist/{chunk-55NKAIIT.js → chunk-HVOYSAB3.js} +1 -1
- package/dist/{chunk-LV2IWYGL.js → chunk-I4FS7HYY.js} +1 -1
- package/dist/{chunk-QTEWTPAQ.js → chunk-ICFM55ZS.js} +1 -1
- package/dist/{chunk-ZO4IBP4B.js → chunk-IPWU2ALH.js} +1 -1
- package/dist/{chunk-AD4S2VEI.js → chunk-IQ4VOPT7.js} +1 -1
- package/dist/{chunk-JWDUSMCA.js → chunk-ISIPFEFB.js} +1 -1
- package/dist/{chunk-5RL6DKWR.js → chunk-IUUKRTKF.js} +1 -1
- package/dist/{chunk-VFO5OYQ4.js → chunk-J4SJHG3M.js} +1 -1
- package/dist/{chunk-O6E7YL7N.js → chunk-JCOQDVEB.js} +1 -1
- package/dist/{chunk-5HEBS5DG.js → chunk-JCVQB6MX.js} +1 -1
- package/dist/{chunk-EYSZRIUL.js → chunk-JF47WERF.js} +1 -1
- package/dist/{chunk-UFU2LGFK.js → chunk-JJ4MYCVU.js} +1 -1
- package/dist/{chunk-IWML2HLC.js → chunk-JOEWOCHY.js} +1 -1
- package/dist/{chunk-E5ND6RBL.js → chunk-JSGOBMF6.js} +1 -1
- package/dist/{chunk-4WACZNFF.js → chunk-JWQBRHVY.js} +1 -1
- package/dist/{chunk-RHNFWHFY.js → chunk-K5KUOPEF.js} +1 -1
- package/dist/{chunk-SKRUMRB4.js → chunk-KCHERKZO.js} +1 -1
- package/dist/{chunk-JQKB3D37.js → chunk-KVZXRZ7U.js} +1 -1
- package/dist/{chunk-XCNJL7ES.js → chunk-KXSUEB4Y.js} +1 -1
- package/dist/{chunk-NTVEJYKI.js → chunk-LAHZ6FO5.js} +1 -1
- package/dist/{chunk-4TQFTZVD.js → chunk-LBBYCPZP.js} +1 -1
- package/dist/{chunk-6ILP6QCH.js → chunk-LEFAUWKH.js} +1 -1
- package/dist/{chunk-GVRFO4CV.js → chunk-LIB64ZJW.js} +1 -1
- package/dist/{chunk-4A7FPJVT.js → chunk-LOKVWZD2.js} +2 -2
- package/dist/{chunk-Z3XIZMEM.js → chunk-LRKJSNM3.js} +1 -1
- package/dist/{chunk-3WVEL423.js → chunk-MDMKTILJ.js} +1 -1
- package/dist/{chunk-WCAGYCT7.js → chunk-MEFJND2V.js} +1 -1
- package/dist/{chunk-SW5EWGBJ.js → chunk-MFXBSQDH.js} +1 -1
- package/dist/{chunk-B4RPJYDH.js → chunk-MIMOKFDI.js} +1 -1
- package/dist/chunk-MINDMVTH.js +1 -0
- package/dist/{chunk-QSKOR3ED.js → chunk-MZJKZLCC.js} +1 -1
- package/dist/{chunk-DYA5UUXL.js → chunk-NE32WJR5.js} +1 -1
- package/dist/{chunk-BOFCBTX7.js → chunk-NGQDG4CJ.js} +1 -1
- package/dist/{chunk-VZUHMW5E.js → chunk-NHEUJKAO.js} +1 -1
- package/dist/{chunk-R757TSQ6.js → chunk-NSHKVJST.js} +1 -1
- package/dist/{chunk-6GA56I3E.js → chunk-NTFIW3VK.js} +1 -1
- package/dist/{chunk-WU7MSL3I.js → chunk-NWBAD3AV.js} +1 -1
- package/dist/{chunk-7IGMIDKK.js → chunk-NYNSMHKY.js} +1 -1
- package/dist/{chunk-ECEOBSGD.js → chunk-NZRQKFUB.js} +1 -1
- package/dist/{chunk-WPUQTUDX.js → chunk-OJ7KRWUH.js} +1 -1
- package/dist/{chunk-KLYJDAP6.js → chunk-OKX6PKAW.js} +1 -1
- package/dist/{chunk-3T2WMZHC.js → chunk-ON3YXHON.js} +1 -1
- package/dist/{chunk-5BLXN5WU.js → chunk-OSA6BKSU.js} +1 -1
- package/dist/{chunk-AS2O62JX.js → chunk-OUSRNKZG.js} +1 -1
- package/dist/{chunk-PZHE37Z4.js → chunk-OVOOQFRY.js} +1 -1
- package/dist/{chunk-CMICT4XI.js → chunk-P676C7UT.js} +1 -1
- package/dist/{chunk-LYPNQFWX.js → chunk-P6ID3ULA.js} +1 -1
- package/dist/chunk-PCKWLJW2.js +1 -0
- package/dist/{chunk-BJOJNAKH.js → chunk-PTS7J2JO.js} +1 -1
- package/dist/{chunk-LOTGSNS5.js → chunk-QEEA2KEN.js} +1 -1
- package/dist/{chunk-ZUVAHONX.js → chunk-QEF43PR2.js} +1 -1
- package/dist/{chunk-QAXFCAOV.js → chunk-QF6EH4HX.js} +1 -1
- package/dist/{chunk-KVROYIUQ.js → chunk-QH5R32AA.js} +1 -1
- package/dist/{chunk-QILWHHAQ.js → chunk-QNR3U4IO.js} +1 -1
- package/dist/{chunk-TO7TXDLU.js → chunk-QPCDSJ4J.js} +1 -1
- package/dist/{chunk-MRVQ6XRW.js → chunk-QZDFPNYT.js} +1 -1
- package/dist/{chunk-XFZDFDZV.js → chunk-RDCHRPKV.js} +1 -1
- package/dist/{chunk-I4FGM6UH.js → chunk-RFB7RXTA.js} +1 -1
- package/dist/{chunk-JTPVSO6Y.js → chunk-RFDOSK57.js} +1 -1
- package/dist/{chunk-4XSYMLQG.js → chunk-RNXWL6DS.js} +1 -1
- package/dist/{chunk-VDDNDA5K.js → chunk-RRBI2IRE.js} +1 -1
- package/dist/{chunk-Z35PUKKP.js → chunk-RX27ER4R.js} +1 -1
- package/dist/{chunk-OETFY7FE.js → chunk-S3IDGHAZ.js} +1 -1
- package/dist/{chunk-YAH5WFYR.js → chunk-S3J3BYQ3.js} +1 -1
- package/dist/{chunk-7HDJBEBP.js → chunk-S6YUSGTF.js} +1 -1
- package/dist/{chunk-23K3B23N.js → chunk-SHDGD2WJ.js} +1 -1
- package/dist/{chunk-GJJBOCKD.js → chunk-SKK7CPUY.js} +1 -1
- package/dist/{chunk-TMV37ENR.js → chunk-SMZ74TME.js} +1 -1
- package/dist/{chunk-JROJL6RV.js → chunk-STLYSBD5.js} +1 -1
- package/dist/{chunk-22LJALHJ.js → chunk-T7BUP75N.js} +1 -1
- package/dist/{chunk-ZSJXZCAW.js → chunk-TGUAZMI2.js} +1 -1
- package/dist/{chunk-OEZATTOS.js → chunk-TH4D7IGZ.js} +1 -1
- package/dist/{chunk-5BYVVXGD.js → chunk-U2WUTGPI.js} +1 -1
- package/dist/{chunk-OM243CQ6.js → chunk-UJD7OQ3I.js} +1 -1
- package/dist/{chunk-PVOWU77O.js → chunk-UVSXPMUN.js} +1 -1
- package/dist/{chunk-YX5GRXRS.js → chunk-UZTL2UET.js} +1 -1
- package/dist/{chunk-TSLZNTFM.js → chunk-VEIZLSMG.js} +1 -1
- package/dist/{chunk-QWDJRSJJ.js → chunk-VEQDI5AB.js} +1 -1
- package/dist/{chunk-I7GYNNCU.js → chunk-VL3XMULV.js} +1 -1
- package/dist/{chunk-ZSVR5NEO.js → chunk-VPH2AAHJ.js} +1 -1
- package/dist/{chunk-L5XWYTHY.js → chunk-VWYZCCRE.js} +3 -3
- package/dist/{chunk-QQN4PJZD.js → chunk-VX2CDHRQ.js} +1 -1
- package/dist/{chunk-ASUARYJD.js → chunk-VXHLE5UQ.js} +1 -1
- package/dist/{chunk-PXD2WJOI.js → chunk-VY7UGJZK.js} +1 -1
- package/dist/{chunk-CSRNHTHO.js → chunk-W6TPRWEE.js} +1 -1
- package/dist/{chunk-Q45XAEG2.js → chunk-WBTR5JZ6.js} +1 -1
- package/dist/{chunk-N4DE5H65.js → chunk-WGBUSO27.js} +1 -1
- package/dist/{chunk-G54BKNIX.js → chunk-WR2MMFJO.js} +1 -1
- package/dist/{chunk-RCIU7NHA.js → chunk-WR6KP7RT.js} +1 -1
- package/dist/{chunk-T234RERA.js → chunk-WRVB4JCZ.js} +1 -1
- package/dist/{chunk-ZVDFCUJT.js → chunk-X3WFHNF5.js} +1 -1
- package/dist/{chunk-BL5JWD3Y.js → chunk-X6Y3HDXN.js} +1 -1
- package/dist/{chunk-NF7MOA4K.js → chunk-XCXQPV5W.js} +1 -1
- package/dist/{chunk-FCULF3JA.js → chunk-XUJURYN5.js} +1 -1
- package/dist/{chunk-MVVHISCR.js → chunk-XW33ZO7F.js} +1 -1
- package/dist/{chunk-S7536EWZ.js → chunk-XY2SSJQD.js} +1 -1
- package/dist/{chunk-TNXZWQZU.js → chunk-YACDI6IK.js} +1 -1
- package/dist/{chunk-YBQKJHZW.js → chunk-YFR53MWF.js} +1 -1
- package/dist/{chunk-GALDYSEX.js → chunk-YQZPL4K3.js} +1 -1
- package/dist/{chunk-PK4ID32C.js → chunk-YS5RZ6D5.js} +1 -1
- package/dist/{chunk-PXXTSW6I.js → chunk-Z6VWYOKN.js} +1 -1
- package/dist/{chunk-PBBZNGS4.js → chunk-ZDRQUKLN.js} +1 -1
- package/dist/{chunk-NYABB6XW.js → chunk-ZQKZC2KN.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/channel-config.js +1 -1
- package/dist/cli/commands/app/import/custom-data-definitions.js +1 -1
- package/dist/cli/commands/app/import/dashboard-extensions.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/security/check.js +1 -1
- package/dist/cli/commands/app/security/clean.js +1 -1
- package/dist/cli/commands/app/security/instructions.js +1 -1
- package/dist/cli/commands/app/security/record.js +1 -1
- package/dist/cli/commands/app/security/review.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/cli/help.js +1 -1
- package/dist/{command-json-schema-Y3N2NUZN.js → command-json-schema-SU56F3T4.js} +1 -1
- package/dist/command-registry.js +1 -1
- package/dist/{conf-store-5ZA3ILWV.js → conf-store-WDYDHG6V.js} +1 -1
- package/dist/{custom-oclif-loader-VQKMCXNH.js → custom-oclif-loader-CP4XJAPS.js} +1 -1
- package/dist/{deprecations-PFQXWNF6.js → deprecations-CBSMNYL3.js} +1 -1
- package/dist/dist-HI6AAP5V.js +1 -0
- package/dist/dist-W25ND3PJ.js +1 -0
- package/dist/environments-PUH6A5BU.js +1 -0
- package/dist/{error-FBSXLW22.js → error-LNWX6IWE.js} +1 -1
- package/dist/error-handler-24QGAUUD.js +1 -0
- package/dist/{fs-ZLV5W4TV.js → fs-Y33QBYY5.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-GZ5CIXQA.js → is-global-KY3QE3OZ.js} +1 -1
- package/dist/{json-error-2BL3UZ7H.js → json-error-UR2OILQ6.js} +1 -1
- package/dist/{local-KAZJAYLX.js → local-77XQ4CX3.js} +1 -1
- package/dist/{metadata-M3ZE24WB.js → metadata-BC3BGHRY.js} +1 -1
- package/dist/{node-package-manager-RVPONQBY.js → node-package-manager-6UZUTDCP.js} +1 -1
- package/dist/notifications-system-4UDT72DQ.js +1 -0
- package/dist/{os-DRUILZZR.js → os-U3LELTCV.js} +1 -1
- package/dist/{output-SDE274Y5.js → output-GGY66WEM.js} +1 -1
- package/dist/{system-5FQ3L5PA.js → system-MCWAHFXK.js} +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/{ui-TEZZM7SE.js → ui-SYB4LLWY.js} +1 -1
- package/dist/upgrade-V4GCQJBN.js +1 -0
- package/dist/version-HQPFW4QN.js +1 -0
- package/dist/version-VOSHQCYM.js +1 -0
- package/dist/{workerd-WRW4ZUYM.js → workerd-MEAM3XYI.js} +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +7 -7
- package/dist/analytics-QK4RFCB6.js +0 -1
- package/dist/analytics-R6I5APDB.js +0 -1
- package/dist/chunk-RGIUP4FW.js +0 -1
- package/dist/chunk-WXV35TPE.js +0 -1
- package/dist/chunk-YGFEUXKQ.js +0 -1
- package/dist/chunk-ZOYSMJ27.js +0 -1
- package/dist/dist-4X53WJBQ.js +0 -1
- package/dist/dist-5M2V3YCM.js +0 -1
- package/dist/environments-3RUZ7F4Q.js +0 -1
- package/dist/error-handler-D5BURRJ7.js +0 -1
- package/dist/notifications-system-MYEMV7JF.js +0 -1
- package/dist/upgrade-3PIVJYBL.js +0 -1
- package/dist/version-FMWTVLMF.js +0 -1
- package/dist/version-IAMVSP7U.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as N}from"./chunk-LFOBYEWG.js";import{C as E}from"./chunk-
|
|
1
|
+
import{b as N}from"./chunk-LFOBYEWG.js";import{C as E}from"./chunk-VWYZCCRE.js";import{V as j}from"./chunk-KCHERKZO.js";import{a as O}from"./chunk-HQK6QRXN.js";import{b}from"./chunk-YTJ3EPD3.js";import{d as _}from"./chunk-WR2MMFJO.js";import{i as f}from"./chunk-XUJURYN5.js";import{Cb as d,Eb as h,Ib as S,da as T}from"./chunk-COFGQT76.js";import{d as P}from"./chunk-C4QR7Z4N.js";import{b as A}from"./chunk-JA2QZ635.js";import{a as w}from"./chunk-JD5P5RAJ.js";import{e as C,g as F}from"./chunk-VKWPEFWQ.js";F();var l=C(A()),g=class extends l.Command{static baseFlags={"json-schema":l.Flags.boolean({description:"Print the command's JSON schemas.",env:"SHOPIFY_FLAG_JSON_SCHEMA"})};static descriptionWithMarkdown;static get jsonOutputSchema(){}static get requiresSyncAnalytics(){return!1}static nonTTYFlagRequirements(e){return[]}static descriptionForHelp(){let e=(this.descriptionWithMarkdown??"").replace(/(\[)(.*?)(])(\()(.*?)(\))/gm,'"$2" ($5)');return W(e,this.jsonOutputSchema)}static descriptionWithoutMarkdown(){return this.descriptionForHelp()}static analyticsNameOverride(){}static analyticsStopCommand(){}async catch(e){e.skipOclifErrorHandling=!0;let{errorHandler:t}=await import("./error-handler-24QGAUUD.js");return await t(e,this.config),l.Errors.handle(e)}async _run(){return O(this.argv,()=>super._run())}async init(){if(this.exitWithTimestampWhenEnvVariablePresent(),N(this.id??""),!P()){let{registerCleanBugsnagErrorsFromWithinPlugins:t}=await import("./error-handler-24QGAUUD.js");await t(this.config)}await Y(this.config),this.showNpmFlagWarning();let{showNotificationsIfNeeded:e}=await import("./notifications-system-4UDT72DQ.js");return await e(),super.init()}showNpmFlagWarning(){let e=this.constructor;Object.keys(e.flags||{}).map(r=>`npm_config_${T(r).replace(/^no_/,"")}`).some(r=>process.env[r]!==void 0)&&import("./ui-SYB4LLWY.js").then(({renderWarning:r})=>{r({body:["NPM scripts require an extra",{command:"--"},"separator to pass the flags. Example:",{command:"npm run dev -- --reset"}]})})}exitWithTimestampWhenEnvVariablePresent(){w(process.env.SHOPIFY_CLI_ENV_STARTUP_PERFORMANCE_RUN)&&(S(`
|
|
2
2
|
SHOPIFY_CLI_TIMESTAMP_START
|
|
3
3
|
{ "timestamp": ${Date.now()} }
|
|
4
4
|
SHOPIFY_CLI_TIMESTAMP_END
|
|
@@ -7,7 +7,7 @@ import{b as N}from"./chunk-LFOBYEWG.js";import{C as E}from"./chunk-L5XWYTHY.js";
|
|
|
7
7
|
|
|
8
8
|
${d.cyan(i)}
|
|
9
9
|
|
|
10
|
-
${a} in non-interactive terminal environments, such as a CI environment, or when piping input from another process.`,"To resolve this, specify the options in the command, or run the command in an interactive environment such as your local terminal.")}applicableNonTTYFlagRequirements(e){let t=this.constructor,n={...t.baseFlags,...t.flags},r=Object.entries(n).filter(([,a])=>!!a.requiredIfNonInteractive).map(([a])=>({flags:[a]})),i=(t.nonTTYFlagRequirements?.(e)??[]).filter(a=>a.when?.(e)??!0);return[...r,...i]}async resultWithEnvironment(e,t,n){let r=e.flags,i=this.environmentsFilename();if(!i)return e;let{environmentFilePath:a}=await import("./environments-
|
|
10
|
+
${a} in non-interactive terminal environments, such as a CI environment, or when piping input from another process.`,"To resolve this, specify the options in the command, or run the command in an interactive environment such as your local terminal.")}applicableNonTTYFlagRequirements(e){let t=this.constructor,n={...t.baseFlags,...t.flags},r=Object.entries(n).filter(([,a])=>!!a.requiredIfNonInteractive).map(([a])=>({flags:[a]})),i=(t.nonTTYFlagRequirements?.(e)??[]).filter(a=>a.when?.(e)??!0);return[...r,...i]}async resultWithEnvironment(e,t,n){let r=e.flags,i=this.environmentsFilename();if(!i)return e;let{environmentFilePath:a}=await import("./environments-PUH6A5BU.js"),o=await a(i,{from:r.path}),m=[];r.environment&&(m=Array.isArray(r.environment)?r.environment:[r.environment]);let u=m.length>0;if(!o&&!u||u&&m.length>1)return e;let{environment:c,isDefaultEnvironment:p}=await this.loadEnvironmentForCommand(r.path,i,m[0]);if(!c||p&&!$(t?.flags,"environment"))return e;let v=await super.parse(M(t),n),y=await super.parse(t,[...n??this.argv,...R(c,t,v),...p?["--environment","default"]:[]]);return q(v.flags,y.flags,p?"default":m[0],c),y}async loadEnvironmentForCommand(e,t,n){let{loadEnvironment:r}=await import("./environments-PUH6A5BU.js");return n?{environment:await r(n,t,{from:e}),isDefaultEnvironment:!1}:{environment:await r("default",t,{from:e,silent:!0}),isDefaultEnvironment:!0}}};async function I(s){await _(()=>({cmd_all_verbose:s.verbose,cmd_all_path_override:s.path!==void 0,cmd_all_path_override_hash:s.path===void 0?void 0:b(s.path)}))}function q(s,e,t,n){let r={};for(let[a,o]of Object.entries(e)){let m=Object.prototype.hasOwnProperty.call(s,a),u=Object.prototype.hasOwnProperty.call(n,a);if(!m&&u){let c=a==="password"?`********${o.substr(-4)}`:o;r[a]=c}}if(Object.keys(r).length===0)return;let i=Object.entries(r).map(([a,o])=>`${a}: ${o}`);import("./ui-SYB4LLWY.js").then(({renderInfo:a})=>{a({headline:["Using applicable flags from",{userInput:t},"environment:"],body:[{list:{items:i}}]})})}function M(s){return s?.flags?{...s,flags:Object.fromEntries(Object.entries(s.flags).map(([e,t])=>{let n={...t};return delete n.default,[e,n]}))}:s}function R(s,e,t){let n=[];for(let[r,i]of Object.entries(s)){let a=$(e?.flags,r),o=t.flags&&Object.prototype.hasOwnProperty.call(t.flags,r);if(a&&!o)if(typeof i=="boolean")if(i)n.push(`--${r}`);else throw new f(h`Environments can only specify true for boolean flags. Attempted to set ${d.yellow(r)} to false.`);else Array.isArray(i)?i.forEach(m=>n.push(`--${r}`,`${m}`)):n.push(`--${r}`,`${i}`)}return n}function $(s,e){return!!s&&Object.prototype.hasOwnProperty.call(s,e)}function W(s,e){if(!e)return s;let t=`Use \`--json-schema\` to print the result, error, and event schemas.
|
|
11
11
|
|
|
12
12
|
Output from \`--json\` conforms to the \`${e.name}\` schema.
|
|
13
13
|
|
|
@@ -16,5 +16,5 @@ ${JSON.stringify(e.jsonSchema,null,2)}
|
|
|
16
16
|
\`\`\``;return[s,t].filter(Boolean).join(`
|
|
17
17
|
|
|
18
18
|
`)}async function Y(s){let e=Array.from(s.plugins.values()),t=["@shopify/app","@shopify/plugin-cloudflare"],n=e.filter(i=>t.includes(i.name));if(n.length>0){let i=n.map(o=>` - shopify plugins remove ${o.name}`).join(`
|
|
19
|
-
`),{renderWarning:a}=await import("./ui-
|
|
19
|
+
`),{renderWarning:a}=await import("./ui-SYB4LLWY.js");a({headline:`Unsupported plugins detected: ${n.map(o=>o.name).join(", ")}`,body:["They are already included in the CLI and installing them as custom plugins can cause conflicts.",`You can fix it by running:
|
|
20
20
|
${i}`]})}let r=e.filter(i=>!t.includes(i.name));s.plugins=new Map(r.map(i=>[i.name,i]))}var K=g;export{M as a,K as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as E}from"./chunk-HSTNTHWM.js";import{a as u,b as U,c as W}from"./chunk-HB3MJYBK.js";import{a as M}from"./chunk-
|
|
1
|
+
import{a as E}from"./chunk-HSTNTHWM.js";import{a as u,b as U,c as W}from"./chunk-HB3MJYBK.js";import{a as M}from"./chunk-WR6KP7RT.js";import{b as P}from"./chunk-VX2CDHRQ.js";import{D as T,F as j,I as B,L as O,a as D,d as g,k as d,l as x,m as f,n as I,o as b,q as L,t as N}from"./chunk-UZTL2UET.js";import{b as R}from"./chunk-2KBTFKSM.js";import{b as F}from"./chunk-CUZQRXTV.js";import{A as C,B as A,y as S,z as $}from"./chunk-KCHERKZO.js";import{i as _}from"./chunk-XUJURYN5.js";import{ka as w}from"./chunk-COFGQT76.js";import{b as te}from"./chunk-JA2QZ635.js";import{e as ee,g as a}from"./chunk-VKWPEFWQ.js";a();a();a();var Y={high:"High",medium:"Medium",low:"Low"},ne={executed:"passed",not_applicable:"not applicable",unresolved:"unresolved"},se={executed:"executed",not_applicable:"not applicable",unresolved:"unresolved"},p=["deterministic","agent"],ie={deterministic:"deterministic-findings.json",agent:"agent-findings.json"},H=3,oe="Agent findings were recorded for a different scope than the latest scan.",q="agent result stale",re="The agent result is older than the deterministic result, so both are shown.",ce={info:S,success:$,warning:C,error:A};function J(e){for(let t of ue(e))ce[t.type](t.options)}function ue(e){let{checks:t}=e.result,n=t.filter(i=>i.status==="unresolved"&&d(i).length===0),s=t.filter(i=>i.status!=="unresolved"&&d(i).length===0),o=t.filter(i=>d(i).length>0);return[...n.length>0?[Se(n,e.verbose)]:[],...s.length>0?[$e(s,e.verbose)]:[],...o.map(i=>Ae(i,e.verbose,e.now)),ve(de(e))]}function de(e){let{result:t}=e,n=t.sources.deterministic!==null||t.sources.agent!==null,s=b(t.checks),o=t.sources.deterministic?.document,i=t.blocking.blockedChecks>0,r=t.checks.filter(f).length;return{type:ae(t.checks,s,n),headline:fe(t.checks,s,n),...t.filter&&n?{filterLine:`Showing ${t.checks.length} of ${t.allChecks.length} checks (--check-id).`}:{},checksWithFindings:t.checks.filter(c=>d(c).length>0).map(pe),otherChecks:ge(s),...r>0?{staleAgentResults:le(r)}:{},...o?{coverage:be(o)}:{},scopeLines:me(t.sources),...t.scopeDiffers?{scopeNote:oe}:{},resultsFiles:{directory:t.resultsDirectory,rows:p.map(c=>ke(c,t.sources[c]?.document,e.now))},...i?{blocking:`${u(t.blocking.blockedChecks,"check")} at or above ${t.blocking.level} (--blocking ${t.blocking.level}).`}:{nextSteps:ye(t,s,n,r,e.commands)}}}function le(e){let t=e===1?"shows":"show";return`${u(e,"check")} ${t} both sources because the agent results are older than the deterministic results.`}function ae(e,t,n){return n?e.some(s=>s.severity==="high"&&d(s).length>0)?"error":t.withFindings>0||t.unresolved>0?"warning":"success":"info"}function fe(e,t,n){if(!n)return"No app security check results to review.";if(t.withFindings===0)return`No findings in ${u(e.length,"check")}.`;let s=t.unresolved>0?` ${u(t.unresolved,"check")} unresolved.`:"";return`${U(t)}.${s}`}function pe(e){return{severity:Y[e.severity],id:e.id,counts:he(e)}}function he(e){let t=d(e);return p.map(n=>[n,t.filter(s=>s.source===n).length]).filter(([,n])=>n>0).map(([n,s])=>`${s} ${n}`).join(", ")}function ge(e){return[h(W(e)),V(e)].filter(t=>t!=="")}function V(e){return h([e.suppressed>0?`${u(e.suppressed,"finding")} suppressed`:void 0,e.superseded>0?`${u(e.superseded,"finding")} superseded`:void 0])}function m(e){return V(b([e]))}function h(e){return e.filter(t=>t!==void 0).join(" \xB7 ")}function be(e){let t=e.coverage.files_skipped,{too_large:n,unreadable:s}=L(t),o=[n>0?`${n} too large`:void 0,s>0?`${s} unreadable`:void 0].filter(l=>l!==void 0),i=t.length===0?"none skipped":`${t.length} skipped (${o.join(", ")})`,r=e.detection.languages.filter(l=>l.support==="unsupported"),c=r.length===0?"":` Unsupported ${r.length===1?"language":"languages"}: ${r.map(l=>`${l.name} (${u(l.files.length,"file")})`).join(", ")}.`;return`Deterministic coverage: ${u(e.coverage.files_scanned,"file")} scanned, ${i}.${c}`}function K(e){let t=[...e.include_dirs.map(n=>`--include-dir ${n}`),...e.excludes.map(n=>`--exclude ${n}`),...e.no_git_ignore?["--no-git-ignore"]:[]];return t.length===0?"none":t.join(" ")}function me({deterministic:e,agent:t}){return[...e?[`Scan directories: ${e.document.coverage.scan_directories.map(({directory:n})=>n).join(", ")}`,`Scan scope: ${K(e.document.coverage.scope)}`]:[],...t?[`Scope reported by the agent: ${K(t.document.scope)}`]:[]]}function ke(e,t,n){let s=ie[e];return t?{name:s,updated:z(t.generated_at,n),engine:t.engine.version}:{name:s,updated:"not found"}}function z(e,t){let n=Date.parse(e);return Number.isNaN(n)?"unknown":w(new Date(n),t)}function ye(e,t,n,s,o){let i={command:O(o.scan)};if(!n)return[["Run",i,"or have your coding agent run it."]];let r=[];if(t.withFindings>0){let c=["Fix the issues, then run",i,"again."];e.sources.agent===null?r.push(c,"For a deeper review, have your agent run the same command and record its findings."):s>0?r.push(c):r.push([...c,"To refresh agent findings, have your agent run the command and record its findings."])}return s>0?r.push(["Agent results are older than the deterministic results. Have your coding agent run",i,"and record its findings again to refresh them."]):t.withFindings===0&&e.sources.agent===null&&r.push(["For a deeper review, have your coding agent run",i,{char:"."}]),r}function ve(e){let t=[];return e.filterLine&&t.push({body:{subdued:e.filterLine}}),e.checksWithFindings.length>0&&t.push({title:"Checks with findings",body:{tabularData:e.checksWithFindings.map(n=>[n.severity,n.id,n.counts]),firstColumnSubdued:!0}}),e.otherChecks.length>0&&t.push({title:"Other checks",body:e.otherChecks.join(`
|
|
2
2
|
`)}),e.staleAgentResults&&t.push({body:e.staleAgentResults}),e.coverage&&t.push({body:{subdued:e.coverage}}),e.scopeLines.length>0&&t.push({body:{subdued:e.scopeLines.join(`
|
|
3
3
|
`)}}),e.scopeNote&&t.push({body:e.scopeNote}),t.push({title:`Results files in ${e.resultsFiles.directory}`,body:{tabularData:[["",{subdued:"Updated"},{subdued:"Engine"}],...e.resultsFiles.rows.map(we)]}}),e.blocking===void 0?e.nextSteps.length>0&&t.push({title:"Next steps",body:{list:{items:e.nextSteps}}}):t.push({title:"Blocking",body:e.blocking}),{type:e.type,options:{headline:e.headline,customSections:t}}}function we(e){return e.engine===void 0?[e.name,{subdued:e.updated}]:[e.name,e.updated,e.engine]}function Se(e,t){return{type:"warning",options:{headline:`${u(e.length,"check")} unresolved.`,customSections:e.flatMap(n=>[{title:`${n.id} \xB7 ${n.title}`,body:{tabularData:X(n,{withDispositions:!0}),firstColumnSubdued:!0}},...t?n.findings.map(s=>k(s,t,`${n.id} \xB7 `)):[]])}}}function $e(e,t){let n=e.filter(x).length,s=e.length-n;return{type:"info",options:{headline:[n>0?`${u(n,"check")} passed.`:void 0,s>0?`${u(s,"check")} not applicable.`:void 0].filter(i=>i!==void 0).join(" "),customSections:[{body:{tabularData:e.map(Ce)}},...t?e.flatMap(i=>i.findings.map(r=>k(r,t,`${i.id} \xB7 `))):[]]}}}function Ce(e){let t=m(e);return[e.id,h([ne[e.status],t===""?void 0:t,f(e)?q:void 0])]}function Ae(e,t,n){let s=m(e),o=t?e.findings:d(e);return{type:e.severity==="high"?"error":"warning",options:{headline:`${Y[e.severity]} \xB7 ${e.id} \xB7 ${e.title}`,...s===""?{}:{body:{subdued:s}},...e.docs_url?{link:{label:`${e.id} on shopify.dev`,url:e.docs_url}}:{},customSections:[..._e(e,n),...o.map(i=>k(i,t))]}}}function _e(e,t){if(f(e))return[{body:{tabularData:p.flatMap(r=>{let c=e.by_source[r];return c?[[r,Q(c),z(c.generated_at,t)]]:[]}),firstColumnSubdued:!0}},{body:{subdued:re}}];let{deterministic:n,agent:s}=e.by_source;return n!==null&&s!==null&&n.status!==s.status?[{body:{tabularData:X(e,{withDispositions:!1}),firstColumnSubdued:!0}}]:[]}function X(e,t){let n=f(e),s=p.flatMap(i=>{let r=e.by_source[i];if(!r)return[];let c=n&&i==="agent"?q:void 0;return[[i,h([Q(r),c])]]}),o=t.withDispositions?m(e):"";return o===""?s:[...s,["findings",o]]}function Q(e){let t=se[e.status];return e.reason?`${t} \u2014 ${e.reason.message}`:t}function k(e,t,n=""){let s=e.disposition==="active"?"":` (${e.disposition})`,o=[e.message];if(e.snippet&&o.push({subdued:`
|
|
4
4
|
Code: ${e.snippet}`}),e.source==="deterministic"){e.fix&&o.push({subdued:`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as L}from"./chunk-HSTNTHWM.js";import{a as J}from"./chunk-
|
|
1
|
+
import{a as L}from"./chunk-HSTNTHWM.js";import{a as J}from"./chunk-HT2JVMLK.js";import{a as X}from"./chunk-WR6KP7RT.js";import{B,C as m,D as y,F as H,G as K,H as V,I as q,J as Q,K as z,L as h,a as O,c as U,d as b,g as j,i as M,p as W,u as Y}from"./chunk-UZTL2UET.js";import{b as N}from"./chunk-2KBTFKSM.js";import{b as T}from"./chunk-CUZQRXTV.js";import{A as g,B as _,D as G,V as E,y as D,z as F}from"./chunk-KCHERKZO.js";import{Ib as R,sa as $}from"./chunk-COFGQT76.js";import{b as de}from"./chunk-JA2QZ635.js";import{g as d,q as A}from"./chunk-3VYOLEQE.js";import{e as ue,g as a}from"./chunk-VKWPEFWQ.js";a();a();a();function Z(e,t){return t==="none"?0:e.scan.issues.some(s=>b[s.severity]>=b[t])?1:0}async function ee({includeDirs:e,excludePatterns:t,noGitIgnore:i,...s}){let n=Date.now();return{...await M(s,{includeDirs:e,excludePatterns:t,noGitIgnore:i}),elapsedMilliseconds:Date.now()-n}}function te({includeDirs:e,excludePatterns:t,noGitIgnore:i,...s}){return j(s,{includeDirs:e,excludePatterns:t,noGitIgnore:i})}a();var pe={high:"High",medium:"Medium",low:"Low"},v=3,w=8;function he(e){let t=fe(e),i=W(e.scan.issues);return{type:t,options:{headline:ge(e,i),body:me(e),reference:[{subdued:`Engine: ${e.engine.name} ${e.engine.version}`},{subdued:`Ruleset: ${e.engine.ruleset}`},...i.some(s=>s.issues.length>1)&&!e.verbose?[{subdued:"Use --verbose for every occurrence and fix. deterministic-findings.json retains all file and line details."}]:[]],customSections:ve(e,i)}}}function ie(e){let{type:t,options:i}=he(e);if(t==="success"){F(i);return}if(t==="warning"){g(i);return}_(i)}function ne(e){return e.scan.scan.coverage_gaps.length>0}function fe(e){return e.scan.issues.some(t=>t.severity==="high")?"error":e.scan.issues.length>0||ne(e)?"warning":"success"}function ge(e,t){let i=e.scan.issues.length;return t.length<i?`${t.length} security issue ${t.length===1?"group":"groups"} found (${i} occurrences).`:i>0?`${i} security ${i===1?"issue":"issues"} found.`:ne(e)?"Scan completed with coverage gaps.":"No security issues found."}function me(e){let t=e.scan,i=[{userInput:t.app.name},{char:"."},`${t.scan.files_scanned} files scanned in ${Ie(e.elapsedMilliseconds)}.`],s=t.scan.checks_executed.filter(n=>n.status==="not_applicable").length;return s>0&&i.push({info:`
|
|
2
2
|
${s} check${s===1?"":"s"} not applicable.`}),i.push({info:`
|
|
3
3
|
${e.agentCheckCount} check${e.agentCheckCount===1?"":"s"} ready for your coding agent.`}),i}function ye(e){return[["Have your coding agent run the agent checks"],["Record the agent results with",{command:h(e.commands.record)}],["Review the results with",{command:h(e.commands.review)}]]}function ke(e){let t=m(e)??"not linked";return e.kind==="config"&&e.clientIdOverride?`${t} (from --client-id)`:t}function be(e){let{selection:t}=e;return{title:"Selection",body:{tabularData:[["App directory",t.appDirectory],["Config file",B(t)??"none"],["Client ID",ke(t)],["Scan directories",e.scanDirectories.map(({directory:i})=>d(t.appDirectory,i)||".").join(", ")]],firstColumnSubdued:!0}}}function ve(e,t){let i=[be(e)];for(let n of["high","medium","low"]){let o=t.filter(r=>r.severity===n);o.length!==0&&i.push({title:pe[n],body:{list:{items:o.flatMap(r=>[Se(r),...e.verbose?r.issues.map(we):[]])}}})}if(e.scan.scan.coverage_gaps.length>0){let n=e.scan.scan.coverage_gaps,o=n.slice(0,w).map(r=>r.message);n.length>w&&o.push({info:`${n.length-w} more coverage gaps`}),i.push({title:"Coverage gaps",body:{list:{items:o}}})}let{appDirectory:s}=e.selection;return i.push({title:"Artifacts",body:{list:{items:[["Deterministic findings:",{filePath:d(s,e.deterministicFindingsPath)}],["Agent security check instructions:",{filePath:d(s,e.agentChecksPath)}]]}}}),i.push({title:"Next steps",body:{list:{items:ye(e),ordered:!0}}}),e.verbose&&i.push({title:"Scan details",body:{tabularData:[["Framework",e.scan.detection.framework],["Surface",e.scan.detection.surface],["Languages",e.scan.detection.languages.map(n=>`${n.name} (${n.support})`).join(", ")||"none"],["Capabilities",Ce(e.scan.capabilities)],["Rules run",String(e.scan.scan.rules_run)],["Not run",String(e.scan.scan.rules_skipped)]],firstColumnSubdued:!0}}),i}function we(e){let t=e.location.line?`${e.location.file}:${e.location.line}`:e.location.file,i=[{bold:e.title},se(e.id),{filePath:t}];return i.push({subdued:e.message},{subdued:`Fix: ${e.fix.description}`}),e.fix.guide&&(e.fix.guide.startsWith("https://")||e.fix.guide.startsWith("http://")?i.push({link:{label:"Guide",url:e.fix.guide}}):i.push({subdued:`Guide: ${e.fix.guide}`})),e.snippet&&i.push({subdued:`Code: ${e.snippet}`}),i}function Se(e){let t=e.issues[0],i=e.issues.length,s=e.files.length,n=e.files.slice(0,v).map(o=>{let r=e.issues.find(f=>f.location.file===o);return{filePath:r.location.line?`${o}:${r.location.line}`:o}});return[{bold:t.title},se(t.id),`${i} ${i===1?"occurrence":"occurrences"} across ${s} ${s===1?"file":"files"}`,...n,...s>v?[{subdued:`+${s-v} more files`}]:[]]}function se(e){let t=U(e);return t?{link:{label:e,url:t}}:{subdued:e}}function Ce(e){let t=Object.entries(e).filter(([,i])=>i).map(([i])=>i);return t.length>0?t.join(", "):"none detected"}function Ie(e){return e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(1)}s`}function xe(e){return{message:`${e} recommended agent ${e===1?"check":"checks"} available to complete your scan. How do you want to pass that prompt to your agent?`,choices:[{label:"Copy instructions to the clipboard",value:"copy"},{label:"Print instructions to the terminal",value:"print"},{label:"Nothing",value:"nothing"}],defaultValue:"copy"}}var Pe={resolveSelection:H,execute:ee,listFiles:te,writeArtifacts:Y,canPrompt:E,selectInstructionsDestination:e=>G(xe(e)),deliverInstructions:J,output:R,renderInfo:D,renderWarning:g,renderReport:ie,setExitCode:e=>{process.exitCode=e},recordMetadata:X};async function Ae(e,t,i,s){return e.skipInstructions?"nothing":e.yes?"print":i?t.selectInstructionsDestination(s):"nothing"}function $e(e,t,i,s,n,o){return{scan:e.scan,selection:n,scanDirectories:o,engine:e.engine,verbose:i,elapsedMilliseconds:e.elapsedMilliseconds,commands:s,deterministicFindingsPath:t.deterministicFindingsPath,agentChecksPath:t.agentChecksPath,agentCheckCount:e.agentChecks.checks.length}}function De(e){return e.replace(/[?*()[\]{}!#\\]/g,"\\$&")}async function oe(e,t){if(e.ignoredScanDirectories.length===0&&e.otherAppDirectories.length===0)return;let i=await $(A()),s=n=>d(i,n)||".";for(let n of e.ignoredScanDirectories)t.renderWarning({headline:`${s(n)} is ignored by Git, so only the files Git tracks in it are scanned.`,body:["Use",{command:"--no-git-ignore"},"to scan everything in it."]});for(let n of e.otherAppDirectories){let o=s(n);t.renderWarning({headline:`${o} holds another app's configuration, so its files are scanned as part of this app.`,body:["Use",{command:`--exclude ${z(De(o),Q())}`},"to leave it out."]})}}async function S(e,t=Pe){let i=await K(e.includeDirs),s=!e.listFiles&&t.canPrompt(),n=await t.resolveSelection({path:e.directory,config:e.configName,clientId:e.clientId,withoutAppConfig:e.withoutAppConfig,allowPrompts:s,validateClientIdFlag:!0}),{appDirectory:o}=n,r={include_dirs:[...e.includeDirs],excludes:[...e.excludePatterns],no_git_ignore:e.noGitIgnore},p=q(n,e.directory,r),f={selection:n,resultsKey:y(n),commands:p};(n.kind==="no-config"?!e.withoutAppConfig:n.appConfigFilePicked===!0)&&t.renderInfo({headline:"To skip these prompts next time, run:",body:[{command:h(p.scan)}]});let re=n.kind==="config"?n.appConfigDirectories??[]:[],{scanDirectories:k,requestedScanDirectories:ce}=V(o,i,re),I={appDirectory:o,scanDirectories:k.map(({directory:c})=>c),requestedScanDirectories:ce,appConfigDirectories:k.filter(({origin:c})=>c==="app_config_directory").map(({directory:c})=>c),appConfigFilePath:n.kind==="config"?n.appConfigFilePath:void 0,clientId:m(n),includeDirs:e.includeDirs,excludePatterns:e.excludePatterns,noGitIgnore:e.noGitIgnore};if(e.listFiles){let{paths:c,...le}=await t.listFiles(I);return await oe(le,t),c.length>0&&t.output(c.join(`
|
|
4
4
|
`)),f}let l=await t.execute(I);await oe(l,t),await t.recordMetadata({num_security_findings:l.scan.issues.length});let ae=await t.writeArtifacts(o,y(n),{deterministicFindings:l.deterministicFindings,agentChecks:l.agentChecks});t.renderReport($e(l,ae,e.verbose,p,n,k));let x=await Ae(e,t,s,l.agentChecks.checks.length);x!=="nothing"&&await t.deliverInstructions({appDirectory:o,resultsKey:y(n),copy:x==="copy",scanScope:r,commands:p});let P=Z(l,e.blocking);return P!==0&&t.setExitCode(P),f}var u=ue(de(),1);var C=class e extends T{static summary="Check an app for Shopify-specific security issues and write deterministic-findings.json and agent-checks.json.";static descriptionWithMarkdown="Runs an app security check locally and writes `deterministic-findings.json` and `agent-checks.json` to the results directory, `.shopify/app-security/<results key>/`. The results key is `--client-id` when you pass it, and otherwise the name of the app configuration file without `.toml`; the other `app security` commands take the same selection flags and find the same directory. Every run replaces both files, so it's always safe to run the check again.\n\n`deterministic-findings.json` holds the deterministic scan results. `agent-checks.json` holds the checks for your coding agent to investigate; the agent's results are recorded with `shopify app security record`. Use `--config` to select a specific app configuration when the project has multiple `shopify.app*.toml` files; the check inspects only that configuration. Use `--client-id` to replace the configuration's client ID for this run. `--client-id` is checked against your Shopify account before anything is scanned, so it needs you to be logged in. When no app configuration exists, use `--without-app-config --client-id <client-id>` to scan `--path` anyway with config checks skipped; in an interactive terminal the command offers to do this.\n\nThe check scans the app directory and each `--include-dir`. Git ignore rules apply by default: a file or directory that Git ignores is skipped, using the rules of the repository that contains it, while files that Git tracks are always scanned. Use `--no-git-ignore` to turn Git ignore rules off for every scanned directory.\n\nUse `--exclude` to skip more paths. Each value is a glob that is matched against the path relative to the working directory, so a path above it starts with `../`, and a name at any depth needs `**/`, for example `--exclude '**/generated'`. Repeat the flag to add globs. An exclusion can't remove the selected app configuration file. Quote each value so your shell doesn't expand `*`. The coding-agent instructions this check offers repeat the globs. Other `app security` commands don't take `--exclude` or `--no-git-ignore`, so pass the same flags each time you run the check.\n\nUse `--list-files` to check the scope before scanning: it prints the files the check would gather, one path per line and relative to the app directory, and then stops. It writes no results and never prompts. `--client-id` is still checked, but doesn't change the list.\n\nIn interactive terminals, the command offers to copy the coding-agent instructions, print them, or choose nothing; copying is the default. In CI and other non-interactive environments, instructions aren't offered unless you pass `--yes`, which prints them. You can also run `shopify app security instructions` to print, copy, or write them later.";static description=this.descriptionWithoutMarkdown();static flags={...N,...O,"include-dir":u.Flags.string({description:"Also scan this directory, relative to the working directory. Repeat the flag to add directories. Use it for code that lives outside the app directory, such as a backend or a shared library.",multiple:!0}),exclude:u.Flags.string({description:"Skip paths that match this glob, relative to the working directory. Repeat the flag to add globs. The selected app configuration file can't be excluded.",multiple:!0}),"no-git-ignore":u.Flags.boolean({description:"Turn off Git ignore rules for every scanned directory, so files that Git ignores are scanned too. Files that Git tracks are always scanned.",env:"SHOPIFY_FLAG_NO_GIT_IGNORE"}),"list-files":u.Flags.boolean({description:"Print the files the check would gather, one path per line, and stop. Nothing is scanned, no results are written, and nothing is prompted for.",env:"SHOPIFY_FLAG_LIST_FILES",exclusive:["yes","skip-instructions","blocking"]}),...L,yes:u.Flags.boolean({description:"Print coding-agent instructions without prompting.",default:!1,exclusive:["skip-instructions"],env:"SHOPIFY_FLAG_YES"}),"skip-instructions":u.Flags.boolean({description:"Don't offer to show coding-agent instructions.",default:!1,exclusive:["yes"],env:"SHOPIFY_FLAG_APP_SECURITY_SKIP_INSTRUCTIONS"})};async run(){let{flags:t}=await this.parse(e);await S({directory:t.path,configName:t.config,clientId:t["client-id"],withoutAppConfig:!!t["without-app-config"],verbose:!!t.verbose,blocking:t.blocking,yes:t.yes,skipInstructions:t["skip-instructions"],includeDirs:t["include-dir"]??[],excludePatterns:t.exclude??[],noGitIgnore:!!t["no-git-ignore"],listFiles:!!t["list-files"]})}};export{C as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as C}from"./chunk-
|
|
1
|
+
import{a as C}from"./chunk-MINDMVTH.js";import{a as y}from"./chunk-RFDOSK57.js";import{Ca as k,Fa as w,Ga as A,Ha as P}from"./chunk-AKSOCKVF.js";import{b as h}from"./chunk-2KBTFKSM.js";import{z as g}from"./chunk-KCHERKZO.js";import{i as u}from"./chunk-XUJURYN5.js";import{j as r}from"./chunk-3VYOLEQE.js";import{g as n}from"./chunk-VKWPEFWQ.js";n();n();async function s(p){let{directory:t,configName:o,configPath:e,configuration:a,remoteApp:i}=p;if(!a.client_id)throw new u("The selected configuration is not linked to a remote app.","Run `shopify app config link` first to link this configuration to a Shopify app.");let c=i.developerPlatformClient,l=await k({developerPlatformClient:c,app:i}),m=i.flags,b={directory:t,configName:o,developerPlatformClient:c,apiKey:a.client_id},d=await w(b,l,m,i.apiKey),v=r(e),x=await A({remoteApp:i,developerPlatformClient:c,specifications:l,flags:m,configFileName:v,appDirectory:d.appDirectory??t,localAppOptions:d});return{configPath:e,configuration:x,remoteApp:i}}var f=class p extends C{static summary="Refresh an already-linked app configuration without prompts.";static descriptionWithMarkdown="Pulls the latest configuration from the already-linked Shopify app and updates the selected configuration file.\n\nThis command reuses the existing linked app and organization and skips all interactive prompts. Use `--config` to target a specific configuration file, or omit it to use the default one.";static description=this.descriptionForHelp();static flags={...h,...y};async run(){let{flags:t}=await this.parse(p),{app:o,remoteApp:e}=await P({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),{configuration:a,configPath:i}=await s({directory:t.path,configName:t.config,configPath:o.configPath,configuration:o.configuration,remoteApp:e});return g({headline:`Pulled latest configuration for "${a.name}"`,body:`Updated ${r(i)} with the remote data.`}),{app:o}}};export{f as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as n}from"./chunk-
|
|
1
|
+
import{b as n}from"./chunk-CUZQRXTV.js";import{y as t}from"./chunk-KCHERKZO.js";import{k as r}from"./chunk-C4QR7Z4N.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var e=class extends n{static description="Run CLI doctor-release tests";static hidden=!0;async run(){r()&&t({headline:"Shopify CLI Doctor Release.",body:["Available doctor-release commands:",""," shopify doctor-release theme -e <environment> Run all theme command tests","","The -e/--environment flag is required to specify the store configuration.","Use --help with any command for more options."]})}};export{e as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as n}from"./chunk-
|
|
1
|
+
import{a as n}from"./chunk-IPWU2ALH.js";import{b as i}from"./chunk-CUZQRXTV.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var t=class extends i{static description="Generate a notifications.json file for the the CLI, appending a new notification to the current file.";static hidden=!0;async run(){await n()}};export{t as a};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as N}from"./chunk-
|
|
1
|
+
import{a as N}from"./chunk-MINDMVTH.js";import{a as b}from"./chunk-RFDOSK57.js";import{A as S,E as A,G as C,H as x,Ha as V}from"./chunk-AKSOCKVF.js";import{a as f}from"./chunk-7AD5YCLL.js";import{b as j,c as E}from"./chunk-2KBTFKSM.js";import{B as u,z as v}from"./chunk-KCHERKZO.js";import{i as g,k as n}from"./chunk-XUJURYN5.js";import{Ib as l,Qb as w,Tb as h}from"./chunk-COFGQT76.js";import{j as m}from"./chunk-3VYOLEQE.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();p();async function P(s,t){let e=new Set(t.map(r=>r.file)).size;await f.addPublicMetadata(()=>({cmd_app_validate_valid:s,cmd_app_validate_issue_count:t.length,cmd_app_validate_file_count:e}))}async function F(s,t={json:!1}){let e=s.errors;if(!e||e.isEmpty()){if(await P(!0,[]),t.json){l(JSON.stringify({valid:!0,issues:[]},null,2));return}v({headline:`App configuration '${m(s.configPath)}' is valid.`});return}let r=e.getErrors();if(await P(!1,r),t.json){let d=r.map(({file:c,message:a,path:i,code:o})=>({file:c,message:a,path:i,code:o}));throw l(JSON.stringify({valid:!1,issues:d},null,2)),new n}throw u({headline:"Validation errors found.",body:r.map(d=>`\u2022 ${x(d)}`).join(`
|
|
2
2
|
`)}),new n}async function _(s,t){await f.addPublicMetadata(()=>({cmd_app_validate_valid:!1,cmd_app_validate_issue_count:s,cmd_app_validate_file_count:t}))}var y=class s extends N{static summary="Validate your app configuration and extensions.";static descriptionWithMarkdown="Validates the selected app configuration file and all extension configurations against their schemas and reports any errors found.";static description=this.descriptionForHelp();static flags={...j,...b,...E};async run(){let{flags:t}=await this.parse(s);await f.addPublicMetadata(()=>({cmd_app_validate_json:t.json}));let e;try{e=await S.load(t.path)}catch(a){if(a instanceof g&&t.json){await _(1,1);let i=h(w(a.message)).trim();throw l(JSON.stringify({valid:!1,issues:[{message:i}]},null,2)),new n}throw a}let r;try{r=await C(e,t.config,{clientId:t["client-id"],skipPrompts:!!t["client-id"]})}catch(a){if(a instanceof g&&t.json){await _(1,1);let i=h(w(a.message)).trim();throw l(JSON.stringify({valid:!1,issues:[{message:i}]},null,2)),new n}throw a}let d=A(e,r.file);if(d.length>0){let a=d.map(o=>({file:o.path,message:o.message})),i=new Set(d.map(o=>o.path)).size;throw await _(a.length,i),t.json?(l(JSON.stringify({valid:!1,issues:a},null,2)),new n):(u({headline:"Validation errors found.",body:a.map(o=>`\u2022 ${o.message}`).join(`
|
|
3
3
|
`)}),new n)}let c;try{c=(await V({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config??(t["client-id"]?m(r.file.path):void 0),unsafeTolerateErrors:!0})).app}catch(a){let i=a instanceof g?h(w(a.message)).trim():"";throw i.startsWith("Validation errors in ")&&t.json?(await _(1,1),l(JSON.stringify({valid:!1,issues:[{message:i}]},null,2)),new n):a}return await F(c,{json:t.json}),{app:c}}};export{y as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as M}from"./chunk-
|
|
1
|
+
import{a as M}from"./chunk-STLYSBD5.js";import{a as E}from"./chunk-MINDMVTH.js";import{a as I}from"./chunk-RFDOSK57.js";import{Ha as j,I as C}from"./chunk-AKSOCKVF.js";import{e as O}from"./chunk-ZQKZC2KN.js";import{b as z}from"./chunk-LOKVWZD2.js";import{b as R}from"./chunk-2KBTFKSM.js";import{$ as h,N as _,ca as g,u as y}from"./chunk-VWYZCCRE.js";import{H as T,I as k,y as A}from"./chunk-KCHERKZO.js";import{l as D}from"./chunk-XUJURYN5.js";import{Cb as p,Eb as m,Kb as f}from"./chunk-COFGQT76.js";import{b as W}from"./chunk-JA2QZ635.js";import{e as F,g as s}from"./chunk-VKWPEFWQ.js";s();s();s();var L={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"metafieldDefinitions"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"ownerType"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"MetafieldOwnerType"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"after"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"metafieldDefinitions"},arguments:[{kind:"Argument",name:{kind:"Name",value:"ownerType"},value:{kind:"Variable",name:{kind:"Name",value:"ownerType"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"IntValue",value:"30"}},{kind:"Argument",name:{kind:"Name",value:"after"},value:{kind:"Variable",name:{kind:"Name",value:"after"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"pageInfo"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hasNextPage"}},{kind:"Field",name:{kind:"Name",value:"endCursor"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"nodes"},selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"MetafieldForImport"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}},{kind:"FragmentDefinition",name:{kind:"Name",value:"MetafieldForImport"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"MetafieldDefinition"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"key"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"namespace"}},{kind:"Field",name:{kind:"Name",value:"description"}},{kind:"Field",name:{kind:"Name",value:"type"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"category"}},{kind:"Field",name:{kind:"Name",value:"name"}}]}},{kind:"Field",name:{kind:"Name",value:"access"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"admin"}},{kind:"Field",name:{kind:"Name",value:"storefront"}},{kind:"Field",name:{kind:"Name",value:"customerAccount"}}]}},{kind:"Field",name:{kind:"Name",value:"capabilities"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"adminFilterable"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"enabled"}}]}}]}},{kind:"Field",name:{kind:"Name",value:"validations"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"value"}}]}}]}}]};s();async function J(e){let i="Admin",n=O(e.storeFqdn,"unstable");return{token:e.token,api:i,url:n}}async function P(e){return g({query:e.query,...await J(e.session),variables:e.variables,autoRateLimitRestore:e.autoRateLimitRestore})}s();var w={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"metaobjectDefinitions"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"after"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"metaobjectDefinitions"},arguments:[{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"IntValue",value:"10"}},{kind:"Argument",name:{kind:"Name",value:"after"},value:{kind:"Variable",name:{kind:"Name",value:"after"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"pageInfo"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hasNextPage"}},{kind:"Field",name:{kind:"Name",value:"endCursor"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"nodes"},selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"MetaobjectForImport"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}},{kind:"FragmentDefinition",name:{kind:"Name",value:"MetaobjectForImport"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"MetaobjectDefinition"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"type"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"description"}},{kind:"Field",name:{kind:"Name",value:"access"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"admin"}},{kind:"Field",name:{kind:"Name",value:"storefront"}}]}},{kind:"Field",name:{kind:"Name",value:"displayNameKey"}},{kind:"Field",name:{kind:"Name",value:"capabilities"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"publishable"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"enabled"}}]}},{kind:"Field",name:{kind:"Name",value:"translatable"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"enabled"}}]}},{kind:"Field",name:{kind:"Name",value:"renderable"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"enabled"}},{kind:"Field",name:{kind:"Name",value:"data"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"metaTitleKey"}},{kind:"Field",name:{kind:"Name",value:"metaDescriptionKey"}}]}}]}}]}},{kind:"Field",name:{kind:"Name",value:"fieldDefinitions"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"key"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"type"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"category"}},{kind:"Field",name:{kind:"Name",value:"name"}}]}},{kind:"Field",name:{kind:"Name",value:"description"}},{kind:"Field",name:{kind:"Name",value:"required"}},{kind:"Field",name:{kind:"Name",value:"validations"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"value"}}]}}]}}]}}]};var x=F(z(),1);var Q={article:"ARTICLE",blog:"BLOG",collection:"COLLECTION",company:"COMPANY",company_location:"COMPANY_LOCATION",location:"LOCATION",market:"MARKET",order:"ORDER",page:"PAGE",product:"PRODUCT",customer:"CUSTOMER",delivery_customization:"DELIVERY_CUSTOMIZATION",delivery_method:"DELIVERY_METHOD",delivery_option_generator:"DELIVERY_OPTION_GENERATOR",discount:"DISCOUNT",draft_order:"DRAFTORDER",fulfillment_constraint_rule:"FULFILLMENT_CONSTRAINT_RULE",gift_card_transaction:"GIFT_CARD_TRANSACTION",order_routing_location_rule:"ORDER_ROUTING_LOCATION_RULE",payment_customization:"PAYMENT_CUSTOMIZATION",selling_plan:"SELLING_PLAN",shop:"SHOP",validation:"VALIDATION",variant:"PRODUCTVARIANT",cart_transform:"CARTTRANSFORM"};async function $({query:e,session:i,toNodes:n,toVariables:t,performQuery:d=a=>P({query:e,session:i,variables:a,autoRateLimitRestore:!0})}){let a;try{let o=n(await d(t(a))),l=[];for(l.push(...o.nodes);o.pageInfo.hasNextPage;)a=o.pageInfo.endCursor,o=n(await d(t(a))),l.push(...o.nodes);return{status:"ok",items:l}}catch(o){if(o instanceof Error&&o.message.includes("ACCESS_DENIED"))return{status:"scope_error"};throw o}}function V(e,i){let n="";for(let t of e)n=(0,x.updateTomlValues)(n,t);return`# ${i}
|
|
2
2
|
${n}`}function Z(e,i){let n=i.map(oe).map(a=>{switch(a.status){case"ok":{let{typeName:o,patches:l}=a;return V(l,`type: $app:${o}`)}case"not_app_reserved":return null}}).filter(a=>a!==null),t=e.flatMap(({items:a,ownerType:o,graphQLOwner:l})=>a.map(r=>({result:de(r,o),graphQLOwner:l}))).map(({result:a,graphQLOwner:o})=>{switch(a.status){case"ok":{let{namespace:l,key:r,patches:N}=a;return V(N,`namespace: ${l==="app"?"$app":`$app:${l}`} key: ${r} owner_type: ${o}`)}case"not_app_reserved":return null}}).filter(a=>a!==null);return{tomlContent:[...n,...t].join(`
|
|
3
3
|
`),metafieldCount:t.length,metaobjectCount:n.length}}async function q(e){let i=await ae(e),n=i.storeFqdn,t=await ee(i),d=await ne(i);e.includeExistingDeclaredDefinitions||(t=ie(t,e.appConfiguration),d=te(d,e.appConfiguration));let{tomlContent:a,metafieldCount:o,metaobjectCount:l}=Z(t,d);X(o,l,n,a)}function X(e,i,n,t){A({headline:"Conversion to TOML complete.",body:["Converted",{warn:`${e} metafields`},"and",{warn:`${i} metaobjects`},"from",{warn:n},"into TOML, ready for you to copy."],orderedNextSteps:!0,nextSteps:["Review the suggested TOML carefully before applying.",["Missing sections? Make sure your app has the required access scopes to load metafields and metaobjects (e.g.",{command:"read_customers"},"to load customer metafields,",{command:"read_metaobject_definitions"},"to load metaobjects.)"],["Missing definitions? Only metafields and metaobjects that are app-reserved (using",{command:"$app"},") will be converted."],["When you're ready, add the generated TOML to your app's configuration file and test out changes with the",{command:"shopify app dev"},"command."]]}),ce(t)}async function ee(e){let i=[];return await T(Object.entries(Q).map(([n,t])=>({title:m`Loading ${p.green(n)} metafields`,task:async()=>{let d=await $({query:L,session:e,toNodes:a=>a.metafieldDefinitions,toVariables:a=>({ownerType:t,after:a})});i.push({metafields:d,ownerType:n,graphQLOwner:t})}}))),i.map(({metafields:n,ownerType:t,graphQLOwner:d})=>n.status==="ok"?{ownerType:t,items:n.items,graphQLOwner:d}:null).filter(n=>n!==null)}async function ne(e){let i=await k({title:m`Loading ${p.green("metaobjects")}`,task:async()=>$({query:w,session:e,toNodes:n=>n.metaobjectDefinitions,toVariables:n=>({after:n})})});return i.status==="ok"?i.items:[]}function ie(e,i){return e.map(n=>{let t=n.items.filter(d=>!K(i,[n.ownerType,"metafields",u(d.namespace)??"",d.key]));return t.length>0?{...n,items:t}:null}).filter(n=>n!==null)}function te(e,i){return e.filter(n=>!K(i,["metaobjects","app",u(n.type)??""]))}function K(e,i){let n=e;for(let t of i){if(!n[t])return!1;n=n[t]}return!0}async function ae(e){let{remoteApp:i,store:n}=e,t=i.apiSecretKeys[0]?.secret;if(!t)throw new D("No API secret keys found for app");return await _(n.shopDomain,i.apiKey,t)}function u(e){if(!e.match(/^app--\d+/))return null;let i="app";return e.match(/^app--\d+--/)&&(i=e.replace(/^app--\d+--/,"")),i}function de(e,i){let n=u(e.namespace);if(!n)return{status:"not_app_reserved"};let t=e.key,d=le(e),a=re(d,i,n,t);return{status:"ok",key:t,namespace:n,patches:a}}function oe(e){let i=u(e.type);if(!i)return{status:"not_app_reserved"};let n=se(e,i),t=me(n,i);return{status:"ok",typeName:i,patches:t}}function le(e){let i={name:e.name===e.key?void 0:e.name,type:e.type.name,description:e.description??void 0,capabilities:c({admin_filterable:e.capabilities.adminFilterable.enabled||void 0}),access:c({admin:H(e.access.admin),storefront:Y(e.access.storefront),customer_account:ue(e.access.customerAccount)}),validations:G(e.validations)},{type:n,validations:t}=U(i.type,i.validations);return i.type=n,i.validations=t,i}function se(e,i){return{name:e.name===i?void 0:e.name,description:e.description??void 0,display_name_field:e.displayNameKey??void 0,access:c({admin:H(e.access.admin),storefront:Y(e.access.storefront)}),capabilities:c({translatable:e.capabilities.translatable.enabled||void 0,publishable:e.capabilities.publishable.enabled||void 0,renderable:e.capabilities.renderable?.enabled||void 0,renderable_meta_title_field:e.capabilities.renderable?.data?.metaTitleKey??void 0,renderable_meta_description_field:e.capabilities.renderable?.data?.metaDescriptionKey??void 0}),fields:Object.fromEntries(e.fieldDefinitions.map(n=>{let t={type:n.type.name,description:n.description??void 0,name:n.name===n.key?void 0:n.name,required:n.required||void 0,validations:G(n.validations)},{type:d,validations:a}=U(t.type,t.validations);return t.type=d,t.validations=a,[n.key,t]}))}}function U(e,i){if(!i)return{type:e,validations:void 0};if(i.metaobject_definition_type&&typeof i.metaobject_definition_type=="string"){let n=u(i.metaobject_definition_type);return{type:`${e}<$app:${n}>`,validations:c({...i,metaobject_definition_type:void 0})}}if(i.metaobject_definition_types&&Array.isArray(i.metaobject_definition_types)&&i.metaobject_definition_types.every(n=>typeof n=="string")){let n=i.metaobject_definition_types.map(t=>u(t));return{type:`${e}<${n.map(t=>`$app:${t}`).join(",")}>`,validations:c({...i,metaobject_definition_types:void 0})}}return{type:e,validations:i}}function G(e){let i=n=>{try{return JSON.parse(n)}catch{return n}};return c(Object.fromEntries(e.filter(n=>n.value!==void 0&&n.name!=="metaobject_definition_id"&&n.name!=="metaobject_definition_ids").map(n=>[n.name,n.value?i(n.value):void 0])))}function re(e,i,n,t){let d=[[[i,"metafields",n,t,"name"],e.name],[[i,"metafields",n,t,"type"],e.type],[[i,"metafields",n,t,"description"],e.description]],a=[[[i,"metafields",n,t,"access","admin"],e.access?.admin],[[i,"metafields",n,t,"access","storefront"],e.access?.storefront],[[i,"metafields",n,t,"access","customer_account"],e.access?.customer_account],[[i,"metafields",n,t,"capabilities","admin_filterable"],e.capabilities?.admin_filterable||void 0]];return e.validations&&B(e.validations).forEach(({validationKey:l,actualValue:r})=>{d.push([[i,"metafields",n,t,"validations",l],r])}),[v(d),v(a)]}function me(e,i){let n=[[["metaobjects","app",i,"name"],e.name===i?void 0:e.name],[["metaobjects","app",i,"description"],e.description],[["metaobjects","app",i,"display_name_field"],e.display_name_field]],t=[[["metaobjects","app",i,"access","admin"],e.access?.admin],[["metaobjects","app",i,"access","storefront"],e.access?.storefront]];return e.capabilities?.translatable&&t.push([["metaobjects","app",i,"capabilities","translatable"],!0]),e.capabilities?.publishable&&t.push([["metaobjects","app",i,"capabilities","publishable"],!0]),e.capabilities?.renderable&&(t.push([["metaobjects","app",i,"capabilities","renderable"],!0]),e.capabilities?.renderable_meta_title_field&&t.push([["metaobjects","app",i,"capabilities","renderable_meta_title_field"],e.capabilities.renderable_meta_title_field]),e.capabilities?.renderable_meta_description_field&&t.push([["metaobjects","app",i,"capabilities","renderable_meta_description_field"],e.capabilities.renderable_meta_description_field])),Object.entries(e.fields).forEach(([d,a])=>{if(typeof a=="string")n.push([["metaobjects","app",i,"fields",d],a]);else{let o=Object.fromEntries(Object.entries(a).filter(([l,r])=>r!==void 0));Object.keys(o).length===1?n.push([["metaobjects","app",i,"fields",d],a.type]):(n.push([["metaobjects","app",i,"fields",d,"type"],a.type]),n.push([["metaobjects","app",i,"fields",d,"description"],a.description]),n.push([["metaobjects","app",i,"fields",d,"name"],a.name]),n.push([["metaobjects","app",i,"fields",d,"required"],a.required||void 0]),a.validations&&B(a.validations).forEach(({validationKey:r,actualValue:N})=>{n.push([["metaobjects","app",i,"fields",d,"validations",r],N])}))}}),[v(n),v(t)]}function B(e){return Object.entries(e).map(([i,n])=>{let t;return typeof n=="string"||typeof n=="number"||typeof n=="boolean"||Array.isArray(n)&&n.every(d=>typeof d=="string")?t=n:t=JSON.stringify(n),{validationKey:i,actualValue:t}})}function ce(e){let i=e.split(`
|
|
4
4
|
`);for(let n of i)n.match(/^\s*\[/)?f(m`${p.green(n)}`):n.match(/^\s*#/)?f(m`${p.gray(n)}`):f(m`${n}`)}function H(e){switch(e){case"MERCHANT_READ_WRITE":return"merchant_read_write";case"MERCHANT_READ":case"PRIVATE":case"PUBLIC_READ":case"PUBLIC_READ_WRITE":case null:case void 0:return}}function Y(e){switch(e){case"PUBLIC_READ":return"public_read";case"NONE":case null:case void 0:return}}function ue(e){switch(e){case"READ":return"read";case"READ_WRITE":return"read_write";case"NONE":case null:case void 0:return}}function c(e){if(e&&!h(e)&&!(typeof e=="object"&&Object.values(e).every(i=>i===void 0)))return e}function v(e){return e.filter(([i,n])=>n!==void 0)}var b=F(W(),1);var S=class e extends E{static summary="Import metafield and metaobject definitions.";static descriptionWithMarkdown="Import metafield and metaobject definitions from your development store. [Read more about declarative custom data definitions](https://shopify.dev/docs/apps/build/custom-data/declarative-custom-data-definitions).";static description=this.descriptionForHelp();static flags={...R,...I,store:b.Flags.string({char:"s",description:"Store URL. Must be an existing development or Shopify Plus sandbox store.",env:"SHOPIFY_FLAG_STORE",parse:async i=>y(i)}),"include-existing":b.Flags.boolean({description:"Include existing declared definitions in the output.",default:!1,env:"SHOPIFY_FLAG_INCLUDE_EXISTING"})};async run(){let{appContextResult:i,...n}=await k({title:m`Loading application`,task:async()=>{let{flags:t}=await this.parse(e);await C(t.path);let d=await j({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),a=await M({appContextResult:d,storeFqdn:t.store,forceReselectStore:t.reset});return{appContextResult:d,appConfiguration:d.app.configuration,remoteApp:d.remoteApp,store:a,includeExistingDeclaredDefinitions:t["include-existing"]}}});return await q(n),{app:i.app}}};export{S as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as u,c as d}from"./chunk-
|
|
1
|
+
import{b as u,c as d}from"./chunk-IQ4VOPT7.js";import{a as c}from"./chunk-A6OSIGQI.js";import{a as e}from"./chunk-RFDOSK57.js";import{Ia as n,e as p}from"./chunk-AKSOCKVF.js";import{b as i}from"./chunk-2KBTFKSM.js";import{z as s}from"./chunk-KCHERKZO.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();var r=class f extends c{static summary="Generate GraphQL types for a function.";static descriptionWithMarkdown="Creates GraphQL types based on your [input query](https://shopify.dev/docs/apps/functions/input-output#input) for a function. Supports JavaScript functions out of the box, or any language via the `build.typegen_command` configuration.";static description=this.descriptionForHelp();static flags={...i,...e,...u};async run(){let{flags:t}=await this.parse(f),{app:o}=await n({directory:t.path,userProvidedConfigName:t.config}),m=await d(o,t.path);return await p(m,{stdout:process.stdout,stderr:process.stderr,app:o}),s({headline:"GraphQL types generated successfully."}),{app:o}}};export{r as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as Mc,e as jc,f as Bc}from"./chunk-
|
|
1
|
+
import{a as Mc,e as jc,f as Bc}from"./chunk-5I5HKOQU.js";import{a as $c}from"./chunk-I4FS7HYY.js";import{c as Rc,i as Lc,o as hy}from"./chunk-YLQ3LNNY.js";import{b as fn}from"./chunk-CUZQRXTV.js";import{J as wc,L as Ec,M as bc,ba as Dc,fa as Cc,l as xc,u as cn}from"./chunk-VWYZCCRE.js";import{B as kc,D as Tc,l as Ac,m as _c,p as Fc,x as po}from"./chunk-NTFIW3VK.js";import{A as Xe,C as ln,D as tt,E as rt,H as Ic,J as Sr,v as Be,y as mt,z as Cr}from"./chunk-KCHERKZO.js";import{a as ly}from"./chunk-TH4D7IGZ.js";import{i as I,l as hn}from"./chunk-XUJURYN5.js";import{Aa as on,Ab as Pc,Ca as an,Cb as gt,Db as Nc,Eb as Ar,Ga as fo,Ia as un,Kb as it,Nb as me,X as fc,Xa as U,_ as dc,_a as yc,aa as pc,ca as mc,db as vc,ma as uy,qa as X,ta as Dr,tb as Sc,ya as V,yb as Oc}from"./chunk-COFGQT76.js";import{i as W}from"./chunk-B4OMIONW.js";import{a as cy,b as gc}from"./chunk-LD6ZCTZ3.js";import{d as N,f as J,g as kt,i as le,j as Tt,k as sn,n as hc}from"./chunk-3VYOLEQE.js";import{a as uc,c as cc,d as uo,e as br,f as ey,g as co,h as ty,i as ry,j as lc,k as lo,m as sy,n as ho,p as oy,u as ay}from"./chunk-TR4OWSEX.js";import{b as Z0,c as et}from"./chunk-ZGASBRSQ.js";import{b as Q0}from"./chunk-I5A6BPCP.js";import{a as ny}from"./chunk-ET2CGROE.js";import{c as iy}from"./chunk-TOLPNBZK.js";import{a as F,c as E,e as nn,g as y}from"./chunk-VKWPEFWQ.js";var Ot=E(mo=>{"use strict";y();Object.defineProperty(mo,"__esModule",{value:!0});var py=e=>{process.stdout.write(e)},my=e=>{process.stderr.write(e)};mo.default={stderr:my,stdout:py}});var yt=E(Ce=>{"use strict";y();Object.defineProperty(Ce,"__esModule",{value:!0});Ce.existsSync=Ce.safeReadJson=Ce.readJsonSync=Ce.readJson=Ce.fileExists=Ce.dirExists=void 0;var zc=F("node:fs"),go=F("node:fs/promises"),gy=async e=>{let t;try{t=await(0,go.stat)(e)}catch{throw new Error(`No directory found at ${e}`)}if(!t.isDirectory())throw new Error(`${e} exists but is not a directory`);return e};Ce.dirExists=gy;var yy=async e=>{let t;try{t=await(0,go.stat)(e)}catch{throw new Error(`No file found at ${e}`)}if(!t.isFile())throw new Error(`${e} exists but is not a file`);return e};Ce.fileExists=yy;async function Jc(e){let t=await(0,go.readFile)(e,"utf8");return JSON.parse(t)}Ce.readJson=Jc;function vy(e,t=!0){let r=(0,zc.readFileSync)(e,"utf8");return t?JSON.parse(r):r}Ce.readJsonSync=vy;async function xy(e){try{return await Jc(e)}catch{}}Ce.safeReadJson=xy;function wy(e){return(0,zc.existsSync)(e)}Ce.existsSync=wy});var oe=E(q=>{"use strict";y();Object.defineProperty(q,"__esModule",{value:!0});q.mergeNestedObjects=q.mapValues=q.uniq=q.isNotFalsy=q.isTruthy=q.capitalize=q.sumBy=q.maxBy=q.isProd=q.castArray=q.sortBy=q.last=q.uniqBy=q.compact=q.pickBy=void 0;function Ey(e,t){return Object.entries(e).reduce((r,[i,n])=>(t(n)&&(r[i]=n),r),{})}q.pickBy=Ey;function by(e){return e.filter(t=>!!t)}q.compact=by;function Dy(e,t){return e.filter((r,i)=>{let n=t(r);return!e.some((o,s)=>s>i&&t(o)===n)})}q.uniqBy=Dy;function Cy(e){if(e)return e.at(-1)}q.last=Cy;function yo(e,t){if(e=e===void 0?0:e,t=t===void 0?0:t,Array.isArray(e)&&Array.isArray(t)){if(e.length===0&&t.length===0)return 0;let r=yo(e[0],t[0]);return r!==0?r:yo(e.slice(1),t.slice(1))}return e<t?-1:e>t?1:0}function Sy(e,t){return e.sort((r,i)=>yo(t(r),t(i)))}q.sortBy=Sy;function Ay(e){return e===void 0?[]:Array.isArray(e)?e:[e]}q.castArray=Ay;function _y(){return!["development","test"].includes(process.env.NODE_ENV??"")}q.isProd=_y;function Fy(e,t){if(e.length!==0)return e.reduce((r,i)=>{let n=t(i),o=t(r);return n>o?i:r})}q.maxBy=Fy;function ky(e,t){return e.reduce((r,i)=>r+t(i),0)}q.sumBy=ky;function Ty(e){return e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():""}q.capitalize=Ty;function Oy(e){return["1","true","y","yes"].includes(e.toLowerCase())}q.isTruthy=Oy;function Py(e){return!["0","false","n","no"].includes(e.toLowerCase())}q.isNotFalsy=Py;function Iy(e){return[...new Set(e)].sort()}q.uniq=Iy;function Ny(e,t){return Object.entries(e).reduce((r,[i,n])=>(r[i]=t(n,i),r),{})}q.mapValues=Ny;function My(e,t){return t.split(".").reduce((r,i)=>r?.[i],e)}function jy(e,t){return Object.fromEntries(e.flatMap(r=>Object.entries(My(r,t)??{})).reverse())}q.mergeNestedObjects=jy});var Gc=E(ge=>{"use strict";y();Object.defineProperty(ge,"__esModule",{value:!0});ge.string=ge.url=ge.file=ge.directory=ge.integer=ge.boolean=ge.custom=void 0;var By=F("node:url"),Wc=yt(),Ry=oe();function Vt(e){return(t={})=>({parse:async(r,i,n)=>r,...e,...t,input:[],type:"option"})}ge.custom=Vt;ge.boolean=Vt({parse:async e=>!!e&&(0,Ry.isNotFalsy)(e)});ge.integer=Vt({async parse(e,t,r){if(!/^-?\d+$/.test(e))throw new Error(`Expected an integer but received: ${e}`);let i=Number.parseInt(e,10);if(r.min!==void 0&&i<r.min)throw new Error(`Expected an integer greater than or equal to ${r.min} but received: ${e}`);if(r.max!==void 0&&i>r.max)throw new Error(`Expected an integer less than or equal to ${r.max} but received: ${e}`);return i}});ge.directory=Vt({async parse(e,t,r){return r.exists?(0,Wc.dirExists)(e):e}});ge.file=Vt({async parse(e,t,r){return r.exists?(0,Wc.fileExists)(e):e}});ge.url=Vt({async parse(e){try{return new By.URL(e)}catch{throw new Error(`Expected a valid url but received: ${e}`)}}});var Ly=Vt({});ge.string=Ly});var Xc=E((sT,$y)=>{$y.exports={name:"@oclif/core",description:"base library for oclif CLIs",version:"3.26.5",author:"Salesforce",bugs:"https://github.com/oclif/core/issues",dependencies:{"@types/cli-progress":"^3.11.5","ansi-escapes":"^4.3.2","ansi-styles":"^4.3.0",cardinal:"^2.1.1",chalk:"^4.1.2","clean-stack":"^3.0.1","cli-progress":"^3.12.0",color:"^4.2.3",debug:"^4.3.4",ejs:"^3.1.10","get-package-type":"^0.1.0",globby:"^11.1.0",hyperlinker:"^1.0.0","indent-string":"^4.0.0","is-wsl":"^2.2.0","js-yaml":"^3.14.1",minimatch:"^9.0.4","natural-orderby":"^2.0.3","object-treeify":"^1.1.33","password-prompt":"^1.1.3","slice-ansi":"^4.0.0","string-width":"^4.2.3","strip-ansi":"^6.0.1","supports-color":"^8.1.1","supports-hyperlinks":"^2.2.0","widest-line":"^3.1.0",wordwrap:"^1.0.0","wrap-ansi":"^7.0.0"},devDependencies:{"@commitlint/config-conventional":"^17.8.1","@oclif/plugin-help":"^6","@oclif/plugin-plugins":"^4","@oclif/prettier-config":"^0.2.1","@oclif/test":"^3.2.11","@types/ansi-styles":"^3.2.1","@types/benchmark":"^2.1.5","@types/chai":"^4.3.11","@types/chai-as-promised":"^7.1.8","@types/clean-stack":"^2.1.1","@types/color":"^3.0.6","@types/debug":"^4.1.10","@types/ejs":"^3.1.5","@types/indent-string":"^4.0.1","@types/js-yaml":"^3.12.7","@types/mocha":"^10.0.6","@types/node":"^18","@types/node-notifier":"^8.0.5","@types/pnpapi":"^0.0.5","@types/slice-ansi":"^4.0.0","@types/strip-ansi":"^5.2.1","@types/supports-color":"^8.1.1","@types/wordwrap":"^1.0.3","@types/wrap-ansi":"^3.0.0",benchmark:"^2.1.4",chai:"^4.4.1","chai-as-promised":"^7.1.1",commitlint:"^17.8.1","cross-env":"^7.0.3",eslint:"^8.57.0","eslint-config-oclif":"^5.1.3","eslint-config-oclif-typescript":"^3.1.6","eslint-config-prettier":"^9.1.0","fancy-test":"^3.0.14",globby:"^11.1.0",husky:"^8","lint-staged":"^14.0.1",madge:"^6.1.0",mocha:"^10.4.0",nyc:"^15.1.0",prettier:"^3.2.5",shx:"^0.3.4",sinon:"^16.1.3","ts-node":"^10.9.2",tsd:"^0.31.0",typescript:"^5"},engines:{node:">=18.0.0"},files:["/lib","/flush.js","/flush.d.ts","/handle.js"],homepage:"https://github.com/oclif/core",keywords:["oclif","cli","command","command line","parser","args","argv"],license:"MIT",main:"./lib/index.js",repository:"oclif/core",oclif:{bin:"oclif",devPlugins:["@oclif/plugin-help","@oclif/plugin-plugins"]},publishConfig:{access:"public"},scripts:{build:"shx rm -rf lib && tsc",commitlint:"commitlint",compile:"tsc",format:'prettier --write "+(src|test)/**/*.+(ts|js|json)"',lint:"eslint . --ext .ts",posttest:"yarn lint && yarn test:circular-deps",prepack:"yarn run build",prepare:"husky install",pretest:"yarn build && tsc -p test --noEmit --skipLibCheck","test:circular-deps":"madge lib/ -c","test:debug":'nyc mocha --debug-brk --inspect "test/**/*.test.ts"',"test:integration":'mocha --forbid-only "test/**/*.integration.ts" --parallel --timeout 1200000',"test:interoperability":"cross-env DEBUG=integration:* ts-node test/integration/interop.ts","test:perf":"ts-node test/perf/parser.perf.ts",test:'nyc mocha --forbid-only "test/**/*.test.ts"'},types:"lib/index.d.ts"}});var Ve=E(xo=>{"use strict";y();Object.defineProperty(xo,"__esModule",{value:!0});var qy=F("node:fs"),Uy=F("node:path"),vo=class e extends Map{static instance;constructor(){super(),this.set("@oclif/core",this.getOclifCoreMeta())}static getInstance(){return e.instance||(e.instance=new e),e.instance}get(t){return super.get(t)}getOclifCoreMeta(){try{return{name:"@oclif/core",version:Xc().version}}catch{try{return{name:"@oclif/core",version:JSON.parse((0,qy.readFileSync)((0,Uy.join)(__dirname,"..","package.json"),"utf8"))}}catch{return{name:"@oclif/core",version:"unknown"}}}}};xo.default=vo});var Pt=E(dn=>{"use strict";y();Object.defineProperty(dn,"__esModule",{value:!0});dn.settings=void 0;global.oclif||(global.oclif={});dn.settings=global.oclif});var Yt=E(_r=>{"use strict";y();Object.defineProperty(_r,"__esModule",{value:!0});_r.errtermwidth=_r.stdtermwidth=void 0;var Hy=Pt();function Vc(e){if(!e.isTTY)return 80;let t=e.getWindowSize()[0];return t<1?80:t<40?40:t}var Yc=Number.parseInt(process.env.OCLIF_COLUMNS,10)||Hy.settings.columns;_r.stdtermwidth=Yc||Vc(process.stdout);_r.errtermwidth=Yc||Vc(process.stderr)});var bo=E(pn=>{"use strict";y();Object.defineProperty(pn,"__esModule",{value:!0});pn.Logger=void 0;var Kc=F("node:fs/promises"),zy=F("node:path"),Jy=br(),Wy=()=>new Date().toISOString(),wo,Gy=e=>new Promise(t=>{wo&&wo.unref(),wo=setTimeout(()=>t(null),e)});function Xy(e){return e.endsWith(`
|
|
2
2
|
`)?e.replace(/\n$/,""):e}var Eo=class{file;buffer=[];flushing=Promise.resolve();constructor(t){this.file=t}async flush(t=0){await Gy(t),this.flushing=this.flushing.then(async()=>{if(this.buffer.length===0)return;let r=this.buffer;this.buffer=[],await(0,Kc.mkdir)((0,zy.dirname)(this.file),{recursive:!0}),await(0,Kc.appendFile)(this.file,r.join(`
|
|
3
3
|
`)+`
|
|
4
4
|
`)}),await this.flushing}log(t){t=Jy(Xy(t));let r=t.split(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D as h,E as e,F as r,J as o,K as s,n}from"./chunk-
|
|
1
|
+
import{D as h,E as e,F as r,J as o,K as s,n}from"./chunk-KCHERKZO.js";import{g as i}from"./chunk-VKWPEFWQ.js";i();async function y(){await h({message:"Associate your project with the org Castile Ventures?",choices:[{label:"first",value:"first",disabled:!0},{label:"second",value:"second"},{label:"third (limit reached)",value:"third",disabled:!0},{label:"fourth (limit reached)",value:"fourth",disabled:!0},{label:"fifth",value:"fifth",group:"Automations",disabled:!0},{label:"sixth",value:"sixth",group:"Automations"},{label:"seventh",value:"seventh"},{label:"eighth (limit reached)",value:"eighth",group:"Merchant Admin",disabled:!0},{label:"ninth",value:"ninth",group:"Merchant Admin"},{label:"tenth",value:"tenth"}],infoTable:[{header:"add",items:["new-ext"],bullet:"+"},{header:"remove",items:["integrated-demand-ext","order-discount"],bullet:"-"}]}),await o({message:"App project name (can be changed later)",defaultValue:"expansive commerce app",validate:t=>{if(t.includes("shopify"))return`Can't include "shopify" in the name`}});let l=[{label:"first",value:"first"},{label:"second",value:"second"},{label:"third",value:"third"},{label:"fourth",value:"fourth"},{label:"fifth",value:"fifth"},{label:"sixth",value:"sixth"},{label:"seventh",value:"seventh"},{label:"eighth",value:"eighth"},{label:"ninth",value:"ninth"},{label:"tenth",value:"tenth"},{label:"eleventh",value:"eleventh"},{label:"twelfth",value:"twelfth"},{label:"thirteenth",value:"thirteenth"},{label:"fourteenth",value:"fourteenth"},{label:"fifteenth",value:"fifteenth"},{label:"sixteenth",value:"sixteenth"},{label:"seventeenth",value:"seventeenth"},{label:"eighteenth",value:"eighteenth"},{label:"nineteenth",value:"nineteenth"},{label:"twentieth",value:"twentieth"},{label:"twenty-first",value:"twenty-first"},{label:"twenty-second",value:"twenty-second"},{label:"twenty-third",value:"twenty-third"},{label:"twenty-fourth",value:"twenty-fourth"},{label:"twenty-fifth",value:"twenty-fifth"},{label:"twenty-sixth",value:"twenty-sixth"},{label:"twenty-seventh",value:"twenty-seventh"},{label:"twenty-eighth",value:"twenty-eighth"},{label:"twenty-ninth",value:"twenty-ninth"},{label:"thirtieth",value:"thirtieth"},{label:"thirty-first",value:"thirty-first"},{label:"thirty-second",value:"thirty-second"},{label:"thirty-third",value:"thirty-third"},{label:"thirty-fourth",value:"thirty-fourth"},{label:"thirty-fifth",value:"thirty-fifth"},{label:"thirty-sixth",value:"thirty-sixth"},{label:"thirty-seventh",value:"thirty-seventh"},{label:"thirty-eighth",value:"thirty-eighth"},{label:"thirty-ninth",value:"thirty-ninth"},{label:"fortieth",value:"fortieth"},{label:"forty-first",value:"forty-first"},{label:"forty-second",value:"forty-second"},{label:"forty-third",value:"forty-third"},{label:"forty-fourth",value:"forty-fourth"},{label:"forty-fifth",value:"forty-fifth"},{label:"forty-sixth",value:"forty-sixth"},{label:"forty-seventh",value:"forty-seventh"},{label:"forty-eighth",value:"forty-eighth"},{label:"forty-ninth",value:"forty-ninth"},{label:"fiftieth",value:"fiftieth"}];await r({message:"Template",choices:l,search(t){return Promise.resolve({data:l.filter(f=>f.label.includes(t))})}});let a=[["first theme",{subdued:"(#1)"}],["second theme",{subdued:"(#2)"}]];await e({message:"Add the following themes to the store?",infoTable:{"":a},confirmationMessage:"Yes, add them",cancellationMessage:"Cancel"});let u={title:{color:"red",text:`${n.warning} This can't be undone.`},body:"The action you are executing should be confirmed to proceed."};await e({message:"Delete the following themes from the store?",infoTable:{"":a},infoMessage:u,confirmationMessage:"Yes, delete them",cancellationMessage:"Cancel",defaultValue:!1}),await e({message:["Make the following changes to your",{filePath:".env"},"file?"],defaultValue:!0,confirmationMessage:"Yes, confirm changes",cancellationMessage:"No, make changes later"}),await s({message:"Release this version of Mega App?",infoTable:[{header:"Includes",items:["My subscription extension","Order discount function","Subscription cancelled trigger","Add subscription action"],bullet:"+"},{header:"Removes",items:["product-discount-function","product-subscription-extension"],bullet:"-"}],confirmation:"Mega App"})}export{y as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as h}from"./chunk-
|
|
1
|
+
import{b as h}from"./chunk-CUZQRXTV.js";import{Aa as c,Ga as g,ya as u}from"./chunk-COFGQT76.js";import{d as f,q as p}from"./chunk-3VYOLEQE.js";import{g as l}from"./chunk-VKWPEFWQ.js";l();var d=f(p(),"/docs-shopify.dev/commands"),m=class extends h{static description="Generate CLI commands documentation";static hidden=!0;async run(){let a=this.config.commands;await g(d),await c(d);let o=a.sort((e,i)=>e.id.length-i.id.length).filter(e=>!b(e)).map(e=>{let i=k(e);return N(e,i)});await Promise.all(o)}},C=["commands","help","plugins"];function b(t){return t.hidden?(C.push(t.id),!0):t.pluginType==="user"?!0:C.some(a=>t.id.startsWith(`${a}:`))}function k(t){let a=t.id.replace(/[:]/g," "),s=t.id.replace(/[:]/g,"-"),o=t.id.replace(/[:-]/g,"");return{commandName:a,fileName:s,interfaceName:o}}async function N(t,{commandName:a,fileName:s,interfaceName:o}){let e=Object.keys(t.flags).map(r=>{let n=t.flags[r];if(!n||n.hidden)return;let $=n.description??"",w=n.char?`-${n.char}, `:"",y=n.type==="option"?"string":"''",v=n.type==="option"?" <value>":"",x=n.required?"":"?",D=n.env!==void 0?` @environment ${n.env}`:"";return` /**
|
|
2
2
|
* ${$}
|
|
3
3
|
*${D}
|
|
4
4
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as w}from"./chunk-
|
|
1
|
+
import{a as w}from"./chunk-NZRQKFUB.js";import{a as u}from"./chunk-LIB64ZJW.js";import{a as v,b as f}from"./chunk-YY6TFARF.js";import{a as y}from"./chunk-P6ID3ULA.js";import{p as d,v as c}from"./chunk-2AZXDU2R.js";import{b as p}from"./chunk-2KBTFKSM.js";import{N as m,y as s}from"./chunk-KCHERKZO.js";import{b as E}from"./chunk-JA2QZ635.js";import{e as T,g as i}from"./chunk-VKWPEFWQ.js";i();i();async function F(t,e){let r=new u(t),g=(await(e.development?r.find():r.fetch()))?.id,n=await y(t,{header:"Select a theme to open",filter:{live:e.live,theme:e.development?`${g}`:e.theme}}),l=v(n,t),a=f(n,t);s({body:["Preview information for theme",...w(n),`
|
|
2
2
|
|
|
3
3
|
`,{list:{items:[{link:{label:"Preview your theme",url:l}},{link:{label:"Customize your theme at the theme editor",url:a}}]}}]}),e.editor?await m(a):await m(l)}var o=T(E(),1);var h=class extends c{static summary="Opens the preview of your remote theme.";static descriptionWithMarkdown=`Returns links that let you preview the specified theme. The following links are returned:
|
|
4
4
|
|
|
@@ -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-NSHKVJST.js";import{l as h}from"./chunk-XUJURYN5.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 u,b as l}from"./chunk-
|
|
1
|
+
import{a as u,b as l}from"./chunk-WGBUSO27.js";import{f as d,i as m}from"./chunk-2AAHKMPP.js";import{a as c}from"./chunk-MINDMVTH.js";import{Ha as p}from"./chunk-AKSOCKVF.js";import{i as s}from"./chunk-XUJURYN5.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();e();async function f({clientId:a,operationIds:t,getOperation:n=m}){return Promise.all(t.map(async i=>{let o=await n({clientId:a,operationId:i});if(!o)throw new s(`Migration operation not found: ${i}`);return o}))}var r=class a extends c{static summary="Checks the status of app subscription migration operations.";static descriptionWithMarkdown="Checks app subscription migration operation status.\n\nRepeat `--id` for every operation GID returned by a multi-batch submission. With `--watch`, the command displays the current state while polling and outputs the final state after all requested operations reach a terminal status.\n\n`RUNNING` means an operation is still processing. `COMPLETED` means processing finished, but you must inspect the per-shop results to confirm each outcome. `FAILED` means the operation failed, and `CANCELED` means cancellation stopped further processing.\n\nUse `--json` to output every operation and its per-shop results as structured JSON.\n\nRun the command from an app project. By default, it uses the Client ID from the active app configuration. Use `--path` to select an app directory or `--config` to select a configuration. Pass `--client-id` to select a different app within the project. Use `--reset` to relink the app.";static description=this.descriptionWithoutMarkdown();static examples=["<%= config.bin %> <%= command.id %> --id <operation-id>","<%= config.bin %> <%= command.id %> --path ../my-app --config staging --id <operation-id-1> --id <operation-id-2> --watch","<%= config.bin %> <%= command.id %> --client-id <client-id> --id <operation-id> --json"];static flags={...d};async run(){let{flags:t}=await this.parse(a),{app:n,remoteApp:i}=await p({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),o=t.watch?await l({clientId:i.apiKey,operationIds:t.id}):await f({clientId:i.apiKey,operationIds:t.id});return u(o,t.json),{app:n}}};export{r as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as f}from"./chunk-
|
|
1
|
+
import{a as f}from"./chunk-STLYSBD5.js";import{a as h}from"./chunk-MINDMVTH.js";import{a as c}from"./chunk-RFDOSK57.js";import{Ha as m}from"./chunk-AKSOCKVF.js";import{b as l}from"./chunk-2KBTFKSM.js";import{u as a}from"./chunk-VWYZCCRE.js";import{z as p}from"./chunk-KCHERKZO.js";import{i as d}from"./chunk-XUJURYN5.js";import{b as C}from"./chunk-JA2QZ635.js";import{e as g,g as s}from"./chunk-VKWPEFWQ.js";s();s();async function v(t){let e=t.appContextResult.developerPlatformClient,o=t.appContextResult.remoteApp,r=await e.devSessionDelete({shopFqdn:t.store.shopDomain,appId:o.id});if(r.devSessionDelete?.userErrors.length){let u=r.devSessionDelete.userErrors.map(w=>w.message).join(`
|
|
2
2
|
`);throw new d(`Failed to stop the dev preview: ${u}`)}p({headline:"Dev preview stopped.",body:[`The dev preview has been stopped on ${t.store.shopDomain} and the app's active version has been restored.`,"You can start it again with",{command:"shopify app dev"}]})}var i=g(C(),1);var n=class t extends h{static summary="Cleans up the dev preview from the selected store.";static descriptionWithMarkdown=`Stop the dev preview that was started with \`shopify app dev\`.
|
|
3
3
|
|
|
4
4
|
It restores the app's active version to the selected development store.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b}from"./chunk-
|
|
1
|
+
import{b}from"./chunk-VL3XMULV.js";import{j as c,l as f,o as T}from"./chunk-3UZYLXCB.js";import{a as F}from"./chunk-P6ID3ULA.js";import{p as y,v as O}from"./chunk-2AZXDU2R.js";import{b as I}from"./chunk-2KBTFKSM.js";import{k as v,oa as w}from"./chunk-VWYZCCRE.js";import{z as S}from"./chunk-KCHERKZO.js";import{i as a}from"./chunk-XUJURYN5.js";import{Kb as _,Ya as l,qa as u}from"./chunk-COFGQT76.js";import{b as A}from"./chunk-JA2QZ635.js";import{e as x,g as d}from"./chunk-VKWPEFWQ.js";d();d();d();async function P({session:e,overridesContent:r,themeId:t}){w("theme-preview:create");let m=`${f(e)}/theme_preview.json?preview_theme_id=${t}`,o=await c(e,{headers:{"Content-Type":"application/json"}}),i=await v(m,{method:"POST",body:r,headers:o});if(!i.ok)throw new a(`Theme preview request failed with status ${i.status}: ${i.statusText}`);let n=await J(i);return w("theme-preview:create"),n}async function g({session:e,overridesContent:r,themeId:t,previewIdentifier:s}){w("theme-preview:update");let o=`${f(e)}/theme_preview.json?preview_theme_id=${t}&preview_identifier=${encodeURIComponent(s)}`,i=await c(e,{headers:{"Content-Type":"application/json"}}),n=await v(o,{method:"POST",body:r,headers:i});if(!n.ok)throw new a(`Theme preview request failed with status ${n.status}: ${n.statusText}`);let E=await J(n);return w("theme-preview:update"),E}async function J(e){let r=await e.json();if(r.error)throw new a(`Theme preview failed: ${r.error}`);if(!r.url||!r.preview_identifier)throw new a("Theme preview returned an unexpected response");return{url:r.url,preview_identifier:r.preview_identifier}}async function $(e){if(!l(e.overrideJson))throw new a(`Override file not found: ${e.overrideJson}`);let r=await u(e.overrideJson),t;try{t=JSON.parse(r)}catch(i){let n=i instanceof Error?i.message:String(i);throw new a(`Failed to parse override file: ${e.overrideJson}`,n)}let s=await T(e.themeId,e.adminSession,e.password),m=JSON.stringify(t),o=e.previewIdentifier?await g({session:s,overridesContent:m,themeId:e.themeId,previewIdentifier:e.previewIdentifier}):await P({session:s,overridesContent:m,themeId:e.themeId});e.json?_(JSON.stringify({url:o.url,preview_identifier:o.preview_identifier})):S({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 p=x(A(),1);var h=class extends O{static summary="Applies JSON overrides to a theme and returns a preview URL.";static 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.";static description=this.descriptionForHelp();static flags={...I,...y,theme:p.Flags.string({char:"t",description:"Theme ID or name of the remote theme.",env:"SHOPIFY_FLAG_THEME_ID",required:!0}),overrides:p.Flags.string({description:"Path to a JSON overrides file.",env:"SHOPIFY_FLAG_OVERRIDES",required:!0}),"preview-id":p.Flags.string({description:"An existing preview identifier to update instead of creating a new preview.",env:"SHOPIFY_FLAG_PREVIEW_ID"}),open:p.Flags.boolean({description:"Automatically launch the theme preview in your default web browser.",env:"SHOPIFY_FLAG_OPEN",default:!1}),json:p.Flags.boolean({description:"Output the preview URL and identifier as JSON.",env:"SHOPIFY_FLAG_JSON",default:!1})};static multiEnvironmentsFlags=null;async command(r,t){let s=await F(t,{filter:{theme:r.theme}});await $({adminSession:t,overrideJson:r.overrides,themeId:s.id.toString(),previewIdentifier:r["preview-id"],open:r.open,password:r.password,json:r.json})}};export{h as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as i,i as t}from"./chunk-
|
|
1
|
+
import{h as i,i as t}from"./chunk-XUJURYN5.js";import{g as n}from"./chunk-VKWPEFWQ.js";n();var o=e=>new a(e),s=e=>new u(e),a=class{value;constructor(r){this.value=r}isErr(){return!1}doOnOk(r){return r(this.value),o(this.value)}valueOrBug(){return this.value}valueOrAbort(){return this.value}map(r){return o(r(this.value))}mapError(r){return o(this.value)}},u=class{error;constructor(r){this.error=r}isErr(){return!0}doOnOk(r){return s(this.error)}valueOrBug(){throw this.error}valueOrAbort(){if(this.error instanceof i)throw this.error;if(this.error instanceof Error){let r=new t(this.error.message);throw r.stack=this.error.stack,r}else throw new t(`${this.error}`)}map(r){return s(this.error)}mapError(r){return s(r(this.error))}};export{o as a,s as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p,v as d}from"./chunk-
|
|
1
|
+
import{p,v as d}from"./chunk-2AZXDU2R.js";import{a as u}from"./chunk-SMZ74TME.js";import{aa as w}from"./chunk-HKNFZUAM.js";import{b as l}from"./chunk-2KBTFKSM.js";import{z as f}from"./chunk-KCHERKZO.js";import{i}from"./chunk-XUJURYN5.js";import{Xa as c,qa as h}from"./chunk-COFGQT76.js";import{f as r,n as m}from"./chunk-3VYOLEQE.js";import{e as _,g as o}from"./chunk-VKWPEFWQ.js";o();o();var g=_(w(),1),P=["AGENTS.md","DESIGN.md","assets/**","blocks/**","config/**","layout/**","listings/**/*","locales/**","sections/**","snippets/**","templates/**","templates/customers/**","release-notes.md","update_extension.json"].join("|");async function y(e){let t=await k(e),s=`${e}/${t}`,n=`${e}/(${P})`;await u({inputDirectory:e,outputZipPath:s,matchFilePattern:n}),f({body:["Your local theme was packaged in",{filePath:m(s)}]})}async function k(e){let t=r(e,"config/settings_schema.json");if(!await c(t))throw new i("Provide a config/settings_schema.json to package your theme.");let s=await v(t);if(s===void 0||s.theme_name===void 0)throw new i("Provide a theme_info.theme_name configuration in config/settings_schema.json.");return`${[s.theme_name,s.theme_version].filter(Boolean).join("-")}.zip`}async function v(e){let t=(0,g.parseJSON)(await h(e),null,!0);if(!t)throw new i("The file config/settings_schema.json contains an error. Please check if the file is valid JSON and includes the theme_info.theme_name configuration.");return t.find(s=>s.name==="theme_info")}var a=class extends d{static summary="Package your theme into a .zip file, ready to upload to the Online Store.";static descriptionWithMarkdown=`Packages your local theme files into a ZIP file that can be uploaded to Shopify.
|
|
2
2
|
|
|
3
3
|
Only folders that match the [default Shopify theme folder structure](https://shopify.dev/docs/storefronts/themes/tools/cli#directory-structure) are included in the package.
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
1
|
+
import{a as e}from"./chunk-OUSRNKZG.js";import{a}from"./chunk-CPKLTBLZ.js";import{g as s}from"./chunk-VKWPEFWQ.js";s();var r=class extends a{static hidden=!0;static flags={...a.flags};static baseFlags={...a.baseFlags};async run(){return e({from:"app import-extensions",to:"app import dashboard-extensions"}),super.run()}};export{r as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as p,b as c,c as d}from"./chunk-
|
|
1
|
+
import{a as p,b as c,c as d}from"./chunk-IQ4VOPT7.js";import{a as r}from"./chunk-MINDMVTH.js";import{a as n}from"./chunk-RFDOSK57.js";import{Ha as s}from"./chunk-AKSOCKVF.js";import{b as a}from"./chunk-2KBTFKSM.js";import{b as y}from"./chunk-JA2QZ635.js";import{e as g,g as i}from"./chunk-VKWPEFWQ.js";i();var f=g(y(),1);var o=class m extends r{static summary="Fetch the latest GraphQL schema for a function.";static descriptionWithMarkdown="Generates the latest [GraphQL schema](https://shopify.dev/docs/apps/functions/input-output#graphql-schema) for a function in your app. Run this command from the function directory.\n\n This command uses the API type and version of your function, as defined in your extension TOML file, to generate the latest GraphQL schema. The schema is written to the `schema.graphql` file.";static description=this.descriptionForHelp();static flags={...a,...n,...c,stdout:f.Flags.boolean({description:"Output the schema to stdout instead of writing to a file.",required:!1,default:!1,env:"SHOPIFY_FLAG_STDOUT"})};async run(){let{flags:t}=await this.parse(m),{app:e,developerPlatformClient:h,organization:l}=await s({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),u=await d(e,t.path);return await p({app:e,extension:u,stdout:t.stdout,developerPlatformClient:h,orgId:l.id}),{app:e}}};export{o as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as o,c as l,f as m}from"./chunk-
|
|
1
|
+
import{b as o,c as l,f as m}from"./chunk-AKSOCKVF.js";import{A as a,S as h}from"./chunk-KCHERKZO.js";import{Xa as f,ra as c}from"./chunk-COFGQT76.js";import{d as s}from"./chunk-3VYOLEQE.js";import{g as u}from"./chunk-VKWPEFWQ.js";u();async function d(n){if(n.features.includes("function")&&n.isJavaScript){let e=await m(n);return o(e.functionRunner)}return o()}function p(n){return n.configuration.build?.path?s(n.directory,n.configuration.build.path):n.outputPath}async function y(n,e){try{if(!await f(e))return;let i=c(e);if(!WebAssembly.validate(i))return;let t=new WebAssembly.Module(i);if(WebAssembly.Module.customSections(t,"name").length>0)return;if(n.isJavaScript){a({headline:"The profile won't contain names for your function.",body:"JavaScript functions built with Javy don't include a WebAssembly function name section, regardless of the wasm_opt setting. Function names will appear as <unknown> in the profile."});return}a({headline:"The profile won't contain names for your function.",body:["The built WebAssembly module doesn't contain a function name section. The default wasm-opt step removes this section, and the function compiler can also omit it. To preserve function names, set ",{userInput:"wasm_opt = false"}," under ",{userInput:"[extensions.build]"}," in shopify.extension.toml, configure the compiler to emit function names, and rebuild the function."]})}catch{}}async function W(n){let e=n.functionExtension,i=await d(e);await l(i);let t=[];n.inputPath&&t.push("--input",n.inputPath),n.export&&t.push("--export",n.export),n.json&&t.push("--json"),n.profile&&t.push("--profile"),n.schemaPath&&n.queryPath&&(t.push("--schema-path",n.schemaPath),t.push("--query-path",n.queryPath));let r=p(e);return n.profile&&await y(e,r),h(i.path,["-f",r,...t],{cwd:n.functionExtension.directory,stdin:n.stdin,stdout:n.stdout??"inherit",stderr:n.stderr??"inherit",input:n.input})}export{W as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as o}from"./chunk-
|
|
1
|
+
import{a as o}from"./chunk-RX27ER4R.js";import{b as e}from"./chunk-CUZQRXTV.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,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{d as Kw,ta as f$,ua as Yw}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{d as Kw,ta as f$,ua as Yw}from"./chunk-VWYZCCRE.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{k as p}from"./chunk-YTJ3EPD3.js";import{a as i}from"./chunk-
|
|
1
|
+
import{k as p}from"./chunk-YTJ3EPD3.js";import{a as i}from"./chunk-IUUKRTKF.js";import{Gb as g,Kb as a,Nb as v,Ob as h,Sb as C,lb as u,mb as d,nb as e,ob as c,pb as f,qb as m,sb as r}from"./chunk-COFGQT76.js";import{g as E}from"./chunk-C4QR7Z4N.js";import{g as t}from"./chunk-VKWPEFWQ.js";t();t();function b(o){let n=JSON.stringify(e.parse(o));E()&&g("info",n),C("info",c,n)}function R(o,n){if(r()!==void 0)return n();let s=p(process.env,o)?"json":"text";return m({outputMode:s,sink:s==="json"?O:(l,S)=>{S?.alreadyRendered||x(l)}},n)}var T=i({name:"CommandEvent",schema:e,definitions:{CommandDiagnosticEvent:u,CommandProgressEvent:d}});function x(o){if(o.type==="progress"){a(o.message??o.operation);return}switch(o.level){case"debug":v(o.message);break;case"info":a(o.message);break;case"warning":h(o.message);break;case"error":f(o.message,"error");break}}function O(o){b(o)}export{R as a,T as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{J as g,L as c,M as C,h as m,t as f}from"./chunk-
|
|
1
|
+
import{J as g,L as c,M as C,h as m,t as f}from"./chunk-UZTL2UET.js";import{z as h}from"./chunk-KCHERKZO.js";import{Ib as p,ya as l}from"./chunk-COFGQT76.js";import{q as d}from"./chunk-3VYOLEQE.js";import{g as u}from"./chunk-VKWPEFWQ.js";u();import E from"clipboardy";var I="{{SCAN_CONTEXT}}",y="<the findings document from step 4>",N={posix:"bash",powershell:"powershell",cmd:"bat"};function r(e){return`\`${e.replace(/`/g,"'")}\``}function w(e,n){return`\`\`\`${N[n]}
|
|
2
2
|
${e}
|
|
3
3
|
\`\`\``}function _(e,n){let t=w(c(e,n),n),i=`replacing \`${e.stdinPlaceholder}\` with the file's path`,o=C(e,y,n);if(o===void 0)return`cmd.exe can't pipe multi-line text inline, so write the document to a file and redirect it to \`record\`, ${i}:
|
|
4
4
|
|