vercel 28.9.0 → 28.10.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 +288 -76
  2. package/package.json +7 -8
package/dist/index.js CHANGED
@@ -146125,6 +146125,109 @@ module.exports = {
146125
146125
  };
146126
146126
 
146127
146127
 
146128
+ /***/ }),
146129
+
146130
+ /***/ 93948:
146131
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
146132
+
146133
+ "use strict";
146134
+
146135
+ const supportsColor = __webpack_require__(30395);
146136
+ const hasFlag = __webpack_require__(76738);
146137
+
146138
+ function parseVersion(versionString) {
146139
+ if (/^\d{3,4}$/.test(versionString)) {
146140
+ // Env var doesn't always use dots. example: 4601 => 46.1.0
146141
+ const m = /(\d{1,2})(\d{2})/.exec(versionString);
146142
+ return {
146143
+ major: 0,
146144
+ minor: parseInt(m[1], 10),
146145
+ patch: parseInt(m[2], 10)
146146
+ };
146147
+ }
146148
+
146149
+ const versions = (versionString || '').split('.').map(n => parseInt(n, 10));
146150
+ return {
146151
+ major: versions[0],
146152
+ minor: versions[1],
146153
+ patch: versions[2]
146154
+ };
146155
+ }
146156
+
146157
+ function supportsHyperlink(stream) {
146158
+ const {env} = process;
146159
+
146160
+ if ('FORCE_HYPERLINK' in env) {
146161
+ return !(env.FORCE_HYPERLINK.length > 0 && parseInt(env.FORCE_HYPERLINK, 10) === 0);
146162
+ }
146163
+
146164
+ if (hasFlag('no-hyperlink') || hasFlag('no-hyperlinks') || hasFlag('hyperlink=false') || hasFlag('hyperlink=never')) {
146165
+ return false;
146166
+ }
146167
+
146168
+ if (hasFlag('hyperlink=true') || hasFlag('hyperlink=always')) {
146169
+ return true;
146170
+ }
146171
+
146172
+ // If they specify no colors, they probably don't want hyperlinks.
146173
+ if (!supportsColor.supportsColor(stream)) {
146174
+ return false;
146175
+ }
146176
+
146177
+ if (stream && !stream.isTTY) {
146178
+ return false;
146179
+ }
146180
+
146181
+ if (process.platform === 'win32') {
146182
+ return false;
146183
+ }
146184
+
146185
+ if ('NETLIFY' in env) {
146186
+ return true;
146187
+ }
146188
+
146189
+ if ('CI' in env) {
146190
+ return false;
146191
+ }
146192
+
146193
+ if ('TEAMCITY_VERSION' in env) {
146194
+ return false;
146195
+ }
146196
+
146197
+ if ('TERM_PROGRAM' in env) {
146198
+ const version = parseVersion(env.TERM_PROGRAM_VERSION);
146199
+
146200
+ switch (env.TERM_PROGRAM) {
146201
+ case 'iTerm.app':
146202
+ if (version.major === 3) {
146203
+ return version.minor >= 1;
146204
+ }
146205
+
146206
+ return version.major > 3;
146207
+ // No default
146208
+ }
146209
+ }
146210
+
146211
+ if ('VTE_VERSION' in env) {
146212
+ // 0.50.0 was supposed to support hyperlinks, but throws a segfault
146213
+ if (env.VTE_VERSION === '0.50.0') {
146214
+ return false;
146215
+ }
146216
+
146217
+ const version = parseVersion(env.VTE_VERSION);
146218
+ return version.major > 0 || version.minor >= 50;
146219
+ }
146220
+
146221
+ return false;
146222
+ }
146223
+
146224
+ module.exports = {
146225
+ supportsHyperlink,
146226
+ stdout: supportsHyperlink(process.stdout),
146227
+ stderr: supportsHyperlink(process.stderr)
146228
+ };
146229
+
146230
+
146128
146231
  /***/ }),
146129
146232
 
146130
146233
  /***/ 29969:
@@ -193279,6 +193382,28 @@ function fullDiff (maxWidth, curWidth) {
193279
193382
  }
193280
193383
 
193281
193384
 
193385
+ /***/ }),
193386
+
193387
+ /***/ 48100:
193388
+ /***/ ((module) => {
193389
+
193390
+ "use strict";
193391
+
193392
+
193393
+ module.exports = options => {
193394
+ options = Object.assign({
193395
+ onlyFirst: false
193396
+ }, options);
193397
+
193398
+ const pattern = [
193399
+ '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
193400
+ '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
193401
+ ].join('|');
193402
+
193403
+ return new RegExp(pattern, options.onlyFirst ? undefined : 'g');
193404
+ };
193405
+
193406
+
193282
193407
  /***/ }),
193283
193408
 
193284
193409
  /***/ 42581:
