vercel 45.0.10 → 46.0.1

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 (2) hide show
  1. package/dist/index.js +469 -89
  2. package/package.json +5 -5
package/dist/index.js CHANGED
@@ -9374,7 +9374,7 @@ var require_log_symbols = __commonJS2({
9374
9374
  "use strict";
9375
9375
  var chalk126 = require_chalk();
9376
9376
  var isSupported = process.platform !== "win32" || process.env.CI || process.env.TERM === "xterm-256color";
9377
- var main17 = {
9377
+ var main18 = {
9378
9378
  info: chalk126.blue("\u2139"),
9379
9379
  success: chalk126.green("\u2714"),
9380
9380
  warning: chalk126.yellow("\u26A0"),
@@ -9386,7 +9386,7 @@ var require_log_symbols = __commonJS2({
9386
9386
  warning: chalk126.yellow("\u203C"),
9387
9387
  error: chalk126.red("\xD7")
9388
9388
  };
9389
- module2.exports = isSupported ? main17 : fallbacks;
9389
+ module2.exports = isSupported ? main18 : fallbacks;
9390
9390
  }
9391
9391
  });
9392
9392
 
@@ -33419,9 +33419,43 @@ var init_command22 = __esm({
33419
33419
  }
33420
33420
  });
33421
33421
 
33422
+ // src/commands/mcp/command.ts
33423
+ var mcpCommand;
33424
+ var init_command23 = __esm({
33425
+ "src/commands/mcp/command.ts"() {
33426
+ "use strict";
33427
+ init_pkg_name();
33428
+ mcpCommand = {
33429
+ name: "mcp",
33430
+ aliases: [],
33431
+ description: "Set up MCP agents and configuration for Vercel integration",
33432
+ arguments: [],
33433
+ options: [
33434
+ {
33435
+ name: "project",
33436
+ description: "Set up project-specific MCP access for the currently linked project",
33437
+ shorthand: null,
33438
+ type: Boolean,
33439
+ deprecated: false
33440
+ }
33441
+ ],
33442
+ examples: [
33443
+ {
33444
+ name: "Interactively set up MCP agents",
33445
+ value: `${packageName} mcp`
33446
+ },
33447
+ {
33448
+ name: "Set up project-specific MCP access",
33449
+ value: `${packageName} mcp --project`
33450
+ }
33451
+ ]
33452
+ };
33453
+ }
33454
+ });
33455
+
33422
33456
  // src/commands/microfrontends/command.ts
33423
33457
  var pullSubcommand2, microfrontendsCommand;
33424
- var init_command23 = __esm({
33458
+ var init_command24 = __esm({
33425
33459
  "src/commands/microfrontends/command.ts"() {
33426
33460
  "use strict";
33427
33461
  init_pkg_name();
@@ -33464,7 +33498,7 @@ var init_command23 = __esm({
33464
33498
 
33465
33499
  // src/commands/project/command.ts
33466
33500
  var addSubcommand6, inspectSubcommand2, listSubcommand7, removeSubcommand8, projectCommand;
33467
- var init_command24 = __esm({
33501
+ var init_command25 = __esm({
33468
33502
  "src/commands/project/command.ts"() {
33469
33503
  "use strict";
33470
33504
  init_pkg_name();
@@ -33575,7 +33609,7 @@ var init_command24 = __esm({
33575
33609
 
33576
33610
  // src/commands/promote/command.ts
33577
33611
  var statusSubcommand2, promoteCommand;
33578
- var init_command25 = __esm({
33612
+ var init_command26 = __esm({
33579
33613
  "src/commands/promote/command.ts"() {
33580
33614
  "use strict";
33581
33615
  init_pkg_name();
@@ -33644,7 +33678,7 @@ var init_command25 = __esm({
33644
33678
 
33645
33679
  // src/commands/pull/command.ts
33646
33680
  var pullCommand;
33647
- var init_command26 = __esm({
33681
+ var init_command27 = __esm({
33648
33682
  "src/commands/pull/command.ts"() {
33649
33683
  "use strict";
33650
33684
  init_pkg_name();
@@ -33716,7 +33750,7 @@ var init_command26 = __esm({
33716
33750
 
33717
33751
  // src/commands/redeploy/command.ts
33718
33752
  var redeployCommand;
33719
- var init_command27 = __esm({
33753
+ var init_command28 = __esm({
33720
33754
  "src/commands/redeploy/command.ts"() {
33721
33755
  "use strict";
33722
33756
  init_pkg_name();
@@ -33767,7 +33801,7 @@ var init_command27 = __esm({
33767
33801
 
33768
33802
  // src/commands/remove/command.ts
33769
33803
  var removeCommand;
33770
- var init_command28 = __esm({
33804
+ var init_command29 = __esm({
33771
33805
  "src/commands/remove/command.ts"() {
33772
33806
  "use strict";
33773
33807
  init_pkg_name();
@@ -33817,7 +33851,7 @@ var init_command28 = __esm({
33817
33851
 
33818
33852
  // src/commands/rollback/command.ts
33819
33853
  var statusSubcommand3, rollbackCommand;
33820
- var init_command29 = __esm({
33854
+ var init_command30 = __esm({
33821
33855
  "src/commands/rollback/command.ts"() {
33822
33856
  "use strict";
33823
33857
  init_pkg_name();
@@ -33878,7 +33912,7 @@ var init_command29 = __esm({
33878
33912
 
33879
33913
  // src/commands/rolling-release/command.ts
33880
33914
  var configureSubcommand, startSubcommand, approveSubcommand, abortSubcommand, completeSubcommand, fetchSubcommand, rollingReleaseCommand;
33881
- var init_command30 = __esm({
33915
+ var init_command31 = __esm({
33882
33916
  "src/commands/rolling-release/command.ts"() {
33883
33917
  "use strict";
33884
33918
  init_arg_common();
@@ -34072,7 +34106,7 @@ var init_command30 = __esm({
34072
34106
 
34073
34107
  // src/commands/target/command.ts
34074
34108
  var listSubcommand8, targetCommand;
34075
- var init_command31 = __esm({
34109
+ var init_command32 = __esm({
34076
34110
  "src/commands/target/command.ts"() {
34077
34111
  "use strict";
34078
34112
  init_pkg_name();
@@ -34103,7 +34137,7 @@ var init_command31 = __esm({
34103
34137
 
34104
34138
  // src/commands/teams/command.ts
34105
34139
  var addSubcommand7, listSubcommand9, switchSubcommand, inviteSubcommand, teamsCommand;
34106
- var init_command32 = __esm({
34140
+ var init_command33 = __esm({
34107
34141
  "src/commands/teams/command.ts"() {
34108
34142
  "use strict";
34109
34143
  init_pkg_name();
@@ -34194,7 +34228,7 @@ var init_command32 = __esm({
34194
34228
 
34195
34229
  // src/commands/telemetry/command.ts
34196
34230
  var statusSubcommand4, enableSubcommand2, flushSubcommand, disableSubcommand2, telemetryCommand;
34197
- var init_command33 = __esm({
34231
+ var init_command34 = __esm({
34198
34232
  "src/commands/telemetry/command.ts"() {
34199
34233
  "use strict";
34200
34234
  statusSubcommand4 = {
@@ -34249,7 +34283,7 @@ var init_command33 = __esm({
34249
34283
 
34250
34284
  // src/commands/whoami/command.ts
34251
34285
  var whoamiCommand;
34252
- var init_command34 = __esm({
34286
+ var init_command35 = __esm({
34253
34287
  "src/commands/whoami/command.ts"() {
34254
34288
  "use strict";
34255
34289
  init_pkg_name();
@@ -34271,7 +34305,7 @@ var init_command34 = __esm({
34271
34305
 
34272
34306
  // src/commands/blob/command.ts
34273
34307
  var listSubcommand10, putSubcommand, delSubcommand, copySubcommand, addStoreSubcommand, removeStoreSubcommand, getStoreSubcommand, storeSubcommand, blobCommand;
34274
- var init_command35 = __esm({
34308
+ var init_command36 = __esm({
34275
34309
  "src/commands/blob/command.ts"() {
34276
34310
  "use strict";
34277
34311
  listSubcommand10 = {
@@ -34569,6 +34603,7 @@ var init_commands = __esm({
34569
34603
  init_command33();
34570
34604
  init_command34();
34571
34605
  init_command35();
34606
+ init_command36();
34572
34607
  init_output_manager();
34573
34608
  commandsStructs = [
34574
34609
  aliasCommand,
@@ -34593,6 +34628,7 @@ var init_commands = __esm({
34593
34628
  loginCommand,
34594
34629
  logoutCommand,
34595
34630
  logsCommand,
34631
+ mcpCommand,
34596
34632
  microfrontendsCommand,
34597
34633
  projectCommand,
34598
34634
  promoteCommand,
@@ -37625,7 +37661,7 @@ var require_figures = __commonJS2({
37625
37661
  "use strict";
37626
37662
  var escapeStringRegexp = require_escape_string_regexp();
37627
37663
  var { platform } = process;
37628
- var main17 = {
37664
+ var main18 = {
37629
37665
  tick: "\u2714",
37630
37666
  cross: "\u2716",
37631
37667
  star: "\u2605",
@@ -37711,12 +37747,12 @@ var require_figures = __commonJS2({
37711
37747
  hamburger: "\u2261",
37712
37748
  smiley: "\u263A",
37713
37749
  mustache: "\u250C\u2500\u2510",
37714
- heart: main17.heart,
37750
+ heart: main18.heart,
37715
37751
  nodejs: "\u2666",
37716
- arrowUp: main17.arrowUp,
37717
- arrowDown: main17.arrowDown,
37718
- arrowLeft: main17.arrowLeft,
37719
- arrowRight: main17.arrowRight,
37752
+ arrowUp: main18.arrowUp,
37753
+ arrowDown: main18.arrowDown,
37754
+ arrowLeft: main18.arrowLeft,
37755
+ arrowRight: main18.arrowRight,
37720
37756
  radioOn: "(*)",
37721
37757
  radioOff: "( )",
37722
37758
  checkboxOn: "[\xD7]",
@@ -37744,14 +37780,14 @@ var require_figures = __commonJS2({
37744
37780
  sevenEighths: "7/8"
37745
37781
  };
37746
37782
  if (platform === "linux") {
37747
- main17.questionMarkPrefix = "?";
37783
+ main18.questionMarkPrefix = "?";
37748
37784
  }
37749
- var figures4 = platform === "win32" ? windows : main17;
37785
+ var figures4 = platform === "win32" ? windows : main18;
37750
37786
  var fn2 = (string) => {
37751
- if (figures4 === main17) {
37787
+ if (figures4 === main18) {
37752
37788
  return string;
37753
37789
  }
37754
- for (const [key, value] of Object.entries(main17)) {
37790
+ for (const [key, value] of Object.entries(main18)) {
37755
37791
  if (value === figures4[key]) {
37756
37792
  continue;
37757
37793
  }
@@ -37760,7 +37796,7 @@ var require_figures = __commonJS2({
37760
37796
  return string;
37761
37797
  };
37762
37798
  module2.exports = Object.assign(fn2, figures4);
37763
- module2.exports.main = main17;
37799
+ module2.exports.main = main18;
37764
37800
  module2.exports.windows = windows;
37765
37801
  }
37766
37802
  });
@@ -44058,7 +44094,7 @@ var require_write_json_file = __commonJS2({
44058
44094
  };
44059
44095
  var readFile6 = (fp) => pify(fs15.readFile)(fp, "utf8").catch(() => {
44060
44096
  });
44061
- var main17 = (fp, data, opts) => {
44097
+ var main18 = (fp, data, opts) => {
44062
44098
  return (opts.detectIndent ? readFile6(fp) : Promise.resolve()).then((str) => {
44063
44099
  const indent = str ? detectIndent(str).indent : opts.indent;
44064
44100
  const json = JSON.stringify(data, opts.replacer, indent);
@@ -44083,7 +44119,7 @@ var require_write_json_file = __commonJS2({
44083
44119
  `, { mode: opts.mode });
44084
44120
  };
44085
44121
  module2.exports = (fp, data, opts) => {
44086
- return makeDir(path11.dirname(fp), { fs: fs15 }).then(() => init3(main17, fp, data, opts));
44122
+ return makeDir(path11.dirname(fp), { fs: fs15 }).then(() => init3(main18, fp, data, opts));
44087
44123
  };
44088
44124
  module2.exports.sync = (fp, data, opts) => {
44089
44125
  makeDir.sync(path11.dirname(fp), { fs: fs15 });
@@ -100828,7 +100864,7 @@ var init_list4 = __esm({
100828
100864
  init_get_command_flags();
100829
100865
  init_get_args();
100830
100866
  init_get_flags_specification();
100831
- init_command35();
100867
+ init_command36();
100832
100868
  init_pkg_name();
100833
100869
  init_list3();
100834
100870
  init_error2();
@@ -101065,7 +101101,7 @@ var init_put2 = __esm({
101065
101101
  blob2 = __toESM3(require("@vercel/blob"));
101066
101102
  init_get_args();
101067
101103
  init_get_flags_specification();
101068
- init_command35();
101104
+ init_command36();
101069
101105
  import_node_fs = require("fs");
101070
101106
  import_promises = require("fs/promises");
101071
101107
  import_error_utils12 = __toESM3(require_dist2());
@@ -101139,7 +101175,7 @@ var init_del2 = __esm({
101139
101175
  blob3 = __toESM3(require("@vercel/blob"));
101140
101176
  init_get_args();
101141
101177
  init_get_flags_specification();
101142
- init_command35();
101178
+ init_command36();
101143
101179
  init_del();
101144
101180
  init_error2();
101145
101181
  init_pkg_name();
@@ -101258,7 +101294,7 @@ var init_copy2 = __esm({
101258
101294
  blob4 = __toESM3(require("@vercel/blob"));
101259
101295
  init_get_args();
101260
101296
  init_get_flags_specification();
101261
- init_command35();
101297
+ init_command36();
101262
101298
  init_copy();
101263
101299
  init_pkg_name();
101264
101300
  }
@@ -116632,6 +116668,45 @@ var require_frameworks = __commonJS2({
116632
116668
  dependency: "express",
116633
116669
  getOutputDirName: async () => "public"
116634
116670
  },
116671
+ {
116672
+ name: "xmcp",
116673
+ slug: "xmcp",
116674
+ logo: "https://api-frameworks.vercel.sh/framework-logos/xmcp.svg",
116675
+ tagline: "The MCP framework for building AI-powered tools",
116676
+ description: "A framework for building Model Context Protocol servers with zero configuration.",
116677
+ website: "https://xmcp.dev",
116678
+ detectors: {
116679
+ some: [
116680
+ {
116681
+ path: "xmcp.config.ts"
116682
+ },
116683
+ {
116684
+ path: "xmcp.config.js"
116685
+ },
116686
+ {
116687
+ matchPackage: "xmcp"
116688
+ }
116689
+ ]
116690
+ },
116691
+ settings: {
116692
+ installCommand: {
116693
+ placeholder: "`yarn install`, `pnpm install`, `npm install`, or `bun install`"
116694
+ },
116695
+ buildCommand: {
116696
+ placeholder: "`npm run build` or `xmcp build`",
116697
+ value: "xmcp build --vercel"
116698
+ },
116699
+ devCommand: {
116700
+ value: "xmcp dev",
116701
+ placeholder: "xmcp dev"
116702
+ },
116703
+ outputDirectory: {
116704
+ value: "dist"
116705
+ }
116706
+ },
116707
+ dependency: "xmcp",
116708
+ getOutputDirName: async () => "dist"
116709
+ },
116635
116710
  {
116636
116711
  name: "Other",
116637
116712
  slug: null,
@@ -119606,7 +119681,7 @@ var require_detect_framework = __commonJS2({
119606
119681
  removeSupersededFrameworks: () => removeSupersededFrameworks
119607
119682
  });
119608
119683
  module2.exports = __toCommonJS4(detect_framework_exports);
119609
- var import_child_process4 = require("child_process");
119684
+ var import_child_process5 = require("child_process");
119610
119685
  async function matches(fs15, framework) {
119611
119686
  const { detectors } = framework;
119612
119687
  if (!detectors) {
@@ -119783,7 +119858,7 @@ var require_detect_framework = __commonJS2({
119783
119858
  function lookupInstalledVersion(cwd, packageName2) {
119784
119859
  try {
119785
119860
  const script = `require('${packageName2}/package.json').version`;
119786
- return (0, import_child_process4.spawnSync)(cwd, ["-p", script], {
119861
+ return (0, import_child_process5.spawnSync)(cwd, ["-p", script], {
119787
119862
  encoding: "utf-8"
119788
119863
  }).stdout.trim();
119789
119864
  } catch (error3) {
@@ -127335,7 +127410,7 @@ var init_store_add2 = __esm({
127335
127410
  init_pkg_name();
127336
127411
  init_get_flags_specification();
127337
127412
  init_get_args();
127338
- init_command35();
127413
+ init_command36();
127339
127414
  init_store_add();
127340
127415
  init_error2();
127341
127416
  }
@@ -127411,7 +127486,7 @@ var init_store_remove = __esm({
127411
127486
  init_error2();
127412
127487
  init_output_manager();
127413
127488
  init_get_flags_specification();
127414
- init_command35();
127489
+ init_command36();
127415
127490
  init_get_args();
127416
127491
  init_link2();
127417
127492
  }
@@ -129807,15 +129882,15 @@ async function getStore2(client2, argv, rwToken) {
129807
129882
  method: "GET",
129808
129883
  accountId: link4.status === "linked" ? link4.org.id : void 0
129809
129884
  });
129810
- const dateTimeFormat3 = "MM/DD/YYYY HH:mm:ss.SS";
129885
+ const dateTimeFormat2 = "MM/DD/YYYY HH:mm:ss.SS";
129811
129886
  const regionInfo = store2.store.region ? `
129812
129887
  Region: ${store2.store.region}` : "";
129813
129888
  output_manager_default.print(
129814
129889
  `Blob Store: ${import_chalk40.default.bold(store2.store.name)} (${import_chalk40.default.dim(store2.store.id)})
129815
129890
  Billing State: ${store2.store.billingState === "active" ? import_chalk40.default.green("Active") : import_chalk40.default.red("Inactive")}
129816
129891
  Size: ${(0, import_bytes3.default)(store2.store.size)}${regionInfo}
129817
- Created At: ${(0, import_date_fns.format)(new Date(store2.store.createdAt), dateTimeFormat3)}
129818
- Updated At: ${(0, import_date_fns.format)(new Date(store2.store.updatedAt), dateTimeFormat3)}
129892
+ Created At: ${(0, import_date_fns.format)(new Date(store2.store.createdAt), dateTimeFormat2)}
129893
+ Updated At: ${(0, import_date_fns.format)(new Date(store2.store.updatedAt), dateTimeFormat2)}
129819
129894
  `
129820
129895
  );
129821
129896
  } catch (err) {
@@ -129835,7 +129910,7 @@ var init_store_get2 = __esm({
129835
129910
  init_get_args();
129836
129911
  init_get_flags_specification();
129837
129912
  init_link2();
129838
- init_command35();
129913
+ init_command36();
129839
129914
  import_date_fns = __toESM3(require_date_fns());
129840
129915
  import_chalk40 = __toESM3(require_source());
129841
129916
  init_store_get();
@@ -129914,7 +129989,7 @@ var init_store2 = __esm({
129914
129989
  init_get_invalid_subcommand();
129915
129990
  init_get_subcommand();
129916
129991
  init_help();
129917
- init_command35();
129992
+ init_command36();
129918
129993
  init_get_flags_specification();
129919
129994
  init_output_manager();
129920
129995
  init_commands();
@@ -130072,7 +130147,7 @@ var init_token = __esm({
130072
130147
  import_node_path2 = require("path");
130073
130148
  init_diff_env_files();
130074
130149
  init_get_flags_specification();
130075
- init_command35();
130150
+ init_command36();
130076
130151
  init_get_args();
130077
130152
  init_pkg_name();
130078
130153
  init_cmd();
@@ -130190,7 +130265,7 @@ var init_blob2 = __esm({
130190
130265
  init_get_subcommand();
130191
130266
  init_help();
130192
130267
  init_list4();
130193
- init_command35();
130268
+ init_command36();
130194
130269
  init_get_flags_specification();
130195
130270
  init_output_manager();
130196
130271
  init_commands();
@@ -145832,7 +145907,7 @@ var init_pull4 = __esm({
145832
145907
  init_ensure_link();
145833
145908
  init_humanize_path();
145834
145909
  init_help();
145835
- init_command26();
145910
+ init_command27();
145836
145911
  init_parse_target();
145837
145912
  init_get_flags_specification();
145838
145913
  init_error2();
@@ -174996,8 +175071,8 @@ var init_builds = __esm({
174996
175071
  }
174997
175072
  }
174998
175073
  const corner = isLast ? "\u2514\u2500\u2500" : "\u251C\u2500\u2500";
174999
- const main17 = prefix + path11 + finalSize + finalRegion;
175000
- return `${import_chalk94.default.grey(corner)} ${color(main17)}`;
175074
+ const main18 = prefix + path11 + finalSize + finalRegion;
175075
+ return `${import_chalk94.default.grey(corner)} ${color(main18)}`;
175001
175076
  };
175002
175077
  getDirPath = (path11, level = 0, highestLevel = null) => {
175003
175078
  const parts = path11.split("/").slice(0, -1);
@@ -178774,7 +178849,13 @@ async function logs(client2) {
178774
178849
  }
178775
178850
  return 1;
178776
178851
  }
178777
- printDisclaimer(deployment);
178852
+ output_manager_default.print(
178853
+ `Displaying runtime logs for deployment ${deployment.url} (${import_chalk106.default.dim(
178854
+ deployment.id
178855
+ )}) starting from ${import_chalk106.default.bold((0, import_format3.default)(Date.now(), DATE_TIME_FORMAT))}
178856
+
178857
+ `
178858
+ );
178778
178859
  const abortController = new AbortController();
178779
178860
  return await displayRuntimeLogs(
178780
178861
  client2,
@@ -178786,19 +178867,7 @@ async function logs(client2) {
178786
178867
  abortController
178787
178868
  );
178788
178869
  }
178789
- function printDisclaimer(deployment) {
178790
- output_manager_default.warn(
178791
- `This command now displays runtime logs. To access your build logs, run \`vercel inspect --logs ${deployment.url}\``
178792
- );
178793
- output_manager_default.print(
178794
- `Displaying runtime logs for deployment ${deployment.url} (${import_chalk106.default.dim(
178795
- deployment.id
178796
- )}) starting from ${import_chalk106.default.bold((0, import_format3.default)(Date.now(), dateTimeFormat2))}
178797
-
178798
- `
178799
- );
178800
- }
178801
- var import_error_utils30, import_chalk106, import_format3, deprecatedFlags, dateTimeFormat2;
178870
+ var import_error_utils30, import_chalk106, import_format3, deprecatedFlags, DATE_TIME_FORMAT;
178802
178871
  var init_logs3 = __esm({
178803
178872
  "src/commands/logs/index.ts"() {
178804
178873
  "use strict";
@@ -178828,7 +178897,315 @@ var init_logs3 = __esm({
178828
178897
  "--until",
178829
178898
  "--output"
178830
178899
  ];
178831
- dateTimeFormat2 = "MMM dd HH:mm:ss.SS";
178900
+ DATE_TIME_FORMAT = "MMM dd HH:mm:ss.SS";
178901
+ }
178902
+ });
178903
+
178904
+ // src/commands/mcp/mcp.ts
178905
+ function getAvailableClients() {
178906
+ return [
178907
+ "Claude Code",
178908
+ "Claude.ai and Claude for desktop",
178909
+ "Cursor",
178910
+ "VS Code with Copilot"
178911
+ ];
178912
+ }
178913
+ function safeExecSync(command, options = {}) {
178914
+ try {
178915
+ return (0, import_child_process4.execSync)(command, {
178916
+ stdio: "pipe",
178917
+ encoding: "utf8",
178918
+ ...options
178919
+ });
178920
+ } catch (error3) {
178921
+ return { error: error3.message, stderr: error3.stderr?.toString() || "" };
178922
+ }
178923
+ }
178924
+ async function getProjectSpecificUrl(client2) {
178925
+ try {
178926
+ const linkedProject = await getLinkedProject(client2);
178927
+ if (linkedProject.status !== "linked" || !linkedProject.org || !linkedProject.project) {
178928
+ return null;
178929
+ }
178930
+ const { org, project } = linkedProject;
178931
+ return {
178932
+ url: `${MCP_ENDPOINT}/${org.slug}/${project.name}`,
178933
+ projectName: project.name
178934
+ };
178935
+ } catch (error3) {
178936
+ return null;
178937
+ }
178938
+ }
178939
+ async function mcp(client2) {
178940
+ output_manager_default.print("\u{1F680} Vercel MCP Setup \u2014 Automated\n");
178941
+ const isProjectSpecific = client2.argv.includes("--project");
178942
+ if (isProjectSpecific) {
178943
+ output_manager_default.print("\u{1F517} Setting up project-specific MCP access...\n");
178944
+ const projectInfo = await getProjectSpecificUrl(client2);
178945
+ if (!projectInfo) {
178946
+ output_manager_default.print(
178947
+ "\u274C No linked project found. Please link your project first:\n"
178948
+ );
178949
+ output_manager_default.print(" vercel link\n");
178950
+ return 1;
178951
+ }
178952
+ output_manager_default.print(`\u2705 Project-specific URL: ${projectInfo.url}
178953
+ `);
178954
+ output_manager_default.print(
178955
+ "This URL will automatically provide project and team context.\n\n"
178956
+ );
178957
+ }
178958
+ const availableClients = getAvailableClients();
178959
+ const selectedClients = await client2.input.checkbox({
178960
+ message: "Select MCP clients to set up:",
178961
+ choices: availableClients.map((name) => ({
178962
+ name,
178963
+ value: name,
178964
+ short: name
178965
+ }))
178966
+ });
178967
+ if (!Array.isArray(selectedClients) || selectedClients.length === 0) {
178968
+ output_manager_default.print("\nNo clients selected. Exiting.\n");
178969
+ return 0;
178970
+ }
178971
+ const summary = [];
178972
+ output_manager_default.print("\nStarting setup...\n");
178973
+ for (const clientName of selectedClients) {
178974
+ output_manager_default.print(`\u{1F527} Setting up ${clientName}...
178975
+ `);
178976
+ if (clientName === "Claude Code") {
178977
+ const mcpUrl = isProjectSpecific ? (await getProjectSpecificUrl(client2))?.url : MCP_ENDPOINT;
178978
+ const mcpName = isProjectSpecific ? `vercel-${(await getProjectSpecificUrl(client2))?.projectName}` : "vercel";
178979
+ output_manager_default.print(`\u{1F517} Adding Vercel MCP to Claude Code...
178980
+ `);
178981
+ const result = safeExecSync(
178982
+ `claude mcp add --transport http ${mcpName} ${mcpUrl}`
178983
+ );
178984
+ if (typeof result === "object" && "error" in result) {
178985
+ if (result.stderr?.includes("already exists")) {
178986
+ summary.push("\u2705 Claude Code: Vercel MCP already configured");
178987
+ output_manager_default.print("\u2139\uFE0F Vercel MCP is already configured in Claude Code\n");
178988
+ } else {
178989
+ summary.push("\u274C Claude Code: Failed to add MCP server");
178990
+ output_manager_default.print("\u{1F4A1} Manual commands:\n");
178991
+ output_manager_default.print(
178992
+ ` claude mcp add --transport http ${mcpName} ${mcpUrl}
178993
+ `
178994
+ );
178995
+ output_manager_default.print(
178996
+ " # Or use the /mcp command in Claude Code to authenticate\n"
178997
+ );
178998
+ }
178999
+ } else {
179000
+ summary.push("\u2705 Claude Code: Vercel MCP added successfully");
179001
+ output_manager_default.print("\u2705 Successfully added Vercel MCP to Claude Code\n");
179002
+ output_manager_default.print(
179003
+ "\u2139\uFE0F You may need to authenticate using the /mcp command in Claude Code\n"
179004
+ );
179005
+ }
179006
+ } else if (clientName === "Claude.ai and Claude for desktop") {
179007
+ output_manager_default.print(
179008
+ "\u{1F517} Manual setup required for Claude.ai and Claude for desktop\n"
179009
+ );
179010
+ output_manager_default.print("\u{1F4A1} Setup instructions:\n");
179011
+ output_manager_default.print(" 1. Open Settings in the sidebar\n");
179012
+ output_manager_default.print(
179013
+ " 2. Navigate to Connectors and select Add custom connector\n"
179014
+ );
179015
+ output_manager_default.print(" 3. Configure the connector:\n");
179016
+ if (isProjectSpecific) {
179017
+ const projectInfo = await getProjectSpecificUrl(client2);
179018
+ const projectName = projectInfo?.projectName || "project";
179019
+ output_manager_default.print(` \u2022 Name: Vercel ${projectName}
179020
+ `);
179021
+ output_manager_default.print(` \u2022 URL: ${projectInfo?.url}
179022
+ `);
179023
+ } else {
179024
+ output_manager_default.print(" \u2022 Name: Vercel\n");
179025
+ output_manager_default.print(` \u2022 URL: ${MCP_ENDPOINT}
179026
+ `);
179027
+ }
179028
+ output_manager_default.print(" 4. Complete the authentication flow\n");
179029
+ summary.push("\u2139\uFE0F Claude.ai/Desktop: Manual setup required");
179030
+ } else if (clientName === "Cursor") {
179031
+ output_manager_default.print("\u{1F517} Setting up Cursor MCP...\n");
179032
+ const mcpUrl = isProjectSpecific ? (await getProjectSpecificUrl(client2))?.url : MCP_ENDPOINT;
179033
+ const serverName = isProjectSpecific ? `vercel-${(await getProjectSpecificUrl(client2))?.projectName}` : "vercel";
179034
+ const config2 = {
179035
+ url: mcpUrl,
179036
+ name: serverName
179037
+ };
179038
+ const configJson = JSON.stringify(config2);
179039
+ const encodedConfig = Buffer.from(configJson).toString("base64");
179040
+ const oneClickUrl = `cursor://anysphere.cursor-deeplink/mcp/install?name=${serverName}&config=${encodedConfig}`;
179041
+ output_manager_default.print(`\u{1F517} Generated Cursor deep link: ${oneClickUrl}
179042
+ `);
179043
+ try {
179044
+ if (process.platform === "darwin") {
179045
+ (0, import_child_process4.execSync)(`open '${oneClickUrl}'`);
179046
+ } else if (process.platform === "win32") {
179047
+ (0, import_child_process4.execSync)(`start ${oneClickUrl}`);
179048
+ } else {
179049
+ (0, import_child_process4.execSync)(`xdg-open '${oneClickUrl}'`);
179050
+ }
179051
+ summary.push("\u2705 Cursor: One-click installer opened");
179052
+ output_manager_default.print("\u2705 Successfully opened Cursor one-click installer\n");
179053
+ } catch (error3) {
179054
+ summary.push("\u26A0\uFE0F Cursor: Deep link may not have worked");
179055
+ output_manager_default.print("\u26A0\uFE0F Deep link may not have opened Cursor settings\n");
179056
+ }
179057
+ output_manager_default.print("\u{1F4A1} Manual setup (recommended):\n");
179058
+ output_manager_default.print(" 1. Open Cursor\n");
179059
+ output_manager_default.print(" 2. Go to Settings (Cmd+, / Ctrl+,)\n");
179060
+ output_manager_default.print(" 3. Navigate to MCP section\n");
179061
+ output_manager_default.print(' 4. Click "Add Server"\n');
179062
+ output_manager_default.print(" 5. Enter the following details:\n");
179063
+ output_manager_default.print(` \u2022 Name: ${serverName}
179064
+ `);
179065
+ output_manager_default.print(` \u2022 URL: ${mcpUrl}
179066
+ `);
179067
+ output_manager_default.print(' 6. Click "Add" and follow the authorization prompts\n');
179068
+ output_manager_default.print("\n");
179069
+ output_manager_default.print(" Or try the deep link manually:\n");
179070
+ output_manager_default.print(` ${oneClickUrl}
179071
+ `);
179072
+ output_manager_default.print(" (Copy and paste this URL in your browser)\n");
179073
+ } else if (clientName === "VS Code with Copilot") {
179074
+ output_manager_default.print("\u{1F50D} Checking for GitHub Copilot...\n");
179075
+ const copilotCheck = safeExecSync(
179076
+ "code --list-extensions | grep -i copilot"
179077
+ );
179078
+ if (typeof copilotCheck === "object" && "error" in copilotCheck) {
179079
+ output_manager_default.print(
179080
+ "\u26A0\uFE0F GitHub Copilot not detected. MCP functionality may be limited.\n"
179081
+ );
179082
+ output_manager_default.print(" 1. Open VS Code\n");
179083
+ output_manager_default.print(" 2. Go to Extensions (Cmd+Shift+X / Ctrl+Shift+X)\n");
179084
+ output_manager_default.print(' 3. Search for "GitHub Copilot"\n');
179085
+ output_manager_default.print(
179086
+ " 4. Install and authenticate with your GitHub account\n"
179087
+ );
179088
+ output_manager_default.print(" 5. Restart VS Code\n");
179089
+ output_manager_default.print("\n");
179090
+ } else {
179091
+ output_manager_default.print("\u2705 GitHub Copilot detected\n");
179092
+ }
179093
+ output_manager_default.print("\u{1F517} Setting up Vercel MCP in VS Code...\n");
179094
+ const mcpUrl = isProjectSpecific ? (await getProjectSpecificUrl(client2))?.url : MCP_ENDPOINT;
179095
+ const serverName = isProjectSpecific ? `vercel-${(await getProjectSpecificUrl(client2))?.projectName}` : "vercel";
179096
+ const config2 = {
179097
+ name: serverName,
179098
+ url: mcpUrl
179099
+ };
179100
+ const encodedConfig = encodeURIComponent(JSON.stringify(config2));
179101
+ const oneClickUrl = `vscode:mcp/install?${encodedConfig}`;
179102
+ try {
179103
+ if (process.platform === "darwin") {
179104
+ (0, import_child_process4.execSync)(`open '${oneClickUrl}'`);
179105
+ } else if (process.platform === "win32") {
179106
+ (0, import_child_process4.execSync)(`start ${oneClickUrl}`);
179107
+ } else {
179108
+ (0, import_child_process4.execSync)(`xdg-open '${oneClickUrl}'`);
179109
+ }
179110
+ summary.push("\u2705 VS Code: One-click installer opened");
179111
+ output_manager_default.print("\u2705 Successfully opened VS Code one-click installer\n");
179112
+ output_manager_default.print("\u2139\uFE0F Follow the prompts in VS Code to complete setup\n");
179113
+ output_manager_default.print(
179114
+ "\u2139\uFE0F You may need to authorize the connection when prompted\n"
179115
+ );
179116
+ } catch (error3) {
179117
+ summary.push("\u274C VS Code: Failed to open one-click installer");
179118
+ output_manager_default.print("\u{1F4A1} Manual setup instructions:\n");
179119
+ output_manager_default.print(" 1. Open VS Code\n");
179120
+ output_manager_default.print(
179121
+ " 2. Press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows/Linux)\n"
179122
+ );
179123
+ output_manager_default.print(' 3. Type "MCP: Add Server" and press Enter\n');
179124
+ output_manager_default.print(" 4. Select HTTP\n");
179125
+ output_manager_default.print(" 5. Enter the following details:\n");
179126
+ output_manager_default.print(` \u2022 URL: ${mcpUrl}
179127
+ `);
179128
+ output_manager_default.print(` \u2022 Name: ${serverName}
179129
+ `);
179130
+ output_manager_default.print(
179131
+ " 6. Select Global or Workspace depending on your needs\n"
179132
+ );
179133
+ output_manager_default.print(" 7. Click Add\n");
179134
+ output_manager_default.print(" 8. Follow the authorization steps\n");
179135
+ output_manager_default.print("\n");
179136
+ output_manager_default.print(" Or use the one-click installer manually:\n");
179137
+ output_manager_default.print(` ${oneClickUrl}
179138
+ `);
179139
+ }
179140
+ }
179141
+ output_manager_default.print("\u2500".repeat(50) + "\n");
179142
+ }
179143
+ output_manager_default.print("\u{1F4CA} Setup Summary\n");
179144
+ output_manager_default.print("\u2500".repeat(50) + "\n");
179145
+ summary.forEach((line) => output_manager_default.print(`${line}
179146
+ `));
179147
+ if (isProjectSpecific) {
179148
+ const projectInfo = await getProjectSpecificUrl(client2);
179149
+ output_manager_default.print(`\u{1F517} Project-specific MCP URL: ${projectInfo?.url}
179150
+ `);
179151
+ }
179152
+ output_manager_default.print(
179153
+ "\u{1F517} Official documentation: https://vercel.com/docs/mcp/vercel-mcp\n"
179154
+ );
179155
+ output_manager_default.print(`\u{1F512} Official endpoint: ${MCP_ENDPOINT}
179156
+ `);
179157
+ output_manager_default.print("\u2728 Setup complete! Restart your clients if needed.\n");
179158
+ return 0;
179159
+ }
179160
+ var import_child_process4, MCP_ENDPOINT;
179161
+ var init_mcp = __esm({
179162
+ "src/commands/mcp/mcp.ts"() {
179163
+ "use strict";
179164
+ init_output_manager();
179165
+ import_child_process4 = require("child_process");
179166
+ init_link2();
179167
+ MCP_ENDPOINT = "https://mcp.vercel.com";
179168
+ }
179169
+ });
179170
+
179171
+ // src/commands/mcp/index.ts
179172
+ var mcp_exports = {};
179173
+ __export3(mcp_exports, {
179174
+ default: () => main13
179175
+ });
179176
+ async function main13(client2) {
179177
+ let parsedArgs;
179178
+ const flagsSpecification = getFlagsSpecification(mcpCommand.options);
179179
+ try {
179180
+ parsedArgs = parseArguments(client2.argv.slice(2), flagsSpecification);
179181
+ } catch (error3) {
179182
+ printError(error3);
179183
+ return 1;
179184
+ }
179185
+ if (parsedArgs.flags["--help"]) {
179186
+ output_manager_default.print(help2(mcpCommand, { columns: client2.stderr.columns }));
179187
+ return 2;
179188
+ }
179189
+ if (parsedArgs.flags["--project"]) {
179190
+ client2.argv.push("--project");
179191
+ }
179192
+ try {
179193
+ return await mcp(client2);
179194
+ } catch (err) {
179195
+ output_manager_default.prettyError(err);
179196
+ return 1;
179197
+ }
179198
+ }
179199
+ var init_mcp2 = __esm({
179200
+ "src/commands/mcp/index.ts"() {
179201
+ "use strict";
179202
+ init_get_args();
179203
+ init_error2();
179204
+ init_help();
179205
+ init_command23();
179206
+ init_get_flags_specification();
179207
+ init_output_manager();
179208
+ init_mcp();
178832
179209
  }
178833
179210
  });
178834
179211
 
@@ -179351,7 +179728,7 @@ var init_pull5 = __esm({
179351
179728
  init_humanize_path();
179352
179729
  init_stamp();
179353
179730
  import_fs_extra23 = __toESM3(require_lib());
179354
- init_command23();
179731
+ init_command24();
179355
179732
  init_get_flags_specification();
179356
179733
  init_get_args();
179357
179734
  init_error2();
@@ -179380,9 +179757,9 @@ var init_microfrontends = __esm({
179380
179757
  // src/commands/microfrontends/index.ts
179381
179758
  var microfrontends_exports = {};
179382
179759
  __export3(microfrontends_exports, {
179383
- default: () => main13
179760
+ default: () => main14
179384
179761
  });
179385
- async function main13(client2) {
179762
+ async function main14(client2) {
179386
179763
  const telemetry2 = new MicrofrontendsTelemetryClient({
179387
179764
  opts: {
179388
179765
  store: client2.telemetryEventStore
@@ -179446,7 +179823,7 @@ var init_microfrontends2 = __esm({
179446
179823
  init_error2();
179447
179824
  init_help();
179448
179825
  init_pull5();
179449
- init_command23();
179826
+ init_command24();
179450
179827
  init_get_flags_specification();
179451
179828
  init_output_manager();
179452
179829
  init_commands();
@@ -179545,7 +179922,7 @@ var init_add12 = __esm({
179545
179922
  init_create_project();
179546
179923
  init_output_manager();
179547
179924
  init_add11();
179548
- init_command24();
179925
+ init_command25();
179549
179926
  init_get_args();
179550
179927
  init_get_flags_specification();
179551
179928
  init_error2();
@@ -179702,7 +180079,7 @@ var init_inspect6 = __esm({
179702
180079
  init_pkg_name();
179703
180080
  init_inspect5();
179704
180081
  init_output_manager();
179705
- init_command24();
180082
+ init_command25();
179706
180083
  init_get_args();
179707
180084
  init_get_flags_specification();
179708
180085
  init_error2();
@@ -179893,7 +180270,7 @@ var init_list10 = __esm({
179893
180270
  init_pkg_name();
179894
180271
  init_list9();
179895
180272
  init_output_manager();
179896
- init_command24();
180273
+ init_command25();
179897
180274
  init_get_args();
179898
180275
  init_get_flags_specification();
179899
180276
  init_error2();
@@ -180010,7 +180387,7 @@ var init_rm10 = __esm({
180010
180387
  init_get_args();
180011
180388
  init_get_flags_specification();
180012
180389
  init_error2();
180013
- init_command24();
180390
+ init_command25();
180014
180391
  e = encodeURIComponent;
180015
180392
  }
180016
180393
  });
@@ -180053,9 +180430,9 @@ var init_project = __esm({
180053
180430
  // src/commands/project/index.ts
180054
180431
  var project_exports = {};
180055
180432
  __export3(project_exports, {
180056
- default: () => main14
180433
+ default: () => main15
180057
180434
  });
180058
- async function main14(client2) {
180435
+ async function main15(client2) {
180059
180436
  const telemetry2 = new ProjectTelemetryClient({
180060
180437
  opts: {
180061
180438
  store: client2.telemetryEventStore
@@ -180137,7 +180514,7 @@ var init_project2 = __esm({
180137
180514
  init_inspect6();
180138
180515
  init_list10();
180139
180516
  init_rm10();
180140
- init_command24();
180517
+ init_command25();
180141
180518
  init_get_flags_specification();
180142
180519
  init_project();
180143
180520
  init_output_manager();
@@ -180600,7 +180977,7 @@ var init_promote2 = __esm({
180600
180977
  import_error_utils33 = __toESM3(require_dist2());
180601
180978
  init_request_promote();
180602
180979
  init_status2();
180603
- init_command25();
180980
+ init_command26();
180604
180981
  init_help();
180605
180982
  init_get_flags_specification();
180606
180983
  init_promote();
@@ -180994,7 +181371,7 @@ var init_redeploy2 = __esm({
180994
181371
  init_stamp();
180995
181372
  init_ua();
180996
181373
  init_help();
180997
- init_command27();
181374
+ init_command28();
180998
181375
  init_get_flags_specification();
180999
181376
  init_output_manager();
181000
181377
  init_redeploy();
@@ -181381,7 +181758,7 @@ var init_remove6 = __esm({
181381
181758
  init_error2();
181382
181759
  init_now_error();
181383
181760
  init_help();
181384
- init_command28();
181761
+ init_command29();
181385
181762
  init_get_flags_specification();
181386
181763
  init_remove5();
181387
181764
  init_output_manager();
@@ -181654,7 +182031,7 @@ var init_rollback2 = __esm({
181654
182031
  init_request_rollback();
181655
182032
  init_status3();
181656
182033
  init_help();
181657
- init_command29();
182034
+ init_command30();
181658
182035
  init_get_flags_specification();
181659
182036
  init_rollback();
181660
182037
  init_output_manager();
@@ -182230,7 +182607,7 @@ var init_rolling_release2 = __esm({
182230
182607
  init_get_args();
182231
182608
  init_get_flags_specification();
182232
182609
  init_help();
182233
- init_command30();
182610
+ init_command31();
182234
182611
  init_request_rolling_release();
182235
182612
  init_start_rolling_release();
182236
182613
  init_configure_rolling_release();
@@ -182362,7 +182739,7 @@ var init_list11 = __esm({
182362
182739
  import_chalk123 = __toESM3(require_source());
182363
182740
  init_table();
182364
182741
  init_output_manager();
182365
- init_command31();
182742
+ init_command32();
182366
182743
  init_pkg_name();
182367
182744
  init_ensure_link();
182368
182745
  init_format_project();
@@ -182400,9 +182777,9 @@ var init_target = __esm({
182400
182777
  // src/commands/target/index.ts
182401
182778
  var target_exports = {};
182402
182779
  __export3(target_exports, {
182403
- default: () => main15
182780
+ default: () => main16
182404
182781
  });
182405
- async function main15(client2) {
182782
+ async function main16(client2) {
182406
182783
  let parsedArgs;
182407
182784
  const flagsSpecification = getFlagsSpecification(targetCommand.options);
182408
182785
  try {
@@ -182455,7 +182832,7 @@ var init_target2 = __esm({
182455
182832
  init_get_invalid_subcommand();
182456
182833
  init_help();
182457
182834
  init_list11();
182458
- init_command31();
182835
+ init_command32();
182459
182836
  init_get_flags_specification();
182460
182837
  init_error2();
182461
182838
  init_output_manager();
@@ -182602,7 +182979,7 @@ var init_list13 = __esm({
182602
182979
  init_get_args();
182603
182980
  init_error2();
182604
182981
  init_get_flags_specification();
182605
- init_command32();
182982
+ init_command33();
182606
182983
  init_output_manager();
182607
182984
  init_list12();
182608
182985
  }
@@ -182801,7 +183178,7 @@ var init_invite2 = __esm({
182801
183178
  init_get_args();
182802
183179
  init_get_flags_specification();
182803
183180
  init_error2();
182804
- init_command32();
183181
+ init_command33();
182805
183182
  validateEmail2 = (data) => email.test(data.trim()) || data.length === 0;
182806
183183
  domains = Array.from(
182807
183184
  /* @__PURE__ */ new Set([
@@ -183102,7 +183479,7 @@ var init_switch2 = __esm({
183102
183479
  init_files();
183103
183480
  init_output_manager();
183104
183481
  init_switch();
183105
- init_command32();
183482
+ init_command33();
183106
183483
  init_get_args();
183107
183484
  init_get_flags_specification();
183108
183485
  init_error2();
@@ -183254,7 +183631,7 @@ var init_teams2 = __esm({
183254
183631
  init_switch2();
183255
183632
  init_invite2();
183256
183633
  init_get_args();
183257
- init_command32();
183634
+ init_command33();
183258
183635
  init_help();
183259
183636
  init_get_flags_specification();
183260
183637
  init_error2();
@@ -183495,7 +183872,7 @@ var init_telemetry3 = __esm({
183495
183872
  init_enable2();
183496
183873
  init_disable2();
183497
183874
  init_flush();
183498
- init_command33();
183875
+ init_command34();
183499
183876
  init_get_flags_specification();
183500
183877
  init_telemetry2();
183501
183878
  import_chalk129 = __toESM3(require_source());
@@ -183558,7 +183935,7 @@ var init_whoami2 = __esm({
183558
183935
  "src/commands/whoami/index.ts"() {
183559
183936
  "use strict";
183560
183937
  init_help();
183561
- init_command34();
183938
+ init_command35();
183562
183939
  init_get_scope();
183563
183940
  init_get_args();
183564
183941
  init_get_flags_specification();
@@ -184461,7 +184838,7 @@ Sentry.init({
184461
184838
  var client;
184462
184839
  var { isTTY: isTTY2 } = process.stdout;
184463
184840
  var apiUrl = "https://api.vercel.com";
184464
- var main16 = async () => {
184841
+ var main17 = async () => {
184465
184842
  if (process.env.FORCE_TTY === "1") {
184466
184843
  isTTY2 = true;
184467
184844
  process.stdout.isTTY = true;
@@ -184933,6 +185310,9 @@ var main16 = async () => {
184933
185310
  telemetry2.trackCliCommandLogs(userSuppliedSubCommand);
184934
185311
  func = (init_logs3(), __toCommonJS3(logs_exports)).default;
184935
185312
  break;
185313
+ case "mcp":
185314
+ func = (init_mcp2(), __toCommonJS3(mcp_exports)).default;
185315
+ break;
184936
185316
  case "login":
184937
185317
  telemetry2.trackCliCommandLogin(userSuppliedSubCommand);
184938
185318
  func = (init_login3(), __toCommonJS3(login_exports)).default;
@@ -185084,7 +185464,7 @@ ${err.stack}`);
185084
185464
  };
185085
185465
  process.on("unhandledRejection", handleRejection);
185086
185466
  process.on("uncaughtException", handleUnexpected);
185087
- main16().then(async (exitCode2) => {
185467
+ main17().then(async (exitCode2) => {
185088
185468
  if (isTTY2 && !process.env.NO_UPDATE_NOTIFIER) {
185089
185469
  const latest = getLatestVersion({
185090
185470
  pkg: pkg_default
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "45.0.10",
3
+ "version": "46.0.1",
4
4
  "preferGlobal": true,
5
5
  "license": "Apache-2.0",
6
6
  "description": "The command-line interface for Vercel",
@@ -84,8 +84,8 @@
84
84
  "@vercel/client": "15.3.14",
85
85
  "@vercel/detect-agent": "0.2.0",
86
86
  "@vercel/error-utils": "2.0.3",
87
- "@vercel/frameworks": "3.7.7",
88
- "@vercel/fs-detectors": "5.4.13",
87
+ "@vercel/frameworks": "3.8.0",
88
+ "@vercel/fs-detectors": "5.4.14",
89
89
  "@vercel/routing-utils": "5.1.1",
90
90
  "@vitest/expect": "2.1.3",
91
91
  "ajv": "6.12.3",
@@ -166,8 +166,8 @@
166
166
  "xdg-app-paths": "5.1.0",
167
167
  "yauzl-promise": "2.1.3",
168
168
  "@vercel-internals/constants": "1.0.4",
169
- "@vercel-internals/types": "3.0.6",
170
- "@vercel-internals/get-package-json": "1.0.0"
169
+ "@vercel-internals/get-package-json": "1.0.0",
170
+ "@vercel-internals/types": "3.0.6"
171
171
  },
172
172
  "scripts": {
173
173
  "test": "jest --reporters=default --reporters=jest-junit --env node --verbose --bail",