@shopify/cli 4.1.0 → 4.3.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/{acorn-LOOAJL3S.js → acorn-7M27BPGP.js} +1 -1
- package/dist/analytics-JH64XI2J.js +1 -0
- package/dist/analytics-MEGKKFGF.js +1 -0
- package/dist/angular-DW5TQVCM.js +4 -0
- package/dist/{babel-URCL33XX.js → babel-I2RLWM7N.js} +1 -1
- package/dist/bootstrap.js +1 -1
- package/dist/{chokidar-G4ONJSK4.js → chokidar-VDIVGBZH.js} +1 -1
- package/dist/chunk-25HJX3L2.js +5 -0
- package/dist/chunk-2EHBJWC6.js +26 -0
- package/dist/chunk-2GAFKG64.js +4 -0
- package/dist/chunk-2GU7OY3H.js +1 -0
- package/dist/{chunk-4IC626OL.js → chunk-2K7FGAT6.js} +1 -1
- package/dist/{chunk-PRVQAHWI.js → chunk-2O22LZKV.js} +1 -1
- package/dist/{chunk-NMBBTTIH.js → chunk-2RBIR3NM.js} +1 -1
- package/dist/chunk-2TMQG2UT.js +1 -0
- package/dist/chunk-2XZBQZ5R.js +7 -0
- package/dist/{chunk-Q4T2T2QE.js → chunk-33OHQUHZ.js} +1 -1
- package/dist/chunk-3AOQKI4B.js +1 -0
- package/dist/{chunk-OBEWZXOQ.js → chunk-3SPDFV5D.js} +1 -1
- package/dist/chunk-3YDYZ232.js +103 -0
- package/dist/chunk-4FFPTEKD.js +1 -0
- package/dist/chunk-4J32OHLY.js +1382 -0
- package/dist/chunk-4QTEPWEJ.js +283 -0
- package/dist/chunk-57PPQKJT.js +15 -0
- package/dist/{chunk-AGNMOFJS.js → chunk-5BKCIDMS.js} +1 -1
- package/dist/{chunk-JUVAGMIH.js → chunk-5C7HDTHJ.js} +1 -1
- package/dist/chunk-5FFHQTRC.js +4 -0
- package/dist/{chunk-2GK56X53.js → chunk-5FVB7JHP.js} +1 -1
- package/dist/{chunk-UYXEA3Y6.js → chunk-5H3VTG77.js} +1 -1
- package/dist/chunk-5O43334U.js +2 -0
- package/dist/chunk-5XDQ76DQ.js +1 -0
- package/dist/{chunk-PD5ZHJWI.js → chunk-636CTEW7.js} +1 -1
- package/dist/chunk-6JKGUQRD.js +1 -0
- package/dist/chunk-6KETAPWL.js +1 -0
- package/dist/{chunk-ULFWK45W.js → chunk-6LWOWDF4.js} +2 -2
- package/dist/chunk-7572RLUP.js +1 -0
- package/dist/chunk-762JWOWJ.js +5 -0
- package/dist/{chunk-IU2ZQ6TE.js → chunk-773TIA5M.js} +1 -1
- package/dist/{chunk-76R52ODR.js → chunk-7D45IAMQ.js} +1 -1
- package/dist/chunk-7FQFEB33.js +370 -0
- package/dist/chunk-7LV55VWE.js +1 -0
- package/dist/{chunk-QUTQDXSL.js → chunk-7UNQOKZW.js} +1 -1
- package/dist/chunk-A27NZMWB.js +1 -0
- package/dist/chunk-A4SBXDZB.js +14 -0
- package/dist/{chunk-4DCQNGUV.js → chunk-A5HKAMAC.js} +10 -10
- package/dist/{chunk-Z35BTAM6.js → chunk-AAK376RT.js} +1 -1
- package/dist/chunk-AERKD4TO.js +3 -0
- package/dist/{chunk-L2MGAEV3.js → chunk-ANBOLDON.js} +2 -2
- package/dist/{chunk-UJVH7FZS.js → chunk-AO3RFGNV.js} +1 -1
- package/dist/{chunk-KHSYW7I4.js → chunk-ATSMK66C.js} +1 -1
- package/dist/chunk-AU5EZQW7.js +5 -0
- package/dist/chunk-AVD3INWF.js +1 -0
- package/dist/chunk-AWEB5AQM.js +1 -0
- package/dist/chunk-AXNAGI32.js +1 -0
- package/dist/chunk-BL46CZ2M.js +2 -0
- package/dist/chunk-BQWK3C47.js +278 -0
- package/dist/chunk-CEHXOWA6.js +3 -0
- package/dist/{chunk-EKXY5COY.js → chunk-CFOXXOO2.js} +1 -1
- package/dist/{chunk-PIBY5DDZ.js → chunk-CRALWNNO.js} +1 -1
- package/dist/chunk-CV5EQGES.js +22 -0
- package/dist/chunk-CX5CC6P5.js +1 -0
- package/dist/chunk-DCLUZFT7.js +2 -0
- package/dist/{chunk-Q33IBIVJ.js → chunk-DNXYKGV2.js} +1 -1
- package/dist/chunk-DTIWUT2T.js +18 -0
- package/dist/{chunk-VICYNG2W.js → chunk-DYNH5SKT.js} +1 -1
- package/dist/chunk-DZQYG32N.js +2 -0
- package/dist/{chunk-FQWB2F75.js → chunk-E7DHELFH.js} +1 -1
- package/dist/chunk-EH7ZTFS4.js +613 -0
- package/dist/{chunk-P6XE4MH5.js → chunk-EJDWYASP.js} +1 -1
- package/dist/chunk-EKVTNWHM.js +1 -0
- package/dist/{chunk-6M3ZYNGO.js → chunk-ET2CGROE.js} +1 -1
- package/dist/chunk-EVZA2TCI.js +3 -0
- package/dist/{chunk-QSTEVZFQ.js → chunk-F3TMLDLC.js} +1 -1
- package/dist/chunk-FIYAECXH.js +28 -0
- package/dist/{chunk-WDC3KIZT.js → chunk-FKIVKNOV.js} +1 -1
- package/dist/chunk-FOFJBRSL.js +11 -0
- package/dist/chunk-FQ5ZZX2G.js +25 -0
- package/dist/chunk-G2LVUM7N.js +6 -0
- package/dist/chunk-G2OHWAY2.js +7 -0
- package/dist/chunk-G3JJLXPH.js +1 -0
- package/dist/chunk-G3RWLAOG.js +1 -0
- package/dist/chunk-G4OQABDT.js +836 -0
- package/dist/{chunk-KLMDWDT2.js → chunk-GB3YC4TI.js} +1 -1
- package/dist/{chunk-OCOY5MV2.js → chunk-GCN4O7HM.js} +1 -1
- package/dist/chunk-GDHD3TGC.js +6 -0
- package/dist/{chunk-JXW374CL.js → chunk-GJXINXSU.js} +11 -11
- package/dist/chunk-GWHV62YT.js +1 -0
- package/dist/chunk-HCTZN7L4.js +2 -0
- package/dist/{chunk-ZSBA6VIC.js → chunk-HDC5V7RY.js} +1 -1
- package/dist/{chunk-7NH7CHVI.js → chunk-HIQHYPLU.js} +1 -1
- package/dist/{chunk-XOTA6JTZ.js → chunk-HOSFU6UP.js} +3 -3
- package/dist/chunk-I22ZTRKK.js +3 -0
- package/dist/chunk-I4R7TML2.js +7 -0
- package/dist/{chunk-EENHXSWU.js → chunk-I5A6BPCP.js} +1 -1
- package/dist/chunk-IWOTLFOY.js +32 -0
- package/dist/{chunk-7UYZQN4V.js → chunk-J3H4LPN6.js} +3 -3
- package/dist/{chunk-XULPJ6UG.js → chunk-J3HX6ZGD.js} +1 -1
- package/dist/chunk-J3JPJCWP.js +1 -0
- package/dist/chunk-J5BRKYGE.js +294 -0
- package/dist/chunk-JAWKLBOB.js +3 -0
- package/dist/{chunk-MCVRONUY.js → chunk-JAWOP4HJ.js} +1 -1
- package/dist/{chunk-ZGK3LGCH.js → chunk-JCIN73BE.js} +1 -1
- package/dist/chunk-JEZ3PGVC.js +1 -0
- package/dist/{chunk-C7BTJ32Z.js → chunk-JJ6RM54S.js} +1 -1
- package/dist/chunk-JK3NIHTX.js +17 -0
- package/dist/chunk-JLE4NBMT.js +1 -0
- package/dist/chunk-JSOGPMWB.js +5 -0
- package/dist/chunk-JUYJZUYU.js +1 -0
- package/dist/chunk-KRQGLK2Q.js +3 -0
- package/dist/{chunk-3VZEETAV.js → chunk-KRZABRYT.js} +1 -1
- package/dist/{chunk-BS3BKORT.js → chunk-L2PC4MUV.js} +1 -1
- package/dist/chunk-LCZDC6EE.js +5 -0
- package/dist/chunk-LXVORHCQ.js +1 -0
- package/dist/chunk-M2YINBHF.js +32 -0
- package/dist/chunk-M7YFD4EV.js +10 -0
- package/dist/chunk-MEIEEENL.js +1 -0
- package/dist/chunk-MIDYZPO4.js +1 -0
- package/dist/chunk-MINZGZ4N.js +1 -0
- package/dist/chunk-MMIHHCMW.js +5 -0
- package/dist/{chunk-PRKBO42R.js → chunk-MPW2YJWU.js} +1 -1
- package/dist/chunk-MRS6LAY7.js +1 -0
- package/dist/chunk-N3CNWCC2.js +19 -0
- package/dist/{chunk-M2D7USAX.js → chunk-N3NE4MVN.js} +1 -1
- package/dist/chunk-N3YTDGFY.js +4 -0
- package/dist/{chunk-MHWV5RQV.js → chunk-N5LVGFDS.js} +2 -2
- package/dist/{chunk-QBSKKQBN.js → chunk-NILXAUUT.js} +1 -1
- package/dist/{chunk-5Y7GIF2W.js → chunk-NJOO5XJV.js} +1 -1
- package/dist/{chunk-ULQG3XQS.js → chunk-NNOSZ447.js} +1 -1
- package/dist/{chunk-6G6TMKXF.js → chunk-NTRAWIEJ.js} +21 -21
- package/dist/chunk-NWXDOCL5.js +1 -0
- package/dist/{chunk-2AJ5FI2K.js → chunk-OU3M32A2.js} +1 -1
- package/dist/chunk-OU4SKQTC.js +5 -0
- package/dist/chunk-OXJBYKMX.js +1 -0
- package/dist/chunk-OZBY45KT.js +1 -0
- package/dist/{chunk-75VPUOC5.js → chunk-P2OI2P2M.js} +1 -1
- package/dist/chunk-PCCK4YTE.js +1 -0
- package/dist/{chunk-6RE2SNCU.js → chunk-PFGYC53K.js} +1 -1
- package/dist/chunk-PMS4MNHB.js +6 -0
- package/dist/chunk-PNP5OKNZ.js +1 -0
- package/dist/{chunk-KN3WTTHZ.js → chunk-PXHY753L.js} +1 -1
- package/dist/chunk-Q73GEVSJ.js +11 -0
- package/dist/{chunk-5WVAHE5E.js → chunk-Q77MM2N2.js} +1 -1
- package/dist/chunk-Q7C44DX5.js +4 -0
- package/dist/chunk-QDVJJKLB.js +1 -0
- package/dist/{chunk-5CH3B62S.js → chunk-RJ5VF3QY.js} +1 -1
- package/dist/{chunk-E3EMHAJB.js → chunk-RKDZGK5K.js} +1 -1
- package/dist/{chunk-TYZXGSHO.js → chunk-RSRYC5ZF.js} +1 -1
- package/dist/chunk-S22NCNAJ.js +1 -0
- package/dist/chunk-S5IFJ737.js +3 -0
- package/dist/chunk-S6B2ADVR.js +8 -0
- package/dist/chunk-S7F5KFQP.js +1 -0
- package/dist/chunk-SSCYLDSX.js +3 -0
- package/dist/{chunk-QFWIDATO.js → chunk-STJ3LWFL.js} +1 -1
- package/dist/chunk-T3ERXB7F.js +8 -0
- package/dist/chunk-T4IV643Z.js +9 -0
- package/dist/chunk-T4NS63K4.js +16 -0
- package/dist/chunk-T6CC5WUU.js +159 -0
- package/dist/{chunk-3TNEIDOD.js → chunk-T7KHS6RF.js} +1 -1
- package/dist/{chunk-QYR5VPQA.js → chunk-TOLPNBZK.js} +1 -1
- package/dist/{chunk-DRFGABEB.js → chunk-TP7E54WN.js} +1 -1
- package/dist/chunk-TPCG6DCA.js +1 -0
- package/dist/{chunk-SXTMSGUE.js → chunk-TRYWVIVJ.js} +1 -1
- package/dist/chunk-TU47HMTL.js +1 -0
- package/dist/chunk-TUNUEOHO.js +3 -0
- package/dist/{chunk-MWY3A7O3.js → chunk-TY6BZTG3.js} +1 -1
- package/dist/chunk-TYMYIUIQ.js +1 -0
- package/dist/chunk-UB26DGTR.js +6 -0
- package/dist/chunk-UC7KMA6W.js +8 -0
- package/dist/chunk-UOHNRH6E.js +7 -0
- package/dist/{chunk-ZR76GGZ6.js → chunk-UQWFDL3F.js} +1 -1
- package/dist/chunk-USLYL5AC.js +1 -0
- package/dist/chunk-UTO4Z6P6.js +567 -0
- package/dist/{chunk-M2ZHFKPN.js → chunk-UU5P2IYU.js} +1 -1
- package/dist/chunk-UYSF234H.js +1 -0
- package/dist/chunk-VE35YELD.js +1 -0
- package/dist/{chunk-WSDN25F5.js → chunk-VI34CKV6.js} +1 -1
- package/dist/chunk-VJ6KDRZI.js +1 -0
- package/dist/{chunk-VBUZWRUL.js → chunk-VJEKDBGZ.js} +1 -1
- package/dist/chunk-VKWPEFWQ.js +1 -0
- package/dist/chunk-VPPWSKOY.js +1 -0
- package/dist/chunk-VRJTLVG3.js +1 -0
- package/dist/chunk-VUMUCNI7.js +1 -0
- package/dist/chunk-W7DDV2EY.js +1 -0
- package/dist/chunk-WA3YC5W4.js +15 -0
- package/dist/chunk-WHNWE7P2.js +1 -0
- package/dist/chunk-WVRGCNBZ.js +1 -0
- package/dist/{chunk-MOA33ZFO.js → chunk-WW7TENNA.js} +1 -1
- package/dist/{chunk-HZA6IAA4.js → chunk-XVUHUA36.js} +1 -1
- package/dist/{chunk-OLZHWPZP.js → chunk-XWPPBOGF.js} +1 -1
- package/dist/chunk-YIRFEW5M.js +1 -0
- package/dist/{chunk-KR6QDE7D.js → chunk-YL3TYQGT.js} +1 -1
- package/dist/{chunk-7MUKLZOL.js → chunk-YLQ3LNNY.js} +3 -3
- package/dist/chunk-YMAWEIUR.js +1 -0
- package/dist/chunk-YPBCSDFQ.js +1 -0
- package/dist/{chunk-KZOBF55B.js → chunk-YSIBRY6C.js} +1 -1
- package/dist/{chunk-KHTV6PBV.js → chunk-YVQXEPHY.js} +1 -1
- package/dist/{chunk-4LNCYIS3.js → chunk-ZDF5N422.js} +1 -1
- package/dist/{chunk-T4M5CWAO.js → chunk-ZG7BVVT2.js} +1 -1
- package/dist/chunk-ZGJ3DFTQ.js +9 -0
- package/dist/{chunk-NKQBEFPS.js → chunk-ZI7LK3LW.js} +1 -1
- package/dist/chunk-ZM75DSIW.js +1 -0
- package/dist/{chunk-URZPVSJZ.js → chunk-ZUKLGZOU.js} +66 -66
- package/dist/cli/commands/app/app-logs/sources.js +1 -2
- 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 -9
- package/dist/cli/commands/app/bulk/status.js +1 -5
- package/dist/cli/commands/app/config/link.js +1 -4
- 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 -3
- package/dist/cli/commands/app/demo/watcher.js +1 -1
- package/dist/cli/commands/app/deploy.js +1 -22
- package/dist/cli/commands/app/dev/clean.js +1 -5
- package/dist/cli/commands/app/dev.js +1 -320
- package/dist/cli/commands/app/env/pull.js +1 -11
- 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 -16
- package/dist/cli/commands/app/function/replay.js +1 -5
- 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 -5
- package/dist/cli/commands/app/import-custom-data-definitions.js +1 -4
- package/dist/cli/commands/app/import-extensions.js +1 -1
- package/dist/cli/commands/app/info.js +1 -11
- package/dist/cli/commands/app/init.js +1 -10
- package/dist/cli/commands/app/logs.js +1 -2
- package/dist/cli/commands/app/release.js +1 -4
- package/dist/cli/commands/app/versions/list.js +1 -1
- package/dist/cli/commands/app/webhook/trigger.js +1 -25
- 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/constants.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 +12 -0
- package/dist/cli/commands/doc/fetch.js +1 -0
- package/dist/cli/commands/doc/search.d.ts +13 -0
- package/dist/cli/commands/doc/search.js +1 -0
- package/dist/cli/commands/docs/generate.js +1 -1
- package/dist/cli/commands/doctor-release/doctor-release.js +1 -1
- package/dist/cli/commands/doctor-release/theme/index.js +1 -1
- package/dist/cli/commands/help.js +1 -1
- package/dist/cli/commands/kitchen-sink/async.js +1 -1
- package/dist/cli/commands/kitchen-sink/index.js +1 -1
- package/dist/cli/commands/kitchen-sink/prompts.js +1 -1
- package/dist/cli/commands/kitchen-sink/static.js +1 -1
- package/dist/cli/commands/notifications/generate.js +1 -1
- package/dist/cli/commands/notifications/list.js +1 -1
- package/dist/cli/commands/organization/list.js +1 -1
- package/dist/cli/commands/search.d.ts +4 -0
- package/dist/cli/commands/search.js +1 -1
- package/dist/cli/commands/theme/check.js +1 -1
- package/dist/cli/commands/theme/console.js +1 -15
- package/dist/cli/commands/theme/delete.js +1 -7
- package/dist/cli/commands/theme/dev.js +1 -26
- package/dist/cli/commands/theme/duplicate.js +1 -32
- package/dist/cli/commands/theme/info.js +1 -1
- package/dist/cli/commands/theme/init.js +1 -8
- 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 -3
- package/dist/cli/commands/theme/open.js +1 -8
- package/dist/cli/commands/theme/package.js +1 -7
- package/dist/cli/commands/theme/preview.js +1 -1
- package/dist/cli/commands/theme/profile.js +1 -3
- package/dist/cli/commands/theme/publish.js +1 -7
- package/dist/cli/commands/theme/pull.js +1 -3
- package/dist/cli/commands/theme/push.js +1 -28
- package/dist/cli/commands/theme/rename.js +1 -6
- package/dist/cli/commands/theme/share.js +1 -3
- package/dist/cli/commands/upgrade.js +1 -1
- package/dist/cli/commands/version.js +1 -1
- package/dist/cli/services/commands/doc/fetch.d.ts +1 -0
- package/dist/cli/services/commands/doc/fetch.js +45 -0
- package/dist/cli/services/commands/doc/search.d.ts +1 -0
- package/dist/cli/services/commands/doc/search.js +47 -0
- package/dist/command-registry.js +1 -1
- package/dist/conf-store-UY3MDGGA.js +1 -0
- package/dist/configs/all.yml +3 -0
- package/dist/configs/recommended.yml +3 -0
- package/dist/{custom-oclif-loader-DVFFWCBV.js → custom-oclif-loader-3AICQCNU.js} +1 -1
- package/dist/data/filters.json +60 -0
- package/dist/data/latest.json +1 -1
- package/dist/data/setting.json +29 -9
- package/dist/data/shopify_system_translations.json +71 -19
- package/dist/data/tags.json +3 -3
- package/dist/deprecations-KNUMDRIU.js +1 -0
- package/dist/{devtools-OLOT2NY4.js → devtools-37DE4MUR.js} +1 -1
- package/dist/{devtools-UFRKBFGI.js → devtools-WAWU5KQL.js} +1 -1
- package/dist/dist-C5IV2YDQ.js +1 -0
- package/dist/dist-VL4KZWV2.js +1 -0
- package/dist/environments-YPRVO2CF.js +1 -0
- package/dist/error-XRBQTNFM.js +1 -0
- package/dist/error-handler-NI7D6GSY.js +1 -0
- package/dist/{estree-KI7NUW53.js → estree-JV5M77BA.js} +2 -2
- package/dist/{flow-MLHT7MTJ.js → flow-N4JYPYMQ.js} +1 -1
- package/dist/fs-LJWVNO4H.js +1 -0
- package/dist/{glimmer-HAJ4HQCW.js → glimmer-JEV3BXHR.js} +1 -1
- package/dist/{graphql-F7IHGXDT.js → graphql-DTF6MHYF.js} +1 -1
- package/dist/hooks/app-init.js +1 -1
- package/dist/hooks/did-you-mean.js +1 -1
- package/dist/hooks/hydrogen-init.js +1 -1
- package/dist/hooks/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/html-LVOJ3RQS.js +25 -0
- package/dist/{http-proxy-node16-Q5DZMBHC.js → http-proxy-node16-X2WAMUT5.js} +1 -1
- package/dist/index.js +23 -1175
- package/dist/is-global-W6ALVC5L.js +1 -0
- package/dist/is-wsl-UEMXYJPN.js +1 -0
- package/dist/{latest-version-EFWBOTWM.js → latest-version-32HXMWJ7.js} +1 -1
- package/dist/lib-AIKYSHWL.js +1 -0
- package/dist/lib-O5EZ4NVT.js +1 -0
- package/dist/lib-Q4PWEMFD.js +1 -0
- package/dist/lib-QJDPPAWN.js +1 -0
- package/dist/{local-MTKXSZ3I.js → local-GKEWZAIV.js} +1 -1
- package/dist/local-storage-ZOZMA22B.js +1 -0
- package/dist/{markdown-PLKL4IZK.js → markdown-J6CE6POI.js} +2 -2
- package/dist/{meriyah-AYZQ3BGY.js → meriyah-PNQQZQYI.js} +1 -1
- package/dist/metadata-UEUN64TK.js +1 -0
- package/dist/{morph-EMYAITFM.js → morph-CGOZEPPZ.js} +4 -4
- package/dist/{multipart-parser-Q4QJZK3V.js → multipart-parser-5NSSTW27.js} +1 -1
- package/dist/node-package-manager-4ASQQIIF.js +1 -0
- package/dist/notifications-system-HLXJCAMG.js +1 -0
- package/dist/{npa-ICFSA3NL.js → npa-A4YSCQ5Q.js} +1 -1
- package/dist/{open-VA7TLUIL.js → open-KLSGXBIW.js} +1 -1
- package/dist/out-CDCY25QC.js +1 -0
- package/dist/output-S6E37GJQ.js +1 -0
- package/dist/{path-CWUNINMX.js → path-MBXP7ZIC.js} +1 -1
- package/dist/{postcss-3FJQPJI2.js → postcss-Q36SHOML.js} +2 -2
- package/dist/{prettier-NVRHEAFO.js → prettier-EGVCP5CY.js} +1 -1
- package/dist/{source-map-3K6Y2OMO.js → source-map-E7FCCJL7.js} +1 -1
- package/dist/system-YQZNGSWB.js +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/typescript-5R4Y7PXE.js +1 -0
- package/dist/{typescript-ODJ335NU.js → typescript-WYPDGPSV.js} +1 -1
- package/dist/ui-D2FFWRK7.js +1 -0
- package/dist/upgrade-TVTCFMXM.js +1 -0
- package/dist/version-J6MDN7BZ.js +1 -0
- package/dist/version-RIRW5EXQ.js +1 -0
- package/dist/workerd-QOTT6UCO.js +18 -0
- package/dist/{yaml-BIHS2GQW.js → yaml-6KWCJ64X.js} +1 -1
- package/oclif.manifest.json +442 -9
- package/package.json +18 -12
- package/dist/analytics-5TEIW43T.js +0 -1
- package/dist/analytics-GG7CYCGL.js +0 -1
- package/dist/angular-VRDO2DBE.js +0 -4
- package/dist/chunk-3D4JXJPS.js +0 -2
- package/dist/chunk-3NBK56IK.js +0 -1
- package/dist/chunk-4ZGSSQC6.js +0 -1
- package/dist/chunk-54CAKCYR.js +0 -144
- package/dist/chunk-5UHQVR2Z.js +0 -1
- package/dist/chunk-67MH4AXG.js +0 -1
- package/dist/chunk-6CYMJ76C.js +0 -9
- package/dist/chunk-6HBRBQAN.js +0 -6
- package/dist/chunk-6ITDI2SD.js +0 -1
- package/dist/chunk-6SF3ZETE.js +0 -1
- package/dist/chunk-6WL4GA2M.js +0 -15
- package/dist/chunk-7ESSIN27.js +0 -567
- package/dist/chunk-7QIOUDCX.js +0 -8
- package/dist/chunk-7ZT57XT7.js +0 -2
- package/dist/chunk-AKML26N3.js +0 -7
- package/dist/chunk-C2IK2HY3.js +0 -4
- package/dist/chunk-CBXSPL4W.js +0 -1
- package/dist/chunk-CEIQFLCN.js +0 -1
- package/dist/chunk-CERXUPGC.js +0 -14
- package/dist/chunk-DCPBRWVC.js +0 -1
- package/dist/chunk-DN2IE3VY.js +0 -1
- package/dist/chunk-EQU4MUQJ.js +0 -1
- package/dist/chunk-F2QU6WWX.js +0 -1
- package/dist/chunk-FFQ5EWII.js +0 -294
- package/dist/chunk-FKMC5OFF.js +0 -1
- package/dist/chunk-FUOIGXI4.js +0 -1
- package/dist/chunk-FYFNUDOC.js +0 -19
- package/dist/chunk-G4BPGWJC.js +0 -1
- package/dist/chunk-GVQIPEZT.js +0 -1
- package/dist/chunk-GZS44BUW.js +0 -102
- package/dist/chunk-HIBX234C.js +0 -6
- package/dist/chunk-HRUGYZZ4.js +0 -2
- package/dist/chunk-HUIJMGVJ.js +0 -586
- package/dist/chunk-IX5ICOBV.js +0 -7
- package/dist/chunk-IZ3C5J7G.js +0 -5
- package/dist/chunk-JAO53IH2.js +0 -1
- package/dist/chunk-JCL2RRU6.js +0 -1
- package/dist/chunk-JQJBBXMX.js +0 -17
- package/dist/chunk-K2WUCOQJ.js +0 -32
- package/dist/chunk-K6CTUBFC.js +0 -12
- package/dist/chunk-KKTW6ZCA.js +0 -5
- package/dist/chunk-LDGAHMS7.js +0 -159
- package/dist/chunk-M3RYUB22.js +0 -1
- package/dist/chunk-M56NDIMD.js +0 -1
- package/dist/chunk-MWGBTOO3.js +0 -1
- package/dist/chunk-N5PQPIBF.js +0 -374
- package/dist/chunk-NF2ABOOU.js +0 -1
- package/dist/chunk-NPEVESCV.js +0 -3
- package/dist/chunk-OTY24J2W.js +0 -1
- package/dist/chunk-OY3PNHPZ.js +0 -103
- package/dist/chunk-PAP22IQO.js +0 -264
- package/dist/chunk-PYVAWAUO.js +0 -5
- package/dist/chunk-QA23HIH4.js +0 -1
- package/dist/chunk-S6EJHWJL.js +0 -1
- package/dist/chunk-SIMFNECG.js +0 -1
- package/dist/chunk-T542UQBY.js +0 -1
- package/dist/chunk-TQ6HYDVC.js +0 -1
- package/dist/chunk-UHJYPEY2.js +0 -1
- package/dist/chunk-UJXUSRQK.js +0 -1
- package/dist/chunk-UWJ73J4B.js +0 -1
- package/dist/chunk-UXVZ2P63.js +0 -1411
- package/dist/chunk-VPRTJUIN.js +0 -1
- package/dist/chunk-WFXRSKRK.js +0 -1
- package/dist/chunk-XEFQQPL4.js +0 -1
- package/dist/chunk-XITQULK4.js +0 -3
- package/dist/chunk-XONFGLJQ.js +0 -847
- package/dist/chunk-XR6GMMEU.js +0 -1
- package/dist/chunk-XXVEHDVO.js +0 -1
- package/dist/chunk-Y7JGYGV7.js +0 -1
- package/dist/chunk-YOZNRLFC.js +0 -1
- package/dist/chunk-YTNDFQJT.js +0 -3
- package/dist/chunk-ZBRRJDGW.js +0 -1
- package/dist/chunk-ZTMSBSYD.js +0 -1
- package/dist/conf-store-BMZFATRQ.js +0 -1
- package/dist/deprecations-7LHRXPXU.js +0 -1
- package/dist/dist-LDXPBYSZ.js +0 -1
- package/dist/dist-V63ILV6L.js +0 -1
- package/dist/environments-5X7S2O5U.js +0 -1
- package/dist/error-ZRLNNGIQ.js +0 -1
- package/dist/error-handler-PRZFHPRG.js +0 -1
- package/dist/fs-H7V6IRSH.js +0 -1
- package/dist/html-VSSXOZOQ.js +0 -25
- package/dist/is-global-IOWPCT2U.js +0 -1
- package/dist/is-wsl-FVUIXDOK.js +0 -1
- package/dist/lib-5L7UKDEK.js +0 -1
- package/dist/lib-C3VO2BQW.js +0 -1
- package/dist/lib-QB6I6CTC.js +0 -1
- package/dist/lib-WU3FEA6I.js +0 -1
- package/dist/local-storage-CYEL4MXF.js +0 -1
- package/dist/metadata-NOVBMKLM.js +0 -1
- package/dist/node-package-manager-N5CVNHA3.js +0 -1
- package/dist/notifications-system-YX2GPLDW.js +0 -1
- package/dist/out-WLY6KV4B.js +0 -1
- package/dist/output-Q46DT46U.js +0 -1
- package/dist/system-E6Q3OBX3.js +0 -1
- package/dist/typescript-K5CWIA4V.js +0 -1
- package/dist/ui-WRS2IDPP.js +0 -1
- package/dist/upgrade-TKUN2M5P.js +0 -1
- package/dist/version-5W5RVAPA.js +0 -1
- package/dist/version-BQJ3FPXD.js +0 -1
- package/dist/workerd-GOK6GWEX.js +0 -18
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as u,c as h,f}from"./chunk-4QTEPWEJ.js";import{O as c}from"./chunk-NTRAWIEJ.js";import{d as e}from"./chunk-773TIA5M.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();async function s(n){if(n.features.includes("function")&&n.isJavaScript){let r=await f(n);return u(r.functionRunner)}return u()}function d(n){return n.configuration.build?.path?e(n.directory,n.configuration.build.path):n.outputPath}async function g(n){let r=n.functionExtension,i=await s(r);await h(i);let t=[];n.inputPath&&t.push("--input",n.inputPath),n.export&&t.push("--export",n.export),n.json&&t.push("--json"),n.schemaPath&&n.queryPath&&(t.push("--schema-path",n.schemaPath),t.push("--query-path",n.queryPath));let o=d(r);return c(i.path,["-f",o,...t],{cwd:n.functionExtension.directory,stdin:n.stdin,stdout:n.stdout??"inherit",stderr:n.stderr??"inherit",input:n.input})}export{g as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{C as s,u as e,v as o,w as n,x as i,y as t}from"./chunk-
|
|
1
|
+
import{C as s,u as e,v as o,w as n,x as i,y as t}from"./chunk-NTRAWIEJ.js";import{d,g as l}from"./chunk-TPCG6DCA.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();async function u(){e({headline:"CLI update available.",body:["Run",{command:"npm run shopify upgrade"},{char:"."}]}),e({headline:["To connect this project to your shopify store cd into:",{filePath:"/my-store/hydrogen.config.js"},{char:"."}],body:["You can also try the following steps:",{list:{items:[["Run",{command:"shopify project connect"}],["Run",{command:"hydrogen start"}]]}}]}),e({headline:"About your app.",customSections:[{body:{tabularData:[["Configuration file",{filePath:"shopify.app.scalable-transaction-app.toml"}],["App name",{userInput:"scalable-transaction-app"}],["Access scopes","read_products,write_products"]],firstColumnSubdued:!0}}]}),e({headline:[{userInput:"my-app"},"initialized and ready to build."],nextSteps:[["Run",{command:"cd verification-app"}],["To preview your project, run",{command:"npm app dev"}],["To add extensions, run",{command:"npm generate extension"}]],reference:[["Run",{command:"npm shopify help"}],{link:{label:"Dev docs",url:"https://shopify.dev"}}],customSections:[{title:"Custom section",body:{list:{items:[{link:{label:"Item 1",url:"https://shopify.com"}},"Item 2",{link:{url:"https://community.shopify.com/"}}]}}},{title:"Custom section 2",body:{list:{items:["Item 1","Item 2","Item 3"]}}}]}),o({headline:"CLI updated.",body:"You are now running version 3.47."}),o({headline:"Deployment successful.",body:"Your extensions have been uploaded to your Shopify Partners Dashboard.",nextSteps:[{link:{label:"See your deployment and set it live",url:"https://partners.shopify.com/1797046/apps/4523695/deployments"}}]}),n({headline:"You have reached your limit of checkout extensions for this app.",body:"You can free up space for a new one by deleting an existing one."}),n({headline:"Required access scope update.",body:"The deadline for re-selecting your app scopes is May 1, 2022.",reference:[{link:{label:"Dev docs",url:"https://shopify.dev/app/scopes"}}]});let a=new l("Something went wrong.");a.stack=`
|
|
2
2
|
Error: Unexpected error
|
|
3
3
|
at Module._compile (internal/modules/cjs/loader.js:1137:30)
|
|
4
4
|
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{a as te,b as ne}from"./chunk-N3YTDGFY.js";import{b as T}from"./chunk-WA3YC5W4.js";import{c as Y}from"./chunk-RSRYC5ZF.js";import{a as ee}from"./chunk-EKVTNWHM.js";import{a as W}from"./chunk-5BKCIDMS.js";import{F as B,Fa as Z,H as K,S as Q,d as X,e as z}from"./chunk-4QTEPWEJ.js";import{f as H,h as J}from"./chunk-UTO4Z6P6.js";import{a as E}from"./chunk-QDVJJKLB.js";import{C as R,p as F,x as L,y as P}from"./chunk-ANBOLDON.js";import{b as V}from"./chunk-OXJBYKMX.js";import{d as v}from"./chunk-5C7HDTHJ.js";import{B as G,D as k,F as U,v as N,z as D}from"./chunk-NTRAWIEJ.js";import{d as y}from"./chunk-TPCG6DCA.js";import{r as me}from"./chunk-T6CC5WUU.js";import{Gb as q,Oa as I,Ta as M,Ua as C,Wa as j,Y as f,ka as g,wa as A,ya as w}from"./chunk-7FQFEB33.js";import{e as $}from"./chunk-S5IFJ737.js";import{d as u,n as S}from"./chunk-773TIA5M.js";import{e as fe,g as p}from"./chunk-VKWPEFWQ.js";p();p();p();async function ae(e,t,r,a={}){let{templates:n,groupOrder:i}=await e.templateSpecifications(t,a);return{templates:n.filter(o=>r.includes(o.identifier)||r.includes(o.type)),groupOrder:i}}p();function _(e){switch(e){case"vanilla-js":case"preact":case"react":case"typescript":case"typescript-react":return"javascript";case"rust":case"wasm":return e;case void 0:case"liquid":case"config-only":return}}async function re(e){let t=e.extensionChoices.name,r=e.extensionChoices.flavor,a=e.extensionTemplate.supportedFlavors.find(o=>o.value===r),n=await ne({app:e.app,name:t}),i=e.cloneUrl??e.extensionTemplate.url,s={directory:n,url:i,app:e.app,project:e.project,type:e.extensionTemplate.type,name:t,extensionFlavor:a,onGetTemplateRepository:e.onGetTemplateRepository??(async(o,c)=>{await Y({repoUrl:o,destination:c,shallow:!0})})};return await ye(s),{directory:S(n),extensionTemplate:e.extensionTemplate}}async function ye(e){try{switch(e.type){case"theme":await he(e);break;case"function":await xe(e);break;default:await ge(e);break}let t=u(e.directory,H.lockFile);await w(t)}catch(t){throw await w(e.directory),t}}async function he({directory:e,url:t,type:r,name:a,extensionFlavor:n,onGetTemplateRepository:i}){return g(async s=>{let o=await b(t,n,s,i);await T(o,e,{name:a,type:r,uid:v(f(a))})})}async function xe({directory:e,url:t,app:r,project:a,name:n,extensionFlavor:i,onGetTemplateRepository:s}){let o=_(i?.value),c=[];c.push({title:"Generating function extension",task:async()=>{if(await g(async l=>{let d=await b(t,i,l,s);await T(d,e,{name:n,handle:f(n),flavor:i?.value,uid:v(f(n))})}),o==="javascript"){let l=ie(i?.value??"rust");await oe(e,l,"!(*.graphql)")}}}),o==="javascript"&&c.push({title:"Installing additional dependencies",task:async()=>{a.usesWorkspaces&&await F({packageManager:a.packageManager,directory:a.directory});let l=we(o);await P(l,{packageManager:a.packageManager,type:"prod",directory:a.usesWorkspaces?e:a.directory})}}),o==="javascript"&&c.push({title:"Building GraphQL types",task:async()=>{await z({directory:e,isJavaScript:!0},{stdout:process.stdout,stderr:process.stderr,app:r})}}),await k(c)}async function ge({directory:e,url:t,app:r,project:a,name:n,extensionFlavor:i,onGetTemplateRepository:s}){let o=_(i?.value),c=[{title:"Generating extension",task:async()=>{let l=ie(i?.value??"vanilla-js");await g(async d=>{let h=await b(t,i,d,s);await T(h,e,{srcFileExtension:l,name:n,handle:f(n),flavor:i?.value??"",uid:v(f(n))})}),o==="javascript"&&await oe(e,l)}},{title:"Installing dependencies",task:async()=>{let l=a.packageManager;if(a.usesWorkspaces)_(i?.value)==="javascript"&&await F({packageManager:l,directory:a.directory});else{await ve(a.directory,i?.value);let d=u(e,"package.json"),h=await Ee(d);await P(h,{packageManager:l,type:"prod",directory:a.directory}),await w(d)}}}];c.push({title:"Update shared type definition",task:async()=>{await K(r)}}),await k(c)}function ie(e){return{"vanilla-js":"js",preact:"jsx",react:"jsx",typescript:"ts","typescript-react":"tsx",rust:"rs",wasm:"wasm",liquid:"liquid","config-only":""}[e]??"js"}function we(e){let t=[];return e==="javascript"&&t.push({name:"@shopify/shopify_function",version:`~${X}.0.0`}),t}async function oe(e,t,r="*"){let a=await j(u(e,"src",r)),n=[];for(let i of a)n.push(I(i,`${i}.${t}`));await Promise.all(n)}async function ve(e,t){t==="typescript-react"&&await R(e,{"@types/react":J.reactTypes})}async function Ee(e){if(!await M(e))return[];let t=await L(e);return Object.entries(t?.dependencies??{}).map(([r,a])=>({name:r,version:a}))}async function b(e,t,r,a){let n=u(r,"download");return await A(n),await a(e,n),te(t,n)}p();function Te(e,t=[]){let r=[...e.map(n=>({label:n.name,value:n.identifier,group:n.group||"Other",sortPriority:n.sortPriority??Number.MAX_SAFE_INTEGER})),...t.map(n=>({label:`${n.name} (limit reached)`,value:n.identifier,group:n.group||"Other",disabled:!0,sortPriority:n.sortPriority??Number.MAX_SAFE_INTEGER}))],a=(n,i)=>n.sortPriority===i.sortPriority?n.label.localeCompare(i.label):n.sortPriority-i.sortPriority;return r.sort(a)}var Fe=async e=>{let t=e.extensionTemplates,r=e.templateType,a=e.extensionFlavor;if(!r){if(a&&(t=t.filter(c=>c.supportedFlavors.map(l=>l.value).includes(a))),t.length===0)throw new y("You have reached the limit for the number of extensions you can create.");r=await G({message:"Type of extension?",choices:Te(t,e.unavailableExtensions),groupOrder:e.groupOrder})}let n=t.find(c=>c.identifier===r),i=e.name||await se(e.directory,n.defaultName),s=e.extensionFlavor??await Pe(n);return{extensionTemplate:n,extensionContent:{name:i,flavor:s}}};async function se(e,t,r=1){let a=t.includes(" ")?" ":"-",n=r<=1?t:`${t}${a}${r}`,i=u(e,f(n));return C(i)?se(e,t,r+1):U({message:"Name your extension:",defaultValue:n})}async function Pe(e){if(e.supportedFlavors.length!==0)return e.supportedFlavors.length===1&&e.supportedFlavors[0]?e.supportedFlavors[0].value:D({message:"What would you like to work in?",choices:e.supportedFlavors.map(t=>({label:t.name,value:t.value})),defaultValue:"react"})}var ce=Fe;async function ke(e){let{app:t,developerPlatformClient:r,remoteApp:a,specifications:n,template:i}=e,s=n.map(ue=>ue.identifier),{templates:o,groupOrder:c}=await ae(r,a,s,{requestedTemplate:i}),l=await _e(o,c,n,t,e),d=await ce(l);await Oe(d,i);let h=Se(d,t,e,r),de=await re(h);Ae(de,e.project.packageManager)}async function _e(e,t,r,a,n){let i=await Ce(n.template,a,e,r);Ie(i,n.flavor);let{validTemplates:s,templatesOverlimit:o}=be(e,r,a);return{templateType:i?.identifier,name:n.name,extensionFlavor:n.flavor,directory:u(n.directory,"extensions"),app:a,extensionTemplates:s??[],unavailableExtensions:o??[],reset:n.reset,groupOrder:t}}function be(e,t,r){return Q(e,n=>!le(r,t,n)?"validTemplates":"templatesOverlimit")}function le(e,t,r){let a=r.type,n=t.find(s=>s.identifier===a||s.externalIdentifier===a);return e.extensionsForType({identifier:a,externalIdentifier:a}).length>=(n?.registrationLimit??1)}async function Oe(e,t){let{extensionContent:r}=e;return E.addPublicMetadata(()=>({cmd_scaffold_template_flavor:r.flavor,cmd_scaffold_type:e.extensionTemplate.identifier,cmd_scaffold_used_prompts_for_type:!t}))}function Se(e,t,r,a){return{app:t,project:r.project,cloneUrl:r.cloneUrl,extensionChoices:e.extensionContent,extensionTemplate:e.extensionTemplate,developerPlatformClient:a}}function Ae(e,t){let r=Me(e.extensionTemplate,e.directory,t);N(r)}function Ie(e,t){if(!t||!e)return;let r=e.supportedFlavors.map(a=>a.value);if(!r.includes(t))throw new y("Invalid template for extension type",`Expected template to be one of the following: ${r.join(", ")}.`)}function Me(e,t,r){let a={headline:["Your extension was created in",{filePath:t},{char:"."}],nextSteps:[],reference:[]};return e.type!=="function"&&a.nextSteps.push(["To preview this extension along with the rest of the project, run",{command:q(r,"shopify app dev")}]),e.supportLinks[0]&&a.reference.push(["For more details, see the",{link:{label:"docs",url:e.supportLinks[0]}}]),a}async function Ce(e,t,r,a){if(!e)return;let n=r.find(i=>i.identifier===e);if(!n){let i=await $(),s=r.map(c=>c.identifier),o=i?"You might need to enable some flags on your Organization or App":void 0;throw new y(`Unknown extension type: ${e}.
|
|
2
|
+
The following extension types are supported: ${s.join(", ")}`,o)}if(le(t,a,n))throw new y(`Invalid extension type: ${e}`,`You have reached the limit of extension(s) of type ${n.type} per app`);return n}var pe=ke;var x=fe(me(),1);var O,m=class extends ee{async run(){let{flags:t}=await this.parse(O);await E.addPublicMetadata(()=>({cmd_scaffold_required_auth:!0,cmd_scaffold_template_custom:t["clone-url"]!==void 0,cmd_scaffold_type_owner:"@shopify/app"})),await B(t.path);let{app:r,project:a,specifications:n,remoteApp:i,developerPlatformClient:s}=await Z({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config});return await pe({directory:t.path,reset:t.reset,name:t.name,cloneUrl:t["clone-url"],template:t.template,flavor:t.flavor,app:r,project:a,specifications:n,remoteApp:i,developerPlatformClient:s}),{app:r}}};O=m;m.summary="Generate a new app Extension.";m.descriptionWithMarkdown=`Generates a new [app extension](https://shopify.dev/docs/apps/build/app-extensions). For a list of app extensions that you can generate using this command, refer to [Supported extensions](https://shopify.dev/docs/apps/build/app-extensions/list-of-app-extensions).
|
|
3
|
+
|
|
4
|
+
Each new app extension is created in a folder under \`extensions/\`. To learn more about the extensions file structure, refer to [App structure](https://shopify.dev/docs/apps/build/cli-for-apps/app-structure) and the documentation for your extension.
|
|
5
|
+
`;m.description=O.descriptionWithoutMarkdown();m.flags={...V,...W,template:x.Flags.string({char:"t",hidden:!1,description:"Extension template",env:"SHOPIFY_FLAG_EXTENSION_TEMPLATE"}),name:x.Flags.string({char:"n",hidden:!1,description:"name of your Extension",env:"SHOPIFY_FLAG_NAME"}),"clone-url":x.Flags.string({hidden:!0,char:"u",description:"The Git URL to clone the function extensions templates from. Defaults to: https://github.com/Shopify/function-examples",env:"SHOPIFY_FLAG_CLONE_URL"}),flavor:x.Flags.string({hidden:!1,description:"Choose a starting template for your extension, where applicable",options:["vanilla-js","react","typescript","typescript-react","wasm","rust"],env:"SHOPIFY_FLAG_FLAVOR"})};var Tt=m;export{Tt as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as C}from"./chunk-T6CC5WUU.js";import{a as c,c as u}from"./chunk-NNOSZ447.js";import{e as h,g as i}from"./chunk-VKWPEFWQ.js";i();i();import{fileURLToPath as L}from"node:url";async function f(e){let{isDevelopment:o}=await import("./local-GKEWZAIV.js"),{ShopifyConfig:n}=await import("./custom-oclif-loader-3AICQCNU.js"),t=await import("./lib-QJDPPAWN.js"),{run:a,flush:p,Errors:d,settings:m}=t.default??t;o()&&(m.debug=!0);try{let r=new n({root:L(e.moduleURL)});await r.load(),e.lazyCommandLoader&&r.setLazyCommandLoader(e.lazyCommandLoader),await a(e.argv,r),await p()}catch(r){let{errorHandler:l}=await import("./error-handler-NI7D6GSY.js");return await l(r),d.handle(r)}}var s=h(C());async function y(e=process.versions){let o=e.node,n=Number(o.split(".")[0]);if(n<18){let{renderError:a}=await import("./ui-D2FFWRK7.js");a({headline:"Upgrade to a supported Node version now.",body:[`Node ${n} has reached end-of-life and poses security risks. When you upgrade to a`,{link:{url:"https://nodejs.dev/en/about/previous-releases",label:"supported version"}},{char:","},"you'll be able to use Shopify CLI without interruption."]}),process.exit(1)}}function I(e,o=process.argv,n=process.env){o.includes("--verbose")&&(n.DEBUG=n.DEBUG??"*"),e.development&&(n.SHOPIFY_CLI_ENV=n.SHOPIFY_CLI_ENV??"development")}function b(e=process.argv,o=process.env){(e.includes("--no-color")||e.includes("--json")||e.includes("-j")||c(o.NO_COLOR)||c(o.SHOPIFY_FLAG_NO_COLOR)||c(o[u.json])||o.TERM==="dumb")&&(o.FORCE_COLOR="0")}async function _(e,o=f,n=process.argv,t=process.env,a=process.versions){return I(e,n,t),e.runInCreateMode&&await O(e,n),b(n,t),await y(a),o({moduleURL:e.moduleURL,lazyCommandLoader:e.lazyCommandLoader})}async function O(e,o=process.argv){let{findUpAndReadPackageJson:n}=await import("./node-package-manager-4ASQQIIF.js"),{moduleDirectory:t}=await import("./path-MBXP7ZIC.js"),d=(await n(t(e.moduleURL))).content.name.replace("@shopify/create-","");if(o.findIndex(r=>r.includes("init"))===-1){let r=o.findIndex(l=>l.match(new RegExp(`bin(\\/|\\\\)+(create-${d}|dev|run)`)))+1;o.splice(r,0,"init")}}var F={"no-color":s.Flags.boolean({hidden:!1,description:"Disable color output.",env:"SHOPIFY_FLAG_NO_COLOR"}),verbose:s.Flags.boolean({hidden:!1,description:"Increase the verbosity of the output.",env:"SHOPIFY_FLAG_VERBOSE"})},E={json:s.Flags.boolean({char:"j",description:"Output the result as JSON. Automatically disables color output.",hidden:!1,default:!1,env:u.json})},S=(e={})=>{let o=[e.description,"Must be between 1 and 65535."].filter(Boolean).join(" ");return s.Flags.integer({min:1,max:65535,...e,description:o})};async function j(){let{cacheClear:e}=await import("./conf-store-UY3MDGGA.js");e()}export{_ as a,F as b,E as c,S as d,j as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{M as l,N as I,P}from"./chunk-4QTEPWEJ.js";import{Z as M,ea as N}from"./chunk-UTO4Z6P6.js";import{a as w}from"./chunk-QDVJJKLB.js";import{z as g}from"./chunk-G4OQABDT.js";import{a as D}from"./chunk-5C7HDTHJ.js";import{D as _,P as h,u as b}from"./chunk-NTRAWIEJ.js";import{b as m,d as p,g as y}from"./chunk-TPCG6DCA.js";import{Nb as F}from"./chunk-7FQFEB33.js";import{j as E}from"./chunk-S5IFJ737.js";import{g as d}from"./chunk-VKWPEFWQ.js";d();d();async function u(t,e,r){let i=r.clientName===M.AppManagement,s;r.supportsStoreSearch&&(s=async a=>r.devStoresForOrg(e.id,a));let o=await l({onSearchForStoresByName:s,...t,showDomainOnPrompt:i});if(!o){if(b({body:await r.getCreateDevStoreLink(e)}),await h(5),!await P(e))throw new m;let f=await k(e.id,r);o=await u({stores:f,hasMorePages:!1},e,r)}let n=await c(o,e.id,r,"prompt-first");for(;!n;){if(o=await l({stores:[o],hasMorePages:!1,showDomainOnPrompt:i}),!o)throw new m;n=await c(o,e.id,r,"prompt-first")}return o}async function k(t,e){let s=[];return await _([{title:"Fetching organization data",task:async()=>{for(let n=0;n<10;n++){let{stores:a}=await e.devStoresForOrg(t);if(a.length>0){s=a;return}await h(3)}}}]),s}async function c(t,e,r,i){if(t.transferDisabled||E())return!0;if(!t.transferDisabled&&!t.convertableToPartnerTest)throw new p(`The store you specified (${t.shopDomain}) is not a dev store`,"Run dev --reset and select an eligible dev store.");switch(i){case"prompt-first":return await I()?(await x(t,e,r),!0):!1;case"never":throw new p("The store you specified is not transfer-disabled","Try running 'dev --reset' and selecting a different store, or choosing to convert this one.")}}async function x(t,e,r){let i={input:{organizationID:parseInt(e,10),shopId:t.shopId}},s=await r.convertToTransferDisabledStore(i);if(!s.convertDevToTestStore.convertedToTestStore){let o=s.convertDevToTestStore.userErrors.map(n=>n.message).join(", ");throw new y(`Error converting store ${t.shopDomain} to a transfer-disabled store: ${o}`,"This store might not be compatible with draft apps, please try a different store")}F(`Converted ${t.shopDomain} to a transfer-disabled store`)}async function X({appContextResult:t,storeFqdn:e,forceReselectStore:r,storeTypes:i=["APP_DEVELOPMENT"]}){let{app:s,organization:o,developerPlatformClient:n}=t,a,f=s.configuration.build?.dev_store_url,S=s.hiddenConfig.dev_store_url,T=f??S,v=e??(r?void 0:T),O=i.length===1&&i[0]==="APP_DEVELOPMENT";if(v)a=await N(o,v,n,i),O&&await c(a,o.id,n,"never");else{let A=await n.devStoresForOrg(o.id);a=await u(A,o,n)}return a.shopDomain=g(a.shopDomain),await C(a,r),(a.shopDomain!==T||!S)&&await s.updateHiddenConfig({dev_store_url:a.shopDomain}),await n.ensureUserAccessToStore(o.id,a),a}async function C(t,e){await w.addPublicMetadata(()=>({cmd_app_reset_used:e,store_fqdn_hash:D(t.shopDomain),store_domain:t.shopDomain})),await w.addSensitiveMetadata(()=>({store_fqdn:t.shopDomain}))}export{X as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as u,c as h,g as c}from"./chunk-
|
|
1
|
+
import{a as u,c as h,g as c}from"./chunk-VKWPEFWQ.js";var v=h((w,l)=>{"use strict";c();var{builtinModules:f}=u("module"),d=new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$"),p=["node_modules","favicon.ico"];function g(n){var t=[],e=[];if(n===null)return e.push("name cannot be null"),r(t,e);if(n===void 0)return e.push("name cannot be undefined"),r(t,e);if(typeof n!="string")return e.push("name must be a string"),r(t,e);if(n.length||e.push("name length must be greater than zero"),n.match(/^\./)&&e.push("name cannot start with a period"),n.match(/^_/)&&e.push("name cannot start with an underscore"),n.trim()!==n&&e.push("name cannot contain leading or trailing spaces"),p.forEach(function(s){n.toLowerCase()===s&&e.push(s+" is a blacklisted name")}),f.includes(n.toLowerCase())&&t.push(n+" is a core module name"),n.length>214&&t.push("name can no longer contain more than 214 characters"),n.toLowerCase()!==n&&t.push("name can no longer contain capital letters"),/[~'!()*]/.test(n.split("/").slice(-1)[0])&&t.push(`name can no longer contain special characters ("~'!()*")`),encodeURIComponent(n)!==n){var a=n.match(d);if(a){var i=a[1],o=a[2];if(encodeURIComponent(i)===i&&encodeURIComponent(o)===o)return r(t,e)}e.push("name can only contain URL-friendly characters")}return r(t,e)}var r=function(n,t){var e={validForNewPackages:t.length===0&&n.length===0,validForOldPackages:t.length===0,warnings:n,errors:t};return e.warnings.length||delete e.warnings,e.errors.length||delete e.errors,e};l.exports=g});export{v as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as u}from"./chunk-3SPDFV5D.js";import{g as d}from"./chunk-VKWPEFWQ.js";d();var m=!1;function v(){return m}function y(){let t=0,e=!1,i=setInterval(()=>{if(!e){if(v()||t>=12e4){e=!0,clearInterval(i),u(process.pid,"SIGINT",!1,()=>{process.exit(0)});return}t+=100}},100)}var k=async({config:a,Command:o})=>{await I(o);let t=await import("./metadata-UEUN64TK.js"),{commandStartOptions:e}=t.getAllSensitiveMetadata();e&&await t.addSensitiveMetadata(()=>({commandStartOptions:{...e,endTime:new Date().getTime()}}));let{postrun:i}=await import("./deprecations-KNUMDRIU.js");i(o);let{outputDebug:n}=await import("./output-S6E37GJQ.js"),r=o.id.replace(/:/g," ");n(`Completed command ${r}`),!r.includes("notifications")&&!r.includes("upgrade")&&await M();let{reportAnalyticsEvent:p}=await import("./analytics-JH64XI2J.js");await p({config:a,exitMode:"ok"}),m=!0};async function M(){let{versionToAutoUpgrade:a,warnIfUpgradeAvailable:o}=await import("./upgrade-TVTCFMXM.js"),t=a();if(!t){await o();return}if(process.env.SHOPIFY_CLI_FORCE_AUTO_UPGRADE==="1")await l(t);else{let{runAtMinimumInterval:i}=await import("./conf-store-UY3MDGGA.js");await i("auto-upgrade",{days:1},async()=>{await l(t)})}}async function l(a){let[{CLI_KIT_VERSION:o},{isMajorVersionChange:t},{outputWarn:e,outputDebug:i},{getOutputUpdateCLIReminder:n,runCLIUpgrade:r,hasBlockingAutoUpgradeNotification:p},s]=await Promise.all([import("./version-RIRW5EXQ.js"),import("./version-J6MDN7BZ.js"),import("./output-S6E37GJQ.js"),import("./upgrade-TVTCFMXM.js"),import("./metadata-UEUN64TK.js")]);if(t(o,a)){e(n(a,!0)),await s.addPublicMetadata(()=>({env_auto_upgrade_skipped_reason:"major_version"}));return}if(await p()){await s.addPublicMetadata(()=>({env_auto_upgrade_skipped_reason:"blocked_by_notification"}));return}try{await r({autoupgrade:!0}),await s.addPublicMetadata(()=>({env_auto_upgrade_success:!0}))}catch(f){let c=`Auto-upgrade failed: ${f}`;i(c),e(n(a)),await s.addPublicMetadata(()=>({env_auto_upgrade_success:!1}));let[{sendErrorToBugsnag:g},{inferPackageManagerForGlobalCLI:w}]=await Promise.all([import("./error-handler-NI7D6GSY.js"),import("./is-global-W6ALVC5L.js")]),_=Object.assign(new Error(c),{packageManager:w(),platform:process.platform,cliVersion:o});await g(_,"expected_error")}}async function I(a){let o=new Date().getTime();if(a&&"analyticsStopCommand"in a&&typeof a.analyticsStopCommand=="function"){let t=a.analyticsStopCommand();if(t){let e=await import("./metadata-UEUN64TK.js"),{commandStartOptions:i}=e.getAllSensitiveMetadata();if(!i)return;await e.addSensitiveMetadata(()=>({commandStartOptions:{...i,startTime:o,startCommand:t}}))}}}export{y as a,k as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as i}from"./chunk-
|
|
1
|
+
import{a as i}from"./chunk-GCN4O7HM.js";import{r as t}from"./chunk-HDC5V7RY.js";import{b as r}from"./chunk-HOSFU6UP.js";import{u as e}from"./chunk-NTRAWIEJ.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();var o=class extends r{static{this.summary="Enable automatic upgrades for Shopify CLI."}static{this.descriptionWithMarkdown=`Enable automatic upgrades for Shopify CLI.
|
|
2
2
|
|
|
3
3
|
When auto-upgrade is enabled, Shopify CLI automatically updates to the latest version once per day. Major version upgrades are skipped and must be done manually.
|
|
4
4
|
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{H,S as U}from"./chunk-4QTEPWEJ.js";import{a as G}from"./chunk-VJEKDBGZ.js";import{f as T}from"./chunk-UTO4Z6P6.js";import{b as D,l as O,s as k}from"./chunk-NTRAWIEJ.js";import{d as N}from"./chunk-TPCG6DCA.js";import{Ca as P,Pb as u,Ta as A,Ua as I,bb as _,na as R,wa as w}from"./chunk-7FQFEB33.js";import{f as S}from"./chunk-S5IFJ737.js";import{d as x,e as E,g as F,i as C}from"./chunk-773TIA5M.js";import{e as q,g as m}from"./chunk-VKWPEFWQ.js";m();function b(){return process.hrtime()}function M(r){let t=process.hrtime(r);return(t[0]*1e3+t[1]/1e6).toFixed(2)}m();m();var $=q(G(),1),K=200,Q=6e4,L=200,Y=500,v=class{constructor(t,s,i=K){this.currentEvents=[],this.extensionPaths=[],this.ignored={},this.extensionWatchedFiles=new Map,this.emitEvents=()=>{let e=this.currentEvents;this.currentEvents=[];let n=`\u{1F509} ${e.length} EVENTS EMITTED in files: ${e.map(o=>o.path).join(`
|
|
2
|
+
`)}`;u(n,this.options.stdout),this.onChangeCallback?.(e)},this.handleFileEvent=(e,n)=>{let o=b(),d=E(n),h=n===this.app.configPath,l=n.endsWith(".extension.toml");if(u(`\u{1F300}: ${e} ${n.replace(this.app.directory,"")}
|
|
3
|
+
`),h)this.handleEventForExtension(e,n,this.app.directory,o,!1);else{let a=this.extensionWatchedFiles.get(d),p=a===void 0||a.size===0;if(p&&e==="add"&&!l){let c=this.discoverFileOwners(d);c.size>0&&(this.extensionWatchedFiles.set(d,c),a=c,p=!1)}if(p&&!l&&!h){u(`\u{1F300}: File ${n} is not watched by any extension`,this.options.stdout);return}for(let c of a??[]){let g=this.app.realExtensions.find(X=>X.handle===c),y=g?E(g.directory):this.app.directory;this.handleEventForExtension(e,n,y,o,!1,c)}p&&this.handleEventForExtension(e,n,this.app.directory,o,!0)}this.debouncedEmit()},this.close=()=>{this.watcher&&(u("Closing file watcher",this.options.stdout),this.watcher.close().then(()=>u("File watching closed",this.options.stdout)).catch(e=>u(`File watching failed to close: ${e.message}`,this.options.stderr)))},this.app=t,this.options=s,this.debouncedEmit=k(this.emitEvents.bind(this),i,{leading:!0,trailing:!0}),this.updateApp(t)}onChange(t){this.onChangeCallback=t}async start(){let s=[...this.app.configuration.extension_directories??["extensions"]].map(o=>x(this.app.directory,o));await Promise.all(s.map(async o=>{try{await w(o.replace(/\/\*+$/,""))}catch{}}));let i=[this.app.configPath,...s],e=this.getAllWatchedFiles();i.push(...e),this.close();let{default:n}=await import("./chokidar-VDIVGBZH.js");this.watcher=n.watch(i,{ignored:["**/node_modules/**","**/.git/**"],persistent:!0,ignoreInitial:!0}),this.watcher.on("all",this.handleFileEvent),this.addAbortListener(),u(`File watcher started with ${i.length} paths`,this.options.stdout)}updateApp(t){this.app=t,this.extensionPaths=this.app.nonConfigExtensions.map(s=>E(s.directory)).filter(s=>s!==this.app.directory),this.extensionPaths.forEach(s=>{var i;(i=this.ignored)[s]??(i[s]=this.createIgnoreInstance(s))})}addAbortListener(){this.options.signal.removeEventListener("abort",this.close),this.options.signal.addEventListener("abort",this.close)}getAllWatchedFiles(){this.extensionWatchedFiles.clear();let t=this.app.realExtensions.map(i=>({extension:i,watchedFiles:i.watchedFiles()})),s=new Set;for(let{extension:i,watchedFiles:e}of t)for(let n of e){let o=E(n);s.add(o);let d=this.extensionWatchedFiles.get(o)??new Set;d.add(i.handle),this.extensionWatchedFiles.set(o,d)}return Array.from(s)}pushEvent(t){this.shouldIgnoreEvent(t)||(t.type==="extension_folder_created"&&(this.ignored[t.path]=this.createIgnoreInstance(t.path)),!this.currentEvents.some(s=>s.path===t.path&&s.type===t.type&&s.extensionHandle===t.extensionHandle)&&this.currentEvents.push(t))}shouldIgnoreEvent(t){if(t.type==="extension_folder_deleted"||t.type==="extension_folder_created"||t.extensionHandle&&this.extensionWatchedFiles.get(E(t.path))?.has(t.extensionHandle))return!1;let i=(t.extensionHandle?this.app.realExtensions.find(n=>n.handle===t.extensionHandle):void 0)?.watchedFiles(),e=this.ignored[t.extensionPath];if(i)return!i.some(o=>_(t.path,o));if(e){let n=F(t.extensionPath,t.path);return e.ignores(n)}return!1}discoverFileOwners(t){let s=new Set;for(let i of this.app.realExtensions){let e=E(i.directory);e!==this.app.directory&&t.startsWith(`${e}/`)&&this.pathMatchesWatchPatterns(t,i)&&s.add(i.handle)}return s}pathMatchesWatchPatterns(t,s){let{paths:i,ignore:e}=s.watchPatterns(),n=F(E(s.directory),t);return e.some(o=>_(n,o))?!1:i.some(o=>_(n,o))}handleEventForExtension(t,s,i,e,n,o){let d=s.endsWith(".extension.toml"),h=s===this.app.configPath;switch(t){case"change":if(n)break;d||h?this.pushEvent({type:"extensions_config_updated",path:s,extensionPath:i,extensionHandle:o,startTime:e}):this.pushEvent({type:"file_updated",path:s,extensionPath:i,extensionHandle:o,startTime:e});break;case"add":if(!d){this.pushEvent({type:"file_created",path:s,extensionPath:i,extensionHandle:o,startTime:e});break}let l=0,a=C(s),p=setInterval(()=>{I(x(a,T.lockFile))?(u(`Waiting for extension to complete creation: ${s}
|
|
4
|
+
`),l+=L):(clearInterval(p),this.extensionPaths.push(a),this.pushEvent({type:"extension_folder_created",path:a,extensionPath:i,startTime:e}),this.debouncedEmit()),l>=Q&&(clearInterval(p),this.options.stderr.write(`Error loading new extension at path: ${s}.
|
|
5
|
+
Please restart the process.`))},L);break;case"unlink":if(s.endsWith(T.lockFile))break;h?this.pushEvent({type:"app_config_deleted",path:s,extensionPath:i,startTime:e}):d?(this.extensionPaths=this.extensionPaths.filter(c=>c!==i),this.pushEvent({type:"extension_folder_deleted",path:i,extensionPath:i,startTime:e})):setTimeout(()=>{this.extensionPaths.includes(i)&&(this.pushEvent({type:"file_deleted",path:s,extensionPath:i,extensionHandle:o,startTime:e}),this.extensionWatchedFiles.delete(E(s)),this.debouncedEmit())},Y);break;case"addDir":case"unlinkDir":break}}createIgnoreInstance(t){let s=x(t,".gitignore");if(!I(s))return;let i=R(s).toString().split(`
|
|
6
|
+
`).map(e=>e.trim()).filter(e=>e!==""&&!e.startsWith("#"));return $.default.default().add(i)}};m();m();function B(r,t,s=!0){let i=r.realExtensions,e=i.map(a=>a.uid),n=t.realExtensions,o=n.map(a=>a.uid),d=n.filter(a=>!e.includes(a.uid)),h=i.filter(a=>!o.includes(a.uid)),l;return s&&(l=n.filter(a=>{let p=i.find(y=>y.uid===a.uid);if(!p)return!1;let c=JSON.stringify(p.configuration)!==JSON.stringify(a.configuration),g=p.configurationPath!==a.configurationPath;return c||g})),{created:d,updated:l??[],deleted:h}}async function V(r,t,s){if(r[0]===void 0)return;let i=r.some(o=>j.includes(o.type)),e=r.filter(o=>!j.includes(o.type));if(i)return st({event:r[0],app:t,options:s,extensions:[]});let n={app:t,extensionEvents:[],path:r[0].path,startTime:r[0].startTime};for(let o of e){let d=o.extensionHandle?t.realExtensions.filter(l=>l.handle===o.extensionHandle):t.realExtensions.filter(l=>l.directory===o.extensionPath),h=Z[o.type]({event:o,app:n.app,extensions:d,options:s});n.extensionEvents.push(...h.extensionEvents)}return n}var j=["extensions_config_updated","extension_folder_created"],Z={extension_folder_deleted:tt,file_created:W,file_deleted:W,file_updated:W,app_config_deleted:et,extension_folder_created:z,extensions_config_updated:z};function tt({event:r,app:t,extensions:s}){let i=s.map(e=>(t.removeExtension(e.uid),{type:f.Deleted,extension:e}));return{app:t,extensionEvents:i,startTime:r.startTime,path:r.path}}function W({event:r,app:t,extensions:s}){let i=s.map(e=>({type:f.Updated,extension:e}));return{app:t,extensionEvents:i,startTime:r.startTime,path:r.path}}function z(r){return{app:r.app,extensionEvents:[],startTime:r.event.startTime,path:r.event.path}}function et(r){throw new N("The active app.toml was deleted, exiting")}async function st({event:r,app:t}){let s=await it(t),i=B(t,s,!0),e=i.created.map(h=>({type:f.Created,extension:h})),n=i.deleted.map(h=>({type:f.Deleted,extension:h})),o=i.updated.map(h=>({type:f.Updated,extension:h})),d=[...e,...n,...o];return{app:s,extensionEvents:d,startTime:r.startTime,path:r.path,appWasReloaded:!0}}async function it(r){let t=b();try{let s=await H(r);return u(`App reloaded [${M(t)}ms]`),s}catch(s){let i=new Error(`Error reloading app: ${s.message}`);throw i.cause="validation-error",i}}import{formatMessagesSync as nt}from"esbuild";import ot from"events";var f;(function(r){r.Updated="changed",r.Deleted="deleted",r.Created="created"})(f||(f={}));var J=class extends ot{constructor(t,s,i,e){super(),this.started=!1,this.ready=!1,this.initialEvents=[],this.app=t,this.appURL=s,this.buildOutputPath=i??x(t.directory,".shopify","dev-bundle"),this.options={stdout:process.stdout,stderr:process.stderr,signal:new D},this.fileWatcher=e}async start(t,s=!0){this.started||(this.started=!0,this.options=t??this.options,await A(this.buildOutputPath)&&await P(this.buildOutputPath,{force:!0}),await w(this.buildOutputPath),s&&(this.initialEvents=this.app.realExtensions.map(i=>({type:f.Updated,extension:i})),await this.buildExtensions(this.initialEvents)),this.fileWatcher=this.fileWatcher??new v(this.app,this.options),this.fileWatcher.onChange(i=>{V(i,this.app,this.options).then(async e=>{if(e?.extensionEvents.length===0&&u("Change detected, but no extensions were affected"),!e)return;this.app=e.app,e.appWasReloaded&&this.fileWatcher?.updateApp(this.app),await this.rescanImports(e);let n=e.extensionEvents.filter(o=>o.type!==f.Deleted);await this.buildExtensions(n),e.appWasReloaded||await this.app.generateExtensionTypes(),await this.deleteExtensionsBuildOutput(e),this.emit("all",e)}).catch(e=>{this.emit("error",e)})}),await this.fileWatcher.start(),this.ready=!0,this.emit("ready",{app:this.app,extensionEvents:this.initialEvents}))}onEvent(t){return this.addListener("all",t),this}onStart(t){if(this.ready){let s={app:this.app,extensionEvents:this.initialEvents,startTime:[0,0],path:""};t(s)?.catch(()=>{})}else this.once("ready",t);return this}onError(t){return this.addListener("error",t),this}async deleteExtensionsBuildOutput(t){let i=t.extensionEvents.filter(e=>e.type===f.Deleted).map(e=>e.extension).map(async e=>{let n=x(this.buildOutputPath,e.getOutputFolderId());return P(n,{force:!0})});await Promise.all(i)}async buildExtensions(t){let s=U(t,n=>n.extension.uid),i=[];for(let n of Object.values(s))n.length>0&&n[0]&&i.push({extension:n[0].extension,events:n});let e=i.map(async({extension:n,events:o})=>O({outputPrefix:n.handle,stripAnsi:!1},async()=>{try{await this.buildExtension(n);let d={status:"ok",uid:n.uid};o.forEach(h=>{h.buildResult=d})}catch(d){let h=d.errors??[],l=d.message,a;if(h.length){let c=h[0];l=c?.text,a=c?.location?.file,nt(h,{kind:"error",color:!S()}).forEach(y=>{this.options.stderr.write(y)})}else this.options.stderr.write(d.message);let p={status:"error",error:l,file:a,uid:n.uid};o.forEach(c=>{c.buildResult=p})}}));return Promise.all(e)}async buildExtension(t){let s={app:this.app,stdout:this.options.stdout,stderr:this.options.stderr,useTasks:!1,environment:"development",appURL:this.appURL};await t.buildForBundle(s,this.buildOutputPath)}async rescanImports(t){if(t.path.endsWith(".toml"))return;let i=t.extensionEvents.filter(e=>e.type!==f.Deleted).map(e=>e.extension);i.length>0&&(await Promise.all(i.map(async o=>o.rescanImports()))).some(o=>o)&&await this.fileWatcher?.start()}};export{b as a,M as b,f as c,J as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as v}from"./chunk-EKVTNWHM.js";import{a as k}from"./chunk-5BKCIDMS.js";import{Ba as w,Da as A,Ea as P,Fa as C}from"./chunk-4QTEPWEJ.js";import{b as y}from"./chunk-OXJBYKMX.js";import{v as u}from"./chunk-NTRAWIEJ.js";import{d as h}from"./chunk-TPCG6DCA.js";import{j as p}from"./chunk-773TIA5M.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();r();async function f(l){let{directory:o,configName:e,configPath:a,configuration:n,remoteApp:i}=l;if(!n.client_id)throw new h("The selected configuration is not linked to a remote app.","Run `shopify app config link` first to link this configuration to a Shopify app.");let c=i.developerPlatformClient,m=await w({developerPlatformClient:c,app:i}),d=i.flags,b={directory:o,configName:e,developerPlatformClient:c,apiKey:n.client_id},g=await A(b,m,d,i.apiKey),x=p(a),F=await P({remoteApp:i,developerPlatformClient:c,specifications:m,flags:d,configFileName:x,appDirectory:g.appDirectory??o,localAppOptions:g});return{configPath:a,configuration:F,remoteApp:i}}var s,t=class extends v{async run(){let{flags:o}=await this.parse(s),{app:e,remoteApp:a}=await C({directory:o.path,clientId:o["client-id"],forceRelink:o.reset,userProvidedConfigName:o.config}),{configuration:n,configPath:i}=await f({directory:o.path,configName:o.config,configPath:e.configPath,configuration:e.configuration,remoteApp:a});return u({headline:`Pulled latest configuration for "${n.name}"`,body:`Updated ${p(i)} with the remote data.`}),{app:e}}};s=t;t.summary="Refresh an already-linked app configuration without prompts.";t.descriptionWithMarkdown="Pulls the latest configuration from the already-linked Shopify app and updates the selected configuration file.\n\nThis command reuses the existing linked app and organization and skips all interactive prompts. Use `--config` to target a specific configuration file, or omit it to use the default one.";t.description=s.descriptionWithoutMarkdown();t.flags={...y,...k};var z=t;export{z as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as n}from"./chunk-
|
|
1
|
+
import{b as n}from"./chunk-HOSFU6UP.js";import{u as t}from"./chunk-NTRAWIEJ.js";import{k as r}from"./chunk-S5IFJ737.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var e=class extends n{static{this.description="Run CLI doctor-release tests"}static{this.hidden=!0}async run(){r()&&t({headline:"Shopify CLI Doctor Release.",body:["Available doctor-release commands:",""," shopify doctor-release theme -e <environment> Run all theme command tests","","The -e/--environment flag is required to specify the store configuration.","Use --help with any command for more options."]})}};export{e as a};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{a as E}from"./chunk-FKIVKNOV.js";import{a as S}from"./chunk-EKVTNWHM.js";import{a as C}from"./chunk-5BKCIDMS.js";import{Fa as P,I as x,ha as y,i as F}from"./chunk-4QTEPWEJ.js";import{b as f}from"./chunk-S6B2ADVR.js";import{b as w}from"./chunk-OXJBYKMX.js";import{r as $}from"./chunk-T6CC5WUU.js";import{Fb as n,Hb as d,Lb as v,Ta as h,ma as g,ua as l}from"./chunk-7FQFEB33.js";import{f as u}from"./chunk-773TIA5M.js";import{e as k,g as p}from"./chunk-VKWPEFWQ.js";p();p();async function _({app:c,remoteApp:t,organization:o,envFile:e}){await y(t,o.source);let r={SHOPIFY_API_KEY:t.apiKey,SHOPIFY_API_SECRET:t.apiSecretKeys[0]?.secret,SCOPES:F(c.configuration)};if(await h(e)){let a=await g(e),s=f(a,r);if(s===a)return d`No changes to ${n.path(e)}`;{await l(e,s);let I=E(a??"",s);return d`Updated ${n.path(e)} to be:
|
|
2
|
+
|
|
3
|
+
${s}
|
|
4
|
+
|
|
5
|
+
Here's what changed:
|
|
6
|
+
|
|
7
|
+
${n.linesDiff(I)}
|
|
8
|
+
`}}else{let a=f(null,r);return await l(e,a),d`Created ${n.path(e)}:
|
|
9
|
+
|
|
10
|
+
${a}
|
|
11
|
+
`}}var b=k($(),1);var m,i=class extends S{async run(){let{flags:t}=await this.parse(m),{app:o,remoteApp:e,organization:r}=await P({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),a=u(o.directory,t["env-file"]??x(o.configPath));return v(await _({app:o,remoteApp:e,organization:r,envFile:a})),{app:o}}};m=i;i.summary="Pull app and extensions environment variables.";i.descriptionWithMarkdown="Creates or updates an `.env` files that contains app and app extension environment variables.\n\n When an existing `.env` file is updated, changes to the variables are displayed in the terminal output. Existing variables and commented variables are preserved.";i.description=m.descriptionWithoutMarkdown();i.flags={...w,...C,"env-file":b.Flags.string({hidden:!1,description:"Specify an environment file to update if the update flag is set",env:"SHOPIFY_FLAG_ENV_FILE"})};var j=i;export{j as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e}from"./chunk-
|
|
1
|
+
import{b as e}from"./chunk-HOSFU6UP.js";import{r}from"./chunk-T6CC5WUU.js";import{e as c,g as t}from"./chunk-VKWPEFWQ.js";t();var s=c(r(),1);var a=class o extends e{static{this.args={command:s.Args.string({description:"Command to show help for.",required:!1})}}static{this.description="Display help for Shopify CLI"}static{this.usage="help [command] [flags]"}static{this.flags={"nested-commands":s.Flags.boolean({char:"n",description:"Include all nested commands in the output.",env:"SHOPIFY_FLAG_CLI_NESTED_COMMANDS",default:!1})}}static{this.strict=!1}async run(){let{argv:i,flags:n}=await this.parse(o),l=await(0,s.loadHelpClass)(this.config);await new l(this.config,{all:n["nested-commands"]}).showHelp(i)}};export{a};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as C}from"./chunk-EKVTNWHM.js";import{a as E}from"./chunk-5BKCIDMS.js";import{Fa as y,W as F,X as _,Y as x}from"./chunk-4QTEPWEJ.js";import{b as I}from"./chunk-OXJBYKMX.js";import{D as A,v,x as h}from"./chunk-NTRAWIEJ.js";import{d as w}from"./chunk-VI34CKV6.js";import{f as k}from"./chunk-TPCG6DCA.js";import{r as b}from"./chunk-T6CC5WUU.js";import{e as T,g as d}from"./chunk-VKWPEFWQ.js";d();d();async function P(n){let{developerPlatformClient:e,app:m,remoteApp:o}=n,{extensionIdentifiersBreakdown:a,versionDetails:r}=await F(e,o,n.version),l=await _({developerPlatformClient:e,apiKey:o.apiKey,localApp:m,remoteApp:o,versionAppModules:r.appModuleVersions.map(t=>({...t})),release:!0});if(!await x({configExtensionIdentifiersBreakdown:l,extensionIdentifiersBreakdown:a,appTitle:o.title,release:!0,force:n.force,allowUpdates:n.allowUpdates,allowDeletes:n.allowDeletes}))throw new k;let f=[{title:"Releasing version",task:async t=>{t.appRelease=await e.release({app:o,version:{versionId:r.uuid,appVersionId:r.id}})}}],{appRelease:{appRelease:i}}=await A(f),u=[{link:{label:r.versionTag??void 0,url:r.location}},r.message?`
|
|
2
|
+
${r.message}`:""];if(i.userErrors&&i.userErrors.length>0){let t=i.userErrors?.map(R=>R.message).join(", ");h({headline:"Version couldn't be released.",body:[...u,`${u.length>0?`
|
|
3
|
+
|
|
4
|
+
`:""}${t}`]})}else v({headline:"Version released to users.",body:u})}var p=T(b(),1);var g,s=class extends C{async run(){let{flags:e}=await this.parse(g),m=e["client-id"];await w(()=>({cmd_app_reset_used:e.reset}));let o=e["allow-updates"],a=e["allow-deletes"],r=!!(o&&a),l=[];!o&&!a&&l.push("allow-updates"),this.failMissingNonTTYFlags(e,l);let{app:c,remoteApp:f,developerPlatformClient:i}=await y({directory:e.path,clientId:m,forceRelink:e.reset,userProvidedConfigName:e.config});return await P({app:c,remoteApp:f,developerPlatformClient:i,force:r,allowUpdates:o,allowDeletes:a,version:e.version}),{app:c}}};g=s;s.summary="Release an app version.";s.usage="app release --version <version>";s.descriptionWithMarkdown="Releases an existing app version. Pass the name of the version that you want to release using the `--version` flag.";s.description=g.descriptionWithoutMarkdown();s.flags={...I,...E,"allow-updates":p.Flags.boolean({hidden:!1,description:"Allows adding and updating extensions and configuration without requiring user confirmation. Recommended option for CI/CD environments.",env:"SHOPIFY_FLAG_ALLOW_UPDATES"}),"allow-deletes":p.Flags.boolean({hidden:!1,description:"Allows removing extensions and configuration without requiring user confirmation. For CI/CD environments, the recommended flag is --allow-updates.",env:"SHOPIFY_FLAG_ALLOW_DELETES"}),version:p.Flags.string({hidden:!1,description:"The name of the app version to release.",env:"SHOPIFY_FLAG_VERSION",required:!0})};var G=s;export{G as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./chunk-VI34CKV6.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();var t=e({cmd_app_warning_api_key_deprecation_displayed:!1}),i=t;export{i as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{g as i}from"./chunk-
|
|
1
|
+
import{g as i}from"./chunk-VKWPEFWQ.js";i();var a=(t,e,n,o)=>{if(n==="length"||n==="prototype"||n==="arguments"||n==="caller")return;let r=Object.getOwnPropertyDescriptor(t,n),c=Object.getOwnPropertyDescriptor(e,n);!u(r,c)&&o||Object.defineProperty(t,n,c)},u=function(t,e){return t===void 0||t.configurable||t.writable===e.writable&&t.enumerable===e.enumerable&&t.configurable===e.configurable&&(t.writable||t.value===e.value)},g=(t,e)=>{let n=Object.getPrototypeOf(e);n!==Object.getPrototypeOf(t)&&Object.setPrototypeOf(t,n)},b=(t,e)=>`/* Wrapped ${t}*/
|
|
2
2
|
${e}`,l=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),f=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),O=(t,e,n)=>{let o=n===""?"":`with ${n.trim()}() `,r=b.bind(null,o,e.toString());Object.defineProperty(r,"name",f),Object.defineProperty(t,"toString",{...l,value:r})};function s(t,e,{ignoreNonConfigurable:n=!1}={}){let{name:o}=t;for(let r of Reflect.ownKeys(e))a(t,e,r,n);return g(t,e),O(t,e,o),t}export{s as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as R}from"./chunk-
|
|
1
|
+
import{n as R}from"./chunk-G4OQABDT.js";import{a as T,b as k}from"./chunk-J3HX6ZGD.js";import{f as G}from"./chunk-VI34CKV6.js";import{d as l}from"./chunk-TPCG6DCA.js";import{Fb as u,Hb as h,Oa as y,Pa as x,Pb as f,ka as $,ua as b,wa as g}from"./chunk-7FQFEB33.js";import{d,i as w}from"./chunk-773TIA5M.js";import{g as m}from"./chunk-VKWPEFWQ.js";m();function U(a){let t=/^(?:(?:https:\/\/)?([^:/]+\.[^:/]+)\/|git@([^:/]+)[:/]|([^/]+):)?([^/\s]+)\/([^/\s#]+)(?:((?:\/[^/\s#]+)+))?(?:\/)?(?:#(.+))?/.exec(a);if(!t){let v=["github:user/repo","user/repo/subdirectory","git@github.com:user/repo","user/repo#dev","https://github.com/user/repo"];return k(new Error(`Parsing the url ${a} failed. Supported formats are ${v.join(", ")}.`))}let e=t[1]??t[2]??t[3]??"github.com",r=e==="github"?"github.com":e,s=t[4],i=t[5].replace(/\.git$/,""),n=t[6]?.slice(1),o=t[7],p=o?`#${o}`:"",c=`git@${r}:${s}/${i}`,H=`https://${r}/${s}/${i}`,P=["https:/",r,s,i,n].join("/").concat(p);return T({full:P,site:r,user:s,name:i,ref:o,subDirectory:n,ssh:c,http:H})}function A(a){let t=new URL(a),e=t.hash?t.hash.slice(1):void 0,[r,s,i,...n]=t.pathname.split("/"),o=n.length>0?n.join("/"):void 0;return{baseURL:`${t.origin}/${s}/${i}`,branch:e,filePath:o}}async function B(a,t,e,r){let s=`https://github.com/${a}/releases/download/${t}/${e}`;return G("cmd_all_timing_network_ms")(async()=>{f(h`Downloading ${u.link(e,s)}`),await $(async i=>{let n=d(i,e),o;try{if(o=await R(s,void 0,"slow-request"),!o.ok)throw new l(`Failed to download ${e}: ${o.statusText}`)}catch(c){throw new l(`Failed to download ${e}: ${c instanceof Error?c.message:"unknown error"}`)}let p=await o.arrayBuffer();await b(n,Buffer.from(p)),await x(n,493),await g(w(r)),await y(n,r)}),f(h`${u.successIcon()} Successfully downloaded ${u.path(r)}`)})}export{U as a,A as b,B as c};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as R}from"./chunk-
|
|
1
|
+
import{a as R}from"./chunk-VJEKDBGZ.js";import{e as l}from"./chunk-NTRAWIEJ.js";import{f as I}from"./chunk-VI34CKV6.js";import{d as n}from"./chunk-TPCG6DCA.js";import{Ea as b,Fb as a,Hb as s,Pb as f,Ta as G,Wa as C}from"./chunk-7FQFEB33.js";import{a as k,r as w}from"./chunk-S5IFJ737.js";import{q as g}from"./chunk-773TIA5M.js";import{e as D,g as $}from"./chunk-VKWPEFWQ.js";$();var A=D(R());async function r(t,e){try{return(await l("git",t,{cwd:e})).stdout}catch(o){if(o instanceof Error){let i=new n(o.message);throw i.stack=o.stack,"exitCode"in o&&Object.assign(i,{exitCode:o.exitCode}),i}throw o}}async function K(t,e="main"){f(s`Initializing git repository at ${a.path(t)}...`),await h(),await r(["init"],t),await r(["checkout","-b",e],t)}async function Q(t,e){try{return(await r(["check-ignore",...e],t)).split(`
|
|
2
2
|
`).filter(Boolean)}catch(o){if(o instanceof n&&"exitCode"in o&&o.exitCode===1)return[];throw o}}async function V(t){return I("cmd_all_timing_network_ms")(async()=>{let{repoUrl:e,destination:o,shallow:i,latestTag:m}=t;if(f(s`Git-cloning repository ${e} into ${a.path(o)}...`),await h(),await G(o)){if(!await b(o))throw new n(s`Can't clone to ${a.path(o)}`,"The path exists but isn't a directory.");if((await C(["*",".*"],{cwd:o,deep:1,onlyFiles:!1})).length>0)throw new n(s`Directory ${a.path(o)} already exists and is not empty`,s`Choose a different name or remove the existing directory first.`)}let[v,d]=e.split("#");if(d&&m)throw new n("Error cloning the repository. Git can't clone the latest release with a 'branch'.");if(i&&m)throw new n("Error cloning the repository. Git can't clone the latest release with the 'shallow' property.");let u=["clone","--recurse-submodules"];d&&u.push("--branch",d),i&&u.push("--depth","1"),k()||u.push("-c","core.askpass=true"),u.push(v,o);try{if(await l("git",u),m){let c=await S(o,e);await r(["checkout",c],o)}}catch(c){if(c instanceof n)throw c;if(c instanceof Error){let x=new n(c.message);throw x.stack=c.stack,x}throw c}})}async function S(t,e){let o=await F(t);if(!o)throw new n(`Couldn't obtain the most recent tag of the repository ${e}`);return o}async function X(t){let o=await r(["log","-1","--format=%H%x00%ai%x00%s%x00%D%x00%b%x00%an%x00%ae"],t);if(!o.trim())throw new n("Must have at least one commit to run command",s`Run ${a.genericShellCommand("git commit -m 'Initial commit'")} to create your first commit.`);let i=o.split("\0");return{hash:i[0],date:i[1],message:i[2],refs:i[3],body:i[4],author_name:i[5],author_email:i[6]}}async function Y(t){await r(["add","--all"],t)}async function Z(t,e){let o=["commit","-m",t];return e?.author&&o.push("--author",e.author),await r(o,e?.directory),(await r(["rev-parse","HEAD"],e?.directory)).trim()}async function h(){if(!await w())throw new n("Git is necessary in the environment to continue",s`Install ${a.link("git","https://git-scm.com/book/en/v2/Getting-Started-Installing-Git")}`)}var p=class extends n{};async function N(t){if(await h(),!await E(t))throw new p(`${a.path(t??g())} is not a Git directory`)}async function tt(t){return await w()?E(t):!1}async function E(t){try{return await l("git",["rev-parse","--git-dir"],{cwd:t}),!0}catch(e){if(e instanceof Error&&"exitCode"in e&&e.exitCode===128)return!1;throw e}}var y=class extends n{};async function et(t){if(!await T(t))throw new y(`${a.path(t??g())} is not a clean Git directory`)}async function T(t){return(await r(["status","--porcelain"],t)).trim()===""}async function F(t){try{return(await r(["describe","--tags","--abbrev=0"],t)).trim()||void 0}catch(e){if(e instanceof n&&"exitCode"in e&&e.exitCode===128)return;throw e}}async function ot(t,e="origin"){if(f(s`Removing git remote ${e} from ${a.path(t)}...`),await h(),!(await r(["remote"],t)).split(`
|
|
3
3
|
`).filter(Boolean).includes(e)){f(s`Remote ${e} does not exist, no action needed`);return}await r(["remote","remove",e],t)}export{K as a,Q as b,V as c,X as d,Y as e,Z as f,N as g,tt as h,y as i,et as j,T as k,ot as l};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as c,b as f,c as g,d as x,g as C}from"./chunk-5O43334U.js";import{a as d}from"./chunk-EKVTNWHM.js";import{a as l}from"./chunk-5BKCIDMS.js";import{Fa as m}from"./chunk-4QTEPWEJ.js";import{b as p}from"./chunk-OXJBYKMX.js";import{v as s}from"./chunk-NTRAWIEJ.js";import{r as I}from"./chunk-T6CC5WUU.js";import{e as y,g as a}from"./chunk-VKWPEFWQ.js";a();var h=y(I(),1);var i=class u extends d{async run(){let{flags:o}=await this.parse(u),e=await m({directory:o.path,clientId:o["client-id"],forceRelink:o.reset,userProvidedConfigName:o.config}),t=await C({developerPlatformClient:e.developerPlatformClient,apiKey:e.remoteApp.apiKey,organizationId:e.remoteApp.organizationId,extensionTypes:g}),n=c(t);if(n.length===0)s({headline:["No extensions to migrate."]});else{let r=await f(n);await x({...e,extensions:t,extensionTypes:r.extensionTypes,buildExtensionConfig:r.buildExtensionConfig})}return{app:e.app}}};i.description="Import dashboard-managed extensions into your app.";i.flags={...p,...l,"client-id":h.Flags.string({hidden:!1,description:"The Client ID of your app.",env:"SHOPIFY_FLAG_CLIENT_ID",exclusive:["config"]})};var k=i;export{k as a};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as l,c as a,d as B,f as C}from"./chunk-NNOSZ447.js";import{a as I,c as d,e as Q,g as u}from"./chunk-VKWPEFWQ.js";var b=d((he,R)=>{"use strict";u();var g={},X=process.nextTick||global.setImmediate||global.setTimeout;g.nextTick=function(e){X(e)};g.parallel=function(e,r){var n=[],t=[],i=0,o=0;function c(s,f,m){f?t[s]=f:n[s]=m,o+=1,o>=i&&r((t.length>0,t),n)}Object.keys(e).forEach(function(s){i+=1;var f=e[s];g.nextTick(function(){f(c.bind(null,s),1)})})};g.promisify=function(e){return new Promise(function(r,n){e(function(t,i){if(t){t instanceof Error||(t=new Error(t)),n(t);return}r(i)})})};g.iterate=function(e,r,n){var t=[],i=function(){if(e.length===0){g.nextTick(n.bind(null,t));return}var o=e.shift();if(typeof o=="function"){o(function(c,s){if(c)t.push(c);else for(;s.length>0;)e.unshift(s.pop());i()});return}r(o,function(c,s){c?(t.push(c),i()):g.nextTick(n.bind(null,null,s))})};g.nextTick(i)};R.exports=g});var L=d((_e,y)=>{u();var Z=I("child_process").execFile,ee=/[-\/\\^$*+?.()|[\]{}]/g;function re(e){return e.replace(ee,"\\$&")}y.exports=function(e,r){Z("ipconfig",["/all"],function(n,t){if(n){r(n,null);return}var i=new RegExp(re(e)).exec(t);if(!i){r("did not find interface in `ipconfig /all`",null);return}if(t=t.substring(i.index+e.length),i=/[A-Fa-f0-9]{2}(\-[A-Fa-f0-9]{2}){5}/.exec(t),!i){r("did not find a mac address",null);return}r(null,i[0].toLowerCase().replace(/\-/g,":"))})}});var A=d((ve,w)=>{u();var te=I("child_process").execFile;w.exports=function(e,r){te("/bin/cat",["/sys/class/net/"+e+"/address"],function(n,t){if(n){r(n,null);return}r(null,t.trim().toLowerCase())})}});var U=d((Ce,M)=>{u();var ne=I("child_process").execFile;M.exports=function(e,r){ne("ifconfig",[e],function(n,t){if(n){r(n,null);return}var i=/[a-f0-9]{2}(:[a-f0-9]{2}){5}/.exec(t.toLowerCase());if(!i){r("did not find a mac address",null);return}r(null,i[0].toLowerCase())})}});var S=d((be,O)=>{u();var ie=I("os"),h,N="^[a-z0-9]+$";switch(ie.platform()){case"win32":N="^[a-z0-9 -]+$",h=L();break;case"linux":h=A();break;case"darwin":case"sunos":case"freebsd":h=U();break;default:console.warn("node-macaddress: Unknown os.platform(), defaulting to 'unix'."),h=U();break}var D=new RegExp(N,"i");O.exports=function(e,r){if(!D.test(e)){r(new Error(["invalid iface: '",e,"' (must conform to reg exp /",D,"/)"].join("")),null);return}h(e,r)}});var q=d((Le,k)=>{"use strict";u();var oe=I("child_process").execFile;k.exports=function(e){oe("wmic",["nic","get","NetConnectionID"],function(r,n){if(r){e(r,null);return}for(var t=n.trim().replace(/\s{2,}/g,`
|
|
2
|
+
`).split(`
|
|
3
|
+
`).slice(1),i=[],o=0;o<t.length;o+=1){var c=t[o].trim();c!==""&&i.push(c)}e(null,i)})}});var K=d((Ae,F)=>{u();var se=I("child_process").execFile;F.exports=function(e){se("/bin/ls",["/sys/class/net"],function(r,n){if(r){e(r,null);return}for(var t=n.split(/[ \t\n]+/),i=[],o=0;o<t.length;o+=1){var c=t[o].trim();c!==""&&i.push(c)}e(null,i)})}});var v=d((De,G)=>{"use strict";u();var ue=I("child_process").execFile;G.exports=function(e){ue("/sbin/ifconfig",["-l"],function(r,n){if(r){e(r,null);return}for(var t=n.split(/[ \t]+/),i=[],o=0;o<t.length;o+=1){var c=t[o].trim();c!==""&&i.push(c)}e(null,i)})}});var P=d((Oe,H)=>{u();var ae=I("os"),T;switch(ae.platform()){case"win32":T=q();break;case"linux":T=K();break;case"darwin":case"sunos":case"freebsd":T=v();break;default:console.warn("node-macaddress: Unknown os.platform(), defaulting to 'unix'."),T=v();break}H.exports=T});var j=d((ke,$)=>{u();var ce=I("os");$.exports=function(){var e={};try{var r=ce.networkInterfaces()}catch(n){if(n.syscall==="uv_interface_addresses")return e;throw n}return Object.keys(r).forEach(function(n){var t={},i=!1;r[n].forEach(function(o){if(!o.internal){var c=typeof o.family=="number"?"ipv"+o.family:(o.family||"").toLowerCase();t[c]=o.address,i=!0,o.mac&&o.mac!=="00:00:00:00:00:00"&&(t.mac=o.mac)}}),i&&(e[n]=t)}),e}});var V=d((Fe,z)=>{"use strict";u();var E=b(),p={};p.getMacAddress=S();p.getAllInterfaces=P();p.networkInterfaces=j();var fe=new RegExp("^((en|eth)[0-9]+|ethernet)$","i"),le=new RegExp("^(vboxnet[0-9]+)$","i");p.one=function(){var e=null,r=null;if(arguments.length>=1&&(typeof arguments[0]=="function"?r=arguments[0]:typeof arguments[0]=="string"&&(e=arguments[0]),arguments.length>=2&&typeof arguments[1]=="function"&&(r=arguments[1])),!r)return E.promisify(function(s){p.one(e,s)});if(e){p.getMacAddress(e,r);return}var n=p.networkInterfaces(),t={},i=[],o=[];if(Object.keys(n).forEach(function(s){o.push(s);var f=0,m=n[s];typeof m.mac=="string"&&m.mac!=="00:00:00:00:00:00"&&(t[s]=m.mac,m.ipv4&&(f+=1),m.ipv6&&(f+=1),fe.test(s)&&(f+=2),le.test(s)&&(f-=3),i.push({name:s,score:f,mac:m.mac}))}),i.length>0){i.sort(function(s,f){var m=f.score-s.score;return m!==0?m:s.name<f.name?-1:s.name>f.name?1:0}),E.nextTick(r.bind(null,null,i[0].mac));return}o.push(p.getAllInterfaces);var c=function(s,f){if(t[s]){f(null,t[s]);return}p.getMacAddress(s,f)};E.iterate(o,c,r)};p.all=function(e){if(typeof e!="function")return E.promisify(p.all);var r=p.networkInterfaces(),n={};return Object.keys(r).forEach(function(t){r[t].mac||(n[t]=p.getMacAddress.bind(null,t))}),Object.keys(n).length===0?(typeof e=="function"&&E.nextTick(e.bind(null,null,r)),r):(E.parallel(n,function(t,i){Object.keys(i).forEach(function(o){r[o].mac=i[o]}),typeof e=="function"&&e(null,r)}),null)};z.exports=p});u();u();function x(e){return!(e===void 0||e.trim()==="")}function _(e,r){switch(e){case"bitbucket":return{branch:r.BITBUCKET_BRANCH,build:r.BITBUCKET_BUILD_NUMBER,commitSha:r.BITBUCKET_COMMIT,run:r.BITBUCKET_BUILD_NUMBER,url:`https://bitbucket.org/${r.BITBUCKET_WORKSPACE}/${r.BITBUCKET_REPO_SLUG}/pipelines/results/${r.BITBUCKET_BUILD_NUMBER}`};case"circleci":return{actor:r.CIRCLE_USERNAME,branch:r.CIRCLE_BRANCH,build:r.CIRCLE_BUILD_NUM,commitSha:r.CIRCLE_SHA1,run:r.CIRCLE_WORKFLOW_ID,url:r.CIRCLE_BUILD_URL};case"github":return{actor:r.GITHUB_ACTOR,attempt:r.GITHUB_RUN_ATTEMPT,branch:r.GITHUB_REF_NAME,build:r.GITHUB_RUN_ID,commitSha:r.GITHUB_SHA,run:r.GITHUB_RUN_ID,runNumber:r.GITHUB_RUN_NUMBER,url:`${r.GITHUB_SERVER_URL}/${r.GITHUB_REPOSITORY}/actions/runs/${r.GITHUB_RUN_ID}`};case"gitlab":return{actor:r.GITLAB_USER_LOGIN,branch:r.CI_COMMIT_REF_NAME,build:r.CI_PIPELINE_ID,commitSha:r.CI_COMMIT_SHA,commitMessage:r.CI_COMMIT_MESSAGE,run:r.CI_RUNNER_ID,url:r.CI_PIPELINE_URL};case"buildkite":return{branch:r.BUILDKITE_BRANCH,build:r.BUILDKITE_BUILD_NUMBER,commitSha:r.BUILDKITE_COMMIT,commitMessage:r.BUILDKITE_MESSAGE,run:r.BUILDKITE_BUILD_NUMBER,url:r.BUILDKITE_BUILD_URL};default:return{}}}var J=Q(V());import{homedir as pe}from"os";async function me(e){let{fileExists:r}=await import("./fs-LJWVNO4H.js");return r(e)}async function de(e,r){let{exec:n}=await import("./system-YQZNGSWB.js");await n(e,r)}function je(){return!!(process.stdout.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}function ze(){return pe()}var W,Y;function Ie(e=process.env){return e[a.env]==="development"}function Ve(e=process.env){return e===process.env?W??(W=l(e[a.verbose])||process.argv.includes("--verbose")):l(e[a.verbose])||process.argv.includes("--verbose")}async function We(e=process.env){return Object.prototype.hasOwnProperty.call(e,a.runAsUser)?!l(e[a.runAsUser]):await me(C.executables.dev)}function Ye(e=process.env){return e===process.env?Y??(Y=l(e[a.unitTest])):l(e[a.unitTest])}function Je(e=process.env){return l(e[a.noAnalytics])||l(e[a.optOutInstrumentation])||Ie(e)}function Qe(e=process.env){return l(e[a.alwaysLogAnalytics])}function Xe(e=process.env){return l(e[a.alwaysLogMetrics])}function Ze(e=process.env){return l(e[a.firstPartyDev])}function er(e=process.env){return l(e[a.doctor])}function rr(e=process.env){return e[a.gitpod]}function tr(e=process.env){return e[a.codespaceName]}function nr(e=process.env){return e[a.codespacePortForwardingDomain]}function ir(e=process.env){return xe(e).platform!=="localhost"}function or(e=process.env){return e[a.themeToken]}function xe(e=process.env){return x(e[a.codespaces])?{platform:"codespaces",editor:!0}:x(e[a.gitpod])?{platform:"gitpod",editor:!0}:x(e[a.cloudShell])?{platform:"cloudShell",editor:!0}:{platform:"localhost",editor:!1}}async function sr(){try{return await de("git",["--version"]),!0}catch{return!1}}function ur(e=process.env){if(l(e.CI)){let r="unknown";return x(e.BITBUCKET_BUILD_NUMBER)?r="bitbucket":l(e.CIRCLECI)?r="circleci":x(e.GITHUB_ACTION)?r="github":l(e.GITLAB_CI)?r="gitlab":x(e.BUILDKITE)&&(r="buildkite"),{isCI:!0,name:r,metadata:_(r,e)}}else if(l(e.TF_BUILD))return{isCI:!0,name:"azure",metadata:_("azure",e)};return{isCI:!1}}function ar(){return J.default.one()}function cr(e=process.env){let r=e[a.themeKitAccessDomain];return x(r)?r:B}function fr(e=process.env){let r=e[a.otelURL];return x(r)?r:"https://otlp-http-production-cli.shopifysvc.com"}export{je as a,ze as b,Ie as c,Ve as d,We as e,Ye as f,Je as g,Qe as h,Xe as i,Ze as j,er as k,rr as l,tr as m,nr as n,ir as o,or as p,xe as q,sr as r,ur as s,ar as t,cr as u,fr as v};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{d as E}from"./chunk-TPCG6DCA.js";import{Fb as $,Hb as T,Pb as O,Ta as V,ma as N}from"./chunk-7FQFEB33.js";import{a as g,c as w,e as Y,g as m}from"./chunk-VKWPEFWQ.js";var I=w((z,R)=>{R.exports={name:"dotenv",version:"16.6.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var K=w((X,d)=>{m();var b=g("fs"),y=g("path"),q=g("os"),F=g("crypto"),P=I(),D=P.version,C=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function S(e){let n={},r=e.toString();r=r.replace(/\r\n?/mg,`
|
|
2
|
+
`);let s;for(;(s=C.exec(r))!=null;){let a=s[1],t=s[2]||"";t=t.trim();let o=t[0];t=t.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),o==='"'&&(t=t.replace(/\\n/g,`
|
|
3
|
+
`),t=t.replace(/\\r/g,"\r")),n[a]=t}return n}function U(e){e=e||{};let n=x(e);e.path=n;let r=l.configDotenv(e);if(!r.parsed){let o=new Error(`MISSING_DATA: Cannot parse ${n} for an unknown reason`);throw o.code="MISSING_DATA",o}let s=A(e).split(","),a=s.length,t;for(let o=0;o<a;o++)try{let i=s[o].trim(),f=M(r,i);t=l.decrypt(f.ciphertext,f.key);break}catch(i){if(o+1>=a)throw i}return l.parse(t)}function B(e){console.log(`[dotenv@${D}][WARN] ${e}`)}function v(e){console.log(`[dotenv@${D}][DEBUG] ${e}`)}function j(e){console.log(`[dotenv@${D}] ${e}`)}function A(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function M(e,n){let r;try{r=new URL(n)}catch(i){if(i.code==="ERR_INVALID_URL"){let f=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw f.code="INVALID_DOTENV_KEY",f}throw i}let s=r.password;if(!s){let i=new Error("INVALID_DOTENV_KEY: Missing key part");throw i.code="INVALID_DOTENV_KEY",i}let a=r.searchParams.get("environment");if(!a){let i=new Error("INVALID_DOTENV_KEY: Missing environment part");throw i.code="INVALID_DOTENV_KEY",i}let t=`DOTENV_VAULT_${a.toUpperCase()}`,o=e.parsed[t];if(!o){let i=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${t} in your .env.vault file.`);throw i.code="NOT_FOUND_DOTENV_ENVIRONMENT",i}return{ciphertext:o,key:s}}function x(e){let n=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let r of e.path)b.existsSync(r)&&(n=r.endsWith(".vault")?r:`${r}.vault`);else n=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else n=y.resolve(process.cwd(),".env.vault");return b.existsSync(n)?n:null}function k(e){return e[0]==="~"?y.join(q.homedir(),e.slice(1)):e}function W(e){let n=!!(e&&e.debug),r=e&&"quiet"in e?e.quiet:!0;(n||!r)&&j("Loading env from encrypted .env.vault");let s=l._parseVault(e),a=process.env;return e&&e.processEnv!=null&&(a=e.processEnv),l.populate(a,s,e),{parsed:s}}function G(e){let n=y.resolve(process.cwd(),".env"),r="utf8",s=!!(e&&e.debug),a=e&&"quiet"in e?e.quiet:!0;e&&e.encoding?r=e.encoding:s&&v("No encoding is specified. UTF-8 is used by default");let t=[n];if(e&&e.path)if(!Array.isArray(e.path))t=[k(e.path)];else{t=[];for(let u of e.path)t.push(k(u))}let o,i={};for(let u of t)try{let c=l.parse(b.readFileSync(u,{encoding:r}));l.populate(i,c,e)}catch(c){s&&v(`Failed to load ${u} ${c.message}`),o=c}let f=process.env;if(e&&e.processEnv!=null&&(f=e.processEnv),l.populate(f,i,e),s||!a){let u=Object.keys(i).length,c=[];for(let p of t)try{let h=y.relative(process.cwd(),p);c.push(h)}catch(h){s&&v(`Failed to load ${p} ${h.message}`),o=h}j(`injecting env (${u}) from ${c.join(",")}`)}return o?{parsed:i,error:o}:{parsed:i}}function J(e){if(A(e).length===0)return l.configDotenv(e);let n=x(e);return n?l._configVault(e):(B(`You set DOTENV_KEY but you are missing a .env.vault file at ${n}. Did you forget to build it?`),l.configDotenv(e))}function Q(e,n){let r=Buffer.from(n.slice(-64),"hex"),s=Buffer.from(e,"base64"),a=s.subarray(0,12),t=s.subarray(-16);s=s.subarray(12,-16);try{let o=F.createDecipheriv("aes-256-gcm",r,a);return o.setAuthTag(t),`${o.update(s)}${o.final()}`}catch(o){let i=o instanceof RangeError,f=o.message==="Invalid key length",u=o.message==="Unsupported state or unable to authenticate data";if(i||f){let c=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw c.code="INVALID_DOTENV_KEY",c}else if(u){let c=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw c.code="DECRYPTION_FAILED",c}else throw o}}function H(e,n,r={}){let s=!!(r&&r.debug),a=!!(r&&r.override);if(typeof n!="object"){let t=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw t.code="OBJECT_REQUIRED",t}for(let t of Object.keys(n))Object.prototype.hasOwnProperty.call(e,t)?(a===!0&&(e[t]=n[t]),s&&v(a===!0?`"${t}" is already defined and WAS overwritten`:`"${t}" is already defined and was NOT overwritten`)):e[t]=n[t]}var l={configDotenv:G,_configVault:W,_parseVault:U,config:J,decrypt:Q,parse:S,populate:H};d.exports.configDotenv=l.configDotenv;d.exports._configVault=l._configVault;d.exports._parseVault=l._parseVault;d.exports.config=l.config;d.exports.decrypt=l.decrypt;d.exports.parse=l.parse;d.exports.populate=l.populate;d.exports=l});m();var L=Y(K());async function oe(e){if(O(T`Reading the .env file at ${$.path(e)}`),!await V(e))throw new E(`The environment file at ${e} does not exist.`);let n=await N(e);return{path:e,variables:(0,L.parse)(n)}}function se(e,n){let r=[],s=e===null?[]:e.split(`
|
|
4
|
+
`),a=[],t;for(let o of s){if(t){if(o.endsWith(t.quote)){let u=_(t.key,t.value+o.slice(0,-1),t.quote),c=n[t.key];c&&(a.push(t.key),u=_(t.key,c)),r.push(u),t=void 0}else t.value+=`${o}
|
|
5
|
+
`;continue}let i=o.match(/^([^=:#]+?)[=:](.*)/),f=o;if(i){let u=i[1].trim(),c=(i[2]??"").trim();if(/^["'`]/.test(c)&&!c.endsWith(c[0])){t={key:u,value:`${c.slice(1)}
|
|
6
|
+
`,quote:c[0]};continue}let p=n[u];p&&(a.push(u),f=_(u,p))}r.push(f)}if(t)throw new E(`Multi-line environment variable '${t.key}' is not properly enclosed.`);for(let[o,i]of Object.entries(n))a.includes(o)||r.push(_(o,i));return r.join(`
|
|
7
|
+
`)}function _(e,n,r){if(r)return`${e}=${r}${n}${r}`;if(n?.includes(`
|
|
8
|
+
`)){let s=['"',"'","`"].find(a=>!n.includes(a));if(!s)throw new E(`The environment file patch has an env value that can't be surrounded by quotes: ${n}`);return`${e}=${s}${n}${s}`}return`${e}=${n}`}export{oe as a,se as b,_ as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as o}from"./chunk-AWEB5AQM.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var t=class extends o{};export{t as a};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as j}from"./chunk-YMAWEIUR.js";import{F as k,K as x,c as O}from"./chunk-DTIWUT2T.js";import{a as _}from"./chunk-MIDYZPO4.js";import{e as R}from"./chunk-VJ6KDRZI.js";import{k as v,q as A}from"./chunk-TUNUEOHO.js";import{b as F,c as L}from"./chunk-OXJBYKMX.js";import{J as y}from"./chunk-NTRAWIEJ.js";import{d as T}from"./chunk-TPCG6DCA.js";import{r as U}from"./chunk-T6CC5WUU.js";import{$a as $,Lb as S,Pb as p,la as P,ua as g}from"./chunk-7FQFEB33.js";import{d as m,i as w}from"./chunk-773TIA5M.js";import{e as D,g as l}from"./chunk-VKWPEFWQ.js";l();l();l();import{fileURLToPath as I}from"node:url";async function E(...i){let e=await $("package.json",{cwd:I(import.meta.url),type:"file"});if(!e)throw new Error("Failed to find CLI root path");return e.endsWith("/packages/theme/package.json")?m(w(e),"assets",...i):m(w(e),"dist","assets",...i)}async function b(i,e,s,t,n,f){let c=await O(i)?await j(f,i.storeFqdn):void 0;if(n)throw new T("Unable to use Admin API or Theme Access tokens with the profile command","You must authenticate manually by not passing the --password flag.");let d=await x(e,i,n,c),o=await k(d,{method:"GET",path:s,query:[],themeId:e,headers:{Accept:"application/vnd.speedscope+json"}});if(o.status!==200){let u=await o.text();throw new Error(`Bad response: ${o.status}: ${u}`)}let a=await o.text();t?S(a):await J(a)}async function J(i){let e=process.env.WSL_DISTRO_NAME,s=e?`//wsl$/${e}`:"",t=await E("speedscope","index.html");p(`[Theme Profile] Resolved URL to open: ${t}`);let n="liquid-profile",f=Buffer.from(i).toString("base64"),c=`speedscope.loadFileFromBase64(${JSON.stringify(n)}, ${JSON.stringify(f)})`,d=`speedscope-${Number(new Date)}-${process.pid}`,o=m(P(),`${d}.js`);p(`[Theme Profile] writing JS file to: ${o}`),await g(o,c),p(`[Theme Profile] JS file created successfully: ${o}`),t=`${s}${t}`,o=`${s}${o}`,t+=`#localProfilePath=${o}`;let a=m(P(),`${d}.html`);p(`[Theme Profile] writing HTML file to: ${a}`),await g(a,`<script>window.location=${JSON.stringify(t)}</script>`),p(`[Theme Profile] HTML file created successfully: ${a}`),a=`${s}${a}`,t=`file://${a}`,p(`[Theme Profile] Opening URL: ${t}`);let u=await y(t);p(`[Theme Profile] URL opened successfully: ${u}`)}var h=D(U(),1);var q,r=class extends A{async command(e,s){let{password:t}=e,n;e.theme?n={filter:{theme:e.theme}}:n={filter:{live:!0}};let f=await _(s,n),c=[{title:`Generating Liquid profile for ${s.storeFqdn} ${e.url}`,task:async()=>{await b(s,f.id.toString(),e.url,e.json,t,e["store-password"])}}];await R(c)}};q=r;r.summary="Profile the Liquid rendering of a theme page.";r.usage=["theme profile","theme profile --url /products/classic-leather-jacket"];r.descriptionWithMarkdown=`Profile the Shopify Liquid on a given page.
|
|
2
|
+
|
|
3
|
+
This command will open a web page with the Speedscope profiler detailing the time spent executing Liquid on the given page.`;r.description=q.descriptionWithoutMarkdown();r.flags={...F,...v,theme:h.Flags.string({char:"t",description:"Theme ID or name of the remote theme.",env:"SHOPIFY_FLAG_THEME_ID"}),url:h.Flags.string({description:"The url to be used as context",env:"SHOPIFY_FLAG_URL",default:"/"}),"store-password":h.Flags.string({description:"The password for storefronts with password protection.",env:"SHOPIFY_FLAG_STORE_PASSWORD"}),...L};r.multiEnvironmentsFlags=null;var le=r;export{le as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as o}from"./chunk-
|
|
1
|
+
import{g as o}from"./chunk-VKWPEFWQ.js";o();function n(t,e){let r=e.storeFqdn;return t.role==="live"?`https://${r}`:`https://${r}?preview_theme_id=${t.id}`}function s(t,e){return`https://${e.storeFqdn}/admin/themes/${t.id}/editor`}function i(t){return`https://${t}/admin/online_store/preferences`}export{n as a,s as b,i as c};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{a as c,b as v}from"./chunk-STJ3LWFL.js";import{a as u}from"./chunk-AVD3INWF.js";import{a as y}from"./chunk-MIDYZPO4.js";import{a as w}from"./chunk-VJ6KDRZI.js";import{k as d,q as f}from"./chunk-TUNUEOHO.js";import{b as s}from"./chunk-OXJBYKMX.js";import{J as h,u as p}from"./chunk-NTRAWIEJ.js";import{r as O}from"./chunk-T6CC5WUU.js";import{e as I,g as m}from"./chunk-VKWPEFWQ.js";m();m();async function F(o,t){let i=new u(o),E=(await(t.development?i.find():i.fetch()))?.id,n=await y(o,{header:"Select a theme to open",filter:{live:t.live,theme:t.development?`${E}`:t.theme}}),l=c(n,o),a=v(n,o);p({body:["Preview information for theme",...w(n),`
|
|
2
|
+
|
|
3
|
+
`,{list:{items:[{link:{label:"Preview your theme",url:l}},{link:{label:"Customize your theme at the theme editor",url:a}}]}}]}),t.editor?await h(a):await h(l)}var r=I(O(),1);var g,e=class extends f{async command(t,i){await F(i,t)}};g=e;e.summary="Opens the preview of your remote theme.";e.descriptionWithMarkdown=`Returns links that let you preview the specified theme. The following links are returned:
|
|
4
|
+
|
|
5
|
+
- A link to the [editor](https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.
|
|
6
|
+
- A [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with other developers.
|
|
7
|
+
|
|
8
|
+
If you don't specify a theme, then you're prompted to select the theme to open from the list of the themes in your store.`;e.description=g.descriptionWithoutMarkdown();e.flags={...s,...d,development:r.Flags.boolean({char:"d",description:"Open your development theme.",env:"SHOPIFY_FLAG_DEVELOPMENT"}),editor:r.Flags.boolean({char:"E",description:"Open the theme editor for the specified theme in the browser.",env:"SHOPIFY_FLAG_EDITOR"}),live:r.Flags.boolean({char:"l",description:"Open your live (published) theme.",env:"SHOPIFY_FLAG_LIVE"}),theme:r.Flags.string({char:"t",description:"Theme ID or name of the remote theme.",env:"SHOPIFY_FLAG_THEME_ID"})};e.multiEnvironmentsFlags=null;var S=e;export{S as a};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{a as O,b as H,d as X,g as F}from"./chunk-I22ZTRKK.js";import{a as K,c as J,d as z,e as h,f as G,h as W}from"./chunk-A27NZMWB.js";import{a as Q}from"./chunk-EKVTNWHM.js";import{a as $,b as j}from"./chunk-5BKCIDMS.js";import{b as c}from"./chunk-CFOXXOO2.js";import{n as w}from"./chunk-G4OQABDT.js";import{b as q}from"./chunk-OXJBYKMX.js";import{E as v,P as B,a as P,u as C,v as N,w as I,x as _}from"./chunk-NTRAWIEJ.js";import{d as u,g as V}from"./chunk-TPCG6DCA.js";import{Fb as p,Hb as d,Lb as M,Ta as x,ma as U,ua as L}from"./chunk-7FQFEB33.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();r();r();r();var Y={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"BulkOperationRunQuery"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"query"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"bulkOperationRunQuery"},arguments:[{kind:"Argument",name:{kind:"Name",value:"query"},value:{kind:"Variable",name:{kind:"Name",value:"query"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"bulkOperation"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"type"}},{kind:"Field",name:{kind:"Name",value:"completedAt"}},{kind:"Field",name:{kind:"Name",value:"createdAt"}},{kind:"Field",name:{kind:"Name",value:"errorCode"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"objectCount"}},{kind:"Field",name:{kind:"Name",value:"partialDataUrl"}},{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"url"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};async function Z(n){let{adminSession:e,query:i,version:t}=n;return(await c({query:Y,session:e,variables:{query:i},...t&&{version:t}})).bulkOperationRunQuery}r();r();r();var ee={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"StagedUploadsCreate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"ListType",type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"StagedUploadInput"}}}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"stagedUploadsCreate"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"stagedTargets"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"url"}},{kind:"Field",name:{kind:"Name",value:"resourceUrl"}},{kind:"Field",name:{kind:"Name",value:"parameters"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"value"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};async function ne(n){let{adminSession:e,variablesJsonl:i}=n,t=Buffer.from(i??"","utf-8"),a="bulk-variables.jsonl",l=t.length,o=await pe(e,a,l),m=ke(o);return await ce(t,m.url,m.parameters,a),m.stagedUploadKey}async function pe(n,e,i){return c({query:ee,session:n,variables:{input:[{filename:e,fileSize:i.toString(),httpMethod:"POST",mimeType:"text/jsonl",resource:"BULK_MUTATION_VARIABLES"}]}})}function ke(n){if(!n.stagedUploadsCreate)throw new u("No response received from stagedUploadsCreate mutation");if(n.stagedUploadsCreate.userErrors.length>0){let t=n.stagedUploadsCreate.userErrors.map(a=>a.message).join(", ");throw new u(`Failed to create staged upload: ${t}`)}let e=n.stagedUploadsCreate.stagedTargets?.[0];if(!e)throw new u("No staged upload target returned from Shopify");if(!e.url||!e.resourceUrl)throw new u("Invalid staged upload target: missing required URLs");let i=e.parameters.find(t=>t.name==="key")?.value;if(!i)throw new u("No key parameter found in staged upload target");return{url:e.url,resourceUrl:e.resourceUrl,parameters:e.parameters,stagedUploadKey:i}}async function ce(n,e,i,t){let a=new FormData;for(let o of i)a.append(o.name,o.value);a.append("file",new Blob([new Uint8Array(n)],{type:"text/jsonl"}),t);let l=await v({title:d`Uploading bulk operation variables`,task:async()=>w(e,{method:"POST",body:a},"slow-request"),renderOptions:{stdout:process.stderr}});if(!l.ok){let o=await l.text();throw new u(`Failed to upload file to staged URL: ${l.statusText}
|
|
2
|
+
${o}`)}}r();var ae={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"BulkOperationRunMutation"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"mutation"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"stagedUploadPath"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"clientIdentifier"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"bulkOperationRunMutation"},arguments:[{kind:"Argument",name:{kind:"Name",value:"mutation"},value:{kind:"Variable",name:{kind:"Name",value:"mutation"}}},{kind:"Argument",name:{kind:"Name",value:"stagedUploadPath"},value:{kind:"Variable",name:{kind:"Name",value:"stagedUploadPath"}}},{kind:"Argument",name:{kind:"Name",value:"clientIdentifier"},value:{kind:"Variable",name:{kind:"Name",value:"clientIdentifier"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"bulkOperation"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"type"}},{kind:"Field",name:{kind:"Name",value:"completedAt"}},{kind:"Field",name:{kind:"Name",value:"createdAt"}},{kind:"Field",name:{kind:"Name",value:"errorCode"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"objectCount"}},{kind:"Field",name:{kind:"Name",value:"partialDataUrl"}},{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"url"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"userErrors"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"field"}},{kind:"Field",name:{kind:"Name",value:"message"}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}},{kind:"Field",name:{kind:"Name",value:"__typename"}}]}}]}}]};async function te(n){let{adminSession:e,query:i,variablesJsonl:t,version:a}=n,l=await ne({adminSession:e,variablesJsonl:t});return(await c({query:ae,session:e,variables:{mutation:i,stagedUploadPath:l},...a&&{version:a}})).bulkOperationRunMutation}r();var fe=["COMPLETED","FAILED","CANCELED","EXPIRED"],ie=1,ve=5,oe=10,ye=3e3,Ne=300;async function re(n,e){return v({title:d`Starting bulk operation`,task:async()=>{let i=Date.now(),t=se({adminSession:n,operationId:e,pollIntervalSeconds:Ne/1e3,useAdaptivePolling:!1}),a;do{let{value:l,done:o}=await t.next();if(a=l,o)return a}while(Date.now()-i<ye);return a},renderOptions:{stdout:process.stderr}})}async function le(n,e,i,t){return v({title:d`Polling bulk operation`,task:async a=>{let l=se({adminSession:n,operationId:e,pollIntervalSeconds:ve,initialPollIntervalSeconds:ie,initialPollCount:oe,useAdaptivePolling:!0,abortSignal:i});for(;;){let{value:o,done:m}=await l.next();if(m)return o;a(F(o))}},onAbort:t,renderOptions:{stdout:process.stderr}})}async function*se({adminSession:n,operationId:e,pollIntervalSeconds:i,useAdaptivePolling:t=!1,initialPollIntervalSeconds:a=ie,initialPollCount:l=oe,abortSignal:o}){let m=0;for(;;){let g=await be(n,e);if(!g.bulkOperation)throw new Error("bulk operation not found");let b=g.bulkOperation;if(fe.includes(b.status)||o?.aborted)return b;yield b,m++;let k=i;t&&m<=l&&(k=a),o?await Promise.race([B(k),new Promise(S=>o.addEventListener("abort",S))]):await B(k)}}async function be(n,e){return c({query:H,session:n,variables:{id:e},version:O})}r();async function de(n){let e=await w(n);if(!e.ok)throw new u(`Failed to download bulk operation results: ${e.statusText}`);return e.text()}async function Se(n,e){if(n)return n.join(`
|
|
3
|
+
`);if(e){if(!await x(e))throw new u(d`Variable file not found at ${p.path(e)}. Please check the path and try again.`);return U(e,{encoding:"utf8"})}else return}async function me(n){let{organization:e,remoteApp:i,store:t,query:a,variables:l,variableFile:o,outputFile:m,watch:g=!1,version:b}=n,{adminSession:k,version:S}=await v({title:d`Authenticating`,task:async()=>{let s=await K(i,t.shopDomain),y=await J({adminSession:s,userSpecifiedVersion:b,minimumDefaultVersion:O});return{adminSession:s,version:y}},renderOptions:{stdout:process.stderr}}),R=await Se(l,o);we(a,R),G(a,t),C({headline:"Starting bulk operation.",body:[{list:{items:z({organization:e,remoteApp:i,storeFqdn:t.shopDomain,version:S})}}]});let A=h(a)?await te({adminSession:k,query:a,variablesJsonl:R,version:S}):await Z({adminSession:k,query:a,version:S});if(A?.userErrors?.length){_({headline:"Error creating bulk operation.",body:{list:{items:A.userErrors.map(s=>s.field?`${s.field.join(".")}: ${s.message}`:s.message)}}});return}let T=A?.bulkOperation;if(T)if(g){let s=new P,y=await le(k,T.id,s.signal,()=>s.abort());s.signal.aborted?C({headline:`Bulk operation ${y.id} is still running in the background.`,body:E(y.id)}):await ue(y,m)}else{let s=await re(k,T.id);["FAILED","CANCELED","EXPIRED"].includes(s.status)?await ue(s,m):N({headline:"Bulk operation is running.",body:E(s.id),customSections:[{body:[{list:{items:[d`ID: ${p.cyan(s.id)}`.value]}}]}]})}else throw I({headline:"Bulk operation not created successfully.",body:"This is an unexpected error. Please try again later."}),new V("Bulk operation response returned null with no error message.")}async function ue(n,e){let i=F(n).value,a=[{body:[{list:{items:[d`ID: ${p.cyan(n.id)}`.value,d`Status: ${p.yellow(n.status)}`.value,d`Created at: ${p.gray(String(n.createdAt))}`.value,...n.completedAt?[d`Completed at: ${p.gray(String(n.completedAt))}`.value]:[]]}}]}];switch(n.status){case"CREATED":N({headline:"Bulk operation started.",body:E(n.id),customSections:a});break;case"RUNNING":N({headline:"Bulk operation is running.",body:E(n.id),customSections:a});break;case"COMPLETED":if(n.url){let l=await de(n.url),o=ge(l);e?await L(e,l):M(l),o?I({headline:"Bulk operation completed with errors.",body:e?`Results written to ${e}. Check file for error details.`:"Check results for error details.",customSections:a}):N({headline:i,body:e?[`Results written to ${e}`]:void 0,customSections:a})}else N({headline:i,customSections:a});break;case"CANCELED":case"CANCELING":case"EXPIRED":case"FAILED":_({headline:i,customSections:a});break}}function ge(n){return n.trim().split(`
|
|
4
|
+
`).some(i=>{let t=JSON.parse(i);if(!t.data)return!1;let a=Object.values(t.data)[0];return a?.userErrors!==void 0&&a.userErrors.length>0})}function we(n,e){if(h(n)&&!e)throw new u(d`Bulk mutations require variables. Provide a JSONL file with ${p.yellow("--variable-file")} or individual JSON objects with ${p.yellow("--variables")}.`);if(!h(n)&&e)throw new u(d`The ${p.yellow("--variables")} and ${p.yellow("--variable-file")} flags can only be used with mutations, not queries.`)}function E(n){return[`Monitor its progress with:
|
|
5
|
+
`,{command:`shopify app bulk status --id=${X(n)}`}]}var D,f=class extends Q{async run(){let{flags:e}=await this.parse(D),{query:i,appContextResult:t,store:a}=await W(e);return await me({organization:t.organization,remoteApp:t.remoteApp,store:a,query:i,variables:e.variables,variableFile:e["variable-file"],watch:e.watch??!1,outputFile:e["output-file"],...e.version&&{version:e.version}}),{app:t.app}}};D=f;f.summary="Execute bulk operations.";f.descriptionWithMarkdown=`Executes an Admin API GraphQL query or mutation on the specified store, as a bulk operation. Mutations are only allowed on dev stores.
|
|
6
|
+
|
|
7
|
+
Bulk operations allow you to process large amounts of data asynchronously. Learn more about [bulk query operations](https://shopify.dev/docs/api/usage/bulk-operations/queries) and [bulk mutation operations](https://shopify.dev/docs/api/usage/bulk-operations/imports).
|
|
8
|
+
|
|
9
|
+
Use [\`bulk status\`](https://shopify.dev/docs/api/shopify-cli/app/app-bulk-status) to check the status of your bulk operations.`;f.description=D.descriptionWithoutMarkdown();f.flags={...q,...$,...j};var En=f;export{En as a};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import{b as S,c as A,d as R}from"./chunk-7572RLUP.js";import{a as N}from"./chunk-S7F5KFQP.js";import{a as P}from"./chunk-5BKCIDMS.js";import{Ga as T,b as y,c as x}from"./chunk-4QTEPWEJ.js";import{b,c as g}from"./chunk-OXJBYKMX.js";import{u as h}from"./chunk-NTRAWIEJ.js";import{Fb as l,Hb as m,Lb as d}from"./chunk-7FQFEB33.js";import{d as f}from"./chunk-773TIA5M.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();p();function C(n,t){let o={};return n.targeting?.forEach(e=>{e.target&&(o[e.target]={...e.input_query&&{inputQueryPath:`${t}/${e.input_query}`},...e.export&&{export:e.export}})}),o}function I(n,t,o,e,i,r){return JSON.stringify({handle:t.handle,name:n.name,apiVersion:t.api_version,targeting:o,schemaPath:r,wasmPath:i,functionRunnerPath:e},null,2)}function j(n,t){return{title:`CONFIGURATION
|
|
2
|
+
`,body:{tabularData:[["Handle",n.handle??"N/A"],["Name",t??"N/A"],["API Version",n.api_version??"N/A"]],firstColumnSubdued:!0}}}function O(n){if(Object.keys(n).length===0)return null;let t=[];return Object.entries(n).forEach(([o,e])=>{t.push([m`${l.cyan(o)}`.value,""]),e.inputQueryPath&&t.push([{subdued:" Input Query Path"},{filePath:e.inputQueryPath}]),e.export&&t.push([{subdued:" Export"},e.export])}),{title:`
|
|
3
|
+
TARGETING
|
|
4
|
+
`,body:{tabularData:t}}}function v(n,t){return{title:`
|
|
5
|
+
BUILD
|
|
6
|
+
`,body:{tabularData:[["Schema Path",{filePath:t??"N/A"}],["Wasm Path",{filePath:n}]],firstColumnSubdued:!0}}}function D(n){return{title:`
|
|
7
|
+
FUNCTION RUNNER
|
|
8
|
+
`,body:{tabularData:[["Path",{filePath:n}]],firstColumnSubdued:!0}}}function k(n,t,o,e,i,r){let a=[j(t,n.name)],s=O(o);return s&&a.push(s),a.push(v(i,r),D(e)),a}function w(n,t){let{format:o,functionRunnerPath:e,schemaPath:i}=t,r=n.configuration,a=C(r,n.directory),s=f(n.directory,r.build?.path??n.outputRelativePath);return o==="json"?I(n,r,a,e,s,i):k(n,r,a,e,s,i)}var c,u=class extends N{async run(){let{flags:t}=await this.parse(c),{app:o}=await T({directory:t.path,userProvidedConfigName:t.config}),e=await A(o,t.path),i=y();await x(i);let r=await R(e,t.path,t["client-id"],t.reset,t.config),a=w(e,{format:t.json?"json":"text",functionRunnerPath:i.path,schemaPath:r});return t.json?d(a):h({customSections:a}),{app:o}}};c=u;u.summary="Print basic information about your function.";u.descriptionWithMarkdown=`The information returned includes the following:
|
|
9
|
+
|
|
10
|
+
- The function handle
|
|
11
|
+
- The function name
|
|
12
|
+
- The function API version
|
|
13
|
+
- The targeting configuration
|
|
14
|
+
- The schema path
|
|
15
|
+
- The WASM path
|
|
16
|
+
- The function runner path`;u.description=c.descriptionWithoutMarkdown();u.flags={...b,...P,...S,...g};var H=u;export{H as a};
|