vercel 28.4.2 → 28.4.4

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 +292 -275
  2. package/package.json +13 -13
package/dist/index.js CHANGED
@@ -189488,7 +189488,7 @@ function getPrettyError(obj) {
189488
189488
  message += `${ajvMessage}.`;
189489
189489
  }
189490
189490
  return new NowBuildError({
189491
- code: 'DEV_VALIDATE_CONFIG',
189491
+ code: 'INVALID_VERCEL_CONFIG',
189492
189492
  message: message,
189493
189493
  link: prop ? `${docsUrl}#project/${prop.toLowerCase()}` : docsUrl,
189494
189494
  action: 'View Documentation',
@@ -189496,7 +189496,7 @@ function getPrettyError(obj) {
189496
189496
  }
189497
189497
  catch (e) {
189498
189498
  return new NowBuildError({
189499
- code: 'DEV_VALIDATE_CONFIG',
189499
+ code: 'INVALID_VERCEL_CONFIG',
189500
189500
  message: `Failed to validate configuration.`,
189501
189501
  link: docsUrl,
189502
189502
  action: 'View Documentation',
@@ -189544,7 +189544,7 @@ function getSuggestion(topLevelProp, additionalProperty) {
189544
189544
  /***/ }),
189545
189545
 
189546
189546
  /***/ 2397:
189547
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_839006__) {
189547
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_839010__) {
189548
189548
 
189549
189549
  "use strict";
189550
189550
 
@@ -189552,8 +189552,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
189552
189552
  return (mod && mod.__esModule) ? mod : { "default": mod };
189553
189553
  };
189554
189554
  Object.defineProperty(exports, "__esModule", ({ value: true }));
189555
- const assert_1 = __importDefault(__nested_webpack_require_839006__(2357));
189556
- const into_stream_1 = __importDefault(__nested_webpack_require_839006__(6130));
189555
+ const assert_1 = __importDefault(__nested_webpack_require_839010__(2357));
189556
+ const into_stream_1 = __importDefault(__nested_webpack_require_839010__(6130));
189557
189557
  class FileBlob {
189558
189558
  constructor({ mode = 0o100644, contentType, data }) {
189559
189559
  assert_1.default(typeof mode === 'number');
@@ -189588,7 +189588,7 @@ exports.default = FileBlob;
189588
189588
  /***/ }),
189589
189589
 
189590
189590
  /***/ 9331:
189591
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_840524__) {
189591
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_840528__) {
189592
189592
 
189593
189593
  "use strict";
189594
189594
 
@@ -189596,11 +189596,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
189596
189596
  return (mod && mod.__esModule) ? mod : { "default": mod };
189597
189597
  };
189598
189598
  Object.defineProperty(exports, "__esModule", ({ value: true }));
189599
- const assert_1 = __importDefault(__nested_webpack_require_840524__(2357));
189600
- const fs_extra_1 = __importDefault(__nested_webpack_require_840524__(5392));
189601
- const multistream_1 = __importDefault(__nested_webpack_require_840524__(8179));
189602
- const path_1 = __importDefault(__nested_webpack_require_840524__(5622));
189603
- const async_sema_1 = __importDefault(__nested_webpack_require_840524__(5758));
189599
+ const assert_1 = __importDefault(__nested_webpack_require_840528__(2357));
189600
+ const fs_extra_1 = __importDefault(__nested_webpack_require_840528__(5392));
189601
+ const multistream_1 = __importDefault(__nested_webpack_require_840528__(8179));
189602
+ const path_1 = __importDefault(__nested_webpack_require_840528__(5622));
189603
+ const async_sema_1 = __importDefault(__nested_webpack_require_840528__(5758));
189604
189604
  const semaToPreventEMFILE = new async_sema_1.default(20);
189605
189605
  class FileFsRef {
189606
189606
  constructor({ mode = 0o100644, contentType, fsPath }) {
@@ -189666,7 +189666,7 @@ exports.default = FileFsRef;
189666
189666
  /***/ }),
189667
189667
 
189668
189668
  /***/ 5187:
189669
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_843328__) {
189669
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_843332__) {
189670
189670
 
189671
189671
  "use strict";
189672
189672
 
@@ -189674,11 +189674,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
189674
189674
  return (mod && mod.__esModule) ? mod : { "default": mod };
189675
189675
  };
189676
189676
  Object.defineProperty(exports, "__esModule", ({ value: true }));
189677
- const assert_1 = __importDefault(__nested_webpack_require_843328__(2357));
189678
- const node_fetch_1 = __importDefault(__nested_webpack_require_843328__(2197));
189679
- const multistream_1 = __importDefault(__nested_webpack_require_843328__(8179));
189680
- const async_retry_1 = __importDefault(__nested_webpack_require_843328__(3691));
189681
- const async_sema_1 = __importDefault(__nested_webpack_require_843328__(5758));
189677
+ const assert_1 = __importDefault(__nested_webpack_require_843332__(2357));
189678
+ const node_fetch_1 = __importDefault(__nested_webpack_require_843332__(2197));
189679
+ const multistream_1 = __importDefault(__nested_webpack_require_843332__(8179));
189680
+ const async_retry_1 = __importDefault(__nested_webpack_require_843332__(3691));
189681
+ const async_sema_1 = __importDefault(__nested_webpack_require_843332__(5758));
189682
189682
  const semaToDownloadFromS3 = new async_sema_1.default(5);
189683
189683
  class BailableError extends Error {
189684
189684
  constructor(...args) {
@@ -189759,7 +189759,7 @@ exports.default = FileRef;
189759
189759
  /***/ }),
189760
189760
 
189761
189761
  /***/ 1611:
189762
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_846729__) {
189762
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_846733__) {
189763
189763
 
189764
189764
  "use strict";
189765
189765
 
@@ -189768,11 +189768,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
189768
189768
  };
189769
189769
  Object.defineProperty(exports, "__esModule", ({ value: true }));
189770
189770
  exports.downloadFile = exports.isSymbolicLink = void 0;
189771
- const path_1 = __importDefault(__nested_webpack_require_846729__(5622));
189772
- const debug_1 = __importDefault(__nested_webpack_require_846729__(1868));
189773
- const file_fs_ref_1 = __importDefault(__nested_webpack_require_846729__(9331));
189774
- const fs_extra_1 = __nested_webpack_require_846729__(5392);
189775
- const stream_to_buffer_1 = __importDefault(__nested_webpack_require_846729__(2560));
189771
+ const path_1 = __importDefault(__nested_webpack_require_846733__(5622));
189772
+ const debug_1 = __importDefault(__nested_webpack_require_846733__(1868));
189773
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_846733__(9331));
189774
+ const fs_extra_1 = __nested_webpack_require_846733__(5392);
189775
+ const stream_to_buffer_1 = __importDefault(__nested_webpack_require_846733__(2560));
189776
189776
  const S_IFMT = 61440; /* 0170000 type of file */
189777
189777
  const S_IFLNK = 40960; /* 0120000 symbolic link */
189778
189778
  function isSymbolicLink(mode) {
@@ -189863,14 +189863,14 @@ exports.default = download;
189863
189863
  /***/ }),
189864
189864
 
189865
189865
  /***/ 3838:
189866
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_851164__) => {
189866
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_851168__) => {
189867
189867
 
189868
189868
  "use strict";
189869
189869
 
189870
189870
  Object.defineProperty(exports, "__esModule", ({ value: true }));
189871
- const path_1 = __nested_webpack_require_851164__(5622);
189872
- const os_1 = __nested_webpack_require_851164__(2087);
189873
- const fs_extra_1 = __nested_webpack_require_851164__(5392);
189871
+ const path_1 = __nested_webpack_require_851168__(5622);
189872
+ const os_1 = __nested_webpack_require_851168__(2087);
189873
+ const fs_extra_1 = __nested_webpack_require_851168__(5392);
189874
189874
  async function getWritableDirectory() {
189875
189875
  const name = Math.floor(Math.random() * 0x7fffffff).toString(16);
189876
189876
  const directory = path_1.join(os_1.tmpdir(), name);
@@ -189883,7 +189883,7 @@ exports.default = getWritableDirectory;
189883
189883
  /***/ }),
189884
189884
 
189885
189885
  /***/ 4240:
189886
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_851744__) {
189886
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_851748__) {
189887
189887
 
189888
189888
  "use strict";
189889
189889
 
@@ -189891,13 +189891,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
189891
189891
  return (mod && mod.__esModule) ? mod : { "default": mod };
189892
189892
  };
189893
189893
  Object.defineProperty(exports, "__esModule", ({ value: true }));
