vercel 59.25.4 → 60.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{add-B6SKHP6R.js → add-7OUJAZIH.js} +1 -1
- package/dist/chunks/{add-6MVD3GYU.js → add-D4E2N3HU.js} +1 -1
- package/dist/chunks/{add-Y34MSA3T.js → add-UG57LDJR.js} +1 -1
- package/dist/chunks/{build-PC5EQP2P.js → build-VSV5LVJK.js} +1 -1
- package/dist/chunks/{chunk-GJZRIDFC.js → chunk-3YOA3ODU.js} +1 -1
- package/dist/chunks/chunk-4JFQYK65.js +9 -0
- package/dist/chunks/{chunk-F7UV4YLV.js → chunk-4VFDQB4H.js} +2 -2
- package/dist/chunks/{chunk-P6C5L7KC.js → chunk-4XAIK5CI.js} +3 -3
- package/dist/chunks/{chunk-Q6O7GA7P.js → chunk-5B3BHCFE.js} +1 -1
- package/dist/chunks/{chunk-NBVY237X.js → chunk-5ENY7DSN.js} +1 -1
- package/dist/chunks/{chunk-CDK22NA2.js → chunk-5JFBDZTI.js} +1 -1
- package/dist/chunks/{chunk-Q22JZSWD.js → chunk-5LH3CZMJ.js} +1 -1
- package/dist/chunks/chunk-5UOVEMYX.js +7 -0
- package/dist/chunks/{chunk-OICV3NTQ.js → chunk-5WW7LFI6.js} +1 -1
- package/dist/chunks/{chunk-4M7CX4YK.js → chunk-AH3A52IK.js} +1 -1
- package/dist/chunks/{chunk-JUUECT2E.js → chunk-ECJKSW62.js} +1 -1
- package/dist/chunks/{chunk-VTQUMQ2P.js → chunk-EWSS6LUE.js} +1 -1
- package/dist/chunks/{chunk-3YEWE5MO.js → chunk-FFQ2SDHN.js} +1 -1
- package/dist/chunks/{chunk-DUZUOQVB.js → chunk-I7PARON4.js} +1 -1
- package/dist/chunks/{chunk-XJUAWZU2.js → chunk-IAS5LONF.js} +1 -1
- package/dist/chunks/{chunk-M3HTK4NR.js → chunk-JC4FG6EW.js} +1 -1
- package/dist/chunks/{chunk-TOHAMRDX.js → chunk-JMNAVONO.js} +1 -1
- package/dist/chunks/{chunk-QMO7LJLU.js → chunk-JSVZKMZO.js} +1 -1
- package/dist/chunks/{chunk-TFG7RTGQ.js → chunk-KDKSYHTU.js} +1 -1
- package/dist/chunks/{chunk-47BI2WLV.js → chunk-LTFVLQEF.js} +1 -1
- package/dist/chunks/{chunk-TGR6YHGO.js → chunk-MCZNQE4G.js} +1 -1
- package/dist/chunks/{chunk-ZY3FVURC.js → chunk-MNR5YQDP.js} +1 -1
- package/dist/chunks/{chunk-Q7UVAEN3.js → chunk-MRSU4C5C.js} +1 -1
- package/dist/chunks/{chunk-UOHEF2JZ.js → chunk-MWU4ZPZ4.js} +4 -4
- package/dist/chunks/{chunk-4NAYJHLI.js → chunk-PGHEHRSM.js} +1 -1
- package/dist/chunks/{chunk-643SKD3D.js → chunk-PNY65NDD.js} +1 -1
- package/dist/chunks/chunk-QFPCR4NL.js +7 -0
- package/dist/chunks/{chunk-FVIQMWYR.js → chunk-QXC2G7JY.js} +1 -1
- package/dist/chunks/{chunk-UWLDK7LJ.js → chunk-REONGB6P.js} +1 -1
- package/dist/chunks/chunk-SW7MNF4H.js +7 -0
- package/dist/chunks/{chunk-MAWP4YIY.js → chunk-TH2WHOUV.js} +1 -1
- package/dist/chunks/{chunk-WKZ6JSGZ.js → chunk-TKBORMUF.js} +1 -1
- package/dist/chunks/{chunk-T6A5HA5U.js → chunk-TQLNWAJY.js} +1 -1
- package/dist/chunks/{chunk-26LYRNMQ.js → chunk-TUVMXISG.js} +2 -2
- package/dist/chunks/{chunk-PSPKPQRS.js → chunk-TZN45RBM.js} +1 -1
- package/dist/chunks/{chunk-EIXOJUNN.js → chunk-UTVDFSQS.js} +1 -1
- package/dist/chunks/chunk-VHTNAYWA.js +7 -0
- package/dist/chunks/{chunk-GA65WALP.js → chunk-VVWALKUM.js} +1 -1
- package/dist/chunks/chunk-WSZHNPA6.js +7 -0
- package/dist/chunks/{chunk-MXCU7XDC.js → chunk-WTAM6QXM.js} +1 -1
- package/dist/chunks/{chunk-TF6R2AK2.js → chunk-XU4ETL7O.js} +1 -1
- package/dist/chunks/{chunk-UFFYFZAM.js → chunk-Y4GI6BXT.js} +1 -1
- package/dist/chunks/{chunk-6LE3FU2P.js → chunk-Y7PHTVZ6.js} +1 -1
- package/dist/chunks/{chunk-AKZOYEBP.js → chunk-YJZFFNUB.js} +4 -6
- package/dist/chunks/{clear-HVRCYR7Y.js → clear-NUMBAODD.js} +1 -1
- package/dist/chunks/{compile-vercel-config-C6HK4CET.js → compile-vercel-config-75XN6ZKP.js} +1 -1
- package/dist/chunks/{config-IGE3P5DW.js → config-26RISHPB.js} +1 -1
- package/dist/chunks/{config-OWBQ7UMH.js → config-Q6V74NTU.js} +1 -1
- package/dist/chunks/config-validator.mjs +1 -1
- package/dist/chunks/{constants-G4UYVLOF.js → constants-NCE2LWSS.js} +1 -1
- package/dist/chunks/{delete-7TLDNY3R.js → delete-LGIPH2II.js} +1 -1
- package/dist/chunks/{delete-44OXGSMJ.js → delete-PWVNXN4N.js} +1 -1
- package/dist/chunks/{detect-projects-MUTN7PJG.js → detect-projects-3AFQ2AC5.js} +1 -1
- package/dist/chunks/{detect-services-YFGQZSKL.js → detect-services-EX5ZTO5D.js} +1 -1
- package/dist/chunks/{disable-CAXQ5K7P.js → disable-62HLGVJG.js} +1 -1
- package/dist/chunks/{discard-VK4JVVUI.js → discard-LYY4AMIA.js} +1 -1
- package/dist/chunks/{edit-QQYOUSYT.js → edit-E6AMU6OJ.js} +1 -1
- package/dist/chunks/{edit-OUEGHFNI.js → edit-FEZFLAIJ.js} +1 -1
- package/dist/chunks/{enable-J3JXIEXT.js → enable-QDIH43E3.js} +1 -1
- package/dist/chunks/{export-V6BO2IPM.js → export-FO5JCAB4.js} +1 -1
- package/dist/chunks/{generate-cert-for-deploy-MICLCYMH.js → generate-cert-for-deploy-FG57HLGC.js} +1 -1
- package/dist/chunks/{image-2XS5KWHL.js → image-LZ32HAQV.js} +1 -1
- package/dist/chunks/{import-builders-P5BVQ6XV.js → import-builders-SELE5VYE.js} +1 -1
- package/dist/chunks/{inspect-XASVKP45.js → inspect-22LMAKCS.js} +1 -1
- package/dist/chunks/{inspect-NGKRKYFJ.js → inspect-BUNQSUCN.js} +1 -1
- package/dist/chunks/{inspect-WEURPPD2.js → inspect-D2S5CEPW.js} +1 -1
- package/dist/chunks/{inspect-4BJNJTCC.js → inspect-LGQ44GYB.js} +1 -1
- package/dist/chunks/{inspect-FFSXZNJX.js → inspect-XWT4QQRM.js} +1 -1
- package/dist/chunks/{list-DMNKMHHX.js → list-TXJQFAGW.js} +1 -1
- package/dist/chunks/{list-P35Q5I52.js → list-WRQRFVUL.js} +1 -1
- package/dist/chunks/{list-WZZJBBRG.js → list-XL4GMICP.js} +1 -1
- package/dist/chunks/{login-5OBK5VD6.js → login-QIPGRGDE.js} +1 -1
- package/dist/chunks/{logs-VRRUJRHE.js → logs-P4NGHB4I.js} +1 -1
- package/dist/chunks/{ls-YLEQL3HD.js → ls-COWL5TXJ.js} +1 -1
- package/dist/chunks/{ls-PFPQ4FVQ.js → ls-HTSBFV7C.js} +1 -1
- package/dist/chunks/{ls-ZQ7XIDOR.js → ls-JGBNPJEW.js} +1 -1
- package/dist/chunks/{ls-KDS7XXBR.js → ls-LOXX7YQ2.js} +1 -1
- package/dist/chunks/{ls-URHGCRIJ.js → ls-OCTMGB6C.js} +1 -1
- package/dist/chunks/{ls-J6HN2ZV6.js → ls-TXXVAVMF.js} +1 -1
- package/dist/chunks/{ls-6RY2JL5Y.js → ls-YTZOJEBT.js} +1 -1
- package/dist/chunks/mutate-BZHBI2PK.js +9 -0
- package/dist/chunks/notifications-CTNZYZZ2.js +7 -0
- package/dist/chunks/{open-A6XQS4I6.js → open-D53RMFUT.js} +1 -1
- package/dist/chunks/{permissions-C4UXCLJM.js → permissions-XHGXTFEU.js} +1 -1
- package/dist/chunks/{publish-TEH23DH4.js → publish-WTIW7W3Z.js} +1 -1
- package/dist/chunks/{pull-75Z4DDJE.js → pull-N5VAKGFJ.js} +1 -1
- package/dist/chunks/{purchase-domain-if-available-MMZA2NKN.js → purchase-domain-if-available-ZBXG4E7J.js} +1 -1
- package/dist/chunks/{push-MVETL2WL.js → push-ZQWVBEAJ.js} +1 -1
- package/dist/chunks/{query-SZHNXTY4.js → query-NNJNXQZG.js} +1 -1
- package/dist/chunks/{reorder-QLBFRK7S.js → reorder-64FNHY6J.js} +1 -1
- package/dist/chunks/{reply-YAQS5FVC.js → reply-MIJ6C3KT.js} +1 -1
- package/dist/chunks/{resolve-HANE4JO2.js → resolve-5HPYDKB4.js} +1 -1
- package/dist/chunks/{restore-4JNAT7IE.js → restore-KQ5T3MWQ.js} +1 -1
- package/dist/chunks/{rm-JWNSB3XZ.js → rm-C5GXOG3I.js} +1 -1
- package/dist/chunks/{rm-CVCPQXJI.js → rm-HZRLQ2FR.js} +1 -1
- package/dist/chunks/{rm-ZSFTT5HX.js → rm-S3TN7REH.js} +1 -1
- package/dist/chunks/{rm-LYOMGU2M.js → rm-WTUTQK3R.js} +1 -1
- package/dist/chunks/{rm-ARC7WDLH.js → rm-ZLKEDKBI.js} +1 -1
- package/dist/chunks/{rule-inspect-3RVLM4SD.js → rule-inspect-G4RGKBOI.js} +1 -1
- package/dist/chunks/{rules-NYBEYE3C.js → rules-5ECWTZPP.js} +1 -1
- package/dist/chunks/{schema-Y7A5YQQX.js → schema-EQCAQVSE.js} +1 -1
- package/dist/chunks/{schema-XAUOL37J.js → schema-NERSRSCG.js} +1 -1
- package/dist/chunks/{set-CTR3K32H.js → set-7HZRIJ6K.js} +1 -1
- package/dist/chunks/{setup-and-link-DHQEQNHY.js → setup-and-link-G4G4JJ6W.js} +1 -1
- package/dist/chunks/{tags-Y6NFCY2R.js → tags-JSRGITRJ.js} +1 -1
- package/dist/chunks/{update-SPG6HQBN.js → update-4B5AEB2C.js} +1 -1
- package/dist/commands/build/index.js +1 -1
- package/dist/commands/deploy/index.js +3 -3
- package/dist/commands/dev/index.js +20 -17
- 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-bulk.js +46 -44
- package/dist/index.js +1 -1
- package/dist/version.mjs +1 -1
- package/package.json +54 -53
- package/dist/chunks/chunk-3QHJYVCY.js +0 -7
- package/dist/chunks/chunk-67ADLWX4.js +0 -7
- package/dist/chunks/chunk-AZ6NRDHG.js +0 -7
- package/dist/chunks/chunk-GTDDB5H3.js +0 -9
- package/dist/chunks/chunk-KUVMCIR4.js +0 -7
- package/dist/chunks/chunk-OAKO6LVS.js +0 -7
- package/dist/chunks/mutate-YBYD3KNW.js +0 -9
- package/dist/chunks/notifications-SB5JHLTX.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{validatePaths,validateRootDirectory}from"../../chunks/chunk-
|
|
7
|
+
import{validatePaths,validateRootDirectory}from"../../chunks/chunk-PGHEHRSM.js";import{DeployTelemetryClient,Now,UploadErrorMissingArchive,getBuildMachineResourceConfig,printDeploymentStatus,printPrebuiltFilePathMapIgnoreWarning}from"../../chunks/chunk-4VFDQB4H.js";import"../../chunks/chunk-JSVZKMZO.js";import{parseRepoUrl}from"../../chunks/chunk-XQQGQ55A.js";import"../../chunks/chunk-2H77IRPI.js";import{pickOverrides,require_dist as require_dist2}from"../../chunks/chunk-TUVMXISG.js";import"../../chunks/chunk-OHDEHZLX.js";import"../../chunks/chunk-M2W3HKV3.js";import"../../chunks/chunk-PHW54NU5.js";import"../../chunks/chunk-U56NHYAH.js";import"../../chunks/chunk-3YOA3ODU.js";import"../../chunks/chunk-TRTEXGVN.js";import"../../chunks/chunk-T3GQAMBJ.js";import{require_ci_info}from"../../chunks/chunk-T52FMXWC.js";import"../../chunks/chunk-V6MR45PD.js";import{isGuidanceEnabled}from"../../chunks/chunk-DQ2KI6FO.js";import{stamp_default}from"../../chunks/chunk-XPXOV5UO.js";import"../../chunks/chunk-2I64AYHG.js";import{parseMeta}from"../../chunks/chunk-CZSOZKHX.js";import"../../chunks/chunk-JZRMH5UA.js";import{require_ms}from"../../chunks/chunk-QTKJC2O5.js";import{validateJsonOutput}from"../../chunks/chunk-D4MW3RDW.js";import{promptExperimentalServicesMigration}from"../../chunks/chunk-KDKSYHTU.js";import"../../chunks/chunk-VHTNAYWA.js";import"../../chunks/chunk-JMNAVONO.js";import{compileVercelConfig}from"../../chunks/chunk-LTFVLQEF.js";import"../../chunks/chunk-P2O5DOYE.js";import"../../chunks/chunk-L3JDEHCQ.js";import{getSubcommand}from"../../chunks/chunk-ETV3C2CV.js";import"../../chunks/chunk-OI263FBO.js";import{ensureLink,parseEnv}from"../../chunks/chunk-Y4GI6BXT.js";import"../../chunks/chunk-PNY65NDD.js";import{AGENT_STATUS}from"../../chunks/chunk-T4LZS75P.js";import"../../chunks/chunk-KK4AJES5.js";import{continueSubcommand,deployCommand,deprecatedArchiveSplitTgz,getCommandAliases,initSubcommand}from"../../chunks/chunk-4JFQYK65.js";import"../../chunks/chunk-M5AV545M.js";import"../../chunks/chunk-IVWPQYIH.js";import"../../chunks/chunk-65JYSI26.js";import"../../chunks/chunk-YMVDWVMO.js";import"../../chunks/chunk-O7G3CZ42.js";import"../../chunks/chunk-N3N5UHIL.js";import"../../chunks/chunk-WUZD4KBL.js";import"../../chunks/chunk-QFPCR4NL.js";import"../../chunks/chunk-5ENY7DSN.js";import"../../chunks/chunk-UTVDFSQS.js";import"../../chunks/chunk-SW7MNF4H.js";import"../../chunks/chunk-MEAY2K5Z.js";import"../../chunks/chunk-EQ52F4LH.js";import"../../chunks/chunk-CVKB54WW.js";import"../../chunks/chunk-JKTQV2QJ.js";import"../../chunks/chunk-Y7PHTVZ6.js";import"../../chunks/chunk-WSZHNPA6.js";import"../../chunks/chunk-FAW6NBLQ.js";import"../../chunks/chunk-5UOVEMYX.js";import"../../chunks/chunk-SOJCELXH.js";import{param}from"../../chunks/chunk-SXUEGVWB.js";import{help}from"../../chunks/chunk-V6IKQCOT.js";import{table}from"../../chunks/chunk-6TAQ6OWD.js";import{parseTarget}from"../../chunks/chunk-R3B67TKQ.js";import{getDeployment}from"../../chunks/chunk-C5KVTG2O.js";import{mapCertError}from"../../chunks/chunk-6NPXWN5F.js";import"../../chunks/chunk-WPS6JZF6.js";import"../../chunks/chunk-ZKYS7EAB.js";import{highlight,readLocalConfig}from"../../chunks/chunk-AH3A52IK.js";import"../../chunks/chunk-JSKGZLE4.js";import"../../chunks/chunk-A5VLP25I.js";import"../../chunks/chunk-RCTYVKM5.js";import"../../chunks/chunk-7T6TL3GQ.js";import{require_types}from"../../chunks/chunk-GHM7V3GG.js";import"../../chunks/chunk-5XJNPXQK.js";import{printError}from"../../chunks/chunk-N5AIKGEO.js";import{parseArguments}from"../../chunks/chunk-WWB66KP5.js";import"../../chunks/chunk-MY4MONOH.js";import{VERCEL_DIR,VERCEL_DIR_PROJECT,addToGitIgnore,createGitMeta,getGitConfigPath,getGitExecutable,getLinkFromDir,getRepoLink,getVercelDirectory,isOwnerLookupUnavailableLink,isRemoteLookupSkippedLink,linkFolderToProject,parseGitConfig,pluckRemoteUrls,require_lib}from"../../chunks/chunk-4XAIK5CI.js";import"../../chunks/chunk-F2ZWW2IO.js";import"../../chunks/chunk-B4ATVYZW.js";import"../../chunks/chunk-PPCFQQSU.js";import"../../chunks/chunk-BRK4OB4B.js";import"../../chunks/chunk-OSCCYU74.js";import{outputAgentError,withGlobalFlags}from"../../chunks/chunk-KCARCOP5.js";import{quoteArg}from"../../chunks/chunk-BKV35LVB.js";import{getFlagsSpecification}from"../../chunks/chunk-JAJW3P42.js";import{printAlignedLabel}from"../../chunks/chunk-YMM3VY3J.js";import"../../chunks/chunk-SM5JI6QM.js";import"../../chunks/chunk-VOZEB6PD.js";import{AliasDomainConfigured,BuildError,BuildsRateLimited,ConflictingConfigFiles,ConflictingFilePath,ConflictingPathSegment,DeploymentNotFound,DeploymentsRateLimited,DeprecatedNowJson,DomainNotFound,DomainNotVerified,DomainPermissionDenied,DomainVerificationFailed,InvalidDomain,MissingBuildScript,NotDomainOwner,NowError,SchemaValidationFailed,TooManyRequests,UserAborted,code,isAPIError,require_bytes}from"../../chunks/chunk-RINZXCDJ.js";import{getCommandName,packageName}from"../../chunks/chunk-FI772UVH.js";import{emoji,link_default,output_manager_default,prependEmoji,require_build_utils}from"../../chunks/chunk-EWWFNMPZ.js";import{require_dist}from"../../chunks/chunk-QGIQK47P.js";import"../../chunks/chunk-AVSPFBLM.js";import"../../chunks/chunk-XCJDGQO7.js";import"../../chunks/chunk-YPTLSODC.js";import"../../chunks/chunk-7HL2RPUO.js";import{require_source}from"../../chunks/chunk-U7KCDTCH.js";import"../../chunks/chunk-N3ZZ7FHQ.js";import"../../chunks/chunk-GU6VIFR5.js";import{__toESM}from"../../chunks/chunk-6L236MNA.js";var import_build_utils2=__toESM(require_build_utils(),1),import_client=__toESM(require_dist2(),1),import_error_utils2=__toESM(require_dist(),1),import_bytes=__toESM(require_bytes(),1),import_chalk=__toESM(require_source(),1),import_fs_extra4=__toESM(require_lib(),1),import_ms=__toESM(require_ms(),1);import{join as join4,resolve as resolve2}from"path";async function createDeploy(client,now,contextName,path,createArgs,org,isSettingUpProject,archive){try{return await now.create(path,createArgs,org,isSettingUpProject,archive)}catch(err){if(isAPIError(err)){if(err.code==="rate_limited")throw new DeploymentsRateLimited(err.message);if(err.code==="domain_missing")throw new DomainNotFound(err.value);if(err.code==="domain_not_found"&&err.domain)throw new DomainNotFound(err.domain);if(err.code==="domain_not_verified"&&err.domain)throw new DomainNotVerified(err.domain);if(err.code==="domain_not_verified"&&err.value)throw new DomainVerificationFailed(err.value);if(err.code==="not_domain_owner")throw new NotDomainOwner(err.message);if(err.code==="builds_rate_limited")throw new BuildsRateLimited(err.message,{ctaLabel:err.ctaLabel,ctaUrl:err.ctaUrl,action:err.action,link:err.link});if(err.code==="forbidden")throw new DomainPermissionDenied(err.value,contextName);if(err.code==="bad_request"&&err.keyword)throw new SchemaValidationFailed(err.message,err.keyword,err.dataPath,err.params);if(err.code==="domain_configured")throw new AliasDomainConfigured(err);if(err.code==="missing_build_script")throw new MissingBuildScript(err);if(err.code==="conflicting_file_path")throw new ConflictingFilePath(err);if(err.code==="conflicting_path_segment")throw new ConflictingPathSegment(err);if(err.code==="cert_missing"){let{default:generateCertForDeploy}=await import("../../chunks/generate-cert-for-deploy-FG57HLGC.js"),result=await generateCertForDeploy(client,contextName,err.value);return result instanceof NowError?result:createDeploy(client,now,contextName,path,createArgs,org,isSettingUpProject)}if(err.code==="not_found")throw new DeploymentNotFound({context:contextName});let certError=mapCertError(err);if(certError)return certError}throw err}}async function getDeploymentChecks(client,deploymentId){return await client.fetch(`/v1/deployments/${encodeURIComponent(deploymentId)}/checks`)}async function getDeploymentCheckRuns(client,deploymentId){return await client.fetch(`/v2/deployments/${encodeURIComponent(deploymentId)}/check-runs`)}function parseNdjson(text){let entries=[];for(let line of text.split(`
|
|
8
8
|
`))if(line.trim())try{entries.push(JSON.parse(line))}catch{}return entries}async function getDeploymentCheckRunLogs(client,deploymentId,checkRunId){let url=`/v2/deployments/${encodeURIComponent(deploymentId)}/check-runs/${encodeURIComponent(checkRunId)}/logs`;await new Promise(resolve3=>setTimeout(resolve3,1e3));for(let attempt=0;attempt<5;attempt++){attempt>0&&await new Promise(resolve3=>setTimeout(resolve3,2e3));let res=await client.fetch(url,{json:!1}),text=typeof res=="string"?res:await res.text(),entries=parseNdjson(text);if(entries.some(e=>e.level==="eof"))return entries.filter(e=>e.level!=="eof"&&e.level!=="debug").map(({level,timestamp,message})=>({level,timestamp,message}))}return[]}var import_fs_extra=__toESM(require_lib(),1);import{join}from"path";async function getPrebuiltJson(directory){try{return await import_fs_extra.default.readJSON(join(directory,"builds.json"))}catch{}return null}import{resolve}from"path";var SUPPORTED_PROVIDERS=new Set(["github","gitlab","bitbucket"]),defaultDeps={getGitConfigPath,parseGitConfig,fetchProject:(client,project)=>client.fetch(`/v9/projects/${encodeURIComponent(project.id)}`,{accountId:project.accountId}),buildCommand:(client,command)=>withGlobalFlags(client,command,{preserveProject:!0})};async function getGitConnectRecommendation(client,cwd,project,options={}){let{alreadyOffered=!1,deps=defaultDeps}=options;try{if(project.link||alreadyOffered)return;let gitConfigPath=deps.getGitConfigPath({cwd});if(!gitConfigPath)return;let gitConfig=await deps.parseGitConfig(gitConfigPath),remoteUrls=gitConfig&&pluckRemoteUrls(gitConfig);if(!remoteUrls)return;let remotes=Object.values(remoteUrls);if(!remotes.some(remoteUrl=>{let repo=parseRepoUrl(remoteUrl);return repo&&SUPPORTED_PROVIDERS.has(repo.provider)})||client.nonInteractive&&remotes.length!==1||(await deps.fetchProject(client,project)).link)return;let cwdFlag=resolve(cwd)===resolve(client.cwd)?"":` --cwd ${quoteArg(cwd)}`;return deps.buildCommand(client,`git connect${cwdFlag}`)}catch(error){output_manager_default.debug(`Failed to resolve Git connection guidance: ${error}`);return}}var import_types=__toESM(require_types(),1),validArchiveFormats=new Set(import_types.VALID_ARCHIVE_FORMATS);function isValidArchive(archive){return validArchiveFormats.has(archive)}function getErrorCta(source){if(typeof source.ctaLabel=="string"&&typeof source.ctaUrl=="string")return{label:source.ctaLabel,url:source.ctaUrl};if(typeof source.action=="string"&&typeof source.link=="string")return{label:source.action,url:source.link}}var import_fs_extra3=__toESM(require_lib(),1);import{join as join3}from"path";var import_fs_extra2=__toESM(require_lib(),1),import_ci_info=__toESM(require_ci_info(),1),import_build_utils=__toESM(require_build_utils(),1),import_error_utils=__toESM(require_dist(),1);import{join as join2}from"path";var VERCEL_DIR_ANONYMOUS="anonymous.json";function anonymousStatePath(cwd){return join2(cwd,VERCEL_DIR,VERCEL_DIR_ANONYMOUS)}async function readAnonymousState(cwd){try{let state=await(0,import_fs_extra2.readJSON)(anonymousStatePath(cwd));if(typeof state?.projectId=="string"&&typeof state.token=="string"&&typeof state.claimUrl=="string"&&typeof state.expiresAt=="number")return state}catch{}return null}async function writeAnonymousState(cwd,state){let path=anonymousStatePath(cwd);await(0,import_fs_extra2.outputJSON)(path,state,{spaces:2,mode:384}),await(0,import_fs_extra2.chmod)(path,384),await addToGitIgnore(cwd)}async function clearAnonymousState(cwd){await(0,import_fs_extra2.remove)(anonymousStatePath(cwd))}async function bootstrapAnonymousProject(client){let{projectId,token,claimUrl,expiresAt}=await client.fetch("/v1/anonymous/projects?surface=cli",{method:"POST",body:{},useCurrentTeam:!1,retry:{retries:0}});return{projectId,token,claimUrl,expiresAt}}async function ensureAnonymousLink(client,cwd,{requireExistingState=!1,confirmed=!0}={}){if(import_ci_info.default.isCI||!!((0,import_build_utils.getPlatformEnv)("ORG_ID")&&(0,import_build_utils.getPlatformEnv)("PROJECT_ID"))||!!await getLinkFromDir(getVercelDirectory(cwd))||!!(await getRepoLink(client,cwd))?.repoConfig)return"refused";let state=await readAnonymousState(cwd);if(state&&state.expiresAt<=Date.now())return output_manager_default.prettyError({message:`Your temporary deployment has expired. Run ${getCommandName("login")} to create an account and keep deploying this app.`}),"failed";if(!state&&requireExistingState)return"refused";if(!confirmed&&!state)return"confirmation-required";if(!state){try{state=await bootstrapAnonymousProject(client)}catch(err){return output_manager_default.debug(`Anonymous bootstrap failed: ${(0,import_error_utils.errorToString)(err)}`),"refused"}await writeAnonymousState(cwd,state),output_manager_default.log("Not authenticated. Deploying anonymously.")}return client.authConfig={token:state.token,skipWrite:!0},delete process.env.VERCEL_TEAM_ID,{status:"linked",anonymous:!0,expiresAt:state.expiresAt,claimUrl:state.claimUrl,org:{type:"user",id:"",slug:"anonymous"},project:{id:state.projectId,name:state.projectId}}}function validateAnonymousTarget(isAnonymous,target){return isAnonymous&&target&&target!=="production"?(output_manager_default.error(`Anonymous deployments always target production, so "${target}" is not available. Remove the ${param("--target")} option, or run ${getCommandName("login")} to deploy to other environments.`),!1):!0}async function setupAnonymousDeployment(client,cwd,{isAnonymous,dryRun}){isAnonymous||await clearAnonymousState(cwd);let anonymousLink;if(isAnonymous){let anonymous=await ensureAnonymousLink(client,cwd,{requireExistingState:dryRun});if(anonymous==="refused"){let{default:promptMissingCredentials}=await import("../../chunks/prompt-missing-credentials-KCPCA6L7.js"),loginExitCode=await promptMissingCredentials(client);if(loginExitCode!==0)return loginExitCode;isAnonymous=!1}else{if(anonymous==="failed")return 1;if(anonymous==="confirmation-required")return 1;anonymousLink=anonymous}}return{isAnonymous,anonymousLink}}async function handleAnonymousDeploymentError({client,cwd,error,link,isV0,retry}){if(!(!link||!isAPIError(error))){if(error.code==="anonymous_project_claimed"){if(client.nonInteractive||!client.stdin.isTTY)return output_manager_default.prettyError({message:`This project was claimed successfully. Run ${getCommandName("login")} to continue deploying it.`}),1;output_manager_default.log("This project was claimed successfully. Log in to continue deploying it.");let loginExitCode;try{let{default:login}=await import("../../chunks/login-VJZGWSOW.js");loginExitCode=await login(client,{shouldParseArgs:!1})}catch(loginError){return printError(loginError),1}if(loginExitCode!==0)return loginExitCode;let claimedProjectLink=await ensureLink("deploy",client,cwd,{autoConfirm:!0,projectName:link.project.id,failIfNotFound:!0,allowOwnerLookupFallback:!0,v0:isV0});return typeof claimedProjectLink=="number"?claimedProjectLink:(await linkFolderToProject(client,cwd,{projectId:claimedProjectLink.project.id,orgId:claimedProjectLink.org.id},claimedProjectLink.project.name,claimedProjectLink.org.slug,"link",!0,!1),await clearAnonymousState(cwd),retry())}if(error.status===401||error.status===410)return await clearAnonymousState(cwd),output_manager_default.prettyError({message:`Your temporary deployment has expired. Run ${getCommandName("login")} to create an account and keep deploying this app.`}),1}}async function runImplicitBuild(client,cwd){let projectJsonPath=join3(cwd,VERCEL_DIR,VERCEL_DIR_PROJECT),projectJsonExists=await import_fs_extra3.default.pathExists(projectJsonPath);projectJsonExists||await import_fs_extra3.default.outputJSON(projectJsonPath,{settings:{}},{spaces:2}),await import_fs_extra3.default.pathExists(join3(cwd,"package.json"))&&output_manager_default.log("Building your project locally\u2026");let originalArgv=client.argv,originalCwd=client.cwd,originalStdout=client.stdout,previousVercelFirstDeployment=process.env.VERCEL_FIRST_DEPLOYMENT;client.cwd=cwd,client.setArgv([...originalArgv.slice(0,2),"build","--prod","--yes"]),process.env.VERCEL_FIRST_DEPLOYMENT="1",client.stdout=createSinkStream();try{let build=(await import("../build/index.js")).default;return await build(client)}finally{client.setArgv(originalArgv),client.cwd=originalCwd,client.stdout=originalStdout,previousVercelFirstDeployment===void 0?delete process.env.VERCEL_FIRST_DEPLOYMENT:process.env.VERCEL_FIRST_DEPLOYMENT=previousVercelFirstDeployment,projectJsonExists||await import_fs_extra3.default.remove(projectJsonPath)}}function createSinkStream(){return{isTTY:!1,write:()=>!0}}var COMMAND_CONFIG={init:getCommandAliases(initSubcommand),continue:getCommandAliases(continueSubcommand)},deploy_default=async client=>{let telemetryClient=new DeployTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArguments=null,flagsSpecification=getFlagsSpecification(deployCommand.options);try{parsedArguments=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(error){return printError(error),1}let subArgs=parsedArguments.args[0]===deployCommand.name?parsedArguments.args.slice(1):parsedArguments.args,{subcommand,subcommandOriginal}=getSubcommand(subArgs,COMMAND_CONFIG);function printSubcommandHelp(command){output_manager_default.print(help(command,{parent:deployCommand,columns:client.stderr.columns}))}switch(subcommand){case"init":return parsedArguments.flags["--help"]?(telemetryClient.trackCliFlagHelp("deploy",subcommandOriginal),printSubcommandHelp(initSubcommand),2):(telemetryClient.trackCliSubcommandInit(subcommandOriginal),handleInitDeployment(client,telemetryClient));case"continue":return parsedArguments.flags["--help"]?(telemetryClient.trackCliFlagHelp("deploy",subcommandOriginal),printSubcommandHelp(continueSubcommand),2):(telemetryClient.trackCliSubcommandContinue(subcommandOriginal),handleContinueSubcommand(client,telemetryClient));default:return parsedArguments.flags["--help"]?(telemetryClient.trackCliFlagHelp("deploy"),output_manager_default.print(help(deployCommand,{columns:client.stderr.columns})),2):handleDefaultDeploy(client,telemetryClient)}};async function handleInitDeployment(client,telemetryClient){let flagsSpecification=getFlagsSpecification(initSubcommand.options),parsedArguments;try{parsedArguments=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error2){return printError(error2),1}telemetryClient.trackCliFlagJson(parsedArguments.flags["--json"]),telemetryClient.trackCliOptionFormat(parsedArguments.flags["--format"]),telemetryClient.trackCliOptionProject(parsedArguments.flags["--project"]);let projectNameOrId=parsedArguments.flags["--project"],formatResult=validateJsonOutput(parsedArguments.flags);if(!formatResult.valid)return output_manager_default.error(formatResult.error),1;let asJson=formatResult.jsonOutput||client.nonInteractive,args=parsedArguments.args;args[0]==="deploy"&&(args=args.slice(1)),args[0]==="init"&&(args=args.slice(1));let paths;args.length>0?(paths=args.map(item=>resolve2(client.cwd,item)),telemetryClient.trackCliArgumentProjectPath(paths[0])):paths=[client.cwd];let pathValidation=await validatePaths(client,paths);if(!pathValidation.valid)return pathValidation.exitCode;await compileVercelConfig(paths[0]);let localConfig=paths[0]===client.cwd?client.localConfig||readLocalConfig(paths[0]):readLocalConfig(paths[0]);if(localConfig){client.localConfig=localConfig;let{version}=localConfig,file=highlight(localConfig[import_client.fileNameSymbol]),prop=code("version");if(version)if(typeof version=="number"){if(version!==2){let two=code(String(2));return output_manager_default.error(`The value of the ${prop} property within ${file} can only be ${two}.`),1}}else return output_manager_default.error(`The ${prop} property inside your ${file} file must be a number.`),1}let{log,debug,error}=output_manager_default,quiet=!client.stdout.isTTY,{path:cwd}=pathValidation,autoConfirm=parsedArguments.flags["--yes"],target=parseTarget({flagName:"target",flags:parsedArguments.flags});telemetryClient.trackTargetEnvironment(target);let parsedArchive=parsedArguments.flags["--archive"];if(typeof parsedArchive=="string"&&!(isValidArchive(parsedArchive)||parsedArchive===deprecatedArchiveSplitTgz))return output_manager_default.error(`Format must be one of: ${import_client.VALID_ARCHIVE_FORMATS.join(", ")}`),1;parsedArchive===deprecatedArchiveSplitTgz&&output_manager_default.print(`${prependEmoji(`${param("--archive=tgz")} now has the same behavior as ${param("--archive=split-tgz")}. Please use ${param("--archive=tgz")} instead.`,emoji("warning"))}
|
|
9
9
|
`);let cliMeta=parseMeta(parsedArguments.flags["--meta"]),isV0=cliMeta.v0==="true";getGitExecutable(cwd);let link=await ensureLink("deploy",client,cwd,{autoConfirm,projectName:projectNameOrId??localConfig?.name,failIfNotFound:!!projectNameOrId,v0:isV0});if(typeof link=="number")return link;let{org,project}=link,rootDirectory=project.rootDirectory,sourceFilesOutsideRootDirectory=project.sourceFilesOutsideRootDirectory??!0;link.repoRoot&&(cwd=link.repoRoot);let contextName=org.slug;if(client.config.currentTeam=org.type==="team"?org.id:void 0,rootDirectory&&await validateRootDirectory(cwd,join4(cwd,rootDirectory),project?`To change your Project Settings, go to https://vercel.com/${org?.slug}/${project.name}/settings`:"")===!1)return 1;if(await promptExperimentalServicesMigration({client,cwd:join4(cwd,rootDirectory||""),autoConfirm:!!parsedArguments.flags["--yes"],nonInteractive:client.nonInteractive})&&(localConfig=readLocalConfig(join4(cwd,rootDirectory||""))),rootDirectory){let rootDirectoryPath=join4(cwd,rootDirectory);await compileVercelConfig(rootDirectoryPath);let rootDirectoryConfig=readLocalConfig(rootDirectoryPath);rootDirectoryConfig?(debug(`Read local config from root directory (${rootDirectory})`),localConfig=rootDirectoryConfig):localConfig&&output_manager_default.print(`${prependEmoji(`The ${highlight(localConfig[import_client.fileNameSymbol])} file should be inside of the provided root directory.`,emoji("warning"))}
|
|
10
10
|
`)}localConfig=localConfig||{},localConfig.name&&output_manager_default.print(`${prependEmoji(`The ${code("name")} property in ${highlight(localConfig[import_client.fileNameSymbol])} is deprecated (https://vercel.link/name-prop)`,emoji("warning"))}
|
|
@@ -31,9 +31,9 @@ ${err.stack}`),err instanceof UploadErrorMissingArchive)return output_manager_de
|
|
|
31
31
|
`),1):(error("Uploading failed. Please try again."),1)}catch(err){(0,import_error_utils2.isError)(err)&&debug(`Error: ${err}
|
|
32
32
|
${err.stack}`);let anonymousExitCode=await handleAnonymousDeploymentError({client,cwd,error:err,link:anonymousLink,isV0,retry:()=>handleDefaultDeploy(client,telemetryClient)});if(anonymousExitCode!==void 0)return anonymousExitCode;if(err instanceof UploadErrorMissingArchive)return client.nonInteractive?(client.stdout.write(`${JSON.stringify({status:AGENT_STATUS.ERROR,reason:"missing_archive",message:err.message,next:[{command:redeployCommand,when:"retry deploy"}]},null,2)}
|
|
33
33
|
`),1):(output_manager_default.prettyError(err),1);if(err instanceof NotDomainOwner)return client.nonInteractive?(client.stdout.write(`${JSON.stringify({status:AGENT_STATUS.ERROR,reason:"not_domain_owner",message:err.message,next:[{command:redeployCommand,when:"retry deploy"}]},null,2)}
|
|
34
|
-
`),1):(output_manager_default.error(err.message),1);if(err instanceof DomainNotFound&&err.meta&&err.meta.domain){output_manager_default.debug(`The domain ${err.meta.domain} was not found, trying to purchase it`);let{default:purchaseDomainIfAvailable}=await import("../../chunks/purchase-domain-if-available-
|
|
34
|
+
`),1):(output_manager_default.error(err.message),1);if(err instanceof DomainNotFound&&err.meta&&err.meta.domain){output_manager_default.debug(`The domain ${err.meta.domain} was not found, trying to purchase it`);let{default:purchaseDomainIfAvailable}=await import("../../chunks/purchase-domain-if-available-ZBXG4E7J.js"),purchase=await purchaseDomainIfAvailable(client,err.meta.domain,contextName);return purchase===!0?(output_manager_default.success(`Successfully purchased the domain ${err.meta.domain}!`),0):purchase===!1||purchase instanceof UserAborted?(handleCreateDeployError(deployment,localConfig),1):(handleCreateDeployError(purchase,localConfig),1)}if(err instanceof DomainNotFound||err instanceof DomainNotVerified||err instanceof NotDomainOwner||err instanceof DomainPermissionDenied||err instanceof DomainVerificationFailed||err instanceof SchemaValidationFailed||err instanceof InvalidDomain||err instanceof DeploymentNotFound||err instanceof BuildsRateLimited||err instanceof DeploymentsRateLimited||err instanceof AliasDomainConfigured||err instanceof MissingBuildScript||err instanceof ConflictingFilePath||err instanceof ConflictingPathSegment||err instanceof ConflictingConfigFiles)return client.nonInteractive&&client.stdout.write(`${JSON.stringify({status:AGENT_STATUS.ERROR,reason:"deploy_failed",message:err instanceof Error?err.message:String(err),next:[{command:redeployCommand,when:"retry deploy"}]},null,2)}
|
|
35
35
|
`),handleCreateDeployError(err,localConfig),1;if(err instanceof BuildError){if(now.url)try{let failedDeployment=await getDeployment(client,contextName,now.url);if(asJson)output_manager_default.stopSpinner(),client.stdout.write(`${JSON.stringify(getDeploymentOutputJson(failedDeployment,client.apiUrl,{name:"BUILD_ERROR",message:err.message}),null,2)}
|
|
36
|
-
`);else if(withFullLogs===!1){let{displayBuildLogsUntilFinalError}=await import("../../chunks/logs-
|
|
36
|
+
`);else if(withFullLogs===!1){let{displayBuildLogsUntilFinalError}=await import("../../chunks/logs-P4NGHB4I.js");await displayBuildLogsUntilFinalError(client,failedDeployment,err.message)}}catch{asJson?(output_manager_default.stopSpinner(),client.stdout.write(`${JSON.stringify({error:{name:"BUILD_ERROR",message:err.message},url:`https://${now.url}`},null,2)}
|
|
37
37
|
`)):(output_manager_default.log(`To check build logs run: ${getCommandName(`inspect ${now.url} --logs`)}`),output_manager_default.log(`Or inspect them in your browser at https://${now.url}/_logs`))}return 1}if(isAPIError(err)&&err.code==="size_limit_exceeded"){let{sizeLimit=0}=err,message=`File size limit exceeded (${(0,import_bytes.default)(sizeLimit)})`;return client.nonInteractive&&client.stdout.write(`${JSON.stringify({status:AGENT_STATUS.ERROR,reason:"size_limit_exceeded",message,next:[{command:redeployCommand,when:"retry deploy"}]},null,2)}
|
|
38
38
|
`),error(message),1}return client.nonInteractive&&client.stdout.write(`${JSON.stringify({status:AGENT_STATUS.ERROR,reason:"deploy_failed",message:err instanceof Error?err.message:String(err),next:[{command:redeployCommand,when:"retry deploy"}]},null,2)}
|
|
39
39
|
`),printError(err),1}let gitConnectCommand=postDeployGuidanceEnabled?await getGitConnectRecommendation(client,projectCwd,project,{alreadyOffered:"gitConnectOffered"in link?link.gitConnectOffered:!1}):void 0;if(asJson){output_manager_default.stopSpinner();let anonymousUrl=anonymousLink?deployment.alias?.[0]:void 0,deploymentJson={...getDeploymentOutputJson(deployment,client.apiUrl),...anonymousLink?{expiresAt:anonymousLink.expiresAt,claimUrl:anonymousLink.claimUrl}:{},...anonymousUrl?{url:`https://${anonymousUrl}`,inspectorUrl:null}:{}},isImplicitProduction=deployment.target==="production"&&!target,payload=client.nonInteractive?{status:AGENT_STATUS.OK,deployment:deploymentJson,message:anonymousLink?`Anonymous deployment ${anonymousUrl??deployment.url} ready. It expires in ${(0,import_ms.default)(anonymousLink.expiresAt-Date.now(),{long:!0})}. Claim it at ${anonymousLink.claimUrl} to keep it.`:`Deployment ${deployment.url} ready.`,...isImplicitProduction?{hint:"This is the project\u2019s first deployment, so it was assigned to production. Future deployments will be preview deployments unless you use --prod."}:{},next:anonymousLink?[{command:redeployCommand,when:"Redeploy changes to the same anonymous deployment"},{command:withGlobalFlags(client,"login"),when:"Create an account to keep deploying"}]:[...gitConnectCommand?[{command:gitConnectCommand,when:"Automatically deploy changes on every push"}]:[],{command:`${packageName} curl https://${deployment.url}`,when:"Verify deployment, including when Deployment Protection is enabled"},{command:withGlobalFlags(client,`inspect ${deployment.url}`),when:"Inspect deployment"},...isImplicitProduction?[]:[{command:withGlobalFlags(client,"deploy --prod"),when:"Promote to production"}]]}:deploymentJson;return client.stdout.write(`${JSON.stringify(payload,null,2)}
|