vercel 51.2.0 → 51.3.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 (70) hide show
  1. package/dist/chunks/add-3MIOUOZC.js +180 -0
  2. package/dist/chunks/{chunk-K4IC7LFB.js → chunk-2JQVASXJ.js} +13 -8
  3. package/dist/chunks/{chunk-Q6BEDVOU.js → chunk-4PQA6H63.js} +1 -1
  4. package/dist/chunks/{chunk-IS2HEMF4.js → chunk-4RBF6ZDU.js} +4 -2
  5. package/dist/chunks/{chunk-V23RAVWV.js → chunk-4VP55L4V.js} +211 -504
  6. package/dist/chunks/{chunk-TBW2XDGN.js → chunk-4WRHMYCG.js} +6 -6
  7. package/dist/chunks/chunk-4ZWTYJSP.js +139 -0
  8. package/dist/chunks/{chunk-7IDNCLTM.js → chunk-APGVHLAW.js} +2 -2
  9. package/dist/chunks/{chunk-UZIEJEMY.js → chunk-BAUYQ7AR.js} +1 -1
  10. package/dist/chunks/{chunk-BUBUVE23.js → chunk-BJQTGP42.js} +4 -2
  11. package/dist/chunks/{chunk-WOFF2NEI.js → chunk-BU3JMDDH.js} +3 -3
  12. package/dist/chunks/chunk-CGTXAXZ4.js +484 -0
  13. package/dist/chunks/{chunk-BQUQ5F7R.js → chunk-CRZM5WM2.js} +4 -2
  14. package/dist/chunks/{chunk-RQTDTSAX.js → chunk-CZXW3DJH.js} +2 -2
  15. package/dist/chunks/chunk-DVQ4SIWF.js +183 -0
  16. package/dist/chunks/{chunk-TWZWQGBN.js → chunk-E3NE4SKN.js} +3 -0
  17. package/dist/chunks/{chunk-A4NVECX5.js → chunk-ECRBC4HL.js} +4 -581
  18. package/dist/chunks/{chunk-65IHMJX4.js → chunk-FNFZO3WQ.js} +7 -5
  19. package/dist/chunks/{chunk-L2BKVTHL.js → chunk-G6RXZLQ2.js} +2 -2
  20. package/dist/chunks/{chunk-4YZKA4FN.js → chunk-GE6G37P4.js} +1 -1
  21. package/dist/chunks/{chunk-NELCIT4M.js → chunk-GLDQ23LD.js} +1 -1
  22. package/dist/chunks/{chunk-D7SZ3DXR.js → chunk-GYBFQLYR.js} +6 -4
  23. package/dist/chunks/{chunk-ZL5SYUAG.js → chunk-JEON5XEH.js} +44 -13
  24. package/dist/chunks/{chunk-Y5YCSB6X.js → chunk-LDXYSGPZ.js} +2 -2
  25. package/dist/chunks/{chunk-U5J73OA3.js → chunk-N45K6NXC.js} +1 -1
  26. package/dist/chunks/{chunk-YKKQGGLZ.js → chunk-NCQBQGI6.js} +2 -2
  27. package/dist/chunks/chunk-NE34PEHL.js +167 -0
  28. package/dist/chunks/{chunk-A5XRYFVO.js → chunk-OFUQPP26.js} +10 -6
  29. package/dist/chunks/{chunk-NYO5XRBQ.js → chunk-R2BVH5SQ.js} +1 -1
  30. package/dist/chunks/chunk-RFMC2QXQ.js +602 -0
  31. package/dist/chunks/{chunk-XHMU7WUB.js → chunk-RHXEHBO3.js} +8 -6
  32. package/dist/chunks/{chunk-5CRSHCRD.js → chunk-RRYVGOVK.js} +1 -1
  33. package/dist/chunks/{chunk-3PEFANXY.js → chunk-T7CL42FK.js} +5 -5
  34. package/dist/chunks/{chunk-WXNT7WJO.js → chunk-TAOVG4PS.js} +49 -4
  35. package/dist/chunks/{chunk-6DIXPIXB.js → chunk-UB325PS7.js} +1 -1
  36. package/dist/chunks/{chunk-2IAZZEVQ.js → chunk-UWKTUK3W.js} +4 -2
  37. package/dist/chunks/{chunk-VE7MY76H.js → chunk-VGWGLBUC.js} +4 -2
  38. package/dist/chunks/{chunk-F2ROYUW2.js → chunk-VMTOBGCO.js} +425 -28
  39. package/dist/chunks/{chunk-XMVSCINT.js → chunk-ZS5VKEZL.js} +5 -3
  40. package/dist/chunks/{compile-vercel-config-6FEECIZK.js → compile-vercel-config-A2SLMCWK.js} +4 -2
  41. package/dist/chunks/{delete-J2N2QXMP.js → delete-SEQBCYWT.js} +8 -6
  42. package/dist/chunks/{disable-QGYXQKAM.js → disable-GRM5DJGU.js} +8 -6
  43. package/dist/chunks/{discard-ZDGJB5US.js → discard-IVQWWSPI.js} +8 -6
  44. package/dist/chunks/{edit-RJWDA5KJ.js → edit-YTMZBT4Y.js} +9 -7
  45. package/dist/chunks/{enable-L33HPTXB.js → enable-SSU3MG6J.js} +8 -6
  46. package/dist/chunks/{export-Z5C4BJ2U.js → export-INCDZTYW.js} +8 -6
  47. package/dist/chunks/inspect-QMY2ZE6J.js +353 -0
  48. package/dist/chunks/{list-HXN64DKX.js → list-FF4VGSZ2.js} +115 -85
  49. package/dist/chunks/{list-4P2TW77C.js → list-MMIBPSB3.js} +10 -7
  50. package/dist/chunks/ls-TYEDISJD.js +114 -0
  51. package/dist/chunks/{publish-TLVHQB2H.js → publish-OJQCVDL5.js} +8 -6
  52. package/dist/chunks/{query-SDKQTWN2.js → query-LACPOOBL.js} +15 -12
  53. package/dist/chunks/{reorder-UHMUFYIW.js → reorder-TBFWHFQZ.js} +8 -6
  54. package/dist/chunks/{restore-762GO6HU.js → restore-5LUZRUME.js} +8 -6
  55. package/dist/chunks/rm-LDXY2G45.js +164 -0
  56. package/dist/chunks/rule-inspect-THIN6POX.js +142 -0
  57. package/dist/chunks/rules-4ZH7VTGC.js +83 -0
  58. package/dist/chunks/{schema-WBOIQRP4.js → schema-OK4OOI2N.js} +9 -7
  59. package/dist/chunks/{types-A4EAQ6F6.js → types-QNN5CDCB.js} +6 -4
  60. package/dist/chunks/update-EXPUPEH6.js +196 -0
  61. package/dist/commands/build/index.js +28 -24
  62. package/dist/commands/deploy/index.js +172 -33
  63. package/dist/commands/dev/index.js +21 -17
  64. package/dist/commands/env/index.js +32 -27
  65. package/dist/commands/link/index.js +21 -17
  66. package/dist/commands/list/index.js +14 -11
  67. package/dist/commands-bulk.js +4566 -1816
  68. package/dist/index.js +38 -24
  69. package/dist/version.mjs +1 -1
  70. package/package.json +18 -18
