vercel 28.2.0 → 28.2.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.
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:
@@ -190430,21 +190179,9 @@ async function execCommand(command, options = {}) {
190430
190179
  }
190431
190180
  exports.execCommand = execCommand;
190432
190181
  async function getNodeBinPath({ cwd, }) {
190433
- const { code, stdout, stderr } = await execAsync('npm', ['bin'], {
190434
- cwd,
190435
- prettyCommand: 'npm bin',
190436
- // in some rare cases, we saw `npm bin` exit with a non-0 code, but still
190437
- // output the right bin path, so we ignore the exit code
190438
- ignoreNon0Exit: true,
190439
- });
190440
- const nodeBinPath = stdout.trim();
190441
- if (path_1.default.isAbsolute(nodeBinPath)) {
190442
- return nodeBinPath;
190443
- }
190444
- throw new errors_1.NowBuildError({
190445
- code: `BUILD_UTILS_GET_NODE_BIN_PATH`,
190446
- message: `Running \`npm bin\` failed to return a valid bin path (code=${code}, stdout=${stdout}, stderr=${stderr})`,
190447
- });
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');
190448
190185
  }
190449
190186
  exports.getNodeBinPath = getNodeBinPath;
190450
190187
  async function chmodPlusX(fsPath) {
@@ -190537,6 +190274,7 @@ async function scanParentDirs(destPath, readPackageJson = false) {
190537
190274
  start: destPath,
190538
190275
  filenames: ['yarn.lock', 'package-lock.json', 'pnpm-lock.yaml'],
190539
190276
  });
190277
+ let lockfilePath;
190540
190278
  let lockfileVersion;
190541
190279
  let cliType = 'yarn';
190542
190280
  const [hasYarnLock, packageLockJson, pnpmLockYaml] = await Promise.all([
@@ -190551,18 +190289,26 @@ async function scanParentDirs(destPath, readPackageJson = false) {
190551
190289
  // Priority order is Yarn > pnpm > npm
190552
190290
  if (hasYarnLock) {
190553
190291
  cliType = 'yarn';
190292
+ lockfilePath = yarnLockPath;
190554
190293
  }
190555
190294
  else if (pnpmLockYaml) {
190556
190295
  cliType = 'pnpm';
190557
- // just ensure that it is read as a number and not a string
190296
+ lockfilePath = pnpmLockPath;
190558
190297
  lockfileVersion = Number(pnpmLockYaml.lockfileVersion);
190559
190298
  }
190560
190299
  else if (packageLockJson) {
190561
190300
  cliType = 'npm';
190301
+ lockfilePath = npmLockPath;
190562
190302
  lockfileVersion = packageLockJson.lockfileVersion;
190563
190303
  }
190564
190304
  const packageJsonPath = pkgJsonPath || undefined;
190565
- return { cliType, packageJson, lockfileVersion, packageJsonPath };
190305
+ return {
190306
+ cliType,
190307
+ packageJson,
190308
+ lockfilePath,
190309
+ lockfileVersion,
190310
+ packageJsonPath,
190311
+ };
190566
190312
  }
190567
190313
  exports.scanParentDirs = scanParentDirs;
190568
190314
  async function walkParentDirs({ base, start, filename, }) {
@@ -190801,7 +190547,7 @@ exports.installDependencies = util_1.deprecate(runNpmInstall, 'installDependenci
190801
190547
  /***/ }),
190802
190548
 
190803
190549
  /***/ 2560:
190804
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_877364__) {
190550
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_877020__) {
190805
190551
 
190806
190552
  "use strict";
190807
190553
 
@@ -190809,7 +190555,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190809
190555
  return (mod && mod.__esModule) ? mod : { "default": mod };
190810
190556
  };
190811
190557
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190812
- const end_of_stream_1 = __importDefault(__nested_webpack_require_877364__(687));
190558
+ const end_of_stream_1 = __importDefault(__nested_webpack_require_877020__(687));
190813
190559
  function streamToBuffer(stream) {
190814
190560
  return new Promise((resolve, reject) => {
190815
190561
  const buffers = [];
@@ -190838,7 +190584,7 @@ exports.default = streamToBuffer;
190838
190584
  /***/ }),
190839
190585
 
190840
190586
  /***/ 1148:
190841
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_878432__) {
190587
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_878088__) {
190842
190588
 
190843
190589
  "use strict";
190844
190590
 
@@ -190846,9 +190592,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
190846
190592
  return (mod && mod.__esModule) ? mod : { "default": mod };
190847
190593
  };
190848
190594
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190849
- const path_1 = __importDefault(__nested_webpack_require_878432__(5622));
190850
- const fs_extra_1 = __importDefault(__nested_webpack_require_878432__(5392));
190851
- const ignore_1 = __importDefault(__nested_webpack_require_878432__(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));
190852
190598
  function isCodedError(error) {
190853
190599
  return (error !== null &&
190854
190600
  error !== undefined &&
@@ -190905,13 +190651,13 @@ exports.default = default_1;
190905
190651
  /***/ }),
190906
190652
 
190907
190653
  /***/ 4678:
190908
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_880806__) => {
190654
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_880462__) => {
190909
190655
 
190910
190656
  "use strict";
190911
190657
 
190912
190658
  Object.defineProperty(exports, "__esModule", ({ value: true }));
190913
190659
  exports.getPlatformEnv = void 0;
190914
- const errors_1 = __nested_webpack_require_880806__(3983);
190660
+ const errors_1 = __nested_webpack_require_880462__(3983);
190915
190661
  /**
190916
190662
  * Helper function to support both `VERCEL_` and legacy `NOW_` env vars.
190917
190663
  * Throws an error if *both* env vars are defined.
@@ -190975,7 +190721,7 @@ exports.getPrefixedEnvVars = getPrefixedEnvVars;
190975
190721
  /***/ }),
