vercel 39.3.0 → 39.4.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.
Files changed (2) hide show
  1. package/dist/index.js +536 -161
  2. package/package.json +14 -14
package/dist/index.js CHANGED
@@ -41809,26 +41809,13 @@ var init_saml = __esm({
41809
41809
  }
41810
41810
  });
41811
41811
 
41812
- // src/util/input/confirm.ts
41813
- async function confirm(client2, message2, preferred) {
41814
- return client2.input.confirm({
41815
- message: message2,
41816
- default: preferred
41817
- });
41818
- }
41819
- var init_confirm = __esm({
41820
- "src/util/input/confirm.ts"() {
41821
- "use strict";
41822
- }
41823
- });
41824
-
41825
41812
  // src/util/login/reauthenticate.ts
41826
41813
  async function reauthenticate(client2, error3) {
41827
41814
  if (error3.teamId && error3.enforced) {
41828
41815
  output_manager_default.log(
41829
41816
  `You must re-authenticate with SAML to use ${(0, import_chalk16.bold)(error3.scope)} scope.`
41830
41817
  );
41831
- if (await confirm(client2, `Log in with SAML?`, true)) {
41818
+ if (await client2.input.confirm(`Log in with SAML?`, true)) {
41832
41819
  return doSamlLogin(client2, error3.teamId);
41833
41820
  }
41834
41821
  } else {
@@ -41844,7 +41831,6 @@ var init_reauthenticate = __esm({
41844
41831
  import_chalk16 = __toESM3(require_source());
41845
41832
  init_saml();
41846
41833
  init_prompt();
41847
- init_confirm();
41848
41834
  init_output_manager();
41849
41835
  }
41850
41836
  });
@@ -46170,7 +46156,7 @@ var require_package = __commonJS2({
46170
46156
  "../client/package.json"(exports2, module2) {
46171
46157
  module2.exports = {
46172
46158
  name: "@vercel/client",
46173
- version: "13.5.4",
46159
+ version: "13.5.6",
46174
46160
  main: "dist/index.js",
46175
46161
  typings: "dist/index.d.ts",
46176
46162
  homepage: "https://vercel.com",
@@ -46209,9 +46195,9 @@ var require_package = __commonJS2({
46209
46195
  typescript: "4.9.5"
46210
46196
  },
46211
46197
  dependencies: {
46212
- "@vercel/build-utils": "9.0.1",
46198
+ "@vercel/build-utils": "9.1.0",
46213
46199
  "@vercel/error-utils": "2.0.3",
46214
- "@vercel/routing-utils": "5.0.0",
46200
+ "@vercel/routing-utils": "5.0.1",
46215
46201
  "async-retry": "1.2.3",
46216
46202
  "async-sema": "3.0.0",
46217
46203
  "fs-extra": "8.0.1",
@@ -52851,7 +52837,10 @@ ${error3.stack}`);
52851
52837
  { input: this.stdin, output: this.stderr }
52852
52838
  ),
52853
52839
  expand: (opts2) => esm_default4({ theme, ...opts2 }, { input: this.stdin, output: this.stderr }),
52854
- confirm: (opts2) => esm_default3({ theme, ...opts2 }, { input: this.stdin, output: this.stderr }),
52840
+ confirm: (message2, default_value) => esm_default3(
52841
+ { theme, message: message2, default: default_value },
52842
+ { input: this.stdin, output: this.stderr }
52843
+ ),
52855
52844
  select: (opts2) => esm_default6(
52856
52845
  { theme, ...opts2 },
52857
52846
  { input: this.stdin, output: this.stderr }
@@ -88859,7 +88848,7 @@ async function confirmAliasRemove(client2, alias2) {
88859
88848
  output_manager_default.log("The following alias will be removed permanently");
88860
88849
  output_manager_default.print(` ${tbl}
88861
88850
  `);
88862
- return confirm(client2, import_chalk23.default.red("Are you sure?"), false);
88851
+ return client2.input.confirm(import_chalk23.default.red("Are you sure?"), false);
88863
88852
  }
88864
88853
  var import_chalk23, import_ms4;
88865
88854
  var init_rm = __esm({
@@ -88871,7 +88860,6 @@ var init_rm = __esm({
88871
88860
  init_get_scope();
88872
88861
  init_remove_alias_by_id();
88873
88862
  init_stamp();
88874
- init_confirm();
88875
88863
  init_find_alias_by_alias_or_id();
88876
88864
  init_is_valid_name();
88877
88865
  init_pkg_name();
@@ -90169,8 +90157,7 @@ async function purchaseDomainIfAvailable(client2, domain, contextName) {
90169
90157
  contextName
90170
90158
  )}! ${buyDomainStamp()}`
90171
90159
  );
90172
- if (!await confirm(
90173
- client2,
90160
+ if (!await client2.input.confirm(
90174
90161
  `Buy ${import_chalk27.default.underline(domain)} for ${import_chalk27.default.bold(
90175
90162
  `$${price}`
90176
90163
  )} (${(0, import_pluralize.default)("yr", period, true)})?`,
@@ -90201,7 +90188,6 @@ var init_purchase_domain_if_available = __esm({
90201
90188
  init_erase_lines();
90202
90189
  init_get_domain_price();
90203
90190
  init_get_domain_status();
90204
- init_confirm();
90205
90191
  init_purchase_domain();
90206
90192
  init_stamp();
90207
90193
  init_errors_ts();
@@ -99298,7 +99284,6 @@ var require_frameworks = __commonJS2({
99298
99284
  {
99299
99285
  name: "Saber",
99300
99286
  slug: "saber",
99301
- demo: "https://saber-template.vercel.app",
99302
99287
  logo: "https://api-frameworks.vercel.sh/framework-logos/saber.svg",
99303
99288
  tagline: "Saber is a framework for building static sites in Vue.js that supports data from any source.",
99304
99289
  description: "A Saber site, created with npm init.",
@@ -99744,6 +99729,7 @@ var require_frameworks = __commonJS2({
99744
99729
  tagline: "Vite is a new breed of frontend build tool that significantly improves the frontend development experience.",
99745
99730
  description: "A Vue.js app, created with Vite.",
99746
99731
  website: "https://vitejs.dev",
99732
+ supersedes: ["ionic-react"],
99747
99733
  envPrefix: "VITE_",
99748
99734
  detectors: {
99749
99735
  every: [
@@ -102722,23 +102708,24 @@ var require_local_file_system_detector = __commonJS2({
102722
102708
  }
102723
102709
  async _readdir(dir) {
102724
102710
  const dirPath = this.getFilePath(dir);
102725
- const files = await import_promises.default.readdir(dirPath);
102726
- return Promise.all(
102727
- files.map(async (name) => {
102728
- const absPath = (0, import_path41.join)(this.rootPath, dir, name);
102729
- const path11 = (0, import_path41.join)(this.getRelativeFilePath(dir), name);
102730
- const stat2 = await import_promises.default.stat(absPath);
102731
- let type;
102732
- if (stat2.isFile()) {
102733
- type = "file";
102734
- } else if (stat2.isDirectory()) {
102735
- type = "dir";
102736
- } else {
102737
- throw new Error(`Dirent was neither file nor directory: ${path11}`);
102738
- }
102739
- return { name, path: path11, type };
102740
- })
102741
- );
102711
+ const entries = await import_promises.default.readdir(dirPath, { withFileTypes: true });
102712
+ const result = [];
102713
+ for (const entry of entries) {
102714
+ let type;
102715
+ if (entry.isFile()) {
102716
+ type = "file";
102717
+ } else if (entry.isDirectory()) {
102718
+ type = "dir";
102719
+ } else {
102720
+ continue;
102721
+ }
102722
+ result.push({
102723
+ name: entry.name,
102724
+ path: (0, import_path41.join)(this.getRelativeFilePath(dir), entry.name),
102725
+ type
102726
+ });
102727
+ }
102728
+ return result;
102742
102729
  }
102743
102730
  _chdir(name) {
102744
102731
  return new _LocalFileSystemDetector(this.getFilePath(name));
@@ -109986,6 +109973,396 @@ var require_dist21 = __commonJS2({
109986
109973
  }
109987
109974
  });
109988
109975
 
109976
+ // ../../node_modules/.pnpm/path-to-regexp@6.3.0/node_modules/path-to-regexp/dist/index.js
109977
+ var require_dist22 = __commonJS2({
109978
+ "../../node_modules/.pnpm/path-to-regexp@6.3.0/node_modules/path-to-regexp/dist/index.js"(exports2) {
109979
+ "use strict";
109980
+ Object.defineProperty(exports2, "__esModule", { value: true });
109981
+ exports2.pathToRegexp = exports2.tokensToRegexp = exports2.regexpToFunction = exports2.match = exports2.tokensToFunction = exports2.compile = exports2.parse = void 0;
109982
+ function lexer(str) {
109983
+ var tokens = [];
109984
+ var i = 0;
109985
+ while (i < str.length) {
109986
+ var char = str[i];
109987
+ if (char === "*" || char === "+" || char === "?") {
109988
+ tokens.push({ type: "MODIFIER", index: i, value: str[i++] });
109989
+ continue;
109990
+ }
109991
+ if (char === "\\") {
109992
+ tokens.push({ type: "ESCAPED_CHAR", index: i++, value: str[i++] });
109993
+ continue;
109994
+ }
109995
+ if (char === "{") {
109996
+ tokens.push({ type: "OPEN", index: i, value: str[i++] });
109997
+ continue;
109998
+ }
109999
+ if (char === "}") {
110000
+ tokens.push({ type: "CLOSE", index: i, value: str[i++] });
110001
+ continue;
110002
+ }
110003
+ if (char === ":") {
110004
+ var name = "";
110005
+ var j = i + 1;
110006
+ while (j < str.length) {
110007
+ var code2 = str.charCodeAt(j);
110008
+ if (
110009
+ // `0-9`
110010
+ code2 >= 48 && code2 <= 57 || // `A-Z`
110011
+ code2 >= 65 && code2 <= 90 || // `a-z`
110012
+ code2 >= 97 && code2 <= 122 || // `_`
110013
+ code2 === 95
110014
+ ) {
110015
+ name += str[j++];
110016
+ continue;
110017
+ }
110018
+ break;
110019
+ }
110020
+ if (!name)
110021
+ throw new TypeError("Missing parameter name at ".concat(i));
110022
+ tokens.push({ type: "NAME", index: i, value: name });
110023
+ i = j;
110024
+ continue;
110025
+ }
110026
+ if (char === "(") {
110027
+ var count = 1;
110028
+ var pattern = "";
110029
+ var j = i + 1;
110030
+ if (str[j] === "?") {
110031
+ throw new TypeError('Pattern cannot start with "?" at '.concat(j));
110032
+ }
110033
+ while (j < str.length) {
110034
+ if (str[j] === "\\") {
110035
+ pattern += str[j++] + str[j++];
110036
+ continue;
110037
+ }
110038
+ if (str[j] === ")") {
110039
+ count--;
110040
+ if (count === 0) {
110041
+ j++;
110042
+ break;
110043
+ }
110044
+ } else if (str[j] === "(") {
110045
+ count++;
110046
+ if (str[j + 1] !== "?") {
110047
+ throw new TypeError("Capturing groups are not allowed at ".concat(j));
110048
+ }
110049
+ }
110050
+ pattern += str[j++];
110051
+ }
110052
+ if (count)
110053
+ throw new TypeError("Unbalanced pattern at ".concat(i));
110054
+ if (!pattern)
110055
+ throw new TypeError("Missing pattern at ".concat(i));
110056
+ tokens.push({ type: "PATTERN", index: i, value: pattern });
110057
+ i = j;
110058
+ continue;
110059
+ }
110060
+ tokens.push({ type: "CHAR", index: i, value: str[i++] });
110061
+ }
110062
+ tokens.push({ type: "END", index: i, value: "" });
110063
+ return tokens;
110064
+ }
110065
+ function parse9(str, options) {
110066
+ if (options === void 0) {
110067
+ options = {};
110068
+ }
110069
+ var tokens = lexer(str);
110070
+ var _a = options.prefixes, prefixes = _a === void 0 ? "./" : _a, _b = options.delimiter, delimiter3 = _b === void 0 ? "/#?" : _b;
110071
+ var result = [];
110072
+ var key = 0;
110073
+ var i = 0;
110074
+ var path11 = "";
110075
+ var tryConsume = function(type) {
110076
+ if (i < tokens.length && tokens[i].type === type)
110077
+ return tokens[i++].value;
110078
+ };
110079
+ var mustConsume = function(type) {
110080
+ var value2 = tryConsume(type);
110081
+ if (value2 !== void 0)
110082
+ return value2;
110083
+ var _a2 = tokens[i], nextType = _a2.type, index = _a2.index;
110084
+ throw new TypeError("Unexpected ".concat(nextType, " at ").concat(index, ", expected ").concat(type));
110085
+ };
110086
+ var consumeText = function() {
110087
+ var result2 = "";
110088
+ var value2;
110089
+ while (value2 = tryConsume("CHAR") || tryConsume("ESCAPED_CHAR")) {
110090
+ result2 += value2;
110091
+ }
110092
+ return result2;
110093
+ };
110094
+ var isSafe = function(value2) {
110095
+ for (var _i = 0, delimiter_1 = delimiter3; _i < delimiter_1.length; _i++) {
110096
+ var char2 = delimiter_1[_i];
110097
+ if (value2.indexOf(char2) > -1)
110098
+ return true;
110099
+ }
110100
+ return false;
110101
+ };
110102
+ var safePattern = function(prefix2) {
110103
+ var prev = result[result.length - 1];
110104
+ var prevText = prefix2 || (prev && typeof prev === "string" ? prev : "");
110105
+ if (prev && !prevText) {
110106
+ throw new TypeError('Must have text between two parameters, missing text after "'.concat(prev.name, '"'));
110107
+ }
110108
+ if (!prevText || isSafe(prevText))
110109
+ return "[^".concat(escapeString(delimiter3), "]+?");
110110
+ return "(?:(?!".concat(escapeString(prevText), ")[^").concat(escapeString(delimiter3), "])+?");
110111
+ };
110112
+ while (i < tokens.length) {
110113
+ var char = tryConsume("CHAR");
110114
+ var name = tryConsume("NAME");
110115
+ var pattern = tryConsume("PATTERN");
110116
+ if (name || pattern) {
110117
+ var prefix = char || "";
110118
+ if (prefixes.indexOf(prefix) === -1) {
110119
+ path11 += prefix;
110120
+ prefix = "";
110121
+ }
110122
+ if (path11) {
110123
+ result.push(path11);
110124
+ path11 = "";
110125
+ }
110126
+ result.push({
110127
+ name: name || key++,
110128
+ prefix,
110129
+ suffix: "",
110130
+ pattern: pattern || safePattern(prefix),
110131
+ modifier: tryConsume("MODIFIER") || ""
110132
+ });
110133
+ continue;
110134
+ }
110135
+ var value = char || tryConsume("ESCAPED_CHAR");
110136
+ if (value) {
110137
+ path11 += value;
110138
+ continue;
110139
+ }
110140
+ if (path11) {
110141
+ result.push(path11);
110142
+ path11 = "";
110143
+ }
110144
+ var open5 = tryConsume("OPEN");
110145
+ if (open5) {
110146
+ var prefix = consumeText();
110147
+ var name_1 = tryConsume("NAME") || "";
110148
+ var pattern_1 = tryConsume("PATTERN") || "";
110149
+ var suffix = consumeText();
110150
+ mustConsume("CLOSE");
110151
+ result.push({
110152
+ name: name_1 || (pattern_1 ? key++ : ""),
110153
+ pattern: name_1 && !pattern_1 ? safePattern(prefix) : pattern_1,
110154
+ prefix,
110155
+ suffix,
110156
+ modifier: tryConsume("MODIFIER") || ""
110157
+ });
110158
+ continue;
110159
+ }
110160
+ mustConsume("END");
110161
+ }
110162
+ return result;
110163
+ }
110164
+ exports2.parse = parse9;
110165
+ function compile(str, options) {
110166
+ return tokensToFunction(parse9(str, options), options);
110167
+ }
110168
+ exports2.compile = compile;
110169
+ function tokensToFunction(tokens, options) {
110170
+ if (options === void 0) {
110171
+ options = {};
110172
+ }
110173
+ var reFlags = flags(options);
110174
+ var _a = options.encode, encode = _a === void 0 ? function(x) {
110175
+ return x;
110176
+ } : _a, _b = options.validate, validate2 = _b === void 0 ? true : _b;
110177
+ var matches = tokens.map(function(token) {
110178
+ if (typeof token === "object") {
110179
+ return new RegExp("^(?:".concat(token.pattern, ")$"), reFlags);
110180
+ }
110181
+ });
110182
+ return function(data) {
110183
+ var path11 = "";
110184
+ for (var i = 0; i < tokens.length; i++) {
110185
+ var token = tokens[i];
110186
+ if (typeof token === "string") {
110187
+ path11 += token;
110188
+ continue;
110189
+ }
110190
+ var value = data ? data[token.name] : void 0;
110191
+ var optional = token.modifier === "?" || token.modifier === "*";
110192
+ var repeat = token.modifier === "*" || token.modifier === "+";
110193
+ if (Array.isArray(value)) {
110194
+ if (!repeat) {
110195
+ throw new TypeError('Expected "'.concat(token.name, '" to not repeat, but got an array'));
110196
+ }
110197
+ if (value.length === 0) {
110198
+ if (optional)
110199
+ continue;
110200
+ throw new TypeError('Expected "'.concat(token.name, '" to not be empty'));
110201
+ }
110202
+ for (var j = 0; j < value.length; j++) {
110203
+ var segment = encode(value[j], token);
110204
+ if (validate2 && !matches[i].test(segment)) {
110205
+ throw new TypeError('Expected all "'.concat(token.name, '" to match "').concat(token.pattern, '", but got "').concat(segment, '"'));
110206
+ }
110207
+ path11 += token.prefix + segment + token.suffix;
110208
+ }
110209
+ continue;
110210
+ }
110211
+ if (typeof value === "string" || typeof value === "number") {
110212
+ var segment = encode(String(value), token);
110213
+ if (validate2 && !matches[i].test(segment)) {
110214
+ throw new TypeError('Expected "'.concat(token.name, '" to match "').concat(token.pattern, '", but got "').concat(segment, '"'));
110215
+ }
110216
+ path11 += token.prefix + segment + token.suffix;
110217
+ continue;
110218
+ }
110219
+ if (optional)
110220
+ continue;
110221
+ var typeOfMessage = repeat ? "an array" : "a string";
110222
+ throw new TypeError('Expected "'.concat(token.name, '" to be ').concat(typeOfMessage));
110223
+ }
110224
+ return path11;
110225
+ };
110226
+ }
110227
+ exports2.tokensToFunction = tokensToFunction;
110228
+ function match(str, options) {
110229
+ var keys = [];
110230
+ var re = pathToRegexp(str, keys, options);
110231
+ return regexpToFunction(re, keys, options);
110232
+ }
110233
+ exports2.match = match;
110234
+ function regexpToFunction(re, keys, options) {
110235
+ if (options === void 0) {
110236
+ options = {};
110237
+ }
110238
+ var _a = options.decode, decode = _a === void 0 ? function(x) {
110239
+ return x;
110240
+ } : _a;
110241
+ return function(pathname) {
110242
+ var m = re.exec(pathname);
110243
+ if (!m)
110244
+ return false;
110245
+ var path11 = m[0], index = m.index;
110246
+ var params2 = /* @__PURE__ */ Object.create(null);
110247
+ var _loop_1 = function(i2) {
110248
+ if (m[i2] === void 0)
110249
+ return "continue";
110250
+ var key = keys[i2 - 1];
110251
+ if (key.modifier === "*" || key.modifier === "+") {
110252
+ params2[key.name] = m[i2].split(key.prefix + key.suffix).map(function(value) {
110253
+ return decode(value, key);
110254
+ });
110255
+ } else {
110256
+ params2[key.name] = decode(m[i2], key);
110257
+ }
110258
+ };
110259
+ for (var i = 1; i < m.length; i++) {
110260
+ _loop_1(i);
110261
+ }
110262
+ return { path: path11, index, params: params2 };
110263
+ };
110264
+ }
110265
+ exports2.regexpToFunction = regexpToFunction;
110266
+ function escapeString(str) {
110267
+ return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1");
110268
+ }
110269
+ function flags(options) {
110270
+ return options && options.sensitive ? "" : "i";
110271
+ }
110272
+ function regexpToRegexp(path11, keys) {
110273
+ if (!keys)
110274
+ return path11;
110275
+ var groupsRegex = /\((?:\?<(.*?)>)?(?!\?)/g;
110276
+ var index = 0;
110277
+ var execResult = groupsRegex.exec(path11.source);
110278
+ while (execResult) {
110279
+ keys.push({
110280
+ // Use parenthesized substring match if available, index otherwise
110281
+ name: execResult[1] || index++,
110282
+ prefix: "",
110283
+ suffix: "",
110284
+ modifier: "",
110285
+ pattern: ""
110286
+ });
110287
+ execResult = groupsRegex.exec(path11.source);
110288
+ }
110289
+ return path11;
110290
+ }
110291
+ function arrayToRegexp(paths, keys, options) {
110292
+ var parts = paths.map(function(path11) {
110293
+ return pathToRegexp(path11, keys, options).source;
110294
+ });
110295
+ return new RegExp("(?:".concat(parts.join("|"), ")"), flags(options));
110296
+ }
110297
+ function stringToRegexp(path11, keys, options) {
110298
+ return tokensToRegexp(parse9(path11, options), keys, options);
110299
+ }
110300
+ function tokensToRegexp(tokens, keys, options) {
110301
+ if (options === void 0) {
110302
+ options = {};
110303
+ }
110304
+ var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function(x) {
110305
+ return x;
110306
+ } : _d, _e = options.delimiter, delimiter3 = _e === void 0 ? "/#?" : _e, _f = options.endsWith, endsWith = _f === void 0 ? "" : _f;
110307
+ var endsWithRe = "[".concat(escapeString(endsWith), "]|$");
110308
+ var delimiterRe = "[".concat(escapeString(delimiter3), "]");
110309
+ var route = start ? "^" : "";
110310
+ for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {
110311
+ var token = tokens_1[_i];
110312
+ if (typeof token === "string") {
110313
+ route += escapeString(encode(token));
110314
+ } else {
110315
+ var prefix = escapeString(encode(token.prefix));
110316
+ var suffix = escapeString(encode(token.suffix));
110317
+ if (token.pattern) {
110318
+ if (keys)
110319
+ keys.push(token);
110320
+ if (prefix || suffix) {
110321
+ if (token.modifier === "+" || token.modifier === "*") {
110322
+ var mod = token.modifier === "*" ? "?" : "";
110323
+ route += "(?:".concat(prefix, "((?:").concat(token.pattern, ")(?:").concat(suffix).concat(prefix, "(?:").concat(token.pattern, "))*)").concat(suffix, ")").concat(mod);
110324
+ } else {
110325
+ route += "(?:".concat(prefix, "(").concat(token.pattern, ")").concat(suffix, ")").concat(token.modifier);
110326
+ }
110327
+ } else {
110328
+ if (token.modifier === "+" || token.modifier === "*") {
110329
+ throw new TypeError('Can not repeat "'.concat(token.name, '" without a prefix and suffix'));
110330
+ }
110331
+ route += "(".concat(token.pattern, ")").concat(token.modifier);
110332
+ }
110333
+ } else {
110334
+ route += "(?:".concat(prefix).concat(suffix, ")").concat(token.modifier);
110335
+ }
110336
+ }
110337
+ }
110338
+ if (end) {
110339
+ if (!strict)
110340
+ route += "".concat(delimiterRe, "?");
110341
+ route += !options.endsWith ? "$" : "(?=".concat(endsWithRe, ")");
110342
+ } else {
110343
+ var endToken = tokens[tokens.length - 1];
110344
+ var isEndDelimited = typeof endToken === "string" ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1 : endToken === void 0;
110345
+ if (!strict) {
110346
+ route += "(?:".concat(delimiterRe, "(?=").concat(endsWithRe, "))?");
110347
+ }
110348
+ if (!isEndDelimited) {
110349
+ route += "(?=".concat(delimiterRe, "|").concat(endsWithRe, ")");
110350
+ }
110351
+ }
110352
+ return new RegExp(route, flags(options));
110353
+ }
110354
+ exports2.tokensToRegexp = tokensToRegexp;
110355
+ function pathToRegexp(path11, keys, options) {
110356
+ if (path11 instanceof RegExp)
110357
+ return regexpToRegexp(path11, keys);
110358
+ if (Array.isArray(path11))
110359
+ return arrayToRegexp(path11, keys, options);
110360
+ return stringToRegexp(path11, keys, options);
110361
+ }
110362
+ exports2.pathToRegexp = pathToRegexp;
110363
+ }
110364
+ });
110365
+
109989
110366
  // ../routing-utils/dist/superstatic.js
109990
110367
  var require_superstatic = __commonJS2({
109991
110368
  "../routing-utils/dist/superstatic.js"(exports2, module2) {
@@ -110021,6 +110398,37 @@ var require_superstatic = __commonJS2({
110021
110398
  module2.exports = __toCommonJS4(superstatic_exports);
110022
110399
  var import_url23 = require("url");
110023
110400
  var import_path_to_regexp = require_dist21();
110401
+ var import_path_to_regexp_updated = require_dist22();
110402
+ function pathToRegexp(callerId, path11, keys, options) {
110403
+ const currentRegExp = (0, import_path_to_regexp.pathToRegexp)(path11, keys, options);
110404
+ try {
110405
+ const currentKeys = keys;
110406
+ const newKeys = [];
110407
+ const newRegExp = (0, import_path_to_regexp_updated.pathToRegexp)(path11, newKeys, options);
110408
+ const isDiffRegExp = currentRegExp.toString() !== newRegExp.toString();
110409
+ if (process.env.FORCE_PATH_TO_REGEXP_LOG || isDiffRegExp) {
110410
+ const message2 = JSON.stringify({
110411
+ path: path11,
110412
+ currentRegExp: currentRegExp.toString(),
110413
+ newRegExp: newRegExp.toString()
110414
+ });
110415
+ console.error(`[vc] PATH TO REGEXP PATH DIFF @ #${callerId}: ${message2}`);
110416
+ }
110417
+ const isDiffKeys = keys?.toString() !== newKeys?.toString();
110418
+ if (process.env.FORCE_PATH_TO_REGEXP_LOG || isDiffKeys) {
110419
+ const message2 = JSON.stringify({
110420
+ isDiffKeys,
110421
+ currentKeys,
110422
+ newKeys
110423
+ });
110424
+ console.error(`[vc] PATH TO REGEXP KEYS DIFF @ #${callerId}: ${message2}`);
110425
+ }
110426
+ } catch (err) {
110427
+ const error3 = err;
110428
+ console.error(`[vc] PATH TO REGEXP ERROR @ #${callerId}: ${error3.message}`);
110429
+ }
110430
+ return currentRegExp;
110431
+ }
110024
110432
  var UN_NAMED_SEGMENT = "__UN_NAMED_SEGMENT__";
110025
110433
  function getCleanUrls2(filePaths) {
110026
110434
  const htmlFiles = filePaths.map(toRoute).filter((f) => f.endsWith(".html")).map((f) => ({
@@ -110176,7 +110584,7 @@ var require_superstatic = __commonJS2({
110176
110584
  }
110177
110585
  function sourceToRegex(source) {
110178
110586
  const keys = [];
110179
- const r = (0, import_path_to_regexp.pathToRegexp)(source, keys, {
110587
+ const r = pathToRegexp("632", source, keys, {
110180
110588
  strict: true,
110181
110589
  sensitive: true,
110182
110590
  delimiter: "/"
@@ -110249,9 +110657,9 @@ var require_superstatic = __commonJS2({
110249
110657
  const hashKeys = [];
110250
110658
  const hostnameKeys = [];
110251
110659
  try {
110252
- (0, import_path_to_regexp.pathToRegexp)(pathname, pathnameKeys);
110253
- (0, import_path_to_regexp.pathToRegexp)(hash || "", hashKeys);
110254
- (0, import_path_to_regexp.pathToRegexp)(hostname2 || "", hostnameKeys);
110660
+ pathToRegexp("528", pathname, pathnameKeys);
110661
+ pathToRegexp("834", hash || "", hashKeys);
110662
+ pathToRegexp("712", hostname2 || "", hostnameKeys);
110255
110663
  } catch (_) {
110256
110664
  }
110257
110665
  destParams = new Set(
@@ -110359,7 +110767,7 @@ var require_append = __commonJS2({
110359
110767
  appendRoutesToPhase: () => appendRoutesToPhase4
110360
110768
  });
110361
110769
  module2.exports = __toCommonJS4(append_exports);
110362
- var import_index = require_dist22();
110770
+ var import_index = require_dist23();
110363
110771
  function appendRoutesToPhase4({
110364
110772
  routes: prevRoutes,
110365
110773
  newRoutes,
@@ -110427,7 +110835,7 @@ var require_merge3 = __commonJS2({
110427
110835
  mergeRoutes: () => mergeRoutes3
110428
110836
  });
110429
110837
  module2.exports = __toCommonJS4(merge_exports);
110430
- var import_index = require_dist22();
110838
+ var import_index = require_dist23();
110431
110839
  function getBuilderRoutesMapping(builds) {
110432
110840
  const builderRoutes = {};
110433
110841
  for (const { entrypoint, routes: routes2, use } of builds) {
@@ -110869,7 +111277,7 @@ var require_types6 = __commonJS2({
110869
111277
  });
110870
111278
 
110871
111279
  // ../routing-utils/dist/index.js
110872
- var require_dist22 = __commonJS2({
111280
+ var require_dist23 = __commonJS2({
110873
111281
  "../routing-utils/dist/index.js"(exports2, module2) {
110874
111282
  "use strict";
110875
111283
  var __defProp4 = Object.defineProperty;
@@ -119463,8 +119871,7 @@ async function ensureRepoLink(client2, cwd, { yes, overwrite }) {
119463
119871
  output_manager_default.debug(`Failed to detect local projects: ${err}`);
119464
119872
  return /* @__PURE__ */ new Map();
119465
119873
  });
119466
- const shouldLink = yes || await confirm(
119467
- client2,
119874
+ const shouldLink = yes || await client2.input.confirm(
119468
119875
  `Link Git repository at ${import_chalk35.default.cyan(
119469
119876
  `\u201C${humanizePath(rootPath)}\u201D`
119470
119877
  )} to your Project(s)?`,
@@ -119721,7 +120128,6 @@ var init_repo = __esm({
119721
120128
  import_path14 = require("path");
119722
120129
  import_build_utils5 = require("@vercel/build-utils");
119723
120130
  import_fs_extra6 = __toESM3(require_lib());
119724
- init_confirm();
119725
120131
  init_humanize_path();
119726
120132
  init_link2();
119727
120133
  init_create_git_meta();
@@ -131951,7 +132357,7 @@ var init_validate_config = __esm({
131951
132357
  "src/util/validate-config.ts"() {
131952
132358
  "use strict";
131953
132359
  import_ajv2 = __toESM3(require_ajv());
131954
- import_routing_utils = __toESM3(require_dist22());
132360
+ import_routing_utils = __toESM3(require_dist23());
131955
132361
  import_build_utils12 = require("@vercel/build-utils");
131956
132362
  import_client5 = __toESM3(require_dist7());
131957
132363
  imagesSchema = {
@@ -132401,8 +132807,7 @@ async function envPullCommandLogic(client2, filename, skipConfirmation, environm
132401
132807
  const exists = typeof head !== "undefined";
132402
132808
  if (head === CONTENTS_PREFIX) {
132403
132809
  output_manager_default.log(`Overwriting existing ${import_chalk39.default.bold(filename)} file`);
132404
- } else if (exists && !skipConfirmation && !await confirm(
132405
- client2,
132810
+ } else if (exists && !skipConfirmation && !await client2.input.confirm(
132406
132811
  `Found existing file ${param(filename)}. Do you want to overwrite?`,
132407
132812
  false
132408
132813
  )) {
@@ -132462,7 +132867,6 @@ var init_pull2 = __esm({
132462
132867
  import_fs5 = require("fs");
132463
132868
  import_path24 = require("path");
132464
132869
  init_emoji();
132465
- init_confirm();
132466
132870
  init_param();
132467
132871
  init_stamp();
132468
132872
  init_pkg_name();
@@ -132508,14 +132912,12 @@ async function inputProject(client2, org, detectedProjectName, autoConfirm = fal
132508
132912
  }
132509
132913
  let shouldLinkProject;
132510
132914
  if (!detectedProject) {
132511
- shouldLinkProject = await confirm(
132512
- client2,
132915
+ shouldLinkProject = await client2.input.confirm(
132513
132916
  `Link to existing project?`,
132514
132917
  false
132515
132918
  );
132516
132919
  } else {
132517
- if (await confirm(
132518
- client2,
132920
+ if (await client2.input.confirm(
132519
132921
  `Found project ${import_chalk40.default.cyan(
132520
132922
  `\u201C${org.slug}/${detectedProject.name}\u201D`
132521
132923
  )}. Link to it?`,
@@ -132523,8 +132925,7 @@ async function inputProject(client2, org, detectedProjectName, autoConfirm = fal
132523
132925
  )) {
132524
132926
  return detectedProject;
132525
132927
  }
132526
- shouldLinkProject = await confirm(
132527
- client2,
132928
+ shouldLinkProject = await client2.input.confirm(
132528
132929
  `Link to different existing project?`,
132529
132930
  true
132530
132931
  );
@@ -132566,7 +132967,6 @@ var import_chalk40, import_slugify2;
132566
132967
  var init_input_project = __esm({
132567
132968
  "src/util/input/input-project.ts"() {
132568
132969
  "use strict";
132569
- init_confirm();
132570
132970
  init_get_project_by_id_or_name();
132571
132971
  import_chalk40 = __toESM3(require_source());
132572
132972
  init_errors_ts();
@@ -132624,8 +133024,7 @@ async function validatePaths(client2, paths) {
132624
133024
  return { valid: false, exitCode: 1 };
132625
133025
  }
132626
133026
  if (path11 === (0, import_os7.homedir)()) {
132627
- const shouldDeployHomeDirectory = await confirm(
132628
- client2,
133027
+ const shouldDeployHomeDirectory = await client2.input.confirm(
132629
133028
  `You are deploying your home directory. Do you want to continue?`,
132630
133029
  false
132631
133030
  );
@@ -132644,7 +133043,6 @@ var init_validate_paths = __esm({
132644
133043
  import_fs_extra16 = __toESM3(require_lib());
132645
133044
  import_chalk41 = __toESM3(require_source());
132646
133045
  import_os7 = require("os");
132647
- init_confirm();
132648
133046
  init_humanize_path();
132649
133047
  init_output_manager();
132650
133048
  }
@@ -132769,7 +133167,7 @@ async function editProjectSettings(client2, projectSettings, framework, autoConf
132769
133167
  );
132770
133168
  }
132771
133169
  }
132772
- if (autoConfirm || !await confirm(client2, "Want to modify these settings?", false)) {
133170
+ if (autoConfirm || !await client2.input.confirm("Want to modify these settings?", false)) {
132773
133171
  return settings;
132774
133172
  }
132775
133173
  const choices = settingKeys.reduce(
@@ -132797,7 +133195,6 @@ var import_chalk43, import_frameworks3, settingMap, settingKeys;
132797
133195
  var init_edit_project_settings = __esm({
132798
133196
  "src/util/input/edit-project-settings.ts"() {
132799
133197
  "use strict";
132800
- init_confirm();
132801
133198
  import_chalk43 = __toESM3(require_source());
132802
133199
  import_frameworks3 = __toESM3(require_frameworks());
132803
133200
  init_is_setting_value();
@@ -132867,8 +133264,7 @@ async function setupAndLink(client2, path11, {
132867
133264
  if (!isTTY3 && !autoConfirm) {
132868
133265
  return { status: "error", exitCode: 1, reason: "HEADLESS" };
132869
133266
  }
132870
- const shouldStartSetup = autoConfirm || await confirm(
132871
- client2,
133267
+ const shouldStartSetup = autoConfirm || await client2.input.confirm(
132872
133268
  `${setupMsg} ${import_chalk44.default.cyan(`\u201C${humanizePath(path11)}\u201D`)}?`,
132873
133269
  true
132874
133270
  );
@@ -132993,7 +133389,6 @@ var init_setup_and_link = __esm({
132993
133389
  init_link2();
132994
133390
  init_create_project();
132995
133391
  init_error2();
132996
- init_confirm();
132997
133392
  init_humanize_path();
132998
133393
  init_global_path();
132999
133394
  init_select_org();
@@ -133297,8 +133692,7 @@ async function main2(client2) {
133297
133692
  );
133298
133693
  return 1;
133299
133694
  }
133300
- confirmed = await confirm(
133301
- client2,
133695
+ confirmed = await client2.input.confirm(
133302
133696
  `No Project Settings found locally. Run ${getCommandName(
133303
133697
  "pull"
133304
133698
  )} for retrieving them?`,
@@ -133863,7 +134257,7 @@ var init_build2 = __esm({
133863
134257
  import_client6 = __toESM3(require_dist7());
133864
134258
  import_frameworks5 = __toESM3(require_frameworks());
133865
134259
  import_fs_detectors4 = __toESM3(require_dist20());
133866
- import_routing_utils2 = __toESM3(require_dist22());
134260
+ import_routing_utils2 = __toESM3(require_dist23());
133867
134261
  init_output_manager();
133868
134262
  init_corepack();
133869
134263
  init_import_builders();
@@ -133877,7 +134271,6 @@ var init_build2 = __esm({
133877
134271
  init_get_args();
133878
134272
  init_get_files();
133879
134273
  init_get_flags_specification();
133880
- init_confirm();
133881
134274
  init_cmd();
133882
134275
  init_stamp();
133883
134276
  init_parse_target();
@@ -155448,7 +155841,7 @@ var require_src3 = __commonJS2({
155448
155841
  });
155449
155842
 
155450
155843
  // ../../node_modules/.pnpm/@tootallnate+once@1.1.2/node_modules/@tootallnate/once/dist/index.js
155451
- var require_dist23 = __commonJS2({
155844
+ var require_dist24 = __commonJS2({
155452
155845
  "../../node_modules/.pnpm/@tootallnate+once@1.1.2/node_modules/@tootallnate/once/dist/index.js"(exports2, module2) {
155453
155846
  "use strict";
155454
155847
  function noop() {
@@ -155625,7 +156018,7 @@ var init_path_helpers = __esm({
155625
156018
  });
155626
156019
 
155627
156020
  // ../../node_modules/.pnpm/pcre-to-regexp@1.0.0/node_modules/pcre-to-regexp/dist/index.js
155628
- var require_dist24 = __commonJS2({
156021
+ var require_dist25 = __commonJS2({
155629
156022
  "../../node_modules/.pnpm/pcre-to-regexp@1.0.0/node_modules/pcre-to-regexp/dist/index.js"(exports2, module2) {
155630
156023
  "use strict";
155631
156024
  var characterClasses = {
@@ -155960,9 +156353,9 @@ var init_router = __esm({
155960
156353
  "src/util/dev/router.ts"() {
155961
156354
  "use strict";
155962
156355
  import_url16 = __toESM3(require("url"));
155963
- import_pcre_to_regexp = __toESM3(require_dist24());
156356
+ import_pcre_to_regexp = __toESM3(require_dist25());
155964
156357
  init_is_url();
155965
- import_routing_utils3 = __toESM3(require_dist22());
156358
+ import_routing_utils3 = __toESM3(require_dist23());
155966
156359
  init_parse_query_string();
155967
156360
  }
155968
156361
  });
@@ -156459,7 +156852,7 @@ var init_builder = __esm({
156459
156852
  init_tree_kill();
156460
156853
  init_path_helpers();
156461
156854
  init_errors_ts();
156462
- import_routing_utils4 = __toESM3(require_dist22());
156855
+ import_routing_utils4 = __toESM3(require_dist23());
156463
156856
  init_get_update_command();
156464
156857
  init_pkg_name();
156465
156858
  init_import_builders();
@@ -157019,7 +157412,7 @@ var init_server = __esm({
157019
157412
  import_chokidar = require("chokidar");
157020
157413
  import_dotenv2 = __toESM3(require_main3());
157021
157414
  import_path35 = __toESM3(require("path"));
157022
- import_once = __toESM3(require_dist23());
157415
+ import_once = __toESM3(require_dist24());
157023
157416
  import_directory = __toESM3(require_directory());
157024
157417
  import_get_port = __toESM3(require_get_port());
157025
157418
  import_is_port_reachable = __toESM3(require_is_port_reachable());
@@ -157027,7 +157420,7 @@ var init_server = __esm({
157027
157420
  import_npm_package_arg2 = __toESM3(require_npa());
157028
157421
  import_json_parse_better_errors3 = __toESM3(require_json_parse_better_errors());
157029
157422
  import_client12 = __toESM3(require_dist7());
157030
- import_routing_utils5 = __toESM3(require_dist22());
157423
+ import_routing_utils5 = __toESM3(require_dist23());
157031
157424
  import_build_utils17 = require("@vercel/build-utils");
157032
157425
  import_fs_detectors6 = __toESM3(require_dist20());
157033
157426
  import_frameworks6 = __toESM3(require_frameworks());
@@ -158833,8 +159226,8 @@ var init_dev2 = __esm({
158833
159226
  this.trackCliFlag("yes");
158834
159227
  }
158835
159228
  }
158836
- trackCliFlagConfirm(confirm2) {
158837
- if (confirm2) {
159229
+ trackCliFlagConfirm(confirm) {
159230
+ if (confirm) {
158838
159231
  this.trackCliFlag("confirm");
158839
159232
  }
158840
159233
  }
@@ -159146,7 +159539,7 @@ async function getDNSData(client2, data) {
159146
159539
  }
159147
159540
  }
159148
159541
  async function verifyData(client2) {
159149
- return confirm(client2, "Is this correct?", false);
159542
+ return client2.input.confirm("Is this correct?", false);
159150
159543
  }
159151
159544
  async function getRecordName(client2, type) {
159152
159545
  const input = await client2.input.text({
@@ -159174,7 +159567,6 @@ var init_get_dns_data = __esm({
159174
159567
  "src/util/dns/get-dns-data.ts"() {
159175
159568
  "use strict";
159176
159569
  import_chalk60 = __toESM3(require_source());
159177
- init_confirm();
159178
159570
  init_output_manager();
159179
159571
  RECORD_TYPES = ["A", "AAAA", "ALIAS", "CAA", "CNAME", "MX", "SRV", "TXT"];
159180
159572
  }
@@ -160530,15 +160922,13 @@ async function buy(client2, argv) {
160530
160922
  if (skipConfirmation) {
160531
160923
  autoRenew = true;
160532
160924
  } else {
160533
- if (!await confirm(
160534
- client2,
160925
+ if (!await client2.input.confirm(
160535
160926
  `Buy now for ${import_chalk73.default.bold(`$${price}`)} (${`${period}yr${period > 1 ? "s" : ""}`})?`,
160536
160927
  false
160537
160928
  )) {
160538
160929
  return 0;
160539
160930
  }
160540
- autoRenew = await confirm(
160541
- client2,
160931
+ autoRenew = await client2.input.confirm(
160542
160932
  renewalPrice.period === 1 ? `Auto renew yearly for ${import_chalk73.default.bold(`$${price}`)}?` : `Auto renew every ${renewalPrice.period} years for ${import_chalk73.default.bold(
160543
160933
  `$${price}`
160544
160934
  )}?`,
@@ -160635,7 +161025,6 @@ var init_buy2 = __esm({
160635
161025
  init_get_domain_status();
160636
161026
  init_get_scope();
160637
161027
  init_param();
160638
- init_confirm();
160639
161028
  init_purchase_domain();
160640
161029
  init_stamp();
160641
161030
  init_pkg_name();
@@ -160814,8 +161203,7 @@ async function transferIn(client2, argv) {
160814
161203
  )} to transfer under ${import_chalk74.default.bold(contextName)}! ${availableStamp()}`
160815
161204
  );
160816
161205
  const authCode = await getAuthCode(client2, opts["--code"]);
160817
- const shouldTransfer = await confirm(
160818
- client2,
161206
+ const shouldTransfer = await client2.input.confirm(
160819
161207
  transferPolicy === "no-change" ? `Transfer now for ${import_chalk74.default.bold(`$${price}`)}?` : `Transfer now with 1yr renewal for ${import_chalk74.default.bold(`$${price}`)}?`,
160820
161208
  false
160821
161209
  );
@@ -160897,7 +161285,6 @@ var init_transfer_in2 = __esm({
160897
161285
  init_get_auth_code();
160898
161286
  init_get_domain_price();
160899
161287
  init_check_transfer();
160900
- init_confirm();
160901
161288
  init_is_root_domain();
160902
161289
  init_pkg_name();
160903
161290
  init_transfer_in();
@@ -161478,8 +161865,7 @@ async function rm4(client2, argv) {
161478
161865
  );
161479
161866
  }
161480
161867
  const skipConfirmation = opts["--yes"] || false;
161481
- if (!skipConfirmation && !await confirm(
161482
- client2,
161868
+ if (!skipConfirmation && !await client2.input.confirm(
161483
161869
  `Are you sure you want to remove ${param(domainName)}?`,
161484
161870
  false
161485
161871
  )) {
@@ -161588,8 +161974,7 @@ async function removeDomain(client2, contextName, skipConfirmation, domain, alia
161588
161974
  `The ${import_chalk77.default.bold(`custom suffix`)} associated with this domain.`
161589
161975
  );
161590
161976
  }
161591
- if (!skipConfirmation && !await confirm(
161592
- client2,
161977
+ if (!skipConfirmation && !await client2.input.confirm(
161593
161978
  `Remove conflicts associated with domain?`,
161594
161979
  false
161595
161980
  )) {
@@ -161625,7 +162010,6 @@ var init_rm6 = __esm({
161625
162010
  init_stamp();
161626
162011
  init_errors_ts();
161627
162012
  init_param();
161628
- init_confirm();
161629
162013
  init_set_custom_suffix();
161630
162014
  init_find_projects_for_domain();
161631
162015
  init_pkg_name();
@@ -161778,8 +162162,7 @@ async function move2(client2, argv) {
161778
162162
  destination
161779
162163
  )} will have 24 hours to accept your move request before it expires.`
161780
162164
  );
161781
- if (!await confirm(
161782
- client2,
162165
+ if (!await client2.input.confirm(
161783
162166
  `Are you sure you want to move ${param(domainName)} to ${param(
161784
162167
  destination
161785
162168
  )}?`,
@@ -161797,8 +162180,7 @@ async function move2(client2, argv) {
161797
162180
  (0, import_pluralize10.default)("alias", aliases.length, true)
161798
162181
  )} will be removed. Run ${getCommandName(`alias ls`)} to list them.`
161799
162182
  );
161800
- if (!await confirm(
161801
- client2,
162183
+ if (!await client2.input.confirm(
161802
162184
  `Are you sure you want to move ${param(domainName)}?`,
161803
162185
  false
161804
162186
  )) {
@@ -161907,7 +162289,6 @@ var init_move2 = __esm({
161907
162289
  init_param();
161908
162290
  init_get_domain_aliases();
161909
162291
  init_get_domain_by_name();
161910
- init_confirm();
161911
162292
  init_get_teams();
161912
162293
  init_pkg_name();
161913
162294
  init_output_manager();
@@ -162788,8 +163169,7 @@ async function rm5(client2, argv) {
162788
163169
  }
162789
163170
  const env = envs[0];
162790
163171
  const skipConfirmation = opts["--yes"];
162791
- if (!skipConfirmation && !await confirm(
162792
- client2,
163172
+ if (!skipConfirmation && !await client2.input.confirm(
162793
163173
  `Removing Environment Variable ${param(env.key)} from ${formatEnvironments(
162794
163174
  link4,
162795
163175
  env,
@@ -162825,7 +163205,6 @@ var init_rm8 = __esm({
162825
163205
  "src/commands/env/rm.ts"() {
162826
163206
  "use strict";
162827
163207
  import_chalk82 = __toESM3(require_source());
162828
- init_confirm();
162829
163208
  init_remove_env_record();
162830
163209
  init_get_env_records();
162831
163210
  init_format_environments();
@@ -163000,8 +163379,8 @@ var init_connect = __esm({
163000
163379
  });
163001
163380
  }
163002
163381
  }
163003
- trackCliFlagConfirm(confirm2) {
163004
- if (confirm2) {
163382
+ trackCliFlagConfirm(confirm) {
163383
+ if (confirm) {
163005
163384
  this.trackCliFlag("confirm");
163006
163385
  }
163007
163386
  }
@@ -163037,7 +163416,7 @@ async function connect(client2, argv) {
163037
163416
  output_manager_default.warn("`--confirm` is deprecated, please use `--yes` instead");
163038
163417
  opts["--yes"] = opts["--confirm"];
163039
163418
  }
163040
- const confirm2 = Boolean(opts["--yes"]);
163419
+ const confirm = Boolean(opts["--yes"]);
163041
163420
  if (args2.length > 1) {
163042
163421
  output_manager_default.error(
163043
163422
  `Invalid number of arguments. Usage: ${import_chalk83.default.cyan(
@@ -163049,7 +163428,7 @@ async function connect(client2, argv) {
163049
163428
  const repoArg = args2[0];
163050
163429
  telemetry2.trackCliArgumentGitUrl(repoArg);
163051
163430
  const linkedProject = await ensureLink("git", client2, client2.cwd, {
163052
- autoConfirm: confirm2
163431
+ autoConfirm: confirm
163053
163432
  });
163054
163433
  if (typeof linkedProject === "number") {
163055
163434
  return linkedProject;
@@ -163072,14 +163451,14 @@ async function connect(client2, argv) {
163072
163451
  client: client2,
163073
163452
  org,
163074
163453
  project,
163075
- confirm: confirm2,
163454
+ confirm,
163076
163455
  gitConfig,
163077
163456
  repoInfo: parsedUrlArg
163078
163457
  });
163079
163458
  }
163080
163459
  return await connectArg({
163081
163460
  client: client2,
163082
- confirm: confirm2,
163461
+ confirm,
163083
163462
  org,
163084
163463
  project,
163085
163464
  repoInfo: parsedUrlArg
@@ -163127,7 +163506,7 @@ async function connect(client2, argv) {
163127
163506
  const repoPath = `${gitOrg}/${repo}`;
163128
163507
  const checkAndConnect = await checkExistsAndConnect({
163129
163508
  client: client2,
163130
- confirm: confirm2,
163509
+ confirm,
163131
163510
  org,
163132
163511
  project,
163133
163512
  gitProviderLink,
@@ -163146,7 +163525,7 @@ async function connect(client2, argv) {
163146
163525
  }
163147
163526
  async function connectArg({
163148
163527
  client: client2,
163149
- confirm: confirm2,
163528
+ confirm,
163150
163529
  org,
163151
163530
  project,
163152
163531
  repoInfo
@@ -163164,7 +163543,7 @@ async function connectArg({
163164
163543
  const repoPath = `${gitOrg}/${repo}`;
163165
163544
  const connect2 = await checkExistsAndConnect({
163166
163545
  client: client2,
163167
- confirm: confirm2,
163546
+ confirm,
163168
163547
  org,
163169
163548
  project,
163170
163549
  gitProviderLink: project.link,
@@ -163185,7 +163564,7 @@ async function connectArgWithLocalGit({
163185
163564
  client: client2,
163186
163565
  org,
163187
163566
  project,
163188
- confirm: confirm2,
163567
+ confirm,
163189
163568
  gitConfig,
163190
163569
  repoInfo
163191
163570
  }) {
@@ -163193,7 +163572,7 @@ async function connectArgWithLocalGit({
163193
163572
  if (remoteUrls) {
163194
163573
  const shouldConnect = await promptConnectArg({
163195
163574
  client: client2,
163196
- yes: confirm2,
163575
+ yes: confirm,
163197
163576
  repoInfo,
163198
163577
  remoteUrls
163199
163578
  });
@@ -163206,7 +163585,7 @@ async function connectArgWithLocalGit({
163206
163585
  output_manager_default.log(`Connecting Git remote: ${link_default(repoUrl)}`);
163207
163586
  const connect2 = await checkExistsAndConnect({
163208
163587
  client: client2,
163209
- confirm: confirm2,
163588
+ confirm,
163210
163589
  org,
163211
163590
  project,
163212
163591
  gitProviderLink: project.link,
@@ -163226,7 +163605,7 @@ async function connectArgWithLocalGit({
163226
163605
  }
163227
163606
  return 0;
163228
163607
  }
163229
- return await connectArg({ client: client2, confirm: confirm2, org, project, repoInfo });
163608
+ return await connectArg({ client: client2, confirm, org, project, repoInfo });
163230
163609
  }
163231
163610
  async function promptConnectArg({
163232
163611
  client: client2,
@@ -163258,8 +163637,7 @@ async function promptConnectArg({
163258
163637
  let shouldConnect = yes;
163259
163638
  if (!shouldConnect) {
163260
163639
  const { url: repoUrlFromArg } = repoInfoFromArg;
163261
- shouldConnect = await confirm(
163262
- client2,
163640
+ shouldConnect = await client2.input.confirm(
163263
163641
  `Do you still want to connect ${link_default(repoUrlFromArg)}?`,
163264
163642
  false
163265
163643
  );
@@ -163271,7 +163649,7 @@ async function promptConnectArg({
163271
163649
  }
163272
163650
  async function checkExistsAndConnect({
163273
163651
  client: client2,
163274
- confirm: confirm2,
163652
+ confirm,
163275
163653
  org,
163276
163654
  project,
163277
163655
  gitProviderLink,
@@ -163304,7 +163682,7 @@ async function checkExistsAndConnect({
163304
163682
  }
163305
163683
  const shouldReplaceRepo = await confirmRepoConnect(
163306
163684
  client2,
163307
- confirm2,
163685
+ confirm,
163308
163686
  connectedProvider,
163309
163687
  connectedRepoPath
163310
163688
  );
@@ -163326,8 +163704,7 @@ async function checkExistsAndConnect({
163326
163704
  async function confirmRepoConnect(client2, yes, connectedProvider, connectedRepoPath) {
163327
163705
  let shouldReplaceProject = yes;
163328
163706
  if (!shouldReplaceProject) {
163329
- shouldReplaceProject = await confirm(
163330
- client2,
163707
+ shouldReplaceProject = await client2.input.confirm(
163331
163708
  `Looks like you already have a ${formatProvider(
163332
163709
  connectedProvider
163333
163710
  )} repository connected: ${import_chalk83.default.cyan(
@@ -163362,7 +163739,6 @@ var init_connect2 = __esm({
163362
163739
  import_chalk83 = __toESM3(require_source());
163363
163740
  import_path39 = require("path");
163364
163741
  init_create_git_meta();
163365
- init_confirm();
163366
163742
  init_list();
163367
163743
  init_link();
163368
163744
  init_pkg_name();
@@ -163384,8 +163760,8 @@ var init_disconnect = __esm({
163384
163760
  "use strict";
163385
163761
  init_telemetry();
163386
163762
  GitDisconnectTelemetryClient = class extends TelemetryClient {
163387
- trackCliFlagConfirm(confirm2) {
163388
- if (confirm2) {
163763
+ trackCliFlagConfirm(confirm) {
163764
+ if (confirm) {
163389
163765
  this.trackCliFlag("confirm");
163390
163766
  }
163391
163767
  }
@@ -163445,8 +163821,7 @@ async function disconnect(client2, argv) {
163445
163821
  `Your Vercel project will no longer create deployments when you push to this repository.
163446
163822
  `
163447
163823
  );
163448
- const confirmDisconnect = autoConfirm || await confirm(
163449
- client2,
163824
+ const confirmDisconnect = autoConfirm || await client2.input.confirm(
163450
163825
  `Are you sure you want to disconnect ${import_chalk84.default.cyan(
163451
163826
  `${linkOrg}/${repo}`
163452
163827
  )} from your project?`,
@@ -163473,7 +163848,6 @@ var init_disconnect2 = __esm({
163473
163848
  "src/commands/git/disconnect.ts"() {
163474
163849
  "use strict";
163475
163850
  import_chalk84 = __toESM3(require_source());
163476
- init_confirm();
163477
163851
  init_pkg_name();
163478
163852
  init_connect_git_provider();
163479
163853
  init_output_manager();
@@ -163836,7 +164210,7 @@ async function guess(client2, exampleList, name) {
163836
164210
  }
163837
164211
  const found = did_you_mean_default(name, exampleList, 0.7);
163838
164212
  if (typeof found === "string") {
163839
- if (await confirm(client2, `Did you mean ${import_chalk86.default.bold(found)}?`, false)) {
164213
+ if (await client2.input.confirm(`Did you mean ${import_chalk86.default.bold(found)}?`, false)) {
163840
164214
  return found;
163841
164215
  }
163842
164216
  } else {
@@ -163853,7 +164227,6 @@ var init_init = __esm({
163853
164227
  import_chalk86 = __toESM3(require_source());
163854
164228
  init_list();
163855
164229
  init_list_item();
163856
- init_confirm();
163857
164230
  init_humanize_path();
163858
164231
  init_cmd();
163859
164232
  init_did_you_mean();
@@ -164935,15 +165308,16 @@ async function add5(client2, args2) {
164935
165308
  const metadataWizard = createMetadataWizard(metadataSchema);
164936
165309
  const isPreProtocolStorageProduct = product.type === "storage";
164937
165310
  const isPostProtocolStorageProduct = product.protocols?.storage?.status === "enabled";
165311
+ const isVideoProduct = product.protocols?.video?.status;
164938
165312
  const isStorageProduct = isPreProtocolStorageProduct || isPostProtocolStorageProduct;
164939
- const provisionResourceViaCLIIsSupported = installation && metadataWizard.isSupported && isStorageProduct;
165313
+ const isSupportedProductType = isStorageProduct || isVideoProduct;
165314
+ const provisionResourceViaCLIIsSupported = installation && metadataWizard.isSupported && isSupportedProductType;
164940
165315
  if (!provisionResourceViaCLIIsSupported) {
164941
165316
  const projectLink = await getOptionalLinkedProject(client2);
164942
165317
  if (projectLink?.status === "error") {
164943
165318
  return projectLink.exitCode;
164944
165319
  }
164945
- const openInWeb = await confirm(
164946
- client2,
165320
+ const openInWeb = await client2.input.confirm(
164947
165321
  !installation ? "Terms have not been accepted. Open Vercel Dashboard?" : "This resource must be provisioned through the Web UI. Open Vercel Dashboard?",
164948
165322
  true
164949
165323
  );
@@ -164970,8 +165344,7 @@ async function getOptionalLinkedProject(client2) {
164970
165344
  if (linkedProject.status === "not_linked") {
164971
165345
  return;
164972
165346
  }
164973
- const shouldLinkToProject = await confirm(
164974
- client2,
165347
+ const shouldLinkToProject = await client2.input.confirm(
164975
165348
  "Do you want to link this resource to the current project?",
164976
165349
  true
164977
165350
  );
@@ -165127,7 +165500,7 @@ async function confirmProductSelection(client2, product, name, metadata, billing
165127
165500
  `${import_chalk90.default.dim(`- ${import_chalk90.default.bold("Plan:")} ${billingPlan.name}`)}
165128
165501
  `
165129
165502
  );
165130
- return confirm(client2, "Confirm selection?", true);
165503
+ return client2.input.confirm("Confirm selection?", true);
165131
165504
  }
165132
165505
  async function provisionStorageProduct(client2, product, installation, name, metadata, billingPlan) {
165133
165506
  output_manager_default.spinner("Provisioning resource...");
@@ -165213,7 +165586,6 @@ var init_add10 = __esm({
165213
165586
  init_fetch_integration();
165214
165587
  init_output_manager();
165215
165588
  init_add9();
165216
- init_confirm();
165217
165589
  }
165218
165590
  });
165219
165591
 
@@ -165754,7 +166126,7 @@ async function confirmIntegrationRemoval(client2, integration, team) {
165754
166126
  output_manager_default.log(
165755
166127
  `The ${import_chalk93.default.bold(integration)} integration will be removed permanently from team ${import_chalk93.default.bold(team.name)}.`
165756
166128
  );
165757
- return confirm(client2, `${import_chalk93.default.red("Are you sure?")}`, false);
166129
+ return client2.input.confirm(`${import_chalk93.default.red("Are you sure?")}`, false);
165758
166130
  }
165759
166131
  var import_chalk93;
165760
166132
  var init_remove_integration2 = __esm({
@@ -165766,7 +166138,6 @@ var init_remove_integration2 = __esm({
165766
166138
  init_get_flags_specification();
165767
166139
  init_get_scope();
165768
166140
  init_error2();
165769
- init_confirm();
165770
166141
  init_fetch_marketplace_integrations();
165771
166142
  init_remove_integration();
165772
166143
  init_command15();
@@ -166130,7 +166501,7 @@ async function confirmDisconnectProject(client2, resource, project) {
166130
166501
  output_manager_default.log(
166131
166502
  `The resource ${import_chalk94.default.bold(resource.name)} will be disconnected from project ${import_chalk94.default.bold(project.name)}.`
166132
166503
  );
166133
- return confirm(client2, `${import_chalk94.default.red("Are you sure?")}`, false);
166504
+ return client2.input.confirm(`${import_chalk94.default.red("Are you sure?")}`, false);
166134
166505
  }
166135
166506
  async function confirmDisconnectAllProjects(client2, resource) {
166136
166507
  output_manager_default.log("The following projects will be disconnected:");
@@ -166141,7 +166512,7 @@ async function confirmDisconnectAllProjects(client2, resource) {
166141
166512
  output_manager_default.print(` ${project.name}
166142
166513
  `);
166143
166514
  }
166144
- return confirm(client2, import_chalk94.default.red("Are you sure?"), false);
166515
+ return client2.input.confirm(import_chalk94.default.red("Are you sure?"), false);
166145
166516
  }
166146
166517
  var import_chalk94;
166147
166518
  var init_disconnect4 = __esm({
@@ -166153,7 +166524,6 @@ var init_disconnect4 = __esm({
166153
166524
  init_get_flags_specification();
166154
166525
  init_get_scope();
166155
166526
  init_error2();
166156
- init_confirm();
166157
166527
  init_disconnect_resource_from_project();
166158
166528
  init_get_resources();
166159
166529
  init_link2();
@@ -166306,7 +166676,7 @@ async function handleDeleteResource(client2, team, resource, options) {
166306
166676
  }
166307
166677
  async function confirmDeleteResource(client2, resource) {
166308
166678
  output_manager_default.log(`${import_chalk95.default.bold(resource.name)} will be deleted permanently.`);
166309
- return confirm(client2, `${import_chalk95.default.red("Are you sure?")}`, false);
166679
+ return client2.input.confirm(`${import_chalk95.default.red("Are you sure?")}`, false);
166310
166680
  }
166311
166681
  var import_chalk95;
166312
166682
  var init_remove_resource = __esm({
@@ -166318,7 +166688,6 @@ var init_remove_resource = __esm({
166318
166688
  init_get_flags_specification();
166319
166689
  init_get_scope();
166320
166690
  init_error2();
166321
- init_confirm();
166322
166691
  init_delete_resource();
166323
166692
  init_get_resources();
166324
166693
  init_types();
@@ -167528,16 +167897,17 @@ async function list4(client2, argv) {
167528
167897
  output_manager_default.stopSpinner();
167529
167898
  const elapsed2 = (0, import_ms21.default)(Date.now() - start);
167530
167899
  if (deprecated) {
167531
- const upcomingDeprecationVersionsList = [];
167900
+ const upcomingDiscontinuedVersionsList = [];
167532
167901
  for (const nodeVersion of import_build_utils18.NODE_VERSIONS) {
167533
- if (nodeVersion.discontinueDate && nodeVersion.discontinueDate.valueOf() > Date.now()) {
167534
- upcomingDeprecationVersionsList.push(nodeVersion.range);
167902
+ const upcomingDiscontinueDate = nodeVersion.state === "deprecated";
167903
+ if (upcomingDiscontinueDate) {
167904
+ upcomingDiscontinuedVersionsList.push(nodeVersion.range);
167535
167905
  }
167536
167906
  }
167537
167907
  output_manager_default.warn(
167538
- `The following Node.js versions will be deprecated soon: ${upcomingDeprecationVersionsList.join(
167908
+ `The following Node.js versions are deprecated: ${upcomingDiscontinuedVersionsList.join(
167539
167909
  ", "
167540
- )}. Please upgrade your projects immediately.`
167910
+ )} and will be discontinued soon. Please upgrade your projects immediately.`
167541
167911
  );
167542
167912
  output_manager_default.log(
167543
167913
  "For more information visit: https://vercel.com/docs/functions/serverless-functions/runtimes/node-js#node.js-version"
@@ -167549,14 +167919,18 @@ async function list4(client2, argv) {
167549
167919
  if (projectList.length > 0) {
167550
167920
  const tablePrint = table(
167551
167921
  [
167552
- ["Project Name", "Latest Production URL", "Updated"].map(
167553
- (header) => import_chalk100.default.bold(import_chalk100.default.cyan(header))
167554
- ),
167922
+ [
167923
+ "Project Name",
167924
+ "Latest Production URL",
167925
+ "Updated",
167926
+ "Node Version"
167927
+ ].map((header) => import_chalk100.default.bold(import_chalk100.default.cyan(header))),
167555
167928
  ...projectList.flatMap((project) => [
167556
167929
  [
167557
167930
  import_chalk100.default.bold(project.name),
167558
167931
  getLatestProdUrl(project),
167559
- import_chalk100.default.gray((0, import_ms21.default)(Date.now() - project.updatedAt))
167932
+ import_chalk100.default.gray((0, import_ms21.default)(Date.now() - project.updatedAt)),
167933
+ project.nodeVersion ?? ""
167560
167934
  ]
167561
167935
  ])
167562
167936
  ],
@@ -167682,7 +168056,10 @@ It will also delete everything under the project including deployments.
167682
168056
  emoji("warning")
167683
168057
  )
167684
168058
  );
167685
- return await confirm(client2, `${import_chalk101.default.bold.red("Are you sure?")}`, false);
168059
+ return await client2.input.confirm(
168060
+ `${import_chalk101.default.bold.red("Are you sure?")}`,
168061
+ false
168062
+ );
167686
168063
  }
167687
168064
  var import_chalk101, import_ms22, e;
167688
168065
  var init_rm10 = __esm({
@@ -167692,7 +168069,6 @@ var init_rm10 = __esm({
167692
168069
  import_ms22 = __toESM3(require_ms());
167693
168070
  init_emoji();
167694
168071
  init_errors_ts();
167695
- init_confirm();
167696
168072
  init_pkg_name();
167697
168073
  init_rm9();
167698
168074
  init_output_manager();
@@ -168149,7 +168525,7 @@ async function requestPromote({
168149
168525
  promoteByCreation = true;
168150
168526
  } else {
168151
168527
  const question = "This deployment is not a production deployment and cannot be directly promoted. A new deployment will be built using your production environment. Are you sure you want to continue?";
168152
- promoteByCreation = await confirm(client2, question, false);
168528
+ promoteByCreation = await client2.input.confirm(question, false);
168153
168529
  if (!promoteByCreation) {
168154
168530
  output_manager_default.error("Canceled");
168155
168531
  return 0;
@@ -168207,7 +168583,6 @@ var init_request_promote = __esm({
168207
168583
  init_get_project_by_deployment();
168208
168584
  import_ms24 = __toESM3(require_ms());
168209
168585
  init_status();
168210
- init_confirm();
168211
168586
  init_output_manager();
168212
168587
  }
168213
168588
  });