vercel 54.20.0 → 54.21.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.
Files changed (65) hide show
  1. package/dist/chunks/{add-IB7HE5S5.js → add-KZSG7SVG.js} +4 -4
  2. package/dist/chunks/{add-TF5VZLCY.js → add-UDJ45UVF.js} +5 -5
  3. package/dist/chunks/{chunk-YWLVPKNT.js → chunk-6SVPJXCO.js} +1 -1
  4. package/dist/chunks/{chunk-FVI6UYNL.js → chunk-6W7I5IOO.js} +1 -1
  5. package/dist/chunks/{chunk-JHQOIGTY.js → chunk-BEETD7P4.js} +3 -3
  6. package/dist/chunks/{chunk-JDO6BSKN.js → chunk-BLWPQEED.js} +4 -4
  7. package/dist/chunks/{chunk-7PAKWBN4.js → chunk-DBA4N3OZ.js} +2 -2
  8. package/dist/chunks/{chunk-IZOHLD5D.js → chunk-DDS5Z2MB.js} +53 -4
  9. package/dist/chunks/{chunk-3S2QGKYZ.js → chunk-DJ4JEVDI.js} +1 -1
  10. package/dist/chunks/{chunk-FZZWTDNQ.js → chunk-FCYCUCLI.js} +2 -2
  11. package/dist/chunks/{chunk-U3FBUYRS.js → chunk-HAZXLIKZ.js} +1 -1
  12. package/dist/chunks/{chunk-RB7WQKNC.js → chunk-IR674PKY.js} +5 -2
  13. package/dist/chunks/{chunk-5MVXR7B7.js → chunk-JAUGUJR3.js} +1 -1
  14. package/dist/chunks/{chunk-Q7GZMMHB.js → chunk-JIX2UI23.js} +3 -3
  15. package/dist/chunks/{chunk-ITU4COOO.js → chunk-KGPSD6TA.js} +9 -44
  16. package/dist/chunks/{chunk-T63I6OUR.js → chunk-KS5FONWU.js} +4 -4
  17. package/dist/chunks/{chunk-P726GMBL.js → chunk-LVR7QUSG.js} +1 -1
  18. package/dist/chunks/{chunk-LFODAB54.js → chunk-R5FOIIHT.js} +6 -0
  19. package/dist/chunks/{chunk-O2QNLUYX.js → chunk-S2N7BLSM.js} +1 -1
  20. package/dist/chunks/{chunk-4BEUS7AL.js → chunk-SCQAJO6E.js} +88 -2
  21. package/dist/chunks/{chunk-Q4A2Q46Z.js → chunk-TYXSXFVM.js} +4 -4
  22. package/dist/chunks/{chunk-6ISLGUMI.js → chunk-UDIFOPZL.js} +4 -4
  23. package/dist/chunks/{chunk-TV7GKFSY.js → chunk-VDTSYCXY.js} +2 -2
  24. package/dist/chunks/{chunk-GDAO4PGA.js → chunk-VFXF4O4X.js} +3 -3
  25. package/dist/chunks/{compile-vercel-config-XEZ2TPQ4.js → compile-vercel-config-DY63NSZV.js} +2 -2
  26. package/dist/chunks/{delete-O3F4EP2W.js → delete-WVLC7FLA.js} +3 -3
  27. package/dist/chunks/{disable-SJWGUQKZ.js → disable-VLYKCAM5.js} +3 -3
  28. package/dist/chunks/{discard-EQD6ENC3.js → discard-GGNJLKTH.js} +3 -3
  29. package/dist/chunks/{edit-NAIWNSXE.js → edit-ZU5K7DM3.js} +4 -4
  30. package/dist/chunks/{enable-LXO62HU5.js → enable-G3MUGP3W.js} +3 -3
  31. package/dist/chunks/{export-EHVTYAAP.js → export-QHSB2FON.js} +3 -3
  32. package/dist/chunks/{image-2DL7JEWW.js → image-CWHCW3N5.js} +4 -4
  33. package/dist/chunks/{inspect-PL3PE5IJ.js → inspect-HFCKYQQ3.js} +4 -4
  34. package/dist/chunks/{inspect-EGXHWKY3.js → inspect-OVAC6PJK.js} +4 -4
  35. package/dist/chunks/{inspect-Z3QJOMNP.js → inspect-QJSREPM3.js} +4 -4
  36. package/dist/chunks/{inspect-6IHZTLFA.js → inspect-W6RHYESL.js} +4 -4
  37. package/dist/chunks/{list-KNRPDNQF.js → list-2XYQW3YA.js} +4 -4
  38. package/dist/chunks/{list-BB4T4KT5.js → list-R37YS5CX.js} +3 -3
  39. package/dist/chunks/{ls-EP4Q6VF4.js → ls-7JNUKRV2.js} +4 -4
  40. package/dist/chunks/{ls-IQKMDRUB.js → ls-HKVAT223.js} +4 -4
  41. package/dist/chunks/{ls-MUS72LBS.js → ls-JJXUYZU7.js} +4 -4
  42. package/dist/chunks/{ls-FTQGK4R6.js → ls-X7Y37IPT.js} +5 -5
  43. package/dist/chunks/{publish-27V2MMFS.js → publish-MYVZ4UTW.js} +3 -3
  44. package/dist/chunks/{query-C6FEOG5R.js → query-ZH2YJPAC.js} +3 -3
  45. package/dist/chunks/{reorder-DCSIJX72.js → reorder-VY53EYZJ.js} +3 -3
  46. package/dist/chunks/{restore-NRUBGNSK.js → restore-F2AEG3WO.js} +3 -3
  47. package/dist/chunks/{rm-EZFCCZFT.js → rm-IDSOMXQR.js} +4 -4
  48. package/dist/chunks/{rm-NMSG2WG6.js → rm-T6Z6WZZN.js} +4 -4
  49. package/dist/chunks/{rm-GWW57H2V.js → rm-VUL4FHMX.js} +5 -5
  50. package/dist/chunks/{rule-inspect-XPZJO3Y4.js → rule-inspect-ELB7P5YA.js} +5 -5
  51. package/dist/chunks/{rules-C6SB24UO.js → rules-XR6U5U7F.js} +7 -7
  52. package/dist/chunks/{schema-Z6L3EN6F.js → schema-WKPB25ZF.js} +3 -3
  53. package/dist/chunks/{tags-5PFVWGLK.js → tags-NSWTVGHE.js} +3 -3
  54. package/dist/chunks/{update-BCLMLJM7.js → update-H4Q24DK4.js} +5 -5
  55. package/dist/commands/build/index.js +3268 -220
  56. package/dist/commands/deploy/index.js +11 -11
  57. package/dist/commands/dev/index.js +9 -9
  58. package/dist/commands/env/index.js +5 -5
  59. package/dist/commands/link/index.js +8 -8
  60. package/dist/commands/list/index.js +10 -4
  61. package/dist/commands-bulk.js +564 -68
  62. package/dist/help.js +1 -1
  63. package/dist/index.js +10 -10
  64. package/dist/version.mjs +1 -1
  65. package/package.json +18 -16
