vercel 28.1.4 → 28.2.2

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.
package/dist/index.js CHANGED
@@ -111816,257 +111816,6 @@ function nextTick(fn, arg1, arg2, arg3) {
111816
111816
 
111817
111817
 
111818
111818
 
111819
- /***/ }),
111820
-
111821
- /***/ 72593:
111822
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
111823
-
111824
- module.exports = __webpack_require__(89532);
111825
-
111826
-
111827
- /***/ }),
111828
-
111829
- /***/ 89532:
111830
- /***/ ((module, exports) => {
111831
-
111832
- /*!
111833
- * node-progress
111834
- * Copyright(c) 2011 TJ Holowaychuk <tj@vision-media.ca>
111835
- * MIT Licensed
111836
- */
111837
-
111838
- /**
111839
- * Expose `ProgressBar`.
111840
- */
111841
-
111842
- exports = module.exports = ProgressBar;
111843
-
111844
- /**
111845
- * Initialize a `ProgressBar` with the given `fmt` string and `options` or
111846
- * `total`.
111847
- *
111848
- * Options:
111849
- *
111850
- * - `curr` current completed index
111851
- * - `total` total number of ticks to complete
111852
- * - `width` the displayed width of the progress bar defaulting to total
111853
- * - `stream` the output stream defaulting to stderr
111854
- * - `head` head character defaulting to complete character
111855
- * - `complete` completion character defaulting to "="
111856
- * - `incomplete` incomplete character defaulting to "-"
111857
- * - `renderThrottle` minimum time between updates in milliseconds defaulting to 16
111858
- * - `callback` optional function to call when the progress bar completes
111859
- * - `clear` will clear the progress bar upon termination
111860
- *
111861
- * Tokens:
111862
- *
111863
- * - `:bar` the progress bar itself
111864
- * - `:current` current tick number
111865
- * - `:total` total ticks
111866
- * - `:elapsed` time elapsed in seconds
111867
- * - `:percent` completion percentage
111868
- * - `:eta` eta in seconds
111869
- * - `:rate` rate of ticks per second
111870
- *
111871
- * @param {string} fmt
111872
- * @param {object|number} options or total
111873
- * @api public
111874
- */
111875
-
111876
- function ProgressBar(fmt, options) {
111877
- this.stream = options.stream || process.stderr;
111878
-
111879
- if (typeof(options) == 'number') {
111880
- var total = options;
111881
- options = {};
111882
- options.total = total;
111883
- } else {
111884
- options = options || {};
111885
- if ('string' != typeof fmt) throw new Error('format required');
111886
- if ('number' != typeof options.total) throw new Error('total required');
111887
- }
111888
-
111889
- this.fmt = fmt;
111890
- this.curr = options.curr || 0;
111891
- this.total = options.total;
111892
- this.width = options.width || this.total;
111893
- this.clear = options.clear
111894
- this.chars = {
111895
- complete : options.complete || '=',
111896
- incomplete : options.incomplete || '-',
111897
- head : options.head || (options.complete || '=')
111898
- };
111899
- this.renderThrottle = options.renderThrottle !== 0 ? (options.renderThrottle || 16) : 0;
111900
- this.lastRender = -Infinity;
111901
- this.callback = options.callback || function () {};
111902
- this.tokens = {};
111903
- this.lastDraw = '';
111904
- }
111905
-
111906
- /**
111907
- * "tick" the progress bar with optional `len` and optional `tokens`.
111908
- *
111909
- * @param {number|object} len or tokens
111910
- * @param {object} tokens
111911
- * @api public
111912
- */
111913
-
111914
- ProgressBar.prototype.tick = function(len, tokens){
111915
- if (len !== 0)
111916
- len = len || 1;
111917
-
111918
- // swap tokens
111919
- if ('object' == typeof len) tokens = len, len = 1;
111920
- if (tokens) this.tokens = tokens;
111921
-
111922
- // start time for eta
111923
- if (0 == this.curr) this.start = new Date;
111924
-
111925
- this.curr += len
111926
-
111927
- // try to render
111928
- this.render();
111929
-
111930
- // progress complete
111931
- if (this.curr >= this.total) {
111932
- this.render(undefined, true);
111933
- this.complete = true;
111934
- this.terminate();
111935
- this.callback(this);
111936
- return;
111937
- }
111938
- };
111939
-
111940
- /**
111941
- * Method to render the progress bar with optional `tokens` to place in the
111942
- * progress bar's `fmt` field.
111943
- *
111944
- * @param {object} tokens
111945
- * @api public
111946
- */
111947
-
111948
- ProgressBar.prototype.render = function (tokens, force) {
111949
- force = force !== undefined ? force : false;
111950
- if (tokens) this.tokens = tokens;
111951
-
111952
- if (!this.stream.isTTY) return;
111953
-
111954
- var now = Date.now();
111955
- var delta = now - this.lastRender;
111956
- if (!force && (delta < this.renderThrottle)) {
111957
- return;
111958
- } else {
111959
- this.lastRender = now;
111960
- }
111961
-
111962
- var ratio = this.curr / this.total;
111963
- ratio = Math.min(Math.max(ratio, 0), 1);
111964
-
111965
- var percent = Math.floor(ratio * 100);
111966
- var incomplete, complete, completeLength;
111967
- var elapsed = new Date - this.start;
111968
- var eta = (percent == 100) ? 0 : elapsed * (this.total / this.curr - 1);
111969
- var rate = this.curr / (elapsed / 1000);
111970
-
111971
- /* populate the bar template with percentages and timestamps */
111972
- var str = this.fmt
111973
- .replace(':current', this.curr)
111974
- .replace(':total', this.total)
111975
- .replace(':elapsed', isNaN(elapsed) ? '0.0' : (elapsed / 1000).toFixed(1))
111976
- .replace(':eta', (isNaN(eta) || !isFinite(eta)) ? '0.0' : (eta / 1000)
111977
- .toFixed(1))
111978
- .replace(':percent', percent.toFixed(0) + '%')
111979
- .replace(':rate', Math.round(rate));
111980
-
111981
- /* compute the available space (non-zero) for the bar */
111982
- var availableSpace = Math.max(0, this.stream.columns - str.replace(':bar', '').length);
111983
- if(availableSpace && process.platform === 'win32'){
111984
- availableSpace = availableSpace - 1;
111985
- }
111986
-
111987
- var width = Math.min(this.width, availableSpace);
111988
-
111989
- /* TODO: the following assumes the user has one ':bar' token */
111990
- completeLength = Math.round(width * ratio);
111991
- complete = Array(Math.max(0, completeLength + 1)).join(this.chars.complete);
111992
- incomplete = Array(Math.max(0, width - completeLength + 1)).join(this.chars.incomplete);
111993
-
111994
- /* add head to the complete string */
111995
- if(completeLength > 0)
111996
- complete = complete.slice(0, -1) + this.chars.head;
111997
-
111998
- /* fill in the actual progress bar */
111999
- str = str.replace(':bar', complete + incomplete);
112000
-
112001
- /* replace the extra tokens */
112002
- if (this.tokens) for (var key in this.tokens) str = str.replace(':' + key, this.tokens[key]);
112003
-
112004
- if (this.lastDraw !== str) {
112005
- this.stream.cursorTo(0);
112006
- this.stream.write(str);
112007
- this.stream.clearLine(1);
112008
- this.lastDraw = str;
112009
- }
112010
- };
112011
-
112012
- /**
112013
- * "update" the progress bar to represent an exact percentage.
112014
- * The ratio (between 0 and 1) specified will be multiplied by `total` and
112015
- * floored, representing the closest available "tick." For example, if a
112016
- * progress bar has a length of 3 and `update(0.5)` is called, the progress
112017
- * will be set to 1.
112018
- *
112019
- * A ratio of 0.5 will attempt to set the progress to halfway.
112020
- *
112021
- * @param {number} ratio The ratio (between 0 and 1 inclusive) to set the
112022
- * overall completion to.
112023
- * @api public
112024
- */
112025
-
112026
- ProgressBar.prototype.update = function (ratio, tokens) {
112027
- var goal = Math.floor(ratio * this.total);
112028
- var delta = goal - this.curr;
112029
-
112030
- this.tick(delta, tokens);
112031
- };
112032
-
112033
- /**
112034
- * "interrupt" the progress bar and write a message above it.
112035
- * @param {string} message The message to write.
112036
- * @api public
112037
- */
112038
-
112039
- ProgressBar.prototype.interrupt = function (message) {
112040
- // clear the current line
112041
- this.stream.clearLine();
112042
- // move the cursor to the start of the line
112043
- this.stream.cursorTo(0);
112044
- // write the message text
112045
- this.stream.write(message);
112046
- // terminate the line after writing the message
112047
- this.stream.write('\n');
112048
- // re-display the progress bar with its lastDraw
112049
- this.stream.write(this.lastDraw);
112050
- };
112051
-
112052
- /**
112053
- * Terminates a progress bar.
112054
- *
112055
- * @api public
112056
- */
112057
-
112058
- ProgressBar.prototype.terminate = function () {
112059
- if (this.clear) {
112060
- if (this.stream.clearLine) {
112061
- this.stream.clearLine();
112062
- this.stream.cursorTo(0);
112063
- }
112064
- } else {
112065
- this.stream.write('\n');
112066
- }
112067
- };
112068
-
112069
-
112070
111819
  /***/ }),
