vercel 31.4.0 → 32.0.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 +87 -326
  2. package/package.json +20 -19
package/dist/index.js CHANGED
@@ -14481,7 +14481,7 @@ function setup(fetch) {
14481
14481
  /***/ 31460:
14482
14482
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
14483
14483
 
14484
- const retry = __webpack_require__(69420);
14484
+ const retry = __webpack_require__(78100);
14485
14485
  const debug = __webpack_require__(94219)('fetch-retry');
14486
14486
 
14487
14487
  // retry settings
@@ -34008,23 +34008,22 @@ module.exports = retry;
34008
34008
 
34009
34009
  /***/ }),
34010
34010
 
34011
- /***/ 69420:
34011
+ /***/ 78100:
34012
34012
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
34013
34013
 
34014
34014
  // Packages
34015
- var retrier = __webpack_require__(47671);
34015
+ var retrier = __webpack_require__(10684);
34016
34016
 
34017
34017
  function retry(fn, opts) {
34018
34018
  function run(resolve, reject) {
34019
34019
  var options = opts || {};
34020
- var op;
34021
34020
 
34022
34021
  // Default `randomize` to true
34023
34022
  if (!('randomize' in options)) {
34024
34023
  options.randomize = true;
34025
34024
  }
34026
34025
 
34027
- op = retrier.operation(options);
34026
+ var op = retrier.operation(options);
34028
34027
 
34029
34028
  // We allow the user to abort retrying
34030
34029
  // this makes sense in the cases where
@@ -157229,289 +157228,6 @@ RetryOperation.prototype.mainError = function() {
157229
157228
  };
157230
157229
 
157231
157230
 
157232
- /***/ }),
157233
-
157234
- /***/ 47671:
157235
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
157236
-
157237
- module.exports = __webpack_require__(98762);
157238
-
157239
- /***/ }),
157240
-
157241
- /***/ 98762:
157242
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
157243
-
157244
- var RetryOperation = __webpack_require__(17526);
157245
-
157246
- exports.operation = function(options) {
157247
- var timeouts = exports.timeouts(options);
157248
- return new RetryOperation(timeouts, {
157249
- forever: options && (options.forever || options.retries === Infinity),
157250
- unref: options && options.unref,
157251
- maxRetryTime: options && options.maxRetryTime
157252
- });
157253
- };
157254
-
157255
- exports.timeouts = function(options) {
157256
- if (options instanceof Array) {
157257
- return [].concat(options);
157258
- }
157259
-
157260
- var opts = {
157261
- retries: 10,
157262
- factor: 2,
157263
- minTimeout: 1 * 1000,
157264
- maxTimeout: Infinity,
157265
- randomize: false
157266
- };
157267
- for (var key in options) {
157268
- opts[key] = options[key];
157269
- }
157270
-
157271
- if (opts.minTimeout > opts.maxTimeout) {
157272
- throw new Error('minTimeout is greater than maxTimeout');
157273
- }
157274
-
157275
- var timeouts = [];
157276
- for (var i = 0; i < opts.retries; i++) {
157277
- timeouts.push(this.createTimeout(i, opts));
157278
- }
157279
-
157280
- if (options && options.forever && !timeouts.length) {
157281
- timeouts.push(this.createTimeout(i, opts));
157282
- }
157283
-
157284
- // sort the array numerically ascending
157285
- timeouts.sort(function(a,b) {
157286
- return a - b;
157287
- });
157288
-
157289
- return timeouts;
157290
- };
157291
-
157292
- exports.createTimeout = function(attempt, opts) {
157293
- var random = (opts.randomize)
157294
- ? (Math.random() + 1)
157295
- : 1;
157296
-
157297
- var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));
157298
- timeout = Math.min(timeout, opts.maxTimeout);
157299
-
157300
- return timeout;
157301
- };
157302
-
157303
- exports.wrap = function(obj, options, methods) {
157304
- if (options instanceof Array) {
157305
- methods = options;
157306
- options = null;
157307
- }
157308
-
157309
- if (!methods) {
157310
- methods = [];
157311
- for (var key in obj) {
157312
- if (typeof obj[key] === 'function') {
157313
- methods.push(key);
157314
- }
157315
- }
157316
- }
157317
-
157318
- for (var i = 0; i < methods.length; i++) {
157319
- var method = methods[i];
157320
- var original = obj[method];
157321
-
157322
- obj[method] = function retryWrapper(original) {
157323
- var op = exports.operation(options);
157324
- var args = Array.prototype.slice.call(arguments, 1);
157325
- var callback = args.pop();
157326
-
157327
- args.push(function(err) {
157328
- if (op.retry(err)) {
157329
- return;
157330
- }
157331
- if (err) {
157332
- arguments[0] = op.mainError();
157333
- }
157334
- callback.apply(this, arguments);
157335
- });
157336
-
157337
- op.attempt(function() {
157338
- original.apply(obj, args);
157339
- });
157340
- }.bind(obj, original);
157341
- obj[method].options = options;
157342
- }
157343
- };
157344
-
157345
-
157346
- /***/ }),
157347
-
157348
- /***/ 17526:
157349
- /***/ ((module) => {
157350
-
157351
- function RetryOperation(timeouts, options) {
157352
- // Compatibility for the old (timeouts, retryForever) signature
157353
- if (typeof options === 'boolean') {
157354
- options = { forever: options };
157355
- }
157356
-
157357
- this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));
157358
- this._timeouts = timeouts;
157359
- this._options = options || {};
157360
- this._maxRetryTime = options && options.maxRetryTime || Infinity;
157361
- this._fn = null;
157362
- this._errors = [];
157363
- this._attempts = 1;
157364
- this._operationTimeout = null;
157365
- this._operationTimeoutCb = null;
157366
- this._timeout = null;
157367
- this._operationStart = null;
157368
- this._timer = null;
157369
-
157370
- if (this._options.forever) {
157371
- this._cachedTimeouts = this._timeouts.slice(0);
157372
- }
157373
- }
157374
- module.exports = RetryOperation;
157375
-
157376
- RetryOperation.prototype.reset = function() {
157377
- this._attempts = 1;
157378
- this._timeouts = this._originalTimeouts.slice(0);
157379
- }
157380
-
157381
- RetryOperation.prototype.stop = function() {
157382
- if (this._timeout) {
157383
- clearTimeout(this._timeout);
157384
- }
157385
- if (this._timer) {
157386
- clearTimeout(this._timer);
157387
- }
157388
-
157389
- this._timeouts = [];
157390
- this._cachedTimeouts = null;
157391
- };
157392
-
157393
- RetryOperation.prototype.retry = function(err) {
157394
- if (this._timeout) {
157395
- clearTimeout(this._timeout);
157396
- }
157397
-
157398
- if (!err) {
157399
- return false;
157400
- }
157401
- var currentTime = new Date().getTime();
157402
- if (err && currentTime - this._operationStart >= this._maxRetryTime) {
157403
- this._errors.push(err);
157404
- this._errors.unshift(new Error('RetryOperation timeout occurred'));
157405
- return false;
157406
- }
157407
-
157408
- this._errors.push(err);
157409
-
157410
- var timeout = this._timeouts.shift();
157411
- if (timeout === undefined) {
157412
- if (this._cachedTimeouts) {
157413
- // retry forever, only keep last error
157414
- this._errors.splice(0, this._errors.length - 1);
157415
- timeout = this._cachedTimeouts.slice(-1);
157416
- } else {
157417
- return false;
157418
- }
157419
- }
157420
-
157421
- var self = this;
157422
- this._timer = setTimeout(function() {
157423
- self._attempts++;
157424
-
157425
- if (self._operationTimeoutCb) {
157426
- self._timeout = setTimeout(function() {
157427
- self._operationTimeoutCb(self._attempts);
157428
- }, self._operationTimeout);
157429
-
157430
- if (self._options.unref) {
157431
- self._timeout.unref();
157432
- }
157433
- }
157434
-
157435
- self._fn(self._attempts);
157436
- }, timeout);
157437
-
157438
- if (this._options.unref) {
157439
- this._timer.unref();
157440
- }
157441
-
157442
- return true;
157443
- };
157444
-
157445
- RetryOperation.prototype.attempt = function(fn, timeoutOps) {
157446
- this._fn = fn;
157447
-
157448
- if (timeoutOps) {
157449
- if (timeoutOps.timeout) {
157450
- this._operationTimeout = timeoutOps.timeout;
157451
- }
157452
- if (timeoutOps.cb) {
157453
- this._operationTimeoutCb = timeoutOps.cb;
157454
- }
157455
- }
157456
-
157457
- var self = this;
157458
- if (this._operationTimeoutCb) {
157459
- this._timeout = setTimeout(function() {
157460
- self._operationTimeoutCb();
157461
- }, self._operationTimeout);
157462
- }
157463
-
157464
- this._operationStart = new Date().getTime();
157465
-
157466
- this._fn(this._attempts);
157467
- };
157468
-
157469
- RetryOperation.prototype.try = function(fn) {
157470
- console.log('Using RetryOperation.try() is deprecated');
157471
- this.attempt(fn);
157472
- };
157473
-
157474
- RetryOperation.prototype.start = function(fn) {
157475
- console.log('Using RetryOperation.start() is deprecated');
157476
- this.attempt(fn);
157477
- };
157478
-
157479
- RetryOperation.prototype.start = RetryOperation.prototype.try;
157480
-
157481
- RetryOperation.prototype.errors = function() {
157482
- return this._errors;
157483
- };
157484
-
157485
- RetryOperation.prototype.attempts = function() {
157486
- return this._attempts;
157487
- };
157488
-
157489
- RetryOperation.prototype.mainError = function() {
157490
- if (this._errors.length === 0) {
157491
- return null;
157492
- }
157493
-
157494
- var counts = {};
157495
- var mainError = null;
157496
- var mainErrorCount = 0;
157497
-
157498
- for (var i = 0; i < this._errors.length; i++) {
157499
- var error = this._errors[i];
157500
- var message = error.message;
157501
- var count = (counts[message] || 0) + 1;
157502
-
157503
- counts[message] = count;
157504
-
157505
- if (count >= mainErrorCount) {
157506
- mainError = error;
157507
- mainErrorCount = count;
157508
- }
157509
- }
157510
-
157511
- return mainError;
157512
- };
157513
-
157514
-
157515
157231
  /***/ }),