@@ -9,7 +9,7 @@ import {
9
9
  handleVcrApiError,
10
10
  resolveVcrScope,
11
11
  validateVcrJsonOutput
12
- } from "./chunk-JHQOIGTY.js";
12
+ } from "./chunk-BEETD7P4.js";
13
13
  import {
14
14
  outputError
15
15
  } from "./chunk-BUZRVER7.js";
@@ -22,12 +22,12 @@ import "./chunk-AUECDTMX.js";
22
22
  import {
23
23
  AGENT_REASON
24
24
  } from "./chunk-QH7WYDEP.js";
25
- import "./chunk-P726GMBL.js";
26
- import "./chunk-RB7WQKNC.js";
25
+ import "./chunk-LVR7QUSG.js";
26
+ import "./chunk-IR674PKY.js";
27
27
  import {
28
28
  buildCommandWithGlobalFlags,
29
29
  outputAgentError
30
- } from "./chunk-IZOHLD5D.js";
30
+ } from "./chunk-DDS5Z2MB.js";
31
31
  import "./chunk-ECCWJHC6.js";
32
32
  import {
33
33
  getFlagsSpecification,
@@ -9,8 +9,8 @@ import {
9
9
  handleRulesApiError,
10
10
  parseRulesFlagsAndScope,
11
11
  rulesCollectionPath
12
- } from "./chunk-7PAKWBN4.js";
13
- import "./chunk-GDAO4PGA.js";
12
+ } from "./chunk-DBA4N3OZ.js";
13
+ import "./chunk-VFXF4O4X.js";
14
14
  import "./chunk-BUZRVER7.js";