112071
111820
 
112072
111821
  /***/ 48568:
@@ -189624,6 +189373,9 @@ function debug(message, ...additional) {
189624
189373
  if (get_platform_env_1.getPlatformEnv('BUILDER_DEBUG')) {
189625
189374
  console.log(message, ...additional);
189626
189375
  }
189376
+ else if (process.env.VERCEL_DEBUG_PREFIX) {
189377
+ console.log(`${process.env.VERCEL_DEBUG_PREFIX}${message}`, ...additional);
189378
+ }
189627
189379
  }
189628
189380
  exports.default = debug;
189629
189381
 
@@ -189751,7 +189503,7 @@ function getSuggestion(topLevelProp, additionalProperty) {
189751
189503
  /***/ }),
189752
189504
 
189753
189505
  /***/ 2397:
189754
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_837513__) {
189506
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_837651__) {
189755
189507
 
189756
189508
  "use strict";
189757
189509
 
@@ -189759,8 +189511,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
189759
189511
  return (mod && mod.__esModule) ? mod : { "default": mod };
189760
189512
  };
189761
189513
  Object.defineProperty(exports, "__esModule", ({ value: true }));
189762
- const assert_1 = __importDefault(__nested_webpack_require_837513__(2357));
189763
- const into_stream_1 = __importDefault(__nested_webpack_require_837513__(6130));
189514
+ const assert_1 = __importDefault(__nested_webpack_require_837651__(2357));
189515
+ const into_stream_1 = __importDefault(__nested_webpack_require_837651__(6130));
189764
189516
  class FileBlob {
189765
189517
  constructor({ mode = 0o100644, contentType, data }) {
189766
189518
  assert_1.default(typeof mode === 'number');
@@ -189795,7 +189547,7 @@ exports.default = FileBlob;
189795
189547
  /***/ }),
189796
189548
 
189797
189549
  /***/ 9331:
189798
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_839031__) {
189550
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_839169__) {
189799
189551
 
189800
189552
  "use strict";
189801
189553
 
@@ -189803,11 +189555,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
189803
189555
  return (mod && mod.__esModule) ? mod : { "default": mod };
189804
189556
  };
189805
189557
  Object.defineProperty(exports, "__esModule", ({ value: true }));
189806
- const assert_1 = __importDefault(__nested_webpack_require_839031__(2357));
189807
- const fs_extra_1 = __importDefault(__nested_webpack_require_839031__(5392));
189808
- const multistream_1 = __importDefault(__nested_webpack_require_839031__(8179));
189809
- const path_1 = __importDefault(__nested_webpack_require_839031__(5622));
189810
- const async_sema_1 = __importDefault(__nested_webpack_require_839031__(5758));
189558
+ const assert_1 = __importDefault(__nested_webpack_require_839169__(2357));
189559
+ const fs_extra_1 = __importDefault(__nested_webpack_require_839169__(5392));
189560
+ const multistream_1 = __importDefault(__nested_webpack_require_839169__(8179));
189561
+ const path_1 = __importDefault(__nested_webpack_require_839169__(5622));
189562
+ const async_sema_1 = __importDefault(__nested_webpack_require_839169__(5758));
189811
189563
  const semaToPreventEMFILE = new async_sema_1.default(20);
189812
189564
  class FileFsRef {
189813
189565
  constructor({ mode = 0o100644, contentType, fsPath }) {
@@ -189873,7 +189625,7 @@ exports.default = FileFsRef;
189873
189625
  /***/ }),
189874
189626
 
189875
189627
  /***/ 5187:
189876
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_841835__) {
189628
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_841973__) {
189877
189629
 
189878
189630
  "use strict";
189879
189631
 
@@ -189881,11 +189633,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
189881
189633
  return (mod && mod.__esModule) ? mod : { "default": mod };
189882
189634
  };
189883
189635
  Object.defineProperty(exports, "__esModule", ({ value: true }));
189884
- const assert_1 = __importDefault(__nested_webpack_require_841835__(2357));
189885
- const node_fetch_1 = __importDefault(__nested_webpack_require_841835__(2197));
189886
- const multistream_1 = __importDefault(__nested_webpack_require_841835__(8179));
189887
- const async_retry_1 = __importDefault(__nested_webpack_require_841835__(3691));
189888
- const async_sema_1 = __importDefault(__nested_webpack_require_841835__(5758));
189636
+ const assert_1 = __importDefault(__nested_webpack_require_841973__(2357));
189637
+ const node_fetch_1 = __importDefault(__nested_webpack_require_841973__(2197));
189638
+ const multistream_1 = __importDefault(__nested_webpack_require_841973__(8179));
189639
+ const async_retry_1 = __importDefault(__nested_webpack_require_841973__(3691));
189640
+ const async_sema_1 = __importDefault(__nested_webpack_require_841973__(5758));
189889
189641
  const semaToDownloadFromS3 = new async_sema_1.default(5);
189890
189642
  class BailableError extends Error {
189891
189643
  constructor(...args) {
@@ -189966,7 +189718,7 @@ exports.default = FileRef;
189966
189718
  /***/ }),
189967
189719
 
189968
189720
  /***/ 1611:
189969
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_845236__) {
189721
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_845374__) {
189970
189722
 
189971
189723
  "use strict";
189972
189724
 
@@ -189975,11 +189727,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
189975
189727
  };
189976
189728
  Object.defineProperty(exports, "__esModule", ({ value: true }));
189977
189729
  exports.downloadFile = exports.isSymbolicLink = void 0;
189978
- const path_1 = __importDefault(__nested_webpack_require_845236__(5622));
189979
- const debug_1 = __importDefault(__nested_webpack_require_845236__(1868));
189980
- const file_fs_ref_1 = __importDefault(__nested_webpack_require_845236__(9331));
189981
- const fs_extra_1 = __nested_webpack_require_845236__(5392);
189982
- const stream_to_buffer_1 = __importDefault(__nested_webpack_require_845236__(2560));
189730
+ const path_1 = __importDefault(__nested_webpack_require_845374__(5622));
189731
+ const debug_1 = __importDefault(__nested_webpack_require_845374__(1868));
189732
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_845374__(9331));
189733
+ const fs_extra_1 = __nested_webpack_require_845374__(5392);
189734
+ const stream_to_buffer_1 = __importDefault(__nested_webpack_require_845374__(2560));
189983
189735
  const S_IFMT = 61440; /* 0170000 type of file */
189984
189736
  const S_IFLNK = 40960; /* 0120000 symbolic link */
189985
189737
  function isSymbolicLink(mode) {
@@ -190070,14 +189822,14 @@ exports.default = download;
190070
189822
  /***/ }),
190071
189823
 
190072
189824
  /***/ 3838:
190073
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_849671__) => {
189825
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_849809__) => {
190074
189826
 
190075
189827
  "use strict";
190076
189828
 
190077
189829
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190078
- const path_1 = __nested_webpack_require_849671__(5622);
190079
- const os_1 = __nested_webpack_require_849671__(2087);
190080
- const fs_extra_1 = __nested_webpack_require_849671__(5392);
189830
+ const path_1 = __nested_webpack_require_849809__(5622);
189831
+ const os_1 = __nested_webpack_require_849809__(2087);
189832
+ const fs_extra_1 = __nested_webpack_require_849809__(5392);
190081
189833
  async function getWritableDirectory() {
190082
189834
  const name = Math.floor(Math.random() * 0x7fffffff).toString(16);
190083
189835
  const directory = path_1.join(os_1.tmpdir(), name);
@@ -190090,7 +189842,7 @@ exports.default = getWritableDirectory;
190090
189842
  /***/ }),
190091
189843
 
190092
189844
  /***/ 4240:
190093
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_850251__) {
189845
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_850389__) {
190094
189846
 
190095
189847
  "use strict";
190096
189848
 
@@ -190098,13 +189850,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190098
189850
  return (mod && mod.__esModule) ? mod : { "default": mod };
190099
189851
  };
190100
189852
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190101
- const path_1 = __importDefault(__nested_webpack_require_850251__(5622));
190102
- const assert_1 = __importDefault(__nested_webpack_require_850251__(2357));
190103
- const glob_1 = __importDefault(__nested_webpack_require_850251__(1104));
190104
- const util_1 = __nested_webpack_require_850251__(1669);
190105
- const fs_extra_1 = __nested_webpack_require_850251__(5392);
190106
- const normalize_path_1 = __nested_webpack_require_850251__(6261);
190107
- const file_fs_ref_1 = __importDefault(__nested_webpack_require_850251__(9331));
189853
+ const path_1 = __importDefault(__nested_webpack_require_850389__(5622));
189854
+ const assert_1 = __importDefault(__nested_webpack_require_850389__(2357));
189855
+ const glob_1 = __importDefault(__nested_webpack_require_850389__(1104));
189856
+ const util_1 = __nested_webpack_require_850389__(1669);
189857
+ const fs_extra_1 = __nested_webpack_require_850389__(5392);
189858
+ const normalize_path_1 = __nested_webpack_require_850389__(6261);
189859
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_850389__(9331));
190108
189860
  const vanillaGlob = util_1.promisify(glob_1.default);