189894
- const path_1 = __importDefault(__nested_webpack_require_851744__(5622));
189895
- const assert_1 = __importDefault(__nested_webpack_require_851744__(2357));
189896
- const glob_1 = __importDefault(__nested_webpack_require_851744__(1104));
189897
- const util_1 = __nested_webpack_require_851744__(1669);
189898
- const fs_extra_1 = __nested_webpack_require_851744__(5392);
189899
- const normalize_path_1 = __nested_webpack_require_851744__(6261);
189900
- const file_fs_ref_1 = __importDefault(__nested_webpack_require_851744__(9331));
189894
+ const path_1 = __importDefault(__nested_webpack_require_851748__(5622));
189895
+ const assert_1 = __importDefault(__nested_webpack_require_851748__(2357));
189896
+ const glob_1 = __importDefault(__nested_webpack_require_851748__(1104));
189897
+ const util_1 = __nested_webpack_require_851748__(1669);
189898
+ const fs_extra_1 = __nested_webpack_require_851748__(5392);
189899
+ const normalize_path_1 = __nested_webpack_require_851748__(6261);
189900
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_851748__(9331));
189901
189901
  const vanillaGlob = util_1.promisify(glob_1.default);
189902
189902
  async function glob(pattern, opts, mountpoint) {
189903
189903
  let options;
@@ -189944,7 +189944,7 @@ exports.default = glob;
189944
189944
  /***/ }),
189945
189945
 
189946
189946
  /***/ 7903:
189947
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_853965__) {
189947
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_853969__) {
189948
189948
 
189949
189949
  "use strict";
189950
189950
 
@@ -189953,9 +189953,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
189953
189953
  };
189954
189954
  Object.defineProperty(exports, "__esModule", ({ value: true }));
189955
189955
  exports.getSupportedNodeVersion = exports.getDiscontinuedNodeVersions = exports.getLatestNodeVersion = void 0;
189956
- const semver_1 = __nested_webpack_require_853965__(2879);
189957
- const errors_1 = __nested_webpack_require_853965__(3983);
189958
- const debug_1 = __importDefault(__nested_webpack_require_853965__(1868));
189956
+ const semver_1 = __nested_webpack_require_853969__(2879);
189957
+ const errors_1 = __nested_webpack_require_853969__(3983);
189958
+ const debug_1 = __importDefault(__nested_webpack_require_853969__(1868));
189959
189959
  const allOptions = [
189960
189960
  { major: 16, range: '16.x', runtime: 'nodejs16.x' },
189961
189961
  { major: 14, range: '14.x', runtime: 'nodejs14.x' },
@@ -189963,7 +189963,7 @@ const allOptions = [
189963
189963
  major: 12,
189964
189964
  range: '12.x',
189965
189965
  runtime: 'nodejs12.x',
189966
- discontinueDate: new Date('2022-10-01'),
189966
+ discontinueDate: new Date('2022-10-03'),
189967
189967
  },
189968
189968
  {
189969
189969
  major: 10,
@@ -190054,7 +190054,7 @@ exports.normalizePath = normalizePath;
190054
190054
  /***/ }),
190055
190055
 
190056
190056
  /***/ 7792:
190057
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_857819__) {
190057
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_857823__) {
190058
190058
 
190059
190059
  "use strict";
190060
190060
 
@@ -190063,9 +190063,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190063
190063
  };
190064
190064
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190065
190065
  exports.readConfigFile = void 0;
190066
- const js_yaml_1 = __importDefault(__nested_webpack_require_857819__(6540));
190067
- const toml_1 = __importDefault(__nested_webpack_require_857819__(9434));
190068
- const fs_extra_1 = __nested_webpack_require_857819__(5392);
190066
+ const js_yaml_1 = __importDefault(__nested_webpack_require_857823__(6540));
190067
+ const toml_1 = __importDefault(__nested_webpack_require_857823__(9434));
190068
+ const fs_extra_1 = __nested_webpack_require_857823__(5392);
190069
190069
  async function readFileOrNull(file) {
190070
190070
  try {
190071
190071
  const data = await fs_extra_1.readFile(file);
@@ -190120,7 +190120,7 @@ exports.default = rename;
190120
190120
  /***/ }),
190121
190121
 
190122
190122
  /***/ 1442:
190123
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_859612__) {
190123
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_859616__) {
190124
190124
 
190125
190125
  "use strict";
190126
190126
 
@@ -190129,18 +190129,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190129
190129
  };
190130
190130
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190131
190131
  exports.installDependencies = exports.getScriptName = exports.runPipInstall = exports.runBundleInstall = exports.runPackageJsonScript = exports.runCustomInstallCommand = exports.getEnvForPackageManager = exports.runNpmInstall = exports.walkParentDirs = exports.scanParentDirs = exports.getNodeVersion = exports.getSpawnOptions = exports.runShellScript = exports.getNodeBinPath = exports.execCommand = exports.spawnCommand = exports.execAsync = exports.spawnAsync = void 0;
190132
- const assert_1 = __importDefault(__nested_webpack_require_859612__(2357));
190133
- const fs_extra_1 = __importDefault(__nested_webpack_require_859612__(5392));
190134
- const path_1 = __importDefault(__nested_webpack_require_859612__(5622));
190135
- const async_sema_1 = __importDefault(__nested_webpack_require_859612__(5758));
190136
- const cross_spawn_1 = __importDefault(__nested_webpack_require_859612__(7618));
190137
- const semver_1 = __nested_webpack_require_859612__(2879);
190138
- const util_1 = __nested_webpack_require_859612__(1669);
190139
- const debug_1 = __importDefault(__nested_webpack_require_859612__(1868));
190140
- const errors_1 = __nested_webpack_require_859612__(3983);
190141
- const node_version_1 = __nested_webpack_require_859612__(7903);
190142
- const read_config_file_1 = __nested_webpack_require_859612__(7792);
190143
- const clone_env_1 = __nested_webpack_require_859612__(6548);
190132
+ const assert_1 = __importDefault(__nested_webpack_require_859616__(2357));
190133
+ const fs_extra_1 = __importDefault(__nested_webpack_require_859616__(5392));
190134
+ const path_1 = __importDefault(__nested_webpack_require_859616__(5622));
190135
+ const async_sema_1 = __importDefault(__nested_webpack_require_859616__(5758));
190136
+ const cross_spawn_1 = __importDefault(__nested_webpack_require_859616__(7618));
190137
+ const semver_1 = __nested_webpack_require_859616__(2879);
190138
+ const util_1 = __nested_webpack_require_859616__(1669);
190139
+ const debug_1 = __importDefault(__nested_webpack_require_859616__(1868));
190140
+ const errors_1 = __nested_webpack_require_859616__(3983);
190141
+ const node_version_1 = __nested_webpack_require_859616__(7903);
190142
+ const read_config_file_1 = __nested_webpack_require_859616__(7792);
190143
+ const clone_env_1 = __nested_webpack_require_859616__(6548);
190144
190144
  // Only allow one `runNpmInstall()` invocation to run concurrently
190145
190145
  const runNpmInstallSema = new async_sema_1.default(1);
190146
190146
  function spawnAsync(command, args, opts = {}) {
@@ -190430,7 +190430,8 @@ async function runNpmInstall(destPath, args = [], spawnOpts, meta, nodeVersion)
190430
190430
  });
190431
190431
  let commandArgs;
190432
190432
  const isPotentiallyBrokenNpm = cliType === 'npm' &&
190433
- nodeVersion?.major === 16 &&
190433
+ (nodeVersion?.major === 16 ||
190434
+ opts.env.PATH?.includes('/node16/bin-npm7')) &&
190434
190435
  !args.includes('--legacy-peer-deps') &&
190435
190436
  spawnOpts?.env?.ENABLE_EXPERIMENTAL_COREPACK !== '1';
190436
190437
  if (cliType === 'npm') {
@@ -190612,7 +190613,7 @@ exports.installDependencies = util_1.deprecate(runNpmInstall, 'installDependenci
190612
190613
  /***/ }),
190613
190614
 
190614
190615
  /***/ 2560:
190615
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_879968__) {
190616
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_880037__) {
190616
190617
 
190617
190618
  "use strict";
190618
190619
 
@@ -190620,7 +190621,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190620
190621
  return (mod && mod.__esModule) ? mod : { "default": mod };
190621
190622
  };
