vercel 54.17.0 → 54.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{add-QQY6QOTO.js → add-ADMRKNTV.js} +4 -4
- package/dist/chunks/{chunk-V7JDSYIZ.js → chunk-2YIEJRSL.js} +3 -3
- package/dist/chunks/{chunk-DDTKG4J3.js → chunk-3ESVKDUA.js} +1 -1
- package/dist/chunks/{chunk-WJPWCLMH.js → chunk-52DDM5F6.js} +1 -1
- package/dist/chunks/{chunk-P5AZW6W6.js → chunk-64KT5RVX.js} +2 -2
- package/dist/chunks/{chunk-2F6JT2OC.js → chunk-7CTNFMKH.js} +1 -1
- package/dist/chunks/{chunk-HJ2TEW5Y.js → chunk-A6I3RGAN.js} +1 -1
- package/dist/chunks/{chunk-MS3WAXLU.js → chunk-AZP6TNVD.js} +1 -1
- package/dist/chunks/{chunk-A4B4JQVP.js → chunk-CQRLZB3Y.js} +2 -2
- package/dist/chunks/{chunk-5X7FBWLF.js → chunk-FR2CJ7AV.js} +4 -4
- package/dist/chunks/{chunk-E6FCE2XJ.js → chunk-JYTOXUQJ.js} +1 -1
- package/dist/chunks/{chunk-NRIXI6V5.js → chunk-KAICYGS4.js} +1 -1
- package/dist/chunks/{chunk-YE3C5CUX.js → chunk-LCNEKTLC.js} +31 -4
- package/dist/chunks/{chunk-KTX4RQFM.js → chunk-LUORN5H7.js} +65 -28
- package/dist/chunks/{chunk-YW7AYO7N.js → chunk-NG53DNDG.js} +1 -1
- package/dist/chunks/{chunk-Z2MBXYZZ.js → chunk-NKU6QGO6.js} +17 -2
- package/dist/chunks/{chunk-4D42VZRX.js → chunk-PEJCJXGI.js} +1 -1
- package/dist/chunks/{chunk-LGR4JRFA.js → chunk-RL7DANWP.js} +4 -4
- package/dist/chunks/{chunk-7B44AIGE.js → chunk-U7HYX4V6.js} +2 -2
- package/dist/chunks/{chunk-BRLY3Q4U.js → chunk-UZZBWCU2.js} +70 -4
- package/dist/chunks/{chunk-7AQDR2RX.js → chunk-WR6JALPR.js} +1 -1
- package/dist/chunks/{chunk-KWCZRH7N.js → chunk-ZKAWVYGP.js} +15 -8
- package/dist/chunks/{compile-vercel-config-D2OQCK4B.js → compile-vercel-config-7IAWGVM7.js} +1 -1
- package/dist/chunks/{delete-VMW7FORM.js → delete-DHYJ7ZYD.js} +2 -2
- package/dist/chunks/{disable-BDFZELDL.js → disable-A4D7SZ6G.js} +2 -2
- package/dist/chunks/{discard-WIN3BOXR.js → discard-PRE343AI.js} +2 -2
- package/dist/chunks/{edit-IZQX4XAG.js → edit-MWFKADR7.js} +3 -3
- package/dist/chunks/{enable-RFODZ2L7.js → enable-6P6TDM6D.js} +2 -2
- package/dist/chunks/{export-5CCLXZYT.js → export-WISO5LBX.js} +2 -2
- package/dist/chunks/{inspect-GEUUTDBY.js → inspect-EBIQ5XF3.js} +3 -3
- package/dist/chunks/{list-JIYDXQDJ.js → list-755IMC6Y.js} +3 -3
- package/dist/chunks/{list-H35AGNO2.js → list-OD7KO5BB.js} +2 -2
- package/dist/chunks/{ls-WPNFJAS6.js → ls-ZSVMQVZX.js} +4 -4
- package/dist/chunks/{publish-K7OPKXYC.js → publish-LMGSRL3X.js} +2 -2
- package/dist/chunks/{query-MAN4NKU4.js → query-WZTKABE4.js} +82 -10
- package/dist/chunks/{reorder-GQ7BOQA7.js → reorder-QK5QJ6TW.js} +2 -2
- package/dist/chunks/{restore-MODYFJSP.js → restore-VF3HDGON.js} +2 -2
- package/dist/chunks/{rm-A45OKS6U.js → rm-QP57BPQO.js} +4 -4
- package/dist/chunks/{rule-inspect-HJCERQHK.js → rule-inspect-ZZJ7SQJF.js} +4 -4
- package/dist/chunks/{rules-UNL3IB4P.js → rules-SUBKFNPR.js} +6 -6
- package/dist/chunks/{schema-WOW2BATT.js → schema-FSQEAUMR.js} +4 -4
- package/dist/chunks/{update-MOM4T2RN.js → update-DDCJ2EDT.js} +4 -4
- package/dist/commands/build/index.js +20 -12
- package/dist/commands/deploy/index.js +11 -11
- package/dist/commands/dev/index.js +9 -9
- package/dist/commands/env/index.js +5 -5
- package/dist/commands/link/index.js +8 -8
- package/dist/commands/list/index.js +3 -3
- package/dist/commands-bulk.js +1209 -909
- package/dist/index.js +9 -9
- package/dist/version.mjs +1 -1
- package/package.json +15 -15
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
handleRulesApiError,
|
|
10
10
|
parseRulesFlagsAndScope,
|
|
11
11
|
rulesCollectionPath
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-A6I3RGAN.js";
|
|
13
|
+
import "./chunk-U7HYX4V6.js";
|
|
14
14
|
import "./chunk-D7MGZH35.js";
|
|
15
15
|
import {
|
|
16
16
|
validateJsonOutput
|
|
@@ -21,8 +21,8 @@ import {
|
|
|
21
21
|
import {
|
|
22
22
|
AGENT_REASON
|
|
23
23
|
} from "./chunk-QH7WYDEP.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-7CTNFMKH.js";
|
|
25
|
+
import "./chunk-LUORN5H7.js";
|
|
26
26
|
import "./chunk-Q77ALSXR.js";
|
|
27
27
|
import {
|
|
28
28
|
buildCommandWithGlobalFlags,
|
|
@@ -10,10 +10,10 @@ import {
|
|
|
10
10
|
} from "./chunk-QH7WYDEP.js";
|
|
11
11
|
import {
|
|
12
12
|
getLocalPathConfig
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-AZP6TNVD.js";
|
|
14
14
|
import {
|
|
15
15
|
getScope
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-7CTNFMKH.js";
|
|
17
17
|
import {
|
|
18
18
|
VERCEL_DIR_PROJECT,
|
|
19
19
|
VERCEL_DIR_README,
|
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
selectAndParseRemoteUrl,
|
|
49
49
|
selectOrg,
|
|
50
50
|
writeServicesConfig
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-LUORN5H7.js";
|
|
52
52
|
import {
|
|
53
53
|
buildCommandWithGlobalFlags,
|
|
54
54
|
outputAgentError,
|
|
@@ -7,12 +7,12 @@ const __dirname = __dirname_(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
printProjectNotFoundError,
|
|
9
9
|
setupAndLink
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2YIEJRSL.js";
|
|
11
11
|
import {
|
|
12
12
|
getLinkedProject,
|
|
13
13
|
param,
|
|
14
14
|
resolveProjectCwd
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-LUORN5H7.js";
|
|
16
16
|
import {
|
|
17
17
|
buildCommandWithYes,
|
|
18
18
|
outputActionRequired
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-V5P25P7F.js";
|
|
10
10
|
import {
|
|
11
11
|
getLocalPathConfig
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-AZP6TNVD.js";
|
|
13
13
|
import {
|
|
14
14
|
DEFAULT_VERCEL_CONFIG_FILENAME,
|
|
15
15
|
VERCEL_CONFIG_EXTENSIONS,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
useKeypress,
|
|
37
37
|
usePrefix,
|
|
38
38
|
useState
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-LUORN5H7.js";
|
|
40
40
|
import {
|
|
41
41
|
require_load_json_file
|
|
42
42
|
} from "./chunk-Q77ALSXR.js";
|
|
@@ -7,17 +7,17 @@ const __dirname = __dirname_(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
getUpdateCommandInfo,
|
|
9
9
|
isGlobal
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JYTOXUQJ.js";
|
|
11
11
|
import {
|
|
12
12
|
getGlobalPathConfig,
|
|
13
13
|
progress,
|
|
14
14
|
writeToConfigFile
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-CQRLZB3Y.js";
|
|
16
16
|
import {
|
|
17
17
|
apiCommand,
|
|
18
18
|
listSubcommand2 as listSubcommand,
|
|
19
19
|
loginCommand
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-UZZBWCU2.js";
|
|
21
21
|
import {
|
|
22
22
|
require_semver
|
|
23
23
|
} from "./chunk-IB5L4LKZ.js";
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
} from "./chunk-3NR6OYDV.js";
|
|
27
27
|
import {
|
|
28
28
|
login
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-LUORN5H7.js";
|
|
30
30
|
import {
|
|
31
31
|
TelemetryClient,
|
|
32
32
|
isNativeBinaryInstall
|
|
@@ -73,12 +73,28 @@ var metricsCommand = {
|
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
name: "limit",
|
|
76
|
-
shorthand:
|
|
76
|
+
shorthand: "l",
|
|
77
77
|
type: Number,
|
|
78
78
|
deprecated: false,
|
|
79
79
|
description: "Max groups per time bucket (default: 10)",
|
|
80
80
|
argument: "N"
|
|
81
81
|
},
|
|
82
|
+
{
|
|
83
|
+
name: "order-by",
|
|
84
|
+
shorthand: null,
|
|
85
|
+
type: String,
|
|
86
|
+
deprecated: false,
|
|
87
|
+
description: "Order grouped results by value or count (default: count)",
|
|
88
|
+
argument: "value|count"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: "order",
|
|
92
|
+
shorthand: null,
|
|
93
|
+
type: String,
|
|
94
|
+
deprecated: false,
|
|
95
|
+
description: "Order direction for grouped results: asc or desc (default: desc)",
|
|
96
|
+
argument: "asc|desc"
|
|
97
|
+
},
|
|
82
98
|
{
|
|
83
99
|
name: "filter",
|
|
84
100
|
shorthand: "f",
|
|
@@ -88,8 +104,15 @@ var metricsCommand = {
|
|
|
88
104
|
argument: "EXPR"
|
|
89
105
|
},
|
|
90
106
|
{
|
|
91
|
-
name: "
|
|
107
|
+
name: "prod",
|
|
92
108
|
shorthand: null,
|
|
109
|
+
type: Boolean,
|
|
110
|
+
deprecated: false,
|
|
111
|
+
description: `Limit query to production environment (equivalent to -f "environment eq 'production'")`
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: "since",
|
|
115
|
+
shorthand: "s",
|
|
93
116
|
type: String,
|
|
94
117
|
deprecated: false,
|
|
95
118
|
description: "Start time: relative (1h, 30m, 2d) or ISO date (default: 1h)",
|
|
@@ -97,7 +120,7 @@ var metricsCommand = {
|
|
|
97
120
|
},
|
|
98
121
|
{
|
|
99
122
|
name: "until",
|
|
100
|
-
shorthand:
|
|
123
|
+
shorthand: "u",
|
|
101
124
|
type: String,
|
|
102
125
|
deprecated: false,
|
|
103
126
|
description: "End time (default: now)",
|
|
@@ -151,7 +174,11 @@ var metricsCommand = {
|
|
|
151
174
|
},
|
|
152
175
|
{
|
|
153
176
|
name: "Core Web Vitals (LCP) by route",
|
|
154
|
-
value: `${packageName} metrics vercel.
|
|
177
|
+
value: `${packageName} metrics vercel.speed_insights.lcp_ms -a p75 --prod --group-by route --since 7d`
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: "Routes with the lowest p75 LCP",
|
|
181
|
+
value: `${packageName} metrics vercel.speed_insights.lcp_ms -a p75 --prod --group-by route --since 7d --order-by value --order asc`
|
|
155
182
|
},
|
|
156
183
|
{
|
|
157
184
|
name: "Daily pageviews with a Paris-aligned bucket",
|
|
@@ -21125,7 +21125,7 @@ var require_superstatic = __commonJS({
|
|
|
21125
21125
|
if (typeof r.destination === "string") {
|
|
21126
21126
|
route = { src, dest: interpolate(r.destination), check: true };
|
|
21127
21127
|
} else {
|
|
21128
|
-
const destination = { ...r.destination };
|
|
21128
|
+
const destination = { ...r.destination, type: "service" };
|
|
21129
21129
|
if (typeof destination.path === "string") {
|
|
21130
21130
|
destination.path = interpolate(destination.path);
|
|
21131
21131
|
}
|
|
@@ -21788,13 +21788,13 @@ var require_schemas = __commonJS({
|
|
|
21788
21788
|
pattern: "^[a-zA-Z]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$"
|
|
21789
21789
|
};
|
|
21790
21790
|
var serviceDestinationSchema = {
|
|
21791
|
-
description: "A service-targeted destination that delegates routing into a named service from `services`.",
|
|
21791
|
+
description: "A service-targeted destination that delegates routing into a named service from `services`. Identified by the presence of `service`.",
|
|
21792
21792
|
type: "object",
|
|
21793
21793
|
additionalProperties: false,
|
|
21794
|
-
required: ["
|
|
21794
|
+
required: ["service"],
|
|
21795
21795
|
properties: {
|
|
21796
21796
|
type: {
|
|
21797
|
-
description: "
|
|
21797
|
+
description: "Optional explicit format marker. The destination shape is identified by the `service` property, so `type` is no longer required. When present it must be `service`.",
|
|
21798
21798
|
type: "string",
|
|
21799
21799
|
enum: ["service"]
|
|
21800
21800
|
},
|
|
@@ -22618,6 +22618,8 @@ var require_dist5 = __commonJS({
|
|
|
22618
22618
|
if (typeof route.destination === "string") {
|
|
22619
22619
|
route.dest = route.destination;
|
|
22620
22620
|
delete route.destination;
|
|
22621
|
+
} else if (typeof route.destination.service === "string") {
|
|
22622
|
+
route.destination = { ...route.destination, type: "service" };
|
|
22621
22623
|
}
|
|
22622
22624
|
}
|
|
22623
22625
|
if (route.statusCode !== void 0) {
|
|
@@ -37310,9 +37312,17 @@ var require_hashes = __commonJS({
|
|
|
37310
37312
|
var import_crypto = __require("crypto");
|
|
37311
37313
|
var import_fs_extra9 = __toESM2(require_lib6());
|
|
37312
37314
|
var import_async_sema = require_lib7();
|
|
37315
|
+
var MAX_BUFFER_FILE_SIZE = 2 ** 31 - 1;
|
|
37313
37316
|
function hash(buf) {
|
|
37314
37317
|
return (0, import_crypto.createHash)("sha1").update(Uint8Array.from(buf)).digest("hex");
|
|
37315
37318
|
}
|
|
37319
|
+
async function hashFile(path) {
|
|
37320
|
+
const digest = (0, import_crypto.createHash)("sha1");
|
|
37321
|
+
for await (const chunk of import_fs_extra9.default.createReadStream(path)) {
|
|
37322
|
+
digest.update(Uint8Array.from(chunk));
|
|
37323
|
+
}
|
|
37324
|
+
return digest.digest("hex");
|
|
37325
|
+
}
|
|
37316
37326
|
var mapToObject = (map) => {
|
|
37317
37327
|
const obj = {};
|
|
37318
37328
|
for (const [key, value] of map) {
|
|
@@ -37330,16 +37340,23 @@ var require_hashes = __commonJS({
|
|
|
37330
37340
|
const stat2 = await import_fs_extra9.default.lstat(name);
|
|
37331
37341
|
const mode = stat2.mode;
|
|
37332
37342
|
let data;
|
|
37343
|
+
let size;
|
|
37333
37344
|
const isDirectory2 = stat2.isDirectory();
|
|
37334
37345
|
let h;
|
|
37335
37346
|
if (!isDirectory2) {
|
|
37336
37347
|
if (stat2.isSymbolicLink()) {
|
|
37337
37348
|
const link = await import_fs_extra9.default.readlink(name);
|
|
37338
37349
|
data = Buffer.from(link, "utf8");
|
|
37350
|
+
size = data.length;
|
|
37351
|
+
h = hash(data);
|
|
37352
|
+
} else if (stat2.size > MAX_BUFFER_FILE_SIZE) {
|
|
37353
|
+
size = stat2.size;
|
|
37354
|
+
h = await hashFile(name);
|
|
37339
37355
|
} else {
|
|
37340
37356
|
data = await import_fs_extra9.default.readFile(name);
|
|
37357
|
+
size = data.length;
|
|
37358
|
+
h = hash(data);
|
|
37341
37359
|
}
|
|
37342
|
-
h = hash(data);
|
|
37343
37360
|
}
|
|
37344
37361
|
const entry = map.get(h);
|
|
37345
37362
|
if (entry) {
|
|
@@ -37347,7 +37364,7 @@ var require_hashes = __commonJS({
|
|
|
37347
37364
|
names.add(name);
|
|
37348
37365
|
entry.names = [...names];
|
|
37349
37366
|
} else {
|
|
37350
|
-
map.set(h, { names: [name], data, mode });
|
|
37367
|
+
map.set(h, { names: [name], data, mode, size });
|
|
37351
37368
|
}
|
|
37352
37369
|
semaphore.release();
|
|
37353
37370
|
})
|
|
@@ -37780,7 +37797,7 @@ var require_package = __commonJS({
|
|
|
37780
37797
|
"../client/package.json"(exports, module) {
|
|
37781
37798
|
module.exports = {
|
|
37782
37799
|
name: "@vercel/client",
|
|
37783
|
-
version: "17.6.
|
|
37800
|
+
version: "17.6.2",
|
|
37784
37801
|
main: "dist/index.js",
|
|
37785
37802
|
typings: "dist/index.d.ts",
|
|
37786
37803
|
homepage: "https://vercel.com",
|
|
@@ -45998,7 +46015,7 @@ ${clearRelative(ignoreFile)}`);
|
|
|
45998
46015
|
}
|
|
45999
46016
|
preparedFiles.push({
|
|
46000
46017
|
file: isWin ? fileName.replace(/\\/g, "/") : fileName,
|
|
46001
|
-
size: file.data?.byteLength
|
|
46018
|
+
size: file.data?.byteLength ?? file.size,
|
|
46002
46019
|
mode: file.mode,
|
|
46003
46020
|
sha: sha || void 0
|
|
46004
46021
|
});
|
|
@@ -46787,6 +46804,7 @@ var require_upload = __commonJS({
|
|
|
46787
46804
|
module.exports = __toCommonJS2(upload_exports);
|
|
46788
46805
|
var import_http = __toESM2(__require("http"));
|
|
46789
46806
|
var import_https = __toESM2(__require("https"));
|
|
46807
|
+
var import_fs4 = __require("fs");
|
|
46790
46808
|
var import_stream = __require("stream");
|
|
46791
46809
|
var import_node_events = __require("events");
|
|
46792
46810
|
var import_async_retry = __toESM2(require_lib8());
|
|
@@ -46889,27 +46907,46 @@ var require_upload = __commonJS({
|
|
|
46889
46907
|
semaphore.release();
|
|
46890
46908
|
return bail(new Error("Upload aborted"));
|
|
46891
46909
|
}
|
|
46892
|
-
const { data } = file;
|
|
46893
|
-
if (typeof data === "undefined") {
|
|
46894
|
-
return;
|
|
46895
|
-
}
|
|
46910
|
+
const { data, size, names } = file;
|
|
46896
46911
|
uploadProgress.bytesUploaded = 0;
|
|
46897
|
-
|
|
46898
|
-
|
|
46899
|
-
|
|
46900
|
-
|
|
46901
|
-
|
|
46902
|
-
|
|
46903
|
-
|
|
46912
|
+
let body;
|
|
46913
|
+
let contentLength;
|
|
46914
|
+
if (typeof data !== "undefined") {
|
|
46915
|
+
contentLength = data.length;
|
|
46916
|
+
const buffered = new import_stream.Readable();
|
|
46917
|
+
const originalRead = buffered.read.bind(buffered);
|
|
46918
|
+
buffered.read = function(...args) {
|
|
46919
|
+
const chunk = originalRead(...args);
|
|
46920
|
+
if (chunk) {
|
|
46921
|
+
uploadProgress.bytesUploaded += chunk.length;
|
|
46922
|
+
uploadProgress.emit("progress");
|
|
46923
|
+
}
|
|
46924
|
+
return chunk;
|
|
46925
|
+
};
|
|
46926
|
+
const chunkSize = 16384;
|
|
46927
|
+
for (let i = 0; i < data.length; i += chunkSize) {
|
|
46928
|
+
const chunk = data.slice(i, i + chunkSize);
|
|
46929
|
+
buffered.push(chunk);
|
|
46904
46930
|
}
|
|
46905
|
-
|
|
46906
|
-
|
|
46907
|
-
|
|
46908
|
-
|
|
46909
|
-
const
|
|
46910
|
-
|
|
46931
|
+
buffered.push(null);
|
|
46932
|
+
body = buffered;
|
|
46933
|
+
} else if (typeof size === "number") {
|
|
46934
|
+
contentLength = size;
|
|
46935
|
+
const fileStream = (0, import_fs4.createReadStream)(names[0]);
|
|
46936
|
+
const counter = new import_stream.Transform({
|
|
46937
|
+
transform(chunk, _encoding, callback) {
|
|
46938
|
+
uploadProgress.bytesUploaded += chunk.length;
|
|
46939
|
+
uploadProgress.emit("progress");
|
|
46940
|
+
callback(null, chunk);
|
|
46941
|
+
}
|
|
46942
|
+
});
|
|
46943
|
+
fileStream.on("error", (err2) => counter.destroy(err2));
|
|
46944
|
+
counter.on("close", () => fileStream.destroy());
|
|
46945
|
+
body = fileStream.pipe(counter);
|
|
46946
|
+
} else {
|
|
46947
|
+
semaphore.release();
|
|
46948
|
+
return;
|
|
46911
46949
|
}
|
|
46912
|
-
body.push(null);
|
|
46913
46950
|
let err;
|
|
46914
46951
|
let result;
|
|
46915
46952
|
const abortController = new AbortController();
|
|
@@ -46923,9 +46960,9 @@ var require_upload = __commonJS({
|
|
|
46923
46960
|
method: "POST",
|
|
46924
46961
|
headers: {
|
|
46925
46962
|
"Content-Type": "application/octet-stream",
|
|
46926
|
-
"Content-Length":
|
|
46963
|
+
"Content-Length": contentLength,
|
|
46927
46964
|
"x-now-digest": sha,
|
|
46928
|
-
"x-now-size":
|
|
46965
|
+
"x-now-size": contentLength
|
|
46929
46966
|
},
|
|
46930
46967
|
body,
|
|
46931
46968
|
teamId: options.teamId,
|
|
@@ -15,13 +15,27 @@ import {
|
|
|
15
15
|
function getRollupColumnName(metric, aggregation) {
|
|
16
16
|
return `${metric}_${aggregation}`.replace(/[./]/g, "_");
|
|
17
17
|
}
|
|
18
|
+
function getResolvedOrderMetadata(query, response) {
|
|
19
|
+
const orderBy = query.orderBy ?? (response.orderBy ? "count" : void 0);
|
|
20
|
+
const orderDirection = response.orderDirection ?? query.orderDirection;
|
|
21
|
+
return {
|
|
22
|
+
...orderBy ? { orderBy } : {},
|
|
23
|
+
...orderDirection ? { orderDirection } : {}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
18
26
|
function formatQueryJson(query, response) {
|
|
27
|
+
const orderMetadata = getResolvedOrderMetadata(query, response);
|
|
28
|
+
const queryWithResponseMetadata = {
|
|
29
|
+
...query,
|
|
30
|
+
...orderMetadata
|
|
31
|
+
};
|
|
19
32
|
return JSON.stringify(
|
|
20
33
|
{
|
|
21
|
-
query,
|
|
34
|
+
query: queryWithResponseMetadata,
|
|
22
35
|
summary: response.summary ?? [],
|
|
23
36
|
data: response.data ?? [],
|
|
24
|
-
statistics: response.statistics ?? {}
|
|
37
|
+
statistics: response.statistics ?? {},
|
|
38
|
+
...orderMetadata
|
|
25
39
|
},
|
|
26
40
|
null,
|
|
27
41
|
2
|
|
@@ -169,6 +183,7 @@ async function fetchMetricDetailOrExit(client, accountId, metricId, jsonOutput)
|
|
|
169
183
|
|
|
170
184
|
export {
|
|
171
185
|
getRollupColumnName,
|
|
186
|
+
getResolvedOrderMetadata,
|
|
172
187
|
formatQueryJson,
|
|
173
188
|
formatErrorJson,
|
|
174
189
|
handleApiError,
|
|
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
|
|
|
6
6
|
const __dirname = __dirname_(__filename);
|
|
7
7
|
import {
|
|
8
8
|
writeProjectSettings
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-KAICYGS4.js";
|
|
10
10
|
import {
|
|
11
11
|
autoInstallVercelPlugin
|
|
12
12
|
} from "./chunk-BRQ6PX3U.js";
|
|
@@ -15,10 +15,10 @@ import {
|
|
|
15
15
|
} from "./chunk-64IF634X.js";
|
|
16
16
|
import {
|
|
17
17
|
ensureLink
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-64KT5RVX.js";
|
|
19
19
|
import {
|
|
20
20
|
pullCommand
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-NG53DNDG.js";
|
|
22
22
|
import {
|
|
23
23
|
help
|
|
24
24
|
} from "./chunk-3NR6OYDV.js";
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
envPullCommandLogic,
|
|
29
29
|
humanizePath,
|
|
30
30
|
parseTarget
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-LUORN5H7.js";
|
|
32
32
|
import {
|
|
33
33
|
TelemetryClient
|
|
34
34
|
} from "./chunk-Q77ALSXR.js";
|
|
@@ -12,11 +12,11 @@ import {
|
|
|
12
12
|
} from "./chunk-QH7WYDEP.js";
|
|
13
13
|
import {
|
|
14
14
|
getScope
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-7CTNFMKH.js";
|
|
16
16
|
import {
|
|
17
17
|
getLinkedProject,
|
|
18
18
|
getProjectByNameOrId
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-LUORN5H7.js";
|
|
20
20
|
import {
|
|
21
21
|
buildCommandWithGlobalFlags,
|
|
22
22
|
outputAgentError
|
|
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
|
|
|
6
6
|
const __dirname = __dirname_(__filename);
|
|
7
7
|
import {
|
|
8
8
|
metricsCommand
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-LCNEKTLC.js";
|
|
10
10
|
import {
|
|
11
11
|
routesCommand
|
|
12
12
|
} from "./chunk-IB56QKCM.js";
|
|
@@ -25,10 +25,10 @@ import {
|
|
|
25
25
|
import {
|
|
26
26
|
buildCommand,
|
|
27
27
|
pullCommand
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-NG53DNDG.js";
|
|
29
29
|
import {
|
|
30
30
|
envCommand
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-LUORN5H7.js";
|
|
32
32
|
import {
|
|
33
33
|
confirmOption,
|
|
34
34
|
deploymentOption,
|
|
@@ -2939,6 +2939,70 @@ var tokensSubcommand = {
|
|
|
2939
2939
|
],
|
|
2940
2940
|
examples: []
|
|
2941
2941
|
};
|
|
2942
|
+
var backupsSubcommand = {
|
|
2943
|
+
name: "backups",
|
|
2944
|
+
aliases: [],
|
|
2945
|
+
description: "List, inspect, or restore Edge Config backups",
|
|
2946
|
+
arguments: [
|
|
2947
|
+
{
|
|
2948
|
+
name: "id-or-slug",
|
|
2949
|
+
required: true
|
|
2950
|
+
}
|
|
2951
|
+
],
|
|
2952
|
+
options: [
|
|
2953
|
+
formatOption,
|
|
2954
|
+
{
|
|
2955
|
+
...yesOption,
|
|
2956
|
+
description: "Skip the confirmation prompt when restoring"
|
|
2957
|
+
},
|
|
2958
|
+
{
|
|
2959
|
+
name: "backup-version",
|
|
2960
|
+
shorthand: null,
|
|
2961
|
+
type: String,
|
|
2962
|
+
argument: "VERSION_ID",
|
|
2963
|
+
deprecated: false,
|
|
2964
|
+
description: "Fetch a single backup by version id"
|
|
2965
|
+
},
|
|
2966
|
+
{
|
|
2967
|
+
name: "restore",
|
|
2968
|
+
shorthand: null,
|
|
2969
|
+
type: String,
|
|
2970
|
+
argument: "VERSION_ID",
|
|
2971
|
+
deprecated: false,
|
|
2972
|
+
description: "Restore items from the backup version id. Requires confirmation because it updates live Edge Config items"
|
|
2973
|
+
},
|
|
2974
|
+
{
|
|
2975
|
+
name: "limit",
|
|
2976
|
+
shorthand: null,
|
|
2977
|
+
type: Number,
|
|
2978
|
+
argument: "NUMBER",
|
|
2979
|
+
deprecated: false,
|
|
2980
|
+
description: "Maximum number of backups to list (0-50)"
|
|
2981
|
+
},
|
|
2982
|
+
{
|
|
2983
|
+
name: "next",
|
|
2984
|
+
shorthand: null,
|
|
2985
|
+
type: String,
|
|
2986
|
+
argument: "CURSOR",
|
|
2987
|
+
deprecated: false,
|
|
2988
|
+
description: "Pagination cursor from a previous backup list response"
|
|
2989
|
+
}
|
|
2990
|
+
],
|
|
2991
|
+
examples: [
|
|
2992
|
+
{
|
|
2993
|
+
name: "List backups for an Edge Config",
|
|
2994
|
+
value: `${packageName} edge-config backups my-store`
|
|
2995
|
+
},
|
|
2996
|
+
{
|
|
2997
|
+
name: "Inspect a backup as JSON",
|
|
2998
|
+
value: `${packageName} edge-config backups my-store --backup-version <version-id> --format json`
|
|
2999
|
+
},
|
|
3000
|
+
{
|
|
3001
|
+
name: "Restore a backup",
|
|
3002
|
+
value: `${packageName} edge-config backups my-store --restore <version-id> --yes`
|
|
3003
|
+
}
|
|
3004
|
+
]
|
|
3005
|
+
};
|
|
2942
3006
|
var edgeConfigCommand = {
|
|
2943
3007
|
name: "edge-config",
|
|
2944
3008
|
aliases: [],
|
|
@@ -2951,7 +3015,8 @@ var edgeConfigCommand = {
|
|
|
2951
3015
|
updateSubcommand2,
|
|
2952
3016
|
removeSubcommand7,
|
|
2953
3017
|
itemsSubcommand,
|
|
2954
|
-
tokensSubcommand
|
|
3018
|
+
tokensSubcommand,
|
|
3019
|
+
backupsSubcommand
|
|
2955
3020
|
],
|
|
2956
3021
|
options: [],
|
|
2957
3022
|
examples: [
|
|
@@ -9491,6 +9556,7 @@ export {
|
|
|
9491
9556
|
removeSubcommand7,
|
|
9492
9557
|
itemsSubcommand,
|
|
9493
9558
|
tokensSubcommand,
|
|
9559
|
+
backupsSubcommand,
|
|
9494
9560
|
edgeConfigCommand,
|
|
9495
9561
|
overviewSubcommand,
|
|
9496
9562
|
diffSubcommand,
|