190109
189861
  async function glob(pattern, opts, mountpoint) {
190110
189862
  let options;
@@ -190151,7 +189903,7 @@ exports.default = glob;
190151
189903
  /***/ }),
190152
189904
 
190153
189905
  /***/ 7903:
190154
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_852472__) {
189906
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_852610__) {
190155
189907
 
190156
189908
  "use strict";
190157
189909
 
@@ -190160,9 +189912,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190160
189912
  };
190161
189913
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190162
189914
  exports.getSupportedNodeVersion = exports.getDiscontinuedNodeVersions = exports.getLatestNodeVersion = void 0;
190163
- const semver_1 = __nested_webpack_require_852472__(2879);
190164
- const errors_1 = __nested_webpack_require_852472__(3983);
190165
- const debug_1 = __importDefault(__nested_webpack_require_852472__(1868));
189915
+ const semver_1 = __nested_webpack_require_852610__(2879);
189916
+ const errors_1 = __nested_webpack_require_852610__(3983);
189917
+ const debug_1 = __importDefault(__nested_webpack_require_852610__(1868));
190166
189918
  const allOptions = [
190167
189919
  { major: 16, range: '16.x', runtime: 'nodejs16.x' },
190168
189920
  { major: 14, range: '14.x', runtime: 'nodejs14.x' },
@@ -190261,7 +190013,7 @@ exports.normalizePath = normalizePath;
190261
190013
  /***/ }),
190262
190014
 
190263
190015
  /***/ 7792:
190264
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_856326__) {
190016
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_856464__) {
190265
190017
 
190266
190018
  "use strict";
190267
190019
 
@@ -190270,9 +190022,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190270
190022
  };
190271
190023
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190272
190024
  exports.readConfigFile = void 0;
190273
- const js_yaml_1 = __importDefault(__nested_webpack_require_856326__(6540));
190274
- const toml_1 = __importDefault(__nested_webpack_require_856326__(9434));
190275
- const fs_extra_1 = __nested_webpack_require_856326__(5392);
190025
+ const js_yaml_1 = __importDefault(__nested_webpack_require_856464__(6540));
190026
+ const toml_1 = __importDefault(__nested_webpack_require_856464__(9434));
190027
+ const fs_extra_1 = __nested_webpack_require_856464__(5392);
190276
190028
  async function readFileOrNull(file) {
190277
190029
  try {
190278
190030
  const data = await fs_extra_1.readFile(file);
@@ -190327,7 +190079,7 @@ exports.default = rename;
190327
190079
  /***/ }),
190328
190080
 
190329
190081
  /***/ 1442:
190330
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_858119__) {
190082
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_858257__) {
190331
190083
 
190332
190084
  "use strict";
190333
190085
 
@@ -190336,17 +190088,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190336
190088
  };
190337
190089
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190338
190090
  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;
190339
- const assert_1 = __importDefault(__nested_webpack_require_858119__(2357));
190340
- const fs_extra_1 = __importDefault(__nested_webpack_require_858119__(5392));
190341
- const path_1 = __importDefault(__nested_webpack_require_858119__(5622));
190342
- const async_sema_1 = __importDefault(__nested_webpack_require_858119__(5758));
190343
- const cross_spawn_1 = __importDefault(__nested_webpack_require_858119__(7618));
190344
- const semver_1 = __nested_webpack_require_858119__(2879);
190345
- const util_1 = __nested_webpack_require_858119__(1669);
190346
- const debug_1 = __importDefault(__nested_webpack_require_858119__(1868));
190347
- const errors_1 = __nested_webpack_require_858119__(3983);
190348
- const node_version_1 = __nested_webpack_require_858119__(7903);
190349
- const read_config_file_1 = __nested_webpack_require_858119__(7792);
190091
+ const assert_1 = __importDefault(__nested_webpack_require_858257__(2357));
190092
+ const fs_extra_1 = __importDefault(__nested_webpack_require_858257__(5392));
190093
+ const path_1 = __importDefault(__nested_webpack_require_858257__(5622));
190094
+ const async_sema_1 = __importDefault(__nested_webpack_require_858257__(5758));
190095
+ const cross_spawn_1 = __importDefault(__nested_webpack_require_858257__(7618));
190096
+ const semver_1 = __nested_webpack_require_858257__(2879);
190097
+ const util_1 = __nested_webpack_require_858257__(1669);
190098
+ const debug_1 = __importDefault(__nested_webpack_require_858257__(1868));
190099
+ const errors_1 = __nested_webpack_require_858257__(3983);
190100
+ const node_version_1 = __nested_webpack_require_858257__(7903);
190101
+ const read_config_file_1 = __nested_webpack_require_858257__(7792);
190350
190102
  // Only allow one `runNpmInstall()` invocation to run concurrently
190351
190103
  const runNpmInstallSema = new async_sema_1.default(1);
190352
190104
  function spawnAsync(command, args, opts = {}) {
@@ -190427,21 +190179,9 @@ async function execCommand(command, options = {}) {
190427
190179
  }
190428
190180
  exports.execCommand = execCommand;
190429
190181
  async function getNodeBinPath({ cwd, }) {
190430
- const { code, stdout, stderr } = await execAsync('npm', ['bin'], {
190431
- cwd,
190432
- prettyCommand: 'npm bin',
190433
- // in some rare cases, we saw `npm bin` exit with a non-0 code, but still
190434
- // output the right bin path, so we ignore the exit code
190435
- ignoreNon0Exit: true,
190436
- });
190437
- const nodeBinPath = stdout.trim();
190438
- if (path_1.default.isAbsolute(nodeBinPath)) {
190439
- return nodeBinPath;
190440
- }
190441
- throw new errors_1.NowBuildError({
190442
- code: `BUILD_UTILS_GET_NODE_BIN_PATH`,
190443
- message: `Running \`npm bin\` failed to return a valid bin path (code=${code}, stdout=${stdout}, stderr=${stderr})`,
190444
- });
190182
+ const { lockfilePath } = await scanParentDirs(cwd);
190183
+ const dir = path_1.default.dirname(lockfilePath || cwd);
190184
+ return path_1.default.join(dir, 'node_modules', '.bin');
190445
190185
  }
190446
190186
  exports.getNodeBinPath = getNodeBinPath;
190447
190187
  async function chmodPlusX(fsPath) {
@@ -190534,6 +190274,7 @@ async function scanParentDirs(destPath, readPackageJson = false) {
190534
190274
  start: destPath,
190535
190275
  filenames: ['yarn.lock', 'package-lock.json', 'pnpm-lock.yaml'],
190536
190276
  });
190277
+ let lockfilePath;
190537
190278
  let lockfileVersion;
190538
190279
  let cliType = 'yarn';
190539
190280
  const [hasYarnLock, packageLockJson, pnpmLockYaml] = await Promise.all([
@@ -190548,18 +190289,26 @@ async function scanParentDirs(destPath, readPackageJson = false) {
190548
190289
  // Priority order is Yarn > pnpm > npm
190549
190290
  if (hasYarnLock) {
190550
190291
  cliType = 'yarn';
190292
+ lockfilePath = yarnLockPath;
190551
190293
  }
190552
190294
  else if (pnpmLockYaml) {
190553
190295
  cliType = 'pnpm';
190554
- // just ensure that it is read as a number and not a string
190296
+ lockfilePath = pnpmLockPath;
190555
190297
  lockfileVersion = Number(pnpmLockYaml.lockfileVersion);
190556
190298
  }
190557
190299
  else if (packageLockJson) {
190558
190300
  cliType = 'npm';
190301
+ lockfilePath = npmLockPath;
190559
190302
  lockfileVersion = packageLockJson.lockfileVersion;
190560
190303
  }
190561
190304
  const packageJsonPath = pkgJsonPath || undefined;
190562
- return { cliType, packageJson, lockfileVersion, packageJsonPath };
190305
+ return {
190306
+ cliType,
190307
+ packageJson,
190308
+ lockfilePath,
190309
+ lockfileVersion,
190310
+ packageJsonPath,
190311
+ };
190563
190312
  }
190564
190313
  exports.scanParentDirs = scanParentDirs;
190565
190314
  async function walkParentDirs({ base, start, filename, }) {
@@ -190798,7 +190547,7 @@ exports.installDependencies = util_1.deprecate(runNpmInstall, 'installDependenci
190798
190547
  /***/ }),
190799
190548
 
190800
190549
  /***/ 2560:
190801
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_877226__) {
190550
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_877020__) {
190802
190551
 
190803
190552
  "use strict";
190804
190553
 
@@ -190806,7 +190555,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190806
190555
  return (mod && mod.__esModule) ? mod : { "default": mod };
190807
190556
  };
190808
190557
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190809
- const end_of_stream_1 = __importDefault(__nested_webpack_require_877226__(687));
190558
+ const end_of_stream_1 = __importDefault(__nested_webpack_require_877020__(687));
190810
190559
  function streamToBuffer(stream) {
190811
190560
  return new Promise((resolve, reject) => {
190812
190561
  const buffers = [];
@@ -190835,7 +190584,7 @@ exports.default = streamToBuffer;
190835
190584
  /***/ }),
190836
190585
 
190837
190586
  /***/ 1148:
190838
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_878294__) {
190587
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_878088__) {
190839
190588
 
190840
190589
  "use strict";
190841
190590
 
@@ -190843,9 +190592,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190843
190592
  return (mod && mod.__esModule) ? mod : { "default": mod };
190844
190593
  };
190845
190594
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190846
- const path_1 = __importDefault(__nested_webpack_require_878294__(5622));
190847
- const fs_extra_1 = __importDefault(__nested_webpack_require_878294__(5392));
190848
- const ignore_1 = __importDefault(__nested_webpack_require_878294__(3556));
190595
+ const path_1 = __importDefault(__nested_webpack_require_878088__(5622));
190596
+ const fs_extra_1 = __importDefault(__nested_webpack_require_878088__(5392));
190597
+ const ignore_1 = __importDefault(__nested_webpack_require_878088__(3556));
190849
190598
  function isCodedError(error) {
190850
190599
  return (error !== null &&
190851
190600
  error !== undefined &&
@@ -190902,13 +190651,13 @@ exports.default = default_1;
190902
190651
  /***/ }),
190903
190652
 
190904
190653
  /***/ 4678:
190905
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_880668__) => {
190654
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_880462__) => {
190906
190655
 
190907
190656
  "use strict";
190908
190657
 
190909
190658
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190910
190659
  exports.getPlatformEnv = void 0;
190911
- const errors_1 = __nested_webpack_require_880668__(3983);
190660
+ const errors_1 = __nested_webpack_require_880462__(3983);
190912
190661
  /**
190913
190662
  * Helper function to support both `VERCEL_` and legacy `NOW_` env vars.
190914
190663
  * Throws an error if *both* env vars are defined.
@@ -190972,7 +190721,7 @@ exports.getPrefixedEnvVars = getPrefixedEnvVars;
190972
190721
  /***/ }),
