vercel 28.4.1 → 28.4.3

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