@vercel/cli-support 65.4.0 → 65.5.0-snapshot-8a613d8ad85d
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/README.md +22 -0
- package/dist/chunks/add-6UOKR26K.js +8 -0
- package/dist/chunks/add-GULZ6EGJ.js +8 -0
- package/dist/chunks/add-RPAOJH5O.js +8 -0
- package/dist/chunks/build-MLAKPRSC.js +7 -0
- package/dist/chunks/{chunk-ADLBLGT3.js → chunk-26QK3I2S.js} +1 -1
- package/dist/chunks/chunk-2BKALEOP.js +7 -0
- package/dist/chunks/chunk-2FHZYQPY.js +7 -0
- package/dist/chunks/{chunk-TIPQQ4TG.js → chunk-2QIJEHNE.js} +1 -1
- package/dist/chunks/{chunk-JP33AIDQ.js → chunk-36NK2Z3C.js} +1 -1
- package/dist/chunks/{chunk-D6REP5QQ.js → chunk-3E364MJE.js} +1 -1
- package/dist/chunks/{chunk-EEUJLJEJ.js → chunk-3H36RI7C.js} +1 -1
- package/dist/chunks/{chunk-JUSR7V2L.js → chunk-3NG2EYQ5.js} +1 -1
- package/dist/chunks/{chunk-AYUUSAB7.js → chunk-4G7ZQONX.js} +1 -1
- package/dist/chunks/{chunk-SYFG2RM6.js → chunk-4HJGSSSZ.js} +1 -1
- package/dist/chunks/{chunk-CWM2F235.js → chunk-55H6G46X.js} +1 -1
- package/dist/chunks/{chunk-6TXEVQA4.js → chunk-5CZNUB7Y.js} +1 -1
- package/dist/chunks/{chunk-ZN6CQWVP.js → chunk-5EMSOR2P.js} +1 -1
- package/dist/chunks/{chunk-NAX6IARA.js → chunk-5K426HWC.js} +1 -1
- package/dist/chunks/{chunk-773GOZIR.js → chunk-5SIC5273.js} +1 -1
- package/dist/chunks/chunk-5WYPJ2T5.js +25 -0
- package/dist/chunks/{chunk-MBEKRUTQ.js → chunk-6IATT2ID.js} +2 -2
- package/dist/chunks/{chunk-KPQLUGFI.js → chunk-6WMO5G45.js} +3 -3
- package/dist/chunks/{chunk-6OVX3PWM.js → chunk-75JI2SZX.js} +1 -1
- package/dist/chunks/{chunk-ECEDD646.js → chunk-7G4PQR6J.js} +1 -1
- package/dist/chunks/chunk-7SAEZ4NC.js +7 -0
- package/dist/chunks/{chunk-363SJ4TN.js → chunk-7VTPAXDC.js} +1 -1
- package/dist/chunks/chunk-A2UZ2O7H.js +7 -0
- package/dist/chunks/{chunk-3LIKVGFT.js → chunk-A3RU52F4.js} +1 -1
- package/dist/chunks/{chunk-CC6FLKIP.js → chunk-AIRQFG5A.js} +1 -1
- package/dist/chunks/{chunk-IOZ3I765.js → chunk-AOC6XXOO.js} +1 -1
- package/dist/chunks/{chunk-EISD3RG7.js → chunk-ARQMFBV4.js} +1 -1
- package/dist/chunks/{chunk-UHBMX3OK.js → chunk-AUY363W7.js} +1 -1
- package/dist/chunks/chunk-BGWS5R5R.js +9 -0
- package/dist/chunks/chunk-C6IITJ5S.js +7 -0
- package/dist/chunks/{chunk-OHEOYFBU.js → chunk-CLVEFWEX.js} +1 -1
- package/dist/chunks/{chunk-KGBIRIFF.js → chunk-CU2FTX57.js} +1 -1
- package/dist/chunks/{chunk-YHULP2KK.js → chunk-CWO4HMKU.js} +1 -1
- package/dist/chunks/{chunk-EU2GBIPC.js → chunk-CZINAGH6.js} +1 -1
- package/dist/chunks/{chunk-QIVX6SCR.js → chunk-DAUAVRFC.js} +1 -1
- package/dist/chunks/{chunk-GA277JFB.js → chunk-DPM33VFZ.js} +1 -1
- package/dist/chunks/{chunk-Q5ODLDCU.js → chunk-DSY2S2YT.js} +1 -1
- package/dist/chunks/{chunk-XP3FT56R.js → chunk-DWOJP4ST.js} +3 -3
- package/dist/chunks/chunk-ED3VA7D4.js +7 -0
- package/dist/chunks/{chunk-GG5RME4X.js → chunk-EE2FTI3R.js} +1 -1
- package/dist/chunks/{chunk-QVZAAMGQ.js → chunk-EFEQQXRU.js} +1 -1
- package/dist/chunks/{chunk-DKJL2KV7.js → chunk-EPO7P734.js} +1 -1
- package/dist/chunks/{chunk-7QAGSRCU.js → chunk-EQT2VHL2.js} +1 -1
- package/dist/chunks/chunk-ETEVOJQJ.js +8 -0
- package/dist/chunks/chunk-EWP5WICJ.js +10 -0
- package/dist/chunks/chunk-F22QLVTX.js +7 -0
- package/dist/chunks/{chunk-XC46OAAT.js → chunk-FAEC4BER.js} +1 -1
- package/dist/chunks/{chunk-LSQREJXO.js → chunk-FAELJM4F.js} +1 -1
- package/dist/chunks/{chunk-7R6TRRG5.js → chunk-FNA4MIOH.js} +1 -1
- package/dist/chunks/{chunk-L3JYCXVB.js → chunk-GFD6UAAO.js} +2 -2
- package/dist/chunks/{chunk-U2OBPULW.js → chunk-GP55VEOQ.js} +1 -1
- package/dist/chunks/{chunk-FSPPKNKN.js → chunk-GVPVWHFK.js} +1 -1
- package/dist/chunks/{chunk-527GBU3K.js → chunk-HMWDOAWO.js} +1 -1
- package/dist/chunks/{chunk-7L2K4OKM.js → chunk-HVDGNAPM.js} +1 -1
- package/dist/chunks/{chunk-QVHXFHBV.js → chunk-I2WEQWCA.js} +1 -1
- package/dist/chunks/{chunk-JRPNHWA3.js → chunk-IC3THLYP.js} +1 -1
- package/dist/chunks/{chunk-IQKGQ2Y2.js → chunk-J6L5MDTX.js} +1 -1
- package/dist/chunks/{chunk-YMZ6WBKB.js → chunk-JCGEXU7T.js} +3 -3
- package/dist/chunks/{chunk-7L5QUDUR.js → chunk-JGMJP4T3.js} +1 -1
- package/dist/chunks/{chunk-ZQBSAMFL.js → chunk-JHNLBVO2.js} +1 -1
- package/dist/chunks/{chunk-HTXDC7E2.js → chunk-JMLKK7RL.js} +2 -2
- package/dist/chunks/{chunk-T6243EDS.js → chunk-JSAY52FE.js} +1 -1
- package/dist/chunks/{chunk-C7FQMC6D.js → chunk-JWUXHL35.js} +1 -1
- package/dist/chunks/{chunk-KQCROPL3.js → chunk-JXAEI2GJ.js} +1 -1
- package/dist/chunks/{chunk-VNIKIQVE.js → chunk-KHADRPBJ.js} +1 -1
- package/dist/chunks/{chunk-GCZVIDNG.js → chunk-KWKEBKUR.js} +1 -1
- package/dist/chunks/chunk-KY7LDQRX.js +7 -0
- package/dist/chunks/{chunk-YEZJNXQX.js → chunk-L4XLDN6T.js} +1 -1
- package/dist/chunks/{chunk-EGNR2DEI.js → chunk-LOO42IMZ.js} +1 -1
- package/dist/chunks/{chunk-CBVKB3DT.js → chunk-LT5UZRMK.js} +1 -1
- package/dist/chunks/{chunk-FUX6LKNP.js → chunk-LUX4PBJL.js} +1 -1
- package/dist/chunks/chunk-M7LUSXMG.js +7 -0
- package/dist/chunks/{chunk-ANMDN3EG.js → chunk-MFW6IJIK.js} +1 -1
- package/dist/chunks/{chunk-UGNIIDHR.js → chunk-MLGQ233X.js} +1 -1
- package/dist/chunks/chunk-MY4MONOH.js +7 -0
- package/dist/chunks/{chunk-N6JBQMOF.js → chunk-MZQEDXOH.js} +1 -1
- package/dist/chunks/chunk-N5CXIFE2.js +7 -0
- package/dist/chunks/{chunk-LQVSU5HR.js → chunk-NM44RWS6.js} +1 -1
- package/dist/chunks/{chunk-FHU2O7ZJ.js → chunk-NVNE3W7S.js} +1 -1
- package/dist/chunks/chunk-NZPGWZLV.js +9 -0
- package/dist/chunks/{chunk-462YCCJZ.js → chunk-O7COT3YB.js} +1 -1
- package/dist/chunks/{chunk-KY335KWI.js → chunk-ODAV7Z2H.js} +1 -1
- package/dist/chunks/{chunk-HCRD3JFL.js → chunk-OKNDHNH6.js} +1 -1
- package/dist/chunks/{chunk-Q4KTAQB3.js → chunk-OQX4YVGU.js} +1 -1
- package/dist/chunks/chunk-ORJBK5FT.js +9 -0
- package/dist/chunks/{chunk-5KUUMQ3M.js → chunk-OTYF3ZZW.js} +1 -1
- package/dist/chunks/{chunk-FGFLTLEA.js → chunk-P6ZTEDX2.js} +1 -1
- package/dist/chunks/{chunk-O72YDZKD.js → chunk-PHHZ6J7Q.js} +1 -1
- package/dist/chunks/{chunk-RMZTB2IU.js → chunk-PRFIFS3Q.js} +1 -1
- package/dist/chunks/{chunk-R2XHJDAP.js → chunk-QDPYU6KS.js} +1 -1
- package/dist/chunks/{chunk-JLEJB6KM.js → chunk-QHM6OK76.js} +1 -1
- package/dist/chunks/{chunk-CR3NBTHV.js → chunk-QNL22LAW.js} +1 -1
- package/dist/chunks/{chunk-5V53NA6C.js → chunk-QUSEBFDO.js} +1 -1
- package/dist/chunks/{chunk-DQ2SVW4R.js → chunk-R3BEQTZZ.js} +1 -1
- package/dist/chunks/{chunk-BUJITHGZ.js → chunk-RCUDI7OF.js} +1 -1
- package/dist/chunks/{chunk-Y5ZMKL7E.js → chunk-RMW2FDXS.js} +1 -1
- package/dist/chunks/{chunk-KRPY5FHJ.js → chunk-RQVIMYKN.js} +1 -1
- package/dist/chunks/chunk-RWPQOJTT.js +22 -0
- package/dist/chunks/{chunk-2TUVL6WE.js → chunk-SDOPVIKJ.js} +1 -1
- package/dist/chunks/{chunk-3XW7N4W3.js → chunk-SKSOCUDZ.js} +1 -1
- package/dist/chunks/chunk-SLDWAIO3.js +18 -0
- package/dist/chunks/{chunk-JWCEHQQF.js → chunk-SW3JRXUW.js} +1 -1
- package/dist/chunks/{chunk-M2NXKZKX.js → chunk-TGOGYSBO.js} +1 -1
- package/dist/chunks/chunk-TZT3VYZ3.js +7 -0
- package/dist/chunks/{chunk-F6EBOT64.js → chunk-UJQ6PBRF.js} +1 -1
- package/dist/chunks/{chunk-BVGGTBYE.js → chunk-UWMPVTXG.js} +1 -1
- package/dist/chunks/{chunk-R6BEOVTU.js → chunk-VAWZZK3Y.js} +1 -1
- package/dist/chunks/{chunk-4N6LMERQ.js → chunk-VLYVVC3P.js} +11 -11
- package/dist/chunks/{chunk-HSFKISDH.js → chunk-VQ755MPP.js} +1 -1
- package/dist/chunks/{chunk-QB7F3UAP.js → chunk-VUQWLLNI.js} +1 -1
- package/dist/chunks/chunk-VWHIWUGJ.js +7 -0
- package/dist/chunks/chunk-WDUHDLUA.js +14 -0
- package/dist/chunks/{chunk-K5U47EVH.js → chunk-WICRM2JL.js} +1 -1
- package/dist/chunks/{chunk-KJA2GKPT.js → chunk-WSVYZKI6.js} +1 -1
- package/dist/chunks/{chunk-N2FLYCCO.js → chunk-XAU3KTPX.js} +1 -1
- package/dist/chunks/chunk-XCKUJZUG.js +10 -0
- package/dist/chunks/{chunk-WDXW6A4H.js → chunk-XE24Y6NM.js} +2 -2
- package/dist/chunks/{chunk-RW3X523R.js → chunk-XSQVCDSD.js} +1 -1
- package/dist/chunks/{chunk-KW6GSQXV.js → chunk-XTKGBVSF.js} +1 -1
- package/dist/chunks/{chunk-2K3ISCQ6.js → chunk-YALEYPMP.js} +1 -1
- package/dist/chunks/chunk-YCJHUYBJ.js +19 -0
- package/dist/chunks/{chunk-TEYREL44.js → chunk-YIRSRF6D.js} +1 -1
- package/dist/chunks/chunk-YQDOADMG.js +10 -0
- package/dist/chunks/{chunk-PFPJLIFF.js → chunk-YT3QAZQF.js} +1 -1
- package/dist/chunks/{chunk-R2BUF6Z7.js → chunk-ZQUVDDPB.js} +1 -1
- package/dist/chunks/{chunk-XVDRGWXM.js → chunk-ZUNQHI5Y.js} +1 -1
- package/dist/chunks/{chunk-KQCFC2JL.js → chunk-ZUYPTLVO.js} +1 -1
- package/dist/chunks/clear-UZWOOGOH.js +8 -0
- package/dist/chunks/compile-vercel-config-2RQDL3RD.js +7 -0
- package/dist/chunks/config-C76IGJ6B.js +8 -0
- package/dist/chunks/config-RMJWRS7O.js +7 -0
- package/dist/chunks/{connect-git-provider-FS5Q2HO4.js → connect-git-provider-IQ7N2NPY.js} +1 -1
- package/dist/chunks/delete-2WBR5JQW.js +9 -0
- package/dist/chunks/delete-OKOBDL7Z.js +10 -0
- package/dist/chunks/{detect-projects-OD4JEAW2.js → detect-projects-XPB3R7VS.js} +1 -1
- package/dist/chunks/detect-services-DRHV22O5.js +7 -0
- package/dist/chunks/disable-DFEABU2Z.js +7 -0
- package/dist/chunks/discard-KGBEMNFT.js +14 -0
- package/dist/chunks/edit-5XIRLUKG.js +9 -0
- package/dist/chunks/edit-PJIDMKUS.js +8 -0
- package/dist/chunks/enable-UDWDPFOI.js +7 -0
- package/dist/chunks/{exec-OZSY46V6.js → exec-PX4GTZNE.js} +1 -1
- package/dist/chunks/{export-EPLYZF2Q.js → export-W75EA6EQ.js} +1 -1
- package/dist/chunks/future-PHSAEQIE.js +7 -0
- package/dist/chunks/generate-cert-for-deploy-C67VL5Z6.js +7 -0
- package/dist/chunks/image-U5CV2PRP.js +7 -0
- package/dist/chunks/import-builders-PHIIX7HW.js +7 -0
- package/dist/chunks/inspect-AU3MX7E2.js +13 -0
- package/dist/chunks/{inspect-CZ7WXYE5.js → inspect-DQQI3PM7.js} +1 -1
- package/dist/chunks/inspect-LJK7I6RZ.js +9 -0
- package/dist/chunks/{inspect-T2AIREYK.js → inspect-RNWLPR7I.js} +1 -1
- package/dist/chunks/{inspect-HFDGZNWC.js → inspect-WHPWW4BI.js} +1 -1
- package/dist/chunks/list-JV26NNYL.js +16 -0
- package/dist/chunks/{list-ON4YTQRN.js → list-QNRFVMMQ.js} +1 -1
- package/dist/chunks/list-YF4FXWUZ.js +12 -0
- package/dist/chunks/login-A4KNOUNA.js +9 -0
- package/dist/chunks/login-COGE7JQU.js +7 -0
- package/dist/chunks/logs-KMQATUYR.js +7 -0
- package/dist/chunks/{ls-FK5XEJEU.js → ls-DTFLHFOW.js} +1 -1
- package/dist/chunks/{ls-A7K4XDQB.js → ls-FOKMPVIB.js} +1 -1
- package/dist/chunks/ls-HMYU2ZGA.js +11 -0
- package/dist/chunks/{ls-2HUJHVLA.js → ls-IHF33MQP.js} +1 -1
- package/dist/chunks/{ls-QGUKJJY5.js → ls-QD54I4S7.js} +1 -1
- package/dist/chunks/{ls-3DVM5HLK.js → ls-RNRMYD3V.js} +1 -1
- package/dist/chunks/ls-ZQLCDIQJ.js +8 -0
- package/dist/chunks/mutate-RMIFQOF6.js +9 -0
- package/dist/chunks/notifications-BFBNV2HY.js +7 -0
- package/dist/chunks/open-L6HEXHAI.js +7 -0
- package/dist/chunks/openapi-6JKCOR7K.js +7 -0
- package/dist/chunks/permissions-UYGTYRKA.js +7 -0
- package/dist/chunks/{plugin-offer-TEGYA3TA.js → plugin-offer-NBHRXMNR.js} +1 -1
- package/dist/chunks/prompt-missing-credentials-2IYIF2JI.js +7 -0
- package/dist/chunks/publish-T2VSTPG4.js +15 -0
- package/dist/chunks/pull-4GL47Z2S.js +7 -0
- package/dist/chunks/purchase-domain-if-available-BHFBD3LW.js +7 -0
- package/dist/chunks/push-CQPIDVTL.js +7 -0
- package/dist/chunks/{query-FXXLX6UB.js → query-HN45ORIB.js} +1 -1
- package/dist/chunks/reauthenticate-FTHGAWK3.js +7 -0
- package/dist/chunks/reorder-7BD5JZKQ.js +10 -0
- package/dist/chunks/reply-2INQJ5KM.js +9 -0
- package/dist/chunks/resolve-DHAJC3I7.js +12 -0
- package/dist/chunks/resolve-agent-team-KGYPHN5F.js +7 -0
- package/dist/chunks/restore-OQKNWEFQ.js +16 -0
- package/dist/chunks/rm-CTP4UZH7.js +8 -0
- package/dist/chunks/rm-GFHEXQQW.js +8 -0
- package/dist/chunks/rm-OG3OXA6H.js +8 -0
- package/dist/chunks/rm-PFZYHXEN.js +8 -0
- package/dist/chunks/rm-XAW3WJ3I.js +8 -0
- package/dist/chunks/{routes-PKTWMDWQ.js → routes-XKEWEA3P.js} +1 -1
- package/dist/chunks/rule-inspect-MKQE5IVJ.js +8 -0
- package/dist/chunks/{schema-ZWE5MNMG.js → schema-TFN5PSYE.js} +2 -2
- package/dist/chunks/schema-XFER2RCF.js +14 -0
- package/dist/chunks/select-org-PFTR6HQZ.js +7 -0
- package/dist/chunks/set-KWOZNGRL.js +7 -0
- package/dist/chunks/setup-and-link-BRYK42L7.js +7 -0
- package/dist/chunks/{skills-RKIGVVNM.js → skills-2MOFBKIE.js} +1 -1
- package/dist/chunks/tags-BHZUQTOQ.js +7 -0
- package/dist/chunks/{types-YM7TMHXW.js → types-IWO5QLAV.js} +1 -1
- package/dist/chunks/{update-BGDQ5TXO.js → update-LP7ZZUFZ.js} +1 -1
- package/dist/commands/build/index.js +2 -2
- package/dist/commands/deploy/index.js +8 -8
- package/dist/commands/dev/index.js +6 -6
- package/dist/commands/env/index.js +3 -3
- package/dist/commands/link/index.js +2 -2
- package/dist/commands/list/index.js +1 -1
- package/dist/commands/project/index.js +4 -4
- package/dist/commands-account.js +18 -18
- package/dist/commands-ai.js +12 -12
- package/dist/commands-blob.js +7 -7
- package/dist/commands-core.js +23 -23
- package/dist/commands-deployments.js +3 -3
- package/dist/commands-flags.js +29 -29
- package/dist/commands-integrations.js +98 -83
- package/dist/commands-observability.js +4 -4
- package/dist/commands-routing.js +23 -23
- package/dist/help.js +1 -1
- package/dist/index.js +7 -7
- package/dist/internal-build.js +2 -2
- package/dist/native-download.js +7 -0
- package/dist/package.json +27 -26
- package/dist/root-help-commands.mjs +1 -1
- package/dist/vc.js +172 -17
- package/dist/version.mjs +1 -1
- package/package.json +20 -19
- package/dist/chunks/add-7NS6HIWC.js +0 -8
- package/dist/chunks/add-NMYFDVXW.js +0 -8
- package/dist/chunks/add-PMJ5BECU.js +0 -8
- package/dist/chunks/build-BCY6HQJG.js +0 -7
- package/dist/chunks/chunk-5IWFRZQT.js +0 -10
- package/dist/chunks/chunk-6I6QJHCY.js +0 -7
- package/dist/chunks/chunk-6VH56CX2.js +0 -19
- package/dist/chunks/chunk-6YXIWZ3X.js +0 -25
- package/dist/chunks/chunk-7E3WREH5.js +0 -7
- package/dist/chunks/chunk-EAXMWCOL.js +0 -63
- package/dist/chunks/chunk-EKZTFGDX.js +0 -7
- package/dist/chunks/chunk-FLHO75XC.js +0 -8
- package/dist/chunks/chunk-GYVJIIYL.js +0 -7
- package/dist/chunks/chunk-JLE7K4SY.js +0 -9
- package/dist/chunks/chunk-KCKYPLIH.js +0 -7
- package/dist/chunks/chunk-LOBA3E72.js +0 -7
- package/dist/chunks/chunk-LW4N3CW6.js +0 -9
- package/dist/chunks/chunk-NGKO2OOU.js +0 -8
- package/dist/chunks/chunk-NW7WWUCQ.js +0 -9
- package/dist/chunks/chunk-O4WNSKQR.js +0 -15
- package/dist/chunks/chunk-OZCQTXI4.js +0 -7
- package/dist/chunks/chunk-QVXS234E.js +0 -7
- package/dist/chunks/chunk-SLGUYM42.js +0 -10
- package/dist/chunks/chunk-TAISZMA2.js +0 -7
- package/dist/chunks/chunk-WEH6XC4Y.js +0 -22
- package/dist/chunks/chunk-WVHCBDTB.js +0 -7
- package/dist/chunks/clear-FKVWDCVA.js +0 -8
- package/dist/chunks/compile-vercel-config-GWAJE44R.js +0 -7
- package/dist/chunks/config-5WVLG5SE.js +0 -8
- package/dist/chunks/config-RMOHN5YT.js +0 -7
- package/dist/chunks/delete-5WMB4WFR.js +0 -9
- package/dist/chunks/delete-EM4JZPFA.js +0 -10
- package/dist/chunks/detect-services-BSJGB4RM.js +0 -7
- package/dist/chunks/disable-QOM7UHQC.js +0 -7
- package/dist/chunks/discard-L5ZH7P5B.js +0 -14
- package/dist/chunks/edit-F3VJGCG2.js +0 -9
- package/dist/chunks/edit-TM7YCWBU.js +0 -8
- package/dist/chunks/enable-72C3QX34.js +0 -7
- package/dist/chunks/future-V77DRMQG.js +0 -7
- package/dist/chunks/generate-cert-for-deploy-Y3YHBMPU.js +0 -7
- package/dist/chunks/image-CVXEXU5R.js +0 -7
- package/dist/chunks/import-builders-PGRKJOOE.js +0 -7
- package/dist/chunks/inspect-BTRNXRJT.js +0 -9
- package/dist/chunks/inspect-FGDVWAQP.js +0 -13
- package/dist/chunks/list-CKRRHAOE.js +0 -12
- package/dist/chunks/list-FLREMGJR.js +0 -16
- package/dist/chunks/login-55LJ5ZA6.js +0 -9
- package/dist/chunks/login-DQRZSD4Z.js +0 -7
- package/dist/chunks/logs-2HQXWOHM.js +0 -7
- package/dist/chunks/ls-4B3QYHCI.js +0 -8
- package/dist/chunks/ls-VTKHPDWS.js +0 -11
- package/dist/chunks/mutate-7ADZBCZM.js +0 -9
- package/dist/chunks/notifications-XZJXE2K4.js +0 -7
- package/dist/chunks/open-EE5IZQD7.js +0 -7
- package/dist/chunks/openapi-QBX62ZXC.js +0 -7
- package/dist/chunks/permissions-VYJ4LL5R.js +0 -7
- package/dist/chunks/prompt-missing-credentials-VP6OVCFM.js +0 -7
- package/dist/chunks/publish-2HEK5UMJ.js +0 -15
- package/dist/chunks/pull-WRTTSY7J.js +0 -7
- package/dist/chunks/purchase-domain-if-available-6S3NLTUI.js +0 -7
- package/dist/chunks/push-L3QRGGLC.js +0 -7
- package/dist/chunks/reauthenticate-IXQDC4UZ.js +0 -7
- package/dist/chunks/reorder-B4OXSYCI.js +0 -10
- package/dist/chunks/reply-F637K6XH.js +0 -9
- package/dist/chunks/resolve-E3F6NYQZ.js +0 -12
- package/dist/chunks/resolve-agent-team-EIPCH766.js +0 -7
- package/dist/chunks/restore-Q25KRZPH.js +0 -16
- package/dist/chunks/rm-FWD2NUGX.js +0 -8
- package/dist/chunks/rm-JMQ4QKCC.js +0 -8
- package/dist/chunks/rm-PPG7P3GN.js +0 -8
- package/dist/chunks/rm-SH3DYKNS.js +0 -8
- package/dist/chunks/rm-UEBLKFVC.js +0 -8
- package/dist/chunks/rule-inspect-LKQA5I4V.js +0 -8
- package/dist/chunks/schema-FBV42W7N.js +0 -14
- package/dist/chunks/select-org-WMB752Z6.js +0 -7
- package/dist/chunks/set-UTYIPOLC.js +0 -7
- package/dist/chunks/setup-and-link-ZLY5XQW5.js +0 -7
- package/dist/chunks/tags-UCLZ5UMX.js +0 -7
|
@@ -4,7 +4,7 @@ import { dirname as __dirname_ } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{require_dist as require_dist3}from"../../chunks/chunk-JELLVPCM.js";import{readStandardInput}from"../../chunks/chunk-PSOVLGHP.js";import"../../chunks/chunk-XOETL6DB.js";import{getCustomEnvironments}from"../../chunks/chunk-F7AVGV4Y.js";import{suggestNextCommands}from"../../chunks/chunk-ANMDN3EG.js";import{isGuidanceEnabled}from"../../chunks/chunk-TAAWMNNL.js";import{formatEnvironment}from"../../chunks/chunk-JLEJB6KM.js";import{ellipsis}from"../../chunks/chunk-F4KY2TOK.js";import"../../chunks/chunk-ID663OJ7.js";import{CHECKBOX_INSTRUCTIONS}from"../../chunks/chunk-OFDTADPQ.js";import{require_execa}from"../../chunks/chunk-BUJITHGZ.js";import{formatTable}from"../../chunks/chunk-LSQREJXO.js";import{stamp_default}from"../../chunks/chunk-A2RZZQEP.js";import"../../chunks/chunk-Q7D7RGXM.js";import"../../chunks/chunk-FBYA6LLM.js";import{ENV_VISIBILITY_DEPRECATION_MESSAGE,SENSITIVE_ENV_VALUE_PLACEHOLDER,formatVisibilityLabel,getApiPublicPrefix,getEnvKeyWarnings,getFrameworkPublicPrefix,getLocalSecretFallbackMessage,getLocalSvelteKitPublicPrefixes,getPublicPrefix,getPublicPrefixSecretVisibilityError,getUnavailableSecretValuesMessage,isFlagsSecretNeedingSplit,isSecretEnvVar,looksLikeSecret,looksLikeSecretValue,normalizeStdinEnvValue,pull,removePublicPrefix,resolveEnvVarTypeOption,resolveEnvVarVisibility,shouldConfirmRotationBeforeDelete,validateEnvValue}from"../../chunks/chunk-L3JYCXVB.js";import{getEnvRecords,pullEnvRecords}from"../../chunks/chunk-C7FQMC6D.js";import"../../chunks/chunk-6Y2ZL5XJ.js";import{parseTarget}from"../../chunks/chunk-7QAGSRCU.js";import"../../chunks/chunk-25565AGS.js";import{resolveProjectContext}from"../../chunks/chunk-JP33AIDQ.js";import"../../chunks/chunk-WEH6XC4Y.js";import{STANDARD_ENVIRONMENTS}from"../../chunks/chunk-7YKFF6CE.js";import{formatProject}from"../../chunks/chunk-6OVX3PWM.js";import"../../chunks/chunk-HTXDC7E2.js";import"../../chunks/chunk-PVASGBEF.js";import"../../chunks/chunk-2TUVL6WE.js";import"../../chunks/chunk-R6BEOVTU.js";import"../../chunks/chunk-HCRD3JFL.js";import"../../chunks/chunk-7EJQLVWX.js";import"../../chunks/chunk-GD7AV7BO.js";import{getInvalidSubcommand}from"../../chunks/chunk-TG2RCYTH.js";import"../../chunks/chunk-T6243EDS.js";import{getSubcommand}from"../../chunks/chunk-ETV3C2CV.js";import{validateLsArgs}from"../../chunks/chunk-KW6GSQXV.js";import"../../chunks/chunk-FGFLTLEA.js";import"../../chunks/chunk-SCV7XEEO.js";import{getCommandAliases}from"../../chunks/chunk-O4WNSKQR.js";import"../../chunks/chunk-6I6QJHCY.js";import"../../chunks/chunk-EKZTFGDX.js";import"../../chunks/chunk-462YCCJZ.js";import"../../chunks/chunk-WVHCBDTB.js";import"../../chunks/chunk-TAISZMA2.js";import"../../chunks/chunk-527GBU3K.js";import"../../chunks/chunk-CR3NBTHV.js";import"../../chunks/chunk-BVGGTBYE.js";import"../../chunks/chunk-6TXEVQA4.js";import"../../chunks/chunk-5KUUMQ3M.js";import"../../chunks/chunk-UHBMX3OK.js";import"../../chunks/chunk-EEUJLJEJ.js";import"../../chunks/chunk-NW7WWUCQ.js";import"../../chunks/chunk-F6EBOT64.js";import"../../chunks/chunk-LFOWP74R.js";import"../../chunks/chunk-LOBA3E72.js";import"../../chunks/chunk-7R6TRRG5.js";import"../../chunks/chunk-JALVF3C2.js";import{addSubcommand,envCommand,envTargetChoices,getEnvTargetPlaceholder,isValidEnvTarget,listSubcommand,parseEnvTargetArg,pullSubcommand,removeSubcommand,resolveEnvTargetInput,runSubcommand,updateSubcommand}from"../../chunks/chunk-OZCQTXI4.js";import"../../chunks/chunk-FSPPKNKN.js";import{help}from"../../chunks/chunk-FLHO75XC.js";import"../../chunks/chunk-773GOZIR.js";import{printError}from"../../chunks/chunk-HSFKISDH.js";import"../../chunks/chunk-67GZ5REA.js";import"../../chunks/chunk-BS32OUOC.js";import{param}from"../../chunks/chunk-3G3FQYMW.js";import{TelemetryClient}from"../../chunks/chunk-6YXIWZ3X.js";import{require_dist as require_dist2}from"../../chunks/chunk-PUKYAALC.js";import"../../chunks/chunk-K5U47EVH.js";import{require_ms}from"../../chunks/chunk-MXTC4ZAQ.js";import"../../chunks/chunk-NWGBDBZI.js";import{buildCommandWithYes,buildEnvAddCommandWithPreservedArgs,buildEnvRmCommandWithPreservedArgs,buildEnvUpdateCommandWithPreservedArgs,getLinkSuggestionArgs,getPreservedArgsForEnvAdd,getPreservedArgsForEnvRm,getPreservedArgsForEnvUpdate,outputActionRequired,outputAgentError,redactEnvValueArgs,withGlobalFlags}from"../../chunks/chunk-WDXW6A4H.js";import"../../chunks/chunk-DKJL2KV7.js";import{getLinkFromDir,getVercelDirectory}from"../../chunks/chunk-4N6LMERQ.js";import{printAlignedLabel}from"../../chunks/chunk-ADLBLGT3.js";import"../../chunks/chunk-CWM2F235.js";import"../../chunks/chunk-4NTBYNFR.js";import{parseArguments}from"../../chunks/chunk-KCKYPLIH.js";import{getTeamByIdOrSlug,quoteArg}from"../../chunks/chunk-F53OKXYI.js";import{getFlagsSpecification,getGlobalFlagsFromArgs,validateJsonOutput}from"../../chunks/chunk-QVXS234E.js";import"../../chunks/chunk-FUX6LKNP.js";import"../../chunks/chunk-OPORM35X.js";import"../../chunks/chunk-4SAVH3H7.js";import{isAPIError}from"../../chunks/chunk-6VH56CX2.js";import{getCommandName,getCommandNamePlain,require_lib}from"../../chunks/chunk-JESNVRVR.js";import{emoji,output_manager_default,prependEmoji,require_build_utils}from"../../chunks/chunk-XP3FT56R.js";import"../../chunks/chunk-BLUPZPAS.js";import{require_dist}from"../../chunks/chunk-RM3ZDRYE.js";import"../../chunks/chunk-OO572JUC.js";import"../../chunks/chunk-D3AHZ5LI.js";import"../../chunks/chunk-2GHZGOWT.js";import"../../chunks/chunk-YHPPP3SF.js";import{require_source}from"../../chunks/chunk-NB2WLB3J.js";import"../../chunks/chunk-ISWW3DKF.js";import"../../chunks/chunk-BRQUZ5NC.js";import{__toESM}from"../../chunks/chunk-BZENIQ7N.js";var import_chalk=__toESM(require_source(),1);var import_constants=__toESM(require_dist2(),1);async function addEnvRecord(client,projectId,upsert,type,key,value,targets,gitBranch,visibility){let actionWord=upsert?"Overriding":"Adding";output_manager_default.debug(`${actionWord} ${type} Environment Variable ${key} to ${targets.length} targets`);let target=[],customEnvironmentIds=[];for(let t of targets)(import_constants.PROJECT_ENV_TARGET.includes(t)?target:customEnvironmentIds).push(t);let body={type,key,value,target,customEnvironmentIds:customEnvironmentIds.length>0?customEnvironmentIds:void 0,gitBranch:gitBranch||void 0,...visibility!==void 0?{visibility}:{}},args=upsert?`?upsert=${upsert}`:"",url=`/v10/projects/${projectId}/env${args}`;await client.fetch(url,{method:"POST",body})}var import_error_utils=__toESM(require_dist(),1),knownErrorsCodes=new Set(["BAD_REQUEST","ENV_ALREADY_EXISTS","ENV_CONFLICT","EXISTING_KEY_AND_TARGET","FORBIDDEN","ID_NOT_FOUND","INVALID_KEY","INVALID_VALUE","KEY_INVALID_CHARACTERS","KEY_INVALID_LENGTH","KEY_RESERVED","RESERVED_ENV_VARIABLE","MAX_ENVS_EXCEEDED","MISSING_ID","MISSING_KEY","MISSING_TARGET","MISSING_VALUE","NOT_AUTHORIZED","NOT_DECRYPTABLE","SYSTEM_ENV_WITH_VALUE","TEAM_NOT_FOUND","TOO_MANY_IDS","TOO_MANY_KEYS","UNKNOWN_ERROR","VALUE_INVALID_LENGTH","VALUE_INVALID_TYPE"]);function isKnownError(error){let code=(0,import_error_utils.isErrnoException)(error)?error.code:null;return code?knownErrorsCodes.has(code.toUpperCase()):!1}var EnvAddTelemetryClient=class extends TelemetryClient{trackCliArgumentName(name){name&&this.trackCliArgument({arg:"name",value:this.redactedValue})}trackCliArgumentEnvironment(environment){if(environment){let allStandard=environment.split(",").map(t=>t.trim()).every(t=>STANDARD_ENVIRONMENTS.includes(t));this.trackCliArgument({arg:"environment",value:allStandard?environment:this.redactedValue})}}trackCliArgumentGitBranch(gitBranch){gitBranch&&this.trackCliArgument({arg:"git-branch",value:this.redactedValue})}trackCliOptionGitBranch(gitBranch){gitBranch&&this.trackCliOption({option:"git-branch",value:this.redactedValue})}trackCliOptionEnvironment(environments){if(environments&&environments.length>0){let allStandard=environments.flatMap(environment=>environment.split(",")).map(t=>t.trim()).every(t=>STANDARD_ENVIRONMENTS.includes(t));this.trackCliOption({option:"environment",value:allStandard?environments.join(","):this.redactedValue})}}trackCliOptionValue(value){value&&this.trackCliOption({option:"value",value:this.redactedValue})}trackCliOptionVisibility(visibility){if(visibility){let validVisibilities=["config","secret"];this.trackCliOption({option:"visibility",value:validVisibilities.includes(visibility)?visibility:this.redactedValue})}}trackCliOptionType(type){if(type){let validTypes=["config","secret"];this.trackCliOption({option:"type",value:validTypes.includes(type)?type:this.redactedValue})}}trackCliFlagSensitive(sensitive){sensitive&&this.trackCliFlag("sensitive")}trackCliFlagNoSensitive(noSensitive){noSensitive&&this.trackCliFlag("no-sensitive")}trackCliFlagForce(force){force&&this.trackCliFlag("force")}trackCliFlagGuidance(guidance){guidance&&this.trackCliFlag("guidance")}trackCliFlagYes(yes){yes&&this.trackCliFlag("yes")}};import{determineAgent}from"@vercel/detect-agent";function includesDevelopment(targets){return targets.length===0||targets.includes("development")}function getProductionSecretPolicyErrorKind(message){return/production secrets?.*different value|different value.*production secrets?/i.test(message)?"different-values":/production secrets?.*(?:own environment group|separat)|(?:own environment group|separat).*production secrets?/i.test(message)?"separate-environments":null}function getProductionSecretPolicyRecovery(kind){return kind==="different-values"?"Use different Secret values for Production and non-Production.":"Create separate Production and non-Production variables with different values."}function getSecretStorageChoice(targets,recommendedReason){let availability=includesDevelopment(targets)?"hidden in the dashboard; Development values can be pulled":"hidden in the dashboard and unavailable to pulls",recommendation=recommendedReason?`; recommended ${recommendedReason}`:"";return`Secret (${availability}${recommendation})`}function getDefaultSecretStorageGuidance(targets){return includesDevelopment(targets)?"Stored as Secret by default. This value is hidden in the dashboard; Development values can be pulled. Use `--type config` for other values you need to read later.":"Stored as Secret by default. This value is hidden in the dashboard and unavailable to pulls; use `--type config` for values you need to read later."}function looksLikeCredentialName(key,publicPrefix=getPublicPrefix(key)){return looksLikeSecret(publicPrefix?key.slice(publicPrefix.length):key)}function filterEnvChoicesForSensitivity(choices,opts){return opts.policyOn?choices.filter(c=>c.value==="development"):choices}function getTargetCompatibilityError(envTargets,isSensitive,policyOn){let hasSensitiveCapable=envTargets.some(t=>t!=="development");return!isSensitive&&policyOn&&hasSensitiveCapable?`Your team requires sensitive Environment Variables for Production and Preview. To add a non-sensitive value, add it to the Development Environment only. Run ${getCommandName("env add --environment development")} instead.`:null}function resolveFinalType(envTargets,isSensitive,opts){return envTargets.includes("development")&&!isSensitive||opts.forceEncrypted&&!opts.policyOn?"encrypted":isSensitive||opts.forceSensitive||opts.policyOn?"sensitive":"encrypted"}function fillEnvAddTemplate(template,opts){let targetPlaceholder=getEnvTargetPlaceholder();return template.replace(/<name>/g,opts.envName?quoteArg(opts.envName):"<name>").split(targetPlaceholder).join(opts.envTargetArg?quoteArg(opts.envTargetArg):targetPlaceholder).replace(/<BRANCH>/g,opts.envGitBranch?quoteArg(opts.envGitBranch):"<BRANCH>").replace(/<value>/g,"<value>")}function multiTargetSuggestion(argv,envName,targets,addNoSensitive){let flag=addNoSensitive?" --no-sensitive":"";return{command:buildEnvAddCommandWithPreservedArgs(argv,`env add ${envName} --environment ${targets.join(",")} --value "<value>"${flag} --yes`),when:addNoSensitive?"Add one non-sensitive variable to all listed environments":"Add one variable to multiple environments"}}function filterSensitiveMultiTargetSuggestionTargets(targets,_opts){return targets}function projectLabel(link){return`${link.org.slug}/${link.project.name}`}function formatEnvironmentTarget(target,customEnvironments){let standardTarget=envTargetChoices.find(choice=>choice.value===target);return standardTarget?standardTarget.name:customEnvironments.find(env=>env.id===target||env.slug===target)?.slug??target}function formatEnvironmentTargets(envTargets,customEnvironments){return envTargets.map(target=>formatEnvironmentTarget(target,customEnvironments)).join(", ")}function printEnvAddResult(link,envName,envTargets,envGitBranch,customEnvironments,finalType,force,visibility){output_manager_default.print(`
|
|
7
|
+
import{require_dist as require_dist3}from"../../chunks/chunk-JELLVPCM.js";import{readStandardInput}from"../../chunks/chunk-PSOVLGHP.js";import"../../chunks/chunk-XOETL6DB.js";import{ENV_VISIBILITY_DEPRECATION_MESSAGE,SENSITIVE_ENV_VALUE_PLACEHOLDER,formatVisibilityLabel,getApiPublicPrefix,getEnvKeyWarnings,getFrameworkPublicPrefix,getLocalSecretFallbackMessage,getLocalSvelteKitPublicPrefixes,getPublicPrefix,getPublicPrefixSecretVisibilityError,getUnavailableSecretValuesMessage,isFlagsSecretNeedingSplit,isSecretEnvVar,looksLikeSecret,looksLikeSecretValue,normalizeStdinEnvValue,pull,removePublicPrefix,resolveEnvVarTypeOption,resolveEnvVarVisibility,shouldConfirmRotationBeforeDelete,validateEnvValue}from"../../chunks/chunk-GFD6UAAO.js";import{getCustomEnvironments}from"../../chunks/chunk-F7AVGV4Y.js";import{getEnvRecords,pullEnvRecords}from"../../chunks/chunk-JWUXHL35.js";import"../../chunks/chunk-6Y2ZL5XJ.js";import{suggestNextCommands}from"../../chunks/chunk-MFW6IJIK.js";import{parseTarget}from"../../chunks/chunk-EQT2VHL2.js";import"../../chunks/chunk-25565AGS.js";import{formatEnvironment}from"../../chunks/chunk-QHM6OK76.js";import{STANDARD_ENVIRONMENTS}from"../../chunks/chunk-7YKFF6CE.js";import{resolveProjectContext}from"../../chunks/chunk-36NK2Z3C.js";import{formatProject}from"../../chunks/chunk-75JI2SZX.js";import{isGuidanceEnabled}from"../../chunks/chunk-TAAWMNNL.js";import"../../chunks/chunk-RWPQOJTT.js";import{ellipsis}from"../../chunks/chunk-F4KY2TOK.js";import"../../chunks/chunk-ID663OJ7.js";import"../../chunks/chunk-JMLKK7RL.js";import"../../chunks/chunk-VAWZZK3Y.js";import"../../chunks/chunk-OKNDHNH6.js";import"../../chunks/chunk-PVASGBEF.js";import"../../chunks/chunk-SDOPVIKJ.js";import"../../chunks/chunk-7EJQLVWX.js";import{CHECKBOX_INSTRUCTIONS}from"../../chunks/chunk-OFDTADPQ.js";import{require_execa}from"../../chunks/chunk-RCUDI7OF.js";import"../../chunks/chunk-GD7AV7BO.js";import{validateLsArgs}from"../../chunks/chunk-XTKGBVSF.js";import{getInvalidSubcommand}from"../../chunks/chunk-TG2RCYTH.js";import{formatTable}from"../../chunks/chunk-FAELJM4F.js";import{stamp_default}from"../../chunks/chunk-A2RZZQEP.js";import"../../chunks/chunk-5SIC5273.js";import"../../chunks/chunk-JSAY52FE.js";import"../../chunks/chunk-Q7D7RGXM.js";import{getSubcommand}from"../../chunks/chunk-ETV3C2CV.js";import"../../chunks/chunk-P6ZTEDX2.js";import{getCommandAliases}from"../../chunks/chunk-WDUHDLUA.js";import"../../chunks/chunk-O7COT3YB.js";import"../../chunks/chunk-2FHZYQPY.js";import"../../chunks/chunk-M7LUSXMG.js";import"../../chunks/chunk-C6IITJ5S.js";import"../../chunks/chunk-TZT3VYZ3.js";import"../../chunks/chunk-HMWDOAWO.js";import"../../chunks/chunk-QNL22LAW.js";import"../../chunks/chunk-UWMPVTXG.js";import"../../chunks/chunk-5CZNUB7Y.js";import"../../chunks/chunk-AUY363W7.js";import"../../chunks/chunk-OTYF3ZZW.js";import"../../chunks/chunk-3H36RI7C.js";import"../../chunks/chunk-BGWS5R5R.js";import"../../chunks/chunk-UJQ6PBRF.js";import"../../chunks/chunk-LFOWP74R.js";import"../../chunks/chunk-GVPVWHFK.js";import"../../chunks/chunk-N5CXIFE2.js";import"../../chunks/chunk-FNA4MIOH.js";import"../../chunks/chunk-JALVF3C2.js";import{addSubcommand,envCommand,envTargetChoices,getEnvTargetPlaceholder,isValidEnvTarget,listSubcommand,parseEnvTargetArg,pullSubcommand,removeSubcommand,resolveEnvTargetInput,runSubcommand,updateSubcommand}from"../../chunks/chunk-VWHIWUGJ.js";import{printError}from"../../chunks/chunk-VQ755MPP.js";import{help}from"../../chunks/chunk-SLDWAIO3.js";import"../../chunks/chunk-67GZ5REA.js";import"../../chunks/chunk-BS32OUOC.js";import{param}from"../../chunks/chunk-3G3FQYMW.js";import{TelemetryClient}from"../../chunks/chunk-5WYPJ2T5.js";import"../../chunks/chunk-2EYYB6YN.js";import"../../chunks/chunk-WICRM2JL.js";import{require_ms}from"../../chunks/chunk-MXTC4ZAQ.js";import"../../chunks/chunk-NWGBDBZI.js";import{buildCommandWithYes,buildEnvAddCommandWithPreservedArgs,buildEnvRmCommandWithPreservedArgs,buildEnvUpdateCommandWithPreservedArgs,getLinkSuggestionArgs,getPreservedArgsForEnvAdd,getPreservedArgsForEnvRm,getPreservedArgsForEnvUpdate,outputActionRequired,outputAgentError,redactEnvValueArgs,withGlobalFlags}from"../../chunks/chunk-XE24Y6NM.js";import"../../chunks/chunk-EPO7P734.js";import{getLinkFromDir,getVercelDirectory}from"../../chunks/chunk-VLYVVC3P.js";import{printAlignedLabel}from"../../chunks/chunk-26QK3I2S.js";import"../../chunks/chunk-55H6G46X.js";import"../../chunks/chunk-4NTBYNFR.js";import{parseArguments}from"../../chunks/chunk-F22QLVTX.js";import{getTeamByIdOrSlug,quoteArg}from"../../chunks/chunk-F53OKXYI.js";import{validateJsonOutput}from"../../chunks/chunk-7SAEZ4NC.js";import"../../chunks/chunk-LUX4PBJL.js";import"../../chunks/chunk-OPORM35X.js";import"../../chunks/chunk-4SAVH3H7.js";import{isAPIError}from"../../chunks/chunk-YCJHUYBJ.js";import{getCommandName,getCommandNamePlain,require_lib}from"../../chunks/chunk-JESNVRVR.js";import{emoji,output_manager_default,prependEmoji,require_build_utils}from"../../chunks/chunk-DWOJP4ST.js";import"../../chunks/chunk-BLUPZPAS.js";import{require_dist}from"../../chunks/chunk-RM3ZDRYE.js";import"../../chunks/chunk-D3AHZ5LI.js";import"../../chunks/chunk-2GHZGOWT.js";import"../../chunks/chunk-YHPPP3SF.js";import"../../chunks/chunk-OO572JUC.js";import{require_dist as require_dist2}from"../../chunks/chunk-PUKYAALC.js";import{getFlagsSpecification,getGlobalFlagsFromArgs}from"../../chunks/chunk-A2UZ2O7H.js";import"../../chunks/chunk-2BKALEOP.js";import{require_source}from"../../chunks/chunk-NB2WLB3J.js";import"../../chunks/chunk-ISWW3DKF.js";import"../../chunks/chunk-BRQUZ5NC.js";import"../../chunks/chunk-FBYA6LLM.js";import"../../chunks/chunk-SCV7XEEO.js";import"../../chunks/chunk-MY4MONOH.js";import{__toESM}from"../../chunks/chunk-BZENIQ7N.js";var import_chalk=__toESM(require_source(),1);var import_constants=__toESM(require_dist2(),1);async function addEnvRecord(client,projectId,upsert,type,key,value,targets,gitBranch,visibility){let actionWord=upsert?"Overriding":"Adding";output_manager_default.debug(`${actionWord} ${type} Environment Variable ${key} to ${targets.length} targets`);let target=[],customEnvironmentIds=[];for(let t of targets)(import_constants.PROJECT_ENV_TARGET.includes(t)?target:customEnvironmentIds).push(t);let body={type,key,value,target,customEnvironmentIds:customEnvironmentIds.length>0?customEnvironmentIds:void 0,gitBranch:gitBranch||void 0,...visibility!==void 0?{visibility}:{}},args=upsert?`?upsert=${upsert}`:"",url=`/v10/projects/${projectId}/env${args}`;await client.fetch(url,{method:"POST",body})}var import_error_utils=__toESM(require_dist(),1),knownErrorsCodes=new Set(["BAD_REQUEST","ENV_ALREADY_EXISTS","ENV_CONFLICT","EXISTING_KEY_AND_TARGET","FORBIDDEN","ID_NOT_FOUND","INVALID_KEY","INVALID_VALUE","KEY_INVALID_CHARACTERS","KEY_INVALID_LENGTH","KEY_RESERVED","RESERVED_ENV_VARIABLE","MAX_ENVS_EXCEEDED","MISSING_ID","MISSING_KEY","MISSING_TARGET","MISSING_VALUE","NOT_AUTHORIZED","NOT_DECRYPTABLE","SYSTEM_ENV_WITH_VALUE","TEAM_NOT_FOUND","TOO_MANY_IDS","TOO_MANY_KEYS","UNKNOWN_ERROR","VALUE_INVALID_LENGTH","VALUE_INVALID_TYPE"]);function isKnownError(error){let code=(0,import_error_utils.isErrnoException)(error)?error.code:null;return code?knownErrorsCodes.has(code.toUpperCase()):!1}var EnvAddTelemetryClient=class extends TelemetryClient{trackCliArgumentName(name){name&&this.trackCliArgument({arg:"name",value:this.redactedValue})}trackCliArgumentEnvironment(environment){if(environment){let allStandard=environment.split(",").map(t=>t.trim()).every(t=>STANDARD_ENVIRONMENTS.includes(t));this.trackCliArgument({arg:"environment",value:allStandard?environment:this.redactedValue})}}trackCliArgumentGitBranch(gitBranch){gitBranch&&this.trackCliArgument({arg:"git-branch",value:this.redactedValue})}trackCliOptionGitBranch(gitBranch){gitBranch&&this.trackCliOption({option:"git-branch",value:this.redactedValue})}trackCliOptionEnvironment(environments){if(environments&&environments.length>0){let allStandard=environments.flatMap(environment=>environment.split(",")).map(t=>t.trim()).every(t=>STANDARD_ENVIRONMENTS.includes(t));this.trackCliOption({option:"environment",value:allStandard?environments.join(","):this.redactedValue})}}trackCliOptionValue(value){value&&this.trackCliOption({option:"value",value:this.redactedValue})}trackCliOptionVisibility(visibility){if(visibility){let validVisibilities=["config","secret"];this.trackCliOption({option:"visibility",value:validVisibilities.includes(visibility)?visibility:this.redactedValue})}}trackCliOptionType(type){if(type){let validTypes=["config","secret"];this.trackCliOption({option:"type",value:validTypes.includes(type)?type:this.redactedValue})}}trackCliFlagSensitive(sensitive){sensitive&&this.trackCliFlag("sensitive")}trackCliFlagNoSensitive(noSensitive){noSensitive&&this.trackCliFlag("no-sensitive")}trackCliFlagForce(force){force&&this.trackCliFlag("force")}trackCliFlagGuidance(guidance){guidance&&this.trackCliFlag("guidance")}trackCliFlagYes(yes){yes&&this.trackCliFlag("yes")}};import{determineAgent}from"@vercel/detect-agent";function includesDevelopment(targets){return targets.length===0||targets.includes("development")}function getProductionSecretPolicyErrorKind(message){return/production secrets?.*different value|different value.*production secrets?/i.test(message)?"different-values":/production secrets?.*(?:own environment group|separat)|(?:own environment group|separat).*production secrets?/i.test(message)?"separate-environments":null}function getProductionSecretPolicyRecovery(kind){return kind==="different-values"?"Use different Secret values for Production and non-Production.":"Create separate Production and non-Production variables with different values."}function getSecretStorageChoice(targets,recommendedReason){let availability=includesDevelopment(targets)?"hidden in the dashboard; Development values can be pulled":"hidden in the dashboard and unavailable to pulls",recommendation=recommendedReason?`; recommended ${recommendedReason}`:"";return`Secret (${availability}${recommendation})`}function getDefaultSecretStorageGuidance(targets){return includesDevelopment(targets)?"Stored as Secret by default. This value is hidden in the dashboard; Development values can be pulled. Use `--type config` for other values you need to read later.":"Stored as Secret by default. This value is hidden in the dashboard and unavailable to pulls; use `--type config` for values you need to read later."}function looksLikeCredentialName(key,publicPrefix=getPublicPrefix(key)){return looksLikeSecret(publicPrefix?key.slice(publicPrefix.length):key)}function filterEnvChoicesForSensitivity(choices,opts){return opts.policyOn?choices.filter(c=>c.value==="development"):choices}function getTargetCompatibilityError(envTargets,isSensitive,policyOn){let hasSensitiveCapable=envTargets.some(t=>t!=="development");return!isSensitive&&policyOn&&hasSensitiveCapable?`Your team requires sensitive Environment Variables for Production and Preview. To add a non-sensitive value, add it to the Development Environment only. Run ${getCommandName("env add --environment development")} instead.`:null}function resolveFinalType(envTargets,isSensitive,opts){return envTargets.includes("development")&&!isSensitive||opts.forceEncrypted&&!opts.policyOn?"encrypted":isSensitive||opts.forceSensitive||opts.policyOn?"sensitive":"encrypted"}function fillEnvAddTemplate(template,opts){let targetPlaceholder=getEnvTargetPlaceholder();return template.replace(/<name>/g,opts.envName?quoteArg(opts.envName):"<name>").split(targetPlaceholder).join(opts.envTargetArg?quoteArg(opts.envTargetArg):targetPlaceholder).replace(/<BRANCH>/g,opts.envGitBranch?quoteArg(opts.envGitBranch):"<BRANCH>").replace(/<value>/g,"<value>")}function multiTargetSuggestion(argv,envName,targets,addNoSensitive){let flag=addNoSensitive?" --no-sensitive":"";return{command:buildEnvAddCommandWithPreservedArgs(argv,`env add ${envName} --environment ${targets.join(",")} --value "<value>"${flag} --yes`),when:addNoSensitive?"Add one non-sensitive variable to all listed environments":"Add one variable to multiple environments"}}function filterSensitiveMultiTargetSuggestionTargets(targets,_opts){return targets}function projectLabel(link){return`${link.org.slug}/${link.project.name}`}function formatEnvironmentTarget(target,customEnvironments){let standardTarget=envTargetChoices.find(choice=>choice.value===target);return standardTarget?standardTarget.name:customEnvironments.find(env=>env.id===target||env.slug===target)?.slug??target}function formatEnvironmentTargets(envTargets,customEnvironments){return envTargets.map(target=>formatEnvironmentTarget(target,customEnvironments)).join(", ")}function printEnvAddResult(link,envName,envTargets,envGitBranch,customEnvironments,finalType,force,visibility){output_manager_default.print(`
|
|
8
8
|
`),printAlignedLabel(force?"Overrode":"Added",envName,{gutter:"\u2713"}),printAlignedLabel("Project",projectLabel(link)),printAlignedLabel("Environments",formatEnvironmentTargets(envTargets,customEnvironments)),envGitBranch&&printAlignedLabel("Branch",envGitBranch);let visibilityLabel=formatVisibilityLabel(visibility,finalType);visibilityLabel&&printAlignedLabel("Type",visibilityLabel)}function printEnvAddWarning(message){output_manager_default.print(`${import_chalk.default.yellow("!")} ${message}
|
|
9
9
|
`)}function promptEnvValue(client,opts){return client.input.text({message:"Value?",...opts.isSensitive?{transformer:value=>"*".repeat(value.length)}:{}})}function buildHumanEnvAddCommand(argv,commandTemplate){let globalFlags=getGlobalFlagsFromArgs(argv.slice(2),{preserveProject:!0}).filter(flag=>!flag.startsWith("--non-interactive")),suffix=globalFlags.length>0?` ${globalFlags.map(quoteArg).join(" ")}`:"";return getCommandNamePlain(`${commandTemplate}${suffix}`)}async function add(client,argv){let parsedArgs,flagsSpecification=getFlagsSpecification(addSubcommand.options);try{parsedArgs=parseArguments(argv,flagsSpecification)}catch(err){return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"invalid_arguments",message:err instanceof Error?err.message:String(err)},2),printError(err),2}let{args,flags:opts}=parsedArgs,valueFromFlag=typeof opts["--value"]=="string"?opts["--value"]:void 0,stdInput=valueFromFlag===void 0?await readStandardInput(client.stdin):"",[envName]=args,positionalEnvironment=args[1],positionalGitBranch=args[2],optionGitBranch=typeof opts["--git-branch"]=="string"?opts["--git-branch"]:void 0,forceSensitive=!!opts["--sensitive"],forceEncrypted=!!opts["--no-sensitive"],typeOption=resolveEnvVarTypeOption({type:typeof opts["--type"]=="string"?opts["--type"]:void 0,visibility:typeof opts["--visibility"]=="string"?opts["--visibility"]:void 0}),explicitType=typeOption.explicitVisibility,typeSource=explicitType||forceSensitive||forceEncrypted?"argv":void 0,telemetryClient=new EnvAddTelemetryClient({opts:{store:client.telemetryEventStore}});if(telemetryClient.trackCliArgumentName(envName),telemetryClient.trackCliArgumentEnvironment(positionalEnvironment),telemetryClient.trackCliArgumentGitBranch(positionalGitBranch),telemetryClient.trackCliOptionEnvironment(opts["--environment"]),telemetryClient.trackCliOptionGitBranch(optionGitBranch),telemetryClient.trackCliOptionValue(valueFromFlag===void 0?void 0:"<redacted>"),telemetryClient.trackCliFlagSensitive(opts["--sensitive"]),telemetryClient.trackCliFlagNoSensitive(opts["--no-sensitive"]),telemetryClient.trackCliFlagForce(opts["--force"]),telemetryClient.trackCliFlagGuidance(opts["--guidance"]),telemetryClient.trackCliFlagYes(opts["--yes"]),telemetryClient.trackCliOptionType(typeof opts["--type"]=="string"?opts["--type"]:void 0),telemetryClient.trackCliOptionVisibility(typeof opts["--visibility"]=="string"?opts["--visibility"]:void 0),telemetryClient.trackCliOptionProject(opts["--project"]),typeOption.error)return client.nonInteractive&&outputAgentError(client,{status:"error",reason:typeOption.errorReason??"invalid_type",message:typeOption.error},1),output_manager_default.fatal(typeOption.error),1;typeOption.usedDeprecatedVisibility&&printEnvAddWarning(ENV_VISIBILITY_DEPRECATION_MESSAGE);let typeConflictMessage=forceSensitive?forceEncrypted?"`--sensitive` and `--no-sensitive` cannot be used together. Pick one.":explicitType==="config"?"`--type config` cannot be used with `--sensitive`. Pick one.":null:forceEncrypted&&explicitType==="secret"?"`--type secret` cannot be used with `--no-sensitive`. Pick one.":null;if(typeConflictMessage)return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"conflicting_type_flags",message:typeConflictMessage},2),output_manager_default.fatal(typeConflictMessage),2;let envTargetInput=resolveEnvTargetInput(client,{environment:opts["--environment"],gitBranch:optionGitBranch,legacyEnvironment:positionalEnvironment,legacyGitBranch:positionalGitBranch});if("error"in envTargetInput)return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"invalid_arguments",message:envTargetInput.error},2),output_manager_default.error(envTargetInput.error),2;let envTargetArg=envTargetInput.environment,envGitBranch=envTargetInput.gitBranch;if(args.length>3)return output_manager_default.error(`Invalid number of arguments. Usage: ${getCommandName(`env add <name> --environment ${getEnvTargetPlaceholder()} --git-branch <BRANCH>`)}`),2;if(stdInput&&(!envName||!envTargetArg))return output_manager_default.error(`Can't read the value from stdin without a name and --environment. Usage: ${getCommandName("env add <name> --environment <environment> --git-branch <BRANCH> < <file>")}`),2;let envTargets=envTargetArg?parseEnvTargetArg(envTargetArg):[],resolvedLink,envRecordsAndCustomEnvironments;if(client.nonInteractive){let link2=await resolveProjectContext({client,projectNameOrId:opts["--project"]});if(link2.status==="error")return link2.exitCode;if(link2.status==="not_linked"){let preserved=getPreservedArgsForEnvAdd(client.argv),linkPreserved=preserved.filter((a,i)=>!(a==="--value"||a.startsWith("--value=")||i>0&&preserved[i-1]==="--value")),linkArgv=[...client.argv.slice(0,2),"link","--scope","<scope>",...getLinkSuggestionArgs(linkPreserved)],envAddRetryArgv=redactEnvValueArgs(client.argv);envTargetArg==="preview"&&envGitBranch===void 0&&(envAddRetryArgv=redactEnvValueArgs([...client.argv,"--git-branch","<BRANCH>"])),outputAgentError(client,{status:"error",reason:"not_linked",message:`Your codebase isn't linked to a project on Vercel. Run \`${getCommandNamePlain("link")}\` to begin. Use \`--yes\` for non-interactive mode; use \`--scope\` or \`--project\` to specify a team or project. Then run your \`env add\` command.`,next:[{command:buildCommandWithYes(linkArgv)},{command:buildCommandWithYes(envAddRetryArgv)}]},1)}if(link2.status!=="linked")return 1;resolvedLink=link2;let{project:project2}=link2,org=link2.org;client.config.currentTeam=org.type==="team"?org.id:void 0,envRecordsAndCustomEnvironments=await Promise.all([getEnvRecords(client,project2.id,"vercel-cli:env:add"),getCustomEnvironments(client,project2.id)]);let[{envs:envs2},customEnvironments2]=envRecordsAndCustomEnvironments,matchingEnvs2=envs2.filter(r=>r.key===envName),existingTargets2=new Set,existingCustomEnvs2=new Set;for(let env of matchingEnvs2){if(typeof env.target=="string")existingTargets2.add(env.target);else if(Array.isArray(env.target))for(let target of env.target)existingTargets2.add(target);if(env.customEnvironmentIds)for(let customEnvId of env.customEnvironmentIds)existingCustomEnvs2.add(customEnvId)}let choices2=[...envTargetChoices.filter(c=>!existingTargets2.has(c.value)),...customEnvironments2.filter(c=>!existingCustomEnvs2.has(c.id)).map(c=>({name:c.slug,value:c.id}))],missing=[];if(envName||missing.push("missing_name"),valueFromFlag===void 0&&!stdInput&&missing.push("missing_value"),!envTargetArg&&choices2.length>0&&missing.push("missing_environment"),envTargetArg==="preview"&&envGitBranch===void 0&&!(client.nonInteractive&&envName!==void 0)&&missing.push("git_branch_required"),missing.length>0){let parts=missing.map(m=>m==="missing_name"?"variable name":m==="missing_value"?"--value or stdin":m==="missing_environment"?"environment (production, preview, development, or a comma-separated list)":m==="git_branch_required"?"`--git-branch <BRANCH>` for Preview, or omit for all Preview branches":m),fullTemplate=`env add <name> --environment ${getEnvTargetPlaceholder()} --value "<value>" --yes`,filledTemplate=fillEnvAddTemplate(fullTemplate,{envName,envTargetArg,envGitBranch}),next=[];if(missing.length===1&&missing[0]==="git_branch_required"||next.push({command:buildEnvAddCommandWithPreservedArgs(client.argv,filledTemplate)}),missing.includes("git_branch_required")&&envName&&(valueFromFlag!==void 0||stdInput)){let branchSpecific=fillEnvAddTemplate('env add <name> --environment preview --git-branch <BRANCH> --value "<value>" --yes',{envName,envTargetArg:"preview"}),branchAll=fillEnvAddTemplate('env add <name> --environment preview --value "<value>" --yes',{envName,envTargetArg:"preview"});next.push({command:buildEnvAddCommandWithPreservedArgs(client.argv,branchSpecific),when:"Add to a specific Git branch"},{command:buildEnvAddCommandWithPreservedArgs(client.argv,branchAll),when:"Add to all Preview branches"})}if(missing.includes("missing_environment")){let standardAvailable=choices2.map(c=>c.value).filter(v=>isValidEnvTarget(v)),multiTargets=filterSensitiveMultiTargetSuggestionTargets(standardAvailable,{forceSensitive:!!opts["--sensitive"],policyOn:!1});multiTargets.length>1&&next.push(multiTargetSuggestion(client.argv,envName||"<name>",multiTargets,multiTargets.includes("development")&&!opts["--no-sensitive"]))}outputActionRequired(client,{status:"action_required",reason:"missing_requirements",missing,message:`Provide all required inputs for non-interactive mode: ${parts.join("; ")}. Example: \`${filledTemplate}\``,next},1)}}if(envName||(envName=await client.input.text({message:"Name?",validate:val=>val?!0:"Name cannot be empty"})),!resolvedLink){let link2=await resolveProjectContext({client,projectNameOrId:opts["--project"]});if(link2.status==="error")return link2.exitCode;if(link2.status==="not_linked"){if(client.nonInteractive){let preserved=getPreservedArgsForEnvAdd(client.argv),linkPreserved=preserved.filter((a,i)=>!(a==="--value"||a.startsWith("--value=")||i>0&&preserved[i-1]==="--value")),linkArgv=[...client.argv.slice(0,2),"link","--scope","<scope>",...getLinkSuggestionArgs(linkPreserved)];outputAgentError(client,{status:"error",reason:"not_linked",message:`Your codebase isn't linked to a project on Vercel. Run ${getCommandNamePlain("link")} to begin. Use --yes for non-interactive; use --scope or --project to specify team or project. Then run your env add command.`,next:[{command:buildCommandWithYes(linkArgv)},{command:buildCommandWithYes(redactEnvValueArgs(client.argv))}]},1)}else output_manager_default.error(`Your codebase isn\u2019t linked to a project on Vercel. Run ${getCommandName("link")} to begin.`);return 1}resolvedLink=link2}let link=resolvedLink;client.config.currentTeam=link.org.type==="team"?link.org.id:void 0;let{project}=link;if(explicitType==="secret"||forceSensitive){let publicPrefixError=getPublicPrefixSecretVisibilityError(envName,{visibility:explicitType==="secret"?"secret":void 0,type:"sensitive",context:"add"});if(publicPrefixError)return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"invalid_type",message:publicPrefixError},2),output_manager_default.fatal(publicPrefixError),2}let keyAccepted=!1;for(;!keyAccepted;){let apiPublicPrefix2=getApiPublicPrefix(envName),frameworkPublicPrefix=getFrameworkPublicPrefix(project.framework,envName),globallyKnownPrefix=getPublicPrefix(envName),keyWarnings=frameworkPublicPrefix!==null&&(explicitType==="secret"||forceSensitive)||globallyKnownPrefix!==null&&apiPublicPrefix2===null&&frameworkPublicPrefix===null?[]:getEnvKeyWarnings(envName);if(!keyWarnings.find(w=>w.requiresConfirmation)){for(let warning of keyWarnings)printEnvAddWarning(warning.message);keyAccepted=!0;break}let nameWithoutPrefix=removePublicPrefix(envName),publicPrefix=getPublicPrefix(envName);if(typeSource==="argv"){for(let warning of keyWarnings)printEnvAddWarning(warning.message);keyAccepted=!0;break}let privateCommand=buildEnvAddCommandWithPreservedArgs(client.argv,`env add ${nameWithoutPrefix} --environment ${envTargetArg??getEnvTargetPlaceholder()} --type secret --value "<value>" --yes`),publicCommand=buildEnvAddCommandWithPreservedArgs(client.argv,`env add ${envName} --environment ${envTargetArg??getEnvTargetPlaceholder()} --type config --value "<value>" --yes`),humanTargetArg=envTargetArg?` --environment ${envTargetArg}`:"",privateHumanCommand=buildHumanEnvAddCommand(client.argv,`env add ${nameWithoutPrefix}${humanTargetArg} --type secret`),publicHumanCommand=buildHumanEnvAddCommand(client.argv,`env add ${envName}${humanTargetArg} --type config`),message=`\`${envName}\` looks like a credential, and \`${publicPrefix}\` exposes its value to anyone visiting your site. Choose explicitly: rename to \`${nameWithoutPrefix}\` with \`--type secret\` to keep it private, or keep the name with \`--type config\` to expose it.`;if(client.nonInteractive||opts["--yes"]||stdInput)return client.nonInteractive&&outputActionRequired(client,{status:"action_required",reason:"public_prefix_requires_type",message,choices:[{id:"private",name:`Keep private: rename to ${nameWithoutPrefix} and use Secret`},{id:"public",name:`Expose publicly: keep ${envName} as Config`}],next:[{command:privateCommand,when:"Keep it private; replace <value> before running"},{command:publicCommand,when:"Expose it publicly; replace <value> before running"}]}),output_manager_default.fatal(message),output_manager_default.print(` Keep it private:
|
|
10
10
|
${privateHumanCommand}
|
|
@@ -22,7 +22,7 @@ import{require_dist as require_dist3}from"../../chunks/chunk-JELLVPCM.js";import
|
|
|
22
22
|
`)}async function rm(client,argv){let telemetryClient=new EnvRmTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(removeSubcommand.options);try{parsedArgs=parseArguments(argv,flagsSpecification)}catch(err){return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"invalid_arguments",message:err instanceof Error?err.message:String(err)},2),printError(err),2}let{args,flags:opts}=parsedArgs;if(args.length>3)return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"invalid_arguments",message:`Invalid number of arguments. Usage: \`${getCommandNamePlain(`env remove <name> --environment ${getEnvTargetPlaceholder()} --git-branch <BRANCH>`)}\``},2),output_manager_default.error(`Invalid number of arguments. Usage: ${getCommandName(`env remove <name> --environment ${getEnvTargetPlaceholder()} --git-branch <BRANCH>`)}`),2;let[envName]=args;telemetryClient.trackCliArgumentName(envName),telemetryClient.trackCliArgumentEnvironment(args[1]),telemetryClient.trackCliArgumentGitBranch(args[2]),telemetryClient.trackCliOptionEnvironment(opts["--environment"]),telemetryClient.trackCliOptionGitBranch(opts["--git-branch"]),telemetryClient.trackCliFlagYes(opts["--yes"]),telemetryClient.trackCliOptionProject(opts["--project"]);let envTargetInput=resolveEnvTargetInput(client,{environment:opts["--environment"],gitBranch:opts["--git-branch"],legacyEnvironment:args[1],legacyGitBranch:args[2]});if("error"in envTargetInput)return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"invalid_arguments",message:envTargetInput.error},2),output_manager_default.error(envTargetInput.error),2;let{environment:envTarget,gitBranch:envGitBranch}=envTargetInput;if(opts["--environment"]===""){let message="Can't remove an Environment Variable with an empty --environment. Pass an environment, or leave out --environment to remove the variable from all of its environments.";return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"invalid_environment",message},2),output_manager_default.error(message),2}let link=await resolveProjectContext({client,projectNameOrId:opts["--project"]});if(link.status==="error")return link.exitCode;if(link.status==="not_linked"){if(client.nonInteractive){let preserved=getPreservedArgsForEnvRm(client.argv).filter(a=>a!=="--yes"&&a!=="-y"),linkArgv=[...client.argv.slice(0,2),"link","--scope","<scope>",...getLinkSuggestionArgs(preserved)];outputAgentError(client,{status:"error",reason:"not_linked",message:`Your codebase isn't linked to a project on Vercel. Run \`${getCommandNamePlain("link")}\` to begin. Use \`--yes\` for non-interactive; use \`--scope\` or \`--project\` to specify team or project.`,next:[{command:buildCommandWithYes(linkArgv)},{command:buildCommandWithYes(client.argv)}]},1)}else output_manager_default.error(`Your codebase isn\u2019t linked to a project on Vercel. Run ${getCommandName("link")} to begin.`);return 1}client.config.currentTeam=link.org.type==="team"?link.org.id:void 0;let{project}=link;envName||(client.nonInteractive&&outputActionRequired(client,{status:"action_required",reason:"missing_name",message:"Provide the variable name as an argument. Example: `vercel env remove <name> --yes`",next:[{command:buildEnvRmCommandWithPreservedArgs(client.argv,`env remove <name> --environment ${getEnvTargetPlaceholder()} --yes`)}]},2),envName=await client.input.text({message:"What's the name of the variable?",validate:val=>val?!0:"Name cannot be empty"}));let[result,customEnvironments]=await Promise.all([getEnvRecords(client,project.id,"vercel-cli:env:rm",{target:envTarget,gitBranch:envGitBranch}),getCustomEnvironments(client,project.id)]),envs=result.envs.filter(env2=>env2.key===envName);if(envs.length===0)return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"env_not_found",message:`Environment Variable ${envName} was not found.`},1),output_manager_default.error(`Environment Variable was not found.
|
|
23
23
|
`),1;for(;envs.length>1;){client.nonInteractive&&outputActionRequired(client,{status:"action_required",reason:"multiple_envs",message:`Multiple Environment Variables match ${envName}. Specify --environment and/or --git-branch to remove one.`,next:[{command:buildEnvRmCommandWithPreservedArgs(client.argv,`env remove ${envName} --environment ${getEnvTargetPlaceholder()} --yes`)}]},1);let id=await client.input.select({message:`Remove ${envName} from which Environments?`,choices:envs.map(env2=>({value:env2.id,name:formatEnvironments(link,env2,customEnvironments)}))});id||output_manager_default.error("Please select at least one Environment Variable to remove"),envs=envs.filter(env2=>env2.id===id)}let env=envs[0],targets=Array.isArray(env.target)?env.target:env.target?[env.target]:[],customEnvironmentIds=env.customEnvironmentIds??[],selectedTarget=customEnvironments.find(environment=>environment.id===envTarget||environment.slug===envTarget)?.id??envTarget;if(envTarget&&!targets.includes(selectedTarget)&&!customEnvironmentIds.includes(selectedTarget))return output_manager_default.error("The selected environment does not match this variable. No changes were made."),1;let removesTargetOnly=!!envTarget&&targets.length+customEnvironmentIds.length>1,confirmationEnv=envTarget?{...env,target:targets.filter(target=>target===selectedTarget),customEnvironmentIds:customEnvironmentIds.filter(id=>id===selectedTarget)}:env,shouldWarnAboutRotation=shouldConfirmRotationBeforeDelete({key:env.key,type:env.type,hasPublicPrefix:getPublicPrefix(env.key)!==null}),rotationWarning="Removing this variable from Vercel does not revoke the credential. Rotate or disable it at its provider.";if(shouldWarnAboutRotation&&printEnvRmWarning(rotationWarning),!opts["--yes"]&&(client.nonInteractive&&outputActionRequired(client,{status:"action_required",reason:"confirmation_required",message:`Removing Environment Variable ${env.key}. ${shouldWarnAboutRotation?`${rotationWarning} `:""}Use --yes to confirm.`,next:[{command:buildCommandWithYes(client.argv)}]},1),!await client.input.confirm(`Remove ${param(env.key)} from ${formatEnvironments(link,confirmationEnv,customEnvironments)} in Project ${import_chalk3.default.bold(project.name)}?`,!1)))return output_manager_default.log("Canceled"),0;let rmStamp=stamp_default();try{output_manager_default.spinner("Removing"),removesTargetOnly?await client.fetch(`/v10/projects/${project.id}/env/${env.id}`,{method:"PATCH",body:{target:targets.filter(target=>target!==selectedTarget),customEnvironmentIds:customEnvironmentIds.filter(id=>id!==selectedTarget)}}):await removeEnvRecord(client,project.id,env)}catch(err){if(client.nonInteractive&&isAPIError(err)){let reason=err.slug||(err.serverMessage?.toLowerCase().includes("branch")?"branch_not_found":"api_error");outputAgentError(client,{status:"error",reason,message:err.serverMessage},1)}if(isAPIError(err)&&isKnownError(err))return output_manager_default.error(err.serverMessage),1;throw err}return output_manager_default.print(`${prependEmoji(`${removesTargetOnly?`Removed ${envTarget} target from Environment Variable`:"Removed Environment Variable"} ${import_chalk3.default.gray(rmStamp())}`,emoji("success"))}
|
|
24
24
|
`),0}var import_env=__toESM(require_dist3(),1),import_chalk4=__toESM(require_source(),1),import_execa=__toESM(require_execa(),1);function printEnvRunWarning(message){output_manager_default.print(`${import_chalk4.default.yellow("!")} ${message}
|
|
25
|
-
`)}function omitUnavailableSecretPlaceholders(localEnv,secretKeys){let safeLocalEnv={...localEnv};for(let key of secretKeys)safeLocalEnv[key]===SENSITIVE_ENV_VALUE_PLACEHOLDER&&delete safeLocalEnv[key];return safeLocalEnv}function parseRunArgs(argv){let argvIndex=argv.indexOf("--"),hasDoubleDash=argvIndex!==-1,vercelArgs=hasDoubleDash?argv.slice(2,argvIndex):argv.slice(2),userCommand=hasDoubleDash?argv.slice(argvIndex+1):[];return{vercelArgs,userCommand}}function needsHelpForRun(client){let{vercelArgs}=parseRunArgs(client.argv),flagsSpecification=getFlagsSpecification(runSubcommand.options);try{return!!parseArguments(vercelArgs,flagsSpecification).flags["--help"]}catch{return!1}}async function run(client,telemetry){let{vercelArgs,userCommand}=parseRunArgs(client.argv),parsedArgs,flagsSpecification=getFlagsSpecification(runSubcommand.options);try{parsedArgs=parseArguments(vercelArgs,flagsSpecification)}catch(error){return printError(error),2}if(userCommand.length===0)return outputActionRequired(client,{status:"action_required",reason:"missing_command",message:"No command provided. Use `--` to separate Vercel
|
|
25
|
+
`)}function omitUnavailableSecretPlaceholders(localEnv,secretKeys){let safeLocalEnv={...localEnv};for(let key of secretKeys)safeLocalEnv[key]===SENSITIVE_ENV_VALUE_PLACEHOLDER&&delete safeLocalEnv[key];return safeLocalEnv}function parseRunArgs(argv){let argvIndex=argv.indexOf("--"),hasDoubleDash=argvIndex!==-1,vercelArgs=hasDoubleDash?argv.slice(2,argvIndex):argv.slice(2),userCommand=hasDoubleDash?argv.slice(argvIndex+1):[];return{vercelArgs,userCommand}}function needsHelpForRun(client){let{vercelArgs}=parseRunArgs(client.argv),flagsSpecification=getFlagsSpecification(runSubcommand.options);try{return!!parseArguments(vercelArgs,flagsSpecification).flags["--help"]}catch{return!1}}async function run(client,telemetry){let{vercelArgs,userCommand}=parseRunArgs(client.argv),parsedArgs,flagsSpecification=getFlagsSpecification(runSubcommand.options);try{parsedArgs=parseArguments(vercelArgs,flagsSpecification)}catch(error){return printError(error),2}if(userCommand.length===0)return outputActionRequired(client,{status:"action_required",reason:"missing_command",message:"No command provided. Use `--` to separate Vercel options from your command.",next:[{command:getCommandNamePlain("env run -- <command>")}]},2),output_manager_default.error("No command provided. Use `--` to separate vercel options from your command."),2;let projectName=parsedArgs.flags["--project"];telemetry.trackCliOptionProject(projectName);let link=await resolveProjectContext({client,projectNameOrId:projectName});if(link.status==="error")return link.exitCode;if(link.status==="not_linked")return outputActionRequired(client,{status:"action_required",reason:"not_linked",message:"Your codebase isn't linked to a project on Vercel. Run `vercel link`, then retry this command.",next:[{command:getCommandNamePlain("link")}]},1),output_manager_default.error(`Your codebase isn't linked to a project on Vercel. Run ${getCommandName("link")} to begin.`),1;client.config.currentTeam=link.org.type==="team"?link.org.id:void 0;let environment=parseTarget({flagName:"environment",flags:parsedArgs.flags})||"development",gitBranch=parsedArgs.flags["--git-branch"];output_manager_default.spinner(`Downloading \`${environment}\` environment variables`);let records=await pullEnvRecords(client,link.project.id,"vercel-cli:env:run",{target:environment,gitBranch});output_manager_default.stopSpinner(),output_manager_default.debug(`Running command with ${Object.keys(records.env).length} environment variables`);let localEnv={};try{localEnv=(0,import_env.loadEnvConfig)(client.cwd,!0).combinedEnv}catch(err){output_manager_default.debug(`Failed to load local env files: ${err}`)}let localPlaceholderKeys=Object.entries(localEnv).filter(([,value])=>value===SENSITIVE_ENV_VALUE_PLACEHOLDER).map(([key])=>key),safeLocalEnv=omitUnavailableSecretPlaceholders(localEnv,localPlaceholderKeys),processPlaceholderKeys=Object.keys(records.env).filter(key=>process.env[key]===SENSITIVE_ENV_VALUE_PLACEHOLDER),safeProcessEnv=omitUnavailableSecretPlaceholders(process.env,processPlaceholderKeys),unavailableCandidateKeys=new Set(Object.entries(records.env).filter(([key,value])=>!value&&!safeLocalEnv[key]&&!safeProcessEnv[key]).map(([key])=>key));if(unavailableCandidateKeys.size>0)try{let{envs}=await getEnvRecords(client,link.project.id,"vercel-cli:env:run",{target:environment,gitBranch}),unavailableSecretKeys=envs.filter(env=>isSecretEnvVar(env)&&unavailableCandidateKeys.has(env.key));unavailableSecretKeys.length>0&&printEnvRunWarning(`${getUnavailableSecretValuesMessage(environment,unavailableSecretKeys.length)}${getLocalSecretFallbackMessage(unavailableSecretKeys.length)}`)}catch{}try{let result=await(0,import_execa.default)(userCommand[0],userCommand.slice(1),{cwd:client.cwd,stdio:"inherit",reject:!1,env:{...records.env,...safeLocalEnv,...safeProcessEnv}});return result instanceof Error&&typeof result.exitCode!="number"?(output_manager_default.prettyError(result),1):result.exitCode}catch(err){return output_manager_default.prettyError(err),1}}var import_chalk5=__toESM(require_source(),1);var import_constants3=__toESM(require_dist2(),1);async function updateEnvRecord(client,projectId,envId,type,key,value,targets,gitBranch,visibility){output_manager_default.debug(`Updating ${type} Environment Variable ${key} in ${targets.length} targets`);let target=[],customEnvironmentIds=[];for(let t of targets)(import_constants3.PROJECT_ENV_TARGET.includes(t)?target:customEnvironmentIds).push(t);let body={type,value,target,customEnvironmentIds:customEnvironmentIds.length>0?customEnvironmentIds:void 0,gitBranch:gitBranch||void 0,...visibility!==void 0?{visibility}:{}};key&&(body.key=key);let url=`/v10/projects/${projectId}/env/${envId}`;await client.fetch(url,{method:"PATCH",body})}var EnvUpdateTelemetryClient=class extends TelemetryClient{trackCliArgumentName(name){name&&this.trackCliArgument({arg:"name",value:this.redactedValue})}trackCliArgumentEnvironment(environment){environment&&this.trackCliArgument({arg:"environment",value:STANDARD_ENVIRONMENTS.includes(environment)?environment:this.redactedValue})}trackCliArgumentGitBranch(gitBranch){gitBranch&&this.trackCliArgument({arg:"git-branch",value:this.redactedValue})}trackCliOptionEnvironment(environment){environment&&this.trackCliOption({option:"environment",value:STANDARD_ENVIRONMENTS.includes(environment)?environment:this.redactedValue})}trackCliOptionGitBranch(gitBranch){gitBranch&&this.trackCliOption({option:"git-branch",value:this.redactedValue})}trackCliFlagSensitive(sensitive){sensitive&&this.trackCliFlag("sensitive")}trackCliFlagYes(yes){yes&&this.trackCliFlag("yes")}trackCliOptionValue(value){value&&this.trackCliOption({option:"value",value:this.redactedValue})}trackCliOptionVisibility(visibility){if(visibility){let validVisibilities=["config","secret"];this.trackCliOption({option:"visibility",value:validVisibilities.includes(visibility)?visibility:this.redactedValue})}}trackCliOptionType(type){if(type){let validTypes=["config","secret"];this.trackCliOption({option:"type",value:validTypes.includes(type)?type:this.redactedValue})}}};function looksLikeCredentialName2(key,publicPrefix=getPublicPrefix(key)){return looksLikeSecret(publicPrefix?key.slice(publicPrefix.length):key)}function printEnvUpdateWarning(message){output_manager_default.print(`${import_chalk5.default.yellow("!")} ${message}
|
|
26
26
|
`)}function omitEnvValueArgs(argv){let out=[];for(let i=0;i<argv.length;i++){if(argv[i]==="--value"){i++;continue}argv[i].startsWith("--value=")||out.push(argv[i])}return out}function formatTargetArg(targets,customEnvironments){return targets.map(target=>customEnvironments.find(environment=>environment.id===target||environment.slug===target)?.slug??target).join(",")}function promptEnvUpdateValue(client,envName,isSecret){return client.input.text({message:`What's the new value of ${envName}?`,...isSecret?{transformer:value=>"*".repeat(value.length)}:{}})}async function update(client,argv){let parsedArgs,flagsSpecification=getFlagsSpecification(updateSubcommand.options);try{parsedArgs=parseArguments(argv,flagsSpecification)}catch(err){return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"invalid_arguments",message:err instanceof Error?err.message:String(err)},2),printError(err),2}let{args,flags:opts}=parsedArgs,valueFromFlag=typeof opts["--value"]=="string"?opts["--value"]:void 0,stdInput=await readStandardInput(client.stdin),[envName]=args,typeOption=resolveEnvVarTypeOption({type:typeof opts["--type"]=="string"?opts["--type"]:void 0,visibility:typeof opts["--visibility"]=="string"?opts["--visibility"]:void 0}),explicitType=typeOption.explicitVisibility,typeWasExplicit=explicitType!==void 0||!!opts["--sensitive"],telemetryClient=new EnvUpdateTelemetryClient({opts:{store:client.telemetryEventStore}});if(telemetryClient.trackCliArgumentName(envName),telemetryClient.trackCliArgumentEnvironment(args[1]),telemetryClient.trackCliArgumentGitBranch(args[2]),telemetryClient.trackCliOptionEnvironment(opts["--environment"]),telemetryClient.trackCliOptionGitBranch(opts["--git-branch"]),telemetryClient.trackCliFlagSensitive(opts["--sensitive"]),telemetryClient.trackCliFlagYes(opts["--yes"]),telemetryClient.trackCliOptionValue(valueFromFlag===void 0?void 0:"<redacted>"),telemetryClient.trackCliOptionType(typeof opts["--type"]=="string"?opts["--type"]:void 0),telemetryClient.trackCliOptionVisibility(typeof opts["--visibility"]=="string"?opts["--visibility"]:void 0),typeOption.error)return client.nonInteractive&&outputAgentError(client,{status:"error",reason:typeOption.errorReason??"invalid_type",message:typeOption.error},1),output_manager_default.fatal(typeOption.error),1;typeOption.usedDeprecatedVisibility&&printEnvUpdateWarning(ENV_VISIBILITY_DEPRECATION_MESSAGE);let envTargetInput=resolveEnvTargetInput(client,{environment:opts["--environment"],gitBranch:opts["--git-branch"],legacyEnvironment:args[1],legacyGitBranch:args[2]});if("error"in envTargetInput)return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"invalid_arguments",message:envTargetInput.error},2),output_manager_default.error(envTargetInput.error),2;let{environment:envTargetArg,gitBranch:envGitBranch}=envTargetInput;if(explicitType==="config"&&opts["--sensitive"]){let message="`--type config` cannot be used with `--sensitive`. Pick one.";return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"conflicting_type_flags",message},2),output_manager_default.fatal(message),2}if(args.length>3)return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"invalid_arguments",message:`Invalid number of arguments. Usage: \`${getCommandNamePlain(`env update <name> --environment ${getEnvTargetPlaceholder()} --git-branch <BRANCH>`)}\``},2),output_manager_default.error(`Invalid number of arguments. Usage: ${getCommandName(`env update <name> --environment ${getEnvTargetPlaceholder()} --git-branch <BRANCH>`)}`),2;if(stdInput&&(!envName||!envTargetArg))return output_manager_default.error(`Can't read the value from stdin without a name and --environment. Usage: ${getCommandName("env update <name> --environment <environment> --git-branch <BRANCH> < <file>")}`),2;if(client.nonInteractive){let missing=[];if(envName||missing.push("missing_name"),!stdInput&&valueFromFlag===void 0&&missing.push("missing_value"),missing.length>0){let parts=missing.map(m=>m==="missing_name"?"name":"--value or stdin"),targetPart=envTargetArg||getEnvTargetPlaceholder(),template=`env update ${envName||"<name>"} --environment ${targetPart}${envTargetArg==="preview"||envTargetArg==="development"?" --git-branch <BRANCH>":""} --value <value> --yes`;outputActionRequired(client,{status:"action_required",reason:"missing_requirements",missing,message:`Provide all required inputs for non-interactive mode: ${parts.join("; ")}. Example: ${getCommandNamePlain(template)}`,next:[{command:buildEnvUpdateCommandWithPreservedArgs(client.argv,template)}]},1)}}envTargetArg&&[].push(envTargetArg),envName||(client.nonInteractive?outputActionRequired(client,{status:"action_required",reason:"missing_name",message:"Provide the variable name as an argument. Example: vercel env update <name>",next:[{command:buildEnvUpdateCommandWithPreservedArgs(client.argv,`env update <name> --environment ${getEnvTargetPlaceholder()} --value <value> --yes`)}]},2):envName=await client.input.text({message:"What's the name of the variable to update?",validate:val=>val?!0:"Name cannot be empty"})),telemetryClient.trackCliOptionProject(opts["--project"]);let link=await resolveProjectContext({client,projectNameOrId:opts["--project"]});if(link.status==="error")return link.exitCode;if(link.status==="not_linked"){if(client.nonInteractive){let preserved=omitEnvValueArgs(getPreservedArgsForEnvUpdate(client.argv)).filter(a=>a!=="--yes"&&a!=="-y"),linkArgv=[...client.argv.slice(0,2),"link","--scope","<scope>",...getLinkSuggestionArgs(preserved)];outputAgentError(client,{status:"error",reason:"not_linked",message:`Your codebase isn't linked to a project on Vercel. Run ${getCommandNamePlain("link")} to begin. Use --yes for non-interactive; use --scope or --project to specify team or project.`,next:[{command:buildCommandWithYes(linkArgv)},{command:buildCommandWithYes(redactEnvValueArgs(client.argv))}]},1)}return output_manager_default.error(`Your codebase isn't linked to a project on Vercel. Run ${getCommandName("link")} to begin.`),1}client.config.currentTeam=link.org.type==="team"?link.org.id:void 0;let{project}=link,[{envs},customEnvironments]=await Promise.all([getEnvRecords(client,project.id,"vercel-cli:env:update"),getCustomEnvironments(client,project.id)]),normalizedEnvTargetArg=customEnvironments.find(({slug,id})=>slug===envTargetArg||id===envTargetArg)?.id||envTargetArg,matchingEnvs=envs.filter(r=>r.key===envName);if(matchingEnvs.length===0){let listArgs=`env ls ${getGlobalFlagsFromArgs(client.argv.slice(2),{preserveProject:!0}).join(" ")}`.trim();return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"env_not_found",message:`The variable ${envName} was not found. Run ${getCommandNamePlain(listArgs)} to see all available Environment Variables.`},1),output_manager_default.error(`The variable ${param(envName)} was not found. Run ${getCommandName(listArgs)} to see all available Environment Variables.`),1}let selectedEnv;if(envTargetArg||envGitBranch){let filteredEnvs=matchingEnvs.filter(env=>{let matchesTarget=!normalizedEnvTargetArg||(Array.isArray(env.target)?env.target.includes(normalizedEnvTargetArg):env.target===normalizedEnvTargetArg)||env.customEnvironmentIds&&env.customEnvironmentIds.includes(normalizedEnvTargetArg),matchesGitBranch=!envGitBranch||env.gitBranch===envGitBranch;return matchesTarget&&matchesGitBranch});if(filteredEnvs.length===0)return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"env_not_found",message:`No Environment Variable ${envName} found matching the specified environment and Git branch.`},1),output_manager_default.error(`No Environment Variable ${param(envName)} found matching the specified criteria.`),1;if(filteredEnvs.length===1)selectedEnv=filteredEnvs[0];else{client.nonInteractive&&outputActionRequired(client,{status:"action_required",reason:"multiple_envs",message:`Multiple Environment Variables match ${envName}. Specify --environment and/or --git-branch to update one.`,next:[{command:buildEnvUpdateCommandWithPreservedArgs(client.argv,`env update ${envName} --environment ${getEnvTargetPlaceholder()} --git-branch <BRANCH> --value "<value>" --yes`)}]},1);let choices=filteredEnvs.map((env,index)=>({name:formatEnvironments(link,env,customEnvironments),value:index})),selectedIndex=await client.input.select({message:`Multiple Environment Variables found for ${param(envName)}. Which one do you want to update?`,choices});selectedEnv=filteredEnvs[selectedIndex]}}else if(matchingEnvs.length===1)selectedEnv=matchingEnvs[0];else{client.nonInteractive&&outputActionRequired(client,{status:"action_required",reason:"multiple_envs",message:`Multiple Environment Variables match ${envName}. Specify --environment and/or --git-branch to update one.`,next:[{command:buildEnvUpdateCommandWithPreservedArgs(client.argv,`env update ${envName} --environment ${getEnvTargetPlaceholder()} --git-branch <BRANCH> --value "<value>" --yes`)}]},1);let choices=matchingEnvs.map((env,index)=>({name:formatEnvironments(link,env,customEnvironments),value:index})),selectedIndex=await client.input.select({message:`Multiple Environment Variables found for ${param(envName)}. Which one do you want to update?`,choices});selectedEnv=matchingEnvs[selectedIndex]}let customSveltePublicPrefix,apiPublicPrefix=getApiPublicPrefix(envName),frameworkPublicPrefix=getFrameworkPublicPrefix(project.framework,envName);if(project.framework==="sveltekit"||project.framework==="sveltekit-1"||project.framework==="sveltekit-2"){let matchingLocalPrefix=(await getLocalSvelteKitPublicPrefixes(link.repoRoot??client.cwd,project.rootDirectory))?.find(prefix=>envName.startsWith(prefix));matchingLocalPrefix!==void 0&&apiPublicPrefix===null&&frameworkPublicPrefix===null&&(customSveltePublicPrefix=matchingLocalPrefix)}let targets=Array.isArray(selectedEnv.target)?selectedEnv.target:[selectedEnv.target].filter(r=>!!r),allTargets=[...targets,...selectedEnv.customEnvironmentIds||[]],selectedEnvIsSecret=isSecretEnvVar(selectedEnv);if(explicitType==="config"&&selectedEnvIsSecret){let removeTargetArg=envTargetArg||targets[0]||allTargets[0]||getEnvTargetPlaceholder(),addTargetArg=formatTargetArg(allTargets,customEnvironments)||removeTargetArg,removeBranchArg=selectedEnv.gitBranch?` --git-branch ${quoteArg(selectedEnv.gitBranch)}`:"",addBranchArg=selectedEnv.gitBranch?` --git-branch ${quoteArg(selectedEnv.gitBranch)}`:"",globalFlags=getGlobalFlagsFromArgs(client.argv.slice(2),{preserveProject:!0}),humanGlobalFlags=globalFlags.filter(flag=>!flag.startsWith("--non-interactive")),globalSuffix=globalFlags.length>0?` ${globalFlags.map(quoteArg).join(" ")}`:"",humanGlobalSuffix=humanGlobalFlags.length>0?` ${humanGlobalFlags.map(quoteArg).join(" ")}`:"",removeCommand=getCommandNamePlain(`env remove ${envName} --environment ${removeTargetArg}${removeBranchArg} --yes${globalSuffix}`),addCommand=getCommandNamePlain(`env add ${envName} --environment ${addTargetArg}${addBranchArg} --type config --value "<value>" --yes${globalSuffix}`),removeHumanCommand=getCommandNamePlain(`env remove ${envName} --environment ${removeTargetArg}${removeBranchArg}${humanGlobalSuffix}`),addHumanCommand=getCommandNamePlain(`env add ${envName} --environment ${addTargetArg}${addBranchArg} --type config${humanGlobalSuffix}`),message="A Secret cannot be changed to Config. To store this value as Config, remove the variable and add it again with `--type config`.";return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"secret_cannot_become_config",message,next:[{command:removeCommand,when:"Remove the Secret from all of its environments"},{command:addCommand,when:"Add it again as Config; replace <value> before running"}]},1),output_manager_default.fatal(`A Secret cannot be changed to Config. Remove the variable, then add it again as Config. ${param(envName)} will be unavailable to new builds between these commands.`),output_manager_default.print(` Remove:
|
|
27
27
|
${removeHumanCommand}
|
|
28
28
|
`),output_manager_default.print(` Add as Config (prompts for the value):
|
|
@@ -37,4 +37,4 @@ import{require_dist as require_dist3}from"../../chunks/chunk-JELLVPCM.js";import
|
|
|
37
37
|
`),output_manager_default.print(` ${removePublicCommand}
|
|
38
38
|
`),1}}else!typeWasExplicit&&!opts["--yes"]&&!client.nonInteractive?await client.input.select({message:"Store this value as?",choices:[{name:getSecretStorageChoice(targets,"for this value"),value:"secret"},{name:"Config (can be revealed after saving)",value:"config"}]})==="secret"&&(type="sensitive",explicitType="secret"):typeWasExplicit||printEnvUpdateWarning("Re-run with `--type secret` to protect it.")}isFinalSecret()&&!selectedEnvIsSecret&&printEnvUpdateWarning("The previous value was readable as Config and may have been exposed. If this variable still holds the same credential, rotate it at its provider and update this variable again.");let finalPublicPrefix=apiPublicPrefix??frameworkPublicPrefix??customSveltePublicPrefix;if(isFinalSecret()&&finalPublicPrefix!==null&&finalPublicPrefix!==void 0&&printEnvUpdateWarning(finalPublicPrefix===""?"This SvelteKit project exposes every Environment Variable to the browser; the Secret type does not prevent that. Change the configured public prefix to keep values private.":`\`${finalPublicPrefix}\` exposes this variable to the browser; the Secret type does not prevent that. Rename the variable without the public prefix to keep it private.`),isFinalSecret()&&disjunctiveProductionSecretPolicyOn&&targets.includes("production")&&allTargets.some(target=>target!=="production")){let message="Your team requires Production and non-Production Secrets to be stored separately with different values. Create separate variables with different values before converting this one.";return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"production_secret_must_be_separate",message},1),output_manager_default.fatal(message),1}let preserveExistingVisibility=explicitType===void 0&&selectedEnv.visibility==="secret"&&type!=="sensitive",{visibility:resolvedVisibility,error:visibilityError}=resolveEnvVarVisibility({explicitVisibility:typeOption.source?explicitType:void 0,explicitOptionSource:typeOption.source,type,key:envName,envTargets:allTargets,teamSensitivePolicyOn,context:"update"}),visibility=preserveExistingVisibility?void 0:resolvedVisibility,displayVisibility=preserveExistingVisibility?selectedEnv.visibility:visibility;if(visibilityError)return client.nonInteractive&&outputAgentError(client,{status:"error",reason:"invalid_type",message:visibilityError},2),output_manager_default.fatal(visibilityError),2;if(!opts["--yes"]){let visibilityLabel2=formatVisibilityLabel(displayVisibility,type);if(client.nonInteractive&&outputActionRequired(client,{status:"action_required",reason:"confirmation_required",message:`Update ${envName} as ${visibilityLabel2} in ${formatEnvironments(link,selectedEnv,customEnvironments)}? Use --yes to confirm.`,next:[{command:buildCommandWithYes(redactEnvValueArgs(client.argv))}]},1),output_manager_default.print(`
|
|
39
39
|
`),printAlignedLabel("Project",`${link.org.slug}/${project.name}`),printAlignedLabel("Environments",formatEnvironments(link,selectedEnv,customEnvironments)),visibilityLabel2&&printAlignedLabel("Type",visibilityLabel2),!await client.input.confirm("Update this Environment Variable?",!1))return output_manager_default.log("Canceled"),0}try{output_manager_default.spinner("Updating");let keyToUpdate=isFinalSecret()?void 0:envName;await updateEnvRecord(client,project.id,selectedEnv.id,type,keyToUpdate,finalValue,allTargets,selectedEnv.gitBranch||"",visibility)}catch(err){if(client.nonInteractive&&isAPIError(err)){let productionSecretPolicyError=getProductionSecretPolicyErrorKind(err.serverMessage),reason=productionSecretPolicyError?productionSecretPolicyError==="different-values"?"production_secret_requires_different_value":"production_secret_must_be_separate":err.slug||(err.serverMessage?.toLowerCase().includes("branch")?"branch_not_found":"api_error");outputAgentError(client,{status:"error",reason,message:productionSecretPolicyError?`${err.serverMessage} ${getProductionSecretPolicyRecovery(productionSecretPolicyError)}`:err.serverMessage},1)}if(isAPIError(err)&&isKnownError(err))return output_manager_default.error(err.serverMessage),1;throw err}output_manager_default.print(`
|
|
40
|
-
`),printAlignedLabel("Updated",envName,{gutter:"\u2713"}),printAlignedLabel("Project",`${link.org.slug}/${project.name}`),printAlignedLabel("Environments",formatEnvironments(link,selectedEnv,customEnvironments));let visibilityLabel=formatVisibilityLabel(displayVisibility,type);return visibilityLabel&&printAlignedLabel("Type",visibilityLabel),0}var EnvTelemetryClient=class extends TelemetryClient{trackCliSubcommandList(actual){this.trackCliSubcommand({subcommand:"ls",value:actual})}trackCliSubcommandAdd(actual){this.trackCliSubcommand({subcommand:"add",value:actual})}trackCliSubcommandRemove(actual){this.trackCliSubcommand({subcommand:"rm",value:actual})}trackCliSubcommandPull(actual){this.trackCliSubcommand({subcommand:"pull",value:actual})}trackCliSubcommandRun(actual){this.trackCliSubcommand({subcommand:"run",value:actual})}trackCliSubcommandUpdate(actual){this.trackCliSubcommand({subcommand:"update",value:actual})}};var COMMAND_CONFIG={ls:getCommandAliases(listSubcommand),add:getCommandAliases(addSubcommand),rm:getCommandAliases(removeSubcommand),pull:getCommandAliases(pullSubcommand),run:getCommandAliases(runSubcommand),update:getCommandAliases(updateSubcommand)};async function main(client){let telemetry=new EnvTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(envCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(err){return printError(err),2}let subArgs=parsedArgs.args.slice(1),{subcommand,args,subcommandOriginal}=getSubcommand(subArgs,COMMAND_CONFIG),needHelp=parsedArgs.flags["--help"];if(!subcommand&&needHelp)return telemetry.trackCliFlagHelp("env",subcommand),output_manager_default.print(help(envCommand,{columns:client.stderr.columns})),0;function printHelp(command){output_manager_default.print(help(command,{parent:envCommand,columns:client.stderr.columns}))}let exitCode;switch(subcommand){case"ls":if(needHelp)return telemetry.trackCliFlagHelp("env",subcommandOriginal),printHelp(listSubcommand),0;telemetry.trackCliSubcommandList(subcommandOriginal),exitCode=await ls(client,args);break;case"add":if(needHelp)return telemetry.trackCliFlagHelp("env",subcommandOriginal),printHelp(addSubcommand),0;telemetry.trackCliSubcommandAdd(subcommandOriginal),exitCode=await add(client,args);break;case"rm":if(needHelp)return telemetry.trackCliFlagHelp("env",subcommandOriginal),printHelp(removeSubcommand),0;telemetry.trackCliSubcommandRemove(subcommandOriginal),exitCode=await rm(client,args);break;case"pull":if(needHelp)return telemetry.trackCliFlagHelp("env",subcommandOriginal),printHelp(pullSubcommand),0;telemetry.trackCliSubcommandPull(subcommandOriginal),exitCode=await pull(client,args);break;case"run":if(needsHelpForRun(client))return telemetry.trackCliFlagHelp("env",subcommandOriginal),printHelp(runSubcommand),0;telemetry.trackCliSubcommandRun(subcommandOriginal),exitCode=await run(client,telemetry);break;case"update":if(needHelp)return telemetry.trackCliFlagHelp("env",subcommandOriginal),printHelp(updateSubcommand),0;telemetry.trackCliSubcommandUpdate(subcommandOriginal),exitCode=await update(client,args);break;default:return output_manager_default.error(getInvalidSubcommand(COMMAND_CONFIG)),output_manager_default.print(help(envCommand,{columns:client.stderr.columns})),2}return exitCode}export{main as default};
|
|
40
|
+
`),printAlignedLabel("Updated",envName,{gutter:"\u2713"}),printAlignedLabel("Project",`${link.org.slug}/${project.name}`),printAlignedLabel("Environments",formatEnvironments(link,selectedEnv,customEnvironments));let visibilityLabel=formatVisibilityLabel(displayVisibility,type);return visibilityLabel&&printAlignedLabel("Type",visibilityLabel),0}var EnvTelemetryClient=class extends TelemetryClient{trackCliSubcommandList(actual){this.trackCliSubcommand({subcommand:"ls",value:actual})}trackCliSubcommandAdd(actual){this.trackCliSubcommand({subcommand:"add",value:actual})}trackCliSubcommandRemove(actual){this.trackCliSubcommand({subcommand:"rm",value:actual})}trackCliSubcommandPull(actual){this.trackCliSubcommand({subcommand:"pull",value:actual})}trackCliSubcommandRun(actual){this.trackCliSubcommand({subcommand:"run",value:actual})}trackCliSubcommandUpdate(actual){this.trackCliSubcommand({subcommand:"update",value:actual})}};var COMMAND_CONFIG={ls:getCommandAliases(listSubcommand),add:getCommandAliases(addSubcommand),rm:getCommandAliases(removeSubcommand),pull:getCommandAliases(pullSubcommand),run:getCommandAliases(runSubcommand),update:getCommandAliases(updateSubcommand)};async function main(client){let telemetry=new EnvTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(envCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(err){return printError(err),2}let subArgs=parsedArgs.args.slice(1),{subcommand,args,subcommandOriginal}=getSubcommand(subArgs,COMMAND_CONFIG),needHelp=parsedArgs.flags["--help"];if(!subcommand&&needHelp)return telemetry.trackCliFlagHelp("env",subcommand),output_manager_default.print(help(envCommand,{stream:client.stderr,columns:client.stderr.columns})),0;function printHelp(command){output_manager_default.print(help(command,{stream:client.stderr,parent:envCommand,columns:client.stderr.columns}))}let exitCode;switch(subcommand){case"ls":if(needHelp)return telemetry.trackCliFlagHelp("env",subcommandOriginal),printHelp(listSubcommand),0;telemetry.trackCliSubcommandList(subcommandOriginal),exitCode=await ls(client,args);break;case"add":if(needHelp)return telemetry.trackCliFlagHelp("env",subcommandOriginal),printHelp(addSubcommand),0;telemetry.trackCliSubcommandAdd(subcommandOriginal),exitCode=await add(client,args);break;case"rm":if(needHelp)return telemetry.trackCliFlagHelp("env",subcommandOriginal),printHelp(removeSubcommand),0;telemetry.trackCliSubcommandRemove(subcommandOriginal),exitCode=await rm(client,args);break;case"pull":if(needHelp)return telemetry.trackCliFlagHelp("env",subcommandOriginal),printHelp(pullSubcommand),0;telemetry.trackCliSubcommandPull(subcommandOriginal),exitCode=await pull(client,args);break;case"run":if(needsHelpForRun(client))return telemetry.trackCliFlagHelp("env",subcommandOriginal),printHelp(runSubcommand),0;telemetry.trackCliSubcommandRun(subcommandOriginal),exitCode=await run(client,telemetry);break;case"update":if(needHelp)return telemetry.trackCliFlagHelp("env",subcommandOriginal),printHelp(updateSubcommand),0;telemetry.trackCliSubcommandUpdate(subcommandOriginal),exitCode=await update(client,args);break;default:return output_manager_default.error(getInvalidSubcommand(COMMAND_CONFIG)),output_manager_default.print(help(envCommand,{stream:client.stderr,columns:client.stderr.columns})),2}return exitCode}export{main as default};
|
|
@@ -4,7 +4,7 @@ import { dirname as __dirname_ } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{promptExperimentalServicesMigration}from"../../chunks/chunk-
|
|
7
|
+
import{promptExperimentalServicesMigration}from"../../chunks/chunk-MLGQ233X.js";import"../../chunks/chunk-ZQUVDDPB.js";import"../../chunks/chunk-HVDGNAPM.js";import"../../chunks/chunk-OCR5CRTH.js";import{pull}from"../../chunks/chunk-GFD6UAAO.js";import"../../chunks/chunk-JWUXHL35.js";import"../../chunks/chunk-6Y2ZL5XJ.js";import"../../chunks/chunk-EQT2VHL2.js";import"../../chunks/chunk-25565AGS.js";import"../../chunks/chunk-I2WEQWCA.js";import"../../chunks/chunk-7YKFF6CE.js";import"../../chunks/chunk-36NK2Z3C.js";import"../../chunks/chunk-75JI2SZX.js";import"../../chunks/chunk-RWPQOJTT.js";import{ensureLink}from"../../chunks/chunk-JMLKK7RL.js";import"../../chunks/chunk-VAWZZK3Y.js";import"../../chunks/chunk-OKNDHNH6.js";import"../../chunks/chunk-PVASGBEF.js";import"../../chunks/chunk-SDOPVIKJ.js";import"../../chunks/chunk-7EJQLVWX.js";import"../../chunks/chunk-J24BABG4.js";import"../../chunks/chunk-U4Z2MMOF.js";import"../../chunks/chunk-JSAY52FE.js";import{getSubcommand}from"../../chunks/chunk-ETV3C2CV.js";import"../../chunks/chunk-P6ZTEDX2.js";import{getCommandAliases}from"../../chunks/chunk-WDUHDLUA.js";import"../../chunks/chunk-O7COT3YB.js";import"../../chunks/chunk-2FHZYQPY.js";import"../../chunks/chunk-M7LUSXMG.js";import"../../chunks/chunk-C6IITJ5S.js";import"../../chunks/chunk-TZT3VYZ3.js";import"../../chunks/chunk-HMWDOAWO.js";import"../../chunks/chunk-QNL22LAW.js";import"../../chunks/chunk-UWMPVTXG.js";import"../../chunks/chunk-5CZNUB7Y.js";import"../../chunks/chunk-AUY363W7.js";import"../../chunks/chunk-OTYF3ZZW.js";import"../../chunks/chunk-3H36RI7C.js";import"../../chunks/chunk-BGWS5R5R.js";import"../../chunks/chunk-UJQ6PBRF.js";import"../../chunks/chunk-LFOWP74R.js";import"../../chunks/chunk-GVPVWHFK.js";import"../../chunks/chunk-N5CXIFE2.js";import"../../chunks/chunk-FNA4MIOH.js";import"../../chunks/chunk-JALVF3C2.js";import"../../chunks/chunk-VWHIWUGJ.js";import{printError}from"../../chunks/chunk-VQ755MPP.js";import{help}from"../../chunks/chunk-SLDWAIO3.js";import"../../chunks/chunk-67GZ5REA.js";import"../../chunks/chunk-BS32OUOC.js";import"../../chunks/chunk-3G3FQYMW.js";import{TelemetryClient}from"../../chunks/chunk-5WYPJ2T5.js";import"../../chunks/chunk-2EYYB6YN.js";import{detectExplicitScope,getScope}from"../../chunks/chunk-WICRM2JL.js";import"../../chunks/chunk-MXTC4ZAQ.js";import"../../chunks/chunk-NWGBDBZI.js";import"../../chunks/chunk-XE24Y6NM.js";import{addSubcommand,linkCommand}from"../../chunks/chunk-EPO7P734.js";import{addRepoLink,ensureRepoLink,findRepoRoot,isPromptCanceledError,resolveProjectCwd}from"../../chunks/chunk-VLYVVC3P.js";import"../../chunks/chunk-26QK3I2S.js";import"../../chunks/chunk-55H6G46X.js";import"../../chunks/chunk-4NTBYNFR.js";import{parseArguments}from"../../chunks/chunk-F22QLVTX.js";import"../../chunks/chunk-F53OKXYI.js";import"../../chunks/chunk-7SAEZ4NC.js";import"../../chunks/chunk-LUX4PBJL.js";import"../../chunks/chunk-OPORM35X.js";import"../../chunks/chunk-4SAVH3H7.js";import"../../chunks/chunk-YCJHUYBJ.js";import{cmd}from"../../chunks/chunk-JESNVRVR.js";import{output_manager_default}from"../../chunks/chunk-DWOJP4ST.js";import"../../chunks/chunk-BLUPZPAS.js";import"../../chunks/chunk-RM3ZDRYE.js";import"../../chunks/chunk-D3AHZ5LI.js";import"../../chunks/chunk-2GHZGOWT.js";import"../../chunks/chunk-YHPPP3SF.js";import"../../chunks/chunk-OO572JUC.js";import"../../chunks/chunk-PUKYAALC.js";import{getFlagsSpecification}from"../../chunks/chunk-A2UZ2O7H.js";import"../../chunks/chunk-2BKALEOP.js";import{require_source}from"../../chunks/chunk-NB2WLB3J.js";import"../../chunks/chunk-ISWW3DKF.js";import"../../chunks/chunk-BRQUZ5NC.js";import"../../chunks/chunk-SCV7XEEO.js";import"../../chunks/chunk-MY4MONOH.js";import{__toESM}from"../../chunks/chunk-BZENIQ7N.js";var import_chalk=__toESM(require_source(),1);import{join}from"path";var LinkTelemetryClient=class extends TelemetryClient{trackCliArgumentCwd(){this.trackCliArgument({arg:"cwd",value:this.redactedValue})}trackCliFlagRepo(flag){flag&&this.trackCliFlag("repo")}trackCliFlagYes(yes){yes&&this.trackCliFlag("yes")}trackCliFlagConfirm(flag){flag&&this.trackCliFlag("confirm")}trackCliOptionTeam(value){value&&this.trackCliOption({option:"team",value:this.redactedValue})}trackCliOptionProjectId(value){value&&this.trackCliOption({option:"project-id",value:this.redactedValue})}trackCliSubcommandAdd(actual){this.trackCliSubcommand({subcommand:"add",value:actual})}};var COMMAND_CONFIG={add:getCommandAliases(addSubcommand)};function warnOidcRefreshFailed(){output_manager_default.print(`${import_chalk.default.yellow("!")} Linked project, but failed to refresh VERCEL_OIDC_TOKEN in .env.local. Rerun the link command to retry.
|
|
8
8
|
`)}async function refreshOidcTokenAfterLink(client,cwd){let originalCwd=client.cwd;try{client.cwd=await resolveProjectCwd(cwd),output_manager_default.print(`
|
|
9
9
|
`),await pull(client,["--yes"],"vercel-cli:link",{oidcTokenOnly:!0})!==0&&warnOidcRefreshFailed()}catch{warnOidcRefreshFailed()}finally{client.cwd=originalCwd}}async function link(client){try{return await client.withEscapePromptCancellation(()=>linkProject(client))}catch(error){if(isPromptCanceledError(error))return output_manager_default.print(` Canceled.
|
|
10
|
-
`),0;throw error}}async function linkProject(client){let parsedArgs=null,flagsSpecification=getFlagsSpecification(linkCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(error){return printError(error),2}let{subcommand,subcommandOriginal}=getSubcommand(parsedArgs.args.slice(1),COMMAND_CONFIG),telemetry=new LinkTelemetryClient({opts:{store:client.telemetryEventStore}});function printHelp(command){output_manager_default.print(help(command,{parent:linkCommand,columns:client.stderr.columns}))}if(subcommand==="add"){if(parsedArgs.flags["--help"])return telemetry.trackCliFlagHelp("link",subcommandOriginal),printHelp(addSubcommand),0;telemetry.trackCliSubcommandAdd(subcommandOriginal);let yes2=!!parsedArgs.flags["--yes"];try{await addRepoLink(client,client.cwd,{yes:yes2})}catch(err){if(isPromptCanceledError(err))throw err;return output_manager_default.prettyError(err),1}return 0}try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error){return printError(error),2}if(parsedArgs.flags["--help"])return telemetry.trackCliFlagHelp("link"),output_manager_default.print(help(linkCommand,{columns:client.stderr.columns})),0;telemetry.trackCliFlagRepo(parsedArgs.flags["--repo"]),telemetry.trackCliFlagYes(parsedArgs.flags["--yes"]),telemetry.trackCliOptionProject(parsedArgs.flags["--project"]),"--confirm"in parsedArgs.flags&&(telemetry.trackCliFlagConfirm(parsedArgs.flags["--confirm"]),output_manager_default.warn("`--confirm` is deprecated, please use `--yes` instead"),parsedArgs.flags["--yes"]=parsedArgs.flags["--confirm"]);let yes=!!parsedArgs.flags["--yes"],cwd=parsedArgs.args[1];if(cwd?(telemetry.trackCliArgumentCwd(),output_manager_default.warn(`The ${cmd("vc link <directory>")} syntax is deprecated, please use ${cmd(`vc link --cwd ${cwd}`)} instead`)):cwd=client.cwd,parsedArgs.flags["--repo"]){output_manager_default.warn(`The ${cmd("--repo")}
|
|
10
|
+
`),0;throw error}}async function linkProject(client){let parsedArgs=null,flagsSpecification=getFlagsSpecification(linkCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(error){return printError(error),2}let{subcommand,subcommandOriginal}=getSubcommand(parsedArgs.args.slice(1),COMMAND_CONFIG),telemetry=new LinkTelemetryClient({opts:{store:client.telemetryEventStore}});function printHelp(command){output_manager_default.print(help(command,{stream:client.stderr,parent:linkCommand,columns:client.stderr.columns}))}if(subcommand==="add"){if(parsedArgs.flags["--help"])return telemetry.trackCliFlagHelp("link",subcommandOriginal),printHelp(addSubcommand),0;telemetry.trackCliSubcommandAdd(subcommandOriginal);let yes2=!!parsedArgs.flags["--yes"];try{await addRepoLink(client,client.cwd,{yes:yes2})}catch(err){if(isPromptCanceledError(err))throw err;return output_manager_default.prettyError(err),1}return 0}try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error){return printError(error),2}if(parsedArgs.flags["--help"])return telemetry.trackCliFlagHelp("link"),output_manager_default.print(help(linkCommand,{stream:client.stderr,columns:client.stderr.columns})),0;telemetry.trackCliFlagRepo(parsedArgs.flags["--repo"]),telemetry.trackCliFlagYes(parsedArgs.flags["--yes"]),telemetry.trackCliOptionProject(parsedArgs.flags["--project"]),"--confirm"in parsedArgs.flags&&(telemetry.trackCliFlagConfirm(parsedArgs.flags["--confirm"]),output_manager_default.warn("`--confirm` is deprecated, please use `--yes` instead"),parsedArgs.flags["--yes"]=parsedArgs.flags["--confirm"]);let yes=!!parsedArgs.flags["--yes"],cwd=parsedArgs.args[1];if(cwd?(telemetry.trackCliArgumentCwd(),output_manager_default.warn(`The ${cmd("vc link <directory>")} syntax is deprecated, please use ${cmd(`vc link --cwd ${cwd}`)} instead`)):cwd=client.cwd,parsedArgs.flags["--repo"]){output_manager_default.warn(`The ${cmd("--repo")} option is in alpha, please report issues`);try{await ensureRepoLink(client,cwd,{yes,overwrite:!0})}catch(err){if(isPromptCanceledError(err))throw err;return output_manager_default.prettyError(err),1}}else{let selectedOrg=detectExplicitScope(client)?(await getScope(client,{resolveLocalScope:!0})).org:void 0,linkNonInteractive=client.nonInteractive||client.argv.includes("--non-interactive"),link2=await ensureLink("link",client,cwd,{autoConfirm:yes,forceDelete:!0,selectedOrg,projectName:parsedArgs.flags["--project"],successEmoji:"success",nonInteractive:linkNonInteractive,pullEnv:!1});if(typeof link2=="number")return link2;let projectCwd=await resolveProjectCwd(cwd),rootDirectory=link2.project.rootDirectory,repoRoot=link2.repoRoot??(rootDirectory?await findRepoRoot(projectCwd):void 0);await promptExperimentalServicesMigration({client,cwd:rootDirectory?join(repoRoot??projectCwd,rootDirectory):link2.repoRoot??projectCwd,autoConfirm:yes,nonInteractive:linkNonInteractive,allowConfigExecution:!1}),await refreshOidcTokenAfterLink(client,cwd)}return 0}export{link as default};
|
|
@@ -4,7 +4,7 @@ import { dirname as __dirname_ } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{parseMeta}from"../../chunks/chunk-CZSOZKHX.js";import{formatEnvironment}from"../../chunks/chunk-JLEJB6KM.js";import{isValidName}from"../../chunks/chunk-PADL3C6Z.js";import{InvalidNextError,getPaginationOpts}from"../../chunks/chunk-C6GY2G73.js";import{elapsed}from"../../chunks/chunk-Q7D7RGXM.js";import{parseTarget,warnDeprecatedProdFlag}from"../../chunks/chunk-7QAGSRCU.js";import"../../chunks/chunk-7YKFF6CE.js";import{formatProject}from"../../chunks/chunk-6OVX3PWM.js";import{getDeployment,toHost}from"../../chunks/chunk-R6BEOVTU.js";import"../../chunks/chunk-HCRD3JFL.js";import{getCommandFlags}from"../../chunks/chunk-XGTKHQTT.js";import{printNextPageCommand}from"../../chunks/chunk-VNIKIQVE.js";import{validateLsArgs}from"../../chunks/chunk-KW6GSQXV.js";import{listCommand}from"../../chunks/chunk-FSPPKNKN.js";import{help}from"../../chunks/chunk-FLHO75XC.js";import{table}from"../../chunks/chunk-773GOZIR.js";import{printError}from"../../chunks/chunk-HSFKISDH.js";import"../../chunks/chunk-67GZ5REA.js";import"../../chunks/chunk-BS32OUOC.js";import{TelemetryClient}from"../../chunks/chunk-6YXIWZ3X.js";import"../../chunks/chunk-PUKYAALC.js";import{getContextName}from"../../chunks/chunk-K5U47EVH.js";import{require_ms}from"../../chunks/chunk-MXTC4ZAQ.js";import"../../chunks/chunk-NWGBDBZI.js";import{exitWithNonInteractiveError}from"../../chunks/chunk-WDXW6A4H.js";import"../../chunks/chunk-DKJL2KV7.js";import{getLinkFromDir,getLinkedProject,getProjectByNameOrId,getVercelDirectory,sleep}from"../../chunks/chunk-4N6LMERQ.js";import"../../chunks/chunk-ADLBLGT3.js";import"../../chunks/chunk-CWM2F235.js";import"../../chunks/chunk-4NTBYNFR.js";import{parseArguments}from"../../chunks/chunk-KCKYPLIH.js";import"../../chunks/chunk-F53OKXYI.js";import{getFlagsSpecification,validateJsonOutput}from"../../chunks/chunk-QVXS234E.js";import"../../chunks/chunk-FUX6LKNP.js";import"../../chunks/chunk-OPORM35X.js";import"../../chunks/chunk-4SAVH3H7.js";import{ProjectNotFound}from"../../chunks/chunk-6VH56CX2.js";import{getCommandName,getCommandNamePlain,require_lib}from"../../chunks/chunk-JESNVRVR.js";import{output_manager_default,require_build_utils}from"../../chunks/chunk-XP3FT56R.js";import"../../chunks/chunk-BLUPZPAS.js";import{require_dist}from"../../chunks/chunk-RM3ZDRYE.js";import"../../chunks/chunk-OO572JUC.js";import"../../chunks/chunk-D3AHZ5LI.js";import"../../chunks/chunk-2GHZGOWT.js";import"../../chunks/chunk-YHPPP3SF.js";import{require_source}from"../../chunks/chunk-NB2WLB3J.js";import"../../chunks/chunk-ISWW3DKF.js";import"../../chunks/chunk-BRQUZ5NC.js";import{__toESM}from"../../chunks/chunk-BZENIQ7N.js";var import_ms=__toESM(require_ms(),1),import_chalk=__toESM(require_source(),1),import_title=__toESM(require_lib(),1);function parsePolicy(policy){if(!policy)return{};typeof policy=="string"&&(policy=[policy]);let parsed={};for(let item of policy){let[key,...rest]=item.split("=");parsed[key]=rest.join("=")}return parsed}var import_error_utils=__toESM(require_dist(),1);var import_build_utils=__toESM(require_build_utils(),1);async function getLinkedProjectWithDeployments(client,getQuery){let early;if(getQuery){let localLink=await readLocalLink(client.cwd);localLink&&(early=requestDeployments(client,localLink,getQuery(localLink.projectId)))}let link;try{link=await getLinkedProject(client,{cwd:client.cwd})}catch(err){throw early?.cancel(),err}return early&&link.status==="linked"&&link.project.id===early.projectId&&link.org.id===early.orgId?{link,deployments:{pages:early.pages(),sentAt:early.sentAt}}:(early?.cancel(),{link})}async function readLocalLink(cwd){let orgId=(0,import_build_utils.getPlatformEnv)("ORG_ID"),projectId=(0,import_build_utils.getPlatformEnv)("PROJECT_ID");if(orgId||projectId)return orgId&&projectId?{orgId,projectId}:null;try{return await getLinkFromDir(getVercelDirectory(cwd))}catch{return null}}function requestDeployments(client,{orgId,projectId},query){query.set("teamId",orgId);let url=`/v6/deployments?${query}`,controller=new AbortController,sentAt=Date.now(),first=client.fetch(url,{signal:controller.signal,retry:{retries:0}}).catch(()=>null);return{orgId,projectId,sentAt,async*pages(){let page=await first;if(!page){yield*client.fetchPaginated(url);return}yield page;let next=page.pagination?.next;if(next){await sleep(100);let rest=new URLSearchParams(query);rest.set("until",String(next)),yield*client.fetchPaginated(`/v6/deployments?${rest}`)}},cancel(){controller.abort()}}}var ListTelemetryClient=class extends TelemetryClient{trackCliFlagAll(all){all&&this.trackCliFlag("all")}trackCliOptionMeta(meta){meta&&meta.length>0&&this.trackCliOption({option:"meta",value:this.redactedValue})}trackCliOptionPolicy(policy){policy&&policy.length>0&&this.trackCliOption({option:"policy",value:this.redactedValue})}trackCliOptionEnvironment(environment){environment&&this.trackCliOption({option:"environment",value:this.redactedTargetName(environment)})}trackCliOptionNext(next){next&&this.trackCliOption({option:"next",value:this.redactedValue})}trackCliOptionLimit(limit){limit&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliFlagProd(flag){flag&&this.trackCliFlag("prod")}trackCliFlagYes(flag){flag&&this.trackCliFlag("yes")}trackCliFlagConfirm(flag){flag&&this.trackCliFlag("confirm")}trackCliOptionStatus(status){status&&this.trackCliOption({option:"status",value:this.redactedValue})}trackCliArgumentApp(app){app&&this.trackCliArgument({arg:"app",value:this.redactedValue})}trackCliFlagJson(json){json&&this.trackCliFlag("json")}};function toDate(timestamp){let date=new Date(timestamp),options={year:"2-digit",month:"2-digit",day:"2-digit"};return date.toLocaleDateString("en-US",options)}async function list(client){let{print,log,warn,error,note,debug,spinner}=output_manager_default,parsedArgs=null,flagsSpecification=getFlagsSpecification(listCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error2){return printError(error2),2}let telemetry=new ListTelemetryClient({opts:{store:client.telemetryEventStore}});if(parsedArgs.flags["--help"])return telemetry.trackCliFlagHelp("list"),print(help(listCommand,{columns:client.stderr.columns})),0;let validationResult=validateLsArgs({commandName:"ls [app]",args:parsedArgs.args,maxArgs:2,exitCode:2});if(validationResult!==0)return validationResult;let formatResult=validateJsonOutput(parsedArgs.flags);if(!formatResult.valid)return error(formatResult.error),2;let asJson=formatResult.jsonOutput;telemetry.trackCliFlagAll(parsedArgs.flags["--all"]),telemetry.trackCliFlagProd(parsedArgs.flags["--prod"]),telemetry.trackCliFlagYes(parsedArgs.flags["--yes"]),telemetry.trackCliOptionEnvironment(parsedArgs.flags["--environment"]),telemetry.trackCliOptionMeta(parsedArgs.flags["--meta"]),telemetry.trackCliOptionNext(parsedArgs.flags["--next"]),telemetry.trackCliOptionLimit(parsedArgs.flags["--limit"]),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]),telemetry.trackCliOptionPolicy(parsedArgs.flags["--policy"]),telemetry.trackCliOptionStatus(parsedArgs.flags["--status"]),"--confirm"in parsedArgs.flags&&(telemetry.trackCliFlagConfirm(parsedArgs.flags["--confirm"]),warn("`--confirm` is deprecated, please use `--yes` instead"),parsedArgs.flags["--yes"]=parsedArgs.flags["--confirm"]);let meta=parseMeta(parsedArgs.flags["--meta"]),policy=parsePolicy(parsedArgs.flags["--policy"]);warnDeprecatedProdFlag(client,parsedArgs.flags);let target=parseTarget({flagName:"environment",flags:parsedArgs.flags}),statusFlag=parsedArgs.flags["--status"],status;if(statusFlag){let validStatuses=["BUILDING","ERROR","INITIALIZING","QUEUED","READY","CANCELED","BLOCKED"],statusValues=statusFlag.split(",").map(s=>s.trim().toUpperCase()),invalidStatuses=statusValues.filter(s=>!validStatuses.includes(s));if(invalidStatuses.length>0)return error(`Invalid status values: ${invalidStatuses.join(", ")}. Valid values are: ${validStatuses.join(", ")}`),1;status=statusValues.join(",")}let paginationError,nextTimestamp,limitFlag;try{[nextTimestamp,limitFlag]=getPaginationOpts(parsedArgs.flags)}catch(err){paginationError=err}let limit=limitFlag??20,getDeploymentsQuery=projectId=>{let query=new URLSearchParams({limit:String(limit)});projectId&&query.set("projectId",projectId);for(let[k,v]of Object.entries(meta))query.set(`meta-${k}`,v);for(let[k,v]of Object.entries(policy))query.set(`policy-${k}`,v);return nextTimestamp&&query.set("until",String(nextTimestamp)),target&&query.set("target",target),status&&query.set("state",status),query},project,pagination,contextName="",app=parsedArgs.args[1],deployments=[],singleDeployment=!1,linkedDeployments,allFlag=parsedArgs.flags["--all"],showAllProjects=!1;if(allFlag&&app)return error("Cannot use --all flag with a project argument"),2;if(app){if(!isValidName(app))return error(`The provided argument "${app}" is not a valid project name`),2;if(telemetry.trackCliArgumentApp(app),app.includes(".")){try{contextName=await getContextName(client)}catch(err){if((0,import_error_utils.isErrnoException)(err)&&(err.code==="NOT_AUTHORIZED"||err.code==="TEAM_DELETED"))return error(err.message),1}if(!contextName)return error("No context name found"),1;let host=toHost(app),deployment=await getDeployment(client,contextName,host);if(!deployment.projectId)return error(`Could not find a deployment for "${host}"`),1;app=deployment.projectId,note(`We suggest using ${getCommandName("inspect <deployment>")} for retrieving details about a single deployment`),deployments.push(deployment),singleDeployment=!0}let p=await getProjectByNameOrId(client,app);if(p instanceof ProjectNotFound)return exitWithNonInteractiveError(client,p,1,{variant:"list",projectName:app}),error(`The provided argument "${app}" is not a valid project name`),1;project=p}else if(allFlag)showAllProjects=!0;else{let linked=await getLinkedProjectWithDeployments(client,paginationError===void 0?getDeploymentsQuery:void 0),{link}=linked;if(linkedDeployments=linked.deployments,link.status==="error")return link.exitCode;link.status==="linked"?(project=link.project,client.config.currentTeam=link.org.id):showAllProjects=!0}if(!contextName)try{contextName=await getContextName(client)}catch(err){if((0,import_error_utils.isErrnoException)(err)&&(err.code==="NOT_AUTHORIZED"||err.code==="TEAM_DELETED"))return error(err.message),1}if(paginationError!==void 0)return printError(paginationError),paginationError instanceof InvalidNextError?2:1;let projectSlugLink=project?formatProject(contextName,project.name):null;if(!singleDeployment){asJson||spinner(`Fetching deployments in ${import_chalk.default.bold(contextName)}`);let start=linkedDeployments?.sentAt??Date.now();debug("Fetching deployments");let pages=linkedDeployments?.pages??client.fetchPaginated(`/v6/deployments?${getDeploymentsQuery(project?.id)}`);for await(let chunk of pages)if(deployments.push(...chunk.deployments),pagination=chunk.pagination,deployments.length>=limit)break;if(deployments.length=Math.min(deployments.length,limit),!deployments.length){if(asJson){let jsonOutput={deployments:[],pagination,contextName};client.stdout.write(`${JSON.stringify(jsonOutput,null,2)}
|
|
7
|
+
import{parseMeta}from"../../chunks/chunk-CZSOZKHX.js";import{parseTarget,warnDeprecatedProdFlag}from"../../chunks/chunk-EQT2VHL2.js";import{formatEnvironment}from"../../chunks/chunk-QHM6OK76.js";import"../../chunks/chunk-7YKFF6CE.js";import{formatProject}from"../../chunks/chunk-75JI2SZX.js";import{isValidName}from"../../chunks/chunk-PADL3C6Z.js";import{getDeployment,toHost}from"../../chunks/chunk-VAWZZK3Y.js";import"../../chunks/chunk-OKNDHNH6.js";import{InvalidNextError,getPaginationOpts}from"../../chunks/chunk-C6GY2G73.js";import{getCommandFlags}from"../../chunks/chunk-XGTKHQTT.js";import{printNextPageCommand}from"../../chunks/chunk-KHADRPBJ.js";import{validateLsArgs}from"../../chunks/chunk-XTKGBVSF.js";import{table}from"../../chunks/chunk-5SIC5273.js";import{elapsed}from"../../chunks/chunk-Q7D7RGXM.js";import{listCommand}from"../../chunks/chunk-GVPVWHFK.js";import{printError}from"../../chunks/chunk-VQ755MPP.js";import{help}from"../../chunks/chunk-SLDWAIO3.js";import"../../chunks/chunk-67GZ5REA.js";import"../../chunks/chunk-BS32OUOC.js";import{TelemetryClient}from"../../chunks/chunk-5WYPJ2T5.js";import"../../chunks/chunk-2EYYB6YN.js";import{getContextName}from"../../chunks/chunk-WICRM2JL.js";import{require_ms}from"../../chunks/chunk-MXTC4ZAQ.js";import"../../chunks/chunk-NWGBDBZI.js";import{exitWithNonInteractiveError}from"../../chunks/chunk-XE24Y6NM.js";import"../../chunks/chunk-EPO7P734.js";import{getLinkFromDir,getLinkedProject,getProjectByNameOrId,getVercelDirectory,sleep}from"../../chunks/chunk-VLYVVC3P.js";import"../../chunks/chunk-26QK3I2S.js";import"../../chunks/chunk-55H6G46X.js";import"../../chunks/chunk-4NTBYNFR.js";import{parseArguments}from"../../chunks/chunk-F22QLVTX.js";import"../../chunks/chunk-F53OKXYI.js";import{validateJsonOutput}from"../../chunks/chunk-7SAEZ4NC.js";import"../../chunks/chunk-LUX4PBJL.js";import"../../chunks/chunk-OPORM35X.js";import"../../chunks/chunk-4SAVH3H7.js";import{ProjectNotFound}from"../../chunks/chunk-YCJHUYBJ.js";import{getCommandName,getCommandNamePlain,require_lib}from"../../chunks/chunk-JESNVRVR.js";import{output_manager_default,require_build_utils}from"../../chunks/chunk-DWOJP4ST.js";import"../../chunks/chunk-BLUPZPAS.js";import{require_dist}from"../../chunks/chunk-RM3ZDRYE.js";import"../../chunks/chunk-D3AHZ5LI.js";import"../../chunks/chunk-2GHZGOWT.js";import"../../chunks/chunk-YHPPP3SF.js";import"../../chunks/chunk-OO572JUC.js";import"../../chunks/chunk-PUKYAALC.js";import{getFlagsSpecification}from"../../chunks/chunk-A2UZ2O7H.js";import"../../chunks/chunk-2BKALEOP.js";import{require_source}from"../../chunks/chunk-NB2WLB3J.js";import"../../chunks/chunk-ISWW3DKF.js";import"../../chunks/chunk-BRQUZ5NC.js";import"../../chunks/chunk-MY4MONOH.js";import{__toESM}from"../../chunks/chunk-BZENIQ7N.js";var import_ms=__toESM(require_ms(),1),import_chalk=__toESM(require_source(),1),import_title=__toESM(require_lib(),1);function parsePolicy(policy){if(!policy)return{};typeof policy=="string"&&(policy=[policy]);let parsed={};for(let item of policy){let[key,...rest]=item.split("=");parsed[key]=rest.join("=")}return parsed}var import_error_utils=__toESM(require_dist(),1);var import_build_utils=__toESM(require_build_utils(),1);async function getLinkedProjectWithDeployments(client,getQuery){let early;if(getQuery){let localLink=await readLocalLink(client.cwd);localLink&&(early=requestDeployments(client,localLink,getQuery(localLink.projectId)))}let link;try{link=await getLinkedProject(client,{cwd:client.cwd})}catch(err){throw early?.cancel(),err}return early&&link.status==="linked"&&link.project.id===early.projectId&&link.org.id===early.orgId?{link,deployments:{pages:early.pages(),sentAt:early.sentAt}}:(early?.cancel(),{link})}async function readLocalLink(cwd){let orgId=(0,import_build_utils.getPlatformEnv)("ORG_ID"),projectId=(0,import_build_utils.getPlatformEnv)("PROJECT_ID");if(orgId||projectId)return orgId&&projectId?{orgId,projectId}:null;try{return await getLinkFromDir(getVercelDirectory(cwd))}catch{return null}}function requestDeployments(client,{orgId,projectId},query){query.set("teamId",orgId);let url=`/v6/deployments?${query}`,controller=new AbortController,sentAt=Date.now(),first=client.fetch(url,{signal:controller.signal,retry:{retries:0}}).catch(()=>null);return{orgId,projectId,sentAt,async*pages(){let page=await first;if(!page){yield*client.fetchPaginated(url);return}yield page;let next=page.pagination?.next;if(next){await sleep(100);let rest=new URLSearchParams(query);rest.set("until",String(next)),yield*client.fetchPaginated(`/v6/deployments?${rest}`)}},cancel(){controller.abort()}}}var ListTelemetryClient=class extends TelemetryClient{trackCliFlagAll(all){all&&this.trackCliFlag("all")}trackCliOptionMeta(meta){meta&&meta.length>0&&this.trackCliOption({option:"meta",value:this.redactedValue})}trackCliOptionPolicy(policy){policy&&policy.length>0&&this.trackCliOption({option:"policy",value:this.redactedValue})}trackCliOptionEnvironment(environment){environment&&this.trackCliOption({option:"environment",value:this.redactedTargetName(environment)})}trackCliOptionNext(next){next&&this.trackCliOption({option:"next",value:this.redactedValue})}trackCliOptionLimit(limit){limit&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliFlagProd(flag){flag&&this.trackCliFlag("prod")}trackCliFlagYes(flag){flag&&this.trackCliFlag("yes")}trackCliFlagConfirm(flag){flag&&this.trackCliFlag("confirm")}trackCliOptionStatus(status){status&&this.trackCliOption({option:"status",value:this.redactedValue})}trackCliArgumentApp(app){app&&this.trackCliArgument({arg:"app",value:this.redactedValue})}trackCliFlagJson(json){json&&this.trackCliFlag("json")}};function toDate(timestamp){let date=new Date(timestamp),options={year:"2-digit",month:"2-digit",day:"2-digit"};return date.toLocaleDateString("en-US",options)}async function list(client){let{print,log,warn,error,note,debug,spinner}=output_manager_default,parsedArgs=null,flagsSpecification=getFlagsSpecification(listCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error2){return printError(error2),2}let telemetry=new ListTelemetryClient({opts:{store:client.telemetryEventStore}});if(parsedArgs.flags["--help"])return telemetry.trackCliFlagHelp("list"),print(help(listCommand,{stream:client.stderr,columns:client.stderr.columns})),0;let validationResult=validateLsArgs({commandName:"ls [app]",args:parsedArgs.args,maxArgs:2,exitCode:2});if(validationResult!==0)return validationResult;let formatResult=validateJsonOutput(parsedArgs.flags);if(!formatResult.valid)return error(formatResult.error),2;let asJson=formatResult.jsonOutput;telemetry.trackCliFlagAll(parsedArgs.flags["--all"]),telemetry.trackCliFlagProd(parsedArgs.flags["--prod"]),telemetry.trackCliFlagYes(parsedArgs.flags["--yes"]),telemetry.trackCliOptionEnvironment(parsedArgs.flags["--environment"]),telemetry.trackCliOptionMeta(parsedArgs.flags["--meta"]),telemetry.trackCliOptionNext(parsedArgs.flags["--next"]),telemetry.trackCliOptionLimit(parsedArgs.flags["--limit"]),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]),telemetry.trackCliOptionPolicy(parsedArgs.flags["--policy"]),telemetry.trackCliOptionStatus(parsedArgs.flags["--status"]),"--confirm"in parsedArgs.flags&&(telemetry.trackCliFlagConfirm(parsedArgs.flags["--confirm"]),warn("`--confirm` is deprecated, please use `--yes` instead"),parsedArgs.flags["--yes"]=parsedArgs.flags["--confirm"]);let meta=parseMeta(parsedArgs.flags["--meta"]),policy=parsePolicy(parsedArgs.flags["--policy"]);warnDeprecatedProdFlag(client,parsedArgs.flags);let target=parseTarget({flagName:"environment",flags:parsedArgs.flags}),statusFlag=parsedArgs.flags["--status"],status;if(statusFlag){let validStatuses=["BUILDING","ERROR","INITIALIZING","QUEUED","READY","CANCELED","BLOCKED"],statusValues=statusFlag.split(",").map(s=>s.trim().toUpperCase()),invalidStatuses=statusValues.filter(s=>!validStatuses.includes(s));if(invalidStatuses.length>0)return error(`Invalid status values: ${invalidStatuses.join(", ")}. Valid values are: ${validStatuses.join(", ")}`),1;status=statusValues.join(",")}let paginationError,nextTimestamp,limitFlag;try{[nextTimestamp,limitFlag]=getPaginationOpts(parsedArgs.flags)}catch(err){paginationError=err}let limit=limitFlag??20,getDeploymentsQuery=projectId=>{let query=new URLSearchParams({limit:String(limit)});projectId&&query.set("projectId",projectId);for(let[k,v]of Object.entries(meta))query.set(`meta-${k}`,v);for(let[k,v]of Object.entries(policy))query.set(`policy-${k}`,v);return nextTimestamp&&query.set("until",String(nextTimestamp)),target&&query.set("target",target),status&&query.set("state",status),query},project,pagination,contextName="",app=parsedArgs.args[1],deployments=[],singleDeployment=!1,linkedDeployments,allFlag=parsedArgs.flags["--all"],showAllProjects=!1;if(allFlag&&app)return error("Cannot use --all option with a project argument"),2;if(app){if(!isValidName(app))return error(`The provided argument "${app}" is not a valid project name`),2;if(telemetry.trackCliArgumentApp(app),app.includes(".")){try{contextName=await getContextName(client)}catch(err){if((0,import_error_utils.isErrnoException)(err)&&(err.code==="NOT_AUTHORIZED"||err.code==="TEAM_DELETED"))return error(err.message),1}if(!contextName)return error("No context name found"),1;let host=toHost(app),deployment=await getDeployment(client,contextName,host);if(!deployment.projectId)return error(`Could not find a deployment for "${host}"`),1;app=deployment.projectId,note(`We suggest using ${getCommandName("inspect <deployment>")} for retrieving details about a single deployment`),deployments.push(deployment),singleDeployment=!0}let p=await getProjectByNameOrId(client,app);if(p instanceof ProjectNotFound)return exitWithNonInteractiveError(client,p,1,{variant:"list",projectName:app}),error(`The provided argument "${app}" is not a valid project name`),1;project=p}else if(allFlag)showAllProjects=!0;else{let linked=await getLinkedProjectWithDeployments(client,paginationError===void 0?getDeploymentsQuery:void 0),{link}=linked;if(linkedDeployments=linked.deployments,link.status==="error")return link.exitCode;link.status==="linked"?(project=link.project,client.config.currentTeam=link.org.id):showAllProjects=!0}if(!contextName)try{contextName=await getContextName(client)}catch(err){if((0,import_error_utils.isErrnoException)(err)&&(err.code==="NOT_AUTHORIZED"||err.code==="TEAM_DELETED"))return error(err.message),1}if(paginationError!==void 0)return printError(paginationError),paginationError instanceof InvalidNextError?2:1;let projectSlugLink=project?formatProject(contextName,project.name):null;if(!singleDeployment){asJson||spinner(`Fetching deployments in ${import_chalk.default.bold(contextName)}`);let start=linkedDeployments?.sentAt??Date.now();debug("Fetching deployments");let pages=linkedDeployments?.pages??client.fetchPaginated(`/v6/deployments?${getDeploymentsQuery(project?.id)}`);for await(let chunk of pages)if(deployments.push(...chunk.deployments),pagination=chunk.pagination,deployments.length>=limit)break;if(deployments.length=Math.min(deployments.length,limit),!deployments.length){if(asJson){let jsonOutput={deployments:[],pagination,contextName};client.stdout.write(`${JSON.stringify(jsonOutput,null,2)}
|
|
8
8
|
`)}else log(`No deployments found under ${import_chalk.default.bold(contextName)}.`);return 0}if(!asJson){let deploymentsLabel=target==="production"?"Production deployments":"Deployments";log(showAllProjects?`${deploymentsLabel} under ${import_chalk.default.bold(contextName)} ${elapsed(Date.now()-start)}`:`${deploymentsLabel} for ${projectSlugLink} ${elapsed(Date.now()-start)}`)}}if(asJson){let jsonOutput={contextName,deployments:deployments.sort(sortByCreatedAt).map(dep=>({id:dep.id,url:dep.url,name:dep.name,state:dep.readyState,target:dep.target,customEnvironment:dep.customEnvironment?{id:dep.customEnvironment.id,slug:dep.customEnvironment.slug}:void 0,createdAt:dep.createdAt,buildingAt:dep.buildingAt,ready:dep.ready,creator:dep.creator?{uid:dep.creator.uid,username:dep.creator.username}:void 0,meta:dep.meta})),pagination};return client.stdout.write(`${JSON.stringify(jsonOutput,null,2)}
|
|
9
9
|
`),0}let headers=["Age","Project","Deployment","Status","Environment"],showPolicy=Object.keys(policy).length>0;showPolicy||headers.push("Duration","Username"),showPolicy&&headers.push("Proposed Expiration");let urls=[],tablePrint=table([headers.map(header=>import_chalk.default.bold(import_chalk.default.cyan(header))),...deployments.sort(sortByCreatedAt).map(dep=>{urls.push(`https://${dep.url}`);let proposedExp=dep.proposedExpiration?toDate(Math.min(Date.now(),dep.proposedExpiration)):"No expiration",createdAt=(0,import_ms.default)(Date.now()-(dep?.undeletedAt??dep.createdAt)),targetName=dep.customEnvironment?.slug||(dep.target==="production"?"Production":"Preview"),targetSlug=dep.customEnvironment?.id||dep.target||"preview";return[import_chalk.default.gray(createdAt),formatProject(contextName,dep.name),`https://${dep.url}`,stateString(dep.readyState||""),formatEnvironment(contextName,dep.name,{id:targetSlug,slug:targetName}),...showPolicy?[]:[import_chalk.default.gray(getDeploymentDuration(dep))],...showPolicy?[]:[import_chalk.default.gray(dep.creator?.username)],...showPolicy?[import_chalk.default.gray(proposedExp)]:[]]}).filter(app2=>app2===null?filterUniqueApps():()=>!0)],{hsep:5}).replace(/^/gm," ");if(print(`
|
|
10
10
|
${tablePrint}
|