@@ -193354,7 +193479,7 @@ module.exports = x => {
193354
193479
 
193355
193480
  "use strict";
193356
193481
 
193357
- const stripAnsi = __webpack_require__(25077);
193482
+ const stripAnsi = __webpack_require__(83695);
193358
193483
  const isFullwidthCodePoint = __webpack_require__(13690);
193359
193484
  const emojiRegex = __webpack_require__(42581)();
193360
193485
 
@@ -193394,6 +193519,21 @@ module.exports = input => {
193394
193519
  };
193395
193520
 
193396
193521
 
193522
+ /***/ }),
193523
+
193524
+ /***/ 83695:
193525
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
193526
+
193527
+ "use strict";
193528
+
193529
+ const ansiRegex = __webpack_require__(48100);
193530
+
193531
+ const stripAnsi = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;
193532
+
193533
+ module.exports = stripAnsi;
193534
+ module.exports.default = stripAnsi;
193535
+
193536
+
193397
193537
  /***/ }),
193398
193538
 
193399
193539
  /***/ 17074:
@@ -193401,11 +193541,17 @@ module.exports = input => {
193401
193541
 
193402
193542
  "use strict";
193403
193543
 
193404
- const x = module.exports;
193544
+ const ansiEscapes = module.exports;
193545
+ // TODO: remove this in the next major version
193546
+ module.exports.default = ansiEscapes;
193547
+
193405
193548
  const ESC = '\u001B[';
193549
+ const OSC = '\u001B]';
193550
+ const BEL = '\u0007';
193551
+ const SEP = ';';
193406
193552
  const isTerminalApp = process.env.TERM_PROGRAM === 'Apple_Terminal';
193407
193553
 
193408
- x.cursorTo = (x, y) => {
193554
+ ansiEscapes.cursorTo = (x, y) => {
193409
193555
  if (typeof x !== 'number') {
193410
193556
  throw new TypeError('The `x` argument is required');
193411
193557
  }
@@ -193417,7 +193563,7 @@ x.cursorTo = (x, y) => {
193417
193563
  return ESC + (y + 1) + ';' + (x + 1) + 'H';
193418
193564
  };
193419
193565
 
193420
- x.cursorMove = (x, y) => {
193566
+ ansiEscapes.cursorMove = (x, y) => {
193421
193567
  if (typeof x !== 'number') {
193422
193568
  throw new TypeError('The `x` argument is required');
193423
193569
  }
@@ -193439,69 +193585,118 @@ x.cursorMove = (x, y) => {
193439
193585
  return ret;
193440
193586
  };
193441
193587
 
193442
- x.cursorUp = count => ESC + (typeof count === 'number' ? count : 1) + 'A';
193443
- x.cursorDown = count => ESC + (typeof count === 'number' ? count : 1) + 'B';
193444
- x.cursorForward = count => ESC + (typeof count === 'number' ? count : 1) + 'C';
193445
- x.cursorBackward = count => ESC + (typeof count === 'number' ? count : 1) + 'D';
193588
+ ansiEscapes.cursorUp = (count = 1) => ESC + count + 'A';
193589
+ ansiEscapes.cursorDown = (count = 1) => ESC + count + 'B';
193590
+ ansiEscapes.cursorForward = (count = 1) => ESC + count + 'C';
193591
+ ansiEscapes.cursorBackward = (count = 1) => ESC + count + 'D';
193446
193592
 
193447
- x.cursorLeft = ESC + 'G';
193448
- x.cursorSavePosition = ESC + (isTerminalApp ? '7' : 's');
193449
- x.cursorRestorePosition = ESC + (isTerminalApp ? '8' : 'u');
193450
- x.cursorGetPosition = ESC + '6n';
193451
- x.cursorNextLine = ESC + 'E';
193452
- x.cursorPrevLine = ESC + 'F';
193453
- x.cursorHide = ESC + '?25l';
193454
- x.cursorShow = ESC + '?25h';
193593
+ ansiEscapes.cursorLeft = ESC + 'G';
193594
+ ansiEscapes.cursorSavePosition = isTerminalApp ? '\u001B7' : ESC + 's';
193595
+ ansiEscapes.cursorRestorePosition = isTerminalApp ? '\u001B8' : ESC + 'u';
193596
+ ansiEscapes.cursorGetPosition = ESC + '6n';
193597
+ ansiEscapes.cursorNextLine = ESC + 'E';
193598
+ ansiEscapes.cursorPrevLine = ESC + 'F';
193599
+ ansiEscapes.cursorHide = ESC + '?25l';
193600
+ ansiEscapes.cursorShow = ESC + '?25h';
193455
193601
 
193456
- x.eraseLines = count => {
193602
+ ansiEscapes.eraseLines = count => {
193457
193603
  let clear = '';
193458
193604
 
193459
193605
  for (let i = 0; i < count; i++) {
193460
- clear += x.eraseLine + (i < count - 1 ? x.cursorUp() : '');
193606
+ clear += ansiEscapes.eraseLine + (i < count - 1 ? ansiEscapes.cursorUp() : '');
193461
193607
  }
193462
193608
 
193463
193609
  if (count) {
193464
- clear += x.cursorLeft;
193610
+ clear += ansiEscapes.cursorLeft;
193465
193611
  }
193466
193612
 
193467
193613
  return clear;
193468
193614
  };
193469
193615
 
193470
- x.eraseEndLine = ESC + 'K';
193471
- x.eraseStartLine = ESC + '1K';
193472
- x.eraseLine = ESC + '2K';
193473
- x.eraseDown = ESC + 'J';
193474
- x.eraseUp = ESC + '1J';
193475
- x.eraseScreen = ESC + '2J';
193476
- x.scrollUp = ESC + 'S';
193477
- x.scrollDown = ESC + 'T';
193616
+ ansiEscapes.eraseEndLine = ESC + 'K';
193617
+ ansiEscapes.eraseStartLine = ESC + '1K';
193618
+ ansiEscapes.eraseLine = ESC + '2K';
193619
+ ansiEscapes.eraseDown = ESC + 'J';
193620
+ ansiEscapes.eraseUp = ESC + '1J';
193621
+ ansiEscapes.eraseScreen = ESC + '2J';
193622
+ ansiEscapes.scrollUp = ESC + 'S';
193623
+ ansiEscapes.scrollDown = ESC + 'T';
193478
193624
 
193479
- x.clearScreen = '\u001Bc';
193480
- x.beep = '\u0007';
193625
+ ansiEscapes.clearScreen = '\u001Bc';
193481
193626
 
193482
- x.image = (buf, opts) => {
193483
- opts = opts || {};
193627
+ ansiEscapes.clearTerminal = process.platform === 'win32' ?
193628
+ `${ansiEscapes.eraseScreen}${ESC}0f` :
193629
+ // 1. Erases the screen (Only done in case `2` is not supported)
193630
+ // 2. Erases the whole screen including scrollback buffer
193631
+ // 3. Moves cursor to the top-left position
193632
+ // More info: https://www.real-world-systems.com/docs/ANSIcode.html
193633
+ `${ansiEscapes.eraseScreen}${ESC}3J${ESC}H`;
193484
193634
 
193485
- let ret = '\u001B]1337;File=inline=1';
193635
+ ansiEscapes.beep = BEL;
193486
193636
 
193487
- if (opts.width) {
193488
- ret += `;width=${opts.width}`;
193637
+ ansiEscapes.link = (text, url) => {
193638
+ return [
193639
+ OSC,
193640
+ '8',
193641
+ SEP,
193642
+ SEP,
193643
+ url,
193644
+ BEL,
193645
+ text,
193646
+ OSC,
193647
+ '8',
193648
+ SEP,
193649
+ SEP,
193650
+ BEL
193651
+ ].join('');
193652
+ };
193653
+
193654
+ ansiEscapes.image = (buffer, options = {}) => {
193655
+ let ret = `${OSC}1337;File=inline=1`;
193656
+
193657
+ if (options.width) {
193658
+ ret += `;width=${options.width}`;
193489
193659
  }
193490
193660
 
193491
- if (opts.height) {
193492
- ret += `;height=${opts.height}`;
193661
+ if (options.height) {
193662
+ ret += `;height=${options.height}`;
193493
193663
  }
193494
193664
 
193495
- if (opts.preserveAspectRatio === false) {
193665
+ if (options.preserveAspectRatio === false) {
193496
193666
  ret += ';preserveAspectRatio=0';
193497
193667
  }
193498
193668
 
193499
- return ret + ':' + buf.toString('base64') + '\u0007';
193669
+ return ret + ':' + buffer.toString('base64') + BEL;
193500
193670
  };
193501
193671
 
193502
- x.iTerm = {};
193672
+ ansiEscapes.iTerm = {
193673
+ setCwd: (cwd = process.cwd()) => `${OSC}50;CurrentDir=${cwd}${BEL}`,
193674
+
193675
+ annotation: (message, options = {}) => {
193676
+ let ret = `${OSC}1337;`;
193677
+
193678
+ const hasX = typeof options.x !== 'undefined';
193679
+ const hasY = typeof options.y !== 'undefined';
193680
+ if ((hasX || hasY) && !(hasX && hasY && typeof options.length !== 'undefined')) {
193681
+ throw new Error('`x`, `y` and `length` must be defined when `x` or `y` is defined');
193682
+ }
193683
+
193684
+ message = message.replace(/\|/g, '');
193685
+
193686
+ ret += options.isHidden ? 'AddHiddenAnnotation=' : 'AddAnnotation=';
193687
+
193688
+ if (options.length > 0) {
193689
+ ret +=
193690
+ (hasX ?
193691
+ [message, options.length, options.x, options.y] :
193692
+ [options.length, message]).join('|');
193693
+ } else {
193694
+ ret += message;
193695
+ }
193503
193696
 
193504
- x.iTerm.setCwd = cwd => '\u001B]50;CurrentDir=' + (cwd || process.cwd()) + '\u0007';
193697
+ return ret + BEL;
193698
+ }
193699
+ };
193505
193700
 
193506
193701
 
193507
193702
  /***/ }),
@@ -193512,13 +193707,13 @@ x.iTerm.setCwd = cwd => '\u001B]50;CurrentDir=' + (cwd || process.cwd()) + '\u00
193512
193707
  "use strict";
193513
193708
 
193514
193709
 
193515
- module.exports = () => {
193710
+ module.exports = ({onlyFirst = false} = {}) => {
193516
193711
  const pattern = [
193517
- '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)',
193518
- '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))'
193712
+ '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
193713
+ '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
193519
193714
  ].join('|');
193520
193715
 
193521
- return new RegExp(pattern, 'g');
193716
+ return new RegExp(pattern, onlyFirst ? undefined : 'g');
193522
193717
  };
193523
193718
 
193524
193719
 
@@ -206360,34 +206555,9 @@ module.exports = string => typeof string === 'string' ? string.replace(ansiRegex
206360
206555
 
206361
206556
  "use strict";
206362
206557
 
206363
- const ansiRegex = __webpack_require__(5331);
206364
-
206365
- const stripAnsi = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;
206558
+ const ansiRegex = __webpack_require__(30678);
206366
206559
 
206367
- module.exports = stripAnsi;
206368
- module.exports.default = stripAnsi;
206369
-
206370
-
206371
- /***/ }),
206372
-
206373
- /***/ 5331:
206374
- /***/ ((module) => {
206375
-
206376
- "use strict";
206377
-
206378
-
206379
- module.exports = options => {
206380
- options = Object.assign({
206381
- onlyFirst: false
206382
- }, options);
206383
-
206384
- const pattern = [
206385
- '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
206386
- '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
206387
- ].join('|');
206388
-
206389
- return new RegExp(pattern, options.onlyFirst ? undefined : 'g');
206390
- };
206560
+ module.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;
206391
206561
 
206392
206562
 
206393
206563
  /***/ }),
@@ -241570,6 +241740,9 @@ async function performCreateAlias(client, contextName, deployment, alias) {
241570
241740
  if (err.code === 'invalid_alias') {
241571
241741
  return new ERRORS.InvalidAlias(alias);
241572
241742
  }
241743
+ if (err.code === 'deployment_not_ready') {
241744
+ return new ERRORS.DeploymentNotReady({ url: deployment.url });
241745
+ }
241573
241746
  if (err.status === 403) {
241574
241747
  if (err.code === 'alias_in_use') {
241575
241748
  return new ERRORS.AliasInUse(alias);
@@ -241578,9 +241751,6 @@ async function performCreateAlias(client, contextName, deployment, alias) {
241578
241751
  return new ERRORS.DomainPermissionDenied(alias, contextName);
241579
241752
  }
241580
241753
  }
241581
- if (err.status === 400) {
241582
- return new ERRORS.DeploymentNotReady({ url: deployment.url });
241583
- }
241584
241754
  }
241585
241755
  throw err;
241586
241756
  }
@@ -253789,18 +253959,43 @@ exports.default = code;
253789
253959
 
253790
253960
  "use strict";
253791
253961
 
253962
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
253963
+ if (k2 === undefined) k2 = k;
253964
+ var desc = Object.getOwnPropertyDescriptor(m, k);
253965
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
253966
+ desc = { enumerable: true, get: function() { return m[k]; } };
253967
+ }
253968
+ Object.defineProperty(o, k2, desc);
253969
+ }) : (function(o, m, k, k2) {
253970
+ if (k2 === undefined) k2 = k;
253971
+ o[k2] = m[k];
253972
+ }));
253973
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
253974
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
253975
+ }) : function(o, v) {
253976
+ o["default"] = v;
253977
+ });
253978
+ var __importStar = (this && this.__importStar) || function (mod) {
253979
+ if (mod && mod.__esModule) return mod;
253980
+ var result = {};
253981
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
253982
+ __setModuleDefault(result, mod);
253983
+ return result;
253984
+ };
253792
253985
  var __importDefault = (this && this.__importDefault) || function (mod) {
253793
253986
  return (mod && mod.__esModule) ? mod : { "default": mod };
253794
253987
  };
253795
253988
  Object.defineProperty(exports, "__esModule", ({ value: true }));
253796
253989
  exports.Output = void 0;
253797
253990
  const chalk_1 = __importDefault(__webpack_require__(961));
253991
+ const ansiEscapes = __importStar(__webpack_require__(17074));
253992
+ const supports_hyperlinks_1 = __webpack_require__(93948);
253798
253993
  const link_1 = __importDefault(__webpack_require__(98472));
253799
253994
  const wait_1 = __importDefault(__webpack_require__(22015));
253800
253995
  const error_utils_1 = __webpack_require__(35772);
253801
253996
  const IS_TEST = process.env.NODE_ENV === 'test';
253802
253997
  class Output {
253803
- constructor(stream, { debug: debugEnabled = false } = {}) {
253998
+ constructor(stream, { debug: debugEnabled = false, supportsHyperlink = (0, supports_hyperlinks_1.supportsHyperlink)(stream), } = {}) {
253804
253999
  this.isDebugEnabled = () => {
253805
254000
  return this.debugEnabled;
253806
254001
  };
@@ -253893,8 +254088,25 @@ class Output {
253893
254088
  }
253894
254089
  return promise;
253895
254090
  };
254091
+ /**
254092
+ * Returns an ANSI formatted hyperlink when support has been enabled.
254093
+ */
254094
+ this.link = (text, url, { fallback } = {}) => {
254095
+ // Based on https://github.com/sindresorhus/terminal-link (MIT license)
254096
+ if (!this.supportsHyperlink) {
254097
+ // If the fallback has been explicitly disabled, don't modify the text itself
254098
+ if (fallback === false) {
254099
+ return (0, link_1.default)(text);
254100
+ }
254101
+ return typeof fallback === 'function'
254102
+ ? fallback()
254103
+ : `${text} (${(0, link_1.default)(url)})`;
254104
+ }
254105
+ return ansiEscapes.link(chalk_1.default.cyan(text), url);
254106
+ };
253896
254107
  this.stream = stream;
253897
254108
  this.debugEnabled = debugEnabled;
254109
+ this.supportsHyperlink = supportsHyperlink;
253898
254110
  this.spinnerMessage = '';
253899
254111
  this._spinner = null;
253900
254112
  }
@@ -256379,7 +256591,7 @@ module.exports = JSON.parse("{\"application/1d-interleaved-parityfec\":{\"source
256379
256591
  /***/ ((module) => {
256380
256592
 
256381
256593
  "use strict";
256382
- module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.9.0\",\"preferGlobal\":true,\"license\":\"Apache-2.0\",\"description\":\"The command-line interface for Vercel\",\"homepage\":\"https://vercel.com\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/cli\"},\"scripts\":{\"preinstall\":\"node ./scripts/preinstall.js\",\"test\":\"jest --env node --verbose --bail\",\"test-unit\":\"yarn test test/unit/\",\"test-integration-cli\":\"rimraf test/fixtures/integration && ava test/integration.js --serial --fail-fast --verbose\",\"test-integration-dev\":\"yarn test test/dev/\",\"coverage\":\"codecov\",\"build\":\"ts-node ./scripts/build.ts\",\"dev\":\"ts-node ./src/index.ts\"},\"bin\":{\"vc\":\"./dist/index.js\",\"vercel\":\"./dist/index.js\"},\"files\":[\"dist\",\"scripts/preinstall.js\"],\"ava\":{\"extensions\":[\"ts\"],\"require\":[\"ts-node/register/transpile-only\",\"esm\"]},\"engines\":{\"node\":\">= 14\"},\"dependencies\":{\"@vercel/build-utils\":\"5.7.1\",\"@vercel/go\":\"2.2.20\",\"@vercel/hydrogen\":\"0.0.34\",\"@vercel/next\":\"3.3.3\",\"@vercel/node\":\"2.8.1\",\"@vercel/python\":\"3.1.30\",\"@vercel/redwood\":\"1.0.40\",\"@vercel/remix\":\"1.1.2\",\"@vercel/ruby\":\"1.3.46\",\"@vercel/static-build\":\"1.0.43\",\"update-notifier\":\"5.1.0\"},\"devDependencies\":{\"@alex_neo/jest-expect-message\":\"1.0.5\",\"@next/env\":\"11.1.2\",\"@sentry/node\":\"5.5.0\",\"@sindresorhus/slugify\":\"0.11.0\",\"@swc/core\":\"1.2.218\",\"@tootallnate/once\":\"1.1.2\",\"@types/ansi-escapes\":\"3.0.0\",\"@types/ansi-regex\":\"4.0.0\",\"@types/async-retry\":\"1.2.1\",\"@types/bytes\":\"3.0.0\",\"@types/chance\":\"1.1.3\",\"@types/debug\":\"0.0.31\",\"@types/dotenv\":\"6.1.1\",\"@types/escape-html\":\"0.0.20\",\"@types/express\":\"4.17.13\",\"@types/fs-extra\":\"9.0.13\",\"@types/glob\":\"7.1.1\",\"@types/http-proxy\":\"1.16.2\",\"@types/ini\":\"1.3.31\",\"@types/inquirer\":\"7.3.1\",\"@types/jest\":\"27.4.1\",\"@types/jest-expect-message\":\"1.0.3\",\"@types/load-json-file\":\"2.0.7\",\"@types/mime-types\":\"2.1.0\",\"@types/minimatch\":\"3.0.3\",\"@types/mri\":\"1.1.0\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"14.18.33\",\"@types/node-fetch\":\"2.5.10\",\"@types/npm-package-arg\":\"6.1.0\",\"@types/pluralize\":\"0.0.29\",\"@types/psl\":\"1.1.0\",\"@types/semver\":\"6.0.1\",\"@types/tar-fs\":\"1.16.1\",\"@types/text-table\":\"0.2.0\",\"@types/title\":\"3.4.1\",\"@types/universal-analytics\":\"0.4.2\",\"@types/update-notifier\":\"5.1.0\",\"@types/which\":\"1.3.2\",\"@types/write-json-file\":\"2.2.1\",\"@types/yauzl-promise\":\"2.1.0\",\"@vercel/client\":\"12.2.22\",\"@vercel/error-utils\":\"1.0.3\",\"@vercel/frameworks\":\"1.1.15\",\"@vercel/fs-detectors\":\"3.5.5\",\"@vercel/fun\":\"1.0.4\",\"@vercel/ncc\":\"0.24.0\",\"@zeit/source-map-support\":\"0.6.2\",\"ajv\":\"6.12.2\",\"alpha-sort\":\"2.0.1\",\"ansi-escapes\":\"3.0.0\",\"ansi-regex\":\"3.0.0\",\"arg\":\"5.0.0\",\"async-listen\":\"1.2.0\",\"async-retry\":\"1.1.3\",\"async-sema\":\"2.1.4\",\"ava\":\"2.2.0\",\"boxen\":\"4.2.0\",\"bytes\":\"3.0.0\",\"chalk\":\"4.1.0\",\"chance\":\"1.1.7\",\"chokidar\":\"3.3.1\",\"codecov\":\"3.8.2\",\"cpy\":\"7.2.0\",\"date-fns\":\"1.29.0\",\"debug\":\"3.1.0\",\"dot\":\"1.1.3\",\"dotenv\":\"4.0.0\",\"email-validator\":\"1.1.1\",\"epipebomb\":\"1.0.0\",\"escape-html\":\"1.0.3\",\"esm\":\"3.1.4\",\"execa\":\"3.2.0\",\"express\":\"4.17.1\",\"fast-deep-equal\":\"3.1.3\",\"fs-extra\":\"10.0.0\",\"get-port\":\"5.1.1\",\"git-last-commit\":\"1.0.1\",\"glob\":\"7.1.2\",\"http-proxy\":\"1.18.1\",\"ini\":\"3.0.0\",\"inquirer\":\"7.0.4\",\"is-docker\":\"2.2.1\",\"is-port-reachable\":\"3.1.0\",\"is-url\":\"1.2.2\",\"jaro-winkler\":\"0.2.8\",\"json5\":\"2.2.1\",\"jsonlines\":\"0.1.1\",\"line-async-iterator\":\"3.0.0\",\"load-json-file\":\"3.0.0\",\"mime-types\":\"2.1.24\",\"minimatch\":\"3.0.4\",\"mri\":\"1.1.5\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.7\",\"npm-package-arg\":\"6.1.0\",\"open\":\"8.4.0\",\"ora\":\"3.4.0\",\"pcre-to-regexp\":\"1.0.0\",\"pluralize\":\"7.0.0\",\"promisepipe\":\"3.0.0\",\"psl\":\"1.1.31\",\"qr-image\":\"3.2.0\",\"raw-body\":\"2.4.1\",\"rimraf\":\"3.0.2\",\"semver\":\"5.5.0\",\"serve-handler\":\"6.1.1\",\"strip-ansi\":\"5.2.0\",\"stripe\":\"5.1.0\",\"tar-fs\":\"1.16.3\",\"test-listen\":\"1.1.0\",\"text-table\":\"0.2.0\",\"title\":\"3.4.1\",\"tmp-promise\":\"1.0.3\",\"tree-kill\":\"1.2.2\",\"ts-node\":\"10.9.1\",\"typescript\":\"4.7.4\",\"universal-analytics\":\"0.4.20\",\"utility-types\":\"2.1.0\",\"write-json-file\":\"2.2.0\",\"xdg-app-paths\":\"5.1.0\",\"yauzl-promise\":\"2.1.3\"},\"jest\":{\"preset\":\"ts-jest\",\"globals\":{\"ts-jest\":{\"diagnostics\":false,\"isolatedModules\":true}},\"setupFilesAfterEnv\":[\"@alex_neo/jest-expect-message\"],\"verbose\":false,\"testEnvironment\":\"node\",\"testMatch\":[\"<rootDir>/test/**/*.test.ts\"]}}");
256594
+ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.10.0\",\"preferGlobal\":true,\"license\":\"Apache-2.0\",\"description\":\"The command-line interface for Vercel\",\"homepage\":\"https://vercel.com\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/cli\"},\"scripts\":{\"preinstall\":\"node ./scripts/preinstall.js\",\"test\":\"jest --env node --verbose --bail\",\"test-unit\":\"yarn test test/unit/\",\"test-integration-cli\":\"rimraf test/fixtures/integration && ava test/integration.js --serial --fail-fast --verbose\",\"test-integration-dev\":\"yarn test test/dev/\",\"coverage\":\"codecov\",\"build\":\"ts-node ./scripts/build.ts\",\"dev\":\"ts-node ./src/index.ts\"},\"bin\":{\"vc\":\"./dist/index.js\",\"vercel\":\"./dist/index.js\"},\"files\":[\"dist\",\"scripts/preinstall.js\"],\"ava\":{\"extensions\":[\"ts\"],\"require\":[\"ts-node/register/transpile-only\",\"esm\"]},\"engines\":{\"node\":\">= 14\"},\"dependencies\":{\"@vercel/build-utils\":\"5.7.1\",\"@vercel/go\":\"2.2.20\",\"@vercel/hydrogen\":\"0.0.34\",\"@vercel/next\":\"3.3.4\",\"@vercel/node\":\"2.8.1\",\"@vercel/python\":\"3.1.30\",\"@vercel/redwood\":\"1.0.40\",\"@vercel/remix\":\"1.1.2\",\"@vercel/ruby\":\"1.3.46\",\"@vercel/static-build\":\"1.0.43\",\"update-notifier\":\"5.1.0\"},\"devDependencies\":{\"@alex_neo/jest-expect-message\":\"1.0.5\",\"@next/env\":\"11.1.2\",\"@sentry/node\":\"5.5.0\",\"@sindresorhus/slugify\":\"0.11.0\",\"@swc/core\":\"1.2.218\",\"@tootallnate/once\":\"1.1.2\",\"@types/async-retry\":\"1.2.1\",\"@types/bytes\":\"3.0.0\",\"@types/chance\":\"1.1.3\",\"@types/debug\":\"0.0.31\",\"@types/dotenv\":\"6.1.1\",\"@types/escape-html\":\"0.0.20\",\"@types/express\":\"4.17.13\",\"@types/fs-extra\":\"9.0.13\",\"@types/glob\":\"7.1.1\",\"@types/http-proxy\":\"1.16.2\",\"@types/ini\":\"1.3.31\",\"@types/inquirer\":\"7.3.1\",\"@types/jest\":\"27.4.1\",\"@types/jest-expect-message\":\"1.0.3\",\"@types/load-json-file\":\"2.0.7\",\"@types/mime-types\":\"2.1.0\",\"@types/minimatch\":\"3.0.3\",\"@types/mri\":\"1.1.0\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"14.18.33\",\"@types/node-fetch\":\"2.5.10\",\"@types/npm-package-arg\":\"6.1.0\",\"@types/pluralize\":\"0.0.29\",\"@types/psl\":\"1.1.0\",\"@types/semver\":\"6.0.1\",\"@types/tar-fs\":\"1.16.1\",\"@types/text-table\":\"0.2.0\",\"@types/title\":\"3.4.1\",\"@types/universal-analytics\":\"0.4.2\",\"@types/update-notifier\":\"5.1.0\",\"@types/which\":\"1.3.2\",\"@types/write-json-file\":\"2.2.1\",\"@types/yauzl-promise\":\"2.1.0\",\"@vercel/client\":\"12.2.22\",\"@vercel/error-utils\":\"1.0.3\",\"@vercel/frameworks\":\"1.1.15\",\"@vercel/fs-detectors\":\"3.5.5\",\"@vercel/fun\":\"1.0.4\",\"@vercel/ncc\":\"0.24.0\",\"@zeit/source-map-support\":\"0.6.2\",\"ajv\":\"6.12.2\",\"alpha-sort\":\"2.0.1\",\"ansi-escapes\":\"4.3.2\",\"ansi-regex\":\"5.0.1\",\"arg\":\"5.0.0\",\"async-listen\":\"1.2.0\",\"async-retry\":\"1.1.3\",\"async-sema\":\"2.1.4\",\"ava\":\"2.2.0\",\"boxen\":\"4.2.0\",\"bytes\":\"3.0.0\",\"chalk\":\"4.1.0\",\"chance\":\"1.1.7\",\"chokidar\":\"3.3.1\",\"codecov\":\"3.8.2\",\"cpy\":\"7.2.0\",\"date-fns\":\"1.29.0\",\"debug\":\"3.1.0\",\"dot\":\"1.1.3\",\"dotenv\":\"4.0.0\",\"email-validator\":\"1.1.1\",\"epipebomb\":\"1.0.0\",\"escape-html\":\"1.0.3\",\"esm\":\"3.1.4\",\"execa\":\"3.2.0\",\"express\":\"4.17.1\",\"fast-deep-equal\":\"3.1.3\",\"fs-extra\":\"10.0.0\",\"get-port\":\"5.1.1\",\"git-last-commit\":\"1.0.1\",\"glob\":\"7.1.2\",\"http-proxy\":\"1.18.1\",\"ini\":\"3.0.0\",\"inquirer\":\"7.0.4\",\"is-docker\":\"2.2.1\",\"is-port-reachable\":\"3.1.0\",\"is-url\":\"1.2.2\",\"jaro-winkler\":\"0.2.8\",\"json5\":\"2.2.1\",\"jsonlines\":\"0.1.1\",\"line-async-iterator\":\"3.0.0\",\"load-json-file\":\"3.0.0\",\"mime-types\":\"2.1.24\",\"minimatch\":\"3.0.4\",\"mri\":\"1.1.5\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.7\",\"npm-package-arg\":\"6.1.0\",\"open\":\"8.4.0\",\"ora\":\"3.4.0\",\"pcre-to-regexp\":\"1.0.0\",\"pluralize\":\"7.0.0\",\"promisepipe\":\"3.0.0\",\"psl\":\"1.1.31\",\"qr-image\":\"3.2.0\",\"raw-body\":\"2.4.1\",\"rimraf\":\"3.0.2\",\"semver\":\"5.5.0\",\"serve-handler\":\"6.1.1\",\"strip-ansi\":\"6.0.1\",\"stripe\":\"5.1.0\",\"supports-hyperlinks\":\"2.2.0\",\"tar-fs\":\"1.16.3\",\"test-listen\":\"1.1.0\",\"text-table\":\"0.2.0\",\"title\":\"3.4.1\",\"tmp-promise\":\"1.0.3\",\"tree-kill\":\"1.2.2\",\"ts-node\":\"10.9.1\",\"typescript\":\"4.7.4\",\"universal-analytics\":\"0.4.20\",\"utility-types\":\"2.1.0\",\"write-json-file\":\"2.2.0\",\"xdg-app-paths\":\"5.1.0\",\"yauzl-promise\":\"2.1.3\"},\"jest\":{\"preset\":\"ts-jest\",\"globals\":{\"ts-jest\":{\"diagnostics\":false,\"isolatedModules\":true}},\"setupFilesAfterEnv\":[\"@alex_neo/jest-expect-message\"],\"verbose\":false,\"testEnvironment\":\"node\",\"testMatch\":[\"<rootDir>/test/**/*.test.ts\"]}}");
256383
256595
 
256384
256596
  /***/ }),
256385
256597
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "28.9.0",
3
+ "version": "28.10.0",
4
4
  "preferGlobal": true,
5
5
  "license": "Apache-2.0",
6
6
  "description": "The command-line interface for Vercel",
@@ -44,7 +44,7 @@
44
44
  "@vercel/build-utils": "5.7.1",
45
45
  "@vercel/go": "2.2.20",
46
46
  "@vercel/hydrogen": "0.0.34",
47
- "@vercel/next": "3.3.3",
47
+ "@vercel/next": "3.3.4",
48
48
  "@vercel/node": "2.8.1",
49
49
  "@vercel/python": "3.1.30",
50
50
  "@vercel/redwood": "1.0.40",
@@ -60,8 +60,6 @@
60
60
  "@sindresorhus/slugify": "0.11.0",
61
61
  "@swc/core": "1.2.218",
62
62
  "@tootallnate/once": "1.1.2",
63
- "@types/ansi-escapes": "3.0.0",
64
- "@types/ansi-regex": "4.0.0",
65
63
  "@types/async-retry": "1.2.1",
66
64
  "@types/bytes": "3.0.0",
67
65
  "@types/chance": "1.1.3",
@@ -104,8 +102,8 @@
104
102
  "@zeit/source-map-support": "0.6.2",
105
103
  "ajv": "6.12.2",
106
104
  "alpha-sort": "2.0.1",
107
- "ansi-escapes": "3.0.0",
108
- "ansi-regex": "3.0.0",
105
+ "ansi-escapes": "4.3.2",
106
+ "ansi-regex": "5.0.1",
109
107
  "arg": "5.0.0",
110
108
  "async-listen": "1.2.0",
111
109
  "async-retry": "1.1.3",
@@ -161,8 +159,9 @@
161
159
  "rimraf": "3.0.2",
162
160
  "semver": "5.5.0",
163
161
  "serve-handler": "6.1.1",
164
- "strip-ansi": "5.2.0",
162
+ "strip-ansi": "6.0.1",
165
163
  "stripe": "5.1.0",
164
+ "supports-hyperlinks": "2.2.0",
166
165
  "tar-fs": "1.16.3",
167
166
  "test-listen": "1.1.0",
168
167
  "text-table": "0.2.0",
@@ -194,5 +193,5 @@
194
193
  "<rootDir>/test/**/*.test.ts"
195
194
  ]
196
195
  },
197
- "gitHead": "4484c134487214af68bc97da322688ec027db532"
196
+ "gitHead": "04e9f771dff574e48d4128acd883935c50511425"
198
197
  }