157516
157232
 
157517
157233
  /***/ 20115:
@@ -214745,6 +214461,7 @@ exports.frameworks = [
214745
214461
  description: 'A new Remix app — the result of running `npx create-remix`.',
214746
214462
  website: 'https://remix.run',
214747
214463
  sort: 6,
214464
+ supersedes: 'hydrogen',
214748
214465
  useRuntime: { src: 'package.json', use: '@vercel/remix-builder' },
214749
214466
  ignoreRuntimes: ['@vercel/node'],
214750
214467
  detectors: {
@@ -216203,6 +215920,7 @@ exports.frameworks = [
216203
215920
  tagline: 'React framework for headless commerce',
216204
215921
  description: 'React framework for headless commerce',
216205
215922
  website: 'https://hydrogen.shopify.dev',
215923
+ supersedes: 'vite',
216206
215924
  useRuntime: { src: 'package.json', use: '@vercel/hydrogen' },
216207
215925
  envPrefix: 'PUBLIC_',
216208
215926
  detectors: {
@@ -217277,6 +216995,7 @@ function getRouteResult(apiRoutes, dynamicRoutes, outputDirectory, apiBuilders,
217277
216995
  const rewriteRoutes = [];
217278
216996
  const errorRoutes = [];
217279
216997
  const framework = frontendBuilder?.config?.framework || '';
216998
+ const isGatsby = framework === 'gatsby';
217280
216999
  const isNextjs = framework === 'nextjs' || (0, is_official_runtime_1.isOfficialRuntime)('next', frontendBuilder?.use);
217281
217000
  const ignoreRuntimes = slugToFramework.get(framework)?.ignoreRuntimes;
217282
217001
  if (apiRoutes && apiRoutes.length > 0) {
@@ -217347,8 +217066,8 @@ function getRouteResult(apiRoutes, dynamicRoutes, outputDirectory, apiBuilders,
217347
217066
  dest: `/${outputDirectory}/$1`,
217348
217067
  });
217349
217068
  }
217350
- if (options.featHandleMiss && !isNextjs) {
217351
- // Exclude Next.js to avoid overriding custom error page
217069
+ if (options.featHandleMiss && !isNextjs && !isGatsby) {
217070
+ // Exclude Next.js (and Gatsby) to avoid overriding custom error page
217352
217071
  // https://nextjs.org/docs/advanced-features/custom-error-page
217353
217072
  errorRoutes.push({
217354
217073
  status: 404,
@@ -217572,7 +217291,7 @@ exports.detectFileSystemAPI = detectFileSystemAPI;
217572
217291
  "use strict";
217573
217292
 
217574
217293
  Object.defineProperty(exports, "__esModule", ({ value: true }));
217575
- exports.detectFrameworkVersion = exports.detectFrameworkRecord = exports.detectFrameworks = exports.detectFramework = void 0;
217294
+ exports.detectFrameworkVersion = exports.detectFrameworkRecord = exports.detectFrameworks = exports.detectFramework = exports.removeSupersededFrameworks = void 0;
217576
217295
  const child_process_1 = __webpack_require__(63129);
217577
217296
  async function matches(fs, framework) {
217578
217297
  const { detectors } = framework;
@@ -217651,15 +217370,34 @@ async function matches(fs, framework) {
217651
217370
  detectedVersion,
217652
217371
  };
217653
217372
  }
217373
+ function removeSupersededFramework(matches, slug) {
217374
+ const index = matches.findIndex(f => f?.slug === slug);
217375
+ const framework = matches[index];
217376
+ if (framework) {
217377
+ if (framework.supersedes) {
217378
+ removeSupersededFramework(matches, framework.supersedes);
217379
+ }
217380
+ matches.splice(index, 1);
217381
+ }
217382
+ }
217383
+ function removeSupersededFrameworks(matches) {
217384
+ for (const match of matches.slice()) {
217385
+ if (match?.supersedes) {
217386
+ removeSupersededFramework(matches, match.supersedes);
217387
+ }
217388
+ }
217389
+ }
217390
+ exports.removeSupersededFrameworks = removeSupersededFrameworks;
217654
217391
  // TODO: Deprecate and replace with `detectFrameworkRecord`
217655
217392
  async function detectFramework({ fs, frameworkList, }) {
217656
217393
  const result = await Promise.all(frameworkList.map(async (frameworkMatch) => {
217657
217394
  if (await matches(fs, frameworkMatch)) {
217658
- return frameworkMatch.slug;
217395
+ return frameworkMatch;
217659
217396
  }
217660
217397
  return null;
217661
217398
  }));
217662
- return result.find(res => res !== null) ?? null;
217399
+ removeSupersededFrameworks(result);
217400
+ return result.find(res => res !== null)?.slug ?? null;
217663
217401
  }
217664
217402
  exports.detectFramework = detectFramework;
217665
217403
  /**
@@ -217672,6 +217410,7 @@ async function detectFrameworks({ fs, frameworkList, }) {
217672
217410
  }
217673
217411
  return null;
217674
217412
  }));
217413
+ removeSupersededFrameworks(result);
217675
217414
  return result.filter(res => res !== null);
217676
217415
  }
217677
217416
  exports.detectFrameworks = detectFrameworks;
@@ -217687,8 +217426,8 @@ async function detectFrameworkRecord({ fs, frameworkList, }) {
217687
217426
  }
217688
217427
  return null;
217689
217428
  }));
217690
- const frameworkRecord = result.find(res => res !== null) ?? null;
217691
- return frameworkRecord;
217429
+ removeSupersededFrameworks(result);
217430
+ return result.find(res => res !== null) ?? null;
217692
217431
  }
217693
217432
  exports.detectFrameworkRecord = detectFrameworkRecord;
217694
217433
  function detectFrameworkVersion(frameworkRecord) {
@@ -225335,6 +225074,29 @@ const constants_1 = __webpack_require__(98551);
225335
225074
  const cli_table3_1 = __importDefault(__webpack_require__(47579));
225336
225075
  const INDENT = ' '.repeat(2);
225337
225076
  const NEWLINE = '\n';
225077
+ const tableOptions = {
225078
+ chars: {
225079
+ top: '',
225080
+ 'top-mid': '',
225081
+ 'top-left': '',
225082
+ 'top-right': '',
225083
+ bottom: '',
225084
+ 'bottom-mid': '',
225085
+ 'bottom-left': '',
225086
+ 'bottom-right': '',
225087
+ left: '',
225088
+ 'left-mid': '',
225089
+ mid: '',
225090
+ 'mid-mid': '',
225091
+ right: '',
225092
+ 'right-mid': '',
225093
+ middle: '',
225094
+ },
225095
+ style: {
225096
+ 'padding-left': 0,
225097
+ 'padding-right': 0,
225098
+ },
225099
+ };
225338
225100
  const globalCommandOptions = [
225339
225101
  {
225340
225102
  name: 'help',
@@ -225413,6 +225175,26 @@ const globalCommandOptions = [
225413
225175
  multi: false,
225414
225176
  },
225415
225177
  ];
225178
+ // Use the word wrapping ability of cli-table3
225179
+ // by creating a one row, one cell, one column table.
225180
+ // This allows us to avoid pulling in the word-wrap
225181
+ // package which ironically seems to do a worse job.
225182
+ function wordWrap(text, maxWidth) {
225183
+ const _tableOptions = Object.assign({}, tableOptions, {
225184
+ colWidths: [maxWidth],
225185
+ style: {
225186
+ 'padding-left': INDENT.length,
225187
+ },
225188
+ });
225189
+ const table = new cli_table3_1.default(_tableOptions);
225190
+ table.push([
225191
+ {
225192
+ content: text,
225193
+ wordWrap: true,
225194
+ },
225195
+ ]);
225196
+ return table.toString();
225197
+ }
225416
225198
  // Insert spaces in between non-whitespace items only
225417
225199
  function lineToString(line) {
225418
225200
  let string = '';
@@ -225494,30 +225276,9 @@ function buildCommandOptionLines(commandOptions, options, sectionTitle) {
225494
225276
  ]);
225495
225277
  }
225496
225278
  const finalColumnWidth = options.columns - maxWidthOfUnwrappedColumns;
225497
- const table = new cli_table3_1.default({
225498
- chars: {
225499
- top: '',
225500
- 'top-mid': '',
225501
- 'top-left': '',
225502
- 'top-right': '',
225503
- bottom: '',
225504
- 'bottom-mid': '',
225505
- 'bottom-left': '',
225506
- 'bottom-right': '',
225507
- left: '',
225508
- 'left-mid': '',
225509
- mid: '',
225510
- 'mid-mid': '',
225511
- right: '',
225512
- 'right-mid': '',
225513
- middle: '',
225514
- },
225515
- style: {
225516
- 'padding-left': 0,
225517
- 'padding-right': 0,
225518
- },
225279
+ const table = new cli_table3_1.default(Object.assign({}, tableOptions, {
225519
225280
  colWidths: [null, null, finalColumnWidth],
225520
- });
225281
+ }));
225521
225282
  table.push(...rows);
225522
225283
  return [
225523
225284
  `${INDENT}${chalk_1.default.dim(sectionTitle)}:`,
@@ -225553,15 +225314,15 @@ function buildCommandExampleLines(command) {
225553
225314
  return outputArrayToString(outputArray);
225554
225315
  }
225555
225316
  exports.buildCommandExampleLines = buildCommandExampleLines;
225556
- function buildDescriptionLine(command) {
225557
- const line = [INDENT, command.description, NEWLINE];
225558
- return lineToString(line);
225317
+ function buildDescriptionLine(command, options) {
225318
+ let wrapingText = wordWrap(command.description, options.columns);
225319
+ return `${wrapingText}${NEWLINE}`;
225559
225320
  }
225560
225321
  function buildHelpOutput(command, options) {
225561
225322
  const outputArray = [
225562
225323
  '',
225563
225324
  buildCommandSynopsisLine(command),
225564
- buildDescriptionLine(command),
225325
+ buildDescriptionLine(command, options),
225565
225326
  buildCommandOptionLines(command.options, options, 'Options'),
225566
225327
  buildCommandOptionLines(globalCommandOptions, options, 'Global Options'),
225567
225328
  buildCommandExampleLines(command),
@@ -234267,7 +234028,7 @@ exports.getRoutesTypes = getRoutesTypes;
234267
234028
  async function devRouter(reqUrl = '/', reqMethod, routes, devServer, vercelConfig, previousHeaders, missRoutes, phase) {
234268
234029
  let result;
234269
234030
  let { pathname: reqPathname, search: reqSearch } = url_1.default.parse(reqUrl);
234270
- reqPathname ?? (reqPathname = '/');
234031
+ reqPathname = reqPathname || '/';
234271
234032
  const reqQuery = (0, parse_query_string_1.parseQueryString)(reqSearch);
234272
234033
  const combinedHeaders = { ...previousHeaders };
234273
234034
  let status;
@@ -234326,7 +234087,7 @@ async function devRouter(reqUrl = '/', reqMethod, routes, devServer, vercelConfi
234326
234087
  phase !== 'hit' &&
234327
234088
  !isDestUrl) {
234328
234089
  let { pathname } = url_1.default.parse(destPath);
234329
- pathname ?? (pathname = '/');
234090
+ pathname = pathname || '/';
234330
234091
  const hasDestFile = await devServer.hasFilesystem(pathname, vercelConfig);
234331
234092
  if (!hasDestFile) {
234332
234093
  if (routeConfig.status && phase !== 'miss') {
@@ -234373,7 +234134,7 @@ async function devRouter(reqUrl = '/', reqMethod, routes, devServer, vercelConfi
234373
234134
  destPath = `/${destPath}`;
234374
234135
  }
234375
234136
  let { pathname: destPathname, search: destSearch } = url_1.default.parse(destPath);
234376
- destPathname ?? (destPathname = '/');
234137
+ destPathname = destPathname || '/';
234377
234138
  const destQuery = (0, parse_query_string_1.parseQueryString)(destSearch);
234378
234139
  Object.assign(destQuery, reqQuery);
234379
234140
  result = {
@@ -245913,7 +245674,7 @@ module.exports = JSON.parse("[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"vali
245913
245674
  /***/ ((module) => {
245914
245675
 
245915
245676
  "use strict";
245916
- module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.6.6\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"Apache-2.0\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-e2e\":\"pnpm test tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts\",\"test\":\"jest --env node --verbose --runInBand --bail\",\"test-unit\":\"pnpm test tests/unit.*test.*\"},\"engines\":{\"node\":\">= 14\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.5\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.4.1\",\"@types/minimatch\":\"3.0.5\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"14.18.33\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"@types/tar-fs\":\"1.16.1\",\"typescript\":\"4.9.5\"},\"dependencies\":{\"@vercel/build-utils\":\"6.8.3\",\"@vercel/routing-utils\":\"2.2.1\",\"@zeit/fetch\":\"5.2.0\",\"async-retry\":\"1.2.3\",\"async-sema\":\"3.0.0\",\"fs-extra\":\"8.0.1\",\"ignore\":\"4.0.6\",\"minimatch\":\"5.0.1\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.7\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\",\"tar-fs\":\"1.16.3\"}}");
245677
+ module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"13.0.0\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"Apache-2.0\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-e2e\":\"pnpm test tests/create-deployment.test.ts tests/create-legacy-deployment.test.ts tests/paths.test.ts\",\"test\":\"jest --reporters=default --reporters=jest-junit --env node --verbose --runInBand --bail\",\"test-unit\":\"pnpm test tests/unit.*test.*\"},\"engines\":{\"node\":\">= 16\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.5\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.4.1\",\"@types/minimatch\":\"3.0.5\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"14.18.33\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"@types/tar-fs\":\"1.16.1\",\"jest-junit\":\"16.0.0\",\"typescript\":\"4.9.5\"},\"dependencies\":{\"@vercel/build-utils\":\"7.0.0\",\"@vercel/routing-utils\":\"3.0.0\",\"@zeit/fetch\":\"5.2.0\",\"async-retry\":\"1.2.3\",\"async-sema\":\"3.0.0\",\"fs-extra\":\"8.0.1\",\"ignore\":\"4.0.6\",\"minimatch\":\"5.0.1\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.7\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\",\"tar-fs\":\"1.16.3\"}}");
245917
245678
 
245918
245679
  /***/ }),
245919
245680
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "31.4.0",
3
+ "version": "32.0.0",
4
4
  "preferGlobal": true,
5
5
  "license": "Apache-2.0",
6
6
  "description": "The command-line interface for Vercel",
@@ -19,19 +19,19 @@
19
19
  "scripts/preinstall.js"
20
20
  ],
21
21
  "engines": {
22
- "node": ">= 14"
22
+ "node": ">= 16"
23
23
  },
24
24
  "dependencies": {
25
- "@vercel/build-utils": "6.8.3",
26
- "@vercel/go": "2.5.1",
27
- "@vercel/hydrogen": "0.0.64",
28
- "@vercel/next": "3.9.4",
29
- "@vercel/node": "2.15.10",
30
- "@vercel/python": "3.1.60",
31
- "@vercel/redwood": "1.1.15",
32
- "@vercel/remix-builder": "1.10.1",
33
- "@vercel/ruby": "1.3.76",
34
- "@vercel/static-build": "1.4.0"
25
+ "@vercel/build-utils": "7.0.0",
26
+ "@vercel/go": "3.0.0",
27
+ "@vercel/hydrogen": "1.0.0",
28
+ "@vercel/next": "4.0.0",
29
+ "@vercel/node": "3.0.0",
30
+ "@vercel/python": "4.0.0",
31
+ "@vercel/redwood": "2.0.0",
32
+ "@vercel/remix-builder": "2.0.0",
33
+ "@vercel/ruby": "2.0.0",
34
+ "@vercel/static-build": "2.0.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@alex_neo/jest-expect-message": "1.0.5",
@@ -77,14 +77,14 @@
77
77
  "@types/yauzl-promise": "2.1.0",
78
78
  "@vercel-internals/constants": "1.0.4",
79
79
  "@vercel-internals/get-package-json": "1.0.0",
80
- "@vercel-internals/types": "1.0.6",
81
- "@vercel/client": "12.6.6",
82
- "@vercel/error-utils": "1.0.10",
83
- "@vercel/frameworks": "1.6.0",
84
- "@vercel/fs-detectors": "4.1.3",
80
+ "@vercel-internals/types": "1.0.7",
81
+ "@vercel/client": "13.0.0",
82
+ "@vercel/error-utils": "2.0.0",
83
+ "@vercel/frameworks": "2.0.0",
84
+ "@vercel/fs-detectors": "5.0.0",
85
85
  "@vercel/fun": "1.0.4",
86
86
  "@vercel/ncc": "0.24.0",
87
- "@vercel/routing-utils": "2.2.1",
87
+ "@vercel/routing-utils": "3.0.0",
88
88
  "@zeit/source-map-support": "0.6.2",
89
89
  "ajv": "6.12.2",
90
90
  "alpha-sort": "2.0.1",
@@ -125,6 +125,7 @@
125
125
  "is-port-reachable": "3.1.0",
126
126
  "is-url": "1.2.2",
127
127
  "jaro-winkler": "0.2.8",
128
+ "jest-junit": "16.0.0",
128
129
  "jest-matcher-utils": "29.3.1",
129
130
  "jsonlines": "0.1.1",
130
131
  "line-async-iterator": "3.0.0",
@@ -165,7 +166,7 @@
165
166
  "yauzl-promise": "2.1.3"
166
167
  },
167
168
  "scripts": {
168
- "test": "jest --env node --verbose --bail",
169
+ "test": "jest --reporters=default --reporters=jest-junit --env node --verbose --bail",
169
170
  "test-unit": "pnpm test test/unit/",
170
171
  "test-e2e": "rimraf test/fixtures/integration && pnpm test test/integration-1.test.ts test/integration-2.test.ts test/integration-3.test.ts",
171
172
  "test-dev": "pnpm test test/dev/",