190976
190722
 
190977
190723
  /***/ 2855:
190978
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_883065__) {
190724
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_882721__) {
190979
190725
 
190980
190726
  "use strict";
190981
190727
 
@@ -191006,31 +190752,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
191006
190752
  };
191007
190753
  Object.defineProperty(exports, "__esModule", ({ value: true }));
191008
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;
191009
- const file_blob_1 = __importDefault(__nested_webpack_require_883065__(2397));
190755
+ const file_blob_1 = __importDefault(__nested_webpack_require_882721__(2397));
191010
190756
  exports.FileBlob = file_blob_1.default;
191011
- const file_fs_ref_1 = __importDefault(__nested_webpack_require_883065__(9331));
190757
+ const file_fs_ref_1 = __importDefault(__nested_webpack_require_882721__(9331));
191012
190758
  exports.FileFsRef = file_fs_ref_1.default;
191013
- const file_ref_1 = __importDefault(__nested_webpack_require_883065__(5187));
190759
+ const file_ref_1 = __importDefault(__nested_webpack_require_882721__(5187));
191014
190760
  exports.FileRef = file_ref_1.default;
191015
- const lambda_1 = __nested_webpack_require_883065__(6721);
190761
+ const lambda_1 = __nested_webpack_require_882721__(6721);
191016
190762
  Object.defineProperty(exports, "Lambda", ({ enumerable: true, get: function () { return lambda_1.Lambda; } }));
191017
190763
  Object.defineProperty(exports, "createLambda", ({ enumerable: true, get: function () { return lambda_1.createLambda; } }));
191018
190764
  Object.defineProperty(exports, "getLambdaOptionsFromFunction", ({ enumerable: true, get: function () { return lambda_1.getLambdaOptionsFromFunction; } }));
191019
- const nodejs_lambda_1 = __nested_webpack_require_883065__(7049);
190765
+ const nodejs_lambda_1 = __nested_webpack_require_882721__(7049);
191020
190766
  Object.defineProperty(exports, "NodejsLambda", ({ enumerable: true, get: function () { return nodejs_lambda_1.NodejsLambda; } }));
191021
- const prerender_1 = __nested_webpack_require_883065__(2850);
190767
+ const prerender_1 = __nested_webpack_require_882721__(2850);
191022
190768
  Object.defineProperty(exports, "Prerender", ({ enumerable: true, get: function () { return prerender_1.Prerender; } }));
191023
- const download_1 = __importStar(__nested_webpack_require_883065__(1611));
190769
+ const download_1 = __importStar(__nested_webpack_require_882721__(1611));
191024
190770
  exports.download = download_1.default;
191025
190771
  Object.defineProperty(exports, "downloadFile", ({ enumerable: true, get: function () { return download_1.downloadFile; } }));
191026
190772
  Object.defineProperty(exports, "isSymbolicLink", ({ enumerable: true, get: function () { return download_1.isSymbolicLink; } }));
191027
- const get_writable_directory_1 = __importDefault(__nested_webpack_require_883065__(3838));
190773
+ const get_writable_directory_1 = __importDefault(__nested_webpack_require_882721__(3838));
191028
190774
  exports.getWriteableDirectory = get_writable_directory_1.default;
191029
- const glob_1 = __importDefault(__nested_webpack_require_883065__(4240));
190775
+ const glob_1 = __importDefault(__nested_webpack_require_882721__(4240));
191030
190776
  exports.glob = glob_1.default;
191031
- const rename_1 = __importDefault(__nested_webpack_require_883065__(6718));
190777
+ const rename_1 = __importDefault(__nested_webpack_require_882721__(6718));
191032
190778
  exports.rename = rename_1.default;