190622
190623
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190623
- const end_of_stream_1 = __importDefault(__nested_webpack_require_879968__(687));
190624
+ const end_of_stream_1 = __importDefault(__nested_webpack_require_880037__(687));
190624
190625
  function streamToBuffer(stream) {
190625
190626
  return new Promise((resolve, reject) => {
190626
190627
  const buffers = [];
@@ -190649,7 +190650,7 @@ exports.default = streamToBuffer;
190649
190650
  /***/ }),
190650
190651
 
190651
190652
  /***/ 1148:
190652
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_881036__) {
190653
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_881105__) {
190653
190654
 
190654
190655
  "use strict";
190655
190656
 
@@ -190657,9 +190658,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190657
190658
  return (mod && mod.__esModule) ? mod : { "default": mod };
190658
190659
  };
190659
190660
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190660
- const path_1 = __importDefault(__nested_webpack_require_881036__(5622));
190661
- const fs_extra_1 = __importDefault(__nested_webpack_require_881036__(5392));
190662
- const ignore_1 = __importDefault(__nested_webpack_require_881036__(3556));
190661
+ const path_1 = __importDefault(__nested_webpack_require_881105__(5622));
190662
+ const fs_extra_1 = __importDefault(__nested_webpack_require_881105__(5392));
190663
+ const ignore_1 = __importDefault(__nested_webpack_require_881105__(3556));
190663
190664
  function isCodedError(error) {
190664
190665
  return (error !== null &&
190665
190666
  error !== undefined &&
@@ -190716,13 +190717,13 @@ exports.default = default_1;
190716
190717
  /***/ }),
190717
190718
 
190718
190719
  /***/ 4678:
190719
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_883410__) => {
190720
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_883479__) => {
190720
190721
 
190721
190722
  "use strict";
190722
190723
 
190723
190724
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190724
190725
  exports.getPlatformEnv = void 0;
190725
- const errors_1 = __nested_webpack_require_883410__(3983);
190726
+ const errors_1 = __nested_webpack_require_883479__(3983);
190726
190727
  /**
190727
190728
  * Helper function to support both `VERCEL_` and legacy `NOW_` env vars.
190728
190729
  * Throws an error if *both* env vars are defined.
@@ -190786,7 +190787,7 @@ exports.getPrefixedEnvVars = getPrefixedEnvVars;
190786
190787
  /***/ }),
190787
190788
 
190788
190789
  /***/ 2855:
190789
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_885669__) {
190790
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_885738__) {
190790
190791
 
190791
190792
  "use strict";
190792
190793
 
@@ -190817,31 +190818,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190817
190818
  };
190818
190819
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190819
190820
  exports.normalizePath = exports.readConfigFile = exports.EdgeFunction = exports.cloneEnv = exports.getIgnoreFilter = exports.scanParentDirs = exports.getLambdaOptionsFromFunction = exports.isSymbolicLink = exports.debug = exports.streamToBuffer = exports.getPrefixedEnvVars = exports.getPlatformEnv = exports.getSpawnOptions = exports.getDiscontinuedNodeVersions = exports.getLatestNodeVersion = exports.getNodeVersion = exports.getEnvForPackageManager = exports.runCustomInstallCommand = exports.runShellScript = exports.runPipInstall = exports.runBundleInstall = exports.runNpmInstall = exports.getNodeBinPath = exports.walkParentDirs = exports.spawnCommand = exports.execCommand = exports.runPackageJsonScript = exports.installDependencies = exports.getScriptName = exports.spawnAsync = exports.execAsync = exports.rename = exports.glob = exports.getWriteableDirectory = exports.downloadFile = exports.download = exports.Prerender = exports.createLambda = exports.NodejsLambda = exports.Lambda = exports.FileRef = exports.FileFsRef = exports.FileBlob = void 0;
190820
- const file_blob_1 = __importDefault(__nested_webpack_require_885669__(2397));
190821
+ const file_blob_1 = __importDefault(__nested_webpack_require_885738__(2397));
190821
190822
  exports.FileBlob = file_blob_1.default;
190822
- const file_fs_ref_1 = __importDefault(__nested_webpack_require_885669__(9331));
190823
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_885738__(9331));
190823
190824
  exports.FileFsRef = file_fs_ref_1.default;
190824
- const file_ref_1 = __importDefault(__nested_webpack_require_885669__(5187));
190825
+ const file_ref_1 = __importDefault(__nested_webpack_require_885738__(5187));
190825
190826
  exports.FileRef = file_ref_1.default;
190826
- const lambda_1 = __nested_webpack_require_885669__(6721);
190827
+ const lambda_1 = __nested_webpack_require_885738__(6721);
190827
190828
  Object.defineProperty(exports, "Lambda", ({ enumerable: true, get: function () { return lambda_1.Lambda; } }));
190828
190829
  Object.defineProperty(exports, "createLambda", ({ enumerable: true, get: function () { return lambda_1.createLambda; } }));
190829
190830
  Object.defineProperty(exports, "getLambdaOptionsFromFunction", ({ enumerable: true, get: function () { return lambda_1.getLambdaOptionsFromFunction; } }));
190830
- const nodejs_lambda_1 = __nested_webpack_require_885669__(7049);
190831
+ const nodejs_lambda_1 = __nested_webpack_require_885738__(7049);
190831
190832
  Object.defineProperty(exports, "NodejsLambda", ({ enumerable: true, get: function () { return nodejs_lambda_1.NodejsLambda; } }));
190832
- const prerender_1 = __nested_webpack_require_885669__(2850);
190833
+ const prerender_1 = __nested_webpack_require_885738__(2850);
190833
190834
  Object.defineProperty(exports, "Prerender", ({ enumerable: true, get: function () { return prerender_1.Prerender; } }));
190834
- const download_1 = __importStar(__nested_webpack_require_885669__(1611));
190835
+ const download_1 = __importStar(__nested_webpack_require_885738__(1611));
190835
190836
  exports.download = download_1.default;
190836
190837
  Object.defineProperty(exports, "downloadFile", ({ enumerable: true, get: function () { return download_1.downloadFile; } }));
190837
190838
  Object.defineProperty(exports, "isSymbolicLink", ({ enumerable: true, get: function () { return download_1.isSymbolicLink; } }));
190838
- const get_writable_directory_1 = __importDefault(__nested_webpack_require_885669__(3838));
190839
+ const get_writable_directory_1 = __importDefault(__nested_webpack_require_885738__(3838));
190839
190840
  exports.getWriteableDirectory = get_writable_directory_1.default;
190840
- const glob_1 = __importDefault(__nested_webpack_require_885669__(4240));
190841
+ const glob_1 = __importDefault(__nested_webpack_require_885738__(4240));
190841
190842
  exports.glob = glob_1.default;
190842
- const rename_1 = __importDefault(__nested_webpack_require_885669__(6718));
190843
+ const rename_1 = __importDefault(__nested_webpack_require_885738__(6718));
190843
190844
  exports.rename = rename_1.default;
190844
- const run_user_scripts_1 = __nested_webpack_require_885669__(1442);
190845
+ const run_user_scripts_1 = __nested_webpack_require_885738__(1442);
190845
190846
  Object.defineProperty(exports, "execAsync", ({ enumerable: true, get: function () { return run_user_scripts_1.execAsync; } }));
190846
190847
  Object.defineProperty(exports, "spawnAsync", ({ enumerable: true, get: function () { return run_user_scripts_1.spawnAsync; } }));
190847
190848
  Object.defineProperty(exports, "execCommand", ({ enumerable: true, get: function () { return run_user_scripts_1.execCommand; } }));