@@ -6,10 +6,10 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  table
9
- } from "./chunk-4YZKA4FN.js";
9
+ } from "./chunk-GE6G37P4.js";
10
10
  import {
11
11
  require_strip_ansi
12
- } from "./chunk-A4NVECX5.js";
12
+ } from "./chunk-RFMC2QXQ.js";
13
13
  import {
14
14
  require_source
15
15
  } from "./chunk-S7KYDPEM.js";
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  require_string_width
9
- } from "./chunk-A4NVECX5.js";
9
+ } from "./chunk-RFMC2QXQ.js";
10
10
  import {
11
11
  __commonJS,
12
12
  __require,
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  isAPIError
9
- } from "./chunk-A4NVECX5.js";
9
+ } from "./chunk-ECRBC4HL.js";
10
10
  import {
11
11
  output_manager_default
12
12
  } from "./chunk-ZQKJVHXY.js";
@@ -7,12 +7,14 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  VERCEL_DIR,
9
9
  isVercelTomlEnabled
10
- } from "./chunk-V23RAVWV.js";
10
+ } from "./chunk-4VP55L4V.js";
11
11
  import {
12
- ConflictingConfigFiles,
13
- InvalidLocalConfig,
14
12
  getArgs
15
- } from "./chunk-A4NVECX5.js";
13
+ } from "./chunk-RFMC2QXQ.js";
14
+ import {
15
+ ConflictingConfigFiles,
16
+ InvalidLocalConfig
17
+ } from "./chunk-ECRBC4HL.js";
16
18
 
