@shopify/cli 4.9.5 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics-Q6QDIDYT.js +1 -0
- package/dist/analytics-VKKJNJ62.js +1 -0
- package/dist/assets/hydrogen/starter/CHANGELOG.md +7 -0
- package/dist/assets/hydrogen/starter/package.json +2 -2
- package/dist/assets/hydrogen/vite/package.json +3 -4
- package/dist/assets/hydrogen/vite/vite.config.js +3 -3
- package/dist/bootstrap.js +1 -1
- package/dist/{chunk-MZL6VM3W.js → chunk-24NUJTIH.js} +1 -1
- package/dist/chunk-2CMEKSI7.js +1 -0
- package/dist/chunk-2DID73ML.js +1 -0
- package/dist/chunk-2ORRV7GH.js +1 -0
- package/dist/chunk-2VSNFOKD.js +1 -0
- package/dist/chunk-335BUVBP.js +1 -0
- package/dist/{chunk-PT3OZEBI.js → chunk-3A3DZVEJ.js} +1 -1
- package/dist/chunk-3C6VLJ5D.js +319 -0
- package/dist/{chunk-LCMDVUVO.js → chunk-3G4HJO72.js} +30 -30
- package/dist/chunk-3LVCG4JB.js +1 -0
- package/dist/chunk-43KLFFP7.js +1 -0
- package/dist/{chunk-QLHPTMIH.js → chunk-43R5VGKT.js} +1 -1
- package/dist/chunk-46MSIQ6Z.js +1 -0
- package/dist/chunk-4ARCB6DT.js +1 -0
- package/dist/chunk-4C2DAX5T.js +1 -0
- package/dist/chunk-4CRBTSVP.js +2 -0
- package/dist/chunk-4GCI2YCZ.js +8 -0
- package/dist/chunk-4GOJQKY5.js +1 -0
- package/dist/chunk-4RDFMBRG.js +9 -0
- package/dist/chunk-4SS6DXC7.js +5 -0
- package/dist/{chunk-Z4DESIR5.js → chunk-4TI7U2PN.js} +1 -1
- package/dist/{chunk-7BWSN3SG.js → chunk-52FDK2LC.js} +1 -1
- package/dist/chunk-53BG3NLH.js +3 -0
- package/dist/{chunk-LD6ZCTZ3.js → chunk-5B76DT7X.js} +1 -1
- package/dist/{chunk-YN4FSUFF.js → chunk-5NEGOQT6.js} +1 -1
- package/dist/{chunk-PFXDXD5O.js → chunk-5OMJFPQW.js} +1 -1
- package/dist/chunk-5TB52UUV.js +2 -0
- package/dist/chunk-5UWMXOHM.js +7 -0
- package/dist/chunk-6BNKBCCU.js +1 -0
- package/dist/chunk-6DXP7PQ7.js +1 -0
- package/dist/chunk-6PUU6ZNQ.js +1 -0
- package/dist/chunk-7GHSE7SG.js +1 -0
- package/dist/{chunk-5O7JTVO2.js → chunk-7IFE4UQY.js} +1 -1
- package/dist/chunk-7LAKWAKX.js +25 -0
- package/dist/chunk-7MVWDCI3.js +1 -0
- package/dist/chunk-7NSK77WG.js +3 -0
- package/dist/chunk-7QUZWCJZ.js +3 -0
- package/dist/chunk-7RPFJZLP.js +1 -0
- package/dist/{chunk-35NTERVR.js → chunk-7UOA4DI7.js} +2 -2
- package/dist/chunk-7WPUV7GY.js +6 -0
- package/dist/chunk-7Y7AZRL3.js +10 -0
- package/dist/{chunk-SEXH4EP5.js → chunk-ACA2BGAD.js} +1 -1
- package/dist/chunk-AJMDF3QC.js +1 -0
- package/dist/{chunk-CEQ5S3HH.js → chunk-AXC2MHHO.js} +1 -1
- package/dist/{chunk-5GFVMGAZ.js → chunk-AYL6KBPE.js} +1 -1
- package/dist/chunk-BAHIL37I.js +1 -0
- package/dist/{chunk-S6A7TMR4.js → chunk-BCYTZ7LM.js} +1 -1
- package/dist/{chunk-4VS7YD53.js → chunk-BJPDJIS4.js} +1 -1
- package/dist/{chunk-AJMJQA4J.js → chunk-BN7ZXAZJ.js} +1 -1
- package/dist/chunk-BVSKBX7T.js +16 -0
- package/dist/chunk-BWRNXCVN.js +4 -0
- package/dist/{chunk-ANG44FIF.js → chunk-C3KEDG33.js} +1 -1
- package/dist/{chunk-4BXQTW5G.js → chunk-C7V755IT.js} +1 -1
- package/dist/chunk-CCMDZX35.js +7 -0
- package/dist/chunk-CCQNP5YR.js +1 -0
- package/dist/chunk-CEIJKJOF.js +11 -0
- package/dist/chunk-CIK5BF7V.js +1 -0
- package/dist/{chunk-YIZAQABE.js → chunk-CVVQQLCF.js} +1 -1
- package/dist/chunk-CW2T7EOQ.js +1 -0
- package/dist/chunk-CZ22VZDA.js +376 -0
- package/dist/{chunk-VSFZEGIK.js → chunk-D7NB7YR6.js} +1 -1
- package/dist/{chunk-2VGPNRHH.js → chunk-DFQ4WTET.js} +2 -2
- package/dist/chunk-DJAZBPYA.js +3 -0
- package/dist/chunk-DNMXVMJM.js +47 -0
- package/dist/{chunk-G362JEAV.js → chunk-EGCWR5AS.js} +1 -1
- package/dist/{chunk-7LB6DPB6.js → chunk-EITIW5OX.js} +1 -1
- package/dist/chunk-EMSF57ZB.js +1 -0
- package/dist/{chunk-2II4W4ZF.js → chunk-EXFBZPZS.js} +1 -1
- package/dist/chunk-FDXHQZTO.js +26 -0
- package/dist/{chunk-YLCYRG2T.js → chunk-FFHH5LOR.js} +1 -1
- package/dist/{chunk-KOS53Z7E.js → chunk-FNLECT7B.js} +1 -1
- package/dist/{chunk-MTBABHUB.js → chunk-FWB3GLMW.js} +1 -1
- package/dist/chunk-FZCGRIOM.js +1 -0
- package/dist/{chunk-ND6O6KT6.js → chunk-G6ZMSWEU.js} +1 -1
- package/dist/chunk-GAMC2BNY.js +7 -0
- package/dist/chunk-GB6E3ATN.js +4 -0
- package/dist/chunk-GCNA3HXH.js +8 -0
- package/dist/{chunk-PIGERIRY.js → chunk-GFVKTWFT.js} +1 -1
- package/dist/chunk-GQNOVEKP.js +2 -0
- package/dist/{chunk-WGO2GC6I.js → chunk-GRGFA26K.js} +1 -1
- package/dist/chunk-GXORLBVN.js +2 -0
- package/dist/{chunk-HB4YI2PF.js → chunk-H4V55Y3Z.js} +118 -118
- package/dist/chunk-HCZG7YJ6.js +16 -0
- package/dist/chunk-HF4NDEX3.js +1 -0
- package/dist/chunk-HIRTL45Q.js +1 -0
- package/dist/chunk-I4OVLRQR.js +1 -0
- package/dist/{chunk-RUDHGUIM.js → chunk-I6FRVYGE.js} +1 -1
- package/dist/chunk-IEQ4UOH3.js +4 -0
- package/dist/{chunk-PIZDYS7T.js → chunk-IILLQOUC.js} +60 -60
- package/dist/{chunk-LG6DGIFX.js → chunk-IQVRP7CT.js} +1 -1
- package/dist/{chunk-5VRB3FBD.js → chunk-IUP7POIE.js} +1 -1
- package/dist/chunk-IUTZIN2T.js +10 -0
- package/dist/chunk-IWEKM5Y3.js +1 -0
- package/dist/chunk-IWTNUJGY.js +2 -0
- package/dist/chunk-J6TW43TG.js +1 -0
- package/dist/chunk-JDR6UVZA.js +8 -0
- package/dist/{chunk-NHE46R6C.js → chunk-JEA3C7ON.js} +1 -1
- package/dist/chunk-JOJV5E2K.js +1 -0
- package/dist/chunk-JYMDWR25.js +1 -0
- package/dist/{chunk-EAVD3OH2.js → chunk-KDPQXURV.js} +1 -1
- package/dist/{chunk-DO5YFMTJ.js → chunk-KGRIYAMA.js} +1 -1
- package/dist/chunk-KJQDS5HI.js +1 -0
- package/dist/chunk-KKPOOIE4.js +2 -0
- package/dist/{chunk-4IAGBAQD.js → chunk-KSDU4YOB.js} +1 -1
- package/dist/chunk-L7MSPGDS.js +5 -0
- package/dist/{chunk-JPFHPVIO.js → chunk-LDU5T3DN.js} +1 -1
- package/dist/chunk-LHKVXJPX.js +1 -0
- package/dist/{chunk-VG5ZDVDQ.js → chunk-LMQGNECW.js} +86 -200
- package/dist/{chunk-TQ7URMGS.js → chunk-LQ7ENG4V.js} +1 -1
- package/dist/chunk-LVLAOBJM.js +103 -0
- package/dist/chunk-LWCTKI4Z.js +18 -0
- package/dist/chunk-M3ACZWMR.js +1 -0
- package/dist/chunk-M4BVLMPH.js +31 -0
- package/dist/{chunk-WKVFVT3H.js → chunk-M5TGCSUK.js} +1 -1
- package/dist/chunk-M7LPHCP2.js +274 -0
- package/dist/{chunk-QBIYAMSH.js → chunk-MDRVCBDO.js} +1 -1
- package/dist/chunk-MR2AUT7Q.js +1 -0
- package/dist/chunk-MXJAH2GW.js +5 -0
- package/dist/{chunk-EO422KZZ.js → chunk-MYAIWSOO.js} +1 -1
- package/dist/{chunk-Y5VFOLNQ.js → chunk-N2RFDHRY.js} +1 -1
- package/dist/{chunk-7DSH4CRU.js → chunk-NB4BRW3H.js} +1 -1
- package/dist/chunk-NDKSG4CC.js +97 -0
- package/dist/chunk-NK2MGR6A.js +1 -0
- package/dist/chunk-NOH63WC6.js +12 -0
- package/dist/{chunk-3XAD2E55.js → chunk-OGWPS55W.js} +1 -1
- package/dist/chunk-OQ5CLM2H.js +4 -0
- package/dist/{chunk-MQ4WV4B6.js → chunk-OQU3HLAE.js} +1 -1
- package/dist/chunk-OVWUGAEU.js +11 -0
- package/dist/chunk-OX7UVDSU.js +6 -0
- package/dist/chunk-P33TONYG.js +1 -0
- package/dist/chunk-PEVIRAMR.js +6 -0
- package/dist/{chunk-LLNUIGHP.js → chunk-PGLWZMJU.js} +4 -4
- package/dist/chunk-PIAD3F6M.js +16 -0
- package/dist/chunk-PMHP57MH.js +20 -0
- package/dist/{chunk-XTOOTN4P.js → chunk-POKY4RWR.js} +1 -1
- package/dist/chunk-PSSYLJG4.js +2 -0
- package/dist/chunk-PYIICTLX.js +1 -0
- package/dist/chunk-PZUGDE7N.js +2 -0
- package/dist/{chunk-SUTVPAJF.js → chunk-Q2SZCZE7.js} +1 -1
- package/dist/{chunk-EZG5EB7D.js → chunk-Q2XRITUG.js} +1 -1
- package/dist/chunk-Q5MEFIMV.js +4 -0
- package/dist/chunk-Q66CI37F.js +7 -0
- package/dist/chunk-QFWWCZOI.js +1 -0
- package/dist/{chunk-TR4OWSEX.js → chunk-QFYLJVJW.js} +1 -1
- package/dist/chunk-QKVVJXWS.js +3 -0
- package/dist/chunk-QN3774QI.js +1 -0
- package/dist/chunk-R2BDABJD.js +213 -0
- package/dist/{chunk-RW3P3UMU.js → chunk-R7EMV77H.js} +2 -2
- package/dist/chunk-RFGEM5JC.js +3 -0
- package/dist/{chunk-HY6EXJBZ.js → chunk-RVQV6G5M.js} +1 -1
- package/dist/chunk-S67I4E7M.js +5 -0
- package/dist/chunk-SFPXYHHL.js +1 -0
- package/dist/{chunk-XPDHT3Z4.js → chunk-SFQEHDJY.js} +1 -1
- package/dist/chunk-SL3VBI62.js +3 -0
- package/dist/{chunk-5XTJ4OL4.js → chunk-SNNZ4U2W.js} +1 -1
- package/dist/chunk-T2IUXXCT.js +1 -0
- package/dist/chunk-TPSA4JN5.js +1 -0
- package/dist/chunk-TTEF7GTX.js +1 -0
- package/dist/{chunk-BAHM64B4.js → chunk-U25W35TX.js} +1 -1
- package/dist/chunk-UIQL5ZF3.js +1 -0
- package/dist/chunk-UK6576EO.js +1 -0
- package/dist/chunk-ULD7CIOY.js +4 -0
- package/dist/{chunk-65GNYRYR.js → chunk-UOS2XLGG.js} +2 -2
- package/dist/{chunk-VNG2I7NM.js → chunk-UVRKTMF7.js} +1 -1
- package/dist/{chunk-BD2L6YE5.js → chunk-UWMZ5CSB.js} +1 -1
- package/dist/chunk-UZROQRLX.js +2 -0
- package/dist/{chunk-5BGUKF7L.js → chunk-V75WUEFU.js} +1 -1
- package/dist/chunk-VB7YQMAM.js +5 -0
- package/dist/chunk-VHUD3CBC.js +3 -0
- package/dist/chunk-VMMUJN4T.js +17 -0
- package/dist/{chunk-T3UCIWRH.js → chunk-VW6QS7DO.js} +1 -1
- package/dist/chunk-VWH3VPYI.js +1 -0
- package/dist/{chunk-4TF7ER72.js → chunk-WBJ6ZHYH.js} +1 -1
- package/dist/chunk-WDFCOZAY.js +16 -0
- package/dist/chunk-WFWISGLS.js +1 -0
- package/dist/chunk-WGUOLSMG.js +1 -0
- package/dist/{chunk-VTOPYXHO.js → chunk-WJSUIUBW.js} +2 -2
- package/dist/{chunk-762IKULK.js → chunk-WMAFG2JD.js} +1 -1
- package/dist/chunk-X2H6I2WW.js +5 -0
- package/dist/{chunk-MWWULCLD.js → chunk-X7HVAVSZ.js} +1 -1
- package/dist/{chunk-MF7IHOM5.js → chunk-XBQDMGUN.js} +1 -1
- package/dist/chunk-XITZIDCL.js +18 -0
- package/dist/chunk-XKRJKUA7.js +1 -0
- package/dist/{chunk-K6FH5JSY.js → chunk-XM7YUXTF.js} +2 -2
- package/dist/chunk-XMODGI45.js +1 -0
- package/dist/{chunk-5NCWBBRW.js → chunk-XNNKLUTN.js} +1 -1
- package/dist/chunk-XTREQ4A2.js +1 -0
- package/dist/chunk-YGYEM6QO.js +1 -0
- package/dist/{chunk-XVFQ6CNO.js → chunk-YKS7MH3F.js} +9 -6
- package/dist/chunk-YTUDXZLN.js +1 -0
- package/dist/{chunk-I3J63RFV.js → chunk-YTUUU33R.js} +1 -1
- package/dist/chunk-YVVU4J5O.js +3 -0
- package/dist/{chunk-QUO4RD3W.js → chunk-YVY32DNA.js} +1 -1
- package/dist/chunk-Z5SILNH2.js +7 -0
- package/dist/chunk-ZAA2DXK5.js +5 -0
- package/dist/chunk-ZDQO6CNY.js +1 -0
- package/dist/chunk-ZGV3HNEV.js +1 -0
- package/dist/chunk-ZQDDRIBA.js +22 -0
- package/dist/{chunk-AODTY2BL.js → chunk-ZT5WFUKJ.js} +4 -4
- package/dist/chunk-ZYQ2XWC5.js +5 -0
- 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.d.ts +34 -1
- package/dist/cli/commands/doc/fetch.js +1 -1
- package/dist/cli/commands/doc/search.d.ts +53 -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.d.ts +6 -6
- 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.d.ts +64 -0
- 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/cli/services/commands/doc/fetch-result.d.ts +2 -0
- package/dist/cli/services/commands/doc/fetch-result.js +22 -0
- package/dist/cli/services/commands/doc/fetch.d.ts +2 -1
- package/dist/cli/services/commands/doc/fetch.js +2 -15
- package/dist/cli/services/commands/doc/search-result.d.ts +2 -0
- package/dist/cli/services/commands/doc/search-result.js +14 -0
- package/dist/cli/services/commands/doc/search.d.ts +9 -1
- package/dist/cli/services/commands/doc/search.js +27 -2
- package/dist/cli/services/commands/doc/types.d.ts +107 -0
- package/dist/cli/services/commands/doc/types.js +47 -0
- package/dist/cli/services/commands/help/types.d.ts +6 -6
- package/dist/command-event-context-LFUZ7UCA.js +1 -0
- package/dist/command-json-schema-2UMKY7MY.js +1 -0
- package/dist/command-registry.js +1 -1
- package/dist/conf-store-RI3TL6I4.js +1 -0
- package/dist/custom-oclif-loader-IZCKN67O.js +1 -0
- package/dist/deprecations-IFVUXXDB.js +1 -0
- package/dist/dist-4H2B7BMN.js +1 -0
- package/dist/dist-QNWOGQN3.js +1 -0
- package/dist/{environment-RSUK27TA.js → environment-O7ECODHU.js} +1 -1
- package/dist/environments-CYMEN7NV.js +1 -0
- package/dist/error-IL6WQMSW.js +1 -0
- package/dist/error-handler-74HKA23T.js +1 -0
- package/dist/fs-AINFLJ2E.js +1 -0
- package/dist/hooks/did-you-mean.js +1 -1
- package/dist/hooks/hydrogen-init.js +1 -1
- package/dist/hooks/plugin-plugins.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 +13 -13
- package/dist/is-global-2VLKV46Q.js +1 -0
- package/dist/json-error-HZB5YIHV.js +1 -0
- package/dist/{lib-TYM5B75S.js → lib-PJHT4MKY.js} +1 -1
- package/dist/{lib-55QUD4AJ.js → lib-VKSQ65BQ.js} +1 -1
- package/dist/{lib-PH52G55H.js → lib-YEZOHXF3.js} +1 -1
- package/dist/{local-ZZGRGYUP.js → local-KOZETREJ.js} +1 -1
- package/dist/{metadata-YQNVKC2R.js → metadata-IBPHZB7N.js} +1 -1
- package/dist/{morph-BABFBRSW.js → morph-CRY35DIK.js} +1 -1
- package/dist/node-package-manager-DXSRNEDC.js +1 -0
- package/dist/notifications-system-XA3EBOGJ.js +1 -0
- package/dist/os-X73O7BAB.js +1 -0
- package/dist/out-B2GISN65.js +1 -0
- package/dist/output-3OYXK3Z5.js +1 -0
- package/dist/{path-CPAYTWQW.js → path-3L2QRACZ.js} +1 -1
- package/dist/system-JWYYT4PM.js +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui-PCG5D6RZ.js +1 -0
- package/dist/upgrade-7U2TUNC4.js +1 -0
- package/dist/version-7DGU2KYH.js +1 -0
- package/dist/version-SXQTRBXB.js +1 -0
- package/dist/workerd-MQZ3NKJI.js +18 -0
- package/oclif.manifest.json +1664 -427
- package/package.json +8 -8
- package/dist/analytics-PBZEKUGU.js +0 -1
- package/dist/analytics-WVGBNFGK.js +0 -1
- package/dist/chunk-2EC5SUGK.js +0 -19
- package/dist/chunk-2QENUJVG.js +0 -1
- package/dist/chunk-2RONPKOD.js +0 -1
- package/dist/chunk-2WDJXERZ.js +0 -25
- package/dist/chunk-32NWVYUC.js +0 -1
- package/dist/chunk-32RRWGNS.js +0 -1
- package/dist/chunk-32VQQ6EU.js +0 -1
- package/dist/chunk-34RFTE5T.js +0 -4
- package/dist/chunk-35VQQKVX.js +0 -1
- package/dist/chunk-3N6NKC2U.js +0 -1
- package/dist/chunk-3Q5BAPQK.js +0 -7
- package/dist/chunk-42DMJGOW.js +0 -2
- package/dist/chunk-4CTTWXUX.js +0 -32
- package/dist/chunk-4HBKQUKY.js +0 -1
- package/dist/chunk-4MQXMIWQ.js +0 -7
- package/dist/chunk-5APLAJCB.js +0 -3
- package/dist/chunk-5AQNISGC.js +0 -1
- package/dist/chunk-5OM72O4N.js +0 -1
- package/dist/chunk-5SLKHURV.js +0 -1
- package/dist/chunk-62GA7XR3.js +0 -18
- package/dist/chunk-62LMVFR7.js +0 -1
- package/dist/chunk-6IDEDOXW.js +0 -2
- package/dist/chunk-72CBJYAG.js +0 -16
- package/dist/chunk-7E4MJCVE.js +0 -10
- package/dist/chunk-7HZU7CYS.js +0 -1
- package/dist/chunk-7Q4EKY3E.js +0 -3
- package/dist/chunk-7YXHILW4.js +0 -383
- package/dist/chunk-7Z6IX7MU.js +0 -1
- package/dist/chunk-A4XREDFZ.js +0 -1
- package/dist/chunk-AHNLGCHF.js +0 -5
- package/dist/chunk-ARRRFY6S.js +0 -4
- package/dist/chunk-BAP2CHI2.js +0 -1
- package/dist/chunk-BQWK222Q.js +0 -1
- package/dist/chunk-C3PXIZY3.js +0 -8
- package/dist/chunk-C6HGU77I.js +0 -1
- package/dist/chunk-CBFAU5AF.js +0 -5
- package/dist/chunk-COP2Q2YT.js +0 -1
- package/dist/chunk-CSWDRG3E.js +0 -1
- package/dist/chunk-CVBWEUWX.js +0 -1
- package/dist/chunk-D3NVUE65.js +0 -1
- package/dist/chunk-DCKRQZLE.js +0 -20
- package/dist/chunk-DYH3ZXJS.js +0 -15
- package/dist/chunk-EBX6DYDX.js +0 -2
- package/dist/chunk-EDRCFY3K.js +0 -16
- package/dist/chunk-EEAY7HFW.js +0 -317
- package/dist/chunk-EJMLNBZA.js +0 -275
- package/dist/chunk-EO3S2TFI.js +0 -2
- package/dist/chunk-EOIGDOUD.js +0 -7
- package/dist/chunk-EYKXHMEJ.js +0 -6
- package/dist/chunk-FHV2H3Z2.js +0 -12
- package/dist/chunk-FOAV642V.js +0 -1
- package/dist/chunk-FVTP7EO4.js +0 -46
- package/dist/chunk-FYIC4JHB.js +0 -26
- package/dist/chunk-GF36WNMH.js +0 -5
- package/dist/chunk-GJ3QUZO6.js +0 -1
- package/dist/chunk-GJZVUEMP.js +0 -11
- package/dist/chunk-GP6O7YRO.js +0 -20
- package/dist/chunk-GW424AJO.js +0 -7
- package/dist/chunk-GXSF6NCR.js +0 -1
- package/dist/chunk-GYVQIRBD.js +0 -1
- package/dist/chunk-H3ZPYOQV.js +0 -1
- package/dist/chunk-H7YSZKZ2.js +0 -1
- package/dist/chunk-HILYTMVA.js +0 -1
- package/dist/chunk-HMWQOQAQ.js +0 -2
- package/dist/chunk-HNSRF4SQ.js +0 -1
- package/dist/chunk-HTODXNY6.js +0 -3
- package/dist/chunk-IUYVJJKE.js +0 -9
- package/dist/chunk-JM2CQP64.js +0 -97
- package/dist/chunk-K4AF7A25.js +0 -1
- package/dist/chunk-KDV4WR5A.js +0 -4
- package/dist/chunk-KF7NL5YM.js +0 -8
- package/dist/chunk-KMJTO7CU.js +0 -103
- package/dist/chunk-KN3MUEWA.js +0 -4
- package/dist/chunk-KYB4JX76.js +0 -5
- package/dist/chunk-LJAU6YHF.js +0 -10
- package/dist/chunk-LMQOFVRC.js +0 -17
- package/dist/chunk-LQSD25YS.js +0 -3
- package/dist/chunk-M2HQFHNO.js +0 -1
- package/dist/chunk-M5WBYWSQ.js +0 -7
- package/dist/chunk-N47RQHEI.js +0 -2
- package/dist/chunk-NRG2WPSM.js +0 -1
- package/dist/chunk-O2CP7DQE.js +0 -1
- package/dist/chunk-O6FXUKI2.js +0 -2
- package/dist/chunk-OHJUEUSA.js +0 -1
- package/dist/chunk-OOKTWSGP.js +0 -4
- package/dist/chunk-OONMCK7X.js +0 -1
- package/dist/chunk-OWK2RI4O.js +0 -6
- package/dist/chunk-P2UEQJJ4.js +0 -5
- package/dist/chunk-QBJ74XPX.js +0 -18
- package/dist/chunk-QGFJOTOH.js +0 -4
- package/dist/chunk-RIO5HKD5.js +0 -1
- package/dist/chunk-S7EKUSO6.js +0 -3
- package/dist/chunk-SJ2ROSXG.js +0 -1
- package/dist/chunk-SNTRSP5K.js +0 -359
- package/dist/chunk-SYCN2GT2.js +0 -3
- package/dist/chunk-TBNEN73P.js +0 -1
- package/dist/chunk-TVI7TQ4C.js +0 -16
- package/dist/chunk-TYMYIUIQ.js +0 -1
- package/dist/chunk-UEQT7TA4.js +0 -1
- package/dist/chunk-UUM367NR.js +0 -5
- package/dist/chunk-V5FZRNXI.js +0 -1
- package/dist/chunk-VE35YELD.js +0 -1
- package/dist/chunk-WEICJ4GW.js +0 -1
- package/dist/chunk-WJJXJNNP.js +0 -3
- package/dist/chunk-XAQUXFN5.js +0 -1
- package/dist/chunk-XE6EUHSS.js +0 -2
- package/dist/chunk-XFEJS652.js +0 -16
- package/dist/chunk-XI4QEULN.js +0 -1
- package/dist/chunk-XP63T4KZ.js +0 -5
- package/dist/chunk-XRCAUZAZ.js +0 -8
- package/dist/chunk-XSRZWJIJ.js +0 -1
- package/dist/chunk-YFJELEVH.js +0 -1
- package/dist/chunk-YNJIDLI3.js +0 -7
- package/dist/chunk-YRX4E67D.js +0 -6
- package/dist/chunk-Z2NL6XQK.js +0 -6
- package/dist/chunk-Z6Z5DPKS.js +0 -1
- package/dist/chunk-ZOE6WXW6.js +0 -1
- package/dist/cli/commands/app/app-logs/sources.js +0 -1
- package/dist/command-json-schema-3RP5P43D.js +0 -1
- package/dist/conf-store-XORTWCKZ.js +0 -1
- package/dist/custom-oclif-loader-ZRYPPYIP.js +0 -1
- package/dist/deprecations-AZDMCRNN.js +0 -1
- package/dist/dist-DTBXLVHF.js +0 -1
- package/dist/dist-SOYIDACZ.js +0 -1
- package/dist/environments-L42SEHB4.js +0 -1
- package/dist/error-H6B5BHYC.js +0 -1
- package/dist/error-handler-JB752NKM.js +0 -1
- package/dist/fs-XHZY6MNM.js +0 -1
- package/dist/is-global-2NBDZWLC.js +0 -1
- package/dist/json-error-OHV2KQFY.js +0 -1
- package/dist/node-package-manager-LN2Y7FQ2.js +0 -1
- package/dist/notifications-system-HWJ3F44U.js +0 -1
- package/dist/os-MHOCCDIB.js +0 -1
- package/dist/out-53ABAVL7.js +0 -1
- package/dist/output-GILH4S6M.js +0 -1
- package/dist/system-6WYK24ET.js +0 -1
- package/dist/ui-RP6SVJUK.js +0 -1
- package/dist/upgrade-5G7FBJJV.js +0 -1
- package/dist/version-TOBC7X2C.js +0 -1
- package/dist/version-UIRCT6RC.js +0 -1
- package/dist/workerd-ARH2OCYL.js +0 -18
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shopify/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A CLI tool to build for the Shopify platform",
|
|
6
6
|
"keywords": [
|
|
@@ -50,13 +50,13 @@
|
|
|
50
50
|
"@oclif/core": "4.8.3",
|
|
51
51
|
"@oclif/plugin-commands": "4.1.60",
|
|
52
52
|
"@oclif/plugin-plugins": "5.4.84",
|
|
53
|
-
"@shopify/app": "
|
|
54
|
-
"@shopify/store": "
|
|
55
|
-
"@shopify/cli-kit": "
|
|
56
|
-
"@shopify/plugin-cloudflare": "
|
|
57
|
-
"@shopify/plugin-did-you-mean": "
|
|
58
|
-
"@shopify/theme": "
|
|
59
|
-
"@shopify/cli-hydrogen": "13.0
|
|
53
|
+
"@shopify/app": "5.0.0",
|
|
54
|
+
"@shopify/store": "5.0.0",
|
|
55
|
+
"@shopify/cli-kit": "5.0.0",
|
|
56
|
+
"@shopify/plugin-cloudflare": "5.0.0",
|
|
57
|
+
"@shopify/plugin-did-you-mean": "5.0.0",
|
|
58
|
+
"@shopify/theme": "5.0.0",
|
|
59
|
+
"@shopify/cli-hydrogen": "13.1.0",
|
|
60
60
|
"@types/global-agent": "3.0.0",
|
|
61
61
|
"@vitest/coverage-istanbul": "^3.2.7",
|
|
62
62
|
"esbuild-plugin-copy": "^2.1.1"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ja as a,ka as b,la as c}from"./chunk-HB4YI2PF.js";import"./chunk-ZDF5N422.js";import"./chunk-5VRB3FBD.js";import"./chunk-MPW2YJWU.js";import"./chunk-AODTY2BL.js";import"./chunk-GYVQIRBD.js";import"./chunk-WGO2GC6I.js";import"./chunk-T7KHS6RF.js";import"./chunk-7YXHILW4.js";import"./chunk-7E4MJCVE.js";import"./chunk-32RRWGNS.js";import"./chunk-2VGPNRHH.js";import"./chunk-5HBIIYSK.js";import"./chunk-GB3YC4TI.js";import"./chunk-HILYTMVA.js";import"./chunk-YRHFPXC3.js";import"./chunk-AJMJQA4J.js";import"./chunk-RJ5VF3QY.js";import"./chunk-7UNQOKZW.js";import"./chunk-MWWULCLD.js";import"./chunk-4HBKQUKY.js";import"./chunk-636CTEW7.js";import"./chunk-N47RQHEI.js";import"./chunk-62GA7XR3.js";import"./chunk-B4OMIONW.js";import"./chunk-BOAGJ6P5.js";import"./chunk-LD6ZCTZ3.js";import"./chunk-JJZNUFPD.js";import"./chunk-PT3OZEBI.js";import"./chunk-QLHPTMIH.js";import"./chunk-FOAV642V.js";import"./chunk-I3J63RFV.js";import"./chunk-JD5P5RAJ.js";import"./chunk-6IDEDOXW.js";import"./chunk-TR4OWSEX.js";import"./chunk-ZGASBRSQ.js";import"./chunk-I5A6BPCP.js";import"./chunk-CX5CC6P5.js";import"./chunk-IGE4Y5SE.js";import"./chunk-JFBCE4HN.js";import"./chunk-VKWPEFWQ.js";export{b as getEnvironmentData,c as getSensitiveEnvironmentData,a as startAnalytics};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ma as a,na as b,oa as c,pa as d,qa as e,ra as f,sa as g}from"./chunk-HB4YI2PF.js";import"./chunk-ZDF5N422.js";import"./chunk-5VRB3FBD.js";import"./chunk-MPW2YJWU.js";import"./chunk-AODTY2BL.js";import"./chunk-GYVQIRBD.js";import"./chunk-WGO2GC6I.js";import"./chunk-T7KHS6RF.js";import"./chunk-7YXHILW4.js";import"./chunk-7E4MJCVE.js";import"./chunk-32RRWGNS.js";import"./chunk-2VGPNRHH.js";import"./chunk-5HBIIYSK.js";import"./chunk-GB3YC4TI.js";import"./chunk-HILYTMVA.js";import"./chunk-YRHFPXC3.js";import"./chunk-AJMJQA4J.js";import"./chunk-RJ5VF3QY.js";import"./chunk-7UNQOKZW.js";import"./chunk-MWWULCLD.js";import"./chunk-4HBKQUKY.js";import"./chunk-636CTEW7.js";import"./chunk-N47RQHEI.js";import"./chunk-62GA7XR3.js";import"./chunk-B4OMIONW.js";import"./chunk-BOAGJ6P5.js";import"./chunk-LD6ZCTZ3.js";import"./chunk-JJZNUFPD.js";import"./chunk-PT3OZEBI.js";import"./chunk-QLHPTMIH.js";import"./chunk-FOAV642V.js";import"./chunk-I3J63RFV.js";import"./chunk-JD5P5RAJ.js";import"./chunk-6IDEDOXW.js";import"./chunk-TR4OWSEX.js";import"./chunk-ZGASBRSQ.js";import"./chunk-I5A6BPCP.js";import"./chunk-CX5CC6P5.js";import"./chunk-IGE4Y5SE.js";import"./chunk-JFBCE4HN.js";import"./chunk-VKWPEFWQ.js";export{g as compileData,d as recordError,f as recordEvent,e as recordRetry,c as recordTiming,b as reportAnalyticsEvent,a as sendAnalyticsEventFromStdin};
|
package/dist/chunk-2EC5SUGK.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import{p as C,v as Y}from"./chunk-LQSD25YS.js";import{ca as re,da as q}from"./chunk-WKVFVT3H.js";import{b as H}from"./chunk-SUTVPAJF.js";import{r as L}from"./chunk-5VRB3FBD.js";import{y as w,z as E}from"./chunk-7YXHILW4.js";import{i as $}from"./chunk-4HBKQUKY.js";import{Ib as p,Kb as P,Lb as G,Nb as j,R as I,Xa as N,db as A,ya as T}from"./chunk-62GA7XR3.js";import{b as oe}from"./chunk-I3J63RFV.js";import{c as O,e as S,o as b}from"./chunk-6IDEDOXW.js";import{e as k,g as v}from"./chunk-VKWPEFWQ.js";v();v();var r=k(q(),1),l=k(re(),1);function se(e,t){return e instanceof Error&&"code"in e&&e.code==="ENOENT"&&"path"in e&&typeof e.path=="string"&&S(e.path)===S(t)}async function F(e,t){try{return await t()}catch(n){throw e!==void 0&&se(n,e)?new $(`Theme Check config file not found: ${e}`):n}}function ce(e){switch(e){case"error":return r.Severity.ERROR;case"suggestion":case"warning":return r.Severity.WARNING;case"style":case"info":return r.Severity.INFO;case"crash":return}}function U(e){switch(e){case r.Severity.ERROR:return"error";case r.Severity.WARNING:return"warning";case r.Severity.INFO:return"info"}}function ae(e){return new Map(e.map(t=>[t.uri,t.source]))}function ue(e,t,n){let o=e.split(`
|
|
2
|
-
`).slice(t,n+1),s=o.length===1;return o.map((c,a)=>{let u=t+a+1,d=s?c.trim():c;return`${u} ${d}`}).join(`
|
|
3
|
-
`)}function fe(e){switch(e){case r.Severity.ERROR:return{error:`
|
|
4
|
-
[error]:`};case r.Severity.WARNING:return{warn:`
|
|
5
|
-
[warning]:`};case r.Severity.INFO:return{info:`
|
|
6
|
-
[info]:`}}}function he(e,t){return e.map((i,o)=>{let{message:s,uri:c,start:a,end:u,check:d,severity:m}=i,f=t.get(c),x=f===void 0?[]:[`
|
|
7
|
-
|
|
8
|
-
${ue(f,a.line,u.line)}`],_=o===e.length-1?"":`
|
|
9
|
-
|
|
10
|
-
`;return[fe(m),{bold:d},{subdued:`
|
|
11
|
-
${s}`},...x,_]}).flat()}var me=(e,t)=>e.severity-t.severity;function W(e){let t=e.reduce((n,i)=>{let{uri:o}=i,s=r.path.fsPath(o);return n[s]??=[],n[s].push(i),n},{});return Object.keys(t).reduce((n,i)=>(n[i]=t[i].sort(me),n),{})}function B(e){return e.reduce((t,n)=>(t[n.severity]=(t[n.severity]??0)+1,t),{})}function M(e,t,n){let i=[`${n.length} files inspected`];if(e.length===0)i.push("with no offenses found.");else{i.push(`with ${e.length} total offenses found across ${Object.keys(t).length} files.`);let o=B(e);o[r.Severity.ERROR]&&i.push(`
|
|
12
|
-
${o[r.Severity.ERROR]} errors.`),o[r.Severity.WARNING]&&i.push(`
|
|
13
|
-
${o[r.Severity.WARNING]} warnings.`),o[r.Severity.INFO]&&i.push(`
|
|
14
|
-
${o[r.Severity.INFO]} info issues.`)}return i}function D(e,t,n,i){let o=ae(n);Object.keys(e).sort().forEach(c=>{let a=c.replace(t,"").slice(1);w({headline:i?`[${i}] ${a}`:a,body:he(e[c],o)})})}function J(e,t){return Object.entries(e).map(([n,i])=>{let o=i.map(c=>({check:c.check,severity:U(c.severity),start_row:c.start.line,start_column:c.start.character,end_row:c.end.line,end_column:c.end.character,message:c.message})),s=B(i);return{environment:t,path:n,offenses:o,errorCount:s[r.Severity.ERROR]??0,warningCount:s[r.Severity.WARNING]??0,infoCount:s[r.Severity.INFO]??0}})}function V(e,t){t||process.exit(0);let n=ce(t),i=n!==void 0&&e.some(o=>o.severity<=n);process.exit(i?1:0)}function de(e){return e.split(`
|
|
15
|
-
`).map(t=>`# ${t}`).join(`
|
|
16
|
-
`)}async function z(e){let t=".theme-check.yml",n=O(e,t);if(await N(n)){P(`${t} already exists at ${e}`);return}let{settings:i}=await(0,r.loadConfig)(void 0,e),o=de(l.default.stringify(i)),s=l.default.stringify({extends:"theme-check:recommended",ignore:["node_modules/**"]});await T(n,`${s}${o}`),G(`Created ${t} at ${e}`)}var pe=async(e,t)=>{let n=(0,r.applyFixToString)(e.source,t),i=r.path.fsPath(e.uri);await T(i,n)};async function K(e,t){await(0,r.autofix)(e,t,pe)}async function Q(e,t,n){let{ignore:i,settings:o,rootUri:s}=await F(t,()=>(0,r.loadConfig)(t,e)),c={extends:[],ignore:I(i??[]),rootUri:s,...o},a=n?{[n]:c}:c;p(l.default.stringify(a))}async function X(e,t,n){let{settings:i,ignore:o,checks:s}=await F(t,()=>(0,r.loadConfig)(t,e)),c=I(o??[]),u=Object.keys(i).reduce((m,f)=>{let{severity:x,enabled:_,...ee}=i[f];if(!_)return m;let te=U(x??r.Severity.INFO),y=s.find(ie=>ie.meta.code===f),ne=y&&y.meta?{description:y.meta.docs.description,doc:y.meta.docs.url}:{};return m[f]={severity:te,...ne,ignored_patterns:`[${c.join(", ")}]`,...ee},m},{}),d=n?{[n]:u}:u;p(l.default.stringify(d))}function Z(e){return"_handle"in e&&typeof e._handle=="object"&&e._handle!==null&&typeof e._handle.setBlocking=="function"}var h=k(oe(),1);var g=k(q(),1);var R=class extends Y{static summary="Validate the theme.";static descriptionWithMarkdown="Calls and runs [Theme Check](https://shopify.dev/docs/themes/tools/theme-check) to analyze your theme code for errors and to ensure that it follows theme and Liquid best practices. [Learn more about the checks that Theme Check runs.](https://shopify.dev/docs/themes/tools/theme-check/checks)";static description=this.descriptionForHelp();static flags={...H,path:C.path,"auto-correct":h.Flags.boolean({char:"a",required:!1,description:"Automatically fix offenses",env:"SHOPIFY_FLAG_AUTO_CORRECT"}),config:h.Flags.string({char:"C",required:!1,description:`Use the config provided, overriding .theme-check.yml if present
|
|
17
|
-
Supports all theme-check: config values, e.g., theme-check:theme-app-extension,
|
|
18
|
-
theme-check:recommended, theme-check:all
|
|
19
|
-
For backwards compatibility, :theme_app_extension is also supported `,env:"SHOPIFY_FLAG_CONFIG"}),"fail-level":h.Flags.string({required:!1,description:"Minimum severity for exit with error code",env:"SHOPIFY_FLAG_FAIL_LEVEL",options:["crash","error","suggestion","style","warning","info"],default:"error"}),init:h.Flags.boolean({required:!1,description:"Generate a .theme-check.yml file",env:"SHOPIFY_FLAG_INIT"}),list:h.Flags.boolean({required:!1,description:"List enabled checks",env:"SHOPIFY_FLAG_LIST"}),output:h.Flags.string({char:"o",required:!1,description:"The output format to use",env:"SHOPIFY_FLAG_OUTPUT",options:["text","json"],default:"text"}),print:h.Flags.boolean({required:!1,description:"Output active config to STDOUT",env:"SHOPIFY_FLAG_PRINT"}),version:h.Flags.boolean({char:"v",required:!1,description:"Print Theme Check version",env:"SHOPIFY_FLAG_VERSION"}),environment:C.environment};static multiEnvironmentsFlags=["path"];async command(t,n,i){let o=t.path,s=t.environment?.[0],a=t.config?.startsWith(":")&&g.LegacyIdentifiers.has(t.config.slice(1))?g.LegacyIdentifiers.get(t.config.slice(1)):t.config;if(t.init){await z(o);return}if(t.version){let m=await A(O("node_modules","@shopify","theme-check-node","package.json"),{type:"file",cwd:b(import.meta.url)}),f="unknown";m&&(f=await L(m)??"unknown"),p(f);return}if(t.print){await Q(o,a,s);return}if(t.list){await X(o,a,s);return}let{offenses:u,theme:d}=await le(o,t.output,a,s);if(t["auto-correct"]&&await K(d,u),!i)return V(u,t["fail-level"])}};async function le(e,t,n,i){let{offenses:o,theme:s}=await F(n,()=>(0,g.themeCheckRun)(e,n,a=>{process.env.SHOPIFY_TMP_FLAG_DEBUG&&j(a)})),c=W(o);if(t==="text"&&(D(c,e,s,i),(o.length?w:E)({headline:i?`[${i}] Theme Check Summary.`:"Theme Check Summary.",body:M(o,c,s)})),t==="json"){let a=process.stdout;Z(a)&&a._handle.setBlocking(!0),p(JSON.stringify(J(c,i)))}return{offenses:o,theme:s}}export{R as a,le as b};
|
package/dist/chunk-2QENUJVG.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ha as x,p as A}from"./chunk-EEAY7HFW.js";import{F}from"./chunk-7YXHILW4.js";import{i as s}from"./chunk-4HBKQUKY.js";import{Eb as f,Ib as I,Kb as P,Xa as p,ya as v}from"./chunk-62GA7XR3.js";import{a as S}from"./chunk-PT3OZEBI.js";import{b as D}from"./chunk-I3J63RFV.js";import{c as m,e as y,p as w}from"./chunk-6IDEDOXW.js";import{e as E,g as l}from"./chunk-VKWPEFWQ.js";l();async function b(n){let{extension:e,stdout:o,developerPlatformClient:i,app:r,orgId:t}=n,c=r.configuration.client_id,{api_version:a,type:u,targeting:d}=e.configuration,T=await(!!d?.length?_({localIdentifier:e.localIdentifier,developerPlatformClient:i,apiKey:c,target:d[0].target,version:a,orgId:t}):$({localIdentifier:e.localIdentifier,developerPlatformClient:i,apiKey:c,type:u,version:a,orgId:t})),h=A(T,a);if(o)I(h);else{let g=m(e.directory,"schema.graphql");await v(g,h),P(`GraphQL Schema for ${e.localIdentifier} written to ${g}`)}}async function _({localIdentifier:n,developerPlatformClient:e,apiKey:o,target:i,version:r,orgId:t}){let c={handle:i,version:r},a=await e.targetSchemaDefinition(c,o,t);if(!a)throw new s(f`A schema could not be generated for ${n}`,f`Check that the Function targets and version are valid.`);return a}async function $({localIdentifier:n,developerPlatformClient:e,apiKey:o,version:i,type:r,orgId:t}){let c={version:i,type:r},a=await e.apiSchemaDefinition(c,o,t);if(!a)throw new s(f`A schema could not be generated for ${n}`,f`Check that the Function API type and version are valid.`);return a}l();var C=E(D(),1);var J={path:C.Flags.string({hidden:!1,description:"The path to your function directory.",parse:async n=>y(n),default:async()=>w(),noCacheDefault:!0,env:"SHOPIFY_FLAG_PATH"})};async function M(n,e){let o=n.allExtensions.filter(r=>r.isFunctionExtension),i=o.find(r=>r.directory===e);if(i)return i;if(o.length===1&&o[0])return o[0];if(S())return await F({message:"Which function?",choices:o.map(t=>({label:t.handle,value:t}))});throw new s("Run this command from a function directory or use `--path` to specify a function directory.")}async function N(n,e,o,i,r){let t=m(n.directory,"schema.graphql");if(await p(t))return t;let{app:c,developerPlatformClient:a,organization:u}=await x({directory:e,clientId:o,forceRelink:i,userProvidedConfigName:r});return await b({app:c,developerPlatformClient:a,extension:n,stdout:!1,orgId:u.id}),await p(t)?t:void 0}export{b as a,J as b,M as c,N as d};
|
package/dist/chunk-2RONPKOD.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as F,c as q}from"./chunk-HY6EXJBZ.js";import{d as x,f as A,u as N}from"./chunk-3XAD2E55.js";import{a as J}from"./chunk-5SLKHURV.js";import{a as k,c as E}from"./chunk-MTBABHUB.js";import{b}from"./chunk-62LMVFR7.js";import{b as O}from"./chunk-SUTVPAJF.js";import{b as I,c as y}from"./chunk-HB4YI2PF.js";import{B as v,I as f,z as d}from"./chunk-7YXHILW4.js";import{i as l}from"./chunk-4HBKQUKY.js";import{Cb as c,Eb as s,Ib as S,Xa as g,qa as h,ya as w}from"./chunk-62GA7XR3.js";import{e as Q,g as p}from"./chunk-VKWPEFWQ.js";p();p();var C=Q(I(),1);async function z(a,e){if(a)try{return JSON.parse(a)}catch(t){let r=t instanceof Error?t.message:"Unknown error";throw new l(s`Invalid JSON in ${c.yellow("--variables")} flag: ${r}`,"Please provide valid JSON format.")}else if(e){if(!await g(e))throw new l(s`Variable file not found at ${c.path(e)}. Please check the path and try again.`);let t=await h(e,{encoding:"utf8"});try{return JSON.parse(t)}catch(r){let n=r instanceof Error?r.message:"Unknown error";throw new l(s`Invalid JSON in variable file ${c.path(e)}: ${n}`,"Please provide valid JSON format.")}}}async function $(a){let{remoteApp:e,store:t,query:r,variables:n,variableFile:L,version:M,outputFile:u}=a,{adminSession:R,version:V}=await f({title:s`Authenticating`,task:async()=>{let o=await F(e,t.shopDomain),i=await A({adminSession:o,userSpecifiedVersion:M});return{adminSession:o,version:i}},renderOptions:{stdout:process.stderr}}),G=await z(n,L);x(r),q(r,t);try{let o=await f({title:s`Executing GraphQL operation`,task:async()=>b({query:(0,C.parse)(r),session:R,variables:G,version:V,responseOptions:{handleErrors:!1}}),renderOptions:{stdout:process.stderr}}),i=JSON.stringify(o,null,2);u?(await w(u,i),d({headline:"Operation succeeded.",body:`Results written to ${u}`})):(d({headline:"Operation succeeded."}),S(i))}catch(o){if(o instanceof y){let i={errors:o.response.errors},P=JSON.stringify(i,null,2);v({headline:"GraphQL operation failed.",body:P});return}throw o}}var m=class a extends J{static summary="Execute GraphQL queries and mutations.";static descriptionWithMarkdown="Executes an Admin API GraphQL query or mutation on the specified store. Mutations are only allowed on dev stores.\n\n For operations that process large amounts of data, use [`bulk execute`](https://shopify.dev/docs/api/shopify-cli/app/app-bulk-execute) instead.";static description=this.descriptionForHelp();static flags={...O,...k,...E};async run(){let{flags:e}=await this.parse(a),{query:t,appContextResult:r,store:n}=await N(e);return await $({organization:r.organization,remoteApp:r.remoteApp,store:n,query:t,variables:e.variables,variableFile:e["variable-file"],outputFile:e["output-file"],...e.version&&{version:e.version}}),{app:r.app}}};export{m as a};
|
package/dist/chunk-2WDJXERZ.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import{a as A,b as S,c as E,d as i,e as k,f as F,g as L,h as H,i as _}from"./chunk-BAHM64B4.js";import{a as I}from"./chunk-5SLKHURV.js";import{a as b}from"./chunk-MTBABHUB.js";import{Ha as T,ia as P}from"./chunk-EEAY7HFW.js";import{f as l}from"./chunk-SUTVPAJF.js";import{D as p,F as g,J as v}from"./chunk-7YXHILW4.js";import{Lb as h,Ob as m,Qb as w}from"./chunk-62GA7XR3.js";import{b as G}from"./chunk-I3J63RFV.js";import{i as y}from"./chunk-6IDEDOXW.js";import{e as q,g as a}from"./chunk-VKWPEFWQ.js";a();a();a();a();async function M(e,t,r){let o={api_version:t},{webhookTopics:s}=await e.topics(o,r);return s}a();async function V(e){let t=e.map(o=>({label:o,value:o}));return await g({message:"Webhook Topic",choices:t})}async function C(e){return p({message:"Webhook ApiVersion",choices:e.map(t=>({label:t,value:t}))})}async function R(){return p({message:"Delivery method",choices:[{label:"HTTP",value:i.HTTP},{label:"Google Pub/Sub",value:i.PUBSUB},{label:"Amazon EventBridge",value:i.EVENTBRIDGE}]})}async function D(e){return(await v({message:"Address for delivery",validate:r=>{let o=r.trim();if(o.length===0)return"Address can't be empty";if(!k(o,e))return`Invalid address.
|
|
2
|
-
${d(e)}`}})).trim()}function U(e){return e===i.HTTP?["For remote HTTP testing, use a URL that starts with https://","For local HTTP testing, use http://localhost:{port}/{url-path}"]:e===i.PUBSUB?["For Google Pub/Sub, use pubsub://{project-id}:{topic-id}"]:e===i.EVENTBRIDGE?["For Amazon EventBridge, use an Amazon Resource Name (ARN) starting with arn:aws:events:"]:[]}function d(e){return U(e).map(t=>` \xB7 ${w(t)}`).join(`
|
|
3
|
-
`)}async function x(e,t){let{clientSecret:r,clientId:o,remoteApp:s,app:c}=e;return r&&(o||t!==i.EVENTBRIDGE)?{clientSecret:r,apiKey:o}:(P({appName:s.title,configFile:y(c.configPath)}),{clientSecret:s.apiSecretKeys.find(f=>f.secret).secret,apiKey:s.apiKey})}async function O(e,t,r){let o=await A(e,r);return t?L(t,o):C(o)}async function B(e,t,r,o){let s=await M(e,t,o);return r?H(r,t,s):V(s)}async function N(e,t){let r=e??_(t)??await R(),o=t??await D(r);return F(o,r)}async function Y(e){let t=await z(e);await W(t)}async function z(e){let t=await O(e.developerPlatformClient,e.apiVersion,e.organizationId),r=await B(e.developerPlatformClient,t,e.topic,e.organizationId),[o,s]=await N(e.deliveryMethod,e.address),c=await x(e,s);return{topic:r,apiVersion:t,deliveryMethod:s,address:o,apiKey:c.apiKey,clientSecret:c.clientSecret,developerPlatformClient:e.developerPlatformClient,organizationId:e.organizationId}}async function W(e){let t={topic:e.topic,api_version:e.apiVersion,address:e.address,delivery_method:e.deliveryMethod,shared_secret:e.clientSecret,api_key:e.apiKey},r=await S(e.developerPlatformClient,t,e.organizationId);if(!r.success){m(`Request errors:
|
|
4
|
-
${K(r.userErrors)}`);return}if(e.deliveryMethod===i.LOCALHOST){if(await E(e.address,r.samplePayload,r.headers)){h("Localhost delivery sucessful");return}m("Localhost delivery failed");return}r.samplePayload===JSON.stringify({})&&h("Webhook has been enqueued for delivery")}function K(e){try{return e.map(t=>JSON.parse(t.message).map(r=>` \xB7 ${r}`).join(`
|
|
5
|
-
`)).join(`
|
|
6
|
-
`)}catch{return JSON.stringify(e)}}var n=q(G(),1);var u=class e extends I{static summary="Trigger delivery of a sample webhook topic payload to a designated address.";static descriptionWithMarkdown=`
|
|
7
|
-
Triggers the delivery of a sample Admin API event topic payload to a designated address.
|
|
8
|
-
|
|
9
|
-
You should use this command to experiment with webhooks, to initially test your webhook configuration, or for unit testing. However, to test your webhook configuration from end to end, you should always trigger webhooks by performing the related action in Shopify.
|
|
10
|
-
|
|
11
|
-
Because most webhook deliveries use remote endpoints, you can trigger the command from any directory where you can use Shopify CLI, and send the webhook to any of the supported endpoint types. For example, you can run the command from your app's local directory, but send the webhook to a staging environment endpoint.
|
|
12
|
-
|
|
13
|
-
To learn more about using webhooks in a Shopify app, refer to [Webhooks overview](https://shopify.dev/docs/apps/webhooks).
|
|
14
|
-
|
|
15
|
-
### Limitations
|
|
16
|
-
|
|
17
|
-
- Webhooks triggered using this method always have the same payload, so they can't be used to test scenarios that differ based on the payload contents.
|
|
18
|
-
- Webhooks triggered using this method aren't retried when they fail.
|
|
19
|
-
- Trigger requests are rate-limited using the [Partner API rate limit](https://shopify.dev/docs/api/partner#rate_limits).
|
|
20
|
-
- You can't use this method to validate your API webhook subscriptions.
|
|
21
|
-
`;static description=this.descriptionForHelp();static flags={...b,help:n.Flags.help({required:!1,hidden:!1,env:"SHOPIFY_FLAG_HELP",description:"This help. When you run the trigger command the CLI will prompt you for any information that isn't passed using flags."}),topic:l(n.Flags.string({required:!1,hidden:!1,env:"SHOPIFY_FLAG_TOPIC",description:"The requested webhook topic."})),"api-version":l(n.Flags.string({required:!1,hidden:!1,env:"SHOPIFY_FLAG_API_VERSION",description:"The API Version of the webhook topic."})),"delivery-method":n.Flags.string({required:!1,hidden:!1,options:[i.HTTP,i.PUBSUB,i.EVENTBRIDGE],env:"SHOPIFY_FLAG_DELIVERY_METHOD",description:"Method chosen to deliver the topic payload. If not passed, it's inferred from the address."}),"client-secret":n.Flags.string({required:!1,hidden:!1,env:"SHOPIFY_FLAG_CLIENT_SECRET",description:"Your app's client secret. This secret allows us to return the X-Shopify-Hmac-SHA256 header that lets you validate the origin of the response that you receive."}),address:l(n.Flags.string({required:!1,hidden:!1,env:"SHOPIFY_FLAG_ADDRESS",description:`The URL where the webhook payload should be sent.
|
|
22
|
-
You will need a different address type for each delivery-method:
|
|
23
|
-
${d(i.HTTP)}
|
|
24
|
-
${d(i.PUBSUB)}
|
|
25
|
-
${d(i.EVENTBRIDGE)}`}))};async run(){let{flags:t}=await this.parse(e),r=await T({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),o={...r,topic:t.topic,apiVersion:t["api-version"],deliveryMethod:t["delivery-method"],address:t.address,clientId:t["client-id"],clientSecret:t["client-secret"],path:t.path,config:t.config,organizationId:r.organization.id};return await Y(o),{app:r.app}}};export{u as a};
|
package/dist/chunk-32NWVYUC.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as m}from"./chunk-EDRCFY3K.js";import{D as c,F as l,I as d,a as p}from"./chunk-VG5ZDVDQ.js";import{b as n}from"./chunk-SUTVPAJF.js";import{b as a}from"./chunk-DCKRQZLE.js";import{b as f}from"./chunk-I3J63RFV.js";import{e as s}from"./chunk-6IDEDOXW.js";import{e as h,g as r}from"./chunk-VKWPEFWQ.js";r();var i=h(f(),1);var o=class u extends a{static summary="Provide app security check instructions to a coding agent.";static descriptionWithMarkdown="Prints the complete workflow that a coding agent should follow to review app security check results.\n\nBy default, the instructions are printed to stdout. Use `--copy` to copy them to the clipboard or `--write` to write them to a file. Standalone instructions always start by running `shopify app security check`; only that invocation's generated review pack is trusted as workflow input.";static description=this.descriptionWithoutMarkdown();static flags={...n,...p,copy:i.Flags.boolean({description:"Copy the instructions to the clipboard instead of printing them.",default:!1,exclusive:["write"],env:"SHOPIFY_FLAG_APP_SECURITY_INSTRUCTIONS_COPY"}),write:i.Flags.string({description:"Write the instructions to a file instead of printing them.",exclusive:["copy"],parse:async t=>s(t),env:"SHOPIFY_FLAG_APP_SECURITY_INSTRUCTIONS_WRITE"})};async run(){let{flags:t}=await this.parse(u),e=await l({path:t.path,config:t.config,clientId:t["client-id"],withoutAppConfig:t["without-app-config"],allowPrompts:!1});await m({appDirectory:e.appDirectory,resultsKey:c(e),commands:d(e,t.path),copy:t.copy,writePath:t.write})}};export{o as a};
|
package/dist/chunk-32RRWGNS.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as p}from"./chunk-HILYTMVA.js";import{a as i}from"./chunk-AJMJQA4J.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-62GA7XR3.js";import{g as E}from"./chunk-PT3OZEBI.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};
|
package/dist/chunk-32VQQ6EU.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as o,c as l,f as m}from"./chunk-EEAY7HFW.js";import{A as a,S as h}from"./chunk-7YXHILW4.js";import{Xa as f,ra as c}from"./chunk-62GA7XR3.js";import{c as s}from"./chunk-6IDEDOXW.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};
|
package/dist/chunk-34RFTE5T.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{a as U}from"./chunk-5BGUKF7L.js";import{a as J}from"./chunk-EDRCFY3K.js";import{a as X}from"./chunk-7DSH4CRU.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 L,c as O,d as k,g as j,i as M,p as W,u as Y}from"./chunk-VG5ZDVDQ.js";import{b as N}from"./chunk-SUTVPAJF.js";import{b as T}from"./chunk-DCKRQZLE.js";import{A as g,B as D,D as G,V as R,y as F,z as $}from"./chunk-7YXHILW4.js";import{Ib as E,sa as _}from"./chunk-62GA7XR3.js";import{b as de}from"./chunk-I3J63RFV.js";import{f as d,p as A}from"./chunk-6IDEDOXW.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(o=>k[o.severity]>=k[t])?1:0}async function ee({includeDirs:e,excludePatterns:t,noGitIgnore:i,...o}){let n=Date.now();return{...await M(o,{includeDirs:e,excludePatterns:t,noGitIgnore:i}),elapsedMilliseconds:Date.now()-n}}function te({includeDirs:e,excludePatterns:t,noGitIgnore:i,...o}){return j(o,{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(o=>o.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"){$(i);return}if(t==="warning"){g(i);return}D(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 ${Ce(e.elapsedMilliseconds)}.`],o=t.scan.checks_executed.filter(n=>n.status==="not_applicable").length;return o>0&&i.push({info:`
|
|
2
|
-
${o} check${o===1?"":"s"} not applicable.`}),i.push({info:`
|
|
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 be(e){let t=m(e)??"not linked";return e.kind==="config"&&e.clientIdOverride?`${t} (from --client-id)`:t}function ke(e){let{selection:t}=e;return{title:"Selection",body:{tabularData:[["App directory",t.appDirectory],["Config file",B(t)??"none"],["Client ID",be(t)],["Scan directories",e.scanDirectories.map(({directory:i})=>d(t.appDirectory,i)||".").join(", ")]],firstColumnSubdued:!0}}}function ve(e,t){let i=[ke(e)];for(let n of["high","medium","low"]){let s=t.filter(r=>r.severity===n);s.length!==0&&i.push({title:pe[n],body:{list:{items:s.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,s=n.slice(0,w).map(r=>r.message);n.length>w&&s.push({info:`${n.length-w} more coverage gaps`}),i.push({title:"Coverage gaps",body:{list:{items:s}}})}let{appDirectory:o}=e.selection;return i.push({title:"Artifacts",body:{list:{items:[["Deterministic findings:",{filePath:d(o,e.deterministicFindingsPath)}],["Agent security check instructions:",{filePath:d(o,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",Ie(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},oe(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,o=e.files.length,n=e.files.slice(0,v).map(s=>{let r=e.issues.find(f=>f.location.file===s);return{filePath:r.location.line?`${s}:${r.location.line}`:s}});return[{bold:t.title},oe(t.id),`${i} ${i===1?"occurrence":"occurrences"} across ${o} ${o===1?"file":"files"}`,...n,...o>v?[{subdued:`+${o-v} more files`}]:[]]}function oe(e){let t=O(e);return t?{link:{label:e,url:t}}:{subdued:e}}function Ie(e){let t=Object.entries(e).filter(([,i])=>i).map(([i])=>i);return t.length>0?t.join(", "):"none detected"}function Ce(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:R,selectInstructionsDestination:e=>G(xe(e)),deliverInstructions:J,output:E,renderInfo:F,renderWarning:g,renderReport:ie,setExitCode:e=>{process.exitCode=e},recordMetadata:X};async function Ae(e,t,i,o){return e.skipInstructions?"nothing":e.printInstructions?"print":i?t.selectInstructionsDestination(o):"nothing"}function _e(e,t,i,o,n,s){return{scan:e.scan,selection:n,scanDirectories:s,engine:e.engine,verbose:i,elapsedMilliseconds:e.elapsedMilliseconds,commands:o,deterministicFindingsPath:t.deterministicFindingsPath,agentChecksPath:t.agentChecksPath,agentCheckCount:e.agentChecks.checks.length}}function Fe(e){return e.replace(/[?*()[\]{}!#\\]/g,"\\$&")}async function se(e,t){if(e.ignoredScanDirectories.length===0&&e.otherAppDirectories.length===0)return;let i=await _(A()),o=n=>d(i,n)||".";for(let n of e.ignoredScanDirectories)t.renderWarning({headline:`${o(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 s=o(n);t.renderWarning({headline:`${s} holds another app's configuration, so its files are scanned as part of this app.`,body:["Use",{command:`--exclude ${z(Fe(s),Q())}`},"to leave it out."]})}}async function S(e,t=Pe){let i=await K(e.includeDirs),o=!e.listFiles&&t.canPrompt(),n=await t.resolveSelection({path:e.directory,config:e.configName,clientId:e.clientId,withoutAppConfig:e.withoutAppConfig,allowPrompts:o,validateClientIdFlag:!0}),{appDirectory:s}=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:b,requestedScanDirectories:ce}=V(s,i,re),C={appDirectory:s,scanDirectories:b.map(({directory:c})=>c),requestedScanDirectories:ce,appConfigDirectories:b.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(C);return await se(le,t),c.length>0&&t.output(c.join(`
|
|
4
|
-
`)),f}let u=await t.execute(C);await se(u,t),await t.recordMetadata({num_security_findings:u.scan.issues.length});let ae=await t.writeArtifacts(s,y(n),{deterministicFindings:u.deterministicFindings,agentChecks:u.agentChecks});t.renderReport(_e(u,ae,e.verbose,p,n,b));let x=await Ae(e,t,o,u.agentChecks.checks.length);x!=="nothing"&&await t.deliverInstructions({appDirectory:s,resultsKey:y(n),copy:x==="copy",scanScope:r,commands:p});let P=Z(u,e.blocking);return P!==0&&t.setExitCode(P),f}var l=ue(de(),1);var I=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. When the check uses Git, it requires Git 2.38.0 or later.\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 `--print-instructions`, which prints them. You can also run `shopify app security instructions` to print, copy, or write them later.\n\nReports the number of findings to Shopify as usage telemetry, but not finding details. See [usage reporting](https://shopify.dev/docs/api/shopify-cli#usage-reporting) for details.";static description=this.descriptionWithoutMarkdown();static examples=["<%= config.bin %> <%= command.id %>","<%= config.bin %> <%= command.id %> --include-dir ../backend","<%= config.bin %> <%= command.id %> --path extensions --config production --include-dir .","<%= config.bin %> <%= command.id %> --without-app-config --client-id <client-id>",'<%= config.bin %> <%= command.id %> --path app --include-dir . --exclude marketing --exclude "**/generated"',"<%= config.bin %> <%= command.id %> --no-git-ignore --exclude local-data","<%= config.bin %> <%= command.id %> --include-dir ../backend --list-files"];static flags={...N,...L,"include-dir":l.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:l.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":l.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":l.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:["print-instructions","skip-instructions","blocking"]}),...U,"print-instructions":l.Flags.boolean({description:"Print coding-agent instructions without prompting for how to deliver them.",default:!1,exclusive:["skip-instructions"],env:"SHOPIFY_FLAG_APP_SECURITY_PRINT_INSTRUCTIONS"}),yes:l.Flags.boolean({description:"Print coding-agent instructions without prompting.",hidden:!0,deprecated:{to:"--print-instructions"},exclusive:["skip-instructions","list-files"],env:"SHOPIFY_FLAG_YES"}),"skip-instructions":l.Flags.boolean({description:"Don't offer the coding-agent instructions after the scan. Use it when you want only the deterministic scan results.",default:!1,exclusive:["print-instructions"],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,printInstructions:!!(t["print-instructions"]||t.yes),skipInstructions:t["skip-instructions"],includeDirs:t["include-dir"]??[],excludePatterns:t.exclude??[],noGitIgnore:!!t["no-git-ignore"],listFiles:!!t["list-files"]})}};export{I as a};
|
package/dist/chunk-35VQQKVX.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as u}from"./chunk-XSRZWJIJ.js";import{e as l,j as m}from"./chunk-JM2CQP64.js";import{a as d}from"./chunk-5SLKHURV.js";import{Ha as c}from"./chunk-EEAY7HFW.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();r();var a=class extends Error{operationId;constructor(t){super(`Migration cancellation for ${t} returned neither an operation nor user errors`),this.name="MigrationCancellationProtocolError",this.operationId=t}};async function f({clientId:i,operationIds:t,cancelOperation:n=m}){return{outcomes:await Promise.all(t.map(async o=>{let e=await n({clientId:i,operationId:o});if(e.userErrors.length>0)return{status:"failed",operationId:o,operation:e.operation,userErrors:e.userErrors};if(!e.operation)throw new a(o);return{status:"success",operationId:o,operation:e.operation}}))}}var s=class i extends d{static summary="Cancels app subscription migration operations.";static descriptionWithMarkdown="Cancels app subscription migration operations.\n\nCanceling stops additional unprocessed shops, but does not undo shops that have already been scheduled or migrated. Use `unschedule` for reversible schedules.\n\nRepeat `--id` to cancel every operation GID returned by a multi-batch submission. Use `--json` to output the resulting operation states and per-shop results as structured JSON.\n\nRun the command from an app project. By default, it uses the Client ID from the active app configuration. Use `--path` to select an app directory or `--config` to select a configuration. Pass `--client-id` to select a different app within the project. Use `--reset` to relink the app.";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>","<%= config.bin %> <%= command.id %> --client-id <client-id> --id <operation-id> --json"];static flags={...l};async run(){let{flags:t}=await this.parse(i),{app:n,remoteApp:p}=await c({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),o=await f({clientId:p.apiKey,operationIds:t.id}),e=u(o,{json:t.json});return e!==0&&(process.exitCode=e),{app:n}}};export{s as a};
|
package/dist/chunk-3N6NKC2U.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as r,t as a}from"./chunk-AODTY2BL.js";import{y as p}from"./chunk-7YXHILW4.js";import{a as u}from"./chunk-AJMJQA4J.js";import{Ib as n,b as o}from"./chunk-62GA7XR3.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();function l(){return{enabled:r()}}function f(t){return a(t),{enabled:t}}e();var d=u({name:"AutoUpgradeResult",schema:o.object({enabled:o.boolean()}).strict()});e();function S(t,m){if(m==="json"){n(d.encode({enabled:t.enabled}));return}p({body:t.enabled?"Auto-upgrade on. Shopify CLI will update automatically after each command.":"Auto-upgrade off. You'll need to run `shopify upgrade` to update manually."})}export{l as a,f as b,d as c,S as d};
|
package/dist/chunk-3Q5BAPQK.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{a as y}from"./chunk-M2HQFHNO.js";import{a as d}from"./chunk-YY6TFARF.js";import{a as v}from"./chunk-NRG2WPSM.js";import{p as u}from"./chunk-TBNEN73P.js";import{p as f,v as p}from"./chunk-LQSD25YS.js";import{b as c,f as m}from"./chunk-SUTVPAJF.js";import{E as l,z as s}from"./chunk-7YXHILW4.js";import{b as g}from"./chunk-I3J63RFV.js";import{e as w,g as r}from"./chunk-VKWPEFWQ.js";r();r();async function b(o,t,i){let e=await v(o,{header:"Select a theme to publish",filter:{development:!1,live:!1,theme:t.theme}}),h=d({...e,role:"live"},o);!t.force&&!i&&!await l({message:`Do you want to make '${e.name}' the new live theme on ${o.storeFqdn}?`,confirmationMessage:`Yes, make '${e.name}' the new live theme`,cancellationMessage:"No, cancel publish"})||(await u(e.id,o),s({headline:t.environment?`Environment: ${t.environment}`:void 0,body:["The theme",...y(e),"is now live at",{link:{label:h,url:h}},{char:"."}]}))}var n=w(g(),1);var a=class extends p{static summary="Set a remote theme as the live theme.";static descriptionWithMarkdown=`Publishes an unpublished theme from your theme library.
|
|
2
|
-
|
|
3
|
-
If no theme ID is specified, then you're prompted to select the theme that you want to publish from the list of themes in your store.
|
|
4
|
-
|
|
5
|
-
You can run this command only in a directory that matches the [default Shopify theme folder structure](https://shopify.dev/docs/themes/tools/cli#directory-structure).
|
|
6
|
-
|
|
7
|
-
If you want to publish your local theme, then you need to run \`shopify theme push\` first. You're asked to confirm that you want to publish the specified theme. You can skip this confirmation using the \`--force\` flag.`;static description=this.descriptionForHelp();static flags={...c,...f,force:m(n.Flags.boolean({char:"f",description:"Skip confirmation.",env:"SHOPIFY_FLAG_FORCE"})),theme:m(n.Flags.string({char:"t",description:"Theme ID or name of the remote theme.",env:"SHOPIFY_FLAG_THEME_ID"}))};static multiEnvironmentsFlags=["store","password","theme"];async command(t,i,e){await b(i,t,e)}};export{a};
|
package/dist/chunk-42DMJGOW.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as y}from"./chunk-5SLKHURV.js";import{a as d}from"./chunk-MTBABHUB.js";import{Ha as h}from"./chunk-EEAY7HFW.js";import{b as g,c as l}from"./chunk-SUTVPAJF.js";import{a as m}from"./chunk-AJMJQA4J.js";import{Ib as u,Vb as f,b as e}from"./chunk-62GA7XR3.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();o();function S(s){return s.allExtensions.filter(t=>t.isFunctionExtension).map(t=>({source:`extensions.${t.configuration.handle}`,namespace:"extensions",handle:t.handle,name:t.name,type:t.type,externalType:t.externalType,humanName:t.humanName,uid:t.uid,directory:t.directory,configurationPath:t.configurationPath,configuration:t.configuration,entrySourceFilePath:t.entrySourceFilePath,outputPath:t.outputPath,surface:t.surface,features:t.features,dependency:t.dependency}))}o();var P=e.object({source:e.string(),namespace:e.literal("extensions"),handle:e.string(),name:e.string(),type:e.string(),externalType:e.string(),humanName:e.string(),uid:e.string(),directory:e.string(),configurationPath:e.string(),configuration:e.record(e.unknown()),entrySourceFilePath:e.string(),outputPath:e.string(),surface:e.string(),features:e.array(e.string()),dependency:e.string().optional()}).strict(),c=m({name:"AppLogSourcesResult",schema:e.object({sources:e.array(P)}).strict(),definitions:{AppLogSource:P}});o();function j(s,t){if(t==="json"){u(c.encode({sources:s}));return}let r=new Map;s.forEach(({source:a})=>{let n=a.split(".");if(n.length>=2){let i=n[0];r.has(i)||r.set(i,[]),r.set(i,[...r.get(i),a])}});for(let[a,n]of r)u(f(a,n.join(`
|
|
2
|
-
`)))}var p=class s extends y{static summary="Print out a list of sources that may be used with the logs command.";static descriptionWithMarkdown="The output source names can be used with the `--source` argument of `shopify app logs` to filter log output. Currently only function extensions are supported as sources.";static get jsonOutputSchema(){return c}static description=this.descriptionForHelp();static flags={...g,...d,...l};async run(){let{flags:t}=await this.parse(s),{app:r}=await h({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config});return r.errors.isEmpty()?j(S(r),t.json?"json":"text"):process.exit(2),{app:r}}};export{p as a};
|
package/dist/chunk-4CTTWXUX.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import{a as J}from"./chunk-4IAGBAQD.js";import{a as p}from"./chunk-M2HQFHNO.js";import{a as v}from"./chunk-YY6TFARF.js";import{a as E,b as C}from"./chunk-NRG2WPSM.js";import{r as S}from"./chunk-TBNEN73P.js";import{p as h,r as D,v as N}from"./chunk-LQSD25YS.js";import{b as q,c as F,f as O}from"./chunk-SUTVPAJF.js";import{K as b}from"./chunk-HB4YI2PF.js";import{B as m,E as T,W as d,z as w}from"./chunk-7YXHILW4.js";import{Ib as n}from"./chunk-62GA7XR3.js";import{b as Y}from"./chunk-I3J63RFV.js";import{e as P,g as c}from"./chunk-VKWPEFWQ.js";c();c();async function x(t,o,e){let{name:r,verbose:u,noColor:l,json:a,force:A}=e,y=d()||A;if(J({verbose:u,noColor:l}),y&&!o){let i="A theme ID is required to duplicate a theme, specify one with the --theme flag";a?n(JSON.stringify({message:i,errors:[]})):m({body:[i]});return}let s=o?await C(t,o):await E(t,{header:"Select a theme to duplicate",filter:{theme:o}});if(!s){let i=`No theme with ID ${o} could be found. Use shopify theme list to find a theme ID.`;a?n(JSON.stringify({message:i,errors:[]})):m({body:[i]});return}if(s?.role==="development"){let i="Development themes can't be duplicated. Use shopify theme push to upload it to the store first.";a?n(JSON.stringify({message:i,errors:[]})):m({body:[i]});return}if(!y&&!await T({message:`Do you want to duplicate '${s.name}' on ${t.storeFqdn}?`,confirmationMessage:`Yes, duplicate '${s.name}'`,cancellationMessage:"No, cancel duplicate"}))return;let I=await S(s.id,r,t);a?M(s,t,I):j(s,t,I)}function j(t,o,e){if(e.userErrors&&e.userErrors.length>0){let r=e.userErrors.map(u=>u.message).join(", ");m({body:["The theme",...p(t),"could not be duplicated due to errors: ",{subdued:r},{char:"."},...e.requestId?[`
|
|
2
|
-
Request ID: `,{subdued:e.requestId}]:[]]})}else e.theme?w({body:["The theme",...p(t),"has been duplicated",{char:"."}],nextSteps:[[{link:{label:"View the duplicated theme",url:v(e.theme,o)}}]]}):m({body:["The theme",...p(t),"unexpectedly could not be duplicated",{char:"."},...e.requestId?[`
|
|
3
|
-
Request ID: `,{subdued:e.requestId}]:[]]})}function M(t,o,e){if(e.userErrors&&e.userErrors.length>0)n(JSON.stringify({message:`The theme '${t.name}' could not be duplicated due to errors`,errors:e.userErrors.map(r=>r.message),requestId:e.requestId}));else if(e.theme){let{id:r,name:u,role:l}=e.theme,a={theme:{id:r,name:u,role:l,shop:o.storeFqdn}};n(JSON.stringify(a))}else n(JSON.stringify({message:`The theme '${t.name}' unexpectedly could not be duplicated `,errors:[],requestId:e.requestId}))}var f=P(Y(),1);var g=class t extends N{static summary="Duplicates a theme from your theme library.";static usage=["theme duplicate","theme duplicate --theme 10 --name 'New Theme'"];static descriptionWithMarkdown=`If you want to duplicate your local theme, you need to run \`shopify theme push\` first.
|
|
4
|
-
|
|
5
|
-
If no theme ID is specified, you're prompted to select the theme that you want to duplicate from the list of themes in your store. You're asked to confirm that you want to duplicate the specified theme.
|
|
6
|
-
|
|
7
|
-
Prompts and confirmations are not shown when duplicate is run in a CI environment or the \`--force\` flag is used, therefore you must specify a theme ID using the \`--theme\` flag.
|
|
8
|
-
|
|
9
|
-
You can optionally name the duplicated theme using the \`--name\` flag.
|
|
10
|
-
|
|
11
|
-
If you use the \`--json\` flag, then theme information is returned in JSON format, which can be used as a machine-readable input for scripts or continuous integration.
|
|
12
|
-
|
|
13
|
-
Sample JSON output:
|
|
14
|
-
|
|
15
|
-
\`\`\`json
|
|
16
|
-
{
|
|
17
|
-
"theme": {
|
|
18
|
-
"id": 108267175958,
|
|
19
|
-
"name": "A Duplicated Theme",
|
|
20
|
-
"role": "unpublished",
|
|
21
|
-
"shop": "mystore.myshopify.com"
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
\`\`\`
|
|
25
|
-
|
|
26
|
-
\`\`\`json
|
|
27
|
-
{
|
|
28
|
-
"message": "The theme 'Summer Edition' could not be duplicated due to errors",
|
|
29
|
-
"errors": ["Maximum number of themes reached"],
|
|
30
|
-
"requestId": "12345-abcde-67890"
|
|
31
|
-
}
|
|
32
|
-
\`\`\``;static description=this.descriptionForHelp();static flags={...q,...F,password:h.password,theme:O(f.Flags.string({char:"t",description:"Theme ID or name of the remote theme.",env:"SHOPIFY_FLAG_THEME_ID"})),name:f.Flags.string({char:"n",description:"Name of the newly duplicated theme.",env:"SHOPIFY_FLAG_NAME"}),store:h.store,environment:h.environment,force:f.Flags.boolean({char:"f",description:"Force the duplicate operation to run without prompts or confirmations. Required if non interactive outside CI.",env:"SHOPIFY_FLAG_FORCE"})};static nonTTYFlagRequirements(){return[{flags:["force"],when:()=>!d()}]}async run(){let{flags:o}=await this.parse(t),e=D(o),r=await b(e,o.password);await x(r,o.theme,o)}};export{g as a};
|
package/dist/chunk-4HBKQUKY.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Bb as h,Jb as g,Qb as f,ib as E}from"./chunk-62GA7XR3.js";import{b as O}from"./chunk-I3J63RFV.js";import{d as m}from"./chunk-6IDEDOXW.js";import{e as P,g as o}from"./chunk-VKWPEFWQ.js";o();o();o();var R=new Set(["THROTTLED","429"]),b=new Set(["ACCESS_DENIED","access_denied"]);function I(e){return Array.isArray(e)?e.flatMap(t=>{let s=[],n=t,r=n?.extensions?.code;typeof r=="string"&&s.push(r);let u=n?.extensions?.app_errors?.errors;if(Array.isArray(u))for(let p of u){let l=p?.category;typeof l=="string"&&s.push(l)}return s}):[]}function T(e){return e!==void 0&&R.has(e)}function _(e){return e!==void 0&&b.has(e)}function S(e){return I(e).some(T)}o();var C=new Set([502,503,504]);function x(e){return e!==void 0&&C.has(e)}var M=P(O(),1),i;(function(e){e[e.Abort=0]="Abort",e[e.AbortSilent=1]="AbortSilent",e[e.Bug=2]="Bug"})(i||(i={}));var y=class extends Error{},a=class extends Error{tryMessage;type;nextSteps;formattedMessage;customSections;code;details;skipOclifErrorHandling;constructor(t,s,n=null,r,u){let p=typeof t=="string"||"value"in t;super(p?f(t):E(t)),n?n instanceof h?this.tryMessage=f(n):this.tryMessage=n:this.tryMessage=null,this.type=s,this.nextSteps=r,this.customSections=u,this.skipOclifErrorHandling=!0,p||(this.formattedMessage=t)}},d=class extends a{constructor(t,s=null,n,r){super(t,i.Abort,s,n,r)}},w=class extends a{command;args;constructor(t,s,n,r=null){super(t,i.Abort,r),this.command=s,this.args=n}},A=class extends a{constructor(){super("",i.AbortSilent)}},c=class extends a{constructor(t,s=null){super(t,i.Bug,s)}};async function z(e){let t;if(k(e))t=e;else if(typeof e=="string")t=new c(e);else if(e instanceof Error)t=new c(e.message),t.stack=e.stack;else{let r=e;t=new c(r?.message??"Unknown error"),r?.stack&&(t.stack=r?.stack)}let{jsonOutputEnabled:s}=await import("./environment-RSUK27TA.js");if(s()){let{renderFatalErrorAsJson:r}=await import("./json-error-OHV2KQFY.js");return r(t),await g(),e}let{renderFatalError:n}=await import("./ui-RP6SVJUK.js");return n(t),Promise.resolve(e)}function J(e){if(e instanceof M.Errors.CLIError){let t=new d(e.message);return t.stack=e.stack,Promise.resolve(t)}else return Promise.resolve(e)}function k(e){try{return Object.prototype.hasOwnProperty.call(e,"type")}catch{return!1}}function Q(e){if(!k(e)){if(e instanceof Error){if(v(e))return!1;let t=e.message;return!L(t)}return!0}return e.type===i.Bug}function v(e){let t=e;if(typeof t.response!="object"||t.response===null||t.request===void 0)return!1;let s=t.response.status;return s===401||s===429||x(s)?!0:S(t.response.errors)}function W(e){return m(e).replace("file:/","/").replace(/^\/?[A-Z]:/,"")}function L(e){return["EPERM: operation not permitted, scandir","EPERM: operation not permitted, rename","EACCES: permission denied","EPERM: operation not permitted, symlink","This version of npm supports the following node versions","EBUSY: resource busy or locked","ENOTEMPTY: directory not empty","getaddrinfo ENOTFOUND","Client network socket disconnected before secure TLS connection was established","spawn EPERM","socket hang up","The user aborted a request.","write EPIPE","Unsupported platform"].some(n=>e.includes(n))}export{I as a,T as b,_ as c,S as d,x as e,i as f,y as g,a as h,d as i,w as j,A as k,c as l,z as m,J as n,Q as o,W as p};
|
package/dist/chunk-4MQXMIWQ.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{a as h,b as I}from"./chunk-M2HQFHNO.js";import{a as D}from"./chunk-7LB6DPB6.js";import{a as _,c as b}from"./chunk-NRG2WPSM.js";import{e as F,q as y}from"./chunk-TBNEN73P.js";import{i as w,p as g,v as T}from"./chunk-LQSD25YS.js";import{b as v,f as u}from"./chunk-SUTVPAJF.js";import{E as p,z as d}from"./chunk-7YXHILW4.js";import{Y as c}from"./chunk-62GA7XR3.js";import{b as C}from"./chunk-I3J63RFV.js";import{e as E,g as a}from"./chunk-VKWPEFWQ.js";a();a();async function O(t,e,r){let n=e.themes;e.development&&(n=[(await new D(t).find()).id.toString()]);let m=t.storeFqdn,i=await H(t,{...e,themes:n,development:!1});if(!e.force&&!r&&!await L(i,m))return;await Promise.all(i.map(o=>(F(o)&&w(),y(o.id,t))));let l=e.environment?[{subdued:`Environment: ${e.environment}
|
|
2
|
-
|
|
3
|
-
`}]:[];d({body:c(i,o=>[...l,`The following themes were deleted from ${m}:`,I(o)],o=>[...l,"The theme",...h(o),`was deleted from ${m}.`])})}async function H(t,e){if(e.selectTheme||e.themes.length>0)return b(t,e);let r=t.storeFqdn;return[await _(t,{header:`Select a theme to delete from ${r}`,filter:{development:e.development}})]}async function L(t,e){let n={message:c(t,m=>[`Delete the following themes from ${e}?`],m=>["Delete",...h(m),`from ${e}?`]),confirmationMessage:"Yes, confirm changes",cancellationMessage:"Cancel"};return t.length>1&&(n.infoTable={"":t.map(h)}),p(n)}var s=E(C(),1);var f=class extends T{static summary="Delete remote themes from the connected store. This command can't be undone.";static descriptionWithMarkdown=`Deletes a theme from your store.
|
|
4
|
-
|
|
5
|
-
You can specify multiple themes by ID. If no theme is specified, then you're prompted to select the theme that you want to delete from the list of themes in your store.
|
|
6
|
-
|
|
7
|
-
You're asked to confirm that you want to delete the specified themes before they are deleted. You can skip this confirmation using the \`--force\` flag.`;static description=this.descriptionForHelp();static flags={...v,...g,development:s.Flags.boolean({char:"d",description:"Delete your development theme. Use --show-all, --development, or --theme in non-interactive environments.",env:"SHOPIFY_FLAG_DEVELOPMENT"}),"show-all":s.Flags.boolean({char:"a",description:"Include other development themes in the theme list. Use --show-all, --development, or --theme in non-interactive environments.",env:"SHOPIFY_FLAG_SHOW_ALL"}),force:u(s.Flags.boolean({char:"f",description:"Skip confirmation.",env:"SHOPIFY_FLAG_FORCE"})),theme:s.Flags.string({char:"t",description:"Theme ID or name of the remote theme. Use --show-all, --development, or --theme in non-interactive environments.",env:"SHOPIFY_FLAG_THEME_ID",multiple:!0})};static multiEnvironmentsFlags=["store","password",["development","theme","show-all"]];static nonTTYFlagRequirements(){return[{flags:["theme","development","show-all"]}]}async command(e,r,n){let{environment:m,development:i,force:l,theme:o}=e,Y=o??[];await O(r,{selectTheme:e["show-all"],environment:m,development:i,themes:Y,force:l},n)}};export{f as a};
|
package/dist/chunk-5APLAJCB.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{b as R}from"./chunk-J3JPJCWP.js";import{a as x,l as M,n as Y}from"./chunk-KMJTO7CU.js";import{a as U}from"./chunk-4IAGBAQD.js";import{a as G,c as p}from"./chunk-M2HQFHNO.js";import{a as O}from"./chunk-7LB6DPB6.js";import{a as S,b as L}from"./chunk-YY6TFARF.js";import{a as H}from"./chunk-NRG2WPSM.js";import{k as A,n as I}from"./chunk-TBNEN73P.js";import{p as D,q as E,r as P,u as _,v as C}from"./chunk-LQSD25YS.js";import{i as $,l as V}from"./chunk-K6FH5JSY.js";import{b}from"./chunk-SUTVPAJF.js";import{K as g,oa as m}from"./chunk-HB4YI2PF.js";import{H as k,z as F}from"./chunk-7YXHILW4.js";import{_a as T}from"./chunk-62GA7XR3.js";import{b as Q}from"./chunk-I3J63RFV.js";import{p as f}from"./chunk-6IDEDOXW.js";import{e as z,g as c}from"./chunk-VKWPEFWQ.js";c();c();c();async function B(e,t,o,n,r,l){let i=W(o,n,r),a=X(o,e,n,t),s=[...i,...a,{title:"Theme download complete",task:async()=>{}}];s.length>0&&await k(s,{renderOptions:{stdout:l?.stdout??process.stdout},noProgressBar:r.multiEnvironment})}function W(e,t,o){if(o.nodelete)return[];let n=new Set(e.map(i=>i.key));return t.applyIgnoreFilters([...t.files.values()]).map(({key:i})=>i).filter(i=>!n.has(i)).map(i=>({title:`Cleaning your local directory (removing ${i})`,task:async()=>t.delete(i)}))}function X(e,t,o,n){let r=o.applyIgnoreFilters(e);r=r.filter(s=>{let h=s.checksum;return o.files.get(s.key)?.checksum!==h});let l=r.map(s=>s.key),i=s=>s.total===0?"[100%]":`[${Math.round(s.current/s.total*100)}%]`;return R(l,_,(s,h)=>({title:`Downloading files from remote theme ${i({current:h,total:l.length})}`,task:async()=>J(t,o,s,n)}))}async function J(e,t,o,n){let r=await A(e.id,o,n);r&&await Promise.all(r.map(l=>t.write(l)))}async function K(e,t,o,n){m("theme-service:pull:setup"),U({verbose:e.verbose,noColor:e.noColor});let r=t??await g(P({store:e.store}),e.password),l=new O(r),i=await(e.development?l.find():l.fetch()),{path:a,nodelete:s,live:h,development:u,only:q,ignore:N,force:y,environment:w}=e;if(!await te(a??f(),y??!1,w?.[0],o))return;let j=await H(r,{header:"Select a theme to open",filter:{live:h,theme:u?`${i?.id}`:e.theme}});m("theme-service:pull:setup"),await Z(j,r,{environment:w?.[0],force:y??!1,ignore:N??[],multiEnvironment:o,nodelete:s??!1,only:q??[],path:a??f()},n)}async function Z(e,t,o,n){m("theme-service:pull:file-system");let r=M(o.path,{filters:o}),[l]=await Promise.all([I(e.id,t),r.ready()]),i=x(l);m("theme-service:pull:file-system"),await B(e,t,i,r,o,n);let a=o.environment?`Environment: ${o.environment}`:"";F({headline:a,body:["The theme",...G(e),"has been pulled."],nextSteps:[[{link:{label:"View your theme",url:S(e,t)}}],[{link:{label:"Customize your theme at the theme editor",url:L(e,t)}}]]})}async function ee(e){return(await T("*",{cwd:e,deep:1,onlyFiles:!1})).length===0}async function te(e,t,o,n){return t?!0:!(!await ee(e)&&!await Y(e)&&!await p(t,void 0,o,n)||await $(e)&&!await V(e)&&!await p(t,"The current Git directory has uncommitted changes.",o,n))}var d=z(Q(),1);var v=class extends C{static summary="Download your remote theme files locally.";static descriptionWithMarkdown=`Retrieves theme files from Shopify.
|
|
2
|
-
|
|
3
|
-
If no theme is specified, then you're prompted to select the theme to pull from the list of the themes in your store.`;static description=this.descriptionForHelp();static flags={...b,...D,...E("download"),theme:d.Flags.string({char:"t",description:"Theme ID or name of the remote theme. Use --development, --live, or --theme in non-interactive environments.",env:"SHOPIFY_FLAG_THEME_ID"}),development:d.Flags.boolean({char:"d",description:"Pull theme files from your remote development theme. Use --development, --live, or --theme in non-interactive environments.",env:"SHOPIFY_FLAG_DEVELOPMENT"}),live:d.Flags.boolean({char:"l",description:"Pull theme files from your remote live theme. Use --development, --live, or --theme in non-interactive environments.",env:"SHOPIFY_FLAG_LIVE"}),nodelete:d.Flags.boolean({char:"n",description:"Prevent deleting local files that don't exist remotely.",env:"SHOPIFY_FLAG_NODELETE"}),force:d.Flags.boolean({hidden:!0,char:"f",description:"Proceed without confirmation, if current directory does not seem to be theme directory.",env:"SHOPIFY_FLAG_FORCE"})};static multiEnvironmentsFlags=["store","password","path",["live","development","theme"]];static nonTTYFlagRequirements(){return[{flags:["theme","development","live"]}]}async command(t,o,n,r,l){m("theme-command:pull"),await K({...t,noColor:t["no-color"]},o,n,l),m("theme-command:pull")}storeAuthScopes(){return["read_themes"]}};export{K as a,v as b};
|
package/dist/chunk-5AQNISGC.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as u,c as d}from"./chunk-2QENUJVG.js";import{a as c}from"./chunk-OHJUEUSA.js";import{a as e}from"./chunk-MTBABHUB.js";import{Ia as n,e as p}from"./chunk-EEAY7HFW.js";import{b as i}from"./chunk-SUTVPAJF.js";import{z as s}from"./chunk-7YXHILW4.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};
|
package/dist/chunk-5OM72O4N.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as p}from"./chunk-UUM367NR.js";import{a as r,b as c}from"./chunk-XSRZWJIJ.js";import{d as s}from"./chunk-JM2CQP64.js";import{a}from"./chunk-5SLKHURV.js";import{Ha as n}from"./chunk-EEAY7HFW.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var t=class d extends a{static summary="Schedules manual-billing subscriptions to migrate to Shopify-managed app pricing.";static descriptionWithMarkdown="Schedules manual-billing subscriptions to migrate to Shopify-managed app pricing.\n\nWhen `--input` is omitted, the command reads CSV data from stdin. Use `--input <path>` to read from a file. `--input -` is also supported as an explicit stdin path.\n\n- Required CSV columns: `shop_id`, `target_plan_handle`, and `price_behavior`.\n- Optional CSV column: `notification`.\n- Example header: `shop_id,target_plan_handle,price_behavior,notification`.\n- Example row: `123456789,pro,HONOR_BILLING_PRICE,WHEN_REQUIRED`.\n\n`price_behavior` must be `HONOR_BILLING_PRICE` or `PLAN_PRICE`. `notification` can be `OPT_OUT` or `WHEN_REQUIRED` and defaults to `WHEN_REQUIRED` when omitted or blank.\n\nValidation is atomic: the command submits no operations unless the entire CSV is valid. Valid rows are submitted in batches of 250 shops. Preserve every operation GID printed by the command so you can check or cancel the submitted operations.\n\nRun the command from an app project. By default, it uses the Client ID from the active app configuration. Use `--path` to select an app directory or `--config` to select a configuration. Pass `--client-id` to select a different app within the project. Use `--reset` to relink the app.\n\nUse `--force` to skip confirmation and immediately submit every valid row. With `--watch`, human-readable output shows accepted identifiers before polling begins, then displays operation progress and the final outcome. With `--json --watch`, the command outputs one structured JSON document after every operation reaches a terminal status.";static description=this.descriptionWithoutMarkdown();static examples=["<%= config.bin %> <%= command.id %> --input migrations.csv --force","cat migrations.csv | <%= config.bin %> <%= command.id %> --force","<%= config.bin %> <%= command.id %> --input migrations.csv --path ../my-app --config staging --force --json","<%= config.bin %> <%= command.id %> --input migrations.csv --client-id <client-id> --force","<%= config.bin %> <%= command.id %> --input - --force --watch"];static flags={...s};async run(){let{flags:i}=await this.parse(d),{app:m,remoteApp:l}=await n({directory:i.path,clientId:i["client-id"],forceRelink:i.reset,userProvidedConfigName:i.config}),u=await p({action:"schedule",input:i.input??"-",clientId:l.apiKey,skipConfirmation:i.force,watch:i.watch,...i.watch&&!i.json?{onSubmissionAccepted:r}:{}}),e=c(u,{json:i.json,watch:i.watch});return e!==0&&(process.exitCode=e),{app:m}}};export{t as a};
|
package/dist/chunk-5SLKHURV.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as o}from"./chunk-QBIYAMSH.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var t=class extends o{};export{t as a};
|