190973
190722
 
190974
190723
  /***/ 2855:
190975
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_882927__) {
190724
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_882721__) {
190976
190725
 
190977
190726
  "use strict";
190978
190727
 
@@ -191003,31 +190752,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
191003
190752
  };
191004
190753
  Object.defineProperty(exports, "__esModule", ({ value: true }));
191005
190754
  exports.normalizePath = exports.readConfigFile = exports.EdgeFunction = 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;
191006
- const file_blob_1 = __importDefault(__nested_webpack_require_882927__(2397));
190755
+ const file_blob_1 = __importDefault(__nested_webpack_require_882721__(2397));
191007
190756
  exports.FileBlob = file_blob_1.default;
191008
- const file_fs_ref_1 = __importDefault(__nested_webpack_require_882927__(9331));
190757
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_882721__(9331));
191009
190758
  exports.FileFsRef = file_fs_ref_1.default;
191010
- const file_ref_1 = __importDefault(__nested_webpack_require_882927__(5187));
190759
+ const file_ref_1 = __importDefault(__nested_webpack_require_882721__(5187));
191011
190760
  exports.FileRef = file_ref_1.default;
191012
- const lambda_1 = __nested_webpack_require_882927__(6721);
190761
+ const lambda_1 = __nested_webpack_require_882721__(6721);
191013
190762
  Object.defineProperty(exports, "Lambda", ({ enumerable: true, get: function () { return lambda_1.Lambda; } }));
191014
190763
  Object.defineProperty(exports, "createLambda", ({ enumerable: true, get: function () { return lambda_1.createLambda; } }));
191015
190764
  Object.defineProperty(exports, "getLambdaOptionsFromFunction", ({ enumerable: true, get: function () { return lambda_1.getLambdaOptionsFromFunction; } }));
191016
- const nodejs_lambda_1 = __nested_webpack_require_882927__(7049);
190765
+ const nodejs_lambda_1 = __nested_webpack_require_882721__(7049);
191017
190766
  Object.defineProperty(exports, "NodejsLambda", ({ enumerable: true, get: function () { return nodejs_lambda_1.NodejsLambda; } }));
191018
- const prerender_1 = __nested_webpack_require_882927__(2850);
190767
+ const prerender_1 = __nested_webpack_require_882721__(2850);
191019
190768
  Object.defineProperty(exports, "Prerender", ({ enumerable: true, get: function () { return prerender_1.Prerender; } }));
191020
- const download_1 = __importStar(__nested_webpack_require_882927__(1611));
190769
+ const download_1 = __importStar(__nested_webpack_require_882721__(1611));
191021
190770
  exports.download = download_1.default;
191022
190771
  Object.defineProperty(exports, "downloadFile", ({ enumerable: true, get: function () { return download_1.downloadFile; } }));
191023
190772
  Object.defineProperty(exports, "isSymbolicLink", ({ enumerable: true, get: function () { return download_1.isSymbolicLink; } }));
191024
- const get_writable_directory_1 = __importDefault(__nested_webpack_require_882927__(3838));
190773
+ const get_writable_directory_1 = __importDefault(__nested_webpack_require_882721__(3838));
191025
190774
  exports.getWriteableDirectory = get_writable_directory_1.default;
191026
- const glob_1 = __importDefault(__nested_webpack_require_882927__(4240));
190775
+ const glob_1 = __importDefault(__nested_webpack_require_882721__(4240));
191027
190776
  exports.glob = glob_1.default;
191028
- const rename_1 = __importDefault(__nested_webpack_require_882927__(6718));
190777
+ const rename_1 = __importDefault(__nested_webpack_require_882721__(6718));
191029
190778
  exports.rename = rename_1.default;
191030
- const run_user_scripts_1 = __nested_webpack_require_882927__(1442);
190779
+ const run_user_scripts_1 = __nested_webpack_require_882721__(1442);
191031
190780
  Object.defineProperty(exports, "execAsync", ({ enumerable: true, get: function () { return run_user_scripts_1.execAsync; } }));
191032
190781
  Object.defineProperty(exports, "spawnAsync", ({ enumerable: true, get: function () { return run_user_scripts_1.spawnAsync; } }));
191033
190782
  Object.defineProperty(exports, "execCommand", ({ enumerable: true, get: function () { return run_user_scripts_1.execCommand; } }));
@@ -191046,35 +190795,35 @@ Object.defineProperty(exports, "getNodeVersion", ({ enumerable: true, get: funct
191046
190795
  Object.defineProperty(exports, "getSpawnOptions", ({ enumerable: true, get: function () { return run_user_scripts_1.getSpawnOptions; } }));
191047
190796
  Object.defineProperty(exports, "getNodeBinPath", ({ enumerable: true, get: function () { return run_user_scripts_1.getNodeBinPath; } }));
191048
190797
  Object.defineProperty(exports, "scanParentDirs", ({ enumerable: true, get: function () { return run_user_scripts_1.scanParentDirs; } }));
191049
- const node_version_1 = __nested_webpack_require_882927__(7903);
190798
+ const node_version_1 = __nested_webpack_require_882721__(7903);
191050
190799
  Object.defineProperty(exports, "getLatestNodeVersion", ({ enumerable: true, get: function () { return node_version_1.getLatestNodeVersion; } }));
191051
190800
  Object.defineProperty(exports, "getDiscontinuedNodeVersions", ({ enumerable: true, get: function () { return node_version_1.getDiscontinuedNodeVersions; } }));
191052
- const stream_to_buffer_1 = __importDefault(__nested_webpack_require_882927__(2560));
190801
+ const stream_to_buffer_1 = __importDefault(__nested_webpack_require_882721__(2560));
191053
190802
  exports.streamToBuffer = stream_to_buffer_1.default;
191054
- const debug_1 = __importDefault(__nested_webpack_require_882927__(1868));
190803
+ const debug_1 = __importDefault(__nested_webpack_require_882721__(1868));
191055
190804
  exports.debug = debug_1.default;
191056
- const get_ignore_filter_1 = __importDefault(__nested_webpack_require_882927__(1148));
190805
+ const get_ignore_filter_1 = __importDefault(__nested_webpack_require_882721__(1148));
191057
190806
  exports.getIgnoreFilter = get_ignore_filter_1.default;
191058
- const get_platform_env_1 = __nested_webpack_require_882927__(4678);
190807
+ const get_platform_env_1 = __nested_webpack_require_882721__(4678);
191059
190808
  Object.defineProperty(exports, "getPlatformEnv", ({ enumerable: true, get: function () { return get_platform_env_1.getPlatformEnv; } }));
191060
- const get_prefixed_env_vars_1 = __nested_webpack_require_882927__(6838);
190809
+ const get_prefixed_env_vars_1 = __nested_webpack_require_882721__(6838);
191061
190810
  Object.defineProperty(exports, "getPrefixedEnvVars", ({ enumerable: true, get: function () { return get_prefixed_env_vars_1.getPrefixedEnvVars; } }));
191062
- var edge_function_1 = __nested_webpack_require_882927__(8038);
190811
+ var edge_function_1 = __nested_webpack_require_882721__(8038);
191063
190812
  Object.defineProperty(exports, "EdgeFunction", ({ enumerable: true, get: function () { return edge_function_1.EdgeFunction; } }));
191064
- var read_config_file_1 = __nested_webpack_require_882927__(7792);
190813
+ var read_config_file_1 = __nested_webpack_require_882721__(7792);
191065
190814
  Object.defineProperty(exports, "readConfigFile", ({ enumerable: true, get: function () { return read_config_file_1.readConfigFile; } }));
191066
- var normalize_path_1 = __nested_webpack_require_882927__(6261);
190815
+ var normalize_path_1 = __nested_webpack_require_882721__(6261);
191067
190816
  Object.defineProperty(exports, "normalizePath", ({ enumerable: true, get: function () { return normalize_path_1.normalizePath; } }));
191068
- __exportStar(__nested_webpack_require_882927__(2564), exports);
191069
- __exportStar(__nested_webpack_require_882927__(2416), exports);
191070
- __exportStar(__nested_webpack_require_882927__(5748), exports);
191071
- __exportStar(__nested_webpack_require_882927__(3983), exports);
190817
+ __exportStar(__nested_webpack_require_882721__(2564), exports);
190818
+ __exportStar(__nested_webpack_require_882721__(2416), exports);
190819
+ __exportStar(__nested_webpack_require_882721__(5748), exports);
190820
+ __exportStar(__nested_webpack_require_882721__(3983), exports);
191072
190821
 
191073
190822
 
191074
190823
  /***/ }),
191075
190824
 
191076
190825
  /***/ 6721:
191077
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_891560__) {
190826
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_891354__) {
191078
190827
 
191079
190828
  "use strict";
191080
190829
 
@@ -191083,13 +190832,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
191083
190832
  };