191033
- const run_user_scripts_1 = __nested_webpack_require_883065__(1442);
190779
+ const run_user_scripts_1 = __nested_webpack_require_882721__(1442);
191034
190780
  Object.defineProperty(exports, "execAsync", ({ enumerable: true, get: function () { return run_user_scripts_1.execAsync; } }));
191035
190781
  Object.defineProperty(exports, "spawnAsync", ({ enumerable: true, get: function () { return run_user_scripts_1.spawnAsync; } }));
191036
190782
  Object.defineProperty(exports, "execCommand", ({ enumerable: true, get: function () { return run_user_scripts_1.execCommand; } }));
@@ -191049,35 +190795,35 @@ Object.defineProperty(exports, "getNodeVersion", ({ enumerable: true, get: funct
191049
190795
  Object.defineProperty(exports, "getSpawnOptions", ({ enumerable: true, get: function () { return run_user_scripts_1.getSpawnOptions; } }));
191050
190796
  Object.defineProperty(exports, "getNodeBinPath", ({ enumerable: true, get: function () { return run_user_scripts_1.getNodeBinPath; } }));
191051
190797
  Object.defineProperty(exports, "scanParentDirs", ({ enumerable: true, get: function () { return run_user_scripts_1.scanParentDirs; } }));
191052
- const node_version_1 = __nested_webpack_require_883065__(7903);
190798
+ const node_version_1 = __nested_webpack_require_882721__(7903);
191053
190799
  Object.defineProperty(exports, "getLatestNodeVersion", ({ enumerable: true, get: function () { return node_version_1.getLatestNodeVersion; } }));
191054
190800
  Object.defineProperty(exports, "getDiscontinuedNodeVersions", ({ enumerable: true, get: function () { return node_version_1.getDiscontinuedNodeVersions; } }));
191055
- const stream_to_buffer_1 = __importDefault(__nested_webpack_require_883065__(2560));
190801
+ const stream_to_buffer_1 = __importDefault(__nested_webpack_require_882721__(2560));
191056
190802
  exports.streamToBuffer = stream_to_buffer_1.default;
191057
- const debug_1 = __importDefault(__nested_webpack_require_883065__(1868));
190803
+ const debug_1 = __importDefault(__nested_webpack_require_882721__(1868));
191058
190804
  exports.debug = debug_1.default;
191059
- const get_ignore_filter_1 = __importDefault(__nested_webpack_require_883065__(1148));
190805
+ const get_ignore_filter_1 = __importDefault(__nested_webpack_require_882721__(1148));
191060
190806
  exports.getIgnoreFilter = get_ignore_filter_1.default;
191061
- const get_platform_env_1 = __nested_webpack_require_883065__(4678);
190807
+ const get_platform_env_1 = __nested_webpack_require_882721__(4678);
191062
190808
  Object.defineProperty(exports, "getPlatformEnv", ({ enumerable: true, get: function () { return get_platform_env_1.getPlatformEnv; } }));
191063
- const get_prefixed_env_vars_1 = __nested_webpack_require_883065__(6838);
190809
+ const get_prefixed_env_vars_1 = __nested_webpack_require_882721__(6838);
191064
190810
  Object.defineProperty(exports, "getPrefixedEnvVars", ({ enumerable: true, get: function () { return get_prefixed_env_vars_1.getPrefixedEnvVars; } }));
191065
- var edge_function_1 = __nested_webpack_require_883065__(8038);
190811
+ var edge_function_1 = __nested_webpack_require_882721__(8038);
191066
190812
  Object.defineProperty(exports, "EdgeFunction", ({ enumerable: true, get: function () { return edge_function_1.EdgeFunction; } }));
191067
- var read_config_file_1 = __nested_webpack_require_883065__(7792);
190813
+ var read_config_file_1 = __nested_webpack_require_882721__(7792);
191068
190814
  Object.defineProperty(exports, "readConfigFile", ({ enumerable: true, get: function () { return read_config_file_1.readConfigFile; } }));
191069
- var normalize_path_1 = __nested_webpack_require_883065__(6261);
190815
+ var normalize_path_1 = __nested_webpack_require_882721__(6261);
191070
190816
  Object.defineProperty(exports, "normalizePath", ({ enumerable: true, get: function () { return normalize_path_1.normalizePath; } }));
191071
- __exportStar(__nested_webpack_require_883065__(2564), exports);
191072
- __exportStar(__nested_webpack_require_883065__(2416), exports);
191073
- __exportStar(__nested_webpack_require_883065__(5748), exports);
191074
- __exportStar(__nested_webpack_require_883065__(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);
191075
190821
 
191076
190822
 
191077
190823
  /***/ }),
191078
190824
 
191079
190825
  /***/ 6721:
191080
- /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_891698__) {
190826
+ /***/ (function(__unused_webpack_module, exports, __nested_webpack_require_891354__) {
191081
190827
 
191082
190828
  "use strict";
191083
190829
 
@@ -191086,13 +190832,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
191086
190832
  };
191087
190833
  Object.defineProperty(exports, "__esModule", ({ value: true }));
191088
190834
  exports.getLambdaOptionsFromFunction = exports.createZip = exports.createLambda = exports.Lambda = void 0;
191089
- const assert_1 = __importDefault(__nested_webpack_require_891698__(2357));
191090
- const async_sema_1 = __importDefault(__nested_webpack_require_891698__(5758));
191091
- const yazl_1 = __nested_webpack_require_891698__(1223);
191092
- const minimatch_1 = __importDefault(__nested_webpack_require_891698__(9566));
191093
- const fs_extra_1 = __nested_webpack_require_891698__(5392);
191094
- const download_1 = __nested_webpack_require_891698__(1611);
191095
- const stream_to_buffer_1 = __importDefault(__nested_webpack_require_891698__(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));
191096
190842
  class Lambda {
191097
190843
  constructor(opts) {
191098
190844
  const { handler, runtime, maxDuration, memory, environment = {}, allowQuery, regions, supportsMultiPayloads, supportsWrapper, } = opts;
@@ -191218,13 +190964,13 @@ exports.getLambdaOptionsFromFunction = getLambdaOptionsFromFunction;
191218
190964
  /***/ }),
191219
190965
 
191220
190966
  /***/ 7049:
191221
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_897381__) => {
190967
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_897037__) => {
191222
190968
 
191223
190969
  "use strict";
191224
190970
 
191225
190971
  Object.defineProperty(exports, "__esModule", ({ value: true }));
191226
190972
  exports.NodejsLambda = void 0;
191227
- const lambda_1 = __nested_webpack_require_897381__(6721);
190973
+ const lambda_1 = __nested_webpack_require_897037__(6721);
191228
190974
  class NodejsLambda extends lambda_1.Lambda {
191229
190975
  constructor({ shouldAddHelpers, shouldAddSourcemapSupport, awsLambdaHandler, ...opts }) {
191230
190976
  super(opts);
@@ -191361,13 +191107,13 @@ exports.buildsSchema = {
191361
191107
  /***/ }),
191362
191108
 
191363
191109
  /***/ 2564:
191364
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_901726__) => {
191110
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_901382__) => {
191365
191111
 
191366
191112
  "use strict";
191367
191113
 
191368
191114
  Object.defineProperty(exports, "__esModule", ({ value: true }));
191369
191115
  exports.shouldServe = void 0;
191370
- const path_1 = __nested_webpack_require_901726__(5622);
191116
+ const path_1 = __nested_webpack_require_901382__(5622);
191371
191117
  const shouldServe = ({ entrypoint, files, requestPath, }) => {
191372
191118
  requestPath = requestPath.replace(/\/$/, ''); // sanitize trailing '/'
191373
191119
  entrypoint = entrypoint.replace(/\\/, '/'); // windows compatibility
@@ -191612,7 +191358,7 @@ module.exports = __webpack_require__(78761);
191612
191358
  /******/ var __webpack_module_cache__ = {};
191613
191359
  /******/
191614
191360
  /******/ // The require function
191615
- /******/ function __nested_webpack_require_1279091__(moduleId) {
191361
+ /******/ function __nested_webpack_require_1278747__(moduleId) {
191616
191362
  /******/ // Check if module is in cache
191617
191363
  /******/ if(__webpack_module_cache__[moduleId]) {
191618
191364
  /******/ return __webpack_module_cache__[moduleId].exports;
@@ -191627,7 +191373,7 @@ module.exports = __webpack_require__(78761);
191627
191373
  /******/ // Execute the module function
191628
191374
  /******/ var threw = true;
191629
191375
  /******/ try {
191630
- /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_1279091__);
191376
+ /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_1278747__);
191631
191377
  /******/ threw = false;
191632
191378
  /******/ } finally {
191633
191379
  /******/ if(threw) delete __webpack_module_cache__[moduleId];
@@ -191640,11 +191386,11 @@ module.exports = __webpack_require__(78761);
191640
191386
  /************************************************************************/
191641
191387
  /******/ /* webpack/runtime/compat */
191642
191388
  /******/
191643
- /******/ __nested_webpack_require_1279091__.ab = __dirname + "/";/************************************************************************/
191389
+ /******/ __nested_webpack_require_1278747__.ab = __dirname + "/";/************************************************************************/
191644
191390
  /******/ // module exports must be returned from runtime so entry inlining is disabled
191645
191391
  /******/ // startup
191646
191392
  /******/ // Load entry module and return exports
191647
- /******/ return __nested_webpack_require_1279091__(2855);
191393
+ /******/ return __nested_webpack_require_1278747__(2855);
191648
191394
  /******/ })()
191649
191395
  ;
191650
191396
 
@@ -216641,12 +216387,13 @@ exports.detectFramework = detectFramework;
216641
216387
  /***/ }),
216642
216388
 
216643
216389
  /***/ 56114:
216644
- /***/ ((__unused_webpack_module, exports) => {
216390
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
216645
216391
 
216646
216392
  "use strict";
216647
216393
 
216648
216394
  Object.defineProperty(exports, "__esModule", ({ value: true }));
216649
216395
  exports.DetectorFilesystem = void 0;
216396
+ const path_1 = __webpack_require__(85622);
216650
216397
  /**
216651
216398
  * `DetectorFilesystem` is an abstract class that represents a virtual filesystem
216652
216399
  * to perform read-only operations on in order to detect which framework is being
@@ -216700,12 +216447,34 @@ class DetectorFilesystem {
216700
216447
  };
216701
216448
  /**
216702
216449
  * Returns a list of Stat objects from the current working directory.
216450
+ * @param dirPath The path of the directory to read.
216451
+ * @param options.potentialFiles optional. Array of potential file names (relative to the path). If provided, these will be used to mark the filesystem caches as existing or not existing.
216703
216452
  */
216704
- this.readdir = async (name) => {
216705
- let p = this.readdirCache.get(name);
216453
+ this.readdir = async (dirPath, options) => {
216454
+ let p = this.readdirCache.get(dirPath);
216706
216455
  if (!p) {
216707
- p = this._readdir(name);
216708
- this.readdirCache.set(name, p);
216456
+ p = this._readdir(dirPath);
216457
+ this.readdirCache.set(dirPath, p);
216458
+ const directoryContent = await p;
216459
+ const directoryFiles = new Set();
216460
+ for (const file of directoryContent) {
216461
+ if (file.type === 'file') {
216462
+ // we know this file exists, mark it as so on the filesystem
216463
+ this.fileCache.set(file.path, Promise.resolve(true));
216464
+ this.pathCache.set(file.path, Promise.resolve(true));
216465
+ directoryFiles.add(file.name);
216466
+ }
216467
+ }
216468
+ if (options?.potentialFiles) {
216469
+ // calculate the set of paths that truly do not exist
216470
+ const filesThatDoNotExist = options.potentialFiles.filter(path => !directoryFiles.has(path));
216471
+ for (const filePath of filesThatDoNotExist) {
216472
+ const fullFilePath = dirPath === '/' ? filePath : path_1.posix.join(dirPath, filePath);
216473
+ // we know this file does not exist, mark it as so on the filesystem
216474
+ this.fileCache.set(fullFilePath, Promise.resolve(false));
216475
+ this.pathCache.set(fullFilePath, Promise.resolve(false));
216476
+ }
216477
+ }
216709
216478
  }
216710
216479
  return p;
216711
216480
  };
@@ -217136,6 +216905,18 @@ exports.workspaceManagers = [
217136
216905
  ],
217137
216906
  },
217138
216907
  },
216908
+ {
216909
+ name: 'default',
216910
+ slug: 'yarn',
216911
+ detectors: {
216912
+ every: [
216913
+ {
216914
+ path: 'package.json',
216915
+ matchContent: '"workspaces":\\s*(?:\\[[^\\]]*]|{[^}]*"packages":[^}]*})',
216916
+ },
216917
+ ],
216918
+ },
216919
+ },
217139
216920
  ];
217140
216921
  exports.default = exports.workspaceManagers;
217141
216922
  //# sourceMappingURL=workspace-managers.js.map
@@ -234241,7 +234022,7 @@ try {
234241
234022
  }
234242
234023
  catch (err) {
234243
234024
  if ((0, is_error_1.isError)(err) && err.message.includes('uv_cwd')) {
234244
- console.error('Error! The current working directory does not exist.');
234025
+ console.error('Error: The current working directory does not exist.');
234245
234026
  process.exit(1);
234246
234027
  }
234247
234028
  }
@@ -237620,9 +237401,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
237620
237401
  };
237621
237402
  Object.defineProperty(exports, "__esModule", ({ value: true }));
237622
237403
  const bytes_1 = __importDefault(__webpack_require__(1446));
237623
- const progress_1 = __importDefault(__webpack_require__(72593));
237624
237404
  const chalk_1 = __importDefault(__webpack_require__(961));
237625
237405
  const client_1 = __webpack_require__(20192);
237406
+ const progress_1 = __webpack_require__(28895);
237626
237407
  const ua_1 = __importDefault(__webpack_require__(2177));
237627
237408
  const link_1 = __webpack_require__(67630);
237628
237409
  const emoji_1 = __webpack_require__(41806);
@@ -237632,7 +237413,6 @@ function printInspectUrl(output, inspectorUrl, deployStamp) {
237632
237413
  async function processDeployment({ org, cwd, projectName, isSettingUpProject, archive, skipAutoDetectionConfirmation, ...args }) {
237633
237414
  let { now, output, paths, requestBody, deployStamp, force, withCache, quiet, prebuilt, rootDirectory, } = args;
237634
237415
  const { debug } = output;
237635
- let bar = null;
237636
237416
  const { env = {} } = requestBody;
237637
237417
  const token = now._token;
237638
237418
  if (!token) {
@@ -237670,37 +237450,28 @@ async function processDeployment({ org, cwd, projectName, isSettingUpProject, ar
237670
237450
  const missingSize = missing
237671
237451
  .map((sha) => total.get(sha).data.length)
237672
237452
  .reduce((a, b) => a + b, 0);
237673
- output.stopSpinner();
237674
- bar = new progress_1.default(`${chalk_1.default.gray('>')} Upload [:bar] :percent :etas`, {
237675
- width: 20,
237676
- complete: '=',
237677
- incomplete: '',
237678
- total: missingSize,
237679
- clear: true,
237680
- });
237681
- bar.tick(0);
237453
+ const totalSizeHuman = bytes_1.default.format(missingSize, { decimalPlaces: 1 });
237682
237454
  uploads.forEach((e) => e.on('progress', () => {
237683
- if (!bar)
237684
- return;
237685
- const totalBytesUploaded = uploads.reduce((acc, e) => {
237455
+ const uploadedBytes = uploads.reduce((acc, e) => {
237686
237456
  return acc + e.bytesUploaded;
237687
237457
  }, 0);
237688
- // set the current progress bar value
237689
- bar.curr = totalBytesUploaded;
237690
- // trigger rendering
237691
- bar.tick(0);
237692
- if (bar.complete) {
237458
+ const bar = (0, progress_1.progress)(uploadedBytes, missingSize);
237459
+ if (!bar || uploadedBytes === missingSize) {
237693
237460
  output.spinner(deployingSpinnerVal, 0);
237694
237461
  }
237462
+ else {
237463
+ const uploadedHuman = bytes_1.default.format(uploadedBytes, {
237464
+ decimalPlaces: 1,
237465
+ fixedDecimals: true,
237466
+ });
237467
+ output.spinner(`Uploading ${chalk_1.default.reset(`[${bar}] (${uploadedHuman}/${totalSizeHuman})`)}`, 0);
237468
+ }
237695
237469
  }));
237696
237470
  }
237697
237471
  if (event.type === 'file-uploaded') {
237698
237472
  debug(`Uploaded: ${event.payload.file.names.join(' ')} (${(0, bytes_1.default)(event.payload.file.data.length)})`);
237699
237473
  }
237700
237474
  if (event.type === 'created') {
237701
- if (bar && !bar.complete) {
237702
- bar.tick(bar.total + 1);
237703
- }
237704
237475
  await (0, link_1.linkFolderToProject)(output, cwd || paths[0], {
237705
237476
  orgId: org.id,
237706
237477
  projectId: event.payload.projectId,
@@ -247552,7 +247323,7 @@ class Output {
247552
247323
  this.log((0, chalk_1.default) `{yellow.bold NOTE:} ${str}`);
247553
247324
  };
247554
247325
  this.error = (str, slug, link, action = 'Learn More') => {
247555
- this.print(`${chalk_1.default.red(`Error!`)} ${str}\n`);
247326
+ this.print(`${chalk_1.default.red(`Error:`)} ${str}\n`);
247556
247327
  const details = slug ? `https://err.sh/vercel/${slug}` : link;
247557
247328
  if (details) {
247558
247329
  this.print(`${chalk_1.default.bold(action)}: ${(0, link_1.default)(details)}\n`);
@@ -247716,7 +247487,7 @@ function error(...input) {
247716
247487
  metric = (0, metrics_1.metrics)();
247717
247488
  metric.exception(messages.join('\n')).send();
247718
247489
  }
247719
- return `${chalk_1.default.red('Error!')} ${messages.join('\n')}`;
247490
+ return `${chalk_1.default.red('Error:')} ${messages.join('\n')}`;
247720
247491
  }
247721
247492
  exports.default = error;
247722
247493
 
@@ -247892,6 +247663,31 @@ function param(text) {
247892
247663
  exports.default = param;
247893
247664
 
247894
247665
 
247666
+ /***/ }),
247667
+
247668
+ /***/ 28895:
247669
+ /***/ ((__unused_webpack_module, exports) => {
247670
+
247671
+ "use strict";
247672
+
247673
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
247674
+ exports.progress = void 0;
247675
+ /**
247676
+ * Returns a raw progress bar string.
247677
+ */
247678
+ function progress(current, total, opts = {}) {
247679
+ const { width = 20, complete = '=', incomplete = '-' } = opts;
247680
+ if (total <= 0 || current < 0 || current > total) {
247681
+ // Let the caller decide how to handle out-of-range values
247682
+ return null;
247683
+ }
247684
+ const unit = total / width;
247685
+ const pos = Math.floor(current / unit);
247686
+ return `${complete.repeat(pos)}${incomplete.repeat(width - pos)}`;
247687
+ }
247688
+ exports.progress = progress;
247689
+
247690
+
247895
247691
  /***/ }),
247896
247692
 
247897
247693
  /***/ 60340:
@@ -249259,15 +249055,15 @@ async function validateRootDirectory(output, cwd, path, errorSuffix) {
249259
249055
  const pathStat = await stat(path).catch(() => null);
249260
249056
  const suffix = errorSuffix ? ` ${errorSuffix}` : '';
249261
249057
  if (!pathStat) {
249262
- 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`);
249058
+ output.error(`The provided path ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)} does not exist.${suffix}`);
249263
249059
  return false;
249264
249060
  }
249265
249061
  if (!pathStat.isDirectory()) {
249266
- 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`);
249062
+ output.error(`The provided path ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)} is a file, but expected a directory.${suffix}`);
249267
249063
  return false;
249268
249064
  }
249269
249065
  if (!path.startsWith(cwd)) {
249270
- 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`);
249066
+ output.error(`The provided path ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)} is outside of the project.${suffix}`);
249271
249067
  return false;
249272
249068
  }
249273
249069
  return true;
@@ -249277,14 +249073,14 @@ async function validatePaths(client, paths) {
249277
249073
  const { output } = client;
249278
249074
  // can't deploy more than 1 path
249279
249075
  if (paths.length > 1) {
249280
- output.print(`${chalk_1.default.red('Error!')} Can't deploy more than one path.\n`);
249076
+ output.error(`Can't deploy more than one path.`);
249281
249077
  return { valid: false, exitCode: 1 };
249282
249078
  }
249283
249079
  const path = paths[0];
249284
249080
  // can only deploy a directory
249285
249081
  const pathStat = await stat(path).catch(() => null);
249286
249082
  if (!pathStat) {
249287
- output.print(`${chalk_1.default.red('Error!')} Could not find ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)}\n`);
249083
+ output.error(`Could not find ${chalk_1.default.cyan(`“${(0, humanize_path_1.default)(path)}”`)}`);
249288
249084
  return { valid: false, exitCode: 1 };
249289
249085
  }
249290
249086
  if (!pathStat.isDirectory()) {
@@ -249649,7 +249445,7 @@ module.exports = JSON.parse("{\"application/1d-interleaved-parityfec\":{\"source
249649
249445
  /***/ ((module) => {
249650
249446
 
249651
249447
  "use strict";
249652
- module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.2.0\",\"preferGlobal\":true,\"license\":\"Apache-2.0\",\"description\":\"The command-line interface for Vercel\",\"homepage\":\"https://vercel.com\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vercel/vercel.git\",\"directory\":\"packages/cli\"},\"scripts\":{\"preinstall\":\"node ./scripts/preinstall.js\",\"test\":\"jest --env node --verbose --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.0\",\"@vercel/go\":\"2.2.3\",\"@vercel/hydrogen\":\"0.0.16\",\"@vercel/next\":\"3.1.22\",\"@vercel/node\":\"2.5.11\",\"@vercel/python\":\"3.1.12\",\"@vercel/redwood\":\"1.0.20\",\"@vercel/remix\":\"1.0.21\",\"@vercel/ruby\":\"1.3.29\",\"@vercel/static-build\":\"1.0.20\",\"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.2\",\"@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\"]}}");
249448
+ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.2.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.4.2\",\"@vercel/go\":\"2.2.5\",\"@vercel/hydrogen\":\"0.0.18\",\"@vercel/next\":\"3.1.25\",\"@vercel/node\":\"2.5.14\",\"@vercel/python\":\"3.1.14\",\"@vercel/redwood\":\"1.0.23\",\"@vercel/remix\":\"1.0.24\",\"@vercel/ruby\":\"1.3.31\",\"@vercel/static-build\":\"1.0.22\",\"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.4\",\"@vercel/frameworks\":\"1.1.4\",\"@vercel/fs-detectors\":\"3.0.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\"]}}");
249653
249449
 
249654
249450
  /***/ }),
249655
249451
 
@@ -249657,7 +249453,7 @@ module.exports = JSON.parse("{\"name\":\"vercel\",\"version\":\"28.2.0\",\"prefe
249657
249453
  /***/ ((module) => {
249658
249454
 
249659
249455
  "use strict";
249660
- module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.2.2\",\"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.4.0\",\"@vercel/routing-utils\":\"2.0.2\",\"@zeit/fetch\":\"5.2.0\",\"async-retry\":\"1.2.3\",\"async-sema\":\"3.0.0\",\"fs-extra\":\"8.0.1\",\"ignore\":\"4.0.6\",\"minimatch\":\"5.0.1\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.7\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\"}}");
249456
+ module.exports = JSON.parse("{\"name\":\"@vercel/client\",\"version\":\"12.2.4\",\"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.2\",\"@vercel/routing-utils\":\"2.0.2\",\"@zeit/fetch\":\"5.2.0\",\"async-retry\":\"1.2.3\",\"async-sema\":\"3.0.0\",\"fs-extra\":\"8.0.1\",\"ignore\":\"4.0.6\",\"minimatch\":\"5.0.1\",\"ms\":\"2.1.2\",\"node-fetch\":\"2.6.7\",\"querystring\":\"^0.2.0\",\"sleep-promise\":\"8.0.1\",\"tar-fs\":\"1.16.3\"}}");
249661
249457
 
249662
249458
  /***/ }),
249663
249459
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "28.2.0",
3
+ "version": "28.2.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.0",
45
- "@vercel/go": "2.2.3",
46
- "@vercel/hydrogen": "0.0.16",
47
- "@vercel/next": "3.1.22",
48
- "@vercel/node": "2.5.11",
49
- "@vercel/python": "3.1.12",
50
- "@vercel/redwood": "1.0.20",
51
- "@vercel/remix": "1.0.21",
52
- "@vercel/ruby": "1.3.29",
53
- "@vercel/static-build": "1.0.20",
44
+ "@vercel/build-utils": "5.4.2",
45
+ "@vercel/go": "2.2.5",
46
+ "@vercel/hydrogen": "0.0.18",
47
+ "@vercel/next": "3.1.25",
48
+ "@vercel/node": "2.5.14",
49
+ "@vercel/python": "3.1.14",
50
+ "@vercel/redwood": "1.0.23",
51
+ "@vercel/remix": "1.0.24",
52
+ "@vercel/ruby": "1.3.31",
53
+ "@vercel/static-build": "1.0.22",
54
54
  "update-notifier": "5.1.0"
55
55
  },
56
56
  "devDependencies": {
@@ -85,7 +85,6 @@
85
85
  "@types/node-fetch": "2.5.10",
86
86
  "@types/npm-package-arg": "6.1.0",
87
87
  "@types/pluralize": "0.0.29",
88
- "@types/progress": "2.0.3",
89
88
  "@types/psl": "1.1.0",
90
89
  "@types/semver": "6.0.1",
91
90
  "@types/tar-fs": "1.16.1",
@@ -96,9 +95,9 @@
96
95
  "@types/which": "1.3.2",
97
96
  "@types/write-json-file": "2.2.1",
98
97
  "@types/yauzl-promise": "2.1.0",
99
- "@vercel/client": "12.2.2",
100
- "@vercel/frameworks": "1.1.3",
101
- "@vercel/fs-detectors": "2.0.5",
98
+ "@vercel/client": "12.2.4",
99
+ "@vercel/frameworks": "1.1.4",
100
+ "@vercel/fs-detectors": "3.0.0",
102
101
  "@vercel/fun": "1.0.4",
103
102
  "@vercel/ncc": "0.24.0",
104
103
  "@zeit/source-map-support": "0.6.2",
@@ -153,7 +152,6 @@
153
152
  "ora": "3.4.0",
154
153
  "pcre-to-regexp": "1.0.0",
155
154
  "pluralize": "7.0.0",
156
- "progress": "2.0.3",
157
155
  "promisepipe": "3.0.0",
158
156
  "psl": "1.1.31",
159
157
  "qr-image": "3.2.0",
@@ -195,5 +193,5 @@
195
193
  "<rootDir>/test/**/*.test.ts"
196
194
  ]
197
195
  },
198
- "gitHead": "e7e0a55b72bc73c26661f7b2a3caa0884a5d1764"
196
+ "gitHead": "d5537500d8957985c1ffb3798659a611cc2e5d5d"
199
197
  }
@@ -4,7 +4,7 @@ const { statSync } = require('fs');
4
4
  const pkg = require('../package');
5
5
 
6
6
  function error(command) {
7
- console.error('> Error!', command);
7
+ console.error('> Error:', command);
8
8
  }
9
9
 
10
10
  function debug(str) {