vercel 56.2.1 → 56.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{add-YIAPBLSF.js → add-ANWCBEDB.js} +10 -13
- package/dist/chunks/{add-ZAQLTF5W.js → add-FWXAFWCU.js} +9 -12
- package/dist/chunks/{chunk-52V5NDUN.js → chunk-26VWIAO5.js} +2 -2
- package/dist/chunks/{chunk-2I34TRQZ.js → chunk-2E3ZC3JA.js} +2 -2
- package/dist/chunks/{chunk-5AJNUXWP.js → chunk-3PKFXNJZ.js} +2 -4
- package/dist/chunks/{chunk-5OT26JZN.js → chunk-3VS4DTAU.js} +4 -6
- package/dist/chunks/{chunk-JJWESW5Y.js → chunk-4G6QZSBL.js} +2 -4
- package/dist/chunks/{chunk-GXBDQRHJ.js → chunk-4Z5LC2CI.js} +1 -1
- package/dist/chunks/{chunk-5HNYJHOB.js → chunk-5R5FS7WB.js} +1 -1
- package/dist/chunks/{chunk-CMJMYVQM.js → chunk-6OMC3HOW.js} +1 -1
- package/dist/chunks/{chunk-HIO4M75R.js → chunk-74TJ5D35.js} +8 -11
- package/dist/chunks/{chunk-EPBUWIAO.js → chunk-7ZECC3BE.js} +48 -24
- package/dist/chunks/{chunk-JF7LPEBD.js → chunk-AHSE4X6V.js} +1 -1
- package/dist/chunks/{chunk-7OJJKCSW.js → chunk-D7SLHLED.js} +6 -10
- package/dist/chunks/{chunk-QY63UKTP.js → chunk-DMSLNAVH.js} +2 -2
- package/dist/chunks/{chunk-75PKWYOS.js → chunk-ETWY3HX7.js} +99 -74
- package/dist/chunks/{chunk-MYD7N6MH.js → chunk-F3B65VPT.js} +13 -3
- package/dist/chunks/{chunk-RLJA2KI7.js → chunk-FYQPTH5C.js} +2 -4
- package/dist/chunks/{chunk-7C7MMT4J.js → chunk-GIL3VAUR.js} +2 -4
- package/dist/chunks/{chunk-6ZVIC6FL.js → chunk-IAEXF3FY.js} +8 -8
- package/dist/chunks/{chunk-DD6D5J7E.js → chunk-JAY74MG2.js} +9 -13
- package/dist/chunks/{chunk-KXVQEPTA.js → chunk-JEWA7HG3.js} +3 -5
- package/dist/chunks/{chunk-P6AK7SVK.js → chunk-KSSNLCL4.js} +360 -25
- package/dist/chunks/{chunk-HA7C7SDO.js → chunk-LHFNIZ2P.js} +2 -4
- package/dist/chunks/{chunk-YKJA5TVC.js → chunk-M5LOXLMK.js} +3 -5
- package/dist/chunks/{chunk-GPVU6JRS.js → chunk-NMAHBCNK.js} +9 -7
- package/dist/chunks/{chunk-QEEGXNFK.js → chunk-NZRWTCRM.js} +1 -1
- package/dist/chunks/{chunk-IDMKFYEA.js → chunk-OGG6UBXK.js} +2 -4
- package/dist/chunks/{chunk-DDEPCAGE.js → chunk-RGOP4OYL.js} +558 -164
- package/dist/chunks/{chunk-NULWLKT7.js → chunk-SAEAR237.js} +4 -4
- package/dist/chunks/{chunk-22GUZ5KG.js → chunk-STJJ3DFO.js} +2 -4
- package/dist/chunks/{chunk-EHTPDXTS.js → chunk-SZXT3PDQ.js} +3 -294
- package/dist/chunks/{chunk-CB3I3QIT.js → chunk-UDWRZXIT.js} +193 -85
- package/dist/chunks/{chunk-PASZMRTZ.js → chunk-UOB64NBX.js} +5 -5
- package/dist/chunks/{chunk-7TJLLZPN.js → chunk-VO6PK3ZA.js} +6 -10
- package/dist/chunks/{chunk-DREO3DFB.js → chunk-VZSZBD4V.js} +16 -6
- package/dist/chunks/{chunk-VOBBH2SB.js → chunk-W346YNDN.js} +0 -49
- package/dist/chunks/{chunk-UESEGACQ.js → chunk-XOED7Y6Z.js} +3 -3
- package/dist/chunks/{chunk-7S3QUMIG.js → chunk-YS6EDZHB.js} +3 -5
- package/dist/chunks/{chunk-4RGSUV5C.js → chunk-ZVLPUREX.js} +2 -2
- package/dist/chunks/{compile-vercel-config-4NKPN3EG.js → compile-vercel-config-ELXMKFUY.js} +4 -4
- package/dist/chunks/{delete-NCMDC3IU.js → delete-BO3RQ3F6.js} +14 -14
- package/dist/chunks/{disable-Z7DXY4AY.js → disable-WRXXRGYR.js} +14 -13
- package/dist/chunks/{discard-4ILK3ULP.js → discard-5XOTKSVP.js} +13 -12
- package/dist/chunks/{edit-ROJQCTWR.js → edit-ML2P3MKK.js} +17 -18
- package/dist/chunks/{enable-TAVCLAEC.js → enable-E5YCEICZ.js} +14 -13
- package/dist/chunks/{export-YTSIGJFX.js → export-EUFPKG5T.js} +15 -14
- package/dist/chunks/{image-LORSHERP.js → image-5WOBJQFO.js} +6 -8
- package/dist/chunks/{inspect-OHDU2SVS.js → inspect-7PJE37AJ.js} +8 -10
- package/dist/chunks/{inspect-L4UIWOXO.js → inspect-BX26XAK2.js} +11 -15
- package/dist/chunks/{inspect-A2X7RTP4.js → inspect-I3ZNL35B.js} +8 -10
- package/dist/chunks/{inspect-5C4UHSCT.js → inspect-W4SOI7QI.js} +10 -12
- package/dist/chunks/{list-FGVDMSFN.js → list-44G7AUFR.js} +8 -10
- package/dist/chunks/{list-P2B5MHON.js → list-VLFAOPR5.js} +10 -13
- package/dist/chunks/{login-4BK3VGII.js → login-CL57KXDR.js} +11 -14
- package/dist/chunks/{ls-WDRFGE2J.js → ls-42JFBIDV.js} +12 -15
- package/dist/chunks/{ls-YXKRRYTL.js → ls-EZRL6SGP.js} +10 -13
- package/dist/chunks/{ls-NU4D6TLG.js → ls-KIAXSLDB.js} +10 -13
- package/dist/chunks/{ls-RAC5LMTR.js → ls-VD2DNABR.js} +9 -12
- package/dist/chunks/{publish-DGF2TQCQ.js → publish-C3QAGQJ7.js} +13 -12
- package/dist/chunks/{query-NWW6RDHK.js → query-XC3Y3EBD.js} +10 -12
- package/dist/chunks/{reorder-TTZBKCEB.js → reorder-L56M5KP3.js} +17 -16
- package/dist/chunks/{restore-DG3LZMHQ.js → restore-E5LGXKS3.js} +19 -18
- package/dist/chunks/{rm-7WXXLTXF.js → rm-AG3FDPTQ.js} +10 -13
- package/dist/chunks/{rm-2VBE4C2V.js → rm-EF4HUVO2.js} +9 -12
- package/dist/chunks/{rm-U2DFRDKE.js → rm-KGRSF2OY.js} +8 -11
- package/dist/chunks/{rule-inspect-4NL3GGDB.js → rule-inspect-FRDI2PJF.js} +9 -12
- package/dist/chunks/{rules-DABNOUNG.js → rules-OEOYTZ6U.js} +9 -11
- package/dist/chunks/{schema-4RRRUUOO.js → schema-OEWP27BI.js} +11 -12
- package/dist/chunks/{tags-MLX3AHHK.js → tags-RUHWH6XO.js} +5 -7
- package/dist/chunks/{types-2TPA6J4G.js → types-QKLIFDDP.js} +5 -5
- package/dist/chunks/{update-YXH7WWTN.js → update-BEXGZY7H.js} +9 -12
- package/dist/commands/build/index.js +26 -31
- package/dist/commands/deploy/index.js +61 -77
- package/dist/commands/dev/index.js +193 -159
- package/dist/commands/env/index.js +70 -47
- package/dist/commands/link/index.js +25 -29
- package/dist/commands/list/index.js +13 -17
- package/dist/commands-bulk.js +637 -620
- package/dist/index.js +23 -25
- package/dist/version.mjs +1 -1
- package/package.json +21 -21
- package/dist/chunks/chunk-DWU7JOO6.js +0 -158
- package/dist/chunks/chunk-IC4YEIGW.js +0 -101
- package/dist/chunks/chunk-IMUF5MGV.js +0 -81
- package/dist/chunks/chunk-SGL3NMOP.js +0 -86
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "../../chunks/chunk-2HSQ7YUK.js";
|
|
10
10
|
import {
|
|
11
11
|
getUpdateCommand
|
|
12
|
-
} from "../../chunks/chunk-
|
|
12
|
+
} from "../../chunks/chunk-26VWIAO5.js";
|
|
13
13
|
import {
|
|
14
14
|
highlight
|
|
15
15
|
} from "../../chunks/chunk-V5P25P7F.js";
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
} from "../../chunks/chunk-YPQSDAEW.js";
|
|
19
19
|
import {
|
|
20
20
|
devCommand
|
|
21
|
-
} from "../../chunks/chunk-
|
|
21
|
+
} from "../../chunks/chunk-OGG6UBXK.js";
|
|
22
22
|
import {
|
|
23
23
|
OUTPUT_DIR,
|
|
24
24
|
getStaticServiceSchedules,
|
|
@@ -26,38 +26,33 @@ import {
|
|
|
26
26
|
require_mime_types,
|
|
27
27
|
require_npa,
|
|
28
28
|
staticFiles
|
|
29
|
-
} from "../../chunks/chunk-
|
|
29
|
+
} from "../../chunks/chunk-F3B65VPT.js";
|
|
30
30
|
import "../../chunks/chunk-IB5L4LKZ.js";
|
|
31
31
|
import {
|
|
32
32
|
pickOverrides
|
|
33
|
-
} from "../../chunks/chunk-
|
|
33
|
+
} from "../../chunks/chunk-AHSE4X6V.js";
|
|
34
34
|
import "../../chunks/chunk-R6IGDGX3.js";
|
|
35
35
|
import {
|
|
36
36
|
displayDetectedServices,
|
|
37
37
|
readConfig,
|
|
38
38
|
setupAndLink
|
|
39
|
-
} from "../../chunks/chunk-
|
|
39
|
+
} from "../../chunks/chunk-UOB64NBX.js";
|
|
40
40
|
import {
|
|
41
41
|
getLocalPathConfig
|
|
42
|
-
} from "../../chunks/chunk-
|
|
43
|
-
import {
|
|
44
|
-
printProjectNotFoundError
|
|
45
|
-
} from "../../chunks/chunk-IMUF5MGV.js";
|
|
46
|
-
import "../../chunks/chunk-IC4YEIGW.js";
|
|
42
|
+
} from "../../chunks/chunk-XOED7Y6Z.js";
|
|
47
43
|
import {
|
|
48
44
|
help
|
|
49
|
-
} from "../../chunks/chunk-
|
|
50
|
-
import "../../chunks/chunk-
|
|
51
|
-
import {
|
|
52
|
-
detectExplicitScope
|
|
53
|
-
} from "../../chunks/chunk-DWU7JOO6.js";
|
|
45
|
+
} from "../../chunks/chunk-DMSLNAVH.js";
|
|
46
|
+
import "../../chunks/chunk-NZRWTCRM.js";
|
|
54
47
|
import {
|
|
55
48
|
VERCEL_DIR,
|
|
56
49
|
VERCEL_OIDC_TOKEN,
|
|
50
|
+
detectExplicitScope,
|
|
57
51
|
findRepoRoot,
|
|
58
52
|
getLinkedProject,
|
|
59
53
|
getVercelDirectory,
|
|
60
54
|
param,
|
|
55
|
+
printProjectNotFoundError,
|
|
61
56
|
pullEnvRecords,
|
|
62
57
|
readJSONFile,
|
|
63
58
|
require_brace_expansion,
|
|
@@ -75,19 +70,18 @@ import {
|
|
|
75
70
|
resolveProjectCwd,
|
|
76
71
|
tryDetectServices,
|
|
77
72
|
validateConfig
|
|
78
|
-
} from "../../chunks/chunk-
|
|
73
|
+
} from "../../chunks/chunk-RGOP4OYL.js";
|
|
79
74
|
import {
|
|
80
75
|
buildCommandWithYes,
|
|
81
76
|
outputActionRequired
|
|
82
|
-
} from "../../chunks/chunk-
|
|
77
|
+
} from "../../chunks/chunk-UDWRZXIT.js";
|
|
83
78
|
import {
|
|
84
79
|
TelemetryClient
|
|
85
80
|
} from "../../chunks/chunk-ECCWJHC6.js";
|
|
86
81
|
import {
|
|
87
|
-
getFlagsSpecification,
|
|
88
82
|
parseArguments,
|
|
89
83
|
printError
|
|
90
|
-
} from "../../chunks/chunk-
|
|
84
|
+
} from "../../chunks/chunk-SZXT3PDQ.js";
|
|
91
85
|
import {
|
|
92
86
|
CantParseJSONFile,
|
|
93
87
|
LambdaSizeExceededError,
|
|
@@ -96,10 +90,11 @@ import {
|
|
|
96
90
|
cmd,
|
|
97
91
|
getCommandName,
|
|
98
92
|
getCommandNamePlain,
|
|
93
|
+
getFlagsSpecification,
|
|
99
94
|
getTitleName,
|
|
100
95
|
packageName,
|
|
101
96
|
require_bytes
|
|
102
|
-
} from "../../chunks/chunk-
|
|
97
|
+
} from "../../chunks/chunk-KSSNLCL4.js";
|
|
103
98
|
import "../../chunks/chunk-P4QNYOFB.js";
|
|
104
99
|
import {
|
|
105
100
|
Headers,
|
|
@@ -7115,13 +7110,13 @@ var require_urlparser = __commonJS({
|
|
|
7115
7110
|
this.pathname = prePath === "" ? "/" : prePath;
|
|
7116
7111
|
return;
|
|
7117
7112
|
}
|
|
7118
|
-
var
|
|
7113
|
+
var path7;
|
|
7119
7114
|
if (escape2) {
|
|
7120
|
-
|
|
7115
|
+
path7 = this._getComponentEscaped(str, pathStart, pathEnd, false);
|
|
7121
7116
|
} else {
|
|
7122
|
-
|
|
7117
|
+
path7 = str.slice(pathStart, pathEnd + 1);
|
|
7123
7118
|
}
|
|
7124
|
-
this.pathname = prePath === "" ? this._prependSlash ? "/" +
|
|
7119
|
+
this.pathname = prePath === "" ? this._prependSlash ? "/" + path7 : path7 : prePath + path7;
|
|
7125
7120
|
};
|
|
7126
7121
|
Url.prototype._parseQuery = function Url$_parseQuery(str, start, end, disableAutoEscapeChars) {
|
|
7127
7122
|
var queryStart = start;
|
|
@@ -7424,8 +7419,8 @@ var require_urlparser = __commonJS({
|
|
|
7424
7419
|
// ../../node_modules/.pnpm/serve-handler@6.1.1/node_modules/serve-handler/src/glob-slash.js
|
|
7425
7420
|
var require_glob_slash = __commonJS({
|
|
7426
7421
|
"../../node_modules/.pnpm/serve-handler@6.1.1/node_modules/serve-handler/src/glob-slash.js"(exports2, module2) {
|
|
7427
|
-
var
|
|
7428
|
-
var normalize = (value) =>
|
|
7422
|
+
var path7 = __require("path");
|
|
7423
|
+
var normalize = (value) => path7.posix.normalize(path7.posix.join("/", value));
|
|
7429
7424
|
module2.exports = (value) => value.charAt(0) === "!" ? `!${normalize(value.substr(1))}` : normalize(value);
|
|
7430
7425
|
module2.exports.normalize = normalize;
|
|
7431
7426
|
}
|
|
@@ -7436,9 +7431,9 @@ var require_minimatch2 = __commonJS({
|
|
|
7436
7431
|
"../../node_modules/.pnpm/minimatch@3.0.4/node_modules/minimatch/minimatch.js"(exports2, module2) {
|
|
7437
7432
|
module2.exports = minimatch3;
|
|
7438
7433
|
minimatch3.Minimatch = Minimatch;
|
|
7439
|
-
var
|
|
7434
|
+
var path7 = { sep: "/" };
|
|
7440
7435
|
try {
|
|
7441
|
-
|
|
7436
|
+
path7 = __require("path");
|
|
7442
7437
|
} catch (er) {
|
|
7443
7438
|
}
|
|
7444
7439
|
var GLOBSTAR = minimatch3.GLOBSTAR = Minimatch.GLOBSTAR = {};
|
|
@@ -7521,8 +7516,8 @@ var require_minimatch2 = __commonJS({
|
|
|
7521
7516
|
if (!options)
|
|
7522
7517
|
options = {};
|
|
7523
7518
|
pattern = pattern.trim();
|
|
7524
|
-
if (
|
|
7525
|
-
pattern = pattern.split(
|
|
7519
|
+
if (path7.sep !== "/") {
|
|
7520
|
+
pattern = pattern.split(path7.sep).join("/");
|
|
7526
7521
|
}
|
|
7527
7522
|
this.options = options;
|
|
7528
7523
|
this.set = [];
|
|
@@ -7889,8 +7884,8 @@ var require_minimatch2 = __commonJS({
|
|
|
7889
7884
|
if (f === "/" && partial)
|
|
7890
7885
|
return true;
|
|
7891
7886
|
var options = this.options;
|
|
7892
|
-
if (
|
|
7893
|
-
f = f.split(
|
|
7887
|
+
if (path7.sep !== "/") {
|
|
7888
|
+
f = f.split(path7.sep).join("/");
|
|
7894
7889
|
}
|
|
7895
7890
|
f = f.split(slashSplit);
|
|
7896
7891
|
this.debug(this.pattern, "split", f);
|
|
@@ -8027,7 +8022,7 @@ var require_path_to_regexp = __commonJS({
|
|
|
8027
8022
|
var tokens = [];
|
|
8028
8023
|
var key = 0;
|
|
8029
8024
|
var index = 0;
|
|
8030
|
-
var
|
|
8025
|
+
var path7 = "";
|
|
8031
8026
|
var defaultDelimiter = options && options.delimiter || DEFAULT_DELIMITER;
|
|
8032
8027
|
var delimiters = options && options.delimiters || DEFAULT_DELIMITERS;
|
|
8033
8028
|
var pathEscaped = false;
|
|
@@ -8036,10 +8031,10 @@ var require_path_to_regexp = __commonJS({
|
|
|
8036
8031
|
var m = res[0];
|
|
8037
8032
|
var escaped = res[1];
|
|
8038
8033
|
var offset = res.index;
|
|
8039
|
-
|
|
8034
|
+
path7 += str.slice(index, offset);
|
|
8040
8035
|
index = offset + m.length;
|
|
8041
8036
|
if (escaped) {
|
|
8042
|
-
|
|
8037
|
+
path7 += escaped[1];
|
|
8043
8038
|
pathEscaped = true;
|
|
8044
8039
|
continue;
|
|
8045
8040
|
}
|
|
@@ -8049,16 +8044,16 @@ var require_path_to_regexp = __commonJS({
|
|
|
8049
8044
|
var capture = res[3];
|
|
8050
8045
|
var group = res[4];
|
|
8051
8046
|
var modifier = res[5];
|
|
8052
|
-
if (!pathEscaped &&
|
|
8053
|
-
var k =
|
|
8054
|
-
if (delimiters.indexOf(
|
|
8055
|
-
prev =
|
|
8056
|
-
|
|
8047
|
+
if (!pathEscaped && path7.length) {
|
|
8048
|
+
var k = path7.length - 1;
|
|
8049
|
+
if (delimiters.indexOf(path7[k]) > -1) {
|
|
8050
|
+
prev = path7[k];
|
|
8051
|
+
path7 = path7.slice(0, k);
|
|
8057
8052
|
}
|
|
8058
8053
|
}
|
|
8059
|
-
if (
|
|
8060
|
-
tokens.push(
|
|
8061
|
-
|
|
8054
|
+
if (path7) {
|
|
8055
|
+
tokens.push(path7);
|
|
8056
|
+
path7 = "";
|
|
8062
8057
|
pathEscaped = false;
|
|
8063
8058
|
}
|
|
8064
8059
|
var partial = prev !== "" && next !== void 0 && next !== prev;
|
|
@@ -8076,8 +8071,8 @@ var require_path_to_regexp = __commonJS({
|
|
|
8076
8071
|
pattern: pattern ? escapeGroup(pattern) : "[^" + escapeString(delimiter2) + "]+?"
|
|
8077
8072
|
});
|
|
8078
8073
|
}
|
|
8079
|
-
if (
|
|
8080
|
-
tokens.push(
|
|
8074
|
+
if (path7 || index < str.length) {
|
|
8075
|
+
tokens.push(path7 + str.substr(index));
|
|
8081
8076
|
}
|
|
8082
8077
|
return tokens;
|
|
8083
8078
|
}
|
|
@@ -8092,12 +8087,12 @@ var require_path_to_regexp = __commonJS({
|
|
|
8092
8087
|
}
|
|
8093
8088
|
}
|
|
8094
8089
|
return function(data, options) {
|
|
8095
|
-
var
|
|
8090
|
+
var path7 = "";
|
|
8096
8091
|
var encode = options && options.encode || encodeURIComponent;
|
|
8097
8092
|
for (var i2 = 0; i2 < tokens.length; i2++) {
|
|
8098
8093
|
var token = tokens[i2];
|
|
8099
8094
|
if (typeof token === "string") {
|
|
8100
|
-
|
|
8095
|
+
path7 += token;
|
|
8101
8096
|
continue;
|
|
8102
8097
|
}
|
|
8103
8098
|
var value = data ? data[token.name] : void 0;
|
|
@@ -8116,7 +8111,7 @@ var require_path_to_regexp = __commonJS({
|
|
|
8116
8111
|
if (!matches[i2].test(segment)) {
|
|
8117
8112
|
throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '"');
|
|
8118
8113
|
}
|
|
8119
|
-
|
|
8114
|
+
path7 += (j === 0 ? token.prefix : token.delimiter) + segment;
|
|
8120
8115
|
}
|
|
8121
8116
|
continue;
|
|
8122
8117
|
}
|
|
@@ -8125,17 +8120,17 @@ var require_path_to_regexp = __commonJS({
|
|
|
8125
8120
|
if (!matches[i2].test(segment)) {
|
|
8126
8121
|
throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but got "' + segment + '"');
|
|
8127
8122
|
}
|
|
8128
|
-
|
|
8123
|
+
path7 += token.prefix + segment;
|
|
8129
8124
|
continue;
|
|
8130
8125
|
}
|
|
8131
8126
|
if (token.optional) {
|
|
8132
8127
|
if (token.partial)
|
|
8133
|
-
|
|
8128
|
+
path7 += token.prefix;
|
|
8134
8129
|
continue;
|
|
8135
8130
|
}
|
|
8136
8131
|
throw new TypeError('Expected "' + token.name + '" to be ' + (token.repeat ? "an array" : "a string"));
|
|
8137
8132
|
}
|
|
8138
|
-
return
|
|
8133
|
+
return path7;
|
|
8139
8134
|
};
|
|
8140
8135
|
}
|
|
8141
8136
|
function escapeString(str) {
|
|
@@ -8147,10 +8142,10 @@ var require_path_to_regexp = __commonJS({
|
|
|
8147
8142
|
function flags(options) {
|
|
8148
8143
|
return options && options.sensitive ? "" : "i";
|
|
8149
8144
|
}
|
|
8150
|
-
function regexpToRegexp(
|
|
8145
|
+
function regexpToRegexp(path7, keys) {
|
|
8151
8146
|
if (!keys)
|
|
8152
|
-
return
|
|
8153
|
-
var groups =
|
|
8147
|
+
return path7;
|
|
8148
|
+
var groups = path7.source.match(/\((?!\?)/g);
|
|
8154
8149
|
if (groups) {
|
|
8155
8150
|
for (var i = 0; i < groups.length; i++) {
|
|
8156
8151
|
keys.push({
|
|
@@ -8164,17 +8159,17 @@ var require_path_to_regexp = __commonJS({
|
|
|
8164
8159
|
});
|
|
8165
8160
|
}
|
|
8166
8161
|
}
|
|
8167
|
-
return
|
|
8162
|
+
return path7;
|
|
8168
8163
|
}
|
|
8169
|
-
function arrayToRegexp(
|
|
8164
|
+
function arrayToRegexp(path7, keys, options) {
|
|
8170
8165
|
var parts = [];
|
|
8171
|
-
for (var i = 0; i <
|
|
8172
|
-
parts.push(pathToRegexp(
|
|
8166
|
+
for (var i = 0; i < path7.length; i++) {
|
|
8167
|
+
parts.push(pathToRegexp(path7[i], keys, options).source);
|
|
8173
8168
|
}
|
|
8174
8169
|
return new RegExp("(?:" + parts.join("|") + ")", flags(options));
|
|
8175
8170
|
}
|
|
8176
|
-
function stringToRegexp(
|
|
8177
|
-
return tokensToRegExp(parse2(
|
|
8171
|
+
function stringToRegexp(path7, keys, options) {
|
|
8172
|
+
return tokensToRegExp(parse2(path7, options), keys, options);
|
|
8178
8173
|
}
|
|
8179
8174
|
function tokensToRegExp(tokens, keys, options) {
|
|
8180
8175
|
options = options || {};
|
|
@@ -8218,21 +8213,21 @@ var require_path_to_regexp = __commonJS({
|
|
|
8218
8213
|
}
|
|
8219
8214
|
return new RegExp("^" + route, flags(options));
|
|
8220
8215
|
}
|
|
8221
|
-
function pathToRegexp(
|
|
8222
|
-
if (
|
|
8223
|
-
return regexpToRegexp(
|
|
8216
|
+
function pathToRegexp(path7, keys, options) {
|
|
8217
|
+
if (path7 instanceof RegExp) {
|
|
8218
|
+
return regexpToRegexp(path7, keys);
|
|
8224
8219
|
}
|
|
8225
|
-
if (Array.isArray(
|
|
8220
|
+
if (Array.isArray(path7)) {
|
|
8226
8221
|
return arrayToRegexp(
|
|
8227
8222
|
/** @type {!Array} */
|
|
8228
|
-
|
|
8223
|
+
path7,
|
|
8229
8224
|
keys,
|
|
8230
8225
|
options
|
|
8231
8226
|
);
|
|
8232
8227
|
}
|
|
8233
8228
|
return stringToRegexp(
|
|
8234
8229
|
/** @type {string} */
|
|
8235
|
-
|
|
8230
|
+
path7,
|
|
8236
8231
|
keys,
|
|
8237
8232
|
options
|
|
8238
8233
|
);
|
|
@@ -15397,11 +15392,11 @@ var require_mime_types2 = __commonJS({
|
|
|
15397
15392
|
}
|
|
15398
15393
|
return exts[0];
|
|
15399
15394
|
}
|
|
15400
|
-
function lookup(
|
|
15401
|
-
if (!
|
|
15395
|
+
function lookup(path7) {
|
|
15396
|
+
if (!path7 || typeof path7 !== "string") {
|
|
15402
15397
|
return false;
|
|
15403
15398
|
}
|
|
15404
|
-
var extension2 = extname2("x." +
|
|
15399
|
+
var extension2 = extname2("x." + path7).toLowerCase().substr(1);
|
|
15405
15400
|
if (!extension2) {
|
|
15406
15401
|
return false;
|
|
15407
15402
|
}
|
|
@@ -15599,7 +15594,7 @@ var require_content_disposition = __commonJS({
|
|
|
15599
15594
|
var require_path_is_inside = __commonJS({
|
|
15600
15595
|
"../../node_modules/.pnpm/path-is-inside@1.0.2/node_modules/path-is-inside/lib/path-is-inside.js"(exports2, module2) {
|
|
15601
15596
|
"use strict";
|
|
15602
|
-
var
|
|
15597
|
+
var path7 = __require("path");
|
|
15603
15598
|
module2.exports = function(thePath, potentialParent) {
|
|
15604
15599
|
thePath = stripTrailingSep(thePath);
|
|
15605
15600
|
potentialParent = stripTrailingSep(potentialParent);
|
|
@@ -15607,10 +15602,10 @@ var require_path_is_inside = __commonJS({
|
|
|
15607
15602
|
thePath = thePath.toLowerCase();
|
|
15608
15603
|
potentialParent = potentialParent.toLowerCase();
|
|
15609
15604
|
}
|
|
15610
|
-
return thePath.lastIndexOf(potentialParent, 0) === 0 && (thePath[potentialParent.length] ===
|
|
15605
|
+
return thePath.lastIndexOf(potentialParent, 0) === 0 && (thePath[potentialParent.length] === path7.sep || thePath[potentialParent.length] === void 0);
|
|
15611
15606
|
};
|
|
15612
15607
|
function stripTrailingSep(thePath) {
|
|
15613
|
-
if (thePath[thePath.length - 1] ===
|
|
15608
|
+
if (thePath[thePath.length - 1] === path7.sep) {
|
|
15614
15609
|
return thePath.slice(0, -1);
|
|
15615
15610
|
}
|
|
15616
15611
|
return thePath;
|
|
@@ -15786,7 +15781,7 @@ var require_error = __commonJS({
|
|
|
15786
15781
|
var require_src2 = __commonJS({
|
|
15787
15782
|
"../../node_modules/.pnpm/serve-handler@6.1.1/node_modules/serve-handler/src/index.js"(exports2, module2) {
|
|
15788
15783
|
var { promisify } = __require("util");
|
|
15789
|
-
var
|
|
15784
|
+
var path7 = __require("path");
|
|
15790
15785
|
var { createHash } = __require("crypto");
|
|
15791
15786
|
var { realpath, lstat, createReadStream, readdir } = __require("fs");
|
|
15792
15787
|
var url4 = require_urlparser();
|
|
@@ -15803,7 +15798,7 @@ var require_src2 = __commonJS({
|
|
|
15803
15798
|
var etags = /* @__PURE__ */ new Map();
|
|
15804
15799
|
var calculateSha = (handlers, absolutePath) => new Promise((resolve2, reject) => {
|
|
15805
15800
|
const hash = createHash("sha1");
|
|
15806
|
-
hash.update(
|
|
15801
|
+
hash.update(path7.extname(absolutePath));
|
|
15807
15802
|
hash.update("-");
|
|
15808
15803
|
const rs = handlers.createReadStream(absolutePath);
|
|
15809
15804
|
rs.on("error", reject);
|
|
@@ -15816,7 +15811,7 @@ var require_src2 = __commonJS({
|
|
|
15816
15811
|
var sourceMatches = (source, requestPath, allowSegments) => {
|
|
15817
15812
|
const keys = [];
|
|
15818
15813
|
const slashed = slasher(source);
|
|
15819
|
-
const resolvedPath =
|
|
15814
|
+
const resolvedPath = path7.posix.resolve(requestPath);
|
|
15820
15815
|
let results = null;
|
|
15821
15816
|
if (allowSegments) {
|
|
15822
15817
|
const normalized = slashed.replace("*", "(.*)");
|
|
@@ -15880,7 +15875,7 @@ var require_src2 = __commonJS({
|
|
|
15880
15875
|
cleanedUrl = true;
|
|
15881
15876
|
}
|
|
15882
15877
|
if (slashing) {
|
|
15883
|
-
const { ext, name } =
|
|
15878
|
+
const { ext, name } = path7.parse(decodedPath);
|
|
15884
15879
|
const isTrailed = decodedPath.endsWith("/");
|
|
15885
15880
|
const isDotfile = name.startsWith(".");
|
|
15886
15881
|
let target = null;
|
|
@@ -15926,8 +15921,8 @@ var require_src2 = __commonJS({
|
|
|
15926
15921
|
var getHeaders = async (handlers, config, current, absolutePath, stats) => {
|
|
15927
15922
|
const { headers: customHeaders = [], etag = false } = config;
|
|
15928
15923
|
const related = {};
|
|
15929
|
-
const { base } =
|
|
15930
|
-
const relativePath =
|
|
15924
|
+
const { base } = path7.parse(absolutePath);
|
|
15925
|
+
const relativePath = path7.relative(current, absolutePath);
|
|
15931
15926
|
if (customHeaders.length > 0) {
|
|
15932
15927
|
for (let index = 0; index < customHeaders.length; index++) {
|
|
15933
15928
|
const { source, headers: headers2 } = customHeaders[index];
|
|
@@ -15987,15 +15982,15 @@ var require_src2 = __commonJS({
|
|
|
15987
15982
|
return true;
|
|
15988
15983
|
};
|
|
15989
15984
|
var getPossiblePaths = (relativePath, extension) => [
|
|
15990
|
-
|
|
15985
|
+
path7.join(relativePath, `index${extension}`),
|
|
15991
15986
|
relativePath.endsWith("/") ? relativePath.replace(/\/$/g, extension) : relativePath + extension
|
|
15992
|
-
].filter((item) =>
|
|
15987
|
+
].filter((item) => path7.basename(item) !== extension);
|
|
15993
15988
|
var findRelated = async (current, relativePath, rewrittenPath, originalStat) => {
|
|
15994
15989
|
const possible = rewrittenPath ? [rewrittenPath] : getPossiblePaths(relativePath, ".html");
|
|
15995
15990
|
let stats = null;
|
|
15996
15991
|
for (let index = 0; index < possible.length; index++) {
|
|
15997
15992
|
const related = possible[index];
|
|
15998
|
-
const absolutePath =
|
|
15993
|
+
const absolutePath = path7.join(current, related);
|
|
15999
15994
|
try {
|
|
16000
15995
|
stats = await originalStat(absolutePath);
|
|
16001
15996
|
} catch (err) {
|
|
@@ -16040,15 +16035,15 @@ var require_src2 = __commonJS({
|
|
|
16040
16035
|
const canRenderSingle = renderSingle && files.length === 1;
|
|
16041
16036
|
for (let index = 0; index < files.length; index++) {
|
|
16042
16037
|
const file = files[index];
|
|
16043
|
-
const filePath =
|
|
16044
|
-
const details =
|
|
16038
|
+
const filePath = path7.resolve(absolutePath, file);
|
|
16039
|
+
const details = path7.parse(filePath);
|
|
16045
16040
|
let stats = null;
|
|
16046
16041
|
if (methods.lstat) {
|
|
16047
16042
|
stats = await handlers.lstat(filePath, true);
|
|
16048
16043
|
} else {
|
|
16049
16044
|
stats = await handlers.lstat(filePath);
|
|
16050
16045
|
}
|
|
16051
|
-
details.relative =
|
|
16046
|
+
details.relative = path7.join(relativePath, details.base);
|
|
16052
16047
|
if (stats.isDirectory()) {
|
|
16053
16048
|
details.base += slashSuffix;
|
|
16054
16049
|
details.relative += slashSuffix;
|
|
@@ -16075,9 +16070,9 @@ var require_src2 = __commonJS({
|
|
|
16075
16070
|
delete files[index];
|
|
16076
16071
|
}
|
|
16077
16072
|
}
|
|
16078
|
-
const toRoot =
|
|
16079
|
-
const directory =
|
|
16080
|
-
const pathParts = directory.split(
|
|
16073
|
+
const toRoot = path7.relative(current, absolutePath);
|
|
16074
|
+
const directory = path7.join(path7.basename(current), toRoot, slashSuffix);
|
|
16075
|
+
const pathParts = directory.split(path7.sep).filter(Boolean);
|
|
16081
16076
|
files = files.sort((a, b) => {
|
|
16082
16077
|
const aIsDir = a.type === "directory";
|
|
16083
16078
|
const bIsDir = b.type === "directory";
|
|
@@ -16094,7 +16089,7 @@ var require_src2 = __commonJS({
|
|
|
16094
16089
|
}).filter(Boolean);
|
|
16095
16090
|
if (toRoot.length > 0) {
|
|
16096
16091
|
const directoryPath = [...pathParts].slice(1);
|
|
16097
|
-
const relative3 =
|
|
16092
|
+
const relative3 = path7.join("/", ...directoryPath, "..", slashSuffix);
|
|
16098
16093
|
files.unshift({
|
|
16099
16094
|
type: "directory",
|
|
16100
16095
|
base: "..",
|
|
@@ -16143,7 +16138,7 @@ var require_src2 = __commonJS({
|
|
|
16143
16138
|
return;
|
|
16144
16139
|
}
|
|
16145
16140
|
let stats = null;
|
|
16146
|
-
const errorPage =
|
|
16141
|
+
const errorPage = path7.join(current, `${statusCode}.html`);
|
|
16147
16142
|
try {
|
|
16148
16143
|
stats = await handlers.lstat(errorPage);
|
|
16149
16144
|
} catch (err) {
|
|
@@ -16188,7 +16183,7 @@ var require_src2 = __commonJS({
|
|
|
16188
16183
|
}, methods);
|
|
16189
16184
|
module2.exports = async (request, response, config = {}, methods = {}) => {
|
|
16190
16185
|
const cwd = process.cwd();
|
|
16191
|
-
const current = config.public ?
|
|
16186
|
+
const current = config.public ? path7.resolve(cwd, config.public) : cwd;
|
|
16192
16187
|
const handlers = getHandlers(methods);
|
|
16193
16188
|
let relativePath = null;
|
|
16194
16189
|
let acceptsJSON = null;
|
|
@@ -16204,7 +16199,7 @@ var require_src2 = __commonJS({
|
|
|
16204
16199
|
message: "Bad Request"
|
|
16205
16200
|
});
|
|
16206
16201
|
}
|
|
16207
|
-
let absolutePath =
|
|
16202
|
+
let absolutePath = path7.join(current, relativePath);
|
|
16208
16203
|
if (!isPathInside(absolutePath, current)) {
|
|
16209
16204
|
return sendError(absolutePath, response, acceptsJSON, current, handlers, config, {
|
|
16210
16205
|
statusCode: 400,
|
|
@@ -16222,7 +16217,7 @@ var require_src2 = __commonJS({
|
|
|
16222
16217
|
return;
|
|
16223
16218
|
}
|
|
16224
16219
|
let stats = null;
|
|
16225
|
-
if (
|
|
16220
|
+
if (path7.extname(relativePath) !== "") {
|
|
16226
16221
|
try {
|
|
16227
16222
|
stats = await handlers.lstat(absolutePath);
|
|
16228
16223
|
} catch (err) {
|
|
@@ -16752,7 +16747,7 @@ var require_escape_html = __commonJS({
|
|
|
16752
16747
|
|
|
16753
16748
|
// src/commands/dev/index.ts
|
|
16754
16749
|
var import_chalk4 = __toESM(require_source(), 1);
|
|
16755
|
-
import
|
|
16750
|
+
import path6 from "path";
|
|
16756
16751
|
|
|
16757
16752
|
// src/commands/dev/dev.ts
|
|
16758
16753
|
var import_chalk3 = __toESM(require_source(), 1);
|
|
@@ -16780,7 +16775,7 @@ var import_get_port2 = __toESM(require_get_port(), 1);
|
|
|
16780
16775
|
var import_fast_deep_equal = __toESM(require_fast_deep_equal(), 1);
|
|
16781
16776
|
import { randomBytes as randomBytes2 } from "crypto";
|
|
16782
16777
|
import { watch } from "chokidar";
|
|
16783
|
-
import
|
|
16778
|
+
import path5, { isAbsolute, basename, dirname as dirname2, extname, join as join2 } from "path";
|
|
16784
16779
|
|
|
16785
16780
|
// src/util/dev/port-utils.ts
|
|
16786
16781
|
var import_is_port_reachable = __toESM(require_is_port_reachable(), 1);
|
|
@@ -17054,18 +17049,18 @@ function applyTransform(data, transform, isHeader) {
|
|
|
17054
17049
|
break;
|
|
17055
17050
|
}
|
|
17056
17051
|
}
|
|
17057
|
-
function isValidRequestPath(
|
|
17058
|
-
if (
|
|
17052
|
+
function isValidRequestPath(path7) {
|
|
17053
|
+
if (path7 === "" || path7.length > 2048) {
|
|
17059
17054
|
return false;
|
|
17060
17055
|
}
|
|
17061
|
-
if (
|
|
17056
|
+
if (path7[0] !== "/" || path7.startsWith("//")) {
|
|
17062
17057
|
return false;
|
|
17063
17058
|
}
|
|
17064
|
-
if (/[?#]/.test(
|
|
17059
|
+
if (/[?#]/.test(path7)) {
|
|
17065
17060
|
return false;
|
|
17066
17061
|
}
|
|
17067
|
-
for (let i = 0; i <
|
|
17068
|
-
const code =
|
|
17062
|
+
for (let i = 0; i < path7.length; i++) {
|
|
17063
|
+
const code = path7.charCodeAt(i);
|
|
17069
17064
|
if (code <= 32 || code === 127) {
|
|
17070
17065
|
return false;
|
|
17071
17066
|
}
|
|
@@ -17073,13 +17068,13 @@ function isValidRequestPath(path6) {
|
|
|
17073
17068
|
return true;
|
|
17074
17069
|
}
|
|
17075
17070
|
function getRequestPath(transforms) {
|
|
17076
|
-
let
|
|
17071
|
+
let path7;
|
|
17077
17072
|
for (const transform of transforms) {
|
|
17078
17073
|
if (transform.type === "request.path" && transform.op === "set" && typeof transform.args === "string" && isValidRequestPath(transform.args)) {
|
|
17079
|
-
|
|
17074
|
+
path7 = transform.args;
|
|
17080
17075
|
}
|
|
17081
17076
|
}
|
|
17082
|
-
return
|
|
17077
|
+
return path7;
|
|
17083
17078
|
}
|
|
17084
17079
|
function findMatchingKeys(data, keyPattern) {
|
|
17085
17080
|
const matched = [];
|
|
@@ -17697,18 +17692,18 @@ Please run \`${await getUpdateCommand()}\` to update to the latest CLI.`
|
|
|
17697
17692
|
const { output: buildOutput } = result;
|
|
17698
17693
|
const { cleanUrls } = vercelConfig;
|
|
17699
17694
|
for (const [originalPath, value] of Object.entries(buildOutput)) {
|
|
17700
|
-
let
|
|
17701
|
-
if (cleanUrls &&
|
|
17702
|
-
|
|
17695
|
+
let path7 = normalizePath2(originalPath);
|
|
17696
|
+
if (cleanUrls && path7.endsWith(".html")) {
|
|
17697
|
+
path7 = path7.slice(0, -5);
|
|
17703
17698
|
if (value.type === "FileBlob" || value.type === "FileFsRef") {
|
|
17704
17699
|
value.contentType = value.contentType || "text/html; charset=utf-8";
|
|
17705
17700
|
}
|
|
17706
17701
|
}
|
|
17707
|
-
const extensionless = devServer.getExtensionlessFile(
|
|
17702
|
+
const extensionless = devServer.getExtensionlessFile(path7);
|
|
17708
17703
|
if (extensionless) {
|
|
17709
|
-
|
|
17704
|
+
path7 = extensionless;
|
|
17710
17705
|
}
|
|
17711
|
-
buildOutput[
|
|
17706
|
+
buildOutput[path7] = value;
|
|
17712
17707
|
}
|
|
17713
17708
|
const deserializedOutput = await deserializeBuildOutputs(
|
|
17714
17709
|
buildOutput
|
|
@@ -17739,10 +17734,10 @@ Please run \`${await getUpdateCommand()}\` to update to the latest CLI.`
|
|
|
17739
17734
|
}
|
|
17740
17735
|
await Promise.all(
|
|
17741
17736
|
Object.entries(result.output).map(async (entry) => {
|
|
17742
|
-
const
|
|
17737
|
+
const path7 = entry[0];
|
|
17743
17738
|
const asset = entry[1];
|
|
17744
17739
|
if (asset.type === "Lambda" && asset.runtime !== "container") {
|
|
17745
|
-
const oldAsset = match.buildOutput && match.buildOutput[
|
|
17740
|
+
const oldAsset = match.buildOutput && match.buildOutput[path7];
|
|
17746
17741
|
if (oldAsset && oldAsset.type === "Lambda" && oldAsset.fn) {
|
|
17747
17742
|
await oldAsset.fn.destroy();
|
|
17748
17743
|
}
|
|
@@ -17808,7 +17803,7 @@ async function getBuildMatches(vercelConfig, cwd, devServer, fileList) {
|
|
|
17808
17803
|
if (buildConfig.config?.framework === "node" && !fileList.includes(src)) {
|
|
17809
17804
|
const originalSrc = src;
|
|
17810
17805
|
const existing = fileList.find(
|
|
17811
|
-
(
|
|
17806
|
+
(path7) => /^(?:src\/)?server\.[cm]?[jt]s$/.test(path7)
|
|
17812
17807
|
);
|
|
17813
17808
|
if (existing) {
|
|
17814
17809
|
src = existing;
|
|
@@ -18685,6 +18680,13 @@ var ServicesOrchestrator = class {
|
|
|
18685
18680
|
effectiveProcessEnv,
|
|
18686
18681
|
perServiceEnv
|
|
18687
18682
|
);
|
|
18683
|
+
if (this.hasQueueServices && service.runtime === "python" && env.VERCEL_HAS_WORKER_SERVICES === void 0) {
|
|
18684
|
+
env.VERCEL_HAS_WORKER_SERVICES = "1";
|
|
18685
|
+
}
|
|
18686
|
+
if (this.hasQueueServices) {
|
|
18687
|
+
env.VERCEL_QUEUE_BASE_URL = `${this.proxyOrigin}/_svc/_queues`;
|
|
18688
|
+
env.VERCEL_QUEUE_TOKEN = "vc-dev-token";
|
|
18689
|
+
}
|
|
18688
18690
|
const root = service.root || ".";
|
|
18689
18691
|
return {
|
|
18690
18692
|
rootPath: path3.join(this.cwd, root),
|
|
@@ -19391,6 +19393,7 @@ var QueueBroker = class {
|
|
|
19391
19393
|
};
|
|
19392
19394
|
|
|
19393
19395
|
// src/util/dev/dev-sidecars.ts
|
|
19396
|
+
import path4 from "path";
|
|
19394
19397
|
function toOrchestratorService(sidecar) {
|
|
19395
19398
|
const { type: _type, ...subscriber } = sidecar;
|
|
19396
19399
|
return {
|
|
@@ -19402,17 +19405,34 @@ function toOrchestratorService(sidecar) {
|
|
|
19402
19405
|
}
|
|
19403
19406
|
async function collectBuilderDevSidecars({
|
|
19404
19407
|
builds,
|
|
19405
|
-
workPath
|
|
19408
|
+
workPath,
|
|
19409
|
+
services = []
|
|
19406
19410
|
}) {
|
|
19407
19411
|
const builderSpecs = new Set(builds.map((build) => build.use));
|
|
19408
19412
|
const buildersWithPkgs = await importBuilders(builderSpecs, workPath);
|
|
19413
|
+
const servicesByBuilder = new Map(
|
|
19414
|
+
services.map((service) => [service.builder, service])
|
|
19415
|
+
);
|
|
19409
19416
|
const nestedSidecars = await Promise.all(
|
|
19410
|
-
builds.map((build) => {
|
|
19417
|
+
builds.map(async (build) => {
|
|
19411
19418
|
const builder = buildersWithPkgs.get(build.use)?.builder;
|
|
19412
19419
|
if (!builder) {
|
|
19413
19420
|
throw new Error(`Failed to load Builder "${build.use}"`);
|
|
19414
19421
|
}
|
|
19415
|
-
|
|
19422
|
+
const service = servicesByBuilder.get(build);
|
|
19423
|
+
const serviceRoot = service?.root ?? ".";
|
|
19424
|
+
const sidecars2 = await builder.getDevSidecars?.({
|
|
19425
|
+
workPath: path4.join(workPath, serviceRoot),
|
|
19426
|
+
build,
|
|
19427
|
+
...service ? { service } : {}
|
|
19428
|
+
}) ?? [];
|
|
19429
|
+
return service ? sidecars2.map((sidecar) => ({
|
|
19430
|
+
...sidecar,
|
|
19431
|
+
// Process names must be project-wide unique. Keep the consumer
|
|
19432
|
+
// name unchanged so local delivery matches the deployment build.
|
|
19433
|
+
name: `${service.name}-${sidecar.name}`,
|
|
19434
|
+
workspace: serviceRoot
|
|
19435
|
+
})) : sidecars2;
|
|
19416
19436
|
})
|
|
19417
19437
|
);
|
|
19418
19438
|
const sidecars = nestedSidecars.flat();
|
|
@@ -19541,11 +19561,15 @@ function replaceLocalhost(address) {
|
|
|
19541
19561
|
}
|
|
19542
19562
|
|
|
19543
19563
|
// src/util/dev/server.ts
|
|
19544
|
-
var frontendRuntimeSet = new Set(
|
|
19545
|
-
import_frameworks2.frameworkList.map((f) => f.useRuntime?.use || "@vercel/static-build")
|
|
19546
|
-
);
|
|
19547
19564
|
var DEV_SERVER_PORT_BIND_TIMEOUT = (0, import_ms4.default)("5m");
|
|
19548
19565
|
var DEV_QUEUES_DEFAULT_VISIBILITY_TIMEOUT_SECONDS = 60;
|
|
19566
|
+
var frameworkRuntimeSet = new Set(
|
|
19567
|
+
import_frameworks2.frameworkList.map((f) => f.useRuntime?.use || "@vercel/static-build")
|
|
19568
|
+
);
|
|
19569
|
+
function isApiDirBuild(build) {
|
|
19570
|
+
const src = build.src?.replace(/^\.\//, "");
|
|
19571
|
+
return typeof src === "string" && src.startsWith("api/");
|
|
19572
|
+
}
|
|
19549
19573
|
function sortBuilders(buildA, buildB) {
|
|
19550
19574
|
if (buildA && buildA.use && (0, import_fs_detectors3.isOfficialRuntime)("static-build", buildA.use)) {
|
|
19551
19575
|
return 1;
|
|
@@ -19566,13 +19590,20 @@ var DevServer = class {
|
|
|
19566
19590
|
constructor(cwd, options) {
|
|
19567
19591
|
this.initialDevCommandStarted = false;
|
|
19568
19592
|
this.responseTransformsByReq = /* @__PURE__ */ new WeakMap();
|
|
19593
|
+
this.shouldBuildInDev = (build) => {
|
|
19594
|
+
if (!this.shouldUseServicesOrchestrator() && isApiDirBuild(build)) {
|
|
19595
|
+
return true;
|
|
19596
|
+
}
|
|
19597
|
+
const { name } = (0, import_npm_package_arg.default)(build.use);
|
|
19598
|
+
return !frameworkRuntimeSet.has(name || "");
|
|
19599
|
+
};
|
|
19569
19600
|
this.clearVercelConfigPromise = () => {
|
|
19570
19601
|
this.getVercelConfigPromise = null;
|
|
19571
19602
|
};
|
|
19572
|
-
this.getExtensionlessFile = (
|
|
19573
|
-
const ext = extname(
|
|
19574
|
-
if (this.apiDir &&
|
|
19575
|
-
return
|
|
19603
|
+
this.getExtensionlessFile = (path7) => {
|
|
19604
|
+
const ext = extname(path7);
|
|
19605
|
+
if (this.apiDir && path7.startsWith(this.apiDir + "/") && this.apiExtensions.has(ext)) {
|
|
19606
|
+
return path7.slice(0, -ext.length);
|
|
19576
19607
|
}
|
|
19577
19608
|
return null;
|
|
19578
19609
|
};
|
|
@@ -20434,12 +20465,12 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
20434
20465
|
search: origUrl.search
|
|
20435
20466
|
});
|
|
20436
20467
|
applyRequestTransforms(req, requestTransforms);
|
|
20437
|
-
const
|
|
20468
|
+
const path7 = req.url || "/";
|
|
20438
20469
|
const body = await (0, import_raw_body.default)(req);
|
|
20439
20470
|
const payload = {
|
|
20440
20471
|
method: req.method || "GET",
|
|
20441
20472
|
host: req.headers.host,
|
|
20442
|
-
path:
|
|
20473
|
+
path: path7,
|
|
20443
20474
|
headers: {
|
|
20444
20475
|
...req.headers,
|
|
20445
20476
|
...this.getProxyHeaders(req, requestId, true)
|
|
@@ -20447,7 +20478,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
20447
20478
|
encoding: "base64",
|
|
20448
20479
|
body: body.toString("base64")
|
|
20449
20480
|
};
|
|
20450
|
-
debug(`Invoking lambda: "${assetKey}" with ${
|
|
20481
|
+
debug(`Invoking lambda: "${assetKey}" with ${path7}`);
|
|
20451
20482
|
let result;
|
|
20452
20483
|
try {
|
|
20453
20484
|
result = await asset.fn({
|
|
@@ -20540,7 +20571,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
20540
20571
|
this.watchAggregationId = null;
|
|
20541
20572
|
this.watchAggregationEvents = [];
|
|
20542
20573
|
this.watchAggregationTimeout = 500;
|
|
20543
|
-
this.filter = (
|
|
20574
|
+
this.filter = (path7) => Boolean(path7);
|
|
20544
20575
|
this.podId = Math.random().toString(32).slice(-5);
|
|
20545
20576
|
this.shutdownCallbacks = /* @__PURE__ */ new Map();
|
|
20546
20577
|
}
|
|
@@ -20620,8 +20651,8 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
20620
20651
|
await this.stop(code);
|
|
20621
20652
|
process.exit(code);
|
|
20622
20653
|
}
|
|
20623
|
-
enqueueFsEvent(type,
|
|
20624
|
-
this.watchAggregationEvents.push({ type, path:
|
|
20654
|
+
enqueueFsEvent(type, path7) {
|
|
20655
|
+
this.watchAggregationEvents.push({ type, path: path7 });
|
|
20625
20656
|
if (this.watchAggregationId === null) {
|
|
20626
20657
|
this.watchAggregationId = setTimeout(() => {
|
|
20627
20658
|
const events = this.watchAggregationEvents.slice();
|
|
@@ -20878,7 +20909,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
20878
20909
|
return void 0;
|
|
20879
20910
|
}
|
|
20880
20911
|
async _getVercelConfig() {
|
|
20881
|
-
const { compileVercelConfig } = await import("../../chunks/compile-vercel-config-
|
|
20912
|
+
const { compileVercelConfig } = await import("../../chunks/compile-vercel-config-ELXMKFUY.js");
|
|
20882
20913
|
await compileVercelConfig(this.cwd);
|
|
20883
20914
|
const configPath = getLocalPathConfig(this.cwd);
|
|
20884
20915
|
const [
|
|
@@ -20901,6 +20932,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
20901
20932
|
await this.exit();
|
|
20902
20933
|
}
|
|
20903
20934
|
vercelConfig.routes = maybeRoutes || [];
|
|
20935
|
+
const hasServices = (this.services?.length ?? 0) > 0;
|
|
20904
20936
|
const hasResolvedServices = !!this.services && this.services.length > 0;
|
|
20905
20937
|
if (!vercelConfig.experimentalServices && !hasResolvedServices && (!vercelConfig.builds || vercelConfig.builds.length === 0)) {
|
|
20906
20938
|
const featHandleMiss = true;
|
|
@@ -20969,14 +21001,16 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
20969
21001
|
vercelConfig.routes = routes;
|
|
20970
21002
|
}
|
|
20971
21003
|
if (this.sidecars === void 0) {
|
|
20972
|
-
|
|
20973
|
-
|
|
20974
|
-
|
|
21004
|
+
const services = (this.services ?? []).filter(import_fs_detectors3.isExperimentalServiceV2);
|
|
21005
|
+
this.sidecars = await collectBuilderDevSidecars({
|
|
21006
|
+
builds: this.shouldUseServicesOrchestrator() ? services.map((service) => service.builder) : vercelConfig.builds ?? [],
|
|
21007
|
+
workPath: this.cwd,
|
|
21008
|
+
services
|
|
20975
21009
|
});
|
|
20976
21010
|
}
|
|
20977
21011
|
if (Array.isArray(vercelConfig.builds)) {
|
|
20978
|
-
if (this.devCommand ||
|
|
20979
|
-
vercelConfig.builds = vercelConfig.builds.filter(
|
|
21012
|
+
if (this.devCommand || hasServices) {
|
|
21013
|
+
vercelConfig.builds = vercelConfig.builds.filter(this.shouldBuildInDev);
|
|
20980
21014
|
}
|
|
20981
21015
|
vercelConfig.builds.sort(sortBuilders);
|
|
20982
21016
|
}
|
|
@@ -21046,7 +21080,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21046
21080
|
async readJsonFile(filePath) {
|
|
21047
21081
|
let rel, abs;
|
|
21048
21082
|
if (isAbsolute(filePath)) {
|
|
21049
|
-
rel =
|
|
21083
|
+
rel = path5.relative(this.cwd, filePath);
|
|
21050
21084
|
abs = filePath;
|
|
21051
21085
|
} else {
|
|
21052
21086
|
rel = filePath;
|
|
@@ -21193,8 +21227,12 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21193
21227
|
});
|
|
21194
21228
|
};
|
|
21195
21229
|
if (this.shouldUseServicesOrchestrator()) {
|
|
21230
|
+
const orchestratorServices = [
|
|
21231
|
+
...this.services || [],
|
|
21232
|
+
...(this.sidecars || []).map(toOrchestratorService)
|
|
21233
|
+
];
|
|
21196
21234
|
this.orchestrator = new ServicesOrchestrator({
|
|
21197
|
-
services:
|
|
21235
|
+
services: orchestratorServices,
|
|
21198
21236
|
cwd: this.cwd,
|
|
21199
21237
|
repoRoot: this.repoRoot,
|
|
21200
21238
|
env: this.envConfigs.allEnv,
|
|
@@ -21203,7 +21241,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21203
21241
|
});
|
|
21204
21242
|
devCommandPromise = this.orchestrator.startAll();
|
|
21205
21243
|
this.devProcessOrigin = void 0;
|
|
21206
|
-
const queueServices =
|
|
21244
|
+
const queueServices = orchestratorServices.filter(import_fs_detectors3.isExperimentalService).filter(isQueueBackedService3);
|
|
21207
21245
|
if (queueServices.length > 0) {
|
|
21208
21246
|
this.queueBroker = new QueueBroker(
|
|
21209
21247
|
queueServices,
|
|
@@ -21234,10 +21272,10 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21234
21272
|
const files = await staticFiles(this.cwd, {});
|
|
21235
21273
|
this.files = {};
|
|
21236
21274
|
for (const fsPath of files) {
|
|
21237
|
-
const
|
|
21275
|
+
const path7 = relative2(this.cwd, fsPath);
|
|
21238
21276
|
const { mode } = await import_fs_extra.default.stat(fsPath);
|
|
21239
|
-
this.files[
|
|
21240
|
-
const extensionless = this.getExtensionlessFile(
|
|
21277
|
+
this.files[path7] = new FileFsRef2({ mode, fsPath });
|
|
21278
|
+
const extensionless = this.getExtensionlessFile(path7);
|
|
21241
21279
|
if (extensionless) {
|
|
21242
21280
|
this.files[extensionless] = new FileFsRef2({ mode, fsPath });
|
|
21243
21281
|
}
|
|
@@ -21259,19 +21297,19 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21259
21297
|
}
|
|
21260
21298
|
await import_fs_extra.default.mkdirp(this.devCacheDir);
|
|
21261
21299
|
this.watcher = watch(this.cwd, {
|
|
21262
|
-
ignored: (
|
|
21300
|
+
ignored: (path7) => !this.filter(path7),
|
|
21263
21301
|
ignoreInitial: true,
|
|
21264
21302
|
usePolling: false,
|
|
21265
21303
|
persistent: true
|
|
21266
21304
|
});
|
|
21267
|
-
this.watcher.on("add", (
|
|
21268
|
-
this.enqueueFsEvent("add",
|
|
21305
|
+
this.watcher.on("add", (path7) => {
|
|
21306
|
+
this.enqueueFsEvent("add", path7);
|
|
21269
21307
|
});
|
|
21270
|
-
this.watcher.on("change", (
|
|
21271
|
-
this.enqueueFsEvent("change",
|
|
21308
|
+
this.watcher.on("change", (path7) => {
|
|
21309
|
+
this.enqueueFsEvent("change", path7);
|
|
21272
21310
|
});
|
|
21273
|
-
this.watcher.on("unlink", (
|
|
21274
|
-
this.enqueueFsEvent("unlink",
|
|
21311
|
+
this.watcher.on("unlink", (path7) => {
|
|
21312
|
+
this.enqueueFsEvent("unlink", path7);
|
|
21275
21313
|
});
|
|
21276
21314
|
this.watcher.on("error", (err) => {
|
|
21277
21315
|
output_manager_default.error(`Watcher error: ${err}`);
|
|
@@ -21845,8 +21883,8 @@ ${error_code}
|
|
|
21845
21883
|
}
|
|
21846
21884
|
);
|
|
21847
21885
|
const nodeBinPaths = getNodeBinPaths2({ base: this.repoRoot, start: cwd });
|
|
21848
|
-
const nodeBinPath = nodeBinPaths.join(
|
|
21849
|
-
env.PATH = `${nodeBinPath}${
|
|
21886
|
+
const nodeBinPath = nodeBinPaths.join(path5.delimiter);
|
|
21887
|
+
env.PATH = `${nodeBinPath}${path5.delimiter}${env.PATH}`;
|
|
21850
21888
|
const command = devCommand2.replace(/\$PORT/g, `${port}`).replace(/%PORT%/g, `${port}`);
|
|
21851
21889
|
injectNextDevWebSocketShimIfNeeded(env, command, this.projectSettings);
|
|
21852
21890
|
output_manager_default.debug(
|
|
@@ -22045,16 +22083,16 @@ function findAsset(match, requestPath, vercelConfig) {
|
|
|
22045
22083
|
return { asset, assetKey };
|
|
22046
22084
|
}
|
|
22047
22085
|
}
|
|
22048
|
-
function dirnameWithoutDot(
|
|
22049
|
-
let dir = dirname2(
|
|
22086
|
+
function dirnameWithoutDot(path7) {
|
|
22087
|
+
let dir = dirname2(path7);
|
|
22050
22088
|
if (dir === ".") {
|
|
22051
22089
|
dir = "";
|
|
22052
22090
|
}
|
|
22053
22091
|
return dir;
|
|
22054
22092
|
}
|
|
22055
|
-
function isIndex(
|
|
22056
|
-
const ext = extname(
|
|
22057
|
-
const name = basename(
|
|
22093
|
+
function isIndex(path7) {
|
|
22094
|
+
const ext = extname(path7);
|
|
22095
|
+
const name = basename(path7, ext);
|
|
22058
22096
|
return name === "index";
|
|
22059
22097
|
}
|
|
22060
22098
|
function minimatches(files, pattern) {
|
|
@@ -22075,10 +22113,6 @@ function needsBlockingBuild(buildMatch) {
|
|
|
22075
22113
|
const { builder } = buildMatch.builderWithPkg;
|
|
22076
22114
|
return typeof builder.shouldServe !== "function";
|
|
22077
22115
|
}
|
|
22078
|
-
function filterFrontendBuilds(build) {
|
|
22079
|
-
const { name } = (0, import_npm_package_arg.default)(build.use);
|
|
22080
|
-
return !frontendRuntimeSet.has(name || "");
|
|
22081
|
-
}
|
|
22082
22116
|
function hasNewRoutingProperties(vercelConfig) {
|
|
22083
22117
|
return typeof vercelConfig.cleanUrls !== void 0 || typeof vercelConfig.headers !== void 0 || typeof vercelConfig.redirects !== void 0 || typeof vercelConfig.rewrites !== void 0 || typeof vercelConfig.trailingSlash !== void 0;
|
|
22084
22118
|
}
|
|
@@ -22628,7 +22662,7 @@ async function main(client) {
|
|
|
22628
22662
|
}
|
|
22629
22663
|
const hasBuilds = vercelConfig && "builds" in vercelConfig && vercelConfig.builds && vercelConfig.builds.length > 0;
|
|
22630
22664
|
if (!vercelConfig || !hasBuilds) {
|
|
22631
|
-
const pkg = await readJSONFile(
|
|
22665
|
+
const pkg = await readJSONFile(path6.join(dir, "package.json"));
|
|
22632
22666
|
if (pkg instanceof CantParseJSONFile) {
|
|
22633
22667
|
output_manager_default.error(pkg.message);
|
|
22634
22668
|
return 1;
|