191084
190833
  Object.defineProperty(exports, "__esModule", ({ value: true }));
191085
190834
  exports.getLambdaOptionsFromFunction = exports.createZip = exports.createLambda = exports.Lambda = void 0;
191086
- const assert_1 = __importDefault(__nested_webpack_require_891560__(2357));
191087
- const async_sema_1 = __importDefault(__nested_webpack_require_891560__(5758));
191088
- const yazl_1 = __nested_webpack_require_891560__(1223);
191089
- const minimatch_1 = __importDefault(__nested_webpack_require_891560__(9566));
191090
- const fs_extra_1 = __nested_webpack_require_891560__(5392);
191091
- const download_1 = __nested_webpack_require_891560__(1611);
191092
- const stream_to_buffer_1 = __importDefault(__nested_webpack_require_891560__(2560));
190835
+ const assert_1 = __importDefault(__nested_webpack_require_891354__(2357));
190836
+ const async_sema_1 = __importDefault(__nested_webpack_require_891354__(5758));
190837
+ const yazl_1 = __nested_webpack_require_891354__(1223);
190838
+ const minimatch_1 = __importDefault(__nested_webpack_require_891354__(9566));
190839
+ const fs_extra_1 = __nested_webpack_require_891354__(5392);
190840
+ const download_1 = __nested_webpack_require_891354__(1611);
190841
+ const stream_to_buffer_1 = __importDefault(__nested_webpack_require_891354__(2560));
191093
190842
  class Lambda {
191094
190843
  constructor(opts) {
191095
190844
  const { handler, runtime, maxDuration, memory, environment = {}, allowQuery, regions, supportsMultiPayloads, supportsWrapper, } = opts;
@@ -191215,13 +190964,13 @@ exports.getLambdaOptionsFromFunction = getLambdaOptionsFromFunction;
191215
190964
  /***/ }),
191216
190965
 
191217
190966
  /***/ 7049:
191218
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_897243__) => {
190967
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_897037__) => {
191219
190968
 
191220
190969
  "use strict";
191221
190970
 
191222
190971
  Object.defineProperty(exports, "__esModule", ({ value: true }));
191223
190972
  exports.NodejsLambda = void 0;
191224
- const lambda_1 = __nested_webpack_require_897243__(6721);
190973
+ const lambda_1 = __nested_webpack_require_897037__(6721);
191225
190974
  class NodejsLambda extends lambda_1.Lambda {
191226
190975
  constructor({ shouldAddHelpers, shouldAddSourcemapSupport, awsLambdaHandler, ...opts }) {
191227
190976
  super(opts);
@@ -191358,13 +191107,13 @@ exports.buildsSchema = {
191358
191107
  /***/ }),
191359
191108
 
191360
191109
  /***/ 2564:
191361
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_901588__) => {
191110
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_901382__) => {
191362
191111
 
191363
191112
  "use strict";
191364
191113
 
191365
191114
  Object.defineProperty(exports, "__esModule", ({ value: true }));
191366
191115
  exports.shouldServe = void 0;
191367
- const path_1 = __nested_webpack_require_901588__(5622);
191116
+ const path_1 = __nested_webpack_require_901382__(5622);
191368
191117
  const shouldServe = ({ entrypoint, files, requestPath, }) => {
191369
191118
  requestPath = requestPath.replace(/\/$/, ''); // sanitize trailing '/'
191370
191119
  entrypoint = entrypoint.replace(/\\/, '/'); // windows compatibility
@@ -191609,7 +191358,7 @@ module.exports = __webpack_require__(78761);
191609
191358
  /******/ var __webpack_module_cache__ = {};
191610
191359
  /******/
191611
191360
  /******/ // The require function
191612
- /******/ function __nested_webpack_require_1278953__(moduleId) {
191361
+ /******/ function __nested_webpack_require_1278747__(moduleId) {
191613
191362
  /******/ // Check if module is in cache
191614
191363
  /******/ if(__webpack_module_cache__[moduleId]) {
191615
191364
  /******/ return __webpack_module_cache__[moduleId].exports;
@@ -191624,7 +191373,7 @@ module.exports = __webpack_require__(78761);
191624
191373
  /******/ // Execute the module function
191625
191374
  /******/ var threw = true;
191626
191375
  /******/ try {
191627
- /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_1278953__);
191376
+ /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_1278747__);
191628
191377
  /******/ threw = false;
191629
191378
  /******/ } finally {
191630
191379
  /******/ if(threw) delete __webpack_module_cache__[moduleId];
@@ -191637,11 +191386,11 @@ module.exports = __webpack_require__(78761);
191637
191386
  /************************************************************************/
191638
191387
  /******/ /* webpack/runtime/compat */
191639
191388
  /******/
191640
- /******/ __nested_webpack_require_1278953__.ab = __dirname + "/";/************************************************************************/
191389
+ /******/ __nested_webpack_require_1278747__.ab = __dirname + "/";/************************************************************************/
191641
191390
  /******/ // module exports must be returned from runtime so entry inlining is disabled
191642
191391
  /******/ // startup
191643
191392
  /******/ // Load entry module and return exports
191644
- /******/ return __nested_webpack_require_1278953__(2855);
191393
+ /******/ return __nested_webpack_require_1278747__(2855);
191645
191394
  /******/ })()
191646
191395
  ;
191647
191396
 
@@ -216717,6 +216466,17 @@ class DetectorFilesystem {
216717
216466
  this.readFileCache = new Map();
216718
216467
  this.readdirCache = new Map();
216719
216468
  }
216469
+ /**
216470
+ * Writes a file to the filesystem cache.
216471
+ * @param name the name of the file to write
216472
+ * @param content The content of the file
216473
+ */
216474
+ writeFile(name, content) {
216475
+ if (content)
216476
+ this.readFileCache.set(name, Promise.resolve(Buffer.from(content)));
216477
+ this.fileCache.set(name, Promise.resolve(true));
216478
+ this.pathCache.set(name, Promise.resolve(true));
216479
+ }
216720
216480
  }
216721
216481
  exports.DetectorFilesystem = DetectorFilesystem;
216722
216482
  //# sourceMappingURL=filesystem.js.map
@@ -217133,6 +216893,18 @@ exports.workspaceManagers = [
217133
216893
  ],
217134
216894
  },
217135
216895
  },
216896
+ {
216897
+ name: 'default',
216898
+ slug: 'yarn',
216899
+ detectors: {
216900
+ every: [
216901
+ {
216902
+ path: 'package.json',
216903
+ matchContent: '"workspaces":\\s*(?:\\[[^\\]]*]|{[^}]*"packages":[^}]*})',
216904
+ },
216905
+ ],
216906
+ },
216907
+ },
217136
216908
  ];
217137
216909
  exports.default = exports.workspaceManagers;
217138
216910
  //# sourceMappingURL=workspace-managers.js.map