@@ -190860,37 +190861,37 @@ Object.defineProperty(exports, "getNodeVersion", ({ enumerable: true, get: funct
190860
190861
  Object.defineProperty(exports, "getSpawnOptions", ({ enumerable: true, get: function () { return run_user_scripts_1.getSpawnOptions; } }));
190861
190862
  Object.defineProperty(exports, "getNodeBinPath", ({ enumerable: true, get: function () { return run_user_scripts_1.getNodeBinPath; } }));
190862
190863
  Object.defineProperty(exports, "scanParentDirs", ({ enumerable: true, get: function () { return run_user_scripts_1.scanParentDirs; } }));
190863
- const node_version_1 = __nested_webpack_require_885669__(7903);
190864
+ const node_version_1 = __nested_webpack_require_885738__(7903);
190864
190865
  Object.defineProperty(exports, "getLatestNodeVersion", ({ enumerable: true, get: function () { return node_version_1.getLatestNodeVersion; } }));
190865
190866
  Object.defineProperty(exports, "getDiscontinuedNodeVersions", ({ enumerable: true, get: function () { return node_version_1.getDiscontinuedNodeVersions; } }));
190866
- const stream_to_buffer_1 = __importDefault(__nested_webpack_require_885669__(2560));
190867
+ const stream_to_buffer_1 = __importDefault(__nested_webpack_require_885738__(2560));
190867
190868
  exports.streamToBuffer = stream_to_buffer_1.default;
190868
- const debug_1 = __importDefault(__nested_webpack_require_885669__(1868));
190869
+ const debug_1 = __importDefault(__nested_webpack_require_885738__(1868));
190869
190870
  exports.debug = debug_1.default;
190870
- const get_ignore_filter_1 = __importDefault(__nested_webpack_require_885669__(1148));
190871
+ const get_ignore_filter_1 = __importDefault(__nested_webpack_require_885738__(1148));
190871
190872
  exports.getIgnoreFilter = get_ignore_filter_1.default;
190872
- const get_platform_env_1 = __nested_webpack_require_885669__(4678);
190873
+ const get_platform_env_1 = __nested_webpack_require_885738__(4678);
190873
190874
  Object.defineProperty(exports, "getPlatformEnv", ({ enumerable: true, get: function () { return get_platform_env_1.getPlatformEnv; } }));
190874
- const get_prefixed_env_vars_1 = __nested_webpack_require_885669__(6838);
190875
+ const get_prefixed_env_vars_1 = __nested_webpack_require_885738__(6838);
190875
190876
  Object.defineProperty(exports, "getPrefixedEnvVars", ({ enumerable: true, get: function () { return get_prefixed_env_vars_1.getPrefixedEnvVars; } }));
190876
- const clone_env_1 = __nested_webpack_require_885669__(6548);
190877
+ const clone_env_1 = __nested_webpack_require_885738__(6548);
190877
190878
  Object.defineProperty(exports, "cloneEnv", ({ enumerable: true, get: function () { return clone_env_1.cloneEnv; } }));
190878
- var edge_function_1 = __nested_webpack_require_885669__(8038);
190879
+ var edge_function_1 = __nested_webpack_require_885738__(8038);
190879
190880
  Object.defineProperty(exports, "EdgeFunction", ({ enumerable: true, get: function () { return edge_function_1.EdgeFunction; } }));
190880
- var read_config_file_1 = __nested_webpack_require_885669__(7792);
190881
+ var read_config_file_1 = __nested_webpack_require_885738__(7792);
190881
190882
  Object.defineProperty(exports, "readConfigFile", ({ enumerable: true, get: function () { return read_config_file_1.readConfigFile; } }));
190882
- var normalize_path_1 = __nested_webpack_require_885669__(6261);
190883
+ var normalize_path_1 = __nested_webpack_require_885738__(6261);
190883
190884
  Object.defineProperty(exports, "normalizePath", ({ enumerable: true, get: function () { return normalize_path_1.normalizePath; } }));
190884
- __exportStar(__nested_webpack_require_885669__(2564), exports);
190885
- __exportStar(__nested_webpack_require_885669__(2416), exports);
190886
- __exportStar(__nested_webpack_require_885669__(5748), exports);
190887
- __exportStar(__nested_webpack_require_885669__(3983), exports);
190885
+ __exportStar(__nested_webpack_require_885738__(2564), exports);
190886
+ __exportStar(__nested_webpack_require_885738__(2416), exports);
190887
+ __exportStar(__nested_webpack_require_885738__(5748), exports);
190888
+ __exportStar(__nested_webpack_require_885738__(3983), exports);
190888
190889
 
190889
190890
 
190890
190891
  /***/ }),
190891
190892
 
190892
190893
  /***/ 6721:
190893
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_894487__) {
190894
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_894556__) {
190894
190895
 
190895
190896
  "use strict";
190896
190897
 
@@ -190899,13 +190900,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190899
190900
  };
190900
190901
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190901
190902
  exports.getLambdaOptionsFromFunction = exports.createZip = exports.createLambda = exports.Lambda = void 0;
190902
- const assert_1 = __importDefault(__nested_webpack_require_894487__(2357));
190903
- const async_sema_1 = __importDefault(__nested_webpack_require_894487__(5758));
190904
- const yazl_1 = __nested_webpack_require_894487__(1223);
190905
- const minimatch_1 = __importDefault(__nested_webpack_require_894487__(9566));
190906
- const fs_extra_1 = __nested_webpack_require_894487__(5392);
190907
- const download_1 = __nested_webpack_require_894487__(1611);
190908
- const stream_to_buffer_1 = __importDefault(__nested_webpack_require_894487__(2560));
190903
+ const assert_1 = __importDefault(__nested_webpack_require_894556__(2357));
190904
+ const async_sema_1 = __importDefault(__nested_webpack_require_894556__(5758));
190905
+ const yazl_1 = __nested_webpack_require_894556__(1223);
190906
+ const minimatch_1 = __importDefault(__nested_webpack_require_894556__(9566));
190907
+ const fs_extra_1 = __nested_webpack_require_894556__(5392);
190908
+ const download_1 = __nested_webpack_require_894556__(1611);
190909
+ const stream_to_buffer_1 = __importDefault(__nested_webpack_require_894556__(2560));
190909
190910
  class Lambda {
190910
190911
  constructor(opts) {
190911
190912
  const { handler, runtime, maxDuration, memory, environment = {}, allowQuery, regions, supportsMultiPayloads, supportsWrapper, } = opts;
@@ -191031,13 +191032,13 @@ exports.getLambdaOptionsFromFunction = getLambdaOptionsFromFunction;
191031
191032
  /***/ }),
191032
191033
 
191033
191034
  /***/ 7049:
