@vercel/cli-support 65.9.0 → 65.10.0-snapshot-c80a43d75dc7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/add-A3SN7KWS.js +8 -0
- package/dist/chunks/add-RFPJCD35.js +8 -0
- package/dist/chunks/add-TOKTANDW.js +8 -0
- package/dist/chunks/build-25I6XOV7.js +7 -0
- package/dist/chunks/{chunk-5M3WBT3N.js → chunk-22UXDTCE.js} +1 -1
- package/dist/chunks/chunk-2AMO2VMV.js +68 -0
- package/dist/chunks/{chunk-U6KJOCXX.js → chunk-2DHDKWYN.js} +1 -1
- package/dist/chunks/chunk-2EFBGKRC.js +8 -0
- package/dist/chunks/{chunk-UOQGI6CL.js → chunk-2HLYY3KF.js} +1 -1
- package/dist/chunks/{chunk-7PGGP2QT.js → chunk-2JCJP43W.js} +1 -1
- package/dist/chunks/chunk-2VBFQZ72.js +7 -0
- package/dist/chunks/{chunk-EXLKCL5I.js → chunk-3AX7ZZJ7.js} +1 -1
- package/dist/chunks/{chunk-CMHL66LK.js → chunk-3F5BOG4A.js} +1 -1
- package/dist/chunks/chunk-3PXE5BLH.js +7 -0
- package/dist/chunks/{chunk-BZNRYQ6U.js → chunk-3WYSEF57.js} +1 -1
- package/dist/chunks/{chunk-EW62WSXG.js → chunk-4JWAXIIN.js} +1 -1
- package/dist/chunks/{chunk-R5ZLTWKB.js → chunk-4LGAV2WN.js} +1 -1
- package/dist/chunks/{chunk-7WY7ASKE.js → chunk-56UH6NQ3.js} +1 -1
- package/dist/chunks/{chunk-MXURT5TX.js → chunk-5I7CC45F.js} +1 -1
- package/dist/chunks/{chunk-QQA2OMXJ.js → chunk-5KE67O45.js} +1 -1
- package/dist/chunks/{chunk-4XJVEKTD.js → chunk-6AJWRPTY.js} +1 -1
- package/dist/chunks/{chunk-EBBDSEEU.js → chunk-6RUAAORO.js} +1 -1
- package/dist/chunks/{chunk-TRZDIAX3.js → chunk-77LSSWXL.js} +1 -1
- package/dist/chunks/{chunk-2JXQWOK5.js → chunk-7UFI6OYF.js} +1 -1
- package/dist/chunks/{chunk-EVH5524J.js → chunk-7ULLVH2G.js} +1 -1
- package/dist/chunks/{chunk-GHEGWXH2.js → chunk-ANCWFEOM.js} +1 -1
- package/dist/chunks/{chunk-7ULVGK67.js → chunk-BB5UMZMF.js} +1 -1
- package/dist/chunks/{chunk-4Z3APEBF.js → chunk-BJXLR2RE.js} +1 -1
- package/dist/chunks/{chunk-Y6WXTTZS.js → chunk-BPRGAX62.js} +1 -1
- package/dist/chunks/{chunk-G6HUSV7F.js → chunk-BZV2S4H6.js} +1 -1
- package/dist/chunks/{chunk-QY5RG6BB.js → chunk-C24IKNZN.js} +1 -1
- package/dist/chunks/chunk-C4N4LKPM.js +7 -0
- package/dist/chunks/chunk-CFYTFXX6.js +7 -0
- package/dist/chunks/chunk-CKTLP5GX.js +7 -0
- package/dist/chunks/{chunk-GCPPL24C.js → chunk-CUBRYWA2.js} +1 -1
- package/dist/chunks/{chunk-M73W4XNR.js → chunk-CZOD25BC.js} +1 -1
- package/dist/chunks/{chunk-UIJYRI3G.js → chunk-DBPN2VGJ.js} +1 -1
- package/dist/chunks/{chunk-IFCMWIRB.js → chunk-DRLGZXAL.js} +1 -1
- package/dist/chunks/{chunk-QKWJN6OE.js → chunk-DX2OHM56.js} +1 -1
- package/dist/chunks/{chunk-XBWISZCG.js → chunk-EJ34DLV4.js} +1 -1
- package/dist/chunks/{chunk-T5TOBY4D.js → chunk-EJZNJN4N.js} +1 -1
- package/dist/chunks/{chunk-TMXIVQ45.js → chunk-F2LNGJOZ.js} +1 -1
- package/dist/chunks/{chunk-G3LWP5CH.js → chunk-FAVZ6WVS.js} +1 -1
- package/dist/chunks/{chunk-D4ZEJM3T.js → chunk-FI5O4WHD.js} +1 -1
- package/dist/chunks/{chunk-UVE5COCG.js → chunk-FOQD62WW.js} +1 -1
- package/dist/chunks/{chunk-PBX7RJ2K.js → chunk-FPYHB76H.js} +1 -1
- package/dist/chunks/{chunk-4SJU5QSD.js → chunk-FQVIWQ6M.js} +1 -1
- package/dist/chunks/chunk-FTACGWII.js +14 -0
- package/dist/chunks/{chunk-FWTBSC7Z.js → chunk-FY4ORPZH.js} +1 -1
- package/dist/chunks/{chunk-VBKFCR5W.js → chunk-G5T6UQAL.js} +1 -1
- package/dist/chunks/chunk-G7H33IKQ.js +10 -0
- package/dist/chunks/{chunk-33U57CNE.js → chunk-GKALP6QD.js} +1 -1
- package/dist/chunks/{chunk-WGWGDC3N.js → chunk-GPISCZ2P.js} +1 -1
- package/dist/chunks/{chunk-DUPAU76G.js → chunk-HJ45TAM4.js} +1 -1
- package/dist/chunks/chunk-HR462OEG.js +10 -0
- package/dist/chunks/{chunk-JOXGYP5S.js → chunk-JVNIDSP5.js} +1 -1
- package/dist/chunks/chunk-KMPDQE4Q.js +7 -0
- package/dist/chunks/{chunk-OZPBJWYU.js → chunk-KNAOHPOI.js} +8 -8
- package/dist/chunks/{chunk-4OTI552J.js → chunk-KWXJIVBG.js} +1 -1
- package/dist/chunks/{chunk-QJAIUZVZ.js → chunk-L4QQTYUI.js} +5 -5
- package/dist/chunks/{chunk-43P35KUA.js → chunk-L6CZL2IQ.js} +1 -1
- package/dist/chunks/{chunk-6RCFEJZK.js → chunk-LC4BSDDG.js} +1 -1
- package/dist/chunks/{chunk-ZERZX6BZ.js → chunk-LQAQD5LG.js} +2 -2
- package/dist/chunks/{chunk-2DODPQ5J.js → chunk-MBL7MWP5.js} +1 -1
- package/dist/chunks/{chunk-VZKQP67Q.js → chunk-MKYFAYCD.js} +1 -1
- package/dist/chunks/{chunk-D2JHIOVH.js → chunk-MOF4QNZH.js} +1 -1
- package/dist/chunks/{chunk-32AS5X7G.js → chunk-MUNGQJGO.js} +1 -1
- package/dist/chunks/{chunk-UZTDRGCW.js → chunk-NAEY6HG5.js} +1 -1
- package/dist/chunks/{chunk-E5CN62HO.js → chunk-NAJCRBQB.js} +1 -1
- package/dist/chunks/{chunk-GN5IAG3M.js → chunk-NGHFFOD2.js} +1 -1
- package/dist/chunks/{chunk-4BZ3DNGM.js → chunk-NLKM5LR5.js} +1 -1
- package/dist/chunks/{chunk-NEUQZYBL.js → chunk-PMEYNJU2.js} +1 -1
- package/dist/chunks/{chunk-5K4UTJSY.js → chunk-PXQAWH7E.js} +1 -1
- package/dist/chunks/{chunk-SNCQOAFU.js → chunk-Q25FOMOX.js} +1 -1
- package/dist/chunks/{chunk-BWS3ZOHJ.js → chunk-Q4GX2UTG.js} +1 -1
- package/dist/chunks/{chunk-CBVVVYUP.js → chunk-QCIIUQV3.js} +1 -1
- package/dist/chunks/chunk-QGZZL6YY.js +7 -0
- package/dist/chunks/{chunk-GCXUSXB4.js → chunk-QVMU7ZKQ.js} +1 -1
- package/dist/chunks/{chunk-DASHFOKO.js → chunk-QXYCICNB.js} +1 -1
- package/dist/chunks/{chunk-ZGKJLJ47.js → chunk-R2P4PNRQ.js} +1 -1
- package/dist/chunks/{chunk-Y5YXAXK3.js → chunk-R3D4M5RE.js} +1 -1
- package/dist/chunks/{chunk-H34SGIVS.js → chunk-S5JBQCBA.js} +1 -1
- package/dist/chunks/chunk-SHY7P3C6.js +10 -0
- package/dist/chunks/{chunk-QBOY2CXL.js → chunk-SODZSOOL.js} +1 -1
- package/dist/chunks/{chunk-TGPYWWX3.js → chunk-SXEOJSZQ.js} +1 -1
- package/dist/chunks/{chunk-KV2DYFUG.js → chunk-T7HE23VK.js} +1 -1
- package/dist/chunks/{chunk-2H4DUZJZ.js → chunk-TL4ZLZ2Q.js} +1 -1
- package/dist/chunks/{chunk-DUJAQS7I.js → chunk-TNNEKGGF.js} +1 -1
- package/dist/chunks/{chunk-USYEDO7R.js → chunk-TNUQME3L.js} +1 -1
- package/dist/chunks/chunk-TZ6MSTOI.js +7 -0
- package/dist/chunks/chunk-U6XJYQJS.js +7 -0
- package/dist/chunks/chunk-UWJ3UPS5.js +11 -0
- package/dist/chunks/chunk-V32V4SXB.js +7 -0
- package/dist/chunks/{chunk-ECQKK4JU.js → chunk-VD2FK6OF.js} +1 -1
- package/dist/chunks/chunk-VPUYTI5E.js +25 -0
- package/dist/chunks/{chunk-2JNDJISE.js → chunk-VYRMHE34.js} +1 -1
- package/dist/chunks/{chunk-WFOJ2LEA.js → chunk-VZGTL3YC.js} +1 -1
- package/dist/chunks/{chunk-ZBZPCKTW.js → chunk-W5GHMAHP.js} +1 -1
- package/dist/chunks/{chunk-ZCXKEZS4.js → chunk-WHUZRBYL.js} +1 -1
- package/dist/chunks/{chunk-BRETAWE7.js → chunk-XEXOSJIU.js} +1 -1
- package/dist/chunks/{chunk-JMAXX2I6.js → chunk-XGOELSYA.js} +1 -1
- package/dist/chunks/{chunk-TCB4XM23.js → chunk-Y57DK3ZN.js} +1 -1
- package/dist/chunks/{chunk-WKYFWE37.js → chunk-YO6SJCZP.js} +1 -1
- package/dist/chunks/chunk-YOWMZJPA.js +7 -0
- package/dist/chunks/{chunk-EDOTKQ7L.js → chunk-ZGQNI22M.js} +1 -1
- package/dist/chunks/chunk-ZUI5EMXD.js +11 -0
- package/dist/chunks/clear-B764MEAM.js +8 -0
- package/dist/chunks/{compile-vercel-config-DRTOWZK6.js → compile-vercel-config-EWCB7SIC.js} +1 -1
- package/dist/chunks/{config-MNRKCDQA.js → config-CW4JO67Q.js} +1 -1
- package/dist/chunks/config-D4WY2HG4.js +8 -0
- package/dist/chunks/delete-SKYFHUWD.js +10 -0
- package/dist/chunks/delete-W3GMFAKA.js +9 -0
- package/dist/chunks/{detect-services-GXKWIX52.js → detect-services-3TRRRLES.js} +1 -1
- package/dist/chunks/disable-EBPZ2LYC.js +7 -0
- package/dist/chunks/discard-SMVPENSP.js +14 -0
- package/dist/chunks/edit-A3M3GBGP.js +8 -0
- package/dist/chunks/edit-CGTNGJKY.js +9 -0
- package/dist/chunks/enable-6A5THWDP.js +7 -0
- package/dist/chunks/{export-N5F7EY7B.js → export-R5IUWAW5.js} +1 -1
- package/dist/chunks/future-CPJUUZTU.js +7 -0
- package/dist/chunks/generate-cert-for-deploy-Z3HCAR5H.js +7 -0
- package/dist/chunks/image-VNSN2SKE.js +7 -0
- package/dist/chunks/{import-builders-OAGJKQNW.js → import-builders-GPJQAMXT.js} +1 -1
- package/dist/chunks/{inspect-UDUI3ETL.js → inspect-6FEL5DYV.js} +1 -1
- package/dist/chunks/inspect-BO2ACFEG.js +13 -0
- package/dist/chunks/{inspect-35WHAXL2.js → inspect-TEPB7KVC.js} +1 -1
- package/dist/chunks/inspect-WC2C4MDP.js +9 -0
- package/dist/chunks/{inspect-GX34WQGR.js → inspect-WWOHWQKS.js} +1 -1
- package/dist/chunks/{list-VVND632B.js → list-4KSJEP23.js} +1 -1
- package/dist/chunks/{list-BINT67HQ.js → list-C5GUZ35P.js} +1 -1
- package/dist/chunks/list-EZWZSVM4.js +12 -0
- package/dist/chunks/login-PDZT4PQR.js +7 -0
- package/dist/chunks/login-ZNCCVA4H.js +9 -0
- package/dist/chunks/logs-YKQMUTMG.js +7 -0
- package/dist/chunks/{ls-2MJY6EKD.js → ls-3HUS6KS6.js} +1 -1
- package/dist/chunks/ls-KQJYKADC.js +8 -0
- package/dist/chunks/{ls-7OZ5TSNW.js → ls-LYVPEIIT.js} +1 -1
- package/dist/chunks/{ls-6HYUGM62.js → ls-RBPRE6BF.js} +1 -1
- package/dist/chunks/{ls-YT3MWU4U.js → ls-TASQJDLF.js} +1 -1
- package/dist/chunks/{ls-HTNWWU45.js → ls-WX4BJRDV.js} +1 -1
- package/dist/chunks/ls-ZP7OBTTV.js +11 -0
- package/dist/chunks/mutate-5N6DMBYS.js +9 -0
- package/dist/chunks/{native-self-update-75UJCHGZ.js → native-self-update-7OAY4AVR.js} +1 -1
- package/dist/chunks/notifications-OVFMQLHL.js +7 -0
- package/dist/chunks/open-DOBOKUEK.js +7 -0
- package/dist/chunks/{openapi-KYC6JIXI.js → openapi-YAZA3237.js} +1 -1
- package/dist/chunks/permissions-PHCOVDWK.js +7 -0
- package/dist/chunks/{plugin-offer-URT5JNEU.js → plugin-offer-M7KJSJU6.js} +1 -1
- package/dist/chunks/prompt-missing-credentials-RTNCHH6Y.js +7 -0
- package/dist/chunks/{publish-LH5CIXCP.js → publish-JIFRJNDV.js} +1 -1
- package/dist/chunks/pull-HLJSW3W4.js +7 -0
- package/dist/chunks/purchase-domain-if-available-3EBONBX3.js +7 -0
- package/dist/chunks/push-ZN6CBJLJ.js +7 -0
- package/dist/chunks/{query-POTX2HYL.js → query-MT6ID6C7.js} +1 -1
- package/dist/chunks/reauthenticate-OXFB64PS.js +7 -0
- package/dist/chunks/reorder-N2L43LXD.js +10 -0
- package/dist/chunks/reply-WBR3XXBJ.js +9 -0
- package/dist/chunks/resolve-NMR24Y67.js +12 -0
- package/dist/chunks/resolve-agent-team-KRTLBC5D.js +7 -0
- package/dist/chunks/{restore-L3T5KOG7.js → restore-AKAVSLAK.js} +1 -1
- package/dist/chunks/rm-DGMHU3CU.js +8 -0
- package/dist/chunks/rm-ERBTFH3G.js +8 -0
- package/dist/chunks/rm-H2T7HB3F.js +8 -0
- package/dist/chunks/rm-Q3ZXEMGI.js +8 -0
- package/dist/chunks/rm-TNGYCAFJ.js +8 -0
- package/dist/chunks/{routes-S75L7Z7A.js → routes-4WGST7VN.js} +1 -1
- package/dist/chunks/rule-inspect-ZVHPS2PL.js +8 -0
- package/dist/chunks/{schema-P4T4GQBF.js → schema-TSHU5NN6.js} +1 -1
- package/dist/chunks/{schema-TOVLKRPJ.js → schema-YUXTIJSB.js} +1 -1
- package/dist/chunks/select-org-35NFUKXO.js +7 -0
- package/dist/chunks/set-PP5K4NBO.js +7 -0
- package/dist/chunks/setup-and-link-ACSPPTME.js +7 -0
- package/dist/chunks/{skills-DZYJV7BE.js → skills-X5TPVYXW.js} +1 -1
- package/dist/chunks/{statuspage-45LJ2XYT.js → statuspage-KHTMA4WL.js} +1 -1
- package/dist/chunks/tags-6QB3FP3B.js +7 -0
- package/dist/chunks/{types-YA6BOCRV.js → types-SENK43U4.js} +1 -1
- package/dist/chunks/{update-YSAO36V7.js → update-QA3NLSTV.js} +1 -1
- package/dist/chunks/zod-Y3ZBY67C.js +7 -0
- package/dist/commands/build/index.js +1 -1
- package/dist/commands/deploy/index.js +30 -23
- package/dist/commands/dev/index.js +2 -2
- package/dist/commands/env/index.js +1 -1
- package/dist/commands/link/index.js +1 -1
- package/dist/commands/list/index.js +1 -1
- package/dist/commands/project/index.js +7 -7
- package/dist/commands-account.js +18 -3
- package/dist/commands-ai.js +2 -2
- package/dist/commands-blob.js +1 -1
- package/dist/commands-core.js +6 -6
- package/dist/commands-deployments.js +5 -3
- package/dist/commands-flags.js +7 -9
- package/dist/commands-integrations.js +1 -1
- package/dist/commands-observability.js +5 -5
- package/dist/commands-routing.js +2 -2
- package/dist/help.js +1 -1
- package/dist/index.js +4 -4
- package/dist/internal-build-worker.js +1 -1
- package/dist/internal-build.js +1 -1
- package/dist/launcher-errors.js +11 -0
- package/dist/native-download.js +1 -1
- package/dist/package.json +29 -29
- package/dist/vc.js +355 -86
- package/dist/version.mjs +1 -1
- package/package.json +22 -22
- package/dist/chunks/add-6YFDZCAK.js +0 -8
- package/dist/chunks/add-QDZPCCUD.js +0 -8
- package/dist/chunks/add-Z24IIQDY.js +0 -8
- package/dist/chunks/build-HLU4YO37.js +0 -7
- package/dist/chunks/chunk-2CSCY66I.js +0 -11
- package/dist/chunks/chunk-2NABMKFV.js +0 -29
- package/dist/chunks/chunk-2TRNHR72.js +0 -7
- package/dist/chunks/chunk-32NXYHYC.js +0 -10
- package/dist/chunks/chunk-4CQKN5TW.js +0 -10
- package/dist/chunks/chunk-7DM3IJ7L.js +0 -10
- package/dist/chunks/chunk-AUCTNGW2.js +0 -7
- package/dist/chunks/chunk-C6525MLX.js +0 -10
- package/dist/chunks/chunk-CGTD4QFC.js +0 -7
- package/dist/chunks/chunk-DSNIVABS.js +0 -7
- package/dist/chunks/chunk-F53OKXYI.js +0 -7
- package/dist/chunks/chunk-K5YO4UD7.js +0 -7
- package/dist/chunks/chunk-NAU6URTI.js +0 -25
- package/dist/chunks/chunk-NNIQPNGP.js +0 -7
- package/dist/chunks/chunk-NTUDWWSL.js +0 -14
- package/dist/chunks/chunk-RZY54T7B.js +0 -7
- package/dist/chunks/chunk-SR2SHYJA.js +0 -7
- package/dist/chunks/chunk-WGVIQTOI.js +0 -8
- package/dist/chunks/chunk-YPPDRKVC.js +0 -7
- package/dist/chunks/clear-RU72IUXU.js +0 -8
- package/dist/chunks/config-PIFTR3UF.js +0 -8
- package/dist/chunks/delete-47BF6SIO.js +0 -9
- package/dist/chunks/delete-QNSKEIGO.js +0 -10
- package/dist/chunks/disable-SBFW3F7B.js +0 -7
- package/dist/chunks/discard-DUZR3OWZ.js +0 -14
- package/dist/chunks/edit-6BQ7FZC4.js +0 -8
- package/dist/chunks/edit-WO7FLNW2.js +0 -9
- package/dist/chunks/enable-OK4MR3Z6.js +0 -7
- package/dist/chunks/future-5AQIYILU.js +0 -7
- package/dist/chunks/generate-cert-for-deploy-7ERAHVOV.js +0 -7
- package/dist/chunks/image-IRC2NJVA.js +0 -7
- package/dist/chunks/inspect-5FKOSDTK.js +0 -13
- package/dist/chunks/inspect-ACNGICEF.js +0 -9
- package/dist/chunks/list-TRFGY6WP.js +0 -12
- package/dist/chunks/login-MYVTOBRG.js +0 -9
- package/dist/chunks/login-SOZ5ME3D.js +0 -7
- package/dist/chunks/logs-EMAGPMIZ.js +0 -7
- package/dist/chunks/ls-KU35N6DP.js +0 -8
- package/dist/chunks/ls-WFC636QK.js +0 -11
- package/dist/chunks/mutate-JVDDZLVE.js +0 -9
- package/dist/chunks/notifications-CXDBNBHU.js +0 -7
- package/dist/chunks/open-3CD5ZNKU.js +0 -7
- package/dist/chunks/permissions-PNBST4WN.js +0 -7
- package/dist/chunks/prompt-missing-credentials-Q5JCRP3R.js +0 -7
- package/dist/chunks/pull-XLZXPTLS.js +0 -7
- package/dist/chunks/purchase-domain-if-available-PDJGZ6MY.js +0 -7
- package/dist/chunks/push-XB57XK6H.js +0 -7
- package/dist/chunks/reauthenticate-CRI4D2BQ.js +0 -7
- package/dist/chunks/reorder-KUQ5EQBV.js +0 -10
- package/dist/chunks/reply-LO76EKEE.js +0 -9
- package/dist/chunks/resolve-KZJYJJLA.js +0 -12
- package/dist/chunks/resolve-agent-team-N7QMB7UO.js +0 -7
- package/dist/chunks/rm-7UKXTIZW.js +0 -8
- package/dist/chunks/rm-AKKEQN32.js +0 -8
- package/dist/chunks/rm-ELC57ULY.js +0 -8
- package/dist/chunks/rm-K7XEZ7TY.js +0 -8
- package/dist/chunks/rm-MOYCAXNO.js +0 -8
- package/dist/chunks/rule-inspect-ZCS4EBKR.js +0 -8
- package/dist/chunks/select-org-6NEM7F25.js +0 -7
- package/dist/chunks/set-NXFB6JXG.js +0 -7
- package/dist/chunks/setup-and-link-L67MMSUD.js +0 -7
- package/dist/chunks/tags-5AV6WAOF.js +0 -7
- package/dist/chunks/zod-2C2SXNIK.js +0 -7
package/dist/internal-build.js
CHANGED
|
@@ -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{earlyGetConfig,exitWithUnexpectedError,handleUnexpectedError,installProcessGuards,isOutputDebugEnabled,recordDirectBuildFallback,registerUnexpectedErrorHandlers}from"./chunks/chunk-
|
|
7
|
+
import{earlyGetConfig,exitWithUnexpectedError,handleUnexpectedError,installProcessGuards,isOutputDebugEnabled,recordDirectBuildFallback,registerUnexpectedErrorHandlers}from"./chunks/chunk-2JCJP43W.js";import"./chunks/chunk-FQVIWQ6M.js";import"./chunks/chunk-25565AGS.js";import{param}from"./chunks/chunk-3G3FQYMW.js";import"./chunks/chunk-TZ6MSTOI.js";import{TelemetryEventStore}from"./chunks/chunk-VPUYTI5E.js";import"./chunks/chunk-2EYYB6YN.js";import{isNativeBinaryInstall}from"./chunks/chunk-NWGBDBZI.js";import"./chunks/chunk-ZUI5EMXD.js";import"./chunks/chunk-FY4ORPZH.js";import{Client,getAuthConfigFilePath,getConfigFilePath,hasLocalProjectLink,highlight,humanizePath,readAuthConfigFile,readConfigFile,require_lib,writeToConfigFile}from"./chunks/chunk-KNAOHPOI.js";import"./chunks/chunk-64UCX5JM.js";import"./chunks/chunk-ITQPDXXA.js";import{getGlobalPathConfig}from"./chunks/chunk-56UH6NQ3.js";import"./chunks/chunk-4NTBYNFR.js";import{parseArguments}from"./chunks/chunk-C4N4LKPM.js";import"./chunks/chunk-2VBFQZ72.js";import{shouldPrintVersionBanner,wantsMachineReadableOutput}from"./chunks/chunk-GJCVOEC2.js";import"./chunks/chunk-LUX4PBJL.js";import"./chunks/chunk-OPORM35X.js";import"./chunks/chunk-MXTC4ZAQ.js";import"./chunks/chunk-ZS2WS4AM.js";import{require_cli_config}from"./chunks/chunk-4SAVH3H7.js";import{CantFindConfig,CantParseJSONFile}from"./chunks/chunk-T2FCF46I.js";import{getTitleName}from"./chunks/chunk-VRH7LWOC.js";import{pkg_default}from"./chunks/chunk-DBT6PGEH.js";import{output_manager_default}from"./chunks/chunk-W634OFUG.js";import"./chunks/chunk-BLUPZPAS.js";import{require_build_utils}from"./chunks/chunk-5MDNVAE6.js";import"./chunks/chunk-OCR5CRTH.js";import{require_dist}from"./chunks/chunk-RM3ZDRYE.js";import"./chunks/chunk-YHPPP3SF.js";import"./chunks/chunk-PUKYAALC.js";import{getShortFlagLongName}from"./chunks/chunk-CKTLP5GX.js";import"./chunks/chunk-2BKALEOP.js";import{require_source}from"./chunks/chunk-NB2WLB3J.js";import"./chunks/chunk-ISWW3DKF.js";import"./chunks/chunk-BULSRTQE.js";import"./chunks/chunk-BRQUZ5NC.js";import"./chunks/chunk-D6REP5QQ.js";import"./chunks/chunk-FBYA6LLM.js";import{setFetchDispatcher}from"./chunks/chunk-MY4MONOH.js";import"./chunks/chunk-7EJQLVWX.js";import"./chunks/chunk-SCV7XEEO.js";import"./chunks/chunk-CFYTFXX6.js";import{__toESM}from"./chunks/chunk-BZENIQ7N.js";var import_chalk=__toESM(require_source(),1),import_fs_extra=__toESM(require_lib(),1),import_error_utils=__toESM(require_dist(),1),import_cli_config=__toESM(require_cli_config(),1),import_build_utils=__toESM(require_build_utils(),1);import{existsSync}from"node:fs";import{mkdir,writeFile}from"node:fs/promises";import{join}from"node:path";import{determineAgent}from"@vercel/detect-agent";var DIRECT_GLOBAL_FLAGS=new Set(["--cwd","--debug","--global-config","--local-config","--no-color","--non-interactive","--scope","--token"]),PROXY_ENV_VARS=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy","ALL_PROXY","all_proxy"],InMemoryReporter=class{constructor(){this.events=[]}report(event){this.events.push(event)}};function parseInitialArgs(argv){return parseArguments(argv,{"--version":Boolean,"-v":"--version","--changelog":Boolean,"--non-interactive":Boolean},{permissive:!0})}function getDirectBuildFallbackReason(argv=process.argv,env=process.env){let parsedArgs;try{parsedArgs=parseInitialArgs(argv)}catch{return"invalid_arguments"}if(parsedArgs.args[2]!=="build"||argv[2]!=="build")return"not_build";for(let[flag,value]of Object.entries(parsedArgs.flags))if(value!==void 0&&!DIRECT_GLOBAL_FLAGS.has(flag))return`flag:${flag}`;let separatorIndex=argv.indexOf("--");if((separatorIndex===-1?argv:argv.slice(0,separatorIndex)).some(arg=>arg==="--project"||arg.startsWith("--project=")||getShortFlagLongName(arg)==="--project"))return"project_scope";if(env.FORCE_TTY==="1")return"force_tty";if(env.FF_GUIDANCE_MODE)return"guidance_mode";if(!env.VERCEL_TELEMETRY_DISABLED)return"telemetry_enabled";if(env.VERCEL_TELEMETRY_DEBUG==="1")return"telemetry_debug";if(!env.NO_UPDATE_NOTIFIER&&!env.VERCEL&&!isNativeBinaryInstall())return"update_check"}async function runInternalBuild(){let fallbackReason=getDirectBuildFallbackReason();if(fallbackReason!==void 0){recordDirectBuildFallback(fallbackReason);return}installProcessGuards();let client;registerUnexpectedErrorHandlers(()=>client),process.env.CLAUDECODE&&process.stderr.write(`<claude-code-hint v="1" type="plugin" value="vercel@claude-plugins-official" />
|
|
8
8
|
`);try{let exitCode=await main(c=>{client=c});return process.exitCode=exitCode,exitCode??0}catch(error){return await handleUnexpectedError(client,error),exitWithUnexpectedError(error)}}async function main(setClient){let vercelDir=getGlobalPathConfig(),traceReporter=new InMemoryReporter,rootSpan=new import_build_utils.Span({name:"vc.cli",reporter:traceReporter,attrs:{directBuild:"true"}}),parsedArgs=parseInitialArgs(process.argv);output_manager_default.initialize({debug:isOutputDebugEnabled(parsedArgs.flags["--debug"]),noColor:parsedArgs.flags["--no-color"]});let localConfigPath=parsedArgs.flags["--local-config"],localConfig=await earlyGetConfig(localConfigPath);if(localConfig instanceof CantParseJSONFile)return output_manager_default.error(`Couldn't parse JSON file ${localConfig.meta.file}.`),1;if(localConfig instanceof CantFindConfig){if(localConfigPath)return output_manager_default.error(`Couldn't find a project configuration file at
|
|
9
9
|
${localConfig.meta.paths.join(` or
|
|
10
10
|
`)}`),1;localConfig=void 0}if(localConfig instanceof Error)return output_manager_default.prettyError(localConfig),1;let shortBuildLabel=void 0?` (${(void 0).split(" ")[0]})`:"",versionBanner=isNativeBinaryInstall()?`${getTitleName()} CLI ${pkg_default.version}${shortBuildLabel}`:`${getTitleName()} CLI ${pkg_default.version}${shortBuildLabel} (Node.js ${process.versions.node})`;shouldPrintVersionBanner("build",process.argv)&&output_manager_default.print(`${import_chalk.default.dim(versionBanner)}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __dirname_ } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __dirname_(__filename);
|
|
7
|
+
import{AGENT_REASON}from"./chunks/chunk-CFYTFXX6.js";import"./chunks/chunk-BZENIQ7N.js";function shellJoin(argv){return argv.map(arg=>/^[\w@%+=:,./-]+$/.test(arg)||/^[\w=]*<[A-Z_]+>$/.test(arg)?arg:`'${arg.replace(/'/g,"'\\''")}'`).join(" ")}var UNREACHABLE_KINDS=["proxy_refused","dns","connection_refused","connection_reset","connect_timeout","network","http_403"],NATIVE_OSES=["darwin","linux","win32"];function reportLauncherFailure(failure){let report=describe(failure);if(failure.json)return process.stderr.write(`${JSON.stringify({status:"error",reason:report.reason,message:report.message,...report.recovery.some(r=>r.argv)&&{next:report.recovery.filter(r=>r.argv).map(r=>({command:shellJoin(r.argv),argv:r.argv,when:r.instruction}))},data:report.data})}
|
|
8
|
+
`),1;let lines=[`${(process.stderr.isTTY&&!process.env.NO_COLOR?text=>`\x1B[31m${text}\x1B[39m`:text=>text)("\u2717")} ${report.message}`];for(let[label,value]of report.rows)lines.push(` ${label.padEnd(16)}${value}`);for(let[index,recovery]of report.recovery.entries()){lines.push("");let instruction=index===0?recovery.instruction:`Or ${lowerFirst(recovery.instruction)}`;recovery.argv||recovery.example?lines.push(` ${instruction}:`,` ${recovery.argv?shellJoin(recovery.argv):recovery.example}`):lines.push(` ${instruction}.`)}return process.stderr.write(`
|
|
9
|
+
${lines.join(`
|
|
10
|
+
`)}
|
|
11
|
+
`),1}function describe(failure){let version=failure.version??"latest",pkg=`@vercel/vc-native-${failure.target}`,reinstall={instruction:"Reinstall vercel with the package manager that installed it, without omitting optional dependencies",argv:["npm","i","-g",`vercel@${version}`]};if(failure.bin)return{reason:AGENT_REASON.SPAWN_FAILED,message:`Couldn't start the Vercel CLI binary (${failure.reason}).`,rows:[["Binary",failure.bin]],recovery:failure.reason==="EACCES"?[{instruction:"Make it executable",argv:["chmod","+x",failure.bin]},reinstall]:[reinstall],data:{code:failure.reason,binary:failure.bin}};switch(failure.reason){case"download_failed":{let detail=failure.detail??"unexpected error",rows=[["Cause",detail],["Package",`${pkg}@${version}`]],data={package:pkg,version,detail},network=(message,first)=>({reason:AGENT_REASON.NETWORK_ERROR,message,rows,recovery:[first,reinstall],data}),unreachable="Couldn't reach registry.npmjs.org to download the Vercel CLI binary.",silent=failure.kind==="timed_out"&&(failure.timeout==="metadata"||failure.timeout==="stall"&&failure.progress==="none");return UNREACHABLE_KINDS.includes(failure.kind??"")||silent?network(unreachable,{instruction:"Allow access to registry.npmjs.org, directly or through HTTPS_PROXY, then run the command again"}):failure.kind==="proxy_auth_required"?network(unreachable,{instruction:"Add the proxy's credentials to HTTPS_PROXY, then run the command again"}):failure.kind==="timed_out"?network("Downloading the Vercel CLI binary from registry.npmjs.org timed out.",{instruction:"Allow access to registry.npmjs.org on a faster or more stable connection, then run the command again"}):failure.kind==="tls"?network("Couldn't verify the certificate of registry.npmjs.org.",{instruction:"If a proxy inspects HTTPS traffic, set NODE_EXTRA_CA_CERTS to its CA certificate file, then run the command again",example:"export NODE_EXTRA_CA_CERTS=<CA_FILE>"}):{reason:AGENT_REASON.NATIVE_BINARY_UNAVAILABLE,message:`Couldn't install the Vercel CLI binary for ${failure.target}.`,rows,recovery:[reinstall],data}}case"cache_unwritable":return{reason:AGENT_REASON.NATIVE_BINARY_UNAVAILABLE,message:`Couldn't download the Vercel CLI binary for ${failure.target}. The cache directory isn't writable.`,rows:failure.cacheDir?[["Cache",failure.cacheDir]]:[],recovery:[{instruction:"Make that directory writable, or set XDG_CACHE_HOME to a writable directory",example:"export XDG_CACHE_HOME=<DIRECTORY>"}],data:{package:pkg,version,...failure.cacheDir&&{cacheDir:failure.cacheDir}}};case"not_in_node_modules":return{reason:AGENT_REASON.NATIVE_BINARY_UNAVAILABLE,message:"Couldn't start Vercel CLI. This install has no node_modules folder to find the native binary in.",rows:[],recovery:[{instruction:"Install vercel with npm, pnpm, or Bun",argv:["npm","i","-g",`vercel@${version}`]}],data:{version}};default:return failure.target!=="cli-support"?{reason:AGENT_REASON.NATIVE_BINARY_UNAVAILABLE,message:`Couldn't start Vercel CLI. ${pkg} isn't installed.`,rows:[],recovery:[reinstall],data:{package:pkg,version}}:NATIVE_OSES.includes(failure.platform.split("-")[0])?{reason:AGENT_REASON.PLATFORM_UNSUPPORTED,message:`Can't run Vercel CLI on ${failure.platform}. There's no native binary for it.`,rows:[["Supported","macOS, Linux and Windows on x64 and arm64"]],recovery:[{instruction:"Run Vercel CLI on a supported platform, for example in a Linux container"}],data:{platform:failure.platform}}:{reason:AGENT_REASON.NATIVE_BINARY_UNAVAILABLE,message:"Couldn't start Vercel CLI. @vercel/cli-support isn't installed.",rows:[],recovery:[reinstall],data:{package:"@vercel/cli-support",version}}}}function lowerFirst(text){return text.charAt(0).toLowerCase()+text.slice(1)}export{reportLauncherFailure};
|
package/dist/native-download.js
CHANGED
|
@@ -4,5 +4,5 @@ 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_tar_fs}from"./chunks/chunk-KRPY5FHJ.js";import"./chunks/chunk-D6REP5QQ.js";import"./chunks/chunk-FBYA6LLM.js";import{fetch,toNodeReadable}from"./chunks/chunk-MY4MONOH.js";import"./chunks/chunk-7EJQLVWX.js";import"./chunks/chunk-SCV7XEEO.js";import{__toESM}from"./chunks/chunk-BZENIQ7N.js";var import_tar_fs=__toESM(require_tar_fs(),1);import{spawnSync}from"node:child_process";import{createHash,randomUUID}from"node:crypto";import{closeSync,createReadStream,createWriteStream,openSync,readSync}from"node:fs";import{chmod,mkdir,readdir,rename,rm,stat}from"node:fs/promises";import{homedir}from"node:os";import{dirname,join}from"node:path";import{Transform}from"node:stream";import{pipeline}from"node:stream/promises";import{createGunzip}from"node:zlib";var DEFAULT_REGISTRY="https://registry.npmjs.org",METADATA_TIMEOUT_MS=15e3,STALL_TIMEOUT_MS=3e4,TOTAL_TIMEOUT_MS=5*6e4,PROGRESS_INTERVAL_MS=3e4,START_TIMEOUT_MS=3e4,STALE_TEMP_MS=2*TOTAL_TIMEOUT_MS,NativeDownloadError=class extends Error{constructor(detail,kind){super(`Couldn't download the Vercel CLI binary (${detail})`);this.detail=detail;this.kind=kind;this.name="NativeDownloadError"}};async function downloadNativeBinary({target,version,directory,log}){let registry=(process.env.__VERCEL_NATIVE_DOWNLOAD_REGISTRY||DEFAULT_REGISTRY).replace(/\/+$/,""),id=randomUUID(),archive=join(directory,`.download-${id}.tgz`),extracted=join(directory,`.extract-${id}`),deadline=AbortSignal.timeout(TOTAL_TIMEOUT_MS),dispatcher;log?.(`Downloading the Vercel CLI binary for ${target}\u2026`);try{await mkdir(directory,{recursive:!0}),await removeStaleTempFiles(directory),dispatcher=await getProxyDispatcher();let{tarball,integrity}=await resolveTarball({registry,name:`@vercel/vc-native-${target}`,version,dispatcher,deadline});await downloadVerified({url:tarball,integrity,destination:archive,dispatcher,deadline,onProgress:bytes=>log?.(`Downloading the Vercel CLI binary for ${target}\u2026 ${formatMegabytes(bytes)}`)}),await pipeline(createReadStream(archive),createGunzip(),import_tar_fs.default.extract(extracted,{ignore:(_name,header)=>header?.type!=="file"&&header?.type!=="directory"}));let binary=join(extracted,"package","bin","vercel");if(!(await stat(binary).catch(()=>null))?.isFile())throw new NativeDownloadError("the package has no binary","no_binary");await chmod(binary,493),checkStarts(binary);let destination=join(directory,"vercel");return await rename(binary,destination),destination}catch(error){let failure=toDownloadError(error,deadline);throw failure.environment=describeEnvironment(),failure}finally{await dispatcher?.destroy?.().catch(()=>{}),await rm(archive,{force:!0}).catch(()=>{}),await rm(extracted,{recursive:!0,force:!0}).catch(()=>{})}}async function removeStaleTempFiles(directory){let entries=await readdir(directory).catch(()=>[]);for(let entry of entries){if(!entry.startsWith(".download-")&&!entry.startsWith(".extract-"))continue;let path=join(directory,entry),stats=await stat(path).catch(()=>null);stats&&Date.now()-stats.mtimeMs>STALE_TEMP_MS&&await rm(path,{recursive:!0,force:!0}).catch(()=>{})}}async function getProxyDispatcher(){if(!["HTTP_PROXY","HTTPS_PROXY","ALL_PROXY"].some(name=>process.env[name]||process.env[name.toLowerCase()]))return;let{EnvProxyDispatcher,ProxyAgent}=await import("./chunks/fetch-proxy-MOKBS56A.js");return new EnvProxyDispatcher({createProxyAgent:uri=>new ProxyAgent({uri,requestTls:{timeout:0}})})}async function resolveTarball({registry,name,version,dispatcher,deadline}){let url=`${registry}/${name.replace("/","%2f")}/${encodeURIComponent(version)}`,res=await fetch(url,{dispatcher,signal:anySignal([deadline,AbortSignal.timeout(METADATA_TIMEOUT_MS)]),headers:{accept:"application/json"}});if(!res.ok)throw res.body?.cancel().catch(()=>{}),httpError(res.status);let manifest=await res.json(),tarball=manifest.dist?.tarball,integrity=manifest.dist?.integrity;if(typeof tarball!="string"||typeof integrity!="string")throw new NativeDownloadError("the registry returned no tarball","bad_metadata");let protocol=new URL(tarball).protocol;if(protocol!=="https:"&&protocol!==new URL(registry).protocol)throw new NativeDownloadError("the registry returned an insecure tarball","bad_metadata");return{tarball,integrity:sha512Of(integrity)}}function sha512Of(integrity){let digest=integrity.split(/\s+/).find(entry=>entry.startsWith("sha512-"))?.slice(7);if(!digest)throw new NativeDownloadError("the registry returned no sha512 hash","bad_metadata");return digest}function httpError(status){return new NativeDownloadError(`HTTP ${status}`,status===403?"http_403":status===404?"http_404":"http_other")}async function downloadVerified({url,integrity,destination,dispatcher,deadline,onProgress}){let stalled=new AbortController,stallTimer=setTimeout(()=>stalled.abort(),STALL_TIMEOUT_MS),signal=anySignal([deadline,stalled.signal]);try{let res=await fetch(url,{dispatcher,signal});if(!res.ok||!res.body)throw res.body?.cancel().catch(()=>{}),httpError(res.status);let hash=createHash("sha512"),bytes=0,reportedAt=Date.now(),meter=new Transform({transform(chunk,_encoding,callback){clearTimeout(stallTimer),stallTimer=setTimeout(()=>stalled.abort(),STALL_TIMEOUT_MS),hash.update(chunk),bytes+=chunk.length,Date.now()-reportedAt>=PROGRESS_INTERVAL_MS&&(reportedAt=Date.now(),onProgress(bytes)),callback(null,chunk)}});if(await pipeline(toNodeReadable(res.body),meter,createWriteStream(destination,{flags:"wx",mode:384}),{signal}),hash.digest("base64")!==integrity)throw new NativeDownloadError("checksum mismatch","checksum_mismatch")}finally{clearTimeout(stallTimer)}}function checkStarts(binary){let result=spawnSync(binary,["--version"],{stdio:"ignore",timeout:START_TIMEOUT_MS,windowsHide:!0});if(result.error||result.status!==0)throw new NativeDownloadError("the binary didn't start",result.error?"binary_did_not_start":result.signal?"binary_killed":"binary_exited")}function anySignal(signals){let controller=new AbortController;for(let signal of signals){if(signal.aborted){controller.abort(signal.reason);break}signal.addEventListener("abort",()=>controller.abort(signal.reason),{once:!0})}return controller.signal}var DNS_CODES=["ENOTFOUND","EAI_AGAIN"],CONNECT_TIMEOUT_CODES=["ETIMEDOUT","UND_ERR_CONNECT_TIMEOUT"],NETWORK_CODES=["EHOSTUNREACH","ENETUNREACH","ENETDOWN","EPIPE","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_SOCKET"],FILESYSTEM_CODES=["EACCES","EPERM","ENOSPC","EROFS","EEXIST","ENOENT","EISDIR","ENOTDIR","EDQUOT"];function toDownloadError(error,deadline){if(error instanceof NativeDownloadError)return error;let chain=[];for(let current=error,depth=0;current&&typeof current=="object"&&depth<6;current=current.cause,depth++)chain.push(current);let proxy=chain.map(err=>typeof err.message=="string"?/Proxy response \((\d+)\)/.exec(err.message):null).find(Boolean);if(proxy)return new NativeDownloadError(`proxy returned HTTP ${proxy[1]}`,proxy[1]==="407"?"proxy_auth_required":"proxy_refused");if(deadline?.aborted||chain.some(err=>err.name==="AbortError"||err.name==="TimeoutError"))return new NativeDownloadError("timed out","timed_out");let code=chain.map(err=>err.code).find(value=>typeof value=="string"&&/^[A-Z0-9_]+$/.test(value));return code?new NativeDownloadError(code,kindOfCode(code)):new NativeDownloadError("unexpected error","other")}function kindOfCode(code){return DNS_CODES.includes(code)?"dns":code==="ECONNREFUSED"?"connection_refused":code==="ECONNRESET"?"connection_reset":CONNECT_TIMEOUT_CODES.includes(code)?"connect_timeout":NETWORK_CODES.includes(code)?"network":FILESYSTEM_CODES.includes(code)?"filesystem":code.startsWith("CERT_")||code.startsWith("UNABLE_TO_")||code.startsWith("ERR_TLS_")||code.startsWith("ERR_SSL_")||code.includes("SELF_SIGNED")?"tls":"other"}var NPMRC_MAX_BYTES=64*1024;function readStart(file,maxBytes){let fd;try{fd=openSync(file,"r");let buffer=new Uint8Array(maxBytes),bytes=readSync(fd,buffer,0,maxBytes,0);return new TextDecoder().decode(buffer.subarray(0,bytes))}catch{return}finally{fd!==void 0&&closeSync(fd)}}function parseNpmrc(text){let settings=[];for(let line of text.split(`
|
|
7
|
+
import{require_tar_fs}from"./chunks/chunk-KRPY5FHJ.js";import"./chunks/chunk-D6REP5QQ.js";import"./chunks/chunk-FBYA6LLM.js";import{fetch,toNodeReadable}from"./chunks/chunk-MY4MONOH.js";import"./chunks/chunk-7EJQLVWX.js";import"./chunks/chunk-SCV7XEEO.js";import{__toESM}from"./chunks/chunk-BZENIQ7N.js";var import_tar_fs=__toESM(require_tar_fs(),1);import{spawnSync}from"node:child_process";import{createHash,randomUUID}from"node:crypto";import{closeSync,createReadStream,createWriteStream,openSync,readSync}from"node:fs";import{chmod,mkdir,readdir,rename,rm,stat}from"node:fs/promises";import{homedir}from"node:os";import{dirname,join}from"node:path";import{Transform}from"node:stream";import{pipeline}from"node:stream/promises";import{createGunzip}from"node:zlib";var DEFAULT_REGISTRY="https://registry.npmjs.org",testLimits=new Map((process.env.__VERCEL_NATIVE_DOWNLOAD_LIMITS_MS??"").split(",").map(pair=>pair.split("=")).filter(([,ms])=>Number(ms)>0).map(([name,ms])=>[name,Number(ms)])),METADATA_TIMEOUT_MS=testLimits.get("metadata")??15e3,STALL_TIMEOUT_MS=testLimits.get("stall")??3e4,TOTAL_TIMEOUT_MS=testLimits.get("total")??5*6e4,PROGRESS_INTERVAL_MS=3e4,START_TIMEOUT_MS=testLimits.get("start")??3e4,STALE_TEMP_MS=2*5*6e4,NativeDownloadError=class extends Error{constructor(detail,kind){super(`Couldn't download the Vercel CLI binary (${detail})`);this.detail=detail;this.kind=kind;this.attempts=1;this.name="NativeDownloadError"}},RETRYABLE_KINDS=["dns","connection_reset","connect_timeout","network"],RETRY_WITHIN_MS=2e4,RETRY_DELAY_MS=testLimits.get("retry-delay")??1e3;function isRetryable(failure,retryTimeouts){return failure.kind==="connect_timeout"||failure.kind==="timed_out"&&failure.timeout==="metadata"?retryTimeouts:RETRYABLE_KINDS.includes(failure.kind)||failure.kind==="http_other"&&/^HTTP 5\d\d$/.test(failure.detail)}async function downloadNativeBinary(options){let startedAt=Date.now();try{return{bin:await attemptDownload(options),attempts:1}}catch(error){let failure=toDownloadError(error);if(!isRetryable(failure,options.retryTimeouts??!0)||Date.now()-startedAt>RETRY_WITHIN_MS)throw failure;options.log?.(`Couldn't download the Vercel CLI binary (${failure.detail}). Trying again\u2026`),await new Promise(resolve=>setTimeout(resolve,RETRY_DELAY_MS));try{return{bin:await attemptDownload(options),attempts:2}}catch(retryError){let retryFailure=toDownloadError(retryError);throw retryFailure.attempts=2,retryFailure}}}async function attemptDownload({target,version,directory,log}){let registry=(process.env.__VERCEL_NATIVE_DOWNLOAD_REGISTRY||DEFAULT_REGISTRY).replace(/\/+$/,""),id=randomUUID(),archive=join(directory,`.download-${id}.tgz`),extracted=join(directory,`.extract-${id}`),deadline=AbortSignal.timeout(TOTAL_TIMEOUT_MS),dispatcher,phase="setup",received={bytes:0};log?.(`Downloading the Vercel CLI binary for ${target}\u2026`);try{await mkdir(directory,{recursive:!0}),await removeStaleTempFiles(directory),dispatcher=await getProxyDispatcher(),phase="metadata";let{tarball,integrity}=await resolveTarball({registry,name:`@vercel/vc-native-${target}`,version,dispatcher,deadline});phase="tarball",await downloadVerified({url:tarball,integrity,destination:archive,dispatcher,deadline,received,onProgress:bytes=>log?.(`Downloading the Vercel CLI binary for ${target}\u2026 ${formatMegabytes(bytes)}`)}),phase="extract",await pipeline(createReadStream(archive),createGunzip(),import_tar_fs.default.extract(extracted,{ignore:(_name,header)=>header?.type!=="file"&&header?.type!=="directory"}));let name=target.startsWith("win32-")?"vercel.exe":"vercel",binary=join(extracted,"package","bin",name);if(!(await stat(binary).catch(()=>null))?.isFile())throw new NativeDownloadError("the package has no binary","no_binary");await chmod(binary,493),phase="check",checkStarts(binary,version),phase="install";let destination=join(directory,name);try{await rename(binary,destination)}catch(error){if(!(await stat(destination).catch(()=>null))?.isFile())throw error}return destination}catch(error){let failure=toDownloadError(error,deadline);throw failure.phase=phase,failure.kind==="timed_out"&&(failure.timeout=deadline.aborted?"total":phase==="metadata"?"metadata":phase==="tarball"?"stall":void 0),phase==="tarball"&&(failure.progress=describeProgress(received)),failure.environment=describeEnvironment(),failure}finally{await dispatcher?.destroy?.().catch(()=>{}),await rm(archive,{force:!0}).catch(()=>{}),await rm(extracted,{recursive:!0,force:!0}).catch(()=>{})}}async function removeStaleTempFiles(directory){let entries=await readdir(directory).catch(()=>[]);for(let entry of entries){if(!entry.startsWith(".download-")&&!entry.startsWith(".extract-"))continue;let path=join(directory,entry),stats=await stat(path).catch(()=>null);stats&&Date.now()-stats.mtimeMs>STALE_TEMP_MS&&await rm(path,{recursive:!0,force:!0}).catch(()=>{})}}async function getProxyDispatcher(){if(!["HTTP_PROXY","HTTPS_PROXY","ALL_PROXY"].some(name=>process.env[name]||process.env[name.toLowerCase()]))return;let{EnvProxyDispatcher,ProxyAgent}=await import("./chunks/fetch-proxy-MOKBS56A.js");return new EnvProxyDispatcher({createProxyAgent:uri=>new ProxyAgent({uri,requestTls:{timeout:0}})})}async function resolveTarball({registry,name,version,dispatcher,deadline}){let url=`${registry}/${name.replace("/","%2f")}/${encodeURIComponent(version)}`,res=await fetch(url,{dispatcher,signal:anySignal([deadline,AbortSignal.timeout(METADATA_TIMEOUT_MS)]),headers:{accept:"application/json"}});if(!res.ok)throw res.body?.cancel().catch(()=>{}),httpError(res.status);let manifest=await res.json(),tarball=manifest.dist?.tarball,integrity=manifest.dist?.integrity;if(typeof tarball!="string"||typeof integrity!="string")throw new NativeDownloadError("the registry returned no tarball","bad_metadata");let protocol=new URL(tarball).protocol;if(protocol!=="https:"&&protocol!==new URL(registry).protocol)throw new NativeDownloadError("the registry returned an insecure tarball","bad_metadata");return{tarball,integrity:sha512Of(integrity)}}function sha512Of(integrity){let digest=integrity.split(/\s+/).find(entry=>entry.startsWith("sha512-"))?.slice(7);if(!digest)throw new NativeDownloadError("the registry returned no sha512 hash","bad_metadata");return digest}function httpError(status){return new NativeDownloadError(`HTTP ${status}`,status===403?"http_403":status===404?"http_404":"http_other")}async function downloadVerified({url,integrity,destination,dispatcher,deadline,received,onProgress}){let stalled=new AbortController,stallTimer=setTimeout(()=>stalled.abort(),STALL_TIMEOUT_MS),signal=anySignal([deadline,stalled.signal]);try{let res=await fetch(url,{dispatcher,signal});if(!res.ok||!res.body)throw res.body?.cancel().catch(()=>{}),httpError(res.status);let length=Number(res.headers.get("content-length"));Number.isFinite(length)&&length>0&&(received.total=length);let hash=createHash("sha512"),reportedAt=Date.now(),meter=new Transform({transform(chunk,_encoding,callback){clearTimeout(stallTimer),stallTimer=setTimeout(()=>stalled.abort(),STALL_TIMEOUT_MS),hash.update(chunk),received.bytes+=chunk.length,Date.now()-reportedAt>=PROGRESS_INTERVAL_MS&&(reportedAt=Date.now(),onProgress(received.bytes)),callback(null,chunk)}});if(await pipeline(toNodeReadable(res.body),meter,createWriteStream(destination,{flags:"wx",mode:384}),{signal}),hash.digest("base64")!==integrity)throw new NativeDownloadError("checksum mismatch","checksum_mismatch")}finally{clearTimeout(stallTimer)}}function describeProgress({bytes,total}){return bytes===0?"none":total?bytes>=total?"complete":bytes*2<total?"under_half":"over_half":"unknown"}function checkStarts(binary,version){let result=spawnSync(binary,["--version"],{stdio:["ignore","pipe","ignore"],encoding:"utf8",timeout:START_TIMEOUT_MS,windowsHide:!0});if(result.error||result.status!==0){let spawnCode=result.error?.code,failure=new NativeDownloadError(spawnCode==="ETIMEDOUT"?`the binary didn't start within ${START_TIMEOUT_MS/1e3} seconds`:"the binary didn't start",result.error?"binary_did_not_start":result.signal?"binary_killed":"binary_exited"),code=result.error?spawnCode:result.signal??void 0;throw code&&/^[A-Z0-9_]+$/.test(code)&&(failure.code=code),failure}if(result.stdout.trim()!==version)throw new NativeDownloadError("the binary is a different version","version_mismatch")}function anySignal(signals){let controller=new AbortController;for(let signal of signals){if(signal.aborted){controller.abort(signal.reason);break}signal.addEventListener("abort",()=>controller.abort(signal.reason),{once:!0})}return controller.signal}var DNS_CODES=["ENOTFOUND","EAI_AGAIN"],CONNECT_TIMEOUT_CODES=["ETIMEDOUT","UND_ERR_CONNECT_TIMEOUT"],NETWORK_CODES=["EHOSTUNREACH","ENETUNREACH","ENETDOWN","EPIPE","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_SOCKET"],FILESYSTEM_CODES=["EACCES","EPERM","ENOSPC","EROFS","EEXIST","ENOENT","EISDIR","ENOTDIR","EDQUOT"];function toDownloadError(error,deadline){if(error instanceof NativeDownloadError)return error;let chain=[];for(let current=error,depth=0;current&&typeof current=="object"&&depth<6;current=current.cause,depth++)chain.push(current);let proxy=chain.map(err=>typeof err.message=="string"?/Proxy response \((\d+)\)/.exec(err.message):null).find(Boolean);if(proxy)return new NativeDownloadError(`proxy returned HTTP ${proxy[1]}`,proxy[1]==="407"?"proxy_auth_required":"proxy_refused");if(deadline?.aborted||chain.some(err=>err.name==="AbortError"||err.name==="TimeoutError"))return new NativeDownloadError("timed out","timed_out");let code=chain.map(err=>err.code).find(value=>typeof value=="string"&&/^[A-Z0-9_]+$/.test(value));if(!code)return new NativeDownloadError("unexpected error","other");let failure=new NativeDownloadError(code,kindOfCode(code));return failure.code=code,failure}function kindOfCode(code){return DNS_CODES.includes(code)?"dns":code==="ECONNREFUSED"?"connection_refused":code==="ECONNRESET"?"connection_reset":CONNECT_TIMEOUT_CODES.includes(code)?"connect_timeout":NETWORK_CODES.includes(code)?"network":FILESYSTEM_CODES.includes(code)?"filesystem":code.startsWith("CERT_")||code.startsWith("UNABLE_TO_")||code.startsWith("ERR_TLS_")||code.startsWith("ERR_SSL_")||code.includes("SELF_SIGNED")?"tls":"other"}var NPMRC_MAX_BYTES=64*1024;function readStart(file,maxBytes){let fd;try{fd=openSync(file,"r");let buffer=new Uint8Array(maxBytes),bytes=readSync(fd,buffer,0,maxBytes,0);return new TextDecoder().decode(buffer.subarray(0,bytes))}catch{return}finally{fd!==void 0&&closeSync(fd)}}function parseNpmrc(text){let settings=[];for(let line of text.split(`
|
|
8
8
|
`)){let trimmed=line.trim();if(!trimmed||trimmed[0]==="#"||trimmed[0]===";")continue;let equals=trimmed.indexOf("=");equals<=0||settings.push([trimmed.slice(0,equals).trim().toLowerCase(),trimmed.slice(equals+1).trim()])}return settings}var DEFAULT_REGISTRY_URL=/^https?:\/\/registry\.(?:npmjs\.org|yarnpkg\.com)\/?$/i;function describeEnvironment(){let proxy=["HTTP_PROXY","HTTPS_PROXY","ALL_PROXY"].some(name=>process.env[name]||process.env[name.toLowerCase()]),settings=[];for(let[key,value]of Object.entries(process.env)){let match=/^npm_config_(.+)$/i.exec(key);match&&value&&settings.push([match[1].toLowerCase().replace(/_/g,"-"),value])}let files=[process.env.npm_config_userconfig||process.env.NPM_CONFIG_USERCONFIG||join(homedir(),".npmrc")];for(let dir=process.cwd();files.push(join(dir,".npmrc")),dirname(dir)!==dir;dir=dirname(dir));for(let file of files){let text=readStart(file,NPMRC_MAX_BYTES);text!==void 0&&settings.push(...parseNpmrc(text))}let unquote=value=>value.replace(/^["']|["']$/g,""),isSet=value=>!["","null","false","undefined"].includes(unquote(value).toLowerCase()),values=(...keys)=>settings.filter(([key])=>keys.includes(key)).map(([,value])=>value),npmRegistry=values("registry","@vercel:registry").some(value=>!DEFAULT_REGISTRY_URL.test(unquote(value))),npmProxy=values("proxy","https-proxy").some(isSet),npmTls=values("cafile","ca","ca[]").some(isSet)||values("strict-ssl").some(value=>unquote(value)==="false");return{proxy,npmRegistry:npmRegistry?"custom":"default",npmProxy,npmTls}}function formatMegabytes(bytes){return`${Math.round(bytes/1e6)} MB`}export{NativeDownloadError,downloadNativeBinary,parseNpmrc,toDownloadError};
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vercel",
|
|
3
|
-
"version": "65.
|
|
3
|
+
"version": "65.10.0-snapshot-c80a43d75dc7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"preferGlobal": true,
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -34,28 +34,28 @@
|
|
|
34
34
|
"smol-toml": "1.5.2",
|
|
35
35
|
"undici": "5.29.0",
|
|
36
36
|
"uuid": "14.0.1",
|
|
37
|
-
"zod": "4.
|
|
38
|
-
"@vercel/backends": "24.0.1",
|
|
37
|
+
"zod": "4.6.7",
|
|
39
38
|
"@vercel/build-utils": "15.2.1",
|
|
39
|
+
"@vercel/backends": "24.0.1",
|
|
40
|
+
"@vercel/cli-config": "0.3.6-snapshot-c80a43d75dc7",
|
|
41
|
+
"@vercel/cli-auth": "0.3.15-snapshot-c80a43d75dc7",
|
|
40
42
|
"@vercel/container": "24.0.1",
|
|
41
|
-
"@vercel/cli-auth": "0.3.14",
|
|
42
|
-
"@vercel/elysia": "24.0.1",
|
|
43
|
-
"@vercel/cli-config": "0.3.5",
|
|
44
43
|
"@vercel/detect-agent": "1.2.7",
|
|
44
|
+
"@vercel/elysia": "24.0.1",
|
|
45
45
|
"@vercel/express": "24.0.1",
|
|
46
|
+
"@vercel/fastify": "24.0.1",
|
|
46
47
|
"@vercel/go": "27.0.1",
|
|
47
48
|
"@vercel/h3": "24.0.1",
|
|
48
|
-
"@vercel/fastify": "24.0.1",
|
|
49
|
-
"@vercel/hydrogen": "25.0.1",
|
|
50
|
-
"@vercel/koa": "24.0.1",
|
|
51
49
|
"@vercel/hono": "24.0.1",
|
|
50
|
+
"@vercel/koa": "24.0.1",
|
|
51
|
+
"@vercel/hydrogen": "25.0.1",
|
|
52
52
|
"@vercel/nestjs": "24.0.1",
|
|
53
|
-
"@vercel/node": "29.0.1",
|
|
54
53
|
"@vercel/next": "28.0.1",
|
|
54
|
+
"@vercel/node": "29.0.1",
|
|
55
|
+
"@vercel/remix-builder": "29.0.1",
|
|
55
56
|
"@vercel/python": "30.0.1",
|
|
56
|
-
"@vercel/python-analysis": "0.15.2",
|
|
57
57
|
"@vercel/redwood": "26.0.1",
|
|
58
|
-
"@vercel/
|
|
58
|
+
"@vercel/python-analysis": "0.15.2",
|
|
59
59
|
"@vercel/ruby": "26.0.1",
|
|
60
60
|
"@vercel/rust": "25.0.1",
|
|
61
61
|
"@vercel/static-build": "26.0.1"
|
|
@@ -127,7 +127,6 @@
|
|
|
127
127
|
"@types/ws": "8.18.1",
|
|
128
128
|
"@types/yauzl-promise": "2.1.0",
|
|
129
129
|
"@vercel/agent-eval": "^0.7.1",
|
|
130
|
-
"@vercel/sandbox": "3.3.0",
|
|
131
130
|
"@vercel/sdk": "^1.19.6",
|
|
132
131
|
"@vltpkg/graph": "1.0.6",
|
|
133
132
|
"@vltpkg/package-info": "1.0.6",
|
|
@@ -215,35 +214,36 @@
|
|
|
215
214
|
"xdg-app-paths": "5.1.0",
|
|
216
215
|
"yauzl-promise": "2.1.3",
|
|
217
216
|
"@vercel-internals/builder-orchestration": "1.0.33",
|
|
218
|
-
"@vercel-internals/
|
|
219
|
-
"@vercel-internals/cli-builder-integration": "1.1.2",
|
|
220
|
-
"@vercel-internals/runtimes": "1.2.7",
|
|
217
|
+
"@vercel-internals/cli-builder-integration": "1.1.3",
|
|
221
218
|
"@vercel-internals/get-package-json": "1.0.0",
|
|
219
|
+
"@vercel-internals/constants": "1.0.4",
|
|
222
220
|
"@vercel-internals/local-schedules": "0.1.0",
|
|
223
221
|
"@vercel-internals/service-topology": "1.0.31",
|
|
224
|
-
"@vercel-internals/types": "3.0.
|
|
225
|
-
"@vercel/
|
|
222
|
+
"@vercel-internals/types": "3.0.36",
|
|
223
|
+
"@vercel-internals/runtimes": "1.2.7",
|
|
226
224
|
"@vercel/client": "18.11.1",
|
|
227
|
-
"@vercel/
|
|
228
|
-
"@vercel/
|
|
225
|
+
"@vercel/frameworks": "3.35.0",
|
|
226
|
+
"@vercel/error-utils": "2.2.1",
|
|
229
227
|
"@vercel/routing-utils": "6.6.1",
|
|
230
|
-
"@vercel/
|
|
228
|
+
"@vercel/functions": "3.10.6-snapshot-c80a43d75dc7",
|
|
229
|
+
"@vercel/fs-detectors": "7.11.4"
|
|
231
230
|
},
|
|
232
231
|
"optionalDependencies": {
|
|
233
|
-
"@vercel/cli-support": "65.
|
|
234
|
-
"@vercel/vc-native-darwin-arm64": "65.
|
|
235
|
-
"@vercel/vc-native-darwin-x64": "65.
|
|
236
|
-
"@vercel/vc-native-linux-arm64": "65.
|
|
237
|
-
"@vercel/vc-native-linux-arm64-musl": "65.
|
|
238
|
-
"@vercel/vc-native-linux-x64": "65.
|
|
239
|
-
"@vercel/vc-native-linux-x64-musl": "65.
|
|
232
|
+
"@vercel/cli-support": "65.10.0-snapshot-c80a43d75dc7",
|
|
233
|
+
"@vercel/vc-native-darwin-arm64": "65.10.0-snapshot-c80a43d75dc7",
|
|
234
|
+
"@vercel/vc-native-darwin-x64": "65.10.0-snapshot-c80a43d75dc7",
|
|
235
|
+
"@vercel/vc-native-linux-arm64": "65.10.0-snapshot-c80a43d75dc7",
|
|
236
|
+
"@vercel/vc-native-linux-arm64-musl": "65.10.0-snapshot-c80a43d75dc7",
|
|
237
|
+
"@vercel/vc-native-linux-x64": "65.10.0-snapshot-c80a43d75dc7",
|
|
238
|
+
"@vercel/vc-native-linux-x64-musl": "65.10.0-snapshot-c80a43d75dc7",
|
|
239
|
+
"@vercel/vc-native-win32-arm64": "65.10.0-snapshot-c80a43d75dc7",
|
|
240
|
+
"@vercel/vc-native-win32-x64": "65.10.0-snapshot-c80a43d75dc7"
|
|
240
241
|
},
|
|
241
242
|
"scripts": {
|
|
242
243
|
"test": "node scripts/test.mjs --run",
|
|
243
244
|
"test-e2e": "node scripts/test.mjs --run test/e2e-",
|
|
244
245
|
"test-e2e-node-all-versions": "rimraf test/fixtures/integration && vitest run --config ./vitest.config.mts test/integration-1.test.ts test/integration-2.test.ts test/integration-3.test.ts test/integration-link-env-pull.test.ts",
|
|
245
246
|
"test-dev": "vitest run --config ./vitest.config.mts test/dev/",
|
|
246
|
-
"test-testserver": "node scripts/testserver/main.mjs -- vitest run --config ./vitest.testserver.config.mts",
|
|
247
247
|
"coverage": "codecov",
|
|
248
248
|
"build": "node scripts/build.mjs",
|
|
249
249
|
"build-binary": "node scripts/build-binary.mjs",
|