vercel 59.25.2 → 59.26.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-SAOTFJXH.js → add-7CEPFR35.js} +1 -1
- package/dist/chunks/{add-I6OSDG7H.js → add-BPO73UED.js} +1 -1
- package/dist/chunks/{add-S7UAQFMS.js → add-Q65RNNBF.js} +1 -1
- package/dist/chunks/{build-BQESAY3M.js → build-AJPBKMGK.js} +1 -1
- package/dist/chunks/{chunk-5TPZVSS5.js → chunk-3CIIAJBJ.js} +3 -3
- package/dist/chunks/{chunk-WPM4TQDF.js → chunk-3FGSIRD5.js} +1 -1
- package/dist/chunks/{chunk-N2KPEDSI.js → chunk-42C7M2DD.js} +2 -2
- package/dist/chunks/{chunk-L6PCGBYI.js → chunk-4BPSXZFF.js} +1 -1
- package/dist/chunks/{chunk-OILNJ2J2.js → chunk-5W7VRJZR.js} +1 -1
- package/dist/chunks/{chunk-TKIRQYH5.js → chunk-BPELLO6Y.js} +1 -1
- package/dist/chunks/{chunk-NO52HJTS.js → chunk-C344L5OM.js} +2 -2
- package/dist/chunks/{chunk-J43KZUZH.js → chunk-DKC2MN2N.js} +1 -1
- package/dist/chunks/{chunk-TBKDCQGQ.js → chunk-DR7AZ4XF.js} +1 -1
- package/dist/chunks/{chunk-55GJZFU7.js → chunk-I45QEFK2.js} +1 -1
- package/dist/chunks/{chunk-OBMNRGJT.js → chunk-I6YV55VE.js} +1 -1
- package/dist/chunks/{chunk-IQZ4RZCG.js → chunk-IDMLMBP2.js} +1 -1
- package/dist/chunks/chunk-JMNAVONO.js +65 -0
- package/dist/chunks/{chunk-PSLDCFUV.js → chunk-JTR6QD37.js} +1 -1
- package/dist/chunks/{chunk-Q3DGBC7N.js → chunk-K3J7NEGK.js} +1 -1
- package/dist/chunks/{chunk-HFFYL7RZ.js → chunk-KHQXR6LF.js} +1 -1
- package/dist/chunks/{chunk-DM5B3RL5.js → chunk-L4L6CGDV.js} +1 -1
- package/dist/chunks/{chunk-5RZGGOSU.js → chunk-LN7BPZIT.js} +1 -1
- package/dist/chunks/{chunk-MNN5SBQF.js → chunk-LNKUNAUP.js} +4 -4
- package/dist/chunks/{chunk-LFI3BSDC.js → chunk-NVMGCOK5.js} +1 -1
- package/dist/chunks/{chunk-IHLGZY7E.js → chunk-O5DEFRH7.js} +1 -1
- package/dist/chunks/{chunk-DRKY4FD3.js → chunk-O5Q6EC2F.js} +1 -1
- package/dist/chunks/{chunk-SIQZNFAH.js → chunk-PYLLDA3W.js} +1 -1
- package/dist/chunks/{chunk-2UN7VRFD.js → chunk-R362DOVP.js} +1 -1
- package/dist/chunks/{chunk-CJE2WOKF.js → chunk-S4NCBLV6.js} +1 -1
- package/dist/chunks/chunk-SW7MNF4H.js +7 -0
- package/dist/chunks/{chunk-ZC4LOS3A.js → chunk-T3IQ73QB.js} +1 -1
- package/dist/chunks/{chunk-ADRTPMZX.js → chunk-TXH2XVIS.js} +1 -1
- package/dist/chunks/{chunk-GTDDB5H3.js → chunk-U7NFRQBY.js} +2 -2
- package/dist/chunks/{chunk-F2YV6NXW.js → chunk-UOBYXHTU.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-B6RDQTJF.js → chunk-VVWALKUM.js} +1 -1
- package/dist/chunks/{chunk-IFLDELCH.js → chunk-WJ3REKMV.js} +1 -1
- package/dist/chunks/{chunk-CGUVZZE7.js → chunk-X6HQXT4J.js} +1 -1
- package/dist/chunks/{chunk-AAD7Z4WP.js → chunk-XACRGCJ7.js} +2 -2
- package/dist/chunks/{chunk-YQ2O2NIF.js → chunk-XSVY6XV7.js} +1 -1
- package/dist/chunks/{chunk-AKZOYEBP.js → chunk-YJZFFNUB.js} +4 -6
- package/dist/chunks/{chunk-QHU7NQI5.js → chunk-ZP7YHNNS.js} +1 -1
- package/dist/chunks/{clear-OLTGPRJ5.js → clear-C3BSTDH7.js} +1 -1
- package/dist/chunks/{compile-vercel-config-NKOWFZZG.js → compile-vercel-config-Y4L43MSC.js} +1 -1
- package/dist/chunks/{config-CZOTS44A.js → config-7K3UXF5F.js} +1 -1
- package/dist/chunks/{config-DF4DBQSB.js → config-AG6AKRRF.js} +1 -1
- package/dist/chunks/config-validator.mjs +1 -1
- package/dist/chunks/{delete-MTZHX4LY.js → delete-IPTVXAQ4.js} +1 -1
- package/dist/chunks/{delete-5QARUXY7.js → delete-L5DES7EP.js} +1 -1
- package/dist/chunks/{detect-projects-BTDKBOU4.js → detect-projects-3AFQ2AC5.js} +1 -1
- package/dist/chunks/{detect-services-K72FCUKE.js → detect-services-TWWDUYSE.js} +1 -1
- package/dist/chunks/{disable-5PFOEZKB.js → disable-6CAAEGVC.js} +1 -1
- package/dist/chunks/{discard-XDKXFPA5.js → discard-KBDHJHJI.js} +1 -1
- package/dist/chunks/{edit-YHZH2MYH.js → edit-CXXXHULR.js} +1 -1
- package/dist/chunks/{edit-WJSAUDWF.js → edit-JFX42TEP.js} +1 -1
- package/dist/chunks/{enable-NYSTJC2H.js → enable-WTFXPBG7.js} +1 -1
- package/dist/chunks/{export-ZKT6EB42.js → export-QHA7QNTG.js} +1 -1
- package/dist/chunks/{generate-cert-for-deploy-UEYQIDXM.js → generate-cert-for-deploy-QDKU7BG4.js} +1 -1
- package/dist/chunks/{image-2SK4J4O4.js → image-GYQXOH2D.js} +1 -1
- package/dist/chunks/{import-builders-UBNV7HJX.js → import-builders-PTCVQUVR.js} +1 -1
- package/dist/chunks/{inspect-DVBCOD7K.js → inspect-FAWLUVF6.js} +1 -1
- package/dist/chunks/{inspect-M6ZJQF6V.js → inspect-GBUKZRHO.js} +1 -1
- package/dist/chunks/{inspect-Y6BQY3VA.js → inspect-MVTUZPVS.js} +1 -1
- package/dist/chunks/{inspect-S6AT7LNW.js → inspect-PDJ3UMRO.js} +1 -1
- package/dist/chunks/{inspect-MCDQHBHZ.js → inspect-VZHAYHEA.js} +1 -1
- package/dist/chunks/{list-6GSMWNLA.js → list-43GDYOWL.js} +1 -1
- package/dist/chunks/{list-PPFTGAC6.js → list-G3ZNWCBU.js} +1 -1
- package/dist/chunks/{list-373ZPONO.js → list-ISVVIQE6.js} +1 -1
- package/dist/chunks/{login-RQ4VYI5A.js → login-TPFWIU2R.js} +1 -1
- package/dist/chunks/{logs-TMTBVNCC.js → logs-ZDWF5H4D.js} +1 -1
- package/dist/chunks/{ls-W7TJY3RN.js → ls-2B3TZDPF.js} +1 -1
- package/dist/chunks/{ls-MNTDNVC5.js → ls-DS57ZWXK.js} +1 -1
- package/dist/chunks/{ls-NXJRIM6O.js → ls-JOG7XQSQ.js} +1 -1
- package/dist/chunks/{ls-XYOHKCZP.js → ls-NOUO2TWU.js} +1 -1
- package/dist/chunks/{ls-X3GP2IRA.js → ls-PTJWLEMP.js} +1 -1
- package/dist/chunks/{ls-3BRR7JIX.js → ls-TQUAXPGK.js} +1 -1
- package/dist/chunks/{ls-ZVLXMLGD.js → ls-TZRZQ5V2.js} +1 -1
- package/dist/chunks/mutate-OUGXB4LW.js +9 -0
- package/dist/chunks/notifications-MWQKW7OT.js +7 -0
- package/dist/chunks/{open-6ERMTBK7.js → open-BUIBZPD2.js} +1 -1
- package/dist/chunks/{permissions-KKF5YWC3.js → permissions-ZMOA4ECQ.js} +1 -1
- package/dist/chunks/{publish-W53JMHOA.js → publish-QT5PSEWA.js} +1 -1
- package/dist/chunks/{pull-JDBB2JO5.js → pull-5MDAB4PI.js} +1 -1
- package/dist/chunks/{purchase-domain-if-available-RHJZ6U72.js → purchase-domain-if-available-4U6OO6HV.js} +1 -1
- package/dist/chunks/{push-DLROWCQ4.js → push-DVUYKBOH.js} +1 -1
- package/dist/chunks/{query-R2OKVWWT.js → query-T5VANB2N.js} +1 -1
- package/dist/chunks/{reorder-YD4ENV5L.js → reorder-UGIUH3VH.js} +1 -1
- package/dist/chunks/{reply-TCDHRSGG.js → reply-YP2M4ATZ.js} +1 -1
- package/dist/chunks/{resolve-ZEC456YB.js → resolve-6RR7C4XZ.js} +1 -1
- package/dist/chunks/{restore-RH6YGGXG.js → restore-YTC3XRMJ.js} +1 -1
- package/dist/chunks/{rm-G6EOLSCZ.js → rm-I2HO26QU.js} +1 -1
- package/dist/chunks/{rm-PCTYRCOB.js → rm-LJIDHUSA.js} +1 -1
- package/dist/chunks/{rm-3M5ADIDW.js → rm-PUBG4Y4A.js} +1 -1
- package/dist/chunks/{rm-SHCFLXHI.js → rm-QDLJEXJO.js} +1 -1
- package/dist/chunks/{rm-UGEBIUFV.js → rm-YCO5JQT7.js} +1 -1
- package/dist/chunks/{rule-inspect-TED7H6MG.js → rule-inspect-2GVHRJU4.js} +1 -1
- package/dist/chunks/{rules-DGGA3QHB.js → rules-NWRB7QGL.js} +1 -1
- package/dist/chunks/{schema-22D2HKSJ.js → schema-AKPM5RZI.js} +1 -1
- package/dist/chunks/{schema-H6XU3F2A.js → schema-T5YNYHEL.js} +1 -1
- package/dist/chunks/{set-7UAH7RCL.js → set-72D2UDIU.js} +1 -1
- package/dist/chunks/{setup-and-link-NHQPSPPZ.js → setup-and-link-AUDIANQN.js} +1 -1
- package/dist/chunks/{tags-OYKSDCSO.js → tags-OU23UWEL.js} +1 -1
- package/dist/chunks/{update-OIQ44IMN.js → update-4553CPRC.js} +1 -1
- package/dist/chunks/vlt-builder-importer-6DGKK72W.js +11 -0
- package/dist/commands/build/index.js +1 -1
- package/dist/commands/deploy/index.js +4 -4
- package/dist/commands/dev/index.js +13 -13
- 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 +9 -9
- package/dist/index.js +1 -1
- package/dist/version.mjs +1 -1
- package/package.json +53 -53
- package/dist/chunks/chunk-OAKO6LVS.js +0 -7
- package/dist/chunks/chunk-QRBAWXHP.js +0 -65
- package/dist/chunks/chunk-YSN4YTUY.js +0 -7
- package/dist/chunks/mutate-QJREWJEH.js +0 -9
- package/dist/chunks/notifications-D57XNFN2.js +0 -7
- package/dist/chunks/vlt-builder-importer-YVCYYRVV.js +0 -11
|
@@ -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{CHECKBOX_INSTRUCTIONS,getCustomEnvironments,readStandardInput,require_dist as require_dist3}from"../../chunks/chunk-COQGD2EI.js";import{getInvalidSubcommand}from"../../chunks/chunk-TG2RCYTH.js";import{ellipsis}from"../../chunks/chunk-ZDX75YNZ.js";import{formatTable}from"../../chunks/chunk-UED2PPFP.js";import"../../chunks/chunk-MBL6TXEJ.js";import{autoInstallVercelPlugin}from"../../chunks/chunk-MKY5IBKK.js";import{require_execa}from"../../chunks/chunk-HWWHR7H3.js";import{isGuidanceEnabled,suggestNextCommands}from"../../chunks/chunk-DQ2KI6FO.js";import{stamp_default}from"../../chunks/chunk-XPXOV5UO.js";import"../../chunks/chunk-2I64AYHG.js";import{formatEnvironment}from"../../chunks/chunk-LQBC5QPO.js";import{validateLsArgs}from"../../chunks/chunk-Z4VR6CQ2.js";import"../../chunks/chunk-JZRMH5UA.js";import{require_ms}from"../../chunks/chunk-QTKJC2O5.js";import{validateJsonOutput}from"../../chunks/chunk-D4MW3RDW.js";import{ENV_VISIBILITY_DEPRECATION_MESSAGE,SENSITIVE_ENV_VALUE_PLACEHOLDER,formatVisibilityLabel,getApiPublicPrefix,getEnvKeyWarnings,getEnvRecords,getFrameworkPublicPrefix,getLocalSecretFallbackMessage,getLocalSvelteKitPublicPrefixes,getPublicPrefix,getPublicPrefixSecretVisibilityError,getUnavailableSecretValuesMessage,isFlagsSecretNeedingSplit,isSecretEnvVar,looksLikeSecret,looksLikeSecretValue,normalizeStdinEnvValue,pull,pullEnvRecords,removePublicPrefix,resolveEnvVarTypeOption,resolveEnvVarVisibility,shouldConfirmRotationBeforeDelete,validateEnvValue}from"../../chunks/chunk-CJE2WOKF.js";import{resolveProjectContext}from"../../chunks/chunk-HFFYL7RZ.js";import"../../chunks/chunk-H4FTGLWV.js";import"../../chunks/chunk-ULLWCOYC.js";import"../../chunks/chunk-N6CNMMSZ.js";import"../../chunks/chunk-I46LFJJG.js";import{getSubcommand}from"../../chunks/chunk-ETV3C2CV.js";import"../../chunks/chunk-OI263FBO.js";import"../../chunks/chunk-QHU7NQI5.js";import"../../chunks/chunk-IFLDELCH.js";import"../../chunks/chunk-T4LZS75P.js";import"../../chunks/chunk-KK4AJES5.js";import{getCommandAliases}from"../../chunks/chunk-GTDDB5H3.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-3QHJYVCY.js";import"../../chunks/chunk-NBVY237X.js";import"../../chunks/chunk-EIXOJUNN.js";import"../../chunks/chunk-OAKO6LVS.js";import"../../chunks/chunk-MEAY2K5Z.js";import"../../chunks/chunk-EQ52F4LH.js";import"../../chunks/chunk-CVKB54WW.js";import"../../chunks/chunk-JKTQV2QJ.js";import"../../chunks/chunk-6LE3FU2P.js";import"../../chunks/chunk-AZ6NRDHG.js";import"../../chunks/chunk-FAW6NBLQ.js";import{addSubcommand,envCommand,envTargetChoices,getEnvTargetPlaceholder,isValidEnvTarget,listSubcommand,parseEnvTargetArg,pullSubcommand,removeSubcommand,runSubcommand,updateSubcommand}from"../../chunks/chunk-KUVMCIR4.js";import"../../chunks/chunk-SOJCELXH.js";import{param}from"../../chunks/chunk-SXUEGVWB.js";import{STANDARD_ENVIRONMENTS,formatProject}from"../../chunks/chunk-6BZCSVH6.js";import{help}from"../../chunks/chunk-V6IKQCOT.js";import"../../chunks/chunk-6TAQ6OWD.js";import{parseTarget}from"../../chunks/chunk-R3B67TKQ.js";import"../../chunks/chunk-C5KVTG2O.js";import"../../chunks/chunk-6NPXWN5F.js";import"../../chunks/chunk-WPS6JZF6.js";import"../../chunks/chunk-ZKYS7EAB.js";import"../../chunks/chunk-OILNJ2J2.js";import"../../chunks/chunk-JSKGZLE4.js";import{TelemetryClient,require_dist as require_dist2}from"../../chunks/chunk-A5VLP25I.js";import"../../chunks/chunk-RCTYVKM5.js";import"../../chunks/chunk-7T6TL3GQ.js";import"../../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"../../chunks/chunk-5TPZVSS5.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{buildCommandWithYes,buildEnvAddCommandWithPreservedArgs,buildEnvRmCommandWithPreservedArgs,buildEnvUpdateCommandWithPreservedArgs,getPreservedArgsForEnvAdd,getPreservedArgsForEnvRm,getPreservedArgsForEnvUpdate,outputActionRequired,outputAgentError,redactEnvValueArgs,withGlobalFlags}from"../../chunks/chunk-KCARCOP5.js";import{quoteArg}from"../../chunks/chunk-BKV35LVB.js";import{getFlagsSpecification,getGlobalFlagsFromArgs}from"../../chunks/chunk-JAJW3P42.js";import{printAlignedLabel}from"../../chunks/chunk-YMM3VY3J.js";import"../../chunks/chunk-SM5JI6QM.js";import{getTeamByIdOrSlug}from"../../chunks/chunk-VOZEB6PD.js";import{isAPIError}from"../../chunks/chunk-RINZXCDJ.js";import{getCommandName,getCommandNamePlain,require_lib}from"../../chunks/chunk-FI772UVH.js";import{emoji,output_manager_default,prependEmoji}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_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})}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, target the Development Environment only. Run ${getCommandName("env add")} with the development target 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(/<git-branch>/g,opts.envGitBranch?quoteArg(opts.envGitBranch):"<git-branch>").replace(/<gitbranch>/g,opts.envGitBranch?quoteArg(opts.envGitBranch):"<gitbranch>").replace(/<value>/g,"<value>")}function multiTargetSuggestion(argv,envName,targets,addNoSensitive){let flag=addNoSensitive?" --no-sensitive":"";return{command:buildEnvAddCommandWithPreservedArgs(argv,`env add ${envName} ${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{CHECKBOX_INSTRUCTIONS,getCustomEnvironments,readStandardInput,require_dist as require_dist3}from"../../chunks/chunk-COQGD2EI.js";import{getInvalidSubcommand}from"../../chunks/chunk-TG2RCYTH.js";import{ellipsis}from"../../chunks/chunk-ZDX75YNZ.js";import{formatTable}from"../../chunks/chunk-UED2PPFP.js";import"../../chunks/chunk-MBL6TXEJ.js";import{autoInstallVercelPlugin}from"../../chunks/chunk-MKY5IBKK.js";import{require_execa}from"../../chunks/chunk-HWWHR7H3.js";import{isGuidanceEnabled,suggestNextCommands}from"../../chunks/chunk-DQ2KI6FO.js";import{stamp_default}from"../../chunks/chunk-XPXOV5UO.js";import"../../chunks/chunk-2I64AYHG.js";import{formatEnvironment}from"../../chunks/chunk-LQBC5QPO.js";import{validateLsArgs}from"../../chunks/chunk-Z4VR6CQ2.js";import"../../chunks/chunk-JZRMH5UA.js";import{require_ms}from"../../chunks/chunk-QTKJC2O5.js";import{validateJsonOutput}from"../../chunks/chunk-D4MW3RDW.js";import{ENV_VISIBILITY_DEPRECATION_MESSAGE,SENSITIVE_ENV_VALUE_PLACEHOLDER,formatVisibilityLabel,getApiPublicPrefix,getEnvKeyWarnings,getEnvRecords,getFrameworkPublicPrefix,getLocalSecretFallbackMessage,getLocalSvelteKitPublicPrefixes,getPublicPrefix,getPublicPrefixSecretVisibilityError,getUnavailableSecretValuesMessage,isFlagsSecretNeedingSplit,isSecretEnvVar,looksLikeSecret,looksLikeSecretValue,normalizeStdinEnvValue,pull,pullEnvRecords,removePublicPrefix,resolveEnvVarTypeOption,resolveEnvVarVisibility,shouldConfirmRotationBeforeDelete,validateEnvValue}from"../../chunks/chunk-S4NCBLV6.js";import{resolveProjectContext}from"../../chunks/chunk-KHQXR6LF.js";import"../../chunks/chunk-H4FTGLWV.js";import"../../chunks/chunk-ULLWCOYC.js";import"../../chunks/chunk-N6CNMMSZ.js";import"../../chunks/chunk-I46LFJJG.js";import{getSubcommand}from"../../chunks/chunk-ETV3C2CV.js";import"../../chunks/chunk-OI263FBO.js";import"../../chunks/chunk-ZP7YHNNS.js";import"../../chunks/chunk-WJ3REKMV.js";import"../../chunks/chunk-T4LZS75P.js";import"../../chunks/chunk-KK4AJES5.js";import{getCommandAliases}from"../../chunks/chunk-U7NFRQBY.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-3QHJYVCY.js";import"../../chunks/chunk-NBVY237X.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-6LE3FU2P.js";import"../../chunks/chunk-AZ6NRDHG.js";import"../../chunks/chunk-FAW6NBLQ.js";import{addSubcommand,envCommand,envTargetChoices,getEnvTargetPlaceholder,isValidEnvTarget,listSubcommand,parseEnvTargetArg,pullSubcommand,removeSubcommand,runSubcommand,updateSubcommand}from"../../chunks/chunk-KUVMCIR4.js";import"../../chunks/chunk-SOJCELXH.js";import{param}from"../../chunks/chunk-SXUEGVWB.js";import{STANDARD_ENVIRONMENTS,formatProject}from"../../chunks/chunk-6BZCSVH6.js";import{help}from"../../chunks/chunk-V6IKQCOT.js";import"../../chunks/chunk-6TAQ6OWD.js";import{parseTarget}from"../../chunks/chunk-R3B67TKQ.js";import"../../chunks/chunk-C5KVTG2O.js";import"../../chunks/chunk-6NPXWN5F.js";import"../../chunks/chunk-WPS6JZF6.js";import"../../chunks/chunk-ZKYS7EAB.js";import"../../chunks/chunk-5W7VRJZR.js";import"../../chunks/chunk-JSKGZLE4.js";import{TelemetryClient,require_dist as require_dist2}from"../../chunks/chunk-A5VLP25I.js";import"../../chunks/chunk-RCTYVKM5.js";import"../../chunks/chunk-7T6TL3GQ.js";import"../../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"../../chunks/chunk-3CIIAJBJ.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{buildCommandWithYes,buildEnvAddCommandWithPreservedArgs,buildEnvRmCommandWithPreservedArgs,buildEnvUpdateCommandWithPreservedArgs,getPreservedArgsForEnvAdd,getPreservedArgsForEnvRm,getPreservedArgsForEnvUpdate,outputActionRequired,outputAgentError,redactEnvValueArgs,withGlobalFlags}from"../../chunks/chunk-KCARCOP5.js";import{quoteArg}from"../../chunks/chunk-BKV35LVB.js";import{getFlagsSpecification,getGlobalFlagsFromArgs}from"../../chunks/chunk-JAJW3P42.js";import{printAlignedLabel}from"../../chunks/chunk-YMM3VY3J.js";import"../../chunks/chunk-SM5JI6QM.js";import{getTeamByIdOrSlug}from"../../chunks/chunk-VOZEB6PD.js";import{isAPIError}from"../../chunks/chunk-RINZXCDJ.js";import{getCommandName,getCommandNamePlain,require_lib}from"../../chunks/chunk-FI772UVH.js";import{emoji,output_manager_default,prependEmoji}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_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})}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, target the Development Environment only. Run ${getCommandName("env add")} with the development target 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(/<git-branch>/g,opts.envGitBranch?quoteArg(opts.envGitBranch):"<git-branch>").replace(/<gitbranch>/g,opts.envGitBranch?quoteArg(opts.envGitBranch):"<gitbranch>").replace(/<value>/g,"<value>")}function multiTargetSuggestion(argv,envName,targets,addNoSensitive){let flag=addNoSensitive?" --no-sensitive":"";return{command:buildEnvAddCommandWithPreservedArgs(argv,`env add ${envName} ${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)},1),printError(err),1}let{args,flags:opts}=parsedArgs,stdInput=await readStandardInput(client.stdin),valueFromFlag=typeof opts["--value"]=="string"?opts["--value"]:void 0,[envName,envTargetArg]=args,positionalGitBranch=args[2],optionGitBranch=typeof opts["--git-branch"]=="string"?opts["--git-branch"]:void 0,envGitBranch=optionGitBranch??positionalGitBranch,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(envTargetArg),telemetryClient.trackCliArgumentGitBranch(positionalGitBranch),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},1),output_manager_default.fatal(typeConflictMessage),1;if(positionalGitBranch&&optionGitBranch)return output_manager_default.error("Git branch was provided twice. Use either `--git-branch <git-branch>` or the legacy third argument."),1;if(args.length>3)return output_manager_default.error(`Invalid number of arguments. Usage: ${getCommandName(`env add <name> ${getEnvTargetPlaceholder()} --git-branch <git-branch>`)}`),1;if(stdInput&&(!envName||!envTargetArg))return output_manager_default.error(`Invalid number of arguments. Usage: ${getCommandName("env add <name> <target> --git-branch <git-branch> < <file>")}`),1;let envTargets=envTargetArg?parseEnvTargetArg(envTargetArg):[],resolvedLink;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>",...linkPreserved],envAddRetryArgv=redactEnvValueArgs(client.argv);if(envTargetArg==="preview"&&envGitBranch===void 0){let argvArgs=client.argv.slice(2),addIdx=argvArgs.indexOf("add");if(addIdx!==-1){let pos=addIdx+1,positionals=0;for(;pos<argvArgs.length&&positionals<3&&!argvArgs[pos].startsWith("-");)positionals++,pos++;let insertAt=2+pos;envAddRetryArgv=redactEnvValueArgs([...client.argv.slice(0,insertAt),"<gitbranch>",...client.argv.slice(insertAt)])}}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;let[{envs:envs2},customEnvironments2]=await Promise.all([getEnvRecords(client,project2.id,"vercel-cli:env:add"),getCustomEnvironments(client,project2.id)]),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&&args.length===2)&&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 <git-branch>` for Preview, or omit for all Preview branches":m),fullTemplate=`env add <name> ${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> preview --git-branch <git-branch> --value "<value>" --yes',{envName,envTargetArg:"preview"}),branchAll=fillEnvAddTemplate('env add <name> 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>",...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},1),output_manager_default.fatal(publicPrefixError),1}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} ${envTargetArg??getEnvTargetPlaceholder()} --type secret --value "<value>" --yes`),publicCommand=buildEnvAddCommandWithPreservedArgs(client.argv,`env add ${envName} ${envTargetArg??getEnvTargetPlaceholder()} --type config --value "<value>" --yes`),humanTargetArg=envTargetArg?` ${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}
|
|
@@ -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-3FGSIRD5.js";import"../../chunks/chunk-VHTNAYWA.js";import"../../chunks/chunk-JMNAVONO.js";import"../../chunks/chunk-IDMLMBP2.js";import{isPromptCanceledError}from"../../chunks/chunk-P2O5DOYE.js";import"../../chunks/chunk-L3JDEHCQ.js";import{pull}from"../../chunks/chunk-S4NCBLV6.js";import"../../chunks/chunk-KHQXR6LF.js";import"../../chunks/chunk-H4FTGLWV.js";import"../../chunks/chunk-ULLWCOYC.js";import"../../chunks/chunk-N6CNMMSZ.js";import"../../chunks/chunk-I46LFJJG.js";import{getSubcommand}from"../../chunks/chunk-ETV3C2CV.js";import"../../chunks/chunk-OI263FBO.js";import{ensureLink}from"../../chunks/chunk-ZP7YHNNS.js";import"../../chunks/chunk-WJ3REKMV.js";import"../../chunks/chunk-T4LZS75P.js";import"../../chunks/chunk-KK4AJES5.js";import{addSubcommand8 as addSubcommand,getCommandAliases,linkCommand}from"../../chunks/chunk-U7NFRQBY.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-3QHJYVCY.js";import"../../chunks/chunk-NBVY237X.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-6LE3FU2P.js";import"../../chunks/chunk-AZ6NRDHG.js";import"../../chunks/chunk-FAW6NBLQ.js";import"../../chunks/chunk-KUVMCIR4.js";import"../../chunks/chunk-SOJCELXH.js";import"../../chunks/chunk-SXUEGVWB.js";import"../../chunks/chunk-6BZCSVH6.js";import{help}from"../../chunks/chunk-V6IKQCOT.js";import"../../chunks/chunk-6TAQ6OWD.js";import"../../chunks/chunk-R3B67TKQ.js";import"../../chunks/chunk-C5KVTG2O.js";import"../../chunks/chunk-6NPXWN5F.js";import"../../chunks/chunk-WPS6JZF6.js";import"../../chunks/chunk-ZKYS7EAB.js";import{detectExplicitScope,getScope}from"../../chunks/chunk-5W7VRJZR.js";import"../../chunks/chunk-JSKGZLE4.js";import{TelemetryClient}from"../../chunks/chunk-A5VLP25I.js";import"../../chunks/chunk-RCTYVKM5.js";import"../../chunks/chunk-7T6TL3GQ.js";import"../../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{addRepoLink,ensureRepoLink,findRepoRoot,resolveProjectCwd}from"../../chunks/chunk-3CIIAJBJ.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"../../chunks/chunk-KCARCOP5.js";import"../../chunks/chunk-BKV35LVB.js";import{getFlagsSpecification}from"../../chunks/chunk-JAJW3P42.js";import"../../chunks/chunk-YMM3VY3J.js";import"../../chunks/chunk-SM5JI6QM.js";import"../../chunks/chunk-VOZEB6PD.js";import"../../chunks/chunk-RINZXCDJ.js";import{cmd}from"../../chunks/chunk-FI772UVH.js";import{output_manager_default}from"../../chunks/chunk-EWWFNMPZ.js";import"../../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_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
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),1}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),2;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),1}if(parsedArgs.flags["--help"])return telemetry.trackCliFlagHelp("link"),output_manager_default.print(help(linkCommand,{columns:client.stderr.columns})),2;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")} flag 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{getPaginationOpts,isValidName}from"../../chunks/chunk-ZXE4XYIV.js";import{getCommandFlags}from"../../chunks/chunk-OUHPDA7Q.js";import{parseMeta}from"../../chunks/chunk-CZSOZKHX.js";import{formatEnvironment}from"../../chunks/chunk-LQBC5QPO.js";import{validateLsArgs}from"../../chunks/chunk-Z4VR6CQ2.js";import{elapsed}from"../../chunks/chunk-JZRMH5UA.js";import{require_ms}from"../../chunks/chunk-QTKJC2O5.js";import{validateJsonOutput}from"../../chunks/chunk-D4MW3RDW.js";import{formatProject}from"../../chunks/chunk-6BZCSVH6.js";import{help}from"../../chunks/chunk-V6IKQCOT.js";import{table}from"../../chunks/chunk-6TAQ6OWD.js";import{parseTarget}from"../../chunks/chunk-R3B67TKQ.js";import{getDeployment,toHost}from"../../chunks/chunk-C5KVTG2O.js";import"../../chunks/chunk-6NPXWN5F.js";import"../../chunks/chunk-WPS6JZF6.js";import{listCommand}from"../../chunks/chunk-ZKYS7EAB.js";import{getScope}from"../../chunks/chunk-
|
|
7
|
+
import{getPaginationOpts,isValidName}from"../../chunks/chunk-ZXE4XYIV.js";import{getCommandFlags}from"../../chunks/chunk-OUHPDA7Q.js";import{parseMeta}from"../../chunks/chunk-CZSOZKHX.js";import{formatEnvironment}from"../../chunks/chunk-LQBC5QPO.js";import{validateLsArgs}from"../../chunks/chunk-Z4VR6CQ2.js";import{elapsed}from"../../chunks/chunk-JZRMH5UA.js";import{require_ms}from"../../chunks/chunk-QTKJC2O5.js";import{validateJsonOutput}from"../../chunks/chunk-D4MW3RDW.js";import{formatProject}from"../../chunks/chunk-6BZCSVH6.js";import{help}from"../../chunks/chunk-V6IKQCOT.js";import{table}from"../../chunks/chunk-6TAQ6OWD.js";import{parseTarget}from"../../chunks/chunk-R3B67TKQ.js";import{getDeployment,toHost}from"../../chunks/chunk-C5KVTG2O.js";import"../../chunks/chunk-6NPXWN5F.js";import"../../chunks/chunk-WPS6JZF6.js";import{listCommand}from"../../chunks/chunk-ZKYS7EAB.js";import{getScope}from"../../chunks/chunk-5W7VRJZR.js";import"../../chunks/chunk-JSKGZLE4.js";import{TelemetryClient}from"../../chunks/chunk-A5VLP25I.js";import"../../chunks/chunk-RCTYVKM5.js";import"../../chunks/chunk-7T6TL3GQ.js";import"../../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{getLinkedProject,getProjectByNameOrId}from"../../chunks/chunk-3CIIAJBJ.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{exitWithNonInteractiveError}from"../../chunks/chunk-KCARCOP5.js";import"../../chunks/chunk-BKV35LVB.js";import{getFlagsSpecification}from"../../chunks/chunk-JAJW3P42.js";import"../../chunks/chunk-YMM3VY3J.js";import"../../chunks/chunk-SM5JI6QM.js";import"../../chunks/chunk-VOZEB6PD.js";import{ProjectNotFound}from"../../chunks/chunk-RINZXCDJ.js";import{getCommandName,require_lib}from"../../chunks/chunk-FI772UVH.js";import{output_manager_default}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_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 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),1}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),1;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"]),target=parseTarget({flagName:"environment",flags:parsedArgs.flags}),statusFlag=parsedArgs.flags["--status"],status;if(statusFlag){let validStatuses=["BUILDING","ERROR","INITIALIZING","QUEUED","READY","CANCELED"],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 project,pagination,contextName="",app=parsedArgs.args[1],deployments=[],singleDeployment=!1,allFlag=parsedArgs.flags["--all"],showAllProjects=!1;if(allFlag&&app)return error("Cannot use --all flag with a project argument"),1;if(app){if(!isValidName(app))return error(`The provided argument "${app}" is not a valid project name`),1;if(telemetry.trackCliArgumentApp(app),app.includes(".")){try{({contextName}=await getScope(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 link=await getLinkedProject(client,{cwd:client.cwd});if(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 getScope(client))}catch(err){if((0,import_error_utils.isErrnoException)(err)&&(err.code==="NOT_AUTHORIZED"||err.code==="TEAM_DELETED"))return error(err.message),1}let nextTimestamp,limitFlag;try{[nextTimestamp,limitFlag]=getPaginationOpts(parsedArgs.flags)}catch(err){return printError(err),1}let limit=limitFlag??20,projectSlugLink=project?formatProject(contextName,project.name):null;if(!singleDeployment){asJson||spinner(`Fetching deployments in ${import_chalk.default.bold(contextName)}`);let start=Date.now();debug("Fetching deployments");let query=new URLSearchParams({limit:String(limit)});project&&query.set("projectId",project.id);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);nextTimestamp&&query.set("until",String(nextTimestamp)),target&&query.set("target",target),status&&query.set("state",status);for await(let chunk of client.fetchPaginated(`/v6/deployments?${query}`))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}
|