191034
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_900170__) => {
191035
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_900239__) => {
191035
191036
 
191036
191037
  "use strict";
191037
191038
 
191038
191039
  Object.defineProperty(exports, "__esModule", ({ value: true }));
191039
191040
  exports.NodejsLambda = void 0;
191040
- const lambda_1 = __nested_webpack_require_900170__(6721);
191041
+ const lambda_1 = __nested_webpack_require_900239__(6721);
191041
191042
  class NodejsLambda extends lambda_1.Lambda {
191042
191043
  constructor({ shouldAddHelpers, shouldAddSourcemapSupport, awsLambdaHandler, ...opts }) {
191043
191044
  super(opts);
@@ -191174,13 +191175,13 @@ exports.buildsSchema = {
191174
191175
  /***/ }),
191175
191176
 
191176
191177
  /***/ 2564:
191177
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_904515__) => {
191178
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_904584__) => {
191178
191179
 
191179
191180
  "use strict";
191180
191181
 
191181
191182
  Object.defineProperty(exports, "__esModule", ({ value: true }));
191182
191183
  exports.shouldServe = void 0;
191183
- const path_1 = __nested_webpack_require_904515__(5622);
191184
+ const path_1 = __nested_webpack_require_904584__(5622);
191184
191185
  const shouldServe = ({ entrypoint, files, requestPath, }) => {
191185
191186
  requestPath = requestPath.replace(/\/$/, ''); // sanitize trailing '/'
191186
191187
  entrypoint = entrypoint.replace(/\\/, '/'); // windows compatibility
@@ -191425,7 +191426,7 @@ module.exports = __webpack_require__(78761);
191425
191426
  /******/ var __webpack_module_cache__ = {};
191426
191427
  /******/
191427
191428
  /******/ // The require function
191428
- /******/ function __nested_webpack_require_1281880__(moduleId) {
191429
+ /******/ function __nested_webpack_require_1281949__(moduleId) {
191429
191430
  /******/ // Check if module is in cache
191430
191431
  /******/ if(__webpack_module_cache__[moduleId]) {
191431
191432
  /******/ return __webpack_module_cache__[moduleId].exports;
@@ -191440,7 +191441,7 @@ module.exports = __webpack_require__(78761);
191440
191441
  /******/ // Execute the module function
191441
191442
  /******/ var threw = true;
191442
191443
  /******/ try {
191443
- /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_1281880__);
191444
+ /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_1281949__);
191444
191445
  /******/ threw = false;
191445
191446
  /******/ } finally {
191446
191447
  /******/ if(threw) delete __webpack_module_cache__[moduleId];
@@ -191453,11 +191454,11 @@ module.exports = __webpack_require__(78761);
191453
191454
  /************************************************************************/
191454
191455
  /******/ /* webpack/runtime/compat */
191455
191456
  /******/
191456
- /******/ __nested_webpack_require_1281880__.ab = __dirname + "/";/************************************************************************/
191457
+ /******/ __nested_webpack_require_1281949__.ab = __dirname + "/";/************************************************************************/
191457
191458
  /******/ // module exports must be returned from runtime so entry inlining is disabled
191458
191459
  /******/ // startup
191459
191460
  /******/ // Load entry module and return exports
191460
- /******/ return __nested_webpack_require_1281880__(2855);
191461
+ /******/ return __nested_webpack_require_1281949__(2855);
191461
191462
  /******/ })()
191462
191463
  ;
191463
191464
 
@@ -226785,7 +226786,6 @@ const open_1 = __importDefault(__webpack_require__(28884));
226785
226786
  const boxen_1 = __importDefault(__webpack_require__(30396));
226786
226787
  const execa_1 = __importDefault(__webpack_require__(94237));
226787
226788
  const pluralize_1 = __importDefault(__webpack_require__(31974));
226788
- const inquirer_1 = __importDefault(__webpack_require__(64016));
226789
226789
  const path_1 = __webpack_require__(85622);
226790
226790
  const chalk_1 = __importDefault(__webpack_require__(961));
226791
226791
  const url_1 = __webpack_require__(78835);
@@ -226890,7 +226890,7 @@ async function main(client) {
226890
226890
  const badDeployment = await getDeployment(client, bad).catch(err => err);
226891
226891
  if (badDeployment) {
226892
226892
  if (badDeployment instanceof Error) {
226893
- badDeployment.message += ` "${bad}"`;
226893
+ badDeployment.message += ` when requesting bad deployment "${(0, normalize_url_1.normalizeURL)(bad)}"`;
226894
226894
  output.prettyError(badDeployment);
226895
226895
  return 1;
226896
226896
  }
@@ -226904,7 +226904,7 @@ async function main(client) {
226904
226904
  const goodDeployment = await getDeployment(client, good).catch(err => err);
226905
226905
  if (goodDeployment) {
226906
226906
  if (goodDeployment instanceof Error) {
226907
- goodDeployment.message += ` "${good}"`;
226907
+ goodDeployment.message += ` when requesting good deployment "${(0, normalize_url_1.normalizeURL)(good)}"`;
226908
226908
  output.prettyError(goodDeployment);
226909
226909
  return 1;
226910
226910
  }
@@ -226949,7 +226949,8 @@ async function main(client) {
226949
226949
  // If we have the "good" deployment in this chunk, then we're done
226950
226950
  for (let i = 0; i < newDeployments.length; i++) {
226951
226951
  if (newDeployments[i].url === good) {
226952
- newDeployments = newDeployments.slice(0, i + 1);
226952
+ // grab all deployments up until the good one
226953
+ newDeployments = newDeployments.slice(0, i);
226953
226954
  next = undefined;
226954
226955
  break;
226955
226956
  }
@@ -227021,7 +227022,7 @@ async function main(client) {
227021
227022
  if (openEnabled) {
227022
227023
  await (0, open_1.default)(testUrl);
227023
227024
  }
227024
- const answer = await inquirer_1.default.prompt({
227025
+ const answer = await client.prompt({
227025
227026
  type: 'expand',
227026
227027
  name: 'action',
227027
227028
  message: 'Select an action:',
@@ -227140,6 +227141,7 @@ const build_utils_1 = __webpack_require__(3131);
227140
227141
  const fs_detectors_1 = __webpack_require__(20302);
227141
227142
  const minimatch_1 = __importDefault(__webpack_require__(99566));
227142
227143
  const routing_utils_1 = __webpack_require__(72948);
227144
+ const client_1 = __webpack_require__(20192);
227143
227145
  const pull_1 = __importDefault(__webpack_require__(6277));
227144
227146
  const get_files_1 = __webpack_require__(23174);
227145
227147
  const get_args_1 = __importDefault(__webpack_require__(87612));
@@ -227158,6 +227160,7 @@ const import_builders_1 = __webpack_require__(57049);
227158
227160
  const corepack_1 = __webpack_require__(51806);
227159
227161
  const sort_builders_1 = __webpack_require__(40233);
227160
227162
  const error_1 = __webpack_require__(54094);
227163
+ const validate_config_1 = __webpack_require__(14864);
227161
227164
  const help = () => {
227162
227165
  return console.log(`
227163
227166
  ${chalk_1.default.bold(`${cli.logo} ${cli.name} build`)}
@@ -227277,7 +227280,8 @@ async function main(client) {
227277
227280
  // Some build processes use these env vars to platform detect Vercel
227278
227281
  process.env.VERCEL = '1';
227279
227282
  process.env.NOW_BUILDER = '1';
227280
- return await doBuild(client, project, buildsJson, cwd, outputDir);
227283
+ await doBuild(client, project, buildsJson, cwd, outputDir);
227284
+ return 0;
227281
227285
  }
227282
227286
  catch (err) {
227283
227287
  output.prettyError(err);
@@ -227307,33 +227311,46 @@ exports.default = main;
227307
227311
  async function doBuild(client, project, buildsJson, cwd, outputDir) {
227308
227312
  const { output } = client;
227309
227313
  const workPath = (0, path_1.join)(cwd, project.settings.rootDirectory || '.');
227310
- // Load `package.json` and `vercel.json` files
227311
- const [pkg, vercelConfig] = await Promise.all([
227314
+ const [pkg, vercelConfig, nowConfig] = await Promise.all([
227312
227315
  (0, read_json_file_1.default)((0, path_1.join)(workPath, 'package.json')),
227313
- (0, read_json_file_1.default)((0, path_1.join)(workPath, 'vercel.json')).then(config => config || (0, read_json_file_1.default)((0, path_1.join)(workPath, 'now.json'))),
227316
+ (0, read_json_file_1.default)((0, path_1.join)(workPath, 'vercel.json')),
227317
+ (0, read_json_file_1.default)((0, path_1.join)(workPath, 'now.json')),
227314
227318
  ]);
227315
227319
  if (pkg instanceof errors_ts_1.CantParseJSONFile)
227316
227320
  throw pkg;
227317
227321
  if (vercelConfig instanceof errors_ts_1.CantParseJSONFile)
227318
227322
  throw vercelConfig;
227323
+ if (nowConfig instanceof errors_ts_1.CantParseJSONFile)
227324
+ throw nowConfig;
227325
+ if (vercelConfig) {
227326
+ vercelConfig[client_1.fileNameSymbol] = 'vercel.json';
227327
+ }
227328
+ else if (nowConfig) {
227329
+ nowConfig[client_1.fileNameSymbol] = 'now.json';
227330
+ }
227331
+ const localConfig = vercelConfig || nowConfig || {};
227332
+ const validateError = (0, validate_config_1.validateConfig)(localConfig);
227333
+ if (validateError) {
227334
+ throw validateError;
227335
+ }
227319
227336
  const projectSettings = {
227320
227337
  ...project.settings,
227321
- ...(0, project_settings_1.pickOverrides)(vercelConfig || {}),
227338
+ ...(0, project_settings_1.pickOverrides)(localConfig),
227322
227339
  };
227323
227340
  // Get a list of source files
227324
227341
  const files = (await (0, get_files_1.staticFiles)(workPath, client)).map(f => (0, build_utils_1.normalizePath)((0, path_1.relative)(workPath, f)));
227325
- const routesResult = (0, routing_utils_1.getTransformedRoutes)(vercelConfig || {});
227342
+ const routesResult = (0, routing_utils_1.getTransformedRoutes)(localConfig);
227326
227343
  if (routesResult.error) {
227327
227344
  throw routesResult.error;
227328
227345
  }
227329
- if (vercelConfig?.builds && vercelConfig.functions) {
227346
+ if (localConfig.builds && localConfig.functions) {
227330
227347
  throw new build_utils_1.NowBuildError({
227331
227348
  code: 'bad_request',
227332
227349
  message: 'The `functions` property cannot be used in conjunction with the `builds` property. Please remove one of them.',
227333
227350
  link: 'https://vercel.link/functions-and-builds',
227334
227351
  });
227335
227352
  }
227336
- let builds = vercelConfig?.builds || [];
227353
+ let builds = localConfig.builds || [];
227337
227354
  let zeroConfigRoutes = [];
227338
227355
  let isZeroConfig = false;
227339
227356
  if (builds.length > 0) {
@@ -227345,7 +227362,7 @@ async function doBuild(client, project, buildsJson, cwd, outputDir) {
227345
227362
  isZeroConfig = true;
227346
227363
  // Detect the Vercel Builders that will need to be invoked
227347
227364
  const detectedBuilders = await (0, fs_detectors_1.detectBuilders)(files, pkg, {
227348
- ...vercelConfig,
227365
+ ...localConfig,
227349
227366
  projectSettings,
227350
227367
  ignoreBuildScript: true,
227351
227368
  featHandleMiss: true,
@@ -227406,11 +227423,9 @@ async function doBuild(client, project, buildsJson, cwd, outputDir) {
227406
227423
  ];
227407
227424
  }));
227408
227425
  buildsJson.builds = Array.from(buildsJsonBuilds.values());
227409
- const buildsJsonPath = (0, path_1.join)(outputDir, 'builds.json');
227410
- const writeBuildsJsonPromise = fs_extra_1.default.writeJSON(buildsJsonPath, buildsJson, {
227426
+ await fs_extra_1.default.writeJSON((0, path_1.join)(outputDir, 'builds.json'), buildsJson, {
227411
227427
  spaces: 2,
227412
227428
  });
227413
- ops.push(writeBuildsJsonPromise);
227414
227429
  // The `meta` config property is re-used for each Builder
227415
227430
  // invocation so that Builders can share state between
227416
227431
  // subsequent entrypoint builds.
@@ -227460,23 +227475,17 @@ async function doBuild(client, project, buildsJson, cwd, outputDir) {
227460
227475
  // all builds have completed
227461
227476
  buildResults.set(build, buildResult);
227462
227477
  // Start flushing the file outputs to the filesystem asynchronously
227463
- ops.push((0, write_build_result_1.writeBuildResult)(outputDir, buildResult, build, builder, builderPkg, vercelConfig).then(override => {
227478
+ ops.push((0, write_build_result_1.writeBuildResult)(outputDir, buildResult, build, builder, builderPkg, localConfig).then(override => {
227464
227479
  if (override)
227465
227480
  overrides.push(override);
227466
227481
  }, err => err));
227467
227482
  }
227468
227483
  catch (err) {
227469
- output.prettyError(err);
227470
- const writeConfigJsonPromise = fs_extra_1.default.writeJSON((0, path_1.join)(outputDir, 'config.json'), { version: 3 }, { spaces: 2 });
227471
- await Promise.all([writeBuildsJsonPromise, writeConfigJsonPromise]);
227472
227484
  const buildJsonBuild = buildsJsonBuilds.get(build);
227473
227485
  if (buildJsonBuild) {
227474
227486
  buildJsonBuild.error = (0, error_1.toEnumerableError)(err);
227475
- await fs_extra_1.default.writeJSON(buildsJsonPath, buildsJson, {
227476
- spaces: 2,
227477
- });
227478
227487
  }
227479
- return 1;
227488
+ throw err;
227480
227489
  }
227481
227490
  }
227482
227491
  if (corepackShimDir) {
@@ -227530,82 +227539,7 @@ async function doBuild(client, project, buildsJson, cwd, outputDir) {
227530
227539
  userRoutes: routesResult.routes,
227531
227540
  builds: builderRoutes,
227532
227541
  });
227533
- const images = vercelConfig?.images;
227534
- if (images) {
227535
- if (typeof images !== 'object') {
227536
- throw new Error(`vercel.json "images" should be an object received ${typeof images}.`);
227537
- }
227538
- if (!Array.isArray(images.domains)) {
227539
- throw new Error(`vercel.json "images.domains" should be an Array received ${typeof images.domains}.`);
227540
- }
227541
- if (images.domains.length > 50) {
227542
- throw new Error(`vercel.json "images.domains" exceeds length of 50 received length (${images.domains.length}).`);
227543
- }
227544
- const invalidImageDomains = images.domains.filter((d) => typeof d !== 'string');
227545
- if (invalidImageDomains.length > 0) {
227546
- throw new Error(`vercel.json "images.domains" should be an Array of strings received invalid values (${invalidImageDomains.join(', ')}).`);
227547
- }
227548
- if (images.remotePatterns) {
227549
- if (!Array.isArray(images.remotePatterns)) {
227550
- throw new Error(`vercel.json "images.remotePatterns" should be an Array received ${typeof images.remotePatterns}.`);
227551
- }
227552
- if (images.remotePatterns.length > 50) {
227553
- throw new Error(`vercel.json "images.remotePatterns" exceeds length of 50, received length (${images.remotePatterns.length}).`);
227554
- }
227555
- const validProps = new Set(['protocol', 'hostname', 'pathname', 'port']);
227556
- const requiredProps = ['hostname'];
227557
- const invalidPatterns = images.remotePatterns.filter((d) => !d ||
227558
- typeof d !== 'object' ||
227559
- Object.entries(d).some(([k, v]) => !validProps.has(k) || typeof v !== 'string') ||
227560
- requiredProps.some(k => !(k in d)));
227561
- if (invalidPatterns.length > 0) {
227562
- throw new Error(`vercel.json "images.remotePatterns" received invalid values:\n${invalidPatterns
227563
- .map(item => JSON.stringify(item))
227564
- .join('\n')}\n\nremotePatterns value must follow format { protocol: 'https', hostname: 'example.com', port: '', pathname: '/imgs/**' }.`);
227565
- }
227566
- }
227567
- if (!Array.isArray(images.sizes)) {
227568
- throw new Error(`vercel.json "images.sizes" should be an Array received ${typeof images.sizes}.`);
227569
- }
227570
- if (images.sizes.length < 1 || images.sizes.length > 50) {
227571
- throw new Error(`vercel.json "images.sizes" should be an Array of length between 1 to 50 received length (${images.sizes.length}).`);
227572
- }
227573
- const invalidImageSizes = images.sizes.filter((d) => {
227574
- return typeof d !== 'number' || d < 1 || d > 10000;
227575
- });
227576
- if (invalidImageSizes.length > 0) {
227577
- throw new Error(`vercel.json "images.sizes" should be an Array of numbers that are between 1 and 10000, received invalid values (${invalidImageSizes.join(', ')}).`);
227578
- }
227579
- if (images.minimumCacheTTL) {
227580
- if (!Number.isInteger(images.minimumCacheTTL) ||
227581
- images.minimumCacheTTL < 0) {
227582
- throw new Error(`vercel.json "images.minimumCacheTTL" should be an integer 0 or more received (${images.minimumCacheTTL}).`);
227583
- }
227584
- }
227585
- if (images.formats) {
227586
- if (!Array.isArray(images.formats)) {
227587
- throw new Error(`vercel.json "images.formats" should be an Array received ${typeof images.formats}.`);
227588
- }
227589
- if (images.formats.length < 1 || images.formats.length > 2) {
227590
- throw new Error(`vercel.json "images.formats" must be length 1 or 2, received length (${images.formats.length}).`);
227591
- }
227592
- const invalid = images.formats.filter(f => {
227593
- return f !== 'image/avif' && f !== 'image/webp';
227594
- });
227595
- if (invalid.length > 0) {
227596
- throw new Error(`vercel.json "images.formats" should be an Array of mime type strings, received invalid values (${invalid.join(', ')}).`);
227597
- }
227598
- }
227599
- if (typeof images.dangerouslyAllowSVG !== 'undefined' &&
227600
- typeof images.dangerouslyAllowSVG !== 'boolean') {
227601
- throw new Error(`vercel.json "images.dangerouslyAllowSVG" should be a boolean received (${images.dangerouslyAllowSVG}).`);
227602
- }
227603
- if (typeof images.contentSecurityPolicy !== 'undefined' &&
227604
- typeof images.contentSecurityPolicy !== 'string') {
227605
- throw new Error(`vercel.json "images.contentSecurityPolicy" should be a string received ${images.contentSecurityPolicy}`);
227606
- }
227607
- }
227608
- const mergedImages = mergeImages(images, buildResults.values());
227542
+ const mergedImages = mergeImages(localConfig.images, buildResults.values());
227609
227543
  const mergedWildcard = mergeWildcard(buildResults.values());
227610
227544
  const mergedOverrides = overrides.length > 0 ? Object.assign({}, ...overrides) : undefined;
227611
227545
  // Write out the final `config.json` file based on the
@@ -227621,7 +227555,6 @@ async function doBuild(client, project, buildsJson, cwd, outputDir) {
227621
227555
  await fs_extra_1.default.writeJSON((0, path_1.join)(outputDir, 'config.json'), config, { spaces: 2 });
227622
227556
  const relOutputDir = (0, path_1.relative)(cwd, outputDir);
227623
227557
  output.print(`${(0, emoji_1.prependEmoji)(`Build Completed in ${chalk_1.default.bold(relOutputDir.startsWith('..') ? outputDir : relOutputDir)} ${chalk_1.default.gray(buildStamp())}`, (0, emoji_1.emoji)('success'))}\n`);
227624
- return 0;
227625
227558
  }
227626
227559
  function expandBuild(files, build) {
227627
227560
  if (!build.use) {
@@ -236722,6 +236655,7 @@ const reauthenticate_1 = __importDefault(__webpack_require__(51025));
236722
236655
  const files_1 = __webpack_require__(79919);
236723
236656
  const promise_1 = __webpack_require__(21526);
236724
236657
  const errors_ts_1 = __webpack_require__(60156);
236658
+ const is_error_1 = __webpack_require__(11026);
236725
236659
  const isSAMLError = (v) => {
236726
236660
  return v && v.saml;
236727
236661
  };
@@ -236741,7 +236675,7 @@ class Client extends events_1.EventEmitter {
236741
236675
  else {
236742
236676
  this.output.error(`Failed to re-authenticate for ${(0, chalk_1.bold)(error.scope)} scope`);
236743
236677
  }
236744
- process.exit(1);
236678
+ throw error;
236745
236679
  }
236746
236680
  this.authConfig.token = result.token;
236747
236681
  (0, files_1.writeToAuthConfigFile)(this.authConfig);
@@ -236819,10 +236753,16 @@ class Client extends events_1.EventEmitter {
236819
236753
  if (!res.ok) {
236820
236754
  const error = await (0, response_error_1.default)(res);
236821
236755
  if (isSAMLError(error)) {
236822
- // A SAML error means the token is expired, or is not
236823
- // designated for the requested team, so the user needs
236824
- // to re-authenticate
236825
- await this.reauthenticate(error);
236756
+ try {
236757
+ // A SAML error means the token is expired, or is not
236758
+ // designated for the requested team, so the user needs
236759
+ // to re-authenticate
236760
+ await this.reauthenticate(error);
236761
+ }
236762
+ catch (reauthError) {
236763
+ // there's no sense in retrying
236764
+ return bail((0, is_error_1.normalizeError)(reauthError));
236765
+ }
236826
236766
  }
236827
236767
  else if (res.status >= 400 && res.status < 500) {
236828
236768
  // Any other 4xx should bail without retrying
@@ -238782,7 +238722,7 @@ const errors_ts_1 = __webpack_require__(60156);
238782
238722
  const pkg_1 = __importDefault(__webpack_require__(80984));
238783
238723
  const link_2 = __webpack_require__(67630);
238784
238724
  const get_files_1 = __webpack_require__(23174);
238785
- const validate_1 = __webpack_require__(53204);
238725
+ const validate_config_1 = __webpack_require__(14864);
238786
238726
  const router_1 = __webpack_require__(84369);
238787
238727
  const mime_type_1 = __importDefault(__webpack_require__(12165));
238788
238728
  const builder_1 = __webpack_require__(37655);
@@ -239842,7 +239782,7 @@ class DevServer {
239842
239782
  await this.exit(1);
239843
239783
  return;
239844
239784
  }
239845
- const error = (0, validate_1.validateConfig)(config);
239785
+ const error = (0, validate_config_1.validateConfig)(config);
239846
239786
  if (error) {
239847
239787
  this.output.prettyError(error);
239848
239788
  await this.exit(1);
@@ -240817,62 +240757,6 @@ function redirect(it) {
240817
240757
  exports.default = redirect;
240818
240758
 
240819
240759
 
240820
- /***/ }),
240821
-
240822
- /***/ 53204:
240823
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
240824
-
240825
- "use strict";
240826
-
240827
- var __importDefault = (this && this.__importDefault) || function (mod) {
240828
- return (mod && mod.__esModule) ? mod : { "default": mod };
240829
- };
240830
- Object.defineProperty(exports, "__esModule", ({ value: true }));
240831
- exports.validateConfig = void 0;
240832
- const ajv_1 = __importDefault(__webpack_require__(11313));
240833
- const routing_utils_1 = __webpack_require__(72948);
240834
- const build_utils_1 = __webpack_require__(3131);
240835
- const client_1 = __webpack_require__(20192);
240836
- const vercelConfigSchema = {
240837
- type: 'object',
240838
- // These are not all possibilities because `vc dev`
240839
- // doesn't need to know about `regions`, `public`, etc.
240840
- additionalProperties: true,
240841
- properties: {
240842
- builds: build_utils_1.buildsSchema,
240843
- routes: routing_utils_1.routesSchema,
240844
- cleanUrls: routing_utils_1.cleanUrlsSchema,
240845
- headers: routing_utils_1.headersSchema,
240846
- redirects: routing_utils_1.redirectsSchema,
240847
- rewrites: routing_utils_1.rewritesSchema,
240848
- trailingSlash: routing_utils_1.trailingSlashSchema,
240849
- functions: build_utils_1.functionsSchema,
240850
- },
240851
- };
240852
- const ajv = new ajv_1.default();
240853
- const validate = ajv.compile(vercelConfigSchema);
240854
- function validateConfig(config) {
240855
- if (!validate(config)) {
240856
- if (validate.errors && validate.errors[0]) {
240857
- const error = validate.errors[0];
240858
- const fileName = config[client_1.fileNameSymbol] || 'vercel.json';
240859
- const niceError = (0, build_utils_1.getPrettyError)(error);
240860
- niceError.message = `Invalid ${fileName} - ${niceError.message}`;
240861
- return niceError;
240862
- }
240863
- }
240864
- if (config.functions && config.builds) {
240865
- return new build_utils_1.NowBuildError({
240866
- code: 'FUNCTIONS_AND_BUILDS',
240867
- message: 'The `functions` property cannot be used in conjunction with the `builds` property. Please remove one of them.',
240868
- link: 'https://vercel.link/functions-and-builds',
240869
- });
240870
- }
240871
- return null;
240872
- }
240873
- exports.validateConfig = validateConfig;
240874
-
240875
-
240876
240760
  /***/ }),
240877
240761
 
240878
240762
  /***/ 28730:
@@ -248932,6 +248816,139 @@ const normalizeURL = (u) => {
248932
248816
  exports.normalizeURL = normalizeURL;
248933
248817
 
248934
248818
 
248819
+ /***/ }),
248820
+
248821
+ /***/ 14864:
248822
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
248823
+
248824
+ "use strict";
248825
+
248826
+ var __importDefault = (this && this.__importDefault) || function (mod) {
248827
+ return (mod && mod.__esModule) ? mod : { "default": mod };
248828
+ };
248829
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
248830
+ exports.validateConfig = void 0;
248831
+ const ajv_1 = __importDefault(__webpack_require__(11313));
248832
+ const routing_utils_1 = __webpack_require__(72948);
248833
+ const build_utils_1 = __webpack_require__(3131);
248834
+ const client_1 = __webpack_require__(20192);
248835
+ const imagesSchema = {
248836
+ type: 'object',
248837
+ additionalProperties: false,
248838
+ required: ['sizes'],
248839
+ properties: {
248840
+ contentSecurityPolicy: {
248841
+ type: 'string',
248842
+ minLength: 1,
248843
+ maxLength: 256,
248844
+ },
248845
+ dangerouslyAllowSVG: {
248846
+ type: 'boolean',
248847
+ },
248848
+ domains: {
248849
+ type: 'array',
248850
+ minItems: 0,
248851
+ maxItems: 50,
248852
+ items: {
248853
+ type: 'string',
248854
+ minLength: 1,
248855
+ maxLength: 256,
248856
+ },
248857
+ },
248858
+ formats: {
248859
+ type: 'array',
248860
+ minItems: 1,
248861
+ maxItems: 4,
248862
+ items: {
248863
+ enum: ['image/avif', 'image/webp', 'image/jpeg', 'image/png'],
248864
+ },
248865
+ },
248866
+ minimumCacheTTL: {
248867
+ type: 'integer',
248868
+ minimum: 1,
248869
+ maximum: 315360000,
248870
+ },
248871
+ remotePatterns: {
248872
+ type: 'array',
248873
+ minItems: 0,
248874
+ maxItems: 50,
248875
+ items: {
248876
+ type: 'object',
248877
+ additionalProperties: false,
248878
+ required: ['hostname'],
248879
+ properties: {
248880
+ protocol: {
248881
+ enum: ['http', 'https'],
248882
+ },
248883
+ hostname: {
248884
+ type: 'string',
248885
+ minLength: 1,
248886
+ maxLength: 256,
248887
+ },
248888
+ port: {
248889
+ type: 'string',
248890
+ minLength: 1,
248891
+ maxLength: 5,
248892
+ },
248893
+ pathname: {
248894
+ type: 'string',
248895
+ minLength: 1,
248896
+ maxLength: 256,
248897
+ },
248898
+ },
248899
+ },
248900
+ },
248901
+ sizes: {
248902
+ type: 'array',
248903
+ minItems: 1,
248904
+ maxItems: 50,
248905
+ items: {
248906
+ type: 'number',
248907
+ },
248908
+ },
248909
+ },
248910
+ };
248911
+ const vercelConfigSchema = {
248912
+ type: 'object',
248913
+ // These are not all possibilities because `vc dev`
248914
+ // doesn't need to know about `regions`, `public`, etc.
248915
+ additionalProperties: true,
248916
+ properties: {
248917
+ builds: build_utils_1.buildsSchema,
248918
+ routes: routing_utils_1.routesSchema,
248919
+ cleanUrls: routing_utils_1.cleanUrlsSchema,
248920
+ headers: routing_utils_1.headersSchema,
248921
+ redirects: routing_utils_1.redirectsSchema,
248922
+ rewrites: routing_utils_1.rewritesSchema,
248923
+ trailingSlash: routing_utils_1.trailingSlashSchema,
248924
+ functions: build_utils_1.functionsSchema,
248925
+ images: imagesSchema,
248926
+ },
248927
+ };
248928
+ const ajv = new ajv_1.default();
248929
+ const validate = ajv.compile(vercelConfigSchema);
248930
+ function validateConfig(config) {
248931
+ if (!validate(config)) {
248932
+ if (validate.errors && validate.errors[0]) {
248933
+ const error = validate.errors[0];
248934
+ const fileName = config[client_1.fileNameSymbol] || 'vercel.json';
248935
+ const niceError = (0, build_utils_1.getPrettyError)(error);
248936
+ niceError.message = `Invalid ${fileName} - ${niceError.message}`;
248937
+ return niceError;
248938
+ }
248939
+ }
248940
+ if (config.functions && config.builds) {
248941
+ return new build_utils_1.NowBuildError({
248942
+ code: 'FUNCTIONS_AND_BUILDS',
248943
+ message: 'The `functions` property cannot be used in conjunction with the `builds` property. Please remove one of them.',
248944
+ link: 'https://vercel.link/functions-and-builds',
248945
+ });
248946
+ }
248947
+ return null;
248948
+ }
248949
+ exports.validateConfig = validateConfig;
248950
+
248951
+
248935
248952
  /***/ }),
248936
248953
 
248937
248954
  /***/ 54579:
@@ -249348,7 +249365,7 @@ module.exports = JSON.parse("{\"application/1d-interleaved-parityfec\":{\"source
249348
249365
  /***/ ((module) => {
249349
249366
 
249350
249367
  "use strict";
249351
- module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.4.2\",\"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 --runInBand --bail --forceExit\",\"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.5.0\",\"@vercel/go\":\"2.2.8\",\"@vercel/hydrogen\":\"0.0.21\",\"@vercel/next\":\"3.1.29\",\"@vercel/node\":\"2.5.18\",\"@vercel/python\":\"3.1.17\",\"@vercel/redwood\":\"1.0.26\",\"@vercel/remix\":\"1.0.27\",\"@vercel/ruby\":\"1.3.34\",\"@vercel/static-build\":\"1.0.26\",\"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\":\"11.11.0\",\"@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.7\",\"@vercel/frameworks\":\"1.1.6\",\"@vercel/fs-detectors\":\"3.4.0\",\"@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-prompt\":\"0.3.2\",\"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\",\"jsonlines\":\"0.1.1\",\"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\",\"which\":\"2.0.2\",\"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\"]}}");
249368
+ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.4.4\",\"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 --runInBand --bail --forceExit\",\"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.5.2\",\"@vercel/go\":\"2.2.10\",\"@vercel/hydrogen\":\"0.0.23\",\"@vercel/next\":\"3.2.0\",\"@vercel/node\":\"2.5.20\",\"@vercel/python\":\"3.1.19\",\"@vercel/redwood\":\"1.0.28\",\"@vercel/remix\":\"1.0.29\",\"@vercel/ruby\":\"1.3.36\",\"@vercel/static-build\":\"1.0.28\",\"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\":\"11.11.0\",\"@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.9\",\"@vercel/frameworks\":\"1.1.6\",\"@vercel/fs-detectors\":\"3.4.0\",\"@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-prompt\":\"0.3.2\",\"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\",\"jsonlines\":\"0.1.1\",\"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\",\"which\":\"2.0.2\",\"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\"]}}");
249352
249369
 
249353
249370
  /***/ }),
249354
249371
 
@@ -249356,7 +249373,7 @@ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.4.2\",\"prefe
249356
249373
  /***/ ((module) => {
249357
249374
 
249358
249375
  "use strict";
249359
- module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.2.7\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"MIT\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-integration-once\":\"yarn 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\":\"yarn test tests/unit.*test.*\"},\"engines\":{\"node\":\">= 14\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.1\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.4.1\",\"@types/minimatch\":\"3.0.5\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"12.0.4\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"@types/tar-fs\":\"1.16.1\",\"typescript\":\"4.3.4\"},\"jest\":{\"preset\":\"ts-jest\",\"testEnvironment\":\"node\",\"verbose\":false,\"setupFilesAfterEnv\":[\"<rootDir>/tests/setup/index.ts\"]},\"dependencies\":{\"@vercel/build-utils\":\"5.5.0\",\"@vercel/routing-utils\":\"2.0.2\",\"@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\"}}");
249376
+ module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.2.9\",\"main\":\"dist/index.js\",\"typings\":\"dist/index.d.ts\",\"homepage\":\"https://vercel.com\",\"license\":\"MIT\",\"files\":[\"dist\"],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/client\"},\"scripts\":{\"build\":\"tsc\",\"test-integration-once\":\"yarn 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\":\"yarn test tests/unit.*test.*\"},\"engines\":{\"node\":\">= 14\"},\"devDependencies\":{\"@types/async-retry\":\"1.4.1\",\"@types/fs-extra\":\"7.0.0\",\"@types/jest\":\"27.4.1\",\"@types/minimatch\":\"3.0.5\",\"@types/ms\":\"0.7.30\",\"@types/node\":\"12.0.4\",\"@types/node-fetch\":\"2.5.4\",\"@types/recursive-readdir\":\"2.2.0\",\"@types/tar-fs\":\"1.16.1\",\"typescript\":\"4.3.4\"},\"jest\":{\"preset\":\"ts-jest\",\"testEnvironment\":\"node\",\"verbose\":false,\"setupFilesAfterEnv\":[\"<rootDir>/tests/setup/index.ts\"]},\"dependencies\":{\"@vercel/build-utils\":\"5.5.2\",\"@vercel/routing-utils\":\"2.0.2\",\"@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\"}}");
249360
249377
 
249361
249378
  /***/ }),
249362
249379
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "28.4.2",
3
+ "version": "28.4.4",
4
4
  "preferGlobal": true,
5
5
  "license": "Apache-2.0",
6
6
  "description": "The command-line interface for Vercel",
@@ -41,16 +41,16 @@
41
41
  "node": ">= 14"
42
42
  },
43
43
  "dependencies": {
44
- "@vercel/build-utils": "5.5.0",
45
- "@vercel/go": "2.2.8",
46
- "@vercel/hydrogen": "0.0.21",
47
- "@vercel/next": "3.1.29",
48
- "@vercel/node": "2.5.18",
49
- "@vercel/python": "3.1.17",
50
- "@vercel/redwood": "1.0.26",
51
- "@vercel/remix": "1.0.27",
52
- "@vercel/ruby": "1.3.34",
53
- "@vercel/static-build": "1.0.26",
44
+ "@vercel/build-utils": "5.5.2",
45
+ "@vercel/go": "2.2.10",
46
+ "@vercel/hydrogen": "0.0.23",
47
+ "@vercel/next": "3.2.0",
48
+ "@vercel/node": "2.5.20",
49
+ "@vercel/python": "3.1.19",
50
+ "@vercel/redwood": "1.0.28",
51
+ "@vercel/remix": "1.0.29",
52
+ "@vercel/ruby": "1.3.36",
53
+ "@vercel/static-build": "1.0.28",
54
54
  "update-notifier": "5.1.0"
55
55
  },
56
56
  "devDependencies": {
@@ -95,7 +95,7 @@
95
95
  "@types/which": "1.3.2",
96
96
  "@types/write-json-file": "2.2.1",
97
97
  "@types/yauzl-promise": "2.1.0",
98
- "@vercel/client": "12.2.7",
98
+ "@vercel/client": "12.2.9",
99
99
  "@vercel/frameworks": "1.1.6",
100
100
  "@vercel/fs-detectors": "3.4.0",
101
101
  "@vercel/fun": "1.0.4",
@@ -193,5 +193,5 @@
193
193
  "<rootDir>/test/**/*.test.ts"
194
194
  ]
195
195
  },
196
- "gitHead": "a825bc95409aa1403e062e45afebe194c8197061"
196
+ "gitHead": "8cd84ec066fb50de6c3c4630465f896609e8f412"
197
197
  }