vercel 39.4.1 → 40.0.0

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 +480 -57
  2. package/package.json +11 -11
package/dist/index.js CHANGED
@@ -31789,11 +31789,12 @@ var init_command4 = __esm({
31789
31789
  });
31790
31790
 
31791
31791
  // src/commands/deploy/command.ts
31792
- var deployCommand;
31792
+ var deprecatedArchiveSplitTgz, deployCommand;
31793
31793
  var init_command5 = __esm({
31794
31794
  "src/commands/deploy/command.ts"() {
31795
31795
  "use strict";
31796
31796
  init_arg_common();
31797
+ deprecatedArchiveSplitTgz = "split-tgz";
31797
31798
  deployCommand = {
31798
31799
  name: "deploy",
31799
31800
  aliases: [],
@@ -46156,7 +46157,7 @@ var require_package = __commonJS2({
46156
46157
  "../client/package.json"(exports2, module2) {
46157
46158
  module2.exports = {
46158
46159
  name: "@vercel/client",
46159
- version: "13.5.5",
46160
+ version: "14.0.0",
46160
46161
  main: "dist/index.js",
46161
46162
  typings: "dist/index.d.ts",
46162
46163
  homepage: "https://vercel.com",
@@ -46195,9 +46196,9 @@ var require_package = __commonJS2({
46195
46196
  typescript: "4.9.5"
46196
46197
  },
46197
46198
  dependencies: {
46198
- "@vercel/build-utils": "9.1.0",
46199
+ "@vercel/build-utils": "9.1.1",
46199
46200
  "@vercel/error-utils": "2.0.3",
46200
- "@vercel/routing-utils": "5.0.0",
46201
+ "@vercel/routing-utils": "5.0.2",
46201
46202
  "async-retry": "1.2.3",
46202
46203
  "async-sema": "3.0.0",
46203
46204
  "fs-extra": "8.0.1",
@@ -47304,6 +47305,7 @@ var require_utils8 = __commonJS2({
47304
47305
  ".env.local",
47305
47306
  ".env.*.local",
47306
47307
  ".venv",
47308
+ ".yarn/cache",
47307
47309
  "npm-debug.log",
47308
47310
  "config.gypi",
47309
47311
  "node_modules",
@@ -52397,38 +52399,23 @@ var require_create_deployment = __commonJS2({
52397
52399
  const workPath = typeof path11 === "string" ? path11 : path11[0];
52398
52400
  let files;
52399
52401
  try {
52400
- if (clientOptions.archive === "tgz" || clientOptions.archive === "split-tgz") {
52402
+ if (clientOptions.archive === "tgz") {
52401
52403
  debug2("Packing tarball");
52402
52404
  const tarStream = import_tar_fs2.default.pack(workPath, {
52403
52405
  entries: fileList.map((file) => (0, import_path41.relative)(workPath, file))
52404
52406
  }).pipe((0, import_zlib.createGzip)());
52405
- if (clientOptions.archive === "split-tgz") {
52406
- const chunkedTarBuffers = await (0, import_build_utils19.streamToBufferChunks)(tarStream);
52407
- debug2(`Packed tarball into ${chunkedTarBuffers.length} chunks`);
52408
- files = new Map(
52409
- chunkedTarBuffers.map((chunk, index) => [
52410
- (0, import_hashes.hash)(chunk),
52411
- {
52412
- names: [(0, import_path41.join)(workPath, `.vercel/source.tgz.part${index + 1}`)],
52413
- data: chunk,
52414
- mode: 438
52415
- }
52416
- ])
52417
- );
52418
- } else {
52419
- const tarBuffer = await (0, import_build_utils19.streamToBuffer)(tarStream);
52420
- debug2("Packed tarball");
52421
- files = /* @__PURE__ */ new Map([
52422
- [
52423
- (0, import_hashes.hash)(tarBuffer),
52424
- {
52425
- names: [(0, import_path41.join)(workPath, ".vercel/source.tgz")],
52426
- data: tarBuffer,
52427
- mode: 438
52428
- }
52429
- ]
52430
- ]);
52431
- }
52407
+ const chunkedTarBuffers = await (0, import_build_utils19.streamToBufferChunks)(tarStream);
52408
+ debug2(`Packed tarball into ${chunkedTarBuffers.length} chunks`);
52409
+ files = new Map(
52410
+ chunkedTarBuffers.map((chunk, index) => [
52411
+ (0, import_hashes.hash)(chunk),
52412
+ {
52413
+ names: [(0, import_path41.join)(workPath, `.vercel/source.tgz.part${index + 1}`)],
52414
+ data: chunk,
52415
+ mode: 438
52416
+ }
52417
+ ])
52418
+ );
52432
52419
  } else {
52433
52420
  files = await (0, import_hashes.hashes)(fileList);
52434
52421
  }
@@ -52492,7 +52479,7 @@ var require_types2 = __commonJS2({
52492
52479
  });
52493
52480
  module2.exports = __toCommonJS4(types_exports);
52494
52481
  var import_utils4 = require_utils8();
52495
- var VALID_ARCHIVE_FORMATS4 = ["tgz", "split-tgz"];
52482
+ var VALID_ARCHIVE_FORMATS4 = ["tgz"];
52496
52483
  var fileNameSymbol8 = Symbol("fileName");
52497
52484
  }
52498
52485
  });
@@ -109973,6 +109960,396 @@ var require_dist21 = __commonJS2({
109973
109960
  }
109974
109961
  });
109975
109962
 
109963
+ // ../../node_modules/.pnpm/path-to-regexp@6.3.0/node_modules/path-to-regexp/dist/index.js
109964
+ var require_dist22 = __commonJS2({
109965
+ "../../node_modules/.pnpm/path-to-regexp@6.3.0/node_modules/path-to-regexp/dist/index.js"(exports2) {
109966
+ "use strict";
109967
+ Object.defineProperty(exports2, "__esModule", { value: true });
109968
+ exports2.pathToRegexp = exports2.tokensToRegexp = exports2.regexpToFunction = exports2.match = exports2.tokensToFunction = exports2.compile = exports2.parse = void 0;
109969
+ function lexer(str) {
109970
+ var tokens = [];
109971
+ var i = 0;
109972
+ while (i < str.length) {
109973
+ var char = str[i];
109974
+ if (char === "*" || char === "+" || char === "?") {
109975
+ tokens.push({ type: "MODIFIER", index: i, value: str[i++] });
109976
+ continue;
109977
+ }
109978
+ if (char === "\\") {
109979
+ tokens.push({ type: "ESCAPED_CHAR", index: i++, value: str[i++] });
109980
+ continue;
109981
+ }
109982
+ if (char === "{") {
109983
+ tokens.push({ type: "OPEN", index: i, value: str[i++] });
109984
+ continue;
109985
+ }
109986
+ if (char === "}") {
109987
+ tokens.push({ type: "CLOSE", index: i, value: str[i++] });
109988
+ continue;
109989
+ }
109990
+ if (char === ":") {
109991
+ var name = "";
109992
+ var j = i + 1;
109993
+ while (j < str.length) {
109994
+ var code2 = str.charCodeAt(j);
109995
+ if (
109996
+ // `0-9`
109997
+ code2 >= 48 && code2 <= 57 || // `A-Z`
109998
+ code2 >= 65 && code2 <= 90 || // `a-z`
109999
+ code2 >= 97 && code2 <= 122 || // `_`
110000
+ code2 === 95
110001
+ ) {
110002
+ name += str[j++];
110003
+ continue;
110004
+ }
110005
+ break;
110006
+ }
110007
+ if (!name)
110008
+ throw new TypeError("Missing parameter name at ".concat(i));
110009
+ tokens.push({ type: "NAME", index: i, value: name });
110010
+ i = j;
110011
+ continue;
110012
+ }
110013
+ if (char === "(") {
110014
+ var count = 1;
110015
+ var pattern = "";
110016
+ var j = i + 1;
110017
+ if (str[j] === "?") {
110018
+ throw new TypeError('Pattern cannot start with "?" at '.concat(j));
110019
+ }
110020
+ while (j < str.length) {
110021
+ if (str[j] === "\\") {
110022
+ pattern += str[j++] + str[j++];
110023
+ continue;
110024
+ }
110025
+ if (str[j] === ")") {
110026
+ count--;
110027
+ if (count === 0) {
110028
+ j++;
110029
+ break;
110030
+ }
110031
+ } else if (str[j] === "(") {
110032
+ count++;
110033
+ if (str[j + 1] !== "?") {
110034
+ throw new TypeError("Capturing groups are not allowed at ".concat(j));
110035
+ }
110036
+ }
110037
+ pattern += str[j++];
110038
+ }
110039
+ if (count)
110040
+ throw new TypeError("Unbalanced pattern at ".concat(i));
110041
+ if (!pattern)
110042
+ throw new TypeError("Missing pattern at ".concat(i));
110043
+ tokens.push({ type: "PATTERN", index: i, value: pattern });
110044
+ i = j;
110045
+ continue;
110046
+ }
110047
+ tokens.push({ type: "CHAR", index: i, value: str[i++] });
110048
+ }
110049
+ tokens.push({ type: "END", index: i, value: "" });
110050
+ return tokens;
110051
+ }
110052
+ function parse9(str, options) {
110053
+ if (options === void 0) {
110054
+ options = {};
110055
+ }
110056
+ var tokens = lexer(str);
110057
+ var _a = options.prefixes, prefixes = _a === void 0 ? "./" : _a, _b = options.delimiter, delimiter3 = _b === void 0 ? "/#?" : _b;
110058
+ var result = [];
110059
+ var key = 0;
110060
+ var i = 0;
110061
+ var path11 = "";
110062
+ var tryConsume = function(type) {
110063
+ if (i < tokens.length && tokens[i].type === type)
110064
+ return tokens[i++].value;
110065
+ };
110066
+ var mustConsume = function(type) {
110067
+ var value2 = tryConsume(type);
110068
+ if (value2 !== void 0)
110069
+ return value2;
110070
+ var _a2 = tokens[i], nextType = _a2.type, index = _a2.index;
110071
+ throw new TypeError("Unexpected ".concat(nextType, " at ").concat(index, ", expected ").concat(type));
110072
+ };
110073
+ var consumeText = function() {
110074
+ var result2 = "";
110075
+ var value2;
110076
+ while (value2 = tryConsume("CHAR") || tryConsume("ESCAPED_CHAR")) {
110077
+ result2 += value2;
110078
+ }
110079
+ return result2;
110080
+ };
110081
+ var isSafe = function(value2) {
110082
+ for (var _i = 0, delimiter_1 = delimiter3; _i < delimiter_1.length; _i++) {
110083
+ var char2 = delimiter_1[_i];
110084
+ if (value2.indexOf(char2) > -1)
110085
+ return true;
110086
+ }
110087
+ return false;
110088
+ };
110089
+ var safePattern = function(prefix2) {
110090
+ var prev = result[result.length - 1];
110091
+ var prevText = prefix2 || (prev && typeof prev === "string" ? prev : "");
110092
+ if (prev && !prevText) {
110093
+ throw new TypeError('Must have text between two parameters, missing text after "'.concat(prev.name, '"'));
110094
+ }
110095
+ if (!prevText || isSafe(prevText))
110096
+ return "[^".concat(escapeString(delimiter3), "]+?");
110097
+ return "(?:(?!".concat(escapeString(prevText), ")[^").concat(escapeString(delimiter3), "])+?");
110098
+ };
110099
+ while (i < tokens.length) {
110100
+ var char = tryConsume("CHAR");
110101
+ var name = tryConsume("NAME");
110102
+ var pattern = tryConsume("PATTERN");
110103
+ if (name || pattern) {
110104
+ var prefix = char || "";
110105
+ if (prefixes.indexOf(prefix) === -1) {
110106
+ path11 += prefix;
110107
+ prefix = "";
110108
+ }
110109
+ if (path11) {
110110
+ result.push(path11);
110111
+ path11 = "";
110112
+ }
110113
+ result.push({
110114
+ name: name || key++,
110115
+ prefix,
110116
+ suffix: "",
110117
+ pattern: pattern || safePattern(prefix),
110118
+ modifier: tryConsume("MODIFIER") || ""
110119
+ });
110120
+ continue;
110121
+ }
110122
+ var value = char || tryConsume("ESCAPED_CHAR");
110123
+ if (value) {
110124
+ path11 += value;
110125
+ continue;
110126
+ }
110127
+ if (path11) {
110128
+ result.push(path11);
110129
+ path11 = "";
110130
+ }
110131
+ var open5 = tryConsume("OPEN");
110132
+ if (open5) {
110133
+ var prefix = consumeText();
110134
+ var name_1 = tryConsume("NAME") || "";
110135
+ var pattern_1 = tryConsume("PATTERN") || "";
110136
+ var suffix = consumeText();
110137
+ mustConsume("CLOSE");
110138
+ result.push({
110139
+ name: name_1 || (pattern_1 ? key++ : ""),
110140
+ pattern: name_1 && !pattern_1 ? safePattern(prefix) : pattern_1,
110141
+ prefix,
110142
+ suffix,
110143
+ modifier: tryConsume("MODIFIER") || ""
110144
+ });
110145
+ continue;
110146
+ }
110147
+ mustConsume("END");
110148
+ }
110149
+ return result;
110150
+ }
110151
+ exports2.parse = parse9;
110152
+ function compile(str, options) {
110153
+ return tokensToFunction(parse9(str, options), options);
110154
+ }
110155
+ exports2.compile = compile;
110156
+ function tokensToFunction(tokens, options) {
110157
+ if (options === void 0) {
110158
+ options = {};
110159
+ }
110160
+ var reFlags = flags(options);
110161
+ var _a = options.encode, encode = _a === void 0 ? function(x) {
110162
+ return x;
110163
+ } : _a, _b = options.validate, validate2 = _b === void 0 ? true : _b;
110164
+ var matches = tokens.map(function(token) {
110165
+ if (typeof token === "object") {
110166
+ return new RegExp("^(?:".concat(token.pattern, ")$"), reFlags);
110167
+ }
110168
+ });
110169
+ return function(data) {
110170
+ var path11 = "";
110171
+ for (var i = 0; i < tokens.length; i++) {
110172
+ var token = tokens[i];
110173
+ if (typeof token === "string") {
110174
+ path11 += token;
110175
+ continue;
110176
+ }
110177
+ var value = data ? data[token.name] : void 0;
110178
+ var optional = token.modifier === "?" || token.modifier === "*";
110179
+ var repeat = token.modifier === "*" || token.modifier === "+";
110180
+ if (Array.isArray(value)) {
110181
+ if (!repeat) {
110182
+ throw new TypeError('Expected "'.concat(token.name, '" to not repeat, but got an array'));
110183
+ }
110184
+ if (value.length === 0) {
110185
+ if (optional)
110186
+ continue;
110187
+ throw new TypeError('Expected "'.concat(token.name, '" to not be empty'));
110188
+ }
110189
+ for (var j = 0; j < value.length; j++) {
110190
+ var segment = encode(value[j], token);
110191
+ if (validate2 && !matches[i].test(segment)) {
110192
+ throw new TypeError('Expected all "'.concat(token.name, '" to match "').concat(token.pattern, '", but got "').concat(segment, '"'));
110193
+ }
110194
+ path11 += token.prefix + segment + token.suffix;
110195
+ }
110196
+ continue;
110197
+ }
110198
+ if (typeof value === "string" || typeof value === "number") {
110199
+ var segment = encode(String(value), token);
110200
+ if (validate2 && !matches[i].test(segment)) {
110201
+ throw new TypeError('Expected "'.concat(token.name, '" to match "').concat(token.pattern, '", but got "').concat(segment, '"'));
110202
+ }
110203
+ path11 += token.prefix + segment + token.suffix;
110204
+ continue;
110205
+ }
110206
+ if (optional)
110207
+ continue;
110208
+ var typeOfMessage = repeat ? "an array" : "a string";
110209
+ throw new TypeError('Expected "'.concat(token.name, '" to be ').concat(typeOfMessage));
110210
+ }
110211
+ return path11;
110212
+ };
110213
+ }
110214
+ exports2.tokensToFunction = tokensToFunction;
110215
+ function match(str, options) {
110216
+ var keys = [];
110217
+ var re = pathToRegexp(str, keys, options);
110218
+ return regexpToFunction(re, keys, options);
110219
+ }
110220
+ exports2.match = match;
110221
+ function regexpToFunction(re, keys, options) {
110222
+ if (options === void 0) {
110223
+ options = {};
110224
+ }
110225
+ var _a = options.decode, decode = _a === void 0 ? function(x) {
110226
+ return x;
110227
+ } : _a;
110228
+ return function(pathname) {
110229
+ var m = re.exec(pathname);
110230
+ if (!m)
110231
+ return false;
110232
+ var path11 = m[0], index = m.index;
110233
+ var params2 = /* @__PURE__ */ Object.create(null);
110234
+ var _loop_1 = function(i2) {
110235
+ if (m[i2] === void 0)
110236
+ return "continue";
110237
+ var key = keys[i2 - 1];
110238
+ if (key.modifier === "*" || key.modifier === "+") {
110239
+ params2[key.name] = m[i2].split(key.prefix + key.suffix).map(function(value) {
110240
+ return decode(value, key);
110241
+ });
110242
+ } else {
110243
+ params2[key.name] = decode(m[i2], key);
110244
+ }
110245
+ };
110246
+ for (var i = 1; i < m.length; i++) {
110247
+ _loop_1(i);
110248
+ }
110249
+ return { path: path11, index, params: params2 };
110250
+ };
110251
+ }
110252
+ exports2.regexpToFunction = regexpToFunction;
110253
+ function escapeString(str) {
110254
+ return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1");
110255
+ }
110256
+ function flags(options) {
110257
+ return options && options.sensitive ? "" : "i";
110258
+ }
110259
+ function regexpToRegexp(path11, keys) {
110260
+ if (!keys)
110261
+ return path11;
110262
+ var groupsRegex = /\((?:\?<(.*?)>)?(?!\?)/g;
110263
+ var index = 0;
110264
+ var execResult = groupsRegex.exec(path11.source);
110265
+ while (execResult) {
110266
+ keys.push({
110267
+ // Use parenthesized substring match if available, index otherwise
110268
+ name: execResult[1] || index++,
110269
+ prefix: "",
110270
+ suffix: "",
110271
+ modifier: "",
110272
+ pattern: ""
110273
+ });
110274
+ execResult = groupsRegex.exec(path11.source);
110275
+ }
110276
+ return path11;
110277
+ }
110278
+ function arrayToRegexp(paths, keys, options) {
110279
+ var parts = paths.map(function(path11) {
110280
+ return pathToRegexp(path11, keys, options).source;
110281
+ });
110282
+ return new RegExp("(?:".concat(parts.join("|"), ")"), flags(options));
110283
+ }
110284
+ function stringToRegexp(path11, keys, options) {
110285
+ return tokensToRegexp(parse9(path11, options), keys, options);
110286
+ }
110287
+ function tokensToRegexp(tokens, keys, options) {
110288
+ if (options === void 0) {
110289
+ options = {};
110290
+ }
110291
+ 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) {
110292
+ return x;
110293
+ } : _d, _e = options.delimiter, delimiter3 = _e === void 0 ? "/#?" : _e, _f = options.endsWith, endsWith = _f === void 0 ? "" : _f;
110294
+ var endsWithRe = "[".concat(escapeString(endsWith), "]|$");
110295
+ var delimiterRe = "[".concat(escapeString(delimiter3), "]");
110296
+ var route = start ? "^" : "";
110297
+ for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {
110298
+ var token = tokens_1[_i];
110299
+ if (typeof token === "string") {
110300
+ route += escapeString(encode(token));
110301
+ } else {
110302
+ var prefix = escapeString(encode(token.prefix));
110303
+ var suffix = escapeString(encode(token.suffix));
110304
+ if (token.pattern) {
110305
+ if (keys)
110306
+ keys.push(token);
110307
+ if (prefix || suffix) {
110308
+ if (token.modifier === "+" || token.modifier === "*") {
110309
+ var mod = token.modifier === "*" ? "?" : "";
110310
+ route += "(?:".concat(prefix, "((?:").concat(token.pattern, ")(?:").concat(suffix).concat(prefix, "(?:").concat(token.pattern, "))*)").concat(suffix, ")").concat(mod);
110311
+ } else {
110312
+ route += "(?:".concat(prefix, "(").concat(token.pattern, ")").concat(suffix, ")").concat(token.modifier);
110313
+ }
110314
+ } else {
110315
+ if (token.modifier === "+" || token.modifier === "*") {
110316
+ throw new TypeError('Can not repeat "'.concat(token.name, '" without a prefix and suffix'));
110317
+ }
110318
+ route += "(".concat(token.pattern, ")").concat(token.modifier);
110319
+ }
110320
+ } else {
110321
+ route += "(?:".concat(prefix).concat(suffix, ")").concat(token.modifier);
110322
+ }
110323
+ }
110324
+ }
110325
+ if (end) {
110326
+ if (!strict)
110327
+ route += "".concat(delimiterRe, "?");
110328
+ route += !options.endsWith ? "$" : "(?=".concat(endsWithRe, ")");
110329
+ } else {
110330
+ var endToken = tokens[tokens.length - 1];
110331
+ var isEndDelimited = typeof endToken === "string" ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1 : endToken === void 0;
110332
+ if (!strict) {
110333
+ route += "(?:".concat(delimiterRe, "(?=").concat(endsWithRe, "))?");
110334
+ }
110335
+ if (!isEndDelimited) {
110336
+ route += "(?=".concat(delimiterRe, "|").concat(endsWithRe, ")");
110337
+ }
110338
+ }
110339
+ return new RegExp(route, flags(options));
110340
+ }
110341
+ exports2.tokensToRegexp = tokensToRegexp;
110342
+ function pathToRegexp(path11, keys, options) {
110343
+ if (path11 instanceof RegExp)
110344
+ return regexpToRegexp(path11, keys);
110345
+ if (Array.isArray(path11))
110346
+ return arrayToRegexp(path11, keys, options);
110347
+ return stringToRegexp(path11, keys, options);
110348
+ }
110349
+ exports2.pathToRegexp = pathToRegexp;
110350
+ }
110351
+ });
110352
+
109976
110353
  // ../routing-utils/dist/superstatic.js
109977
110354
  var require_superstatic = __commonJS2({
109978
110355
  "../routing-utils/dist/superstatic.js"(exports2, module2) {
@@ -110008,6 +110385,37 @@ var require_superstatic = __commonJS2({
110008
110385
  module2.exports = __toCommonJS4(superstatic_exports);
110009
110386
  var import_url23 = require("url");
110010
110387
  var import_path_to_regexp = require_dist21();
110388
+ var import_path_to_regexp_updated = require_dist22();
110389
+ function pathToRegexp(callerId, path11, keys, options) {
110390
+ const currentRegExp = (0, import_path_to_regexp.pathToRegexp)(path11, keys, options);
110391
+ try {
110392
+ const currentKeys = keys;
110393
+ const newKeys = [];
110394
+ const newRegExp = (0, import_path_to_regexp_updated.pathToRegexp)(path11, newKeys, options);
110395
+ const isDiffRegExp = currentRegExp.toString() !== newRegExp.toString();
110396
+ if (process.env.FORCE_PATH_TO_REGEXP_LOG || isDiffRegExp) {
110397
+ const message2 = JSON.stringify({
110398
+ path: path11,
110399
+ currentRegExp: currentRegExp.toString(),
110400
+ newRegExp: newRegExp.toString()
110401
+ });
110402
+ console.error(`[vc] PATH TO REGEXP PATH DIFF @ #${callerId}: ${message2}`);
110403
+ }
110404
+ const isDiffKeys = keys?.toString() !== newKeys?.toString();
110405
+ if (process.env.FORCE_PATH_TO_REGEXP_LOG || isDiffKeys) {
110406
+ const message2 = JSON.stringify({
110407
+ isDiffKeys,
110408
+ currentKeys,
110409
+ newKeys
110410
+ });
110411
+ console.error(`[vc] PATH TO REGEXP KEYS DIFF @ #${callerId}: ${message2}`);
110412
+ }
110413
+ } catch (err) {
110414
+ const error3 = err;
110415
+ console.error(`[vc] PATH TO REGEXP ERROR @ #${callerId}: ${error3.message}`);
110416
+ }
110417
+ return currentRegExp;
110418
+ }
110011
110419
  var UN_NAMED_SEGMENT = "__UN_NAMED_SEGMENT__";
110012
110420
  function getCleanUrls2(filePaths) {
110013
110421
  const htmlFiles = filePaths.map(toRoute).filter((f) => f.endsWith(".html")).map((f) => ({
@@ -110163,7 +110571,7 @@ var require_superstatic = __commonJS2({
110163
110571
  }
110164
110572
  function sourceToRegex(source) {
110165
110573
  const keys = [];
110166
- const r = (0, import_path_to_regexp.pathToRegexp)(source, keys, {
110574
+ const r = pathToRegexp("632", source, keys, {
110167
110575
  strict: true,
110168
110576
  sensitive: true,
110169
110577
  delimiter: "/"
@@ -110236,9 +110644,9 @@ var require_superstatic = __commonJS2({
110236
110644
  const hashKeys = [];
110237
110645
  const hostnameKeys = [];
110238
110646
  try {
110239
- (0, import_path_to_regexp.pathToRegexp)(pathname, pathnameKeys);
110240
- (0, import_path_to_regexp.pathToRegexp)(hash || "", hashKeys);
110241
- (0, import_path_to_regexp.pathToRegexp)(hostname2 || "", hostnameKeys);
110647
+ pathToRegexp("528", pathname, pathnameKeys);
110648
+ pathToRegexp("834", hash || "", hashKeys);
110649
+ pathToRegexp("712", hostname2 || "", hostnameKeys);
110242
110650
  } catch (_) {
110243
110651
  }
110244
110652
  destParams = new Set(
@@ -110346,7 +110754,7 @@ var require_append = __commonJS2({
110346
110754
  appendRoutesToPhase: () => appendRoutesToPhase4
110347
110755
  });
110348
110756
  module2.exports = __toCommonJS4(append_exports);
110349
- var import_index = require_dist22();
110757
+ var import_index = require_dist23();
110350
110758
  function appendRoutesToPhase4({
110351
110759
  routes: prevRoutes,
110352
110760
  newRoutes,
@@ -110414,7 +110822,7 @@ var require_merge3 = __commonJS2({
110414
110822
  mergeRoutes: () => mergeRoutes3
110415
110823
  });
110416
110824
  module2.exports = __toCommonJS4(merge_exports);
110417
- var import_index = require_dist22();
110825
+ var import_index = require_dist23();
110418
110826
  function getBuilderRoutesMapping(builds) {
110419
110827
  const builderRoutes = {};
110420
110828
  for (const { entrypoint, routes: routes2, use } of builds) {
@@ -110590,7 +110998,7 @@ var require_schemas = __commonJS2({
110590
110998
  };
110591
110999
  var routesSchema2 = {
110592
111000
  type: "array",
110593
- maxItems: 1024,
111001
+ maxItems: 2048,
110594
111002
  deprecated: true,
110595
111003
  description: "A list of routes objects used to rewrite paths to point towards other internal or external paths",
110596
111004
  example: [{ dest: "https://docs.example.com", src: "/docs" }],
@@ -110719,7 +111127,7 @@ var require_schemas = __commonJS2({
110719
111127
  };
110720
111128
  var rewritesSchema2 = {
110721
111129
  type: "array",
110722
- maxItems: 1024,
111130
+ maxItems: 2048,
110723
111131
  description: "A list of rewrite definitions.",
110724
111132
  items: {
110725
111133
  type: "object",
@@ -110750,7 +111158,7 @@ var require_schemas = __commonJS2({
110750
111158
  var redirectsSchema2 = {
110751
111159
  title: "Redirects",
110752
111160
  type: "array",
110753
- maxItems: 1024,
111161
+ maxItems: 2048,
110754
111162
  description: "A list of redirect definitions.",
110755
111163
  items: {
110756
111164
  type: "object",
@@ -110785,7 +111193,7 @@ var require_schemas = __commonJS2({
110785
111193
  };
110786
111194
  var headersSchema2 = {
110787
111195
  type: "array",
110788
- maxItems: 1024,
111196
+ maxItems: 2048,
110789
111197
  description: "A list of header definitions.",
110790
111198
  items: {
110791
111199
  type: "object",
@@ -110856,7 +111264,7 @@ var require_types6 = __commonJS2({
110856
111264
  });
110857
111265
 
110858
111266
  // ../routing-utils/dist/index.js
110859
- var require_dist22 = __commonJS2({
111267
+ var require_dist23 = __commonJS2({
110860
111268
  "../routing-utils/dist/index.js"(exports2, module2) {
110861
111269
  "use strict";
110862
111270
  var __defProp4 = Object.defineProperty;
@@ -131936,7 +132344,7 @@ var init_validate_config = __esm({
131936
132344
  "src/util/validate-config.ts"() {
131937
132345
  "use strict";
131938
132346
  import_ajv2 = __toESM3(require_ajv());
131939
- import_routing_utils = __toESM3(require_dist22());
132347
+ import_routing_utils = __toESM3(require_dist23());
131940
132348
  import_build_utils12 = require("@vercel/build-utils");
131941
132349
  import_client5 = __toESM3(require_dist7());
131942
132350
  imagesSchema = {
@@ -133836,7 +134244,7 @@ var init_build2 = __esm({
133836
134244
  import_client6 = __toESM3(require_dist7());
133837
134245
  import_frameworks5 = __toESM3(require_frameworks());
133838
134246
  import_fs_detectors4 = __toESM3(require_dist20());
133839
- import_routing_utils2 = __toESM3(require_dist22());
134247
+ import_routing_utils2 = __toESM3(require_dist23());
133840
134248
  init_output_manager();
133841
134249
  init_corepack();
133842
134250
  init_import_builders();
@@ -138536,6 +138944,7 @@ var init_deploy = __esm({
138536
138944
  "src/util/telemetry/commands/deploy/index.ts"() {
138537
138945
  "use strict";
138538
138946
  init_telemetry();
138947
+ init_command5();
138539
138948
  import_client10 = __toESM3(require_dist7());
138540
138949
  DeployTelemetryClient = class extends TelemetryClient {
138541
138950
  trackCliArgumentProjectPath(projectPaths) {
@@ -138548,7 +138957,10 @@ var init_deploy = __esm({
138548
138957
  }
138549
138958
  trackCliOptionArchive(format4) {
138550
138959
  if (format4) {
138551
- const allowedFormat = import_client10.VALID_ARCHIVE_FORMATS.includes(format4) ? format4 : this.redactedValue;
138960
+ const allowedFormat = [
138961
+ ...import_client10.VALID_ARCHIVE_FORMATS,
138962
+ deprecatedArchiveSplitTgz
138963
+ ].includes(format4) ? format4 : this.redactedValue;
138552
138964
  this.trackCliOption({
138553
138965
  option: "archive",
138554
138966
  value: allowedFormat
@@ -138887,11 +139299,22 @@ var init_deploy2 = __esm({
138887
139299
  flagName: "target",
138888
139300
  flags: parsedArguments.flags
138889
139301
  });
138890
- const archive = parsedArguments.flags["--archive"];
138891
- if (typeof archive === "string" && !isValidArchive(archive)) {
139302
+ const parsedArchive = parsedArguments.flags["--archive"];
139303
+ if (typeof parsedArchive === "string" && !(isValidArchive(parsedArchive) || parsedArchive === deprecatedArchiveSplitTgz)) {
138892
139304
  output_manager_default.error(`Format must be one of: ${import_client11.VALID_ARCHIVE_FORMATS.join(", ")}`);
138893
139305
  return 1;
138894
139306
  }
139307
+ if (parsedArchive === deprecatedArchiveSplitTgz) {
139308
+ output_manager_default.print(
139309
+ `${prependEmoji(
139310
+ `${param("--archive=tgz")} now has the same behavior as ${param(
139311
+ "--archive=split-tgz"
139312
+ )}. Please use ${param("--archive=tgz")} instead.`,
139313
+ emoji("warning")
139314
+ )}
139315
+ `
139316
+ );
139317
+ }
138895
139318
  const link4 = await ensureLink("deploy", client2, cwd, {
138896
139319
  autoConfirm,
138897
139320
  setupMsg: "Set up and deploy",
@@ -139126,7 +139549,7 @@ var init_deploy2 = __esm({
139126
139549
  createArgs,
139127
139550
  org,
139128
139551
  !project,
139129
- archive
139552
+ parsedArchive ? "tgz" : void 0
139130
139553
  );
139131
139554
  if (deployment instanceof NotDomainOwner) {
139132
139555
  output_manager_default.error(deployment.message);
@@ -155420,7 +155843,7 @@ var require_src3 = __commonJS2({
155420
155843
  });
155421
155844
 
155422
155845
  // ../../node_modules/.pnpm/@tootallnate+once@1.1.2/node_modules/@tootallnate/once/dist/index.js
155423
- var require_dist23 = __commonJS2({
155846
+ var require_dist24 = __commonJS2({
155424
155847
  "../../node_modules/.pnpm/@tootallnate+once@1.1.2/node_modules/@tootallnate/once/dist/index.js"(exports2, module2) {
155425
155848
  "use strict";
155426
155849
  function noop() {
@@ -155597,7 +156020,7 @@ var init_path_helpers = __esm({
155597
156020
  });
155598
156021
 
155599
156022
  // ../../node_modules/.pnpm/pcre-to-regexp@1.0.0/node_modules/pcre-to-regexp/dist/index.js
155600
- var require_dist24 = __commonJS2({
156023
+ var require_dist25 = __commonJS2({
155601
156024
  "../../node_modules/.pnpm/pcre-to-regexp@1.0.0/node_modules/pcre-to-regexp/dist/index.js"(exports2, module2) {
155602
156025
  "use strict";
155603
156026
  var characterClasses = {
@@ -155932,9 +156355,9 @@ var init_router = __esm({
155932
156355
  "src/util/dev/router.ts"() {
155933
156356
  "use strict";
155934
156357
  import_url16 = __toESM3(require("url"));
155935
- import_pcre_to_regexp = __toESM3(require_dist24());
156358
+ import_pcre_to_regexp = __toESM3(require_dist25());
155936
156359
  init_is_url();
155937
- import_routing_utils3 = __toESM3(require_dist22());
156360
+ import_routing_utils3 = __toESM3(require_dist23());
155938
156361
  init_parse_query_string();
155939
156362
  }
155940
156363
  });
@@ -156431,7 +156854,7 @@ var init_builder = __esm({
156431
156854
  init_tree_kill();
156432
156855
  init_path_helpers();
156433
156856
  init_errors_ts();
156434
- import_routing_utils4 = __toESM3(require_dist22());
156857
+ import_routing_utils4 = __toESM3(require_dist23());
156435
156858
  init_get_update_command();
156436
156859
  init_pkg_name();
156437
156860
  init_import_builders();
@@ -156991,7 +157414,7 @@ var init_server = __esm({
156991
157414
  import_chokidar = require("chokidar");
156992
157415
  import_dotenv2 = __toESM3(require_main3());
156993
157416
  import_path35 = __toESM3(require("path"));
156994
- import_once = __toESM3(require_dist23());
157417
+ import_once = __toESM3(require_dist24());
156995
157418
  import_directory = __toESM3(require_directory());
156996
157419
  import_get_port = __toESM3(require_get_port());
156997
157420
  import_is_port_reachable = __toESM3(require_is_port_reachable());
@@ -156999,7 +157422,7 @@ var init_server = __esm({
156999
157422
  import_npm_package_arg2 = __toESM3(require_npa());
157000
157423
  import_json_parse_better_errors3 = __toESM3(require_json_parse_better_errors());
157001
157424
  import_client12 = __toESM3(require_dist7());
157002
- import_routing_utils5 = __toESM3(require_dist22());
157425
+ import_routing_utils5 = __toESM3(require_dist23());
157003
157426
  import_build_utils17 = require("@vercel/build-utils");
157004
157427
  import_fs_detectors6 = __toESM3(require_dist20());
157005
157428
  import_frameworks6 = __toESM3(require_frameworks());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "39.4.1",
3
+ "version": "40.0.0",
4
4
  "preferGlobal": true,
5
5
  "license": "Apache-2.0",
6
6
  "description": "The command-line interface for Vercel",
@@ -21,17 +21,17 @@
21
21
  "node": ">= 16"
22
22
  },
23
23
  "dependencies": {
24
- "@vercel/build-utils": "9.1.0",
24
+ "@vercel/build-utils": "9.1.1",
25
25
  "@vercel/fun": "1.1.2",
26
26
  "@vercel/go": "3.2.1",
27
27
  "@vercel/hydrogen": "1.0.11",
28
- "@vercel/next": "4.4.4",
29
- "@vercel/node": "5.0.3",
28
+ "@vercel/next": "4.4.5",
29
+ "@vercel/node": "5.0.5",
30
30
  "@vercel/python": "4.7.1",
31
- "@vercel/redwood": "2.1.12",
32
- "@vercel/remix-builder": "5.1.0",
31
+ "@vercel/redwood": "2.1.14",
32
+ "@vercel/remix-builder": "5.1.2",
33
33
  "@vercel/ruby": "2.2.0",
34
- "@vercel/static-build": "2.5.42",
34
+ "@vercel/static-build": "2.5.44",
35
35
  "chokidar": "4.0.0"
36
36
  },
37
37
  "devDependencies": {
@@ -79,12 +79,12 @@
79
79
  "@types/yauzl-promise": "2.1.0",
80
80
  "@vercel-internals/constants": "1.0.4",
81
81
  "@vercel-internals/get-package-json": "1.0.0",
82
- "@vercel-internals/types": "3.0.5",
83
- "@vercel/client": "13.5.5",
82
+ "@vercel-internals/types": "3.0.6",
83
+ "@vercel/client": "14.0.0",
84
84
  "@vercel/error-utils": "2.0.3",
85
85
  "@vercel/frameworks": "3.5.0",
86
- "@vercel/fs-detectors": "5.3.3",
87
- "@vercel/routing-utils": "5.0.0",
86
+ "@vercel/fs-detectors": "5.3.5",
87
+ "@vercel/routing-utils": "5.0.2",
88
88
  "@vitest/expect": "2.1.3",
89
89
  "ajv": "6.12.3",
90
90
  "alpha-sort": "2.0.1",