vercel 48.11.0 → 48.12.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 (2) hide show
  1. package/dist/index.js +125 -53
  2. package/package.json +17 -15
package/dist/index.js CHANGED
@@ -5663,14 +5663,14 @@ var require_xdg_app_paths = __commonJS2({
5663
5663
  var require_ansi_escapes = __commonJS2({
5664
5664
  "../../node_modules/.pnpm/ansi-escapes@4.3.2/node_modules/ansi-escapes/index.js"(exports2, module2) {
5665
5665
  "use strict";
5666
- var ansiEscapes6 = module2.exports;
5667
- module2.exports.default = ansiEscapes6;
5666
+ var ansiEscapes7 = module2.exports;
5667
+ module2.exports.default = ansiEscapes7;
5668
5668
  var ESC = "\x1B[";
5669
5669
  var OSC = "\x1B]";
5670
5670
  var BEL = "\x07";
5671
5671
  var SEP = ";";
5672
5672
  var isTerminalApp = process.env.TERM_PROGRAM === "Apple_Terminal";
5673
- ansiEscapes6.cursorTo = (x, y) => {
5673
+ ansiEscapes7.cursorTo = (x, y) => {
5674
5674
  if (typeof x !== "number") {
5675
5675
  throw new TypeError("The `x` argument is required");
5676
5676
  }
@@ -5679,7 +5679,7 @@ var require_ansi_escapes = __commonJS2({
5679
5679
  }
5680
5680
  return ESC + (y + 1) + ";" + (x + 1) + "H";
5681
5681
  };
5682
- ansiEscapes6.cursorMove = (x, y) => {
5682
+ ansiEscapes7.cursorMove = (x, y) => {
5683
5683
  if (typeof x !== "number") {
5684
5684
  throw new TypeError("The `x` argument is required");
5685
5685
  }
@@ -5696,46 +5696,46 @@ var require_ansi_escapes = __commonJS2({
5696
5696
  }
5697
5697
  return ret;
5698
5698
  };
5699
- ansiEscapes6.cursorUp = (count = 1) => ESC + count + "A";
5700
- ansiEscapes6.cursorDown = (count = 1) => ESC + count + "B";
5701
- ansiEscapes6.cursorForward = (count = 1) => ESC + count + "C";
5702
- ansiEscapes6.cursorBackward = (count = 1) => ESC + count + "D";
5703
- ansiEscapes6.cursorLeft = ESC + "G";
5704
- ansiEscapes6.cursorSavePosition = isTerminalApp ? "\x1B7" : ESC + "s";
5705
- ansiEscapes6.cursorRestorePosition = isTerminalApp ? "\x1B8" : ESC + "u";
5706
- ansiEscapes6.cursorGetPosition = ESC + "6n";
5707
- ansiEscapes6.cursorNextLine = ESC + "E";
5708
- ansiEscapes6.cursorPrevLine = ESC + "F";
5709
- ansiEscapes6.cursorHide = ESC + "?25l";
5710
- ansiEscapes6.cursorShow = ESC + "?25h";
5711
- ansiEscapes6.eraseLines = (count) => {
5699
+ ansiEscapes7.cursorUp = (count = 1) => ESC + count + "A";
5700
+ ansiEscapes7.cursorDown = (count = 1) => ESC + count + "B";
5701
+ ansiEscapes7.cursorForward = (count = 1) => ESC + count + "C";
5702
+ ansiEscapes7.cursorBackward = (count = 1) => ESC + count + "D";
5703
+ ansiEscapes7.cursorLeft = ESC + "G";
5704
+ ansiEscapes7.cursorSavePosition = isTerminalApp ? "\x1B7" : ESC + "s";
5705
+ ansiEscapes7.cursorRestorePosition = isTerminalApp ? "\x1B8" : ESC + "u";
5706
+ ansiEscapes7.cursorGetPosition = ESC + "6n";
5707
+ ansiEscapes7.cursorNextLine = ESC + "E";
5708
+ ansiEscapes7.cursorPrevLine = ESC + "F";
5709
+ ansiEscapes7.cursorHide = ESC + "?25l";
5710
+ ansiEscapes7.cursorShow = ESC + "?25h";
5711
+ ansiEscapes7.eraseLines = (count) => {
5712
5712
  let clear = "";
5713
5713
  for (let i = 0; i < count; i++) {
5714
- clear += ansiEscapes6.eraseLine + (i < count - 1 ? ansiEscapes6.cursorUp() : "");
5714
+ clear += ansiEscapes7.eraseLine + (i < count - 1 ? ansiEscapes7.cursorUp() : "");
5715
5715
  }
5716
5716
  if (count) {
5717
- clear += ansiEscapes6.cursorLeft;
5717
+ clear += ansiEscapes7.cursorLeft;
5718
5718
  }
5719
5719
  return clear;
5720
5720
  };
5721
- ansiEscapes6.eraseEndLine = ESC + "K";
5722
- ansiEscapes6.eraseStartLine = ESC + "1K";
5723
- ansiEscapes6.eraseLine = ESC + "2K";
5724
- ansiEscapes6.eraseDown = ESC + "J";
5725
- ansiEscapes6.eraseUp = ESC + "1J";
5726
- ansiEscapes6.eraseScreen = ESC + "2J";
5727
- ansiEscapes6.scrollUp = ESC + "S";
5728
- ansiEscapes6.scrollDown = ESC + "T";
5729
- ansiEscapes6.clearScreen = "\x1Bc";
5730
- ansiEscapes6.clearTerminal = process.platform === "win32" ? `${ansiEscapes6.eraseScreen}${ESC}0f` : (
5721
+ ansiEscapes7.eraseEndLine = ESC + "K";
5722
+ ansiEscapes7.eraseStartLine = ESC + "1K";
5723
+ ansiEscapes7.eraseLine = ESC + "2K";
5724
+ ansiEscapes7.eraseDown = ESC + "J";
5725
+ ansiEscapes7.eraseUp = ESC + "1J";
5726
+ ansiEscapes7.eraseScreen = ESC + "2J";
5727
+ ansiEscapes7.scrollUp = ESC + "S";
5728
+ ansiEscapes7.scrollDown = ESC + "T";
5729
+ ansiEscapes7.clearScreen = "\x1Bc";
5730
+ ansiEscapes7.clearTerminal = process.platform === "win32" ? `${ansiEscapes7.eraseScreen}${ESC}0f` : (
5731
5731
  // 1. Erases the screen (Only done in case `2` is not supported)
5732
5732
  // 2. Erases the whole screen including scrollback buffer
5733
5733
  // 3. Moves cursor to the top-left position
5734
5734
  // More info: https://www.real-world-systems.com/docs/ANSIcode.html
5735
- `${ansiEscapes6.eraseScreen}${ESC}3J${ESC}H`
5735
+ `${ansiEscapes7.eraseScreen}${ESC}3J${ESC}H`
5736
5736
  );
5737
- ansiEscapes6.beep = BEL;
5738
- ansiEscapes6.link = (text, url3) => {
5737
+ ansiEscapes7.beep = BEL;
5738
+ ansiEscapes7.link = (text, url3) => {
5739
5739
  return [
5740
5740
  OSC,
5741
5741
  "8",
@@ -5751,7 +5751,7 @@ var require_ansi_escapes = __commonJS2({
5751
5751
  BEL
5752
5752
  ].join("");
5753
5753
  };
5754
- ansiEscapes6.image = (buffer, options = {}) => {
5754
+ ansiEscapes7.image = (buffer, options = {}) => {
5755
5755
  let ret = `${OSC}1337;File=inline=1`;
5756
5756
  if (options.width) {
5757
5757
  ret += `;width=${options.width}`;
@@ -5764,7 +5764,7 @@ var require_ansi_escapes = __commonJS2({
5764
5764
  }
5765
5765
  return ret + ":" + buffer.toString("base64") + BEL;
5766
5766
  };
5767
- ansiEscapes6.iTerm = {
5767
+ ansiEscapes7.iTerm = {
5768
5768
  setCwd: (cwd = process.cwd()) => `${OSC}50;CurrentDir=${cwd}${BEL}`,
5769
5769
  annotation: (message2, options = {}) => {
5770
5770
  let ret = `${OSC}1337;`;
@@ -38434,22 +38434,79 @@ var init_esm7 = __esm({
38434
38434
  }
38435
38435
  });
38436
38436
 
38437
+ // ../../node_modules/.pnpm/@inquirer+password@2.1.2/node_modules/@inquirer/password/dist/esm/index.mjs
38438
+ var import_ansi_escapes4, esm_default6;
38439
+ var init_esm8 = __esm({
38440
+ "../../node_modules/.pnpm/@inquirer+password@2.1.2/node_modules/@inquirer/password/dist/esm/index.mjs"() {
38441
+ init_esm3();
38442
+ import_ansi_escapes4 = __toESM3(require_ansi_escapes(), 1);
38443
+ esm_default6 = createPrompt((config2, done) => {
38444
+ const { validate: validate2 = () => true } = config2;
38445
+ const theme = makeTheme(config2.theme);
38446
+ const [status3, setStatus] = useState("pending");
38447
+ const [errorMsg, setError] = useState(void 0);
38448
+ const [value, setValue] = useState("");
38449
+ const isLoading = status3 === "loading";
38450
+ const prefix = usePrefix({ isLoading, theme });
38451
+ useKeypress(async (key, rl) => {
38452
+ if (status3 !== "pending") {
38453
+ return;
38454
+ }
38455
+ if (isEnterKey(key)) {
38456
+ const answer = value;
38457
+ setStatus("loading");
38458
+ const isValid = await validate2(answer);
38459
+ if (isValid === true) {
38460
+ setValue(answer);
38461
+ setStatus("done");
38462
+ done(answer);
38463
+ } else {
38464
+ rl.write(value);
38465
+ setError(isValid || "You must provide a valid value");
38466
+ setStatus("pending");
38467
+ }
38468
+ } else {
38469
+ setValue(rl.line);
38470
+ setError(void 0);
38471
+ }
38472
+ });
38473
+ const message2 = theme.style.message(config2.message);
38474
+ let formattedValue = "";
38475
+ let helpTip;
38476
+ if (config2.mask) {
38477
+ const maskChar = typeof config2.mask === "string" ? config2.mask : "*";
38478
+ formattedValue = maskChar.repeat(value.length);
38479
+ } else if (status3 !== "done") {
38480
+ helpTip = `${theme.style.help("[input is masked]")}${import_ansi_escapes4.default.cursorHide}`;
38481
+ }
38482
+ if (status3 === "done") {
38483
+ formattedValue = theme.style.answer(formattedValue);
38484
+ }
38485
+ let error3 = "";
38486
+ if (errorMsg) {
38487
+ error3 = theme.style.error(errorMsg);
38488
+ }
38489
+ return [[prefix, message2, formattedValue, helpTip].filter(Boolean).join(" "), error3];
38490
+ });
38491
+ }
38492
+ });
38493
+
38437
38494
  // ../../node_modules/.pnpm/@inquirer+select@2.2.2/node_modules/@inquirer/select/dist/esm/index.mjs
38438
38495
  function isSelectable2(item) {
38439
38496
  return !Separator.isSeparator(item) && !item.disabled;
38440
38497
  }
38441
- var import_chalk13, import_figures3, import_ansi_escapes4, selectTheme, esm_default6;
38442
- var init_esm8 = __esm({
38498
+ var import_chalk13, import_figures3, import_ansi_escapes5, selectTheme, esm_default7;
38499
+ var init_esm9 = __esm({
38443
38500
  "../../node_modules/.pnpm/@inquirer+select@2.2.2/node_modules/@inquirer/select/dist/esm/index.mjs"() {
38444
38501
  init_esm3();
38445
38502
  import_chalk13 = __toESM3(require_source2(), 1);
38446
38503
  import_figures3 = __toESM3(require_figures(), 1);
38447
- import_ansi_escapes4 = __toESM3(require_ansi_escapes(), 1);
38504
+ import_ansi_escapes5 = __toESM3(require_ansi_escapes(), 1);
38448
38505
  selectTheme = {
38449
38506
  icon: { cursor: import_figures3.default.pointer },
38450
38507
  style: { disabled: (text) => import_chalk13.default.dim(`- ${text}`) }
38451
38508
  };
38452
- esm_default6 = createPrompt((config2, done) => {
38509
+ esm_default7 = createPrompt((config2, done) => {
38453
38510
  const { choices: items, loop = true, pageSize = 7 } = config2;
38454
38511
  const firstRender = useRef(true);
38455
38512
  const theme = makeTheme(selectTheme, config2.theme);
@@ -38543,7 +38600,7 @@ var init_esm8 = __esm({
38543
38600
  const choiceDescription = selectedChoice.description ? `
38544
38601
  ${selectedChoice.description}` : ``;
38545
38602
  return `${[prefix, message2, helpTip].filter(Boolean).join(" ")}
38546
- ${page}${choiceDescription}${import_ansi_escapes4.default.cursorHide}`;
38603
+ ${page}${choiceDescription}${import_ansi_escapes5.default.cursorHide}`;
38547
38604
  });
38548
38605
  }
38549
38606
  });
@@ -44894,7 +44951,7 @@ async function login(client2, telemetry2) {
44894
44951
  `,
44895
44952
  () => {
44896
44953
  open.default(verification_uri_complete);
44897
- output_manager_default.print((0, import_ansi_escapes5.eraseLines)(2));
44954
+ output_manager_default.print((0, import_ansi_escapes6.eraseLines)(2));
44898
44955
  output_manager_default.spinner("Waiting for authentication...");
44899
44956
  rl.close();
44900
44957
  rlClosed = true;
@@ -44943,7 +45000,7 @@ async function login(client2, telemetry2) {
44943
45000
  if (tokensError)
44944
45001
  return tokensError;
44945
45002
  error3 = void 0;
44946
- output_manager_default.print((0, import_ansi_escapes5.eraseLines)(2));
45003
+ output_manager_default.print((0, import_ansi_escapes6.eraseLines)(2));
44947
45004
  const isInitialLogin = !client2.authConfig.token;
44948
45005
  client2.updateAuthConfig({
44949
45006
  token: tokens.access_token,
@@ -44984,14 +45041,14 @@ async function login(client2, telemetry2) {
44984
45041
  async function wait2(intervalMs) {
44985
45042
  await new Promise((resolve13) => setTimeout(resolve13, intervalMs));
44986
45043
  }
44987
- var import_node_readline, import_chalk17, open, import_ansi_escapes5;
45044
+ var import_node_readline, import_chalk17, open, import_ansi_escapes6;
44988
45045
  var init_future = __esm({
44989
45046
  "src/commands/login/future.ts"() {
44990
45047
  "use strict";
44991
45048
  import_node_readline = __toESM3(require("readline"));
44992
45049
  import_chalk17 = __toESM3(require_source());
44993
45050
  open = __toESM3(require_open());
44994
- import_ansi_escapes5 = __toESM3(require_ansi_escapes());
45051
+ import_ansi_escapes6 = __toESM3(require_ansi_escapes());
44995
45052
  init_error2();
44996
45053
  init_update_current_team_after_login();
44997
45054
  init_global_path();
@@ -49731,7 +49788,7 @@ var require_package = __commonJS2({
49731
49788
  "../client/package.json"(exports2, module2) {
49732
49789
  module2.exports = {
49733
49790
  name: "@vercel/client",
49734
- version: "17.2.11",
49791
+ version: "17.2.12",
49735
49792
  main: "dist/index.js",
49736
49793
  typings: "dist/index.d.ts",
49737
49794
  homepage: "https://vercel.com",
@@ -49770,7 +49827,7 @@ var require_package = __commonJS2({
49770
49827
  vitest: "2.0.1"
49771
49828
  },
49772
49829
  dependencies: {
49773
- "@vercel/build-utils": "13.2.0",
49830
+ "@vercel/build-utils": "13.2.1",
49774
49831
  "@vercel/error-utils": "2.0.3",
49775
49832
  "@vercel/microfrontends": "1.2.2",
49776
49833
  "@vercel/routing-utils": "5.3.0",
@@ -63904,6 +63961,7 @@ var init_client = __esm({
63904
63961
  init_esm6();
63905
63962
  init_esm7();
63906
63963
  init_esm8();
63964
+ init_esm9();
63907
63965
  import_events = require("events");
63908
63966
  import_url5 = require("url");
63909
63967
  import_async_retry = __toESM3(require_dist5());
@@ -63963,6 +64021,10 @@ ${error3.stack}`);
63963
64021
  };
63964
64022
  this.input = {
63965
64023
  text: (opts2) => esm_default5({ theme, ...opts2 }, { input: this.stdin, output: this.stderr }),
64024
+ password: (opts2) => esm_default6(
64025
+ { theme, ...opts2 },
64026
+ { input: this.stdin, output: this.stderr }
64027
+ ),
63966
64028
  checkbox: (opts2) => esm_default2(
63967
64029
  { theme, ...opts2 },
63968
64030
  { input: this.stdin, output: this.stderr }
@@ -63972,7 +64034,7 @@ ${error3.stack}`);
63972
64034
  { theme, message: message2, default: default_value },
63973
64035
  { input: this.stdin, output: this.stderr }
63974
64036
  ),
63975
- select: (opts2) => esm_default6(
64037
+ select: (opts2) => esm_default7(
63976
64038
  { theme, ...opts2 },
63977
64039
  { input: this.stdin, output: this.stderr }
63978
64040
  )
@@ -128742,7 +128804,7 @@ var import_strip_ansi3;
128742
128804
  var init_list4 = __esm({
128743
128805
  "src/util/input/list.ts"() {
128744
128806
  "use strict";
128745
- init_esm8();
128807
+ init_esm9();
128746
128808
  import_strip_ansi3 = __toESM3(require_strip_ansi2());
128747
128809
  init_erase_lines();
128748
128810
  }
@@ -151535,7 +151597,7 @@ async function printEvents(client2, urlOrDeploymentId, { mode, onEvent, quiet, f
151535
151597
  retries: 4,
151536
151598
  onRetry: (err) => {
151537
151599
  if (!quiet && o) {
151538
- process.stdout.write((0, import_ansi_escapes6.eraseLines)(o + 1));
151600
+ process.stdout.write((0, import_ansi_escapes7.eraseLines)(o + 1));
151539
151601
  o = 0;
151540
151602
  }
151541
151603
  log2(`Deployment events polling error: ${err.message}`);
@@ -151543,14 +151605,14 @@ async function printEvents(client2, urlOrDeploymentId, { mode, onEvent, quiet, f
151543
151605
  }
151544
151606
  );
151545
151607
  }
151546
- var import_url10, import_async_retry4, import_jsonlines, import_ansi_escapes6, events_default;
151608
+ var import_url10, import_async_retry4, import_jsonlines, import_ansi_escapes7, events_default;
151547
151609
  var init_events = __esm({
151548
151610
  "src/util/events.ts"() {
151549
151611
  "use strict";
151550
151612
  import_url10 = require("url");
151551
151613
  import_async_retry4 = __toESM3(require_dist5());
151552
151614
  import_jsonlines = __toESM3(require_jsonlines());
151553
- import_ansi_escapes6 = __toESM3(require_ansi_escapes());
151615
+ import_ansi_escapes7 = __toESM3(require_ansi_escapes());
151554
151616
  init_get_deployment();
151555
151617
  init_get_scope();
151556
151618
  init_output_manager();
@@ -176714,12 +176776,23 @@ async function add4(client2, argv) {
176714
176776
  );
176715
176777
  return 1;
176716
176778
  }
176779
+ let type = opts["--sensitive"] ? "sensitive" : "encrypted";
176717
176780
  let envValue;
176718
176781
  if (stdInput) {
176719
176782
  envValue = stdInput;
176720
176783
  } else {
176721
- envValue = await client2.input.text({
176722
- message: `What's the value of ${envName}?`
176784
+ if (type === "encrypted") {
176785
+ const isSensitive = await client2.input.confirm(
176786
+ `Your value will be encrypted. Mark as sensitive?`,
176787
+ false
176788
+ );
176789
+ if (isSensitive) {
176790
+ type = "sensitive";
176791
+ }
176792
+ }
176793
+ envValue = await client2.input.password({
176794
+ message: `What's the value of ${envName}?`,
176795
+ mask: true
176723
176796
  });
176724
176797
  }
176725
176798
  while (envTargets.length === 0) {
@@ -176736,7 +176809,6 @@ async function add4(client2, argv) {
176736
176809
  message: `Add ${envName} to which Git branch? (leave empty for all Preview branches)?`
176737
176810
  });
176738
176811
  }
176739
- const type = opts["--sensitive"] ? "sensitive" : "encrypted";
176740
176812
  const upsert = opts["--force"] ? "true" : "";
176741
176813
  const addStamp = stamp_default();
176742
176814
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "48.11.0",
3
+ "version": "48.12.0",
4
4
  "preferGlobal": true,
5
5
  "license": "Apache-2.0",
6
6
  "description": "The command-line interface for Vercel",
@@ -22,26 +22,27 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@vercel/blob": "1.0.2",
25
- "@vercel/build-utils": "13.2.0",
26
- "@vercel/elysia": "0.1.10",
27
- "@vercel/express": "0.1.15",
28
- "@vercel/fastify": "0.1.13",
25
+ "@vercel/build-utils": "13.2.1",
26
+ "@vercel/elysia": "0.1.11",
27
+ "@vercel/express": "0.1.16",
28
+ "@vercel/fastify": "0.1.14",
29
29
  "@vercel/fun": "1.2.0",
30
30
  "@vercel/go": "3.2.3",
31
- "@vercel/h3": "0.1.19",
32
- "@vercel/hono": "0.2.13",
31
+ "@vercel/h3": "0.1.20",
32
+ "@vercel/hono": "0.2.14",
33
33
  "@vercel/hydrogen": "1.3.2",
34
- "@vercel/next": "4.15.5",
35
- "@vercel/node": "5.5.12",
36
- "@vercel/python": "6.0.8",
37
- "@vercel/redwood": "2.4.3",
38
- "@vercel/remix-builder": "5.5.3",
34
+ "@vercel/next": "4.15.6",
35
+ "@vercel/node": "5.5.13",
36
+ "@vercel/python": "6.1.0",
37
+ "@vercel/redwood": "2.4.4",
38
+ "@vercel/remix-builder": "5.5.4",
39
39
  "@vercel/ruby": "2.2.2",
40
40
  "@vercel/rust": "1.0.3",
41
- "@vercel/static-build": "2.8.11",
41
+ "@vercel/static-build": "2.8.12",
42
42
  "chokidar": "4.0.0",
43
43
  "jose": "5.9.6",
44
- "@vercel/backends": "0.0.12",
44
+ "@vercel/backends": "0.0.13",
45
+ "@vercel/nestjs": "0.2.15",
45
46
  "@vercel/detect-agent": "1.0.0"
46
47
  },
47
48
  "devDependencies": {
@@ -51,6 +52,7 @@
51
52
  "@inquirer/confirm": "3.1.2",
52
53
  "@inquirer/expand": "2.1.2",
53
54
  "@inquirer/input": "2.1.2",
55
+ "@inquirer/password": "2.1.2",
54
56
  "@inquirer/select": "2.2.2",
55
57
  "@next/env": "11.1.2",
56
58
  "@sentry/node": "7.120.1",
@@ -86,7 +88,7 @@
86
88
  "@types/which": "3.0.0",
87
89
  "@types/write-json-file": "2.2.1",
88
90
  "@types/yauzl-promise": "2.1.0",
89
- "@vercel/client": "17.2.11",
91
+ "@vercel/client": "17.2.12",
90
92
  "@vercel/error-utils": "2.0.3",
91
93
  "@vercel/frameworks": "3.15.3",
92
94
  "@vercel/fs-detectors": "5.7.8",