@@ -227379,6 +227151,10 @@ async function doBuild(client, project, buildsJson, cwd, outputDir) {
227379
227151
  throw pkg;
227380
227152
  if (vercelConfig instanceof errors_ts_1.CantParseJSONFile)
227381
227153
  throw vercelConfig;
227154
+ const projectSettings = {
227155
+ ...project.settings,
227156
+ ...(0, project_settings_1.pickOverrides)(vercelConfig || {}),
227157
+ };
227382
227158
  // Get a list of source files
227383
227159
  const files = (await (0, get_files_1.staticFiles)(workPath, client)).map(f => (0, build_utils_1.normalizePath)((0, path_1.relative)(workPath, f)));
227384
227160
  const routesResult = (0, routing_utils_1.getTransformedRoutes)(vercelConfig || {});
@@ -227405,7 +227181,7 @@ async function doBuild(client, project, buildsJson, cwd, outputDir) {
227405
227181
  // Detect the Vercel Builders that will need to be invoked
227406
227182
  const detectedBuilders = await (0, fs_detectors_1.detectBuilders)(files, pkg, {
227407
227183
  ...vercelConfig,
227408
- projectSettings: project.settings,
227184
+ projectSettings,
227409
227185
  ignoreBuildScript: true,
227410
227186
  featHandleMiss: true,
227411
227187
  });
@@ -227495,14 +227271,14 @@ async function doBuild(client, project, buildsJson, cwd, outputDir) {
227495
227271
  const { builder, pkg: builderPkg } = builderWithPkg;
227496
227272
  const buildConfig = isZeroConfig
227497
227273
  ? {
227498
- outputDirectory: project.settings.outputDirectory ?? undefined,
227274
+ outputDirectory: projectSettings.outputDirectory ?? undefined,
227499
227275
  ...build.config,
227500
- projectSettings: project.settings,
227501
- installCommand: project.settings.installCommand ?? undefined,
227502
- devCommand: project.settings.devCommand ?? undefined,
227503
- buildCommand: project.settings.buildCommand ?? undefined,
227504
- framework: project.settings.framework,
227505
- nodeVersion: project.settings.nodeVersion,
227276
+ projectSettings,
227277
+ installCommand: projectSettings.installCommand ?? undefined,
227278
+ devCommand: projectSettings.devCommand ?? undefined,
227279
+ buildCommand: projectSettings.buildCommand ?? undefined,
227280
+ framework: projectSettings.framework,
227281
+ nodeVersion: projectSettings.nodeVersion,
227506
227282
  }
227507
227283
  : build.config || {};
227508
227284
  const buildOptions = {
@@ -228363,6 +228139,7 @@ const create_git_meta_1 = __webpack_require__(21084);
228363
228139
  const validate_archive_format_1 = __webpack_require__(42067);
228364
228140
  const parse_env_1 = __webpack_require__(6111);
228365
228141
  const is_error_1 = __webpack_require__(11026);
228142
+ const project_settings_1 = __webpack_require__(42697);
228366
228143
  exports.default = async (client) => {
228367
228144
  const { output } = client;
228368
228145
  let argv = null;
@@ -228642,14 +228419,7 @@ exports.default = async (client) => {
228642
228419
  });
228643
228420
  let deployStamp = (0, stamp_1.default)();
228644
228421
  let deployment = null;
228645
- const localConfigurationOverrides = {
228646
- buildCommand: localConfig?.buildCommand,
228647
- devCommand: localConfig?.devCommand,
228648
- framework: localConfig?.framework,
228649
- commandForIgnoringBuildStep: localConfig?.ignoreCommand,
228650
- installCommand: localConfig?.installCommand,
228651
- outputDirectory: localConfig?.outputDirectory,
228652
- };
228422
+ const localConfigurationOverrides = (0, project_settings_1.pickOverrides)(localConfig);
228653
228423
  try {
228654
228424
  const createArgs = {
228655
228425
  name: project ? project.name : newProjectName,
@@ -228920,7 +228690,6 @@ const fs_extra_1 = __importDefault(__webpack_require__(45392));
228920
228690
  const server_1 = __importDefault(__webpack_require__(18433));
228921
228691
  const parse_listen_1 = __importDefault(__webpack_require__(1919));
228922
228692
  const link_1 = __webpack_require__(67630);
228923
- const get_frameworks_1 = __webpack_require__(87569);
228924
228693
  const get_decrypted_env_records_1 = __importDefault(__webpack_require__(30861));
228925
228694
  const setup_and_link_1 = __importDefault(__webpack_require__(69532));
228926
228695
  const get_system_env_values_1 = __importDefault(__webpack_require__(60272));
@@ -228933,10 +228702,7 @@ async function dev(client, opts, args) {
228933
228702
  let cwd = (0, path_1.resolve)(dir);
228934
228703
  const listen = (0, parse_listen_1.default)(opts['--listen'] || '3000');
228935
228704
  // retrieve dev command
228936
- let [link, frameworks] = await Promise.all([
228937
- (0, link_1.getLinkedProject)(client, cwd),
228938
- (0, get_frameworks_1.getFrameworks)(client),
228939
- ]);
228705
+ let link = await (0, link_1.getLinkedProject)(client, cwd);
228940
228706
  if (link.status === 'not_linked' && !process.env.__VERCEL_SKIP_DEV_CMD) {
228941
228707
  link = await (0, setup_and_link_1.default)(client, cwd, {
228942
228708
  autoConfirm: opts['--yes'],
@@ -228954,7 +228720,6 @@ async function dev(client, opts, args) {
228954
228720
  }
228955
228721
  return link.exitCode;
228956
228722
  }
228957
- let devCommand;
228958
228723
  let projectSettings;
228959
228724
  let projectEnvs = [];
228960
228725
  let systemEnvValues = [];
@@ -228962,18 +228727,6 @@ async function dev(client, opts, args) {
228962
228727
  const { project, org } = link;
228963
228728
  client.config.currentTeam = org.type === 'team' ? org.id : undefined;
228964
228729
  projectSettings = project;
228965
- if (project.devCommand) {
228966
- devCommand = project.devCommand;
228967
- }
228968
- else if (project.framework) {
228969
- const framework = frameworks.find(f => f.slug === project.framework);
228970
- if (framework) {
228971
- const defaults = framework.settings.devCommand.value;
228972
- if (defaults) {
228973
- devCommand = defaults;
228974
- }
228975
- }
228976
- }
228977
228730
  if (project.rootDirectory) {
228978
228731
  cwd = (0, path_1.join)(cwd, project.rootDirectory);
228979
228732
  }
@@ -228984,28 +228737,22 @@ async function dev(client, opts, args) {
228984
228737
  : { systemEnvValues: [] },
228985
228738
  ]);
228986
228739
  }
228987
- // This is just for tests - can be removed once project settings
228988
- // are respected locally in `.vercel/project.json`
228989
- if (process.env.VERCEL_DEV_COMMAND) {
228990
- devCommand = process.env.VERCEL_DEV_COMMAND;
228991
- }
228740
+ const devServer = new server_1.default(cwd, {
228741
+ output,
228742
+ projectSettings,
228743
+ projectEnvs,
228744
+ systemEnvValues,
228745
+ });
228992
228746
  // If there is no Development Command, we must delete the
228993
228747
  // v3 Build Output because it will incorrectly be detected by
228994
228748
  // @vercel/static-build in BuildOutputV3.getBuildOutputDirectory()
228995
- if (!devCommand) {
228749
+ if (!devServer.devCommand) {
228996
228750
  const outputDir = (0, path_1.join)(cwd, write_build_result_1.OUTPUT_DIR);
228997
228751
  if (await fs_extra_1.default.pathExists(outputDir)) {
228998
228752
  output.log(`Removing ${write_build_result_1.OUTPUT_DIR}`);
228999
228753
  await fs_extra_1.default.remove(outputDir);
229000
228754
  }
229001
228755
  }
229002
- const devServer = new server_1.default(cwd, {
229003
- output,
229004
- devCommand,
229005
- projectSettings,
229006
- projectEnvs,
229007
- systemEnvValues,
229008
- });
229009
228756
  await devServer.start(...listen);
229010
228757
  }
229011
228758
  exports.default = dev;
@@ -231455,7 +231202,7 @@ const help = () => {
231455
231202
 
231456
231203
  -h, --help Output usage information
231457
231204
  -t ${chalk_1.default.bold.underline('TOKEN')}, --token=${chalk_1.default.bold.underline('TOKEN')} Login token
231458
- -y, --yes Skip questions when setting up new project using default scope and settings
231205
+ -y, --yes Skip confirmation when connecting a Git provider
231459
231206
 
231460
231207
  ${chalk_1.default.dim('Examples:')}
231461
231208
 
@@ -234263,7 +234010,7 @@ try {
234263
234010
  }
234264
234011
  catch (err) {
234265
234012
  if ((0, is_error_1.isError)(err) && err.message.includes('uv_cwd')) {
234266
- console.error('Error! The current working directory does not exist.');
234013
+ console.error('Error: The current working directory does not exist.');
234267
234014
  process.exit(1);
234268
234015
  }
234269
234016
  }
@@ -237642,9 +237389,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
237642
237389
  };
237643
237390
  Object.defineProperty(exports, "__esModule", ({ value: true }));
237644
237391
  const bytes_1 = __importDefault(__webpack_require__(1446));
237645
- const progress_1 = __importDefault(__webpack_require__(72593));
237646
237392
  const chalk_1 = __importDefault(__webpack_require__(961));
237647
237393
  const client_1 = __webpack_require__(20192);
237394
+ const progress_1 = __webpack_require__(28895);
237648
237395
  const ua_1 = __importDefault(__webpack_require__(2177));
237649
237396
  const link_1 = __webpack_require__(67630);
237650
237397
  const emoji_1 = __webpack_require__(41806);
@@ -237654,7 +237401,6 @@ function printInspectUrl(output, inspectorUrl, deployStamp) {
237654
237401
  async function processDeployment({ org, cwd, projectName, isSettingUpProject, archive, skipAutoDetectionConfirmation, ...args }) {
237655
237402
  let { now, output, paths, requestBody, deployStamp, force, withCache, quiet, prebuilt, rootDirectory, } = args;
237656
237403
  const { debug } = output;
237657
- let bar = null;
237658
237404
  const { env = {} } = requestBody;
237659
237405
  const token = now._token;
237660
237406
  if (!token) {
@@ -237692,37 +237438,28 @@ async function processDeployment({ org, cwd, projectName, isSettingUpProject, ar
237692
237438
  const missingSize = missing
237693
237439
  .map((sha) => total.get(sha).data.length)
237694
237440
  .reduce((a, b) => a + b, 0);
237695
- output.stopSpinner();
237696
- bar = new progress_1.default(`${chalk_1.default.gray('>')} Upload [:bar] :percent :etas`, {
237697
- width: 20,
237698
- complete: '=',
237699
- incomplete: '',
237700
- total: missingSize,
237701
- clear: true,
237702
- });
237703
- bar.tick(0);
237441
+ const totalSizeHuman = bytes_1.default.format(missingSize, { decimalPlaces: 1 });
237704
237442
  uploads.forEach((e) => e.on('progress', () => {
237705
- if (!bar)
237706
- return;
237707
- const totalBytesUploaded = uploads.reduce((acc, e) => {
237443
+ const uploadedBytes = uploads.reduce((acc, e) => {
237708
237444
  return acc + e.bytesUploaded;
237709
237445
  }, 0);
237710
- // set the current progress bar value
237711
- bar.curr = totalBytesUploaded;
237712
- // trigger rendering
237713
- bar.tick(0);
237714
- if (bar.complete) {
237446
+ const bar = (0, progress_1.progress)(uploadedBytes, missingSize);
237447
+ if (!bar || uploadedBytes === missingSize) {
237715
237448
  output.spinner(deployingSpinnerVal, 0);
237716
237449
  }
237450
+ else {
237451
+ const uploadedHuman = bytes_1.default.format(uploadedBytes, {
237452
+ decimalPlaces: 1,
237453
+ fixedDecimals: true,
237454
+ });
237455
+ output.spinner(`Uploading ${chalk_1.default.reset(`[${bar}] (${uploadedHuman}/${totalSizeHuman})`)}`, 0);
237456
+ }
237717
237457
  }));
237718
237458
  }
237719
237459
  if (event.type === 'file-uploaded') {
237720
237460
  debug(`Uploaded: ${event.payload.file.names.join(' ')} (${(0, bytes_1.default)(event.payload.file.data.length)})`);
237721
237461
  }
237722
237462
  if (event.type === 'created') {
237723
- if (bar && !bar.complete) {
237724
- bar.tick(bar.total + 1);
237725
- }
237726
237463
  await (0, link_1.linkFolderToProject)(output, cwd || paths[0], {
237727
237464
  orgId: org.id,
237728
237465
  projectId: event.payload.projectId,
@@ -238352,7 +238089,8 @@ async function executeBuild(vercelConfig, devServer, files, match, requestPath,
238352
238089
  const { output } = result;
238353
238090
  const { cleanUrls } = vercelConfig;
238354
238091
  // Mimic fmeta-util and perform file renaming
238355
- Object.entries(output).forEach(([path, value]) => {
238092
+ for (const [originalPath, value] of Object.entries(output)) {
238093
+ let path = (0, build_utils_1.normalizePath)(originalPath);
238356
238094
  if (cleanUrls && path.endsWith('.html')) {
238357
238095
  path = path.slice(0, -5);
238358
238096
  if (value.type === 'FileBlob' || value.type === 'FileFsRef') {
@@ -238364,7 +238102,7 @@ async function executeBuild(vercelConfig, devServer, files, match, requestPath,
238364
238102
  path = extensionless;
238365
238103
  }
238366
238104
  output[path] = value;
238367
- });
238105
+ }
238368
238106
  // Convert the JSON-ified output map back into their corresponding `File`
238369
238107
  // subclass type instances.
238370
238108
  for (const name of Object.keys(output)) {
@@ -239115,6 +238853,7 @@ const tree_kill_1 = __webpack_require__(21780);
239115
238853
  const headers_1 = __webpack_require__(17929);
239116
238854
  const parse_query_string_1 = __webpack_require__(40165);
239117
238855
  const is_error_1 = __webpack_require__(11026);
238856
+ const project_settings_1 = __webpack_require__(42697);
239118
238857
  const frontendRuntimeSet = new Set(frameworks_1.default.map(f => f.useRuntime?.use || '@vercel/static-build'));
239119
238858
  function sortBuilders(buildA, buildB) {
239120
238859
  if (buildA && buildA.use && (0, fs_detectors_1.isOfficialRuntime)('static-build', buildA.use)) {
@@ -239519,7 +239258,9 @@ class DevServer {
239519
239258
  devCacheDir,
239520
239259
  env: {
239521
239260
  ...envConfigs.runEnv,
239522
- VERCEL_BUILDER_DEBUG: this.output.debugEnabled ? '1' : undefined,
239261
+ VERCEL_DEBUG_PREFIX: this.output.debugEnabled
239262
+ ? '[builder]'
239263
+ : undefined,
239523
239264
  },
239524
239265
  buildEnv: { ...envConfigs.buildEnv },
239525
239266
  },
@@ -239689,7 +239430,7 @@ class DevServer {
239689
239430
  this.projectEnvs = options.projectEnvs || [];
239690
239431
  this.files = {};
239691
239432
  this.address = '';
239692
- this.devCommand = options.devCommand;
239433
+ this.originalProjectSettings = options.projectSettings;
239693
239434
  this.projectSettings = options.projectSettings;
239694
239435
  this.caseSensitive = false;
239695
239436
  this.apiDir = null;
@@ -239967,6 +239708,22 @@ class DevServer {
239967
239708
  this.getVercelConfigPromise.finally(clear);
239968
239709
  return this.getVercelConfigPromise;
239969
239710
  }
239711
+ get devCommand() {
239712
+ if (this.projectSettings?.devCommand) {
239713
+ return this.projectSettings.devCommand;
239714
+ }
239715
+ else if (this.projectSettings?.framework) {
239716
+ const frameworkSlug = this.projectSettings.framework;
239717
+ const framework = frameworks_1.default.find(f => f.slug === frameworkSlug);
239718
+ if (framework) {
239719
+ const defaults = framework.settings.devCommand.value;
239720
+ if (defaults) {
239721
+ return defaults;
239722
+ }
239723
+ }
239724
+ }
239725
+ return undefined;
239726
+ }
239970
239727
  async _getVercelConfig() {
239971
239728
  const configPath = (0, local_path_1.default)(this.cwd);
239972
239729
  const [pkg = null,
@@ -239977,6 +239734,10 @@ class DevServer {
239977
239734
  this.readJsonFile(configPath),
239978
239735
  ]);
239979
239736
  await this.validateVercelConfig(vercelConfig);
239737
+ this.projectSettings = {
239738
+ ...this.originalProjectSettings,
239739
+ ...(0, project_settings_1.pickOverrides)(vercelConfig),
239740
+ };
239980
239741
  const { error: routeError, routes: maybeRoutes } = (0, routing_utils_1.getTransformedRoutes)(vercelConfig);
239981
239742
  if (routeError) {
239982
239743
  this.output.prettyError(routeError);
@@ -240074,6 +239835,9 @@ class DevServer {
240074
239835
  runEnv['VERCEL_REGION'] = 'dev1';
240075
239836
  }
240076
239837
  this.envConfigs = { buildEnv, runEnv, allEnv };
239838
+ // If the `devCommand` was modified via project settings
239839
+ // overrides then the dev process needs to be restarted
239840
+ await this.runDevCommand();
240077
239841
  return vercelConfig;
240078
239842
  }
240079
239843
  async readJsonFile(filePath) {
@@ -240619,9 +240383,17 @@ class DevServer {
240619
240383
  }
240620
240384
  async runDevCommand() {
240621
240385
  const { devCommand, cwd } = this;
240386
+ if (devCommand === this.currentDevCommand) {
240387
+ // `devCommand` has not changed, so don't restart frontend dev process
240388
+ return;
240389
+ }
240390
+ this.currentDevCommand = devCommand;
240622
240391
  if (!devCommand) {
240623
240392
  return;
240624
240393
  }
240394
+ if (this.devProcess) {
240395
+ await (0, tree_kill_1.treeKill)(this.devProcess.pid);
240396
+ }
240625
240397
  this.output.log(`Running Dev Command ${chalk_1.default.cyan.bold(`“${devCommand}”`)}`);
240626
240398
  const port = await (0, get_port_1.default)();
240627
240399
  const env = {
@@ -244349,23 +244121,6 @@ function notNull(value) {
244349
244121
  }
244350
244122
 
244351
244123
 
244352
- /***/ }),
244353
-
244354
- /***/ 87569:
244355
- /***/ ((__unused_webpack_module, exports) => {
244356
-
244357
- "use strict";
244358
-
244359
- Object.defineProperty(exports, "__esModule", ({ value: true }));
244360
- exports.getFrameworks = void 0;
244361
- async function getFrameworks(client) {
244362
- return await client.fetch('/v1/frameworks', {
244363
- useCurrentTeam: false,
244364
- });
244365
- }
244366
- exports.getFrameworks = getFrameworks;
244367
-
244368
-
244369
244124
  /***/ }),
244370
244125
 
244371
244126
  /***/ 89543:
@@ -247556,7 +247311,7 @@ class Output {
247556
247311
  this.log((0, chalk_1.default) `{yellow.bold NOTE:} ${str}`);
247557
247312
  };
247558
247313
  this.error = (str, slug, link, action = 'Learn More') => {
247559
- this.print(`${chalk_1.default.red(`Error!`)} ${str}\n`);
247314
+ this.print(`${chalk_1.default.red(`Error:`)} ${str}\n`);
247560
247315
  const details = slug ? `https://err.sh/vercel/${slug}` : link;
247561
247316
  if (details) {
247562
247317
  this.print(`${chalk_1.default.bold(action)}: ${(0, link_1.default)(details)}\n`);
@@ -247720,7 +247475,7 @@ function error(...input) {
247720
247475
  metric = (0, metrics_1.metrics)();
247721
247476
  metric.exception(messages.join('\n')).send();
247722
247477
  }
247723
- return `${chalk_1.default.red('Error!')} ${messages.join('\n')}`;
247478
+ return `${chalk_1.default.red('Error:')} ${messages.join('\n')}`;
247724
247479
  }
247725
247480
  exports.default = error;
247726
247481
 
@@ -247896,6 +247651,31 @@ function param(text) {
247896
247651
  exports.default = param;
247897
247652
 
247898
247653
 
247654
+ /***/ }),
247655
+
247656
+ /***/ 28895:
247657
+ /***/ ((__unused_webpack_module, exports) => {
247658
+
247659
+ "use strict";
247660
+
247661
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
247662
+ exports.progress = void 0;
247663
+ /**
247664
+ * Returns a raw progress bar string.
247665
+ */
247666
+ function progress(current, total, opts = {}) {
247667
+ const { width = 20, complete = '=', incomplete = '-' } = opts;
247668
+ if (total <= 0 || current < 0 || current > total) {
247669
+ // Let the caller decide how to handle out-of-range values
247670
+ return null;
247671
+ }
247672
+ const unit = total / width;
247673
+ const pos = Math.floor(current / unit);
247674
+ return `${complete.repeat(pos)}${incomplete.repeat(width - pos)}`;
247675
+ }
247676
+ exports.progress = progress;
247677
+
247678
+
247899
247679
  /***/ }),
247900
247680
 
247901
247681
  /***/ 60340:
@@ -248617,7 +248397,7 @@ exports.linkFolderToProject = linkFolderToProject;
248617
248397
  "use strict";
248618
248398
 
248619
248399
  Object.defineProperty(exports, "__esModule", ({ value: true }));
248620
- exports.readProjectSettings = exports.writeProjectSettings = void 0;
248400
+ exports.pickOverrides = exports.readProjectSettings = exports.writeProjectSettings = void 0;
248621
248401
  const fs_extra_1 = __webpack_require__(45392);
248622
248402
  const link_1 = __webpack_require__(67630);
248623
248403
  const path_1 = __webpack_require__(85622);
@@ -248651,6 +248431,28 @@ async function readProjectSettings(cwd) {
248651
248431
  return await (0, link_1.getLinkFromDir)(cwd);
248652
248432
  }
248653
248433
  exports.readProjectSettings = readProjectSettings;
248434
+ function pickOverrides(vercelConfig) {
248435
+ const overrides = {};
248436
+ for (const prop of [
248437
+ 'buildCommand',
248438
+ 'devCommand',
248439
+ 'framework',
248440
+ 'ignoreCommand',
248441
+ 'installCommand',
248442
+ 'outputDirectory',
248443
+ ]) {
248444
+ if (typeof vercelConfig[prop] !== 'undefined') {
248445
+ if (prop === 'ignoreCommand') {
248446
+ overrides.commandForIgnoringBuildStep = vercelConfig[prop];
248447
+ }
248448
+ else {
248449
+ overrides[prop] = vercelConfig[prop];
248450
+ }
248451
+ }
248452
+ }
248453
+ return overrides;
248454
+ }
248455
+ exports.pickOverrides = pickOverrides;
248654
248456
 
248655
248457
 
248656
248458
  /***/ }),
@@ -249241,15 +249043,15 @@ async function validateRootDirectory(output, cwd, path, errorSuffix) {
249241
249043
  const pathStat = await stat(path).catch(() => null);
249242
249044
  const suffix = errorSuffix ? ` ${errorSuffix}` : '';
249243
249045
  if (!pathStat) {
249244
- output.print(`${chalk_1.default.red('Error!')} The provided path ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)} does not exist.${suffix}\n`);
249046
+ output.error(`The provided path ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)} does not exist.${suffix}`);
249245
249047
  return false;
249246
249048
  }
249247
249049
  if (!pathStat.isDirectory()) {
249248
- output.print(`${chalk_1.default.red('Error!')} The provided path ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)} is a file, but expected a directory.${suffix}\n`);
249050
+ output.error(`The provided path ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)} is a file, but expected a directory.${suffix}`);
249249
249051
  return false;
249250
249052
  }
249251
249053
  if (!path.startsWith(cwd)) {
249252
- output.print(`${chalk_1.default.red('Error!')} The provided path ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)} is outside of the project.${suffix}\n`);
249054
+ output.error(`The provided path ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)} is outside of the project.${suffix}`);
249253
249055
  return false;
249254
249056
  }
249255
249057
  return true;
@@ -249259,14 +249061,14 @@ async function validatePaths(client, paths) {
249259
249061
  const { output } = client;
249260
249062
  // can't deploy more than 1 path
249261
249063
  if (paths.length > 1) {
249262
- output.print(`${chalk_1.default.red('Error!')} Can't deploy more than one path.\n`);
249064
+ output.error(`Can't deploy more than one path.`);
249263
249065
  return { valid: false, exitCode: 1 };
249264
249066
  }
249265
249067
  const path = paths[0];
249266
249068
  // can only deploy a directory
249267
249069
  const pathStat = await stat(path).catch(() => null);
249268
249070
  if (!pathStat) {
249269
- output.print(`${chalk_1.default.red('Error!')} Could not find ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)}\n`);
249071
+ output.error(`Could not find ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)}`);
249270
249072
  return { valid: false, exitCode: 1 };
249271
249073
  }
249272
249074
  if (!pathStat.isDirectory()) {
@@ -249631,7 +249433,7 @@ module.exports = JSON.parse("{\"application/1d-interleaved-parityfec\":{\"source
249631
249433
  /***/ ((module) => {
249632
249434
 
249633
249435
  "use strict";
249634
- module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.1.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.3.2\",\"@vercel/go\":\"2.2.2\",\"@vercel/hydrogen\":\"0.0.15\",\"@vercel/next\":\"3.1.21\",\"@vercel/node\":\"2.5.10\",\"@vercel/python\":\"3.1.11\",\"@vercel/redwood\":\"1.0.19\",\"@vercel/remix\":\"1.0.20\",\"@vercel/ruby\":\"1.3.28\",\"@vercel/static-build\":\"1.0.19\",\"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/progress\":\"2.0.3\",\"@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.1\",\"@vercel/frameworks\":\"1.1.3\",\"@vercel/fs-detectors\":\"2.0.5\",\"@vercel/fun\":\"1.0.4\",\"@vercel/ncc\":\"0.24.0\",\"@zeit/source-map-support\":\"0.6.2\",\"ajv\":\"6.12.2\",\"alpha-sort\":\"2.0.1\",\"ansi-escapes\":\"3.0.0\",\"ansi-regex\":\"3.0.0\",\"arg\":\"5.0.0\",\"async-listen\":\"1.2.0\",\"async-retry\":\"1.1.3\",\"async-sema\":\"2.1.4\",\"ava\":\"2.2.0\",\"boxen\":\"4.2.0\",\"bytes\":\"3.0.0\",\"chalk\":\"4.1.0\",\"chance\":\"1.1.7\",\"chokidar\":\"3.3.1\",\"codecov\":\"3.8.2\",\"cpy\":\"7.2.0\",\"date-fns\":\"1.29.0\",\"debug\":\"3.1.0\",\"dot\":\"1.1.3\",\"dotenv\":\"4.0.0\",\"email-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\",\"progress\":\"2.0.3\",\"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\"]}}");
249436
+ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.2.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.4.1\",\"@vercel/go\":\"2.2.4\",\"@vercel/hydrogen\":\"0.0.17\",\"@vercel/next\":\"3.1.24\",\"@vercel/node\":\"2.5.13\",\"@vercel/python\":\"3.1.13\",\"@vercel/redwood\":\"1.0.22\",\"@vercel/remix\":\"1.0.23\",\"@vercel/ruby\":\"1.3.30\",\"@vercel/static-build\":\"1.0.21\",\"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.3\",\"@vercel/frameworks\":\"1.1.3\",\"@vercel/fs-detectors\":\"2.1.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\"]}}");
249635
249437
 
249636
249438
  /***/ }),
249637
249439
 
@@ -249639,7 +249441,7 @@ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.1.4\",\"prefe
249639
249441
  /***/ ((module) => {
249640
249442
 
249641
249443
  "use strict";
249642
- module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.2.1\",\"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\":\"^2.0.1\",\"typescript\":\"4.3.4\"},\"jest\":{\"preset\":\"ts-jest\",\"testEnvironment\":\"node\",\"verbose\":false,\"setupFilesAfterEnv\":[\"<rootDir>/tests/setup/index.ts\"]},\"dependencies\":{\"@vercel/build-utils\":\"5.3.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\"}}");
249444
+ module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.2.3\",\"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.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\"}}");
249643
249445
 
249644
249446
  /***/ }),
249645
249447