17
19
  // src/util/config/local-path.ts
18
20
  import path from "path";
@@ -9,37 +9,41 @@ import {
9
9
  printIndications,
10
10
  require_dist as require_dist2,
11
11
  sleep
12
- } from "./chunk-K4IC7LFB.js";
12
+ } from "./chunk-2JQVASXJ.js";
13
13
  import {
14
14
  suggestNextCommands
15
15
  } from "./chunk-LOS7HHU3.js";
16
16
  import {
17
17
  getDeployment,
18
18
  mapCertError
19
- } from "./chunk-U5J73OA3.js";
19
+ } from "./chunk-N45K6NXC.js";
20
20
  import {
21
21
  getScope
22
- } from "./chunk-7IDNCLTM.js";
22
+ } from "./chunk-APGVHLAW.js";
23
23
  import {
24
24
  showPluginTipIfNeeded
25
- } from "./chunk-NYO5XRBQ.js";
25
+ } from "./chunk-R2BVH5SQ.js";
26
26
  import {
27
27
  CommandTimeout
28
- } from "./chunk-F2ROYUW2.js";
28
+ } from "./chunk-VMTOBGCO.js";
29
29
  import {
30
30
  ua_default
31
- } from "./chunk-Q6BEDVOU.js";
31
+ } from "./chunk-4PQA6H63.js";
32
32
  import {
33
33
  getProjectByNameOrId,
34
34
  param,
35
35
  require_dist as require_dist3,
36
36
  require_lib3 as require_lib,
37
37
  require_pluralize
38
- } from "./chunk-V23RAVWV.js";
38
+ } from "./chunk-4VP55L4V.js";
39
39
  import {
40
40
  require_ms,
41
41
  stamp_default
42
42
  } from "./chunk-CO5D46AG.js";