15
15
  import {
16
16
  validateJsonOutput
@@ -21,12 +21,12 @@ import {
21
21
  import {
22
22
  AGENT_REASON
23
23
  } from "./chunk-QH7WYDEP.js";
24
- import "./chunk-P726GMBL.js";
25
- import "./chunk-RB7WQKNC.js";
24
+ import "./chunk-LVR7QUSG.js";
25
+ import "./chunk-IR674PKY.js";
26
26
  import {
27
27
  buildCommandWithGlobalFlags,
28
28
  outputAgentError
29
- } from "./chunk-IZOHLD5D.js";
29
+ } from "./chunk-DDS5Z2MB.js";
30
30
  import "./chunk-ECCWJHC6.js";
31
31
  import {
32
32
  getFlagsSpecification,
@@ -7,7 +7,7 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  VERCEL_DIR,
9
9
  isVercelTomlEnabled
10
- } from "./chunk-RB7WQKNC.js";
10
+ } from "./chunk-IR674PKY.js";
11
11
  import {
12
12
  parseArguments
13
13
  } from "./chunk-EJ6GQI6F.js";
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  require_lib
9
- } from "./chunk-RB7WQKNC.js";
9
+ } from "./chunk-IR674PKY.js";
10
10
  import {
11
11
  isNativeBinaryInstall
12
12
  } from "./chunk-ECCWJHC6.js";
@@ -15,15 +15,15 @@ import {
15
15
  } from "./chunk-QH7WYDEP.js";
16
16
  import {
17
17
  getScope
18
- } from "./chunk-P726GMBL.js";
18
+ } from "./chunk-LVR7QUSG.js";
19
19
  import {
20
20
  getLinkedProject,
21
21
  getProjectByNameOrId
22
- } from "./chunk-RB7WQKNC.js";
22
+ } from "./chunk-IR674PKY.js";
23
23
  import {
24
24
  buildCommandWithGlobalFlags,
25
25
  outputAgentError
26
- } from "./chunk-IZOHLD5D.js";
26
+ } from "./chunk-DDS5Z2MB.js";
27
27
  import {
28
28
  ProjectNotFound,
29
29
  isAPIError,
@@ -7,17 +7,17 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getUpdateCommandInfo,
9
9
  isGlobal
10
- } from "./chunk-FVI6UYNL.js";
10
+ } from "./chunk-6W7I5IOO.js";
11
11
  import {
12
12
  getGlobalPathConfig,
13
13
  progress,
14
14
  writeToConfigFile
15
- } from "./chunk-FZZWTDNQ.js";
15
+ } from "./chunk-FCYCUCLI.js";
16
16
  import {
17
17
  apiCommand,
18
18
  listSubcommand3 as listSubcommand,
19
19
  loginCommand
20
- } from "./chunk-4BEUS7AL.js";
20
+ } from "./chunk-SCQAJO6E.js";
21
21
  import {
22
22
  require_semver
23
23
  } from "./chunk-IB5L4LKZ.js";
@@ -26,7 +26,7 @@ import {
26
26
  } from "./chunk-YSIZGIDP.js";
27
27
  import {
28
28
  login
29
- } from "./chunk-RB7WQKNC.js";
29
+ } from "./chunk-IR674PKY.js";
30
30
  import {
31
31
  TelemetryClient,
32
32
  isNativeBinaryInstall
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  resolveAlertsScope
9
- } from "./chunk-GDAO4PGA.js";
9
+ } from "./chunk-VFXF4O4X.js";
10
10
  import {
11
11
  handleValidationError,
12
12
  outputError,
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  buildCommandWithGlobalFlags,
20
20
  outputAgentError
21
- } from "./chunk-IZOHLD5D.js";
21
+ } from "./chunk-DDS5Z2MB.js";
22
22
 
23
23
  // src/commands/alerts/rules/parse-scope.ts