43
+ import {
44
+ require_strip_ansi,
45
+ responseError
46
+ } from "./chunk-RFMC2QXQ.js";
43
47
  import {
44
48
  APIError,
45
49
  BuildError,
@@ -56,10 +60,8 @@ import {
56
60
  UserAborted,
57
61
  getCommandName,
58
62
  isAPIError,
59
- require_bytes,
60
- require_strip_ansi,
61
- responseError
62
- } from "./chunk-A4NVECX5.js";
63
+ require_bytes
64
+ } from "./chunk-ECRBC4HL.js";
63
65
  import {
64
66
  emoji,
65
67
  eraseLines,
@@ -4270,6 +4272,7 @@ async function processDeployment({
4270
4272
  agent,
4271
4273
  manual,
4272
4274
  jsonOutput,
4275
+ functionsBeta,
4273
4276
  ...args
4274
4277
  }) {
4275
4278
  const {
@@ -4479,6 +4482,14 @@ async function processDeployment({
4479
4482
  }
4480
4483
  if (event.type === "error") {
4481
4484
  stopSpinner();
4485
+ if (!functionsBeta) {
4486
+ const maybeSizeError = handleErrorSolvableWithFunctionsBeta(
4487
+ event.payload
4488
+ );
4489
+ if (maybeSizeError) {
4490
+ throw maybeSizeError;
4491
+ }
4492
+ }
4482
4493
  if (!archive) {
4483
4494
  const maybeError = handleErrorSolvableWithArchive(event.payload);
4484
4495
  if (maybeError) {
@@ -4517,6 +4528,23 @@ async function processDeployment({
4517
4528
  throw err;
4518
4529
  }
4519
4530
  }
4531
+ var FunctionsSizeLimitError = class extends Error {
4532
+ constructor() {
4533
+ super(...arguments);
4534
+ this.link = "https://vercel.com/docs/errors/FUNCTIONS_BETA";
4535
+ }
4536
+ };
4537
+ function handleErrorSolvableWithFunctionsBeta(error) {
4538
+ if ((0, import_error_utils.isErrorLike)(error)) {
4539
+ const isLambdaSizeExceeded = "errorCode" in error && error.errorCode === "LAMBDA_SIZE_EXCEEDED";
4540
+ const isMessageMatch = !isLambdaSizeExceeded && "errorMessage" in error && typeof error.errorMessage === "string" && error.errorMessage.includes("exceeds") && (error.errorMessage.includes("Lambda size limit") || error.errorMessage.includes("Lambda ephemeral storage") || error.errorMessage.includes("exceeds Lambda limit"));
4541
+ if (isLambdaSizeExceeded || isMessageMatch) {
4542
+ return new FunctionsSizeLimitError(
4543
+ error.errorMessage || error.message || "Function build exceeded the maximum size limit."
4544
+ );
4545
+ }
4546
+ }
4547
+ }
4520
4548
  var archiveSuggestionText = "Try using `--archive=tgz` to limit the amount of files you upload.";
4521
4549
  var UploadErrorMissingArchive = class extends Error {
4522
4550
  constructor() {
@@ -4593,7 +4621,8 @@ var Now = class {
4593
4621
  autoAssignCustomDomains,
4594
4622
  agentName,
4595
4623
  manual,
4596
- jsonOutput = false
4624
+ jsonOutput = false,
4625
+ functionsBeta
4597
4626
  }, org, isSettingUpProject, archive) {
4598
4627
  const hashes = {};
4599
4628
  const uploadStamp = stamp_default();
@@ -4637,7 +4666,8 @@ var Now = class {
4637
4666
  withFullLogs,
4638
4667
  bulkRedirectsPath: nowConfig.bulkRedirectsPath,
4639
4668
  manual,
4640
- jsonOutput
4669
+ jsonOutput,
4670
+ functionsBeta
4641
4671
  });
4642
4672
  if (deployment && deployment.warnings) {
4643
4673
  let sizeExceeded = 0;
@@ -5371,6 +5401,7 @@ export {
5371
5401
  displayBuildLogs,
5372
5402
  displayBuildLogsUntilFinalError,
5373
5403
  displayRuntimeLogs,
5404
+ FunctionsSizeLimitError,
5374
5405
  UploadErrorMissingArchive,
5375
5406
  Now,
5376
5407
  require_cjs,
@@ -7,13 +7,13 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  noBorderChars,
9
9
  require_cli_table3
10
- } from "./chunk-4YZKA4FN.js";
10
+ } from "./chunk-GE6G37P4.js";
11
11
  import {
12
12
  require_dist
13
13
  } from "./chunk-U3WLEFHU.js";
14
14
  import {
15
15
  globalCommandOptions
16
- } from "./chunk-A4NVECX5.js";
16
+ } from "./chunk-RFMC2QXQ.js";
17
17
  import {
18
18
  require_source
19
19
  } from "./chunk-S7KYDPEM.js";
@@ -13,7 +13,7 @@ import {
13
13
  InvalidDeploymentId,
14
14
  TooManyRequests,
15
15
  isAPIError
16
- } from "./chunk-A4NVECX5.js";
16
+ } from "./chunk-ECRBC4HL.js";
17
17
 
18
18
  // src/util/to-host.ts
19
19
  function toHost(url) {
@@ -6,10 +6,10 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  require_lib
9
- } from "./chunk-V23RAVWV.js";
9
+ } from "./chunk-4VP55L4V.js";
10
10
  import {
11
11
  packageName
12
- } from "./chunk-A4NVECX5.js";
12
+ } from "./chunk-ECRBC4HL.js";
13
13
  import {
14
14
  __toESM
15
15
  } from "./chunk-TZ2YI2VH.js";
@@ -0,0 +1,167 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import {
8
+ outputError
9
+ } from "./chunk-HTOH3MSD.js";
10
+ import {
11
+ getScope
12
+ } from "./chunk-APGVHLAW.js";
13
+ import {
14
+ AGENT_REASON
15
+ } from "./chunk-E3NE4SKN.js";
16
+ import {
17
+ getLinkedProject,
18
+ getProjectByNameOrId
19
+ } from "./chunk-4VP55L4V.js";
20
+ import {
21
+ buildCommandWithGlobalFlags,
22
+ outputAgentError
23
+ } from "./chunk-CGTXAXZ4.js";
24
+ import {
25
+ ProjectNotFound,
26
+ isAPIError
27
+ } from "./chunk-ECRBC4HL.js";
28
+
29
+ // src/commands/alerts/resolve-alerts-scope.ts
30
+ function emitAlertsScopeError(client, jsonOutput, code, message, agent) {
31
+ outputAgentError(
32
+ client,
33
+ {
34
+ status: "error",
35
+ reason: agent.reason,
36
+ message,
37
+ hint: agent.hint,
38
+ next: agent.next
39
+ },
40
+ 1
41
+ );
42
+ return outputError(client, jsonOutput, code, message);
43
+ }
44
+ async function resolveAlertsScope(client, opts) {
45
+ if (opts.all || opts.project) {
46
+ const { team } = await getScope(client);
47
+ if (!team) {
48
+ const msg = "No team context found. Run `vercel switch` to select a team, or use `vercel link` in a project directory.";
49
+ return emitAlertsScopeError(client, opts.jsonOutput, "NO_TEAM", msg, {
50
+ reason: AGENT_REASON.MISSING_SCOPE,
51
+ hint: "Select a team scope before using --project or --all with alerts.",
52
+ next: [
53
+ {
54
+ command: buildCommandWithGlobalFlags(client.argv, "whoami"),
55
+ when: "See current user and team"
56
+ },
57
+ {
58
+ command: buildCommandWithGlobalFlags(client.argv, "teams switch"),
59
+ when: "Switch to a team that owns the project"
60
+ }
61
+ ]
62
+ });
63
+ }
64
+ if (opts.all) {
65
+ return {
66
+ teamId: team.id
67
+ };
68
+ }
69
+ let projectResult;
70
+ try {
71
+ projectResult = await getProjectByNameOrId(
72
+ client,
73
+ opts.project,
74
+ team.id
75
+ );
76
+ } catch (err) {
77
+ if (isAPIError(err)) {
78
+ const msg = err.serverMessage || (err.status === 403 ? `You do not have permission to access project "${opts.project}" in team "${team.slug}".` : `API error (${err.status}).`);
79
+ const reason = err.status === 401 ? "not_authorized" : err.status === 403 ? "forbidden" : AGENT_REASON.API_ERROR;
80
+ return emitAlertsScopeError(
81
+ client,
82
+ opts.jsonOutput,
83
+ err.code || "API_ERROR",
84
+ msg,
85
+ {
86
+ reason,
87
+ next: [
88
+ {
89
+ command: buildCommandWithGlobalFlags(
90
+ client.argv,
91
+ "alerts rules ls --project <name_or_id>"
92
+ ),
93
+ when: "Retry with a project you can access (replace <name_or_id>)"
94
+ }
95
+ ]
96
+ }
97
+ );
98
+ }
99
+ throw err;
100
+ }
101
+ if (projectResult instanceof ProjectNotFound) {
102
+ const msg = `Project "${opts.project}" was not found in team "${team.slug}".`;
103
+ return emitAlertsScopeError(
104
+ client,
105
+ opts.jsonOutput,
106
+ "PROJECT_NOT_FOUND",
107
+ msg,
108
+ {
109
+ reason: AGENT_REASON.NOT_FOUND,
110
+ next: [
111
+ {
112
+ command: buildCommandWithGlobalFlags(
113
+ client.argv,
114
+ "alerts rules ls"
115
+ ),
116
+ when: "List rules in the current linked project or adjust --project"
117
+ }
118
+ ]
119
+ }
120
+ );
121
+ }
122
+ return {
123
+ teamId: team.id,
124
+ projectId: projectResult.id
125
+ };
126
+ }
127
+ const linkedProject = await getLinkedProject(client);
128
+ if (linkedProject.status === "error") {
129
+ return linkedProject.exitCode;
130
+ }
131
+ if (linkedProject.status === "not_linked") {
132
+ const msg = "No linked project found. Run `vercel link` to link a project, or use --project <name> or --all.";
133
+ return emitAlertsScopeError(client, opts.jsonOutput, "NOT_LINKED", msg, {
134
+ reason: AGENT_REASON.NOT_LINKED,
135
+ hint: "Agents should pass --project or --all when no .vercel link exists in --cwd.",
136
+ next: [
137
+ {
138
+ command: buildCommandWithGlobalFlags(client.argv, "link"),
139
+ when: "Link this directory to a Vercel project"
140
+ },
141
+ {
142
+ command: buildCommandWithGlobalFlags(
143
+ client.argv,
144
+ "alerts rules ls --project <name_or_id>"
145
+ ),
146
+ when: "List rules for a project without linking (replace <name_or_id>)"
147
+ },
148
+ {
149
+ command: buildCommandWithGlobalFlags(
150
+ client.argv,
151
+ "alerts rules ls --all"
152
+ ),
153
+ when: "List team-wide rules without a linked project"
154
+ }
155
+ ]
156
+ });
157
+ }
158
+ return {
159
+ teamId: linkedProject.org.id,
160
+ projectId: linkedProject.project.id
161
+ };
162
+ }
163
+
164
+ export {
165
+ emitAlertsScopeError,
166
+ resolveAlertsScope
167
+ };
@@ -7,20 +7,24 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  AGENT_REASON,
9
9
  AGENT_STATUS
10
- } from "./chunk-TWZWQGBN.js";
10
+ } from "./chunk-E3NE4SKN.js";
11
+ import {
12
+ getLinkedProject
13
+ } from "./chunk-4VP55L4V.js";
11
14
  import {
12
15
  buildCommandWithYes,
13
- getLinkedProject,
14
16
  outputAgentError
15
- } from "./chunk-V23RAVWV.js";
17
+ } from "./chunk-CGTXAXZ4.js";
16
18
  import {
17
- getCommandName,
18
- getCommandNamePlain,
19
19
  getFlagsSpecification,
20
20
  getGlobalFlagsOnlyFromArgs,
21
21
  parseArguments,
22
22
  printError
23
- } from "./chunk-A4NVECX5.js";
23
+ } from "./chunk-RFMC2QXQ.js";
24
+ import {
25
+ getCommandName,
26
+ getCommandNamePlain
27
+ } from "./chunk-ECRBC4HL.js";
24
28
  import {
25
29
  output_manager_default
26
30
  } from "./chunk-ZQKJVHXY.js";
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  global_path_default
9
- } from "./chunk-V23RAVWV.js";
9
+ } from "./chunk-4VP55L4V.js";
10
10
  import {
11
11
  output_manager_default
12
12
  } from "./chunk-ZQKJVHXY.js";