24
24
  async function parseRulesFlagsAndScope(client, flags, jsonOutput) {
@@ -39,6 +39,14 @@ var GLOBAL_FLAG_NAMES = /* @__PURE__ */ new Set([
39
39
  // --token/-t are intentionally excluded and stripped via stripSensitiveAuthArgs.
40
40
  ]);
41
41
  var BOOLEAN_GLOBAL_FLAG_NAMES = /* @__PURE__ */ new Set(["--yes", "-y", "--non-interactive"]);
42
+ var GLOBAL_FLAG_SHORTHANDS = {
43
+ "-y": "--yes",
44
+ "-S": "--scope",
45
+ "-T": "--team"
46
+ };
47
+ function canonicalGlobalFlagName(name) {
48
+ return GLOBAL_FLAG_SHORTHANDS[name] ?? name;
49
+ }
42
50
  function getGlobalFlagsFromArgv(argv) {
43
51
  const args = stripSensitiveAuthArgs(argv.slice(2));
44
52
  const out = [];
@@ -83,13 +91,18 @@ function buildIntegrationCommandTailFromArgv(argv) {
83
91
  }
84
92
  function buildCommandWithGlobalFlags(argv, commandTemplate, pkgName = packageName, options) {
85
93
  let preserved = getGlobalFlagsFromArgv(argv);
86
- if (options?.excludeFlags?.length) {
87
- const exclude = new Set(options.excludeFlags);
94
+ const exclude = new Set(
95
+ commandTemplate.split(/\s+/).filter((token) => token.startsWith("-")).map((token) => canonicalGlobalFlagName(token.split("=")[0]))
96
+ );
97
+ for (const flag of options?.excludeFlags ?? []) {
98
+ exclude.add(canonicalGlobalFlagName(flag));
99
+ }
100
+ if (exclude.size) {
88
101
  const out = [];
89
102
  for (let i = 0; i < preserved.length; i++) {
90
103
  const arg = preserved[i];
91
104
  const name = arg.startsWith("--") ? arg.split("=")[0] : arg;
92
- if (exclude.has(name)) {
105
+ if (exclude.has(canonicalGlobalFlagName(name))) {
93
106
  if (!arg.includes("=") && i + 1 < preserved.length && !preserved[i + 1].startsWith("-")) {
94
107
  i++;
95
108
  }
@@ -317,6 +330,32 @@ function buildNextStepsForEdgeConfig(client) {
317
330
  ];
318
331
  }
319
332
  var EDGE_CONFIG_NON_INTERACTIVE_HINT = "Edge Config commands use your current team scope. Pass --scope or run `vercel teams switch` if the store is missing.";
333
+ var LIST_ERROR_HINT = "Project names are team-scoped. Use --scope when the project belongs to another team, or `list --all` to list deployments across all projects.";
334
+ function buildNextStepsForList(client, projectName) {
335
+ return [
336
+ projectName ? {
337
+ command: buildCommandWithGlobalFlags(
338
+ client.argv,
339
+ `project ls --filter ${projectName}`
340
+ ),
341
+ when: "Search projects matching the attempted name to find the right one"
342
+ } : {
343
+ command: buildCommandWithGlobalFlags(
344
+ client.argv,
345
+ "project ls --filter <name>"
346
+ ),
347
+ when: "Search projects by name substring to find the right one (replace <name>)"
348
+ },
349
+ {
350
+ command: buildCommandWithGlobalFlags(client.argv, "list --all"),
351
+ when: "List deployments across all projects in the current scope"
352
+ },
353
+ {
354
+ command: buildCommandWithGlobalFlags(client.argv, "link"),
355
+ when: "Re-link this directory to the correct Vercel project"
356
+ }
357
+ ];
358
+ }
320
359
  function buildNextStepsForProjectSubcommands(client, variant) {
321
360
  const byName = variant === "access-groups" ? {
322
361
  template: "project access-groups <name>",
@@ -327,6 +366,9 @@ function buildNextStepsForProjectSubcommands(client, variant) {
327
366
  } : variant === "protection" ? {
328
367
  template: "project protection <name>",
329
368
  when: "Show deployment protection by project name (replace <name>)"
369
+ } : variant === "update" ? {
370
+ template: "project update <name> --framework <slug>",
371
+ when: "Update a framework preset by project name (replace <name> and <slug>)"
330
372
  } : variant === "speed-insights" ? {
331
373
  template: "project speed-insights <name>",
332
374
  when: "Enable Speed Insights by project name (replace <name>)"
@@ -363,6 +405,12 @@ function resolveNonInteractiveDefaults(client, variant) {
363
405
  hint: EDGE_CONFIG_NON_INTERACTIVE_HINT
364
406
  };
365
407
  }
408
+ if (variant === "list") {
409
+ return {
410
+ next: buildNextStepsForList(client),
411
+ hint: LIST_ERROR_HINT
412
+ };
413
+ }
366
414
  return {
367
415
  next: buildNextStepsForProjectSubcommands(client, variant),
368
416
  hint: PROJECT_SUBCOMMAND_ERROR_HINT
@@ -435,7 +483,8 @@ function exitWithNonInteractiveError(client, err, exitCode = 1, options = {
435
483
  {
436
484
  status: "error",
437
485
  reason: "project_not_found",
438
- message: err instanceof Error ? err.message : String(err)
486
+ message: err instanceof Error ? err.message : String(err),
487
+ ...variant === "list" && options.projectName ? { next: buildNextStepsForList(client, options.projectName) } : {}
439
488
  },
440
489
  exitCode,
441
490
  variant
@@ -8,7 +8,7 @@ import {
8
8
  formatCondition,
9
9
  formatTransform,
10
10
  isTargetTransform
11
- } from "./chunk-TV7GKFSY.js";
11
+ } from "./chunk-VDTSYCXY.js";
12
12
  import {
13
13
  output_manager_default
14
14
  } from "./chunk-OX7KI3LF.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-V5P25P7F.js";
10
10
  import {
11
11
  getLocalPathConfig
12
- } from "./chunk-YWLVPKNT.js";
12
+ } from "./chunk-6SVPJXCO.js";
13
13
  import {
14
14
  DEFAULT_VERCEL_CONFIG_FILENAME,
15
15
  VERCEL_CONFIG_EXTENSIONS,
@@ -36,7 +36,7 @@ import {
36
36
  useKeypress,
37
37
  usePrefix,
38
38
  useState
39
- } from "./chunk-RB7WQKNC.js";
39
+ } from "./chunk-IR674PKY.js";
40
40
  import {
41
41
  require_load_json_file
42
42
  } from "./chunk-ECCWJHC6.js";
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  STANDARD_ENVIRONMENTS
9
- } from "./chunk-RB7WQKNC.js";
9
+ } from "./chunk-IR674PKY.js";
10
10
  import {
11
11
  getCommandName,
12
12
  require_lib
@@ -9,7 +9,7 @@ import {
9
9
  getPreservedArgsForEnvPull,
10
10
  outputActionRequired,
11
11
  outputAgentError
12
- } from "./chunk-IZOHLD5D.js";
12
+ } from "./chunk-DDS5Z2MB.js";
13
13
  import {
14
14
  TelemetryClient,
15
15
  require_dist as require_dist2,
@@ -16204,6 +16204,10 @@ var require_frameworks = __commonJS({
16204
16204
  website: "https://storybook.js.org",
16205
16205
  ignoreRuntimes: ["@vercel/next", "@vercel/node"],
16206
16206
  disableRootMiddleware: true,
16207
+ // Storybook is a devDependency of many apps that deploy something else
16208
+ // entirely, so detecting it is not evidence the user intends to deploy
16209
+ // Storybook itself.
16210
+ detectionConfidence: "weak",
16207
16211
  detectors: {
16208
16212
  every: [
16209
16213
  {
@@ -61812,7 +61816,6 @@ export {
61812
61816
  printRemoteUrls,
61813
61817
  selectAndParseRemoteUrl,
61814
61818
  checkExistsAndConnect,
61815
- getGitRootDirectory,
61816
61819
  printAlignedLabel,
61817
61820
  getRepoLink,
61818
61821
  resolveGitRemote,
@@ -8,7 +8,7 @@ import {
8
8
  VERCEL_DIR,
9
9
  VERCEL_DIR_PROJECT,
10
10
  require_lib
11
- } from "./chunk-RB7WQKNC.js";
11
+ } from "./chunk-IR674PKY.js";
12
12
  import {
13
13
  require_dist
14
14
  } from "./chunk-OX7KI3LF.js";
@@ -7,16 +7,16 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  printProjectNotFoundError,
9
9
  setupAndLink
10
- } from "./chunk-6ISLGUMI.js";
10
+ } from "./chunk-UDIFOPZL.js";
11
11
  import {
12
12
  getLinkedProject,
13
13
  param,
14
14
  resolveProjectCwd
15
- } from "./chunk-RB7WQKNC.js";
15
+ } from "./chunk-IR674PKY.js";
16
16
  import {
17
17
  buildCommandWithYes,
18
18
  outputActionRequired
19
- } from "./chunk-IZOHLD5D.js";
19
+ } from "./chunk-DDS5Z2MB.js";
20
20
  import {
21
21
  getCommandName,
22
22
  getCommandNamePlain
@@ -18,7 +18,7 @@ import {
18
18
  require_lib,
19
19
  require_minimatch,
20
20
  require_pluralize
21
- } from "./chunk-RB7WQKNC.js";
21
+ } from "./chunk-IR674PKY.js";
22
22
  import {
23
23
  CantParseJSONFile,
24
24
  cmd,
@@ -11229,7 +11229,6 @@ import {
11229
11229
  isExperimentalBackendsEnabled,
11230
11230
  isExperimentalService,
11231
11231
  isExperimentalServiceV2,
11232
- isExternalSymlink,
11233
11232
  isSymbolicLink
11234
11233
  } from "@vercel/build-utils";
11235
11234
 
@@ -11802,17 +11801,12 @@ async function writeEdgeFunction(repoRootPath, outputDir, edgeFunction, path2, e
11802
11801
  }
11803
11802
  await import_fs_extra5.default.mkdirp(dest);
11804
11803
  const ops = [];
11805
- const sharedDest = join4(outputDir, "shared");
11806
- const { files, filePathMap, shared } = filesWithoutFsRefs(
11804
+ const { files, filePathMap } = filesWithoutFsRefs(
11807
11805
  edgeFunction.files,
11808
11806
  repoRootPath,
11809
- sharedDest,
11810
11807
  standalone
11811
11808
  );
11812
11809
  ops.push(download(files, dest));
11813
- if (shared) {
11814
- ops.push(download(shared, sharedDest));
11815
- }
11816
11810
  const config = {
11817
11811
  runtime: "edge",
11818
11812
  ...edgeFunction,
@@ -11841,18 +11835,9 @@ async function writeLambda(repoRootPath, outputDir, lambda, path2, functionConfi
11841
11835
  const ops = [];
11842
11836
  let filePathMap;
11843
11837
  if (lambda.files) {
11844
- const sharedDest = join4(outputDir, "shared");
11845
- const f = filesWithoutFsRefs(
11846
- lambda.files,
11847
- repoRootPath,
11848
- sharedDest,
11849
- standalone
11850
- );
11838
+ const f = filesWithoutFsRefs(lambda.files, repoRootPath, standalone);
11851
11839
  filePathMap = f.filePathMap;
11852
11840
  ops.push(download(f.files, dest));
11853
- if (f.shared) {
11854
- ops.push(download(f.shared, sharedDest));
11855
- }
11856
11841
  } else if (lambda.zipBuffer) {
11857
11842
  ops.push(unzip(lambda.zipBuffer, dest));
11858
11843
  } else {
@@ -12007,41 +11992,21 @@ async function* findDirs(name, dir, root = dir) {
12007
11992
  }
12008
11993
  }
12009
11994
  }
12010
- function stripParentSegments(path2) {
12011
- const normalized = normalizePath(path2);
12012
- const segments = normalized.split("/");
12013
- let i = 0;
12014
- while (i < segments.length && segments[i] === "..") {
12015
- i++;
12016
- }
12017
- return segments.slice(i).join("/");
12018
- }
12019
- function filesWithoutFsRefs(files, repoRootPath, sharedDest, standalone) {
12020
- const repoRootResolved = process.env.VERCEL_RESOLVE_ROOT_DIRECTORY === "1";
12021
- const symlinkDirs = repoRootResolved && standalone && sharedDest ? Object.entries(files).filter(([, f]) => f.type === "FileFsRef" && isSymbolicLink(f.mode)).map(([p]) => `${normalizePath(p)}/`) : [];
11995
+ function filesWithoutFsRefs(files, repoRootPath, standalone) {
11996
+ const symlinkDirs = standalone ? Object.entries(files).filter(([, f]) => f.type === "FileFsRef" && isSymbolicLink(f.mode)).map(([p]) => `${normalizePath(p)}/`) : [];
12022
11997
  let filePathMap;
12023
11998
  const out = {};
12024
- const shared = {};
12025
11999
  for (const [path2, file] of Object.entries(files)) {
12026
12000
  if (file.type === "FileFsRef") {
12027
- if (!filePathMap)
12028
- filePathMap = {};
12029
- if (standalone && sharedDest && repoRootResolved) {
12001
+ if (standalone) {
12030
12002
  const normalized = normalizePath(path2);
12031
12003
  if (symlinkDirs.some((prefix) => normalized.startsWith(prefix))) {
12032
12004
  continue;
12033
12005
  }
12034
12006
  out[normalized] = file;
12035
- } else if (standalone && sharedDest) {
12036
- if (isExternalSymlink(file)) {
12037
- continue;
12038
- }
12039
- const funcPath = stripParentSegments(path2);
12040
- shared[funcPath] = file;
12041
- filePathMap[funcPath] = normalizePath(
12042
- relative2(repoRootPath, join4(sharedDest, funcPath))
12043
- );
12044
12007
  } else {
12008
+ if (!filePathMap)
12009
+ filePathMap = {};
12045
12010
  filePathMap[normalizePath(path2)] = normalizePath(
12046
12011
  relative2(repoRootPath, file.fsPath)
12047
12012
  );
@@ -12050,7 +12015,7 @@ function filesWithoutFsRefs(files, repoRootPath, sharedDest, standalone) {
12050
12015
  out[path2] = file;
12051
12016
  }
12052
12017
  }
12053
- return { files: out, filePathMap, shared };
12018
+ return { files: out, filePathMap };
12054
12019
  }
12055
12020
 
12056
12021
  export {
@@ -10,7 +10,7 @@ import {
10
10
  progress,
11
11
  require_dist as require_dist2,
12
12
  sleep
13
- } from "./chunk-FZZWTDNQ.js";
13
+ } from "./chunk-FCYCUCLI.js";
14
14
  import {
15
15
  suggestNextCommands
16
16
  } from "./chunk-XBN2O34P.js";
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-SGL3NMOP.js";
21
21
  import {
22
22
  CommandTimeout
23
- } from "./chunk-4BEUS7AL.js";
23
+ } from "./chunk-SCQAJO6E.js";
24
24
  import {
25
25
  showPluginTipIfNeeded
26
26
  } from "./chunk-NJUPUGOE.js";
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-64IF634X.js";
30
30
  import {
31
31
  getScope
32
- } from "./chunk-P726GMBL.js";
32
+ } from "./chunk-LVR7QUSG.js";
33
33
  import {
34
34
  getProjectByNameOrId,
35
35
  param,
@@ -37,7 +37,7 @@ import {
37
37
  require_dist as require_dist3,
38
38
  require_pluralize,
39
39
  ua_default
40
- } from "./chunk-RB7WQKNC.js";
40
+ } from "./chunk-IR674PKY.js";
41
41
  import {
42
42
  require_strip_ansi,
43
43
  responseError
@@ -11,7 +11,7 @@ import {
11
11
  getTeamById,
12
12
  getUser,
13
13
  getVercelDirectory
14
- } from "./chunk-RB7WQKNC.js";
14
+ } from "./chunk-IR674PKY.js";
15
15
  import {
16
16
  TeamDeleted
17
17
  } from "./chunk-P6AK7SVK.js";
@@ -53,6 +53,8 @@ var help = () => `
53
53
 
54
54
  activity List user activity events
55
55
  agent [init] Generate AGENTS.md with Vercel best practices
56
+ ai-gateway [cmd] Manage AI Gateway resources
57
+ agent-runs [cmd] Inspect Agent Runs observability data
56
58
  alerts List alerts for a project or team
57
59
  alias [cmd] Manages your domain aliases
58
60
  api [endpoint] Make authenticated HTTP requests to the Vercel API [beta]
@@ -67,6 +69,7 @@ var help = () => `
67
69
  deploy-hooks [cmd] Manage deploy hooks for Git-triggered builds
68
70
  dns [name] Manages your DNS records
69
71
  domains [name] Manages your domain names
72
+ edge-config [cmd] Manage Edge Config stores
70
73
  firewall [cmd] Manages Vercel Firewall configuration and custom rules
71
74
  flags [cmd] Manage feature flags for a Vercel project
72
75
  httpstat path Visualize HTTP timing statistics for deployments
@@ -74,15 +77,18 @@ var help = () => `
74
77
  metrics <metric> Queries observability metrics for your project or team
75
78
  mcp Set up MCP agents and configuration
76
79
  microfrontends Manages your microfrontends
80
+ oauth-apps [cmd] Register Vercel Apps (OAuth) and manage team installations
77
81
  projects Manages your Projects
78
82
  redirects [cmd] Manages redirects for your current Project
79
83
  rm | remove [id] Removes a deployment
80
84
  routes [cmd] Manages routing rules for your current Project
81
85
  rr | rolling-release [cmd] Manage rolling releases for gradual traffic shifting
86
+ sandbox Interact with Vercel Sandbox
82
87
  skills [query] Discover agent skills relevant to your project
83
88
  target [cmd] Manage custom environments for your Project
84
89
  teams Manages your teams
85
90
  telemetry [cmd] Enable or disable telemetry collection
91
+ tokens [cmd] Manage your personal Vercel authentication tokens
86
92
  traces [cmd] Fetch and capture traces for your project's deployment
87
93
  upgrade Upgrade the Vercel CLI to the latest version
88
94
  usage Show billing usage for the current billing period
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getEnvTargetPlaceholder
9
- } from "./chunk-RB7WQKNC.js";
9
+ } from "./chunk-IR674PKY.js";
10
10
  import {
11
11
  projectOption,
12
12
  yesOption
@@ -28,10 +28,10 @@ import {
28
28
  import {
29
29
  buildCommand,
30
30
  pullCommand
31
- } from "./chunk-O2QNLUYX.js";
31
+ } from "./chunk-S2N7BLSM.js";
32
32
  import {
33
33
  envCommand
34
- } from "./chunk-RB7WQKNC.js";
34
+ } from "./chunk-IR674PKY.js";
35
35
  import {
36
36
  confirmOption,
37
37
  deploymentOption,
@@ -7277,6 +7277,90 @@ var renameSubcommand = {
7277
7277
  }
7278
7278
  ]
7279
7279
  };
7280
+ var updateSubcommand5 = {
7281
+ name: "update",
7282
+ aliases: ["set"],
7283
+ description: "Update one or more project settings; omitted settings remain unchanged",
7284
+ arguments: [
7285
+ {
7286
+ name: "name",
7287
+ required: false
7288
+ }
7289
+ ],
7290
+ options: [
7291
+ {
7292
+ name: "framework",
7293
+ shorthand: null,
7294
+ type: String,
7295
+ argument: "SLUG",
7296
+ description: 'Set the framework preset by slug; use "other" to clear the preset',
7297
+ deprecated: false
7298
+ },
7299
+ {
7300
+ name: "build-command",
7301
+ shorthand: null,
7302
+ type: String,
7303
+ argument: "COMMAND",
7304
+ description: "Set the build command",
7305
+ deprecated: false
7306
+ },
7307
+ {
7308
+ name: "dev-command",
7309
+ shorthand: null,
7310
+ type: String,
7311
+ argument: "COMMAND",
7312
+ description: "Set the development command",
7313
+ deprecated: false
7314
+ },
7315
+ {
7316
+ name: "install-command",
7317
+ shorthand: null,
7318
+ type: String,
7319
+ argument: "COMMAND",
7320
+ description: "Set the install command",
7321
+ deprecated: false
7322
+ },
7323
+ {
7324
+ name: "output-directory",
7325
+ shorthand: null,
7326
+ type: String,
7327
+ argument: "DIR",
7328
+ description: "Set the output directory",
7329
+ deprecated: false
7330
+ },
7331
+ {
7332
+ name: "auto-detect",
7333
+ shorthand: null,
7334
+ type: [String],
7335
+ argument: "SETTING",
7336
+ description: "Reset a setting to automatic detection; repeat for build-command, dev-command, install-command, or output-directory",
7337
+ deprecated: false
7338
+ },
7339
+ formatOption
7340
+ ],
7341
+ examples: [
7342
+ {
7343
+ name: "Set the linked project framework preset to Next.js",
7344
+ value: `${packageName} project update --framework nextjs`
7345
+ },
7346
+ {
7347
+ name: "Set a named project framework preset to Vite",
7348
+ value: `${packageName} project update my-project --framework vite`
7349
+ },
7350
+ {
7351
+ name: "Update multiple settings in one command",
7352
+ value: `${packageName} project update my-project --build-command "pnpm build" --output-directory dist`
7353
+ },
7354
+ {
7355
+ name: "Reset individual settings to automatic detection",
7356
+ value: `${packageName} project update my-project --auto-detect build-command --auto-detect output-directory`
7357
+ },
7358
+ {
7359
+ name: "Clear the framework preset and return JSON",
7360
+ value: `${packageName} project update my-project --framework other --format json`
7361
+ }
7362
+ ]
7363
+ };
7280
7364
  var tokenSubcommand2 = {
7281
7365
  name: "token",
7282
7366
  aliases: [],
@@ -7602,6 +7686,7 @@ var projectCommand = {
7602
7686
  protectionSubcommand,
7603
7687
  webAnalyticsSubcommand,
7604
7688
  speedInsightsSubcommand,
7689
+ updateSubcommand5,
7605
7690
  renameSubcommand,
7606
7691
  removeSubcommand12,
7607
7692
  tokenSubcommand2
@@ -9929,6 +10014,7 @@ export {
9929
10014
  listSubcommand13,
9930
10015
  removeSubcommand12,
9931
10016
  renameSubcommand,
10017
+ updateSubcommand5,
9932
10018
  tokenSubcommand2,
9933
10019
  accessSummarySubcommand,
9934
10020